/* ===== Tokens ===== */
:root{
  --gold:#97712a; --gold-dark:#7a5a1c; --gold-light:#c9a45c; --beige:#f6ecdf; --beige-2:#efe0cb;
  --white:#fff; --ink:#2b2218; --muted:#6f6455; --line:#e6d8c3; --dark:#2a2119;
  --font:"Helvetica Neue",Arial,"Segoe UI",sans-serif; --serif:Georgia,"Times New Roman",serif;
  --script:"Segoe Script","Brush Script MT","Snell Roundhand",cursive;
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2.5rem; --s5:4rem; --radius:6px; --max:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--white);line-height:1.5;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}
button,input{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
h1,h2,h3,p{margin:0}
.container{width:min(100% - 2rem,var(--max));margin-inline:auto}
.icon{width:1.25em;height:1.25em;flex:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--gold);color:#fff;padding:.5rem 1rem;z-index:100}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--gold-dark);outline-offset:2px}
.section{padding-block:var(--s4)}

/* ===== Top bar ===== */
.topbar{background:var(--gold);color:#fff;font-size:.78rem}
.topbar__list{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem}
.topbar li{display:flex;align-items:center;gap:.5rem}

/* ===== Header ===== */
.header{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.header__main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s4);padding-block:var(--s2)}
.logo img{height:64px;width:auto}
.search{display:flex;align-items:center;gap:.6rem;max-width:520px;width:100%;justify-self:center;border:1px solid var(--line);background:#f7f3ed;border-radius:99px;padding:.65rem 1.1rem}
.search input{flex:1;border:0;background:none;outline:0;min-width:0}
.search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #97712a22}
.actions{display:flex;gap:1.5rem;align-items:center}
.action{display:flex;align-items:center;gap:.5rem;font-size:.7rem;line-height:1.2;text-align:left;transition:color .2s}
.action .icon{width:1.7rem;height:1.7rem}
.action:hover{color:var(--gold)}
#cart-toggle,#fav-link{flex-direction:column;gap:.15rem;text-align:center}
.badge-wrap{position:relative;display:inline-flex}
.badge{position:absolute;top:-.35rem;right:-.6rem;background:var(--gold);color:#fff;font-size:.62rem;min-width:1.1rem;height:1.1rem;border-radius:99px;display:grid;place-items:center}
.icon-btn{padding:.4rem;border-radius:var(--radius)}
.menu-toggle{display:none}
.nav-row{border-top:1px solid #f1e8da}
.nav{display:flex;align-items:center;gap:clamp(0.7rem, 1.6vw, 1.8rem);padding-block:.7rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.nav a,.nav__drop>button{display:inline-flex;align-items:center;gap:.3rem;text-transform:uppercase;letter-spacing:.08em;padding-block:.2rem;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover,.nav__drop>button:hover,.nav .is-current{color:var(--gold);border-color:var(--gold)}
.nav__insta{margin-left:auto;text-transform:none!important;letter-spacing:0!important;font-size:.8rem}
.nav__drop{position:relative}
.drop-menu{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #0002;padding:.5rem;display:none;z-index:60}
.drop-menu.is-open{display:block}
.drop-menu a{display:block;padding:.55rem .8rem;text-transform:none;letter-spacing:0;font-size:.88rem;border:0}
.drop-menu a:hover{background:var(--beige)}

/* ===== Buttons / titles ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--gold);color:#fff;border-radius:99px;padding:.85rem 1.8rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,transform .1s}
.btn:hover{background:var(--gold-dark)}
.btn:active{transform:scale(.97)}
.btn--outline{background:none;color:var(--gold-dark);border:1.5px solid var(--gold)}
.btn--outline:hover{background:var(--gold);color:#fff}
.title{display:flex;align-items:center;gap:1.5rem;justify-content:center;font-size:1rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;margin-bottom:var(--s3)}
.title::before,.title::after{content:"";height:1px;background:var(--gold-light);flex:1}
.link-btn{color:var(--gold-dark);text-decoration:underline}

/* ===== Hero ===== */
.hero{background:linear-gradient(100deg,#f7ede0 0%,#f1e1ce 50%,#ebd7bf 100%);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.15fr 0.95fr;align-items:center;min-height:460px;gap:1.5rem}
.hero__text{padding-block:var(--s4);display:grid;gap:1.1rem;justify-items:start}
.hero__kicker{letter-spacing:.3em;text-transform:uppercase;font-size:.85rem;color:var(--gold-dark);font-weight:600}
.hero__logo{width:min(100%,410px)}
.hero h1{font-size:1.55rem;font-weight:400;max-width:24ch;line-height:1.28;color:var(--ink);font-family:var(--serif)}
.hero__perks{display:flex;flex-direction:column;gap:0.6rem;list-style:none;padding:0;margin:0.2rem 0 0.4rem;width:100%;}
.hero__perks li{display:flex;align-items:center;gap:0.75rem;font-size:0.92rem;color:var(--ink);line-height:1.4;}
.hero__perks .icon{width:1.25rem;height:1.25rem;color:var(--gold);flex-shrink:0;}
.hero__pillars{display:grid;gap:.65rem;width:100%;max-width:520px;margin-block:.2rem}
.hero__pillar{display:flex;align-items:center;gap:.75rem;background:rgba(255,255,255,0.65);backdrop-filter:blur(4px);border:1px solid rgba(151,113,42,0.2);border-radius:10px;padding:.55rem .9rem;box-shadow:0 2px 8px rgba(0,0,0,0.03)}
.hero__pillar-icon{width:32px;height:32px;border-radius:50%;background:rgba(151,113,42,0.12);color:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hero__pillar-icon .icon{width:16px;height:16px}
.hero__pillar-content{display:flex;flex-direction:column;gap:.1rem}
.hero__pillar-content strong{font-size:.82rem;color:var(--gold-dark);font-weight:700}
.hero__pillar-content span{font-size:.74rem;color:var(--muted);line-height:1.3}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:.4rem}
.hero__btn-main{background:var(--gold);border-color:var(--gold);color:#fff}
.hero__btn-b2b{background:#5e2a39;border-color:#5e2a39;color:#fff}
.hero__btn-b2b:hover{background:#3f1925;border-color:#3f1925;color:#fff}
.hero__media{position:relative;align-self:end;display:flex;justify-content:flex-end}
.hero__media img{width:100%;max-width:520px;height:auto;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%);mask-image:linear-gradient(90deg,transparent 0%,#000 18%);display:block}
.hero__script{position:absolute;top:8%;right:1.5rem;font-family:var(--script);font-size:1.45rem;line-height:1.15;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,0.55);max-width:12ch;transform:rotate(-5deg);pointer-events:none}

/* ===== Categories ===== */
.cats{display:grid;grid-template-columns:repeat(9,1fr);gap:var(--s2)}
.cat{display:grid;justify-items:center;gap:.6rem;text-align:center;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.cat img{width:100%;max-width:96px;aspect-ratio:1;object-fit:cover;border-radius:50%;background:var(--beige);border:2px solid transparent;transition:border-color .2s,transform .2s}
.cat:hover img,.cat:focus-visible img{border-color:var(--gold);transform:translateY(-3px)}

/* ===== Materials ===== */
.materials{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2);padding-bottom:var(--s4)}
.material{display:flex;background:linear-gradient(120deg,#b08a3e,#97712a);color:#fff;height:165px;overflow:hidden;border-radius:2px;transition:filter .2s}
.material:hover{filter:brightness(1.08)}
.material img{width:42%;height:100%;object-fit:cover}
.material div{padding:var(--s3) var(--s2);display:grid;align-content:center;gap:.4rem}
.material h3{font-size:.95rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.material p{font-size:.82rem;opacity:.9}
.circle-arrow{width:1.7rem;height:1.7rem;border:1px solid #fffa;border-radius:50%;display:grid;place-items:center;margin-top:.3rem}
.circle-arrow .icon{width:.9rem;height:.9rem}

/* ===== Products ===== */
.demo-note{text-align:center;font-size:.78rem;color:var(--muted);margin-bottom:var(--s2)}
.filter-bar{display:flex;gap:1rem;justify-content:center;align-items:center;margin-bottom:var(--s2);font-size:.9rem}
.carousel{position:relative;display:flex;align-items:center;gap:.5rem}
.products{display:flex;gap:var(--s2);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;padding:4px}
.products::-webkit-scrollbar{display:none}
.carousel__btn{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;flex:none;border:1px solid var(--line);background:#fff;transition:background .2s}
.carousel__btn:hover{background:var(--beige)}
.card{position:relative;flex:0 0 calc((100% - 4*var(--s2))/5);scroll-snap-align:start;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;min-width:200px;box-shadow:0 2px 10px rgba(43,34,24,0.04);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(151,113,42,0.12);border-color:rgba(151,113,42,0.3)}
.card__img{aspect-ratio:1.15;object-fit:cover;width:100%;background:var(--beige);transition:transform .3s ease}
.card:hover .card__img{transform:scale(1.03)}
.card__body{padding:.85rem .9rem .4rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.card__tag{font-size:.68rem;color:var(--gold);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.card__name{font-size:.9rem;font-weight:500;line-height:1.35;margin:0;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.card__name a{text-decoration:none;color:inherit;transition:color .2s}
.card__name a:hover{color:var(--gold)}
.card__price{font-weight:700;font-size:1.05rem;color:var(--gold-dark);margin:auto 0 0;padding-top:.3rem}
.card__combo{display:inline-flex;align-items:center;gap:4px;margin-top:.35rem;background:linear-gradient(135deg,#fff8e7 0%,#faedd1 100%);color:#7a5a1c;border:1px solid rgba(151,113,42,0.34);border-radius:6px;padding:.22rem .55rem;font-size:.71rem;font-weight:700;line-height:1.25;width:fit-content;max-width:100%}
.cart__combo-badge{display:inline-block;margin-top:3px;font-size:.7rem;font-weight:700;color:#15803d;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:5px;padding:1px 6px}
.cart__price-strike{font-size:.72rem;color:#94a3b8;text-decoration:line-through;margin-right:5px;font-weight:500}
.cart__savings-row{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:#15803d;font-weight:700;margin-bottom:6px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;padding:5px 8px}
.card__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:.75rem .9rem .9rem;border-top:1px solid #f6ede0;background:#fdfbf7}
.card__btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 8px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;text-decoration:none;white-space:nowrap;transition:all .2s ease;cursor:pointer;box-sizing:border-box;min-width:0}
.card__btn--buy{background:var(--gold);color:#fff;border:1px solid var(--gold);box-shadow:0 2px 6px rgba(151,113,42,0.25)}
.card__btn--buy:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff;box-shadow:0 4px 12px rgba(151,113,42,0.35)}
.card__btn--more{background:#fff;color:var(--gold-dark);border:1px solid rgba(151,113,42,0.35)}
.card__btn--more:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.fav{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;border-radius:50%;background:#fffd;display:grid;place-items:center;transition:transform .15s}
.fav:hover{transform:scale(1.12)}
.fav .icon{width:1rem;height:1rem}
.fav[aria-pressed="true"]{color:#b3261e}
.fav[aria-pressed="true"] .icon use{fill:currentColor}
.empty{text-align:center;color:var(--muted);padding:var(--s3)}

/* ===== Stores ===== */
.stores{position:relative;background:linear-gradient(135deg,#fcf8f2 0%,#f6ede0 50%,#eedfc9 100%);padding-block:var(--s4);overflow:hidden}
.stores__inner{position:relative;z-index:2;display:grid;gap:1.5rem}
.stores__header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;border-bottom:1px solid rgba(151,113,42,0.2);padding-bottom:1rem}
.stores h2{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-dark);margin:0}
.stores__intro{color:var(--muted);font-size:.88rem;margin:0}
.stores__list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:0;padding:0;list-style:none;width:100%}

.store-card{background:#fff;border:1px solid rgba(151,113,42,0.22);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 4px 16px rgba(43,34,24,0.06);transition:box-shadow .25s ease,transform .2s ease}
.store-card:hover{box-shadow:0 8px 24px rgba(151,113,42,0.15);transform:translateY(-2px)}
.store-card__header{display:flex;align-items:flex-start;gap:.75rem}
.store-card__icon{width:36px;height:36px;border-radius:50%;background:rgba(151,113,42,0.12);color:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.store-card__icon .icon{width:18px;height:18px}
.store-card__titles{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}
.store-card__name{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink);margin:0;line-height:1.2}
.store-card__badge{align-self:flex-start;display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:12px;background:#eef6f0;color:#2e7d32}
.store-card__badge--b2b{background:#fdf2e9;color:#c05621}
.store-card__region{font-size:.82rem;color:var(--muted);margin:0;font-weight:500}
.store-card__contact{margin-top:.1rem}
.store-card__wa-btn{display:inline-flex;align-items:center;gap:6px;background:#25d366;color:#fff!important;text-decoration:none!important;font-size:.82rem;font-weight:600;padding:.45rem .9rem;border-radius:20px;transition:background .2s}
.store-card__wa-btn:hover{background:#1ebc59}

.store-card__toggle-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:rgba(151,113,42,0.06);border:1px solid rgba(151,113,42,0.18);border-radius:8px;padding:.55rem .85rem;font-size:.78rem;font-weight:600;color:var(--gold-dark);cursor:pointer;transition:all .2s;margin-top:auto}
.store-card__toggle-btn:hover{background:rgba(151,113,42,0.14);border-color:var(--gold)}
.store-card__toggle-btn .icon--chevron{transition:transform .25s ease}
.store-card__toggle-btn.is-open .icon--chevron{transform:rotate(180deg)}

.store-card__details{display:grid;gap:.55rem;background:#faf6f0;border:1px solid rgba(151,113,42,0.15);border-radius:8px;padding:.85rem;margin-top:.35rem;font-size:.78rem;line-height:1.4}
.store-card__details[hidden]{display:none!important}
.store-card__detail-row{display:flex;flex-direction:column;gap:.15rem}
.store-card__label{font-weight:700;color:var(--gold-dark);font-size:.72rem;text-transform:uppercase;letter-spacing:.5px}
.store-card__val{color:var(--ink)}
.store-card__note{background:#fff;border-left:3px solid var(--gold);padding:.4rem .6rem;border-radius:4px;font-size:.74rem;color:#97712a;font-weight:600}
.store-card__map-link{display:inline-flex;align-items:center;gap:4px;color:var(--gold-dark);font-weight:600;text-decoration:underline;margin-top:.3rem;font-size:.78rem}
.store-card__map-link:hover{color:var(--ink)}

/* ===== Info / Instagram ===== */
.info{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.info h2{font-family:var(--serif);font-weight:400;margin-bottom:.4rem}
.info p{color:var(--muted);max-width:60ch}
.insta{padding-block:var(--s3);text-align:center}
.insta h2{display:flex;justify-content:center;align-items:center;gap:.8rem;flex-wrap:wrap;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;margin-bottom:var(--s2)}
.insta h2 a{display:inline-flex;gap:.4rem;align-items:center;text-transform:none;letter-spacing:0}
.insta__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:var(--s3)}
.insta__grid img{aspect-ratio:1.4;width:100%;object-fit:cover;transition:opacity .2s}
.insta__grid a:hover img{opacity:.8}

/* ===== Footer ===== */
.footer{background:var(--dark);color:#e9dcc5;font-size:.78rem;padding-top:var(--s3)}
.footer__grid{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}
.footer__grid img{height:56px;width:auto}
.footer nav{display:flex;gap:var(--s3);flex-wrap:wrap}
.footer a{transition:color .2s}
.footer a:hover{color:var(--gold-light)}
.footer__social{display:flex;gap:1rem}
.footer__social .icon{width:1.5rem;height:1.5rem}
.footer__copy{text-align:center;padding:var(--s3) var(--s2);opacity:.8}

/* ===== Cart + toast ===== */
.cart{position:fixed;top:0;right:0;height:100%;width:min(100%,360px);background:#fff;box-shadow:-10px 0 30px #0003;z-index:80;padding:var(--s2);display:flex;flex-direction:column}
.cart[hidden]{display:none}
.cart__head{display:flex;justify-content:space-between;align-items:center}
.cart__head h2{font-size:1rem}
.cart__list{flex:1;overflow:auto;margin-block:var(--s2);display:grid;gap:.8rem;align-content:start}
.cart__item{display:grid;grid-template-columns:56px 1fr auto;gap:.7rem;align-items:center;font-size:.85rem}
.cart__item img{width:56px;height:56px;object-fit:cover;border-radius:4px}
.qty{display:inline-flex;align-items:center;gap:.4rem;margin-top:.2rem}
.qty button{width:1.5rem;height:1.5rem;border:1px solid var(--line);border-radius:50%}
.cart__note,.cart__empty{font-size:.78rem;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,20px);background:var(--dark);color:#fff;padding:.7rem 1.2rem;border-radius:99px;font-size:.85rem;opacity:0;pointer-events:none;transition:.25s;z-index:90;max-width:90vw;text-align:center}
.toast.is-show{opacity:1;transform:translate(-50%,0)}

/* ===== Tablet ===== */
@media (max-width:1024px){
  .header__main{gap:var(--s2)}
  .action span:not(.badge-wrap){display:none}
  .cats{grid-template-columns:repeat(5,1fr);row-gap:var(--s3)}
  .materials{grid-template-columns:1fr}
  .card{flex-basis:calc((100% - 2*var(--s2))/3)}
  .stores__list{grid-template-columns:repeat(2,1fr);max-width:none}
}
/* ===== Mobile ===== */
@media (max-width:720px){
  html{scroll-padding-top:6.5rem}
  .topbar li{display:none;margin-inline:auto}
  .topbar li.is-active{display:flex}
  .header__main{grid-template-columns:auto 1fr auto;grid-template-areas:"menu logo actions" "search search search";gap:.6rem}
  .menu-toggle{display:block;grid-area:menu}
  .logo{grid-area:logo;justify-self:center}.logo img{height:46px}
  .actions{grid-area:actions;gap:.8rem}
  .search{grid-area:search;max-width:none;padding:.5rem 1rem}
  .nav-row{border:0;padding:0}
  .nav{display:none;flex-direction:column;align-items:stretch;gap:0;padding:0 0 .6rem}
  .nav.is-open{display:flex}
  .nav>a,.nav__drop>button{padding:.8rem .2rem;border-bottom:1px solid #f1e8da;width:100%;justify-content:space-between}
  .nav__insta{margin-left:0}
  .drop-menu{position:static;box-shadow:none;border:0;padding:0 0 0 1rem;min-width:0}
  .hero__grid{grid-template-columns:1fr;min-height:auto}
  .hero__media{order:-1;margin-inline:-1rem;max-height:300px;overflow:hidden;justify-content:center}
  .hero__media img{-webkit-mask-image:linear-gradient(0deg,transparent,#000 25%);mask-image:linear-gradient(0deg,transparent,#000 25%);object-fit:cover;object-position:60% 20%;height:300px;max-width:none}
  .hero__script{font-size:1.15rem;top:8%;right:1rem}
  .hero__text{padding-block:var(--s2) var(--s4)}
  .hero__logo{width:min(80%,300px)}
  .hero h1{font-size:1.25rem}
  .hero__pillars{max-width:none}
  .title{letter-spacing:.15em;font-size:.85rem;gap:.8rem}
  .cats{grid-template-columns:repeat(3,1fr)}
  .cat{font-size:.66rem}
  .card{flex-basis:78%;min-width:210px}
  .carousel__btn{display:none}
  .stores__list{grid-template-columns:1fr}
  .info{grid-template-columns:1fr}
  .insta__grid{grid-template-columns:repeat(4,1fr)}
  .insta__grid li:nth-child(n+8){display:none}
  .footer__grid{flex-direction:column;text-align:center}
  .footer nav{justify-content:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== Widget Flutuante de WhatsApp com Roteamento por Loja ===== */
.wa-widget {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  font-family: inherit;
}
.wa-widget__btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #25d366;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 10px 18px 10px 14px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(37, 211, 102, 0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  position: relative;
}
.wa-widget__btn:hover {
  background: #20ba59;
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(37, 211, 102, 0.55);
}
.wa-widget__pulse {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  border-radius: 50px;
  border: 2px solid #25d366;
  animation: wa-pulse 2s infinite;
  pointer-events: none;
}
@keyframes wa-pulse {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.15); opacity: 0; }
  100% { transform: scale(0.95); opacity: 0; }
}
.wa-widget__popup {
  position: absolute;
  bottom: 60px;
  right: 0;
  width: 330px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08);
  border: 1px solid #ebdcc5;
  overflow: hidden;
  margin-bottom: 12px;
  animation: wa-slide-up 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes wa-slide-up {
  from { opacity: 0; transform: translateY(14px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.wa-widget__header {
  background: linear-gradient(135deg, #5e2a39, #7a3a4d);
  color: #fff;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wa-widget__header-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wa-widget__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
}
.wa-widget__status {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: #f1e8da;
  opacity: 0.9;
}
.wa-dot {
  width: 8px;
  height: 8px;
  background: #25d366;
  border-radius: 50%;
  box-shadow: 0 0 6px #25d366;
  display: inline-block;
}
.wa-widget__close {
  background: transparent;
  border: none;
  color: #f1e8da;
  font-size: 18px;
  cursor: pointer;
  line-height: 1;
  padding: 4px;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
}
.wa-widget__close:hover {
  color: #fff;
  background: rgba(255,255,255,0.15);
}
.wa-widget__body {
  padding: 12px 14px;
  max-height: 380px;
  overflow-y: auto;
  background: #fbf9f5;
}
.wa-widget__msg {
  font-size: 12px;
  color: #64748b;
  margin: 0 0 10px 0;
  line-height: 1.4;
}
.wa-widget__stores {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wa-store-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border: 1px solid #ebdcc5;
  border-radius: 10px;
  padding: 10px 12px;
  text-decoration: none;
  color: #1e293b;
  transition: all 0.2s ease;
}
.wa-store-item:hover {
  background: #fff9f0;
  border-color: #97712a;
  transform: translateX(3px);
  box-shadow: 0 2px 8px rgba(151,113,42,0.12);
}
.wa-store-item__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wa-store-item__name {
  font-weight: 700;
  font-size: 13px;
  color: #5e2a39;
  display: flex;
  align-items: center;
  gap: 6px;
}
.wa-store-item__badge {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  background: #f1eada;
  color: #7a5a1c;
  padding: 2px 6px;
  border-radius: 4px;
}
.wa-store-item__badge--b2b {
  background: #5e2a39;
  color: #fff;
}
.wa-store-item__sub {
  font-size: 11px;
  color: #64748b;
}
.wa-store-item__icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e6f9ed;
  color: #25d366;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.2s;
}
.wa-store-item:hover .wa-store-item__icon {
  background: #25d366;
  color: #fff;
  transform: scale(1.08);
}
.wa-widget__footer {
  padding: 8px 14px;
  background: #f1eada;
  font-size: 10px;
  color: #7a5a1c;
  text-align: center;
  font-weight: 600;
}
@media (max-width: 480px) {
  .wa-widget { bottom: 16px; right: 16px; }
  .wa-widget__label { display: none; }
  .wa-widget__btn { padding: 12px; border-radius: 50%; width: 52px; height: 52px; justify-content: center; }
  .wa-widget__popup { width: 300px; bottom: 64px; }
}

/* ===== 🎨 Banners Promocionais Dinâmicos ===== */
.promo-slider {
  position: relative;
  width: 100%;
  max-width: var(--container, 1200px);
  margin: 1.25rem auto;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
  background: #f7ede0;
}
.promo-slider__track {
  position: relative;
  width: 100%;
  min-height: 180px;
}
.promo-slider__slide {
  display: none;
  width: 100%;
  position: relative;
}
.promo-slider__slide.is-active {
  display: block;
}
.promo-slider__link {
  display: block;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.promo-slider__slide img {
  width: 100%;
  height: auto;
  max-height: 440px;
  object-fit: cover;
  display: block;
}
.promo-slider__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem 2rem;
  background: linear-gradient(0deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0) 100%);
  color: #fff;
}
.promo-slider__caption h3 {
  font-family: var(--serif);
  font-size: 1.5rem;
  margin: 0 0 0.3rem;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.promo-slider__caption p {
  font-size: 0.95rem;
  margin: 0;
  color: #f1eada;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.promo-slider__ctrl {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(0,0,0,0.1);
  color: #5e2a39;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  transition: background 0.2s, transform 0.2s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.promo-slider__ctrl:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.08);
}
.promo-slider__ctrl--prev { left: 16px; }
.promo-slider__ctrl--next { right: 16px; }
.promo-slider__dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 6;
}
.promo-slider__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.2s;
}
.promo-slider__dot.is-active {
  background: #97712a;
  transform: scale(1.3);
  box-shadow: 0 0 6px rgba(0,0,0,0.3);
}

/* Banner de Meio */
.promo-middle {
  margin-block: 2.5rem;
}
.promo-middle__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.promo-middle__item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(0,0,0,0.06);
  transition: transform 0.25s, box-shadow 0.25s;
}
.promo-middle__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.promo-middle__item img {
  width: 100%;
  height: auto;
  max-height: 280px;
  object-fit: cover;
  display: block;
}
.promo-middle__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem 1.25rem;
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, transparent 100%);
  color: #fff;
}
.promo-middle__caption h4 {
  font-family: var(--serif);
  font-size: 1.15rem;
  margin: 0 0 0.2rem;
  color: #fff;
}
.promo-middle__caption p {
  font-size: 0.85rem;
  margin: 0;
  color: #e5e5e5;
}

@media (max-width: 640px) {
  .promo-slider {
    margin: 0.5rem auto;
    border-radius: 0;
  }
  .promo-slider__caption {
    padding: 0.8rem 1rem;
  }
  .promo-slider__caption h3 {
    font-size: 1.1rem;
  }
  .promo-slider__ctrl {
    display: none;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   🛍️ Vitrine de Marketplaces Oficiais (Mercado Livre, Shopee, TikTok Shop)
   ═══════════════════════════════════════════════════════════════════════════════ */
.marketplaces-showcase {
  margin-block: 2.5rem;
}
.marketplaces-showcase__header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 1.8rem;
}
.marketplaces-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.marketplace-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 1.6rem;
  box-shadow: 0 4px 16px rgba(43, 34, 24, 0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.25s, box-shadow 0.25s;
}
.marketplace-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(43, 34, 24, 0.12);
}
.marketplace-card__top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 0.8rem;
}
.marketplace-card__icon {
  font-size: 2rem;
  line-height: 1;
}
.marketplace-card__badge {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.marketplace-card__name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0.2rem 0 0;
}
.marketplace-card__desc {
  font-size: 0.88rem;
  color: #64748b;
  line-height: 1.5;
  margin-bottom: 1.4rem;
  flex: 1;
}
.marketplace-card__btn {
  background: #f8fafc;
  color: #1e293b;
  border: 1.5px solid #cbd5e1;
  font-weight: 700;
  font-size: 0.88rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  transition: all 0.2s;
}
.marketplace-card__btn:hover {
  background: var(--brand);
  color: #ffffff;
  border-color: var(--brand);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SISTEMA DE FEEDBACK VISUAL DE CARREGAMENTO & VALIDAÇÃO SEGURA DE FORMULÁRIOS
   ═══════════════════════════════════════════════════════════════════════════ */
#eva-page-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, #b38e22 0%, #d4af37 50%, #5e2a39 100%);
  z-index: 9999999;
  box-shadow: 0 0 10px rgba(179, 142, 34, 0.7);
  transition: width 0.3s ease, opacity 0.4s ease;
  pointer-events: none;
  opacity: 0;
}
#eva-page-progress.is-active {
  opacity: 1;
}

/* Spinner e Estado de Carregamento em Botões */
.btn-loading {
  position: relative !important;
  pointer-events: none !important;
  color: transparent !important;
}
.btn-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: evaSpin 0.7s linear infinite;
}
.btn-loading.btn--outline::after,
.btn-loading.btn--ghost::after {
  border: 2px solid rgba(179, 142, 34, 0.3);
  border-top-color: #b38e22;
}

@keyframes evaSpin {
  to { transform: rotate(360deg); }
}

/* Efeito Skeleton Shimmer para Listas de Produtos e Cards */
.skeleton-shimmer {
  background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
  background-size: 200% 100%;
  animation: evaShimmer 1.5s infinite;
  border-radius: 8px;
}
@keyframes evaShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Validação Segura de Formulários (Zero Exposição de Dados Sensíveis) */
.form-field-invalid input,
.form-field-invalid select,
.form-field-invalid textarea {
  border-color: #ef4444 !important;
  background-color: #fef2f2 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12) !important;
}
.form-field-invalid .form-error-hint {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: #b91c1c;
  margin-top: 4px;
}



