/* ===== Açaí Prime — Design Tokens (v7: editorial roxo + lima) ===== */
:root{
  --ink:#191022;
  --ink-soft:#2b1d3a;
  --purple-deep:#2a0f55;
  --purple-900:#3b0764;
  --purple-800:#4c1d7c;
  --purple-700:#6d28d9;
  --purple-600:#7c3aed;
  --purple-500:#9333ea;
  --lilac:#c4b5fd;
  --lilac-light:#ede9fe;
  --accent:#b8f151;          /* verde-lima ácido */
  --accent-soft:#eefbd2;
  --accent-ink:#1c2b06;      /* texto sobre lima */
  --green:#22c55e;
  --green-dark:#16a34a;

  --bg:#faf7f2;              /* creme editorial */
  --bg-alt:#f3edfb;
  --surface:#ffffff;
  --surface-2:#f1e9fa;
  --text:#1d1226;
  --text-muted:#6f6180;
  --border:#e9dff3;
  --shadow-sm:0 3px 12px rgba(42,15,85,.07);
  --shadow-md:0 14px 34px rgba(42,15,85,.13);
  --shadow-lg:0 28px 64px rgba(25,16,34,.25);
  --radius-sm:14px;
  --radius-md:22px;
  --radius-lg:32px;

  --font-display:'Outfit','Poppins',system-ui,sans-serif;
  --font-mono:ui-monospace,'Cascadia Mono','SF Mono',Consolas,monospace;
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  color-scheme:light;
}

:root[data-theme="dark"]{
  --bg:#130c1d;
  --bg-alt:#191026;
  --surface:#1e1430;
  --surface-2:#281a3e;
  --text:#f5effd;
  --text-muted:#b3a5c4;
  --border:#352348;
  --ink:#0f0918;
  --ink-soft:#241735;
  --accent-soft:#25340e;
  --shadow-sm:0 3px 12px rgba(0,0,0,.35);
  --shadow-md:0 14px 34px rgba(0,0,0,.45);
  --shadow-lg:0 28px 64px rgba(0,0,0,.6);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  transition:background .3s ease,color .3s ease;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;color:var(--text);letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
input,textarea{font:inherit;color:inherit;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm)}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--purple-700);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:999}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--purple-500);outline-offset:2px}
::selection{background:var(--purple-700);color:#fff}

::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--purple-800);border-radius:99px;border:3px solid var(--bg)}

/* ===== Reveal (stagger vem do JS) ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.fade-up{opacity:0;transform:translateY(20px);animation:fadeUp .8s var(--ease-out) forwards}
.delay-1{animation-delay:.12s}
.delay-2{animation-delay:.24s}
.delay-3{animation-delay:.36s}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes badgePop{0%{transform:scale(1)}45%{transform:scale(1.45)}100%{transform:scale(1)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes wiggle{0%,100%{transform:rotate(0)}30%{transform:rotate(-8deg) scale(1.08)}60%{transform:rotate(6deg) scale(1.05)}}

/* ===== Botões ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 32px;border-radius:999px;font-weight:700;font-size:.98rem;
  font-family:var(--font-display);letter-spacing:.01em;
  transition:transform .3s var(--ease-spring),box-shadow .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease,filter .3s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(.96)}
.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 26px rgba(150,215,40,.35)}
.btn--primary:hover{transform:translateY(-3px);filter:brightness(1.05);box-shadow:0 16px 36px rgba(150,215,40,.45)}
.btn--ghost{background:transparent;color:var(--text);border:1.5px solid var(--border)}
.btn--ghost:hover{border-color:var(--purple-500);color:var(--purple-700);transform:translateY(-3px)}
:root[data-theme="dark"] .btn--ghost:hover{color:var(--lilac)}
.btn--sm{padding:9px 18px;font-size:.85rem}
.btn--block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;filter:none}

.badge-pill{
  display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);
  color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 18px;border-radius:999px;
  font-size:.82rem;font-weight:600;margin-bottom:22px;letter-spacing:.02em;
}

/* ===== Ícones de linha ===== */
.ico{width:1em;height:1em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ===== Faixa de oferta (1ª compra) ===== */
.announce{background:var(--accent);color:var(--accent-ink)}
.announce__inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;padding:11px 24px;text-align:center;font-size:.86rem}
.announce strong{font-family:var(--font-display);font-weight:800;font-size:1.02rem;letter-spacing:-.01em}
.announce span{opacity:.85}
@media (max-width:760px){
  /* sem a explicação longa a faixa cabe em uma linha no celular */
  .announce__sub{display:none}
}
@media (max-width:600px){
  .announce__inner{padding:10px 16px;font-size:.78rem;gap:6px}
  .announce strong{font-size:.94rem}
}

/* ===== Topbar ===== */
.topbar{background:var(--ink);color:rgba(255,255,255,.85);font-size:.8rem}
.topbar__inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:9px 20px;text-align:center}
.topbar__item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.topbar__item strong{font-weight:700;color:var(--accent)}
.topbar__sep{opacity:.35}
@media (max-width:600px){
  .topbar{font-size:.72rem}
  .topbar__inner{gap:5px;padding:8px 14px}
  .topbar__sep{display:none}
}

/* ===== Header ===== */
.header{position:sticky;top:0;z-index:80;background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px}
.logo{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--text);letter-spacing:-.02em}
.logo__text em{font-style:normal;color:var(--purple-700)}
:root[data-theme="dark"] .logo__text em{color:var(--lilac)}

.nav{display:flex;gap:28px}
.nav a{font-weight:600;font-size:.93rem;color:var(--text-muted);position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;border-radius:99px;background:var(--accent);transition:width .3s var(--ease-out)}
.nav a:hover{color:var(--text)}
.nav a:hover::after{width:100%}

.header__actions{display:flex;align-items:center;gap:6px}
.icon-btn{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text);transition:background .2s ease,transform .25s var(--ease-spring)}
.icon-btn:hover{background:var(--surface-2);transform:scale(1.08)}
.icon-btn svg{width:21px;height:21px}
.icon-moon{display:none}
:root[data-theme="dark"] .icon-sun{display:none}
:root[data-theme="dark"] .icon-moon{display:block}
.cart-badge{position:absolute;top:2px;right:2px;background:var(--accent);color:var(--accent-ink);font-size:.65rem;font-weight:800;min-width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 3px}
.cart-badge.pop{animation:badgePop .45s var(--ease-spring)}
.nav-toggle{display:none}

.search-bar{max-height:0;overflow:hidden;transition:max-height .3s ease;border-bottom:1px solid transparent}
.search-bar.is-open{max-height:80px;border-color:var(--border)}
.search-bar .container{padding:14px 24px}
.search-bar input{width:100%;padding:12px 18px;font-size:1rem}
.search-bar input:focus{outline:2px solid var(--purple-500)}

/* ===== Hero ===== */
.hero{position:relative;min-height:94vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--ink)}
.hero__slides{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;background:var(--bg-img) center/cover no-repeat;opacity:0;transition:opacity 1.2s ease;will-change:transform}
.hero__slide.is-active{opacity:1;animation:kenburns 9s var(--ease-out) forwards}
.hero__overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(90% 70% at 85% 0%,rgba(124,58,237,.38),transparent 60%),
    linear-gradient(to top,rgba(19,8,36,.94) 0%,rgba(30,10,60,.55) 45%,rgba(19,8,36,.3) 100%);
}
.hero__content{position:relative;z-index:2;max-width:760px;padding:120px 0 150px}
.hero h1{font-size:clamp(2.9rem,6.5vw,5rem);font-weight:800;color:#fff;margin-bottom:18px;letter-spacing:-.035em;line-height:1.04}
.hero h1 span{
  background:linear-gradient(92deg,var(--lilac) 5%,var(--accent) 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{font-size:1.18rem;color:rgba(255,255,255,.88);margin-bottom:34px;max-width:520px}
.hero__buttons{display:flex;gap:14px;flex-wrap:wrap}
.hero .btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.45);backdrop-filter:blur(6px)}
.hero .btn--ghost:hover{background:rgba(255,255,255,.18);color:#fff;border-color:#fff}

.hero__stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.hero__stat{
  display:flex;flex-direction:column;gap:2px;min-width:132px;
  background:rgba(255,255,255,.09);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:14px 18px;
}
.hero__stat strong{font-family:var(--font-display);font-size:1.35rem;font-weight:800;color:var(--accent);letter-spacing:-.01em}
.hero__stat span{font-size:.78rem;color:rgba(255,255,255,.75);letter-spacing:.02em}
.hero__stat--hl{background:var(--accent);border-color:var(--accent)}
.hero__stat--hl strong{color:var(--accent-ink)}
.hero__stat--hl span{color:rgba(28,43,6,.78);font-weight:600}

.hero__dots{position:absolute;bottom:96px;right:max(24px,calc((100vw - 1200px)/2 + 24px));display:flex;gap:9px;z-index:3}
.hero__dots button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);transition:all .35s var(--ease-spring)}
.hero__dots button.is-active{background:var(--accent);width:26px;border-radius:6px}
.hero__scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:#fff;opacity:.7;animation:bounce 2.2s infinite;z-index:3}
.hero__scroll svg{width:24px;height:24px}
@keyframes bounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* ===== Marquee ===== */
.marquee{overflow:hidden;background:var(--accent);color:var(--accent-ink);padding:13px 0}
.marquee__track{display:flex;gap:52px;width:max-content;animation:marquee 36s linear infinite;will-change:transform}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track span{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:.88rem;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}
.marquee__track span::after{content:"◆";margin-left:52px;font-size:.6rem;opacity:.5}

/* ===== Diferenciais ===== */
.diferenciais{padding:84px 0}
.diferenciais__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;counter-reset:dif}
.dif-item{
  counter-increment:dif;position:relative;text-align:left;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:26px 22px;
  transition:transform .35s var(--ease-spring),box-shadow .35s ease,border-color .35s ease;
}
.dif-item::before{content:"0" counter(dif);position:absolute;top:22px;right:20px;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);letter-spacing:.08em}
.dif-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--purple-500)}
.dif-item__icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--accent-soft);color:var(--purple-deep);margin-bottom:16px}
.dif-item__icon .ico{width:25px;height:25px}
:root[data-theme="dark"] .dif-item__icon{color:var(--accent)}
.topbar .ico{width:13px;height:13px;opacity:.75}
.dif-item:hover .dif-item__icon{animation:wiggle .55s var(--ease-out)}
.dif-item h3{font-size:1.02rem;margin-bottom:5px;letter-spacing:-.01em}
.dif-item p{font-size:.85rem;color:var(--text-muted)}

/* ===== Section head ===== */
.section-head{text-align:center;max-width:640px;margin:0 auto 52px}
.section-kicker{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;margin-bottom:14px;color:var(--purple-700);
}
.section-kicker::before{content:"";width:22px;height:2px;border-radius:99px;background:var(--accent)}
:root[data-theme="dark"] .section-kicker{color:var(--lilac)}
.section-head h2{font-size:clamp(2rem,4.2vw,3.1rem);margin-bottom:14px;font-weight:800}
.section-head p{color:var(--text-muted);font-size:1.05rem}
.section-head.light .section-kicker{color:var(--accent)}
.section-head.light h2,.section-head.light p{color:#fff}

/* ===== Cardápio ===== */
.cardapio{padding:96px 0 44px}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:44px}
.tab{padding:12px 24px;border-radius:999px;font-family:var(--font-display);font-weight:700;font-size:.9rem;background:var(--surface-2);color:var(--text-muted);border:1.5px solid transparent;transition:all .3s var(--ease-spring)}
.tab:hover{color:var(--text);transform:translateY(-2px)}
.tab.is-active{background:var(--purple-deep);color:#fff;transform:scale(1.04)}
:root[data-theme="dark"] .tab.is-active{background:var(--accent);color:var(--accent-ink)}

.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px;margin-bottom:20px}
.menu-empty{text-align:center;color:var(--text-muted);padding:40px 0}

.item-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .4s var(--ease-spring),box-shadow .4s ease,border-color .4s ease;display:flex;flex-direction:column}
.item-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:var(--purple-500)}
.item-card__img{position:relative;height:195px;overflow:hidden}
.item-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.item-card:hover .item-card__img img{transform:scale(1.07)}
.item-card__badge{position:absolute;top:14px;left:14px;background:var(--accent);color:var(--accent-ink);font-size:.7rem;font-weight:800;padding:6px 13px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;z-index:1}
.item-card__body{padding:22px;display:flex;flex-direction:column;flex:1;gap:8px}
.item-card__body h3{font-size:1.12rem;letter-spacing:-.01em}
.item-card__body p{color:var(--text-muted);font-size:.86rem;flex:1}
.item-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.item-price{font-family:var(--font-display);font-weight:800;font-size:1.22rem;color:var(--purple-700);letter-spacing:-.01em;display:inline-flex;align-items:baseline;gap:7px}
.item-price s{font-size:.82rem;font-weight:600;color:var(--text-muted);text-decoration-thickness:1.5px}
:root[data-theme="dark"] .item-price{color:var(--lilac)}
.add-btn{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.45rem;transition:transform .35s var(--ease-spring),background-color .3s ease,color .3s ease}
.add-btn:hover{background:var(--accent);color:var(--accent-ink);transform:rotate(90deg) scale(1.1)}
.add-btn:active{transform:rotate(90deg) scale(.92)}
:root[data-theme="dark"] .add-btn{background:var(--surface-2);color:var(--text)}
:root[data-theme="dark"] .add-btn:hover{background:var(--accent);color:var(--accent-ink)}

/* ===== Toppings showcase ===== */
.toppings-showcase{padding:76px 0;background:var(--bg-alt)}
.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.showcase-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:34px;transition:transform .35s var(--ease-spring),box-shadow .35s ease}
.showcase-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.showcase-card h3{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:1.25rem}
.showcase-card>p{color:var(--text-muted);margin-bottom:20px;font-size:.9rem}
.chip-list{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:var(--surface-2);color:var(--text);padding:8px 15px;border-radius:999px;font-size:.84rem;font-weight:500;transition:all .3s var(--ease-spring)}
.chip:hover{background:var(--purple-deep);color:#fff;transform:translateY(-3px)}
:root[data-theme="dark"] .chip:hover{background:var(--accent);color:var(--accent-ink)}

/* ===== Combos ===== */
.combos{padding:76px 0}

/* ===== Promoções ===== */
.promocoes{padding:88px 0;background:var(--purple-deep);position:relative;overflow:hidden}
.promocoes::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 15% 10%,rgba(184,241,81,.1),transparent 55%),radial-gradient(60% 80% at 90% 90%,rgba(124,58,237,.35),transparent 60%);pointer-events:none}
.promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;position:relative}
.promo-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);padding:26px;color:#fff;transition:transform .35s var(--ease-spring),background-color .3s ease,border-color .3s ease}
.promo-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.11);border-color:rgba(184,241,81,.5)}
.promo-card__day{font-family:var(--font-mono);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:10px;display:block}
.promo-card h3{font-size:1.15rem;margin-bottom:8px;color:#fff}
.promo-card p{font-size:.88rem;color:rgba(255,255,255,.78)}

/* ===== Avaliações ===== */
.avaliacoes{padding:88px 0}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:20px}
.review-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:28px;transition:transform .35s var(--ease-spring),box-shadow .35s ease,border-color .35s ease}
.review-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--purple-500)}
.review-card__head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.review-card__avatar{width:42px;height:42px;border-radius:50%;background:var(--purple-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.05rem;flex-shrink:0}
:root[data-theme="dark"] .review-card__avatar{background:var(--accent);color:var(--accent-ink)}
/* estrelas fracionadas: parada dura do gradiente em --fill, recortada no texto */
.stars{
  font-size:.95rem;letter-spacing:2px;line-height:1;
  background:linear-gradient(90deg,#f5b301 var(--fill,100%),var(--border) var(--fill,100%));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
:root[data-theme="dark"] .stars{background:linear-gradient(90deg,#fbbf24 var(--fill,100%),#4a3560 var(--fill,100%));-webkit-background-clip:text;background-clip:text}
.stars-row{display:inline-flex;align-items:center;gap:7px}
.stars-num{font-family:var(--font-display);font-weight:700;font-size:.82rem;color:var(--text-muted)}

.review-card__meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.review-card__meta strong{font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:-.01em}
.review-card p{margin:0;color:var(--text);font-size:.92rem}
.review-card p::before{content:"“";font-family:var(--font-display);font-size:1.1em;line-height:0;color:var(--text-muted)}
.review-card p::after{content:"”";font-family:var(--font-display);font-size:1.1em;line-height:0;color:var(--text-muted)}

.reviews-summary{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:9px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}
.reviews-count{font-size:.82rem;color:var(--text-muted)}

/* ===== CTA final ===== */
.cta-final{padding:20px 0 96px}
.cta-final__inner{
  background:var(--purple-deep);color:#fff;border-radius:40px;padding:72px 40px;text-align:center;
  position:relative;overflow:hidden;box-shadow:var(--shadow-lg);
}
.cta-final__inner::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 50% 0%,rgba(184,241,81,.14),transparent 60%);pointer-events:none}
.cta-final h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:12px;font-weight:800;letter-spacing:-.02em;position:relative}
.cta-final p{margin-bottom:30px;color:rgba(255,255,255,.82);position:relative}
.cta-final .btn--primary{position:relative}

/* ===== Footer ===== */
.footer{background:var(--ink);color:rgba(255,255,255,.8);padding:64px 0 0;position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--purple-600),var(--accent))}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:44px}
.footer__grid--slim{grid-template-columns:1.6fr 1fr 1fr}
.footer h4{color:#fff;font-size:.8rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;margin-bottom:14px;margin-top:18px}
.footer h4:first-child{margin-top:0}
.footer p,.footer li{font-size:.9rem;color:rgba(255,255,255,.66);margin-bottom:8px}
.footer a:hover{color:var(--accent)}
.logo--footer{color:#fff;margin-bottom:14px;font-size:1.5rem}
.logo--footer .logo__text em{color:var(--accent)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;text-align:center;font-size:.8rem;color:rgba(255,255,255,.5)}

/* ===== Cart bottom bar (mobile) ===== */
.cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(0,0,0,.1);padding:12px 18px;display:none;align-items:center;justify-content:space-between;gap:14px}
@media (max-width:920px){
  .cart-bar:not([hidden]){display:flex}
}
.cart-bar__info{display:flex;flex-direction:column;font-size:.8rem;color:var(--text-muted)}
.cart-bar__info strong{color:var(--text);font-size:1.05rem;font-family:var(--font-display);display:inline-flex;align-items:baseline;gap:6px}
.cart-bar__info strong s{font-size:.75rem;font-weight:600;color:var(--text-muted)}

/* ===== Overlay / Drawer / Modal ===== */
.overlay{position:fixed;inset:0;background:rgba(15,8,26,.6);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:90}
.overlay.is-open{opacity:1;pointer-events:auto}

.drawer{position:fixed;top:0;right:0;height:100%;width:min(430px,92vw);background:var(--surface);z-index:95;transform:translateX(100%);transition:transform .45s var(--ease-spring);display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
.drawer.is-open{transform:translateX(0)}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--border)}
.drawer__head h3{font-size:1.3rem;letter-spacing:-.01em}
.drawer__body{flex:1;overflow-y:auto;padding:18px 24px}
.drawer__footer{padding:18px 24px 26px;border-top:1px solid var(--border)}
.cart-empty{color:var(--text-muted);text-align:center;padding:60px 0}

.cart-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}
.cart-item__img{width:64px;height:64px;border-radius:14px;object-fit:cover;flex-shrink:0;background:var(--surface-2)}
.cart-item__info{flex:1;display:flex;flex-direction:column;gap:4px}
.cart-item__info h4{font-size:.95rem}
.cart-item__info small{color:var(--text-muted);font-size:.78rem;line-height:1.4}
.cart-item__row{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.qty-control{display:flex;align-items:center;gap:10px;background:var(--surface-2);border-radius:999px;padding:4px 10px}
.qty-control button{width:24px;height:24px;font-size:1.1rem;font-weight:700;border-radius:50%;color:var(--purple-700);transition:background .2s ease,transform .2s var(--ease-spring)}
.qty-control button:hover{background:var(--lilac-light);transform:scale(1.15)}
:root[data-theme="dark"] .qty-control button{color:var(--lilac)}
:root[data-theme="dark"] .qty-control button:hover{background:var(--ink-soft)}
.cart-item__price{font-weight:700;color:var(--purple-700);font-size:.9rem}
:root[data-theme="dark"] .cart-item__price{color:var(--lilac)}
.remove-btn{color:#ef4444;font-size:.78rem;font-weight:600;margin-top:4px;align-self:flex-start}

.obs-label{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px;color:var(--text-muted)}
#orderNotes{width:100%;padding:10px 14px;resize:vertical;min-height:60px;font-size:.88rem;margin-bottom:16px}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;font-weight:700;margin-bottom:6px}
.cart-total-row strong{color:var(--purple-700);font-family:var(--font-display);font-size:1.3rem;display:inline-flex;align-items:baseline;gap:8px}
.cart-total-row strong s{font-size:.82rem;font-weight:600;color:var(--text-muted);text-decoration-thickness:1.5px}
:root[data-theme="dark"] .cart-total-row strong{color:var(--lilac)}

/* aviso do desconto de 1ª compra no carrinho */
.cart-discount{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted);margin-bottom:14px;line-height:1.4}
.off-tag{background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-weight:800;font-size:.72rem;padding:3px 9px;border-radius:999px;letter-spacing:.02em}
.drawer__footer .btn{margin-bottom:10px}

.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-44%) scale(.97);width:min(560px,92vw);max-height:86vh;background:var(--surface);border-radius:var(--radius-lg);z-index:96;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .38s var(--ease-spring);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.modal.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.modal--sm{width:min(430px,92vw)}
.modal__head{display:flex;align-items:center;justify-content:space-between;padding:24px 26px;border-bottom:1px solid var(--border)}
.modal__head h3{font-size:1.3rem;letter-spacing:-.01em}
.modal__body{padding:22px 26px;overflow-y:auto}
.modal__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px 26px;border-top:1px solid var(--border)}

.option-group{margin-bottom:20px}
.option-group h4{font-size:.92rem;margin-bottom:10px;color:var(--text-muted)}
.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.option-pick{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:14px;border:1.5px solid var(--border);cursor:pointer;transition:all .25s var(--ease-spring);font-size:.87rem}
.option-pick:hover{border-color:var(--purple-500);transform:translateY(-2px)}
.option-pick.is-selected{border-color:var(--purple-600);background:var(--lilac-light)}
:root[data-theme="dark"] .option-pick.is-selected{background:var(--ink-soft)}
.option-pick input{accent-color:var(--purple-600)}
.option-pick .extra-price{margin-left:auto;color:var(--green-dark);font-weight:700;font-size:.78rem}
:root[data-theme="dark"] .option-pick .extra-price{color:var(--green)}

.cart-eta{font-size:.82rem;color:var(--text-muted);text-align:center;margin-bottom:12px}
.cart-eta strong{color:var(--green-dark)}
:root[data-theme="dark"] .cart-eta strong{color:var(--green)}

/* ===== Checkout form ===== */
.form-hint{font-size:.85rem;color:var(--text-muted);margin-bottom:16px}
.form-hint strong{color:var(--purple-700)}
:root[data-theme="dark"] .form-hint strong{color:var(--lilac)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:flex;flex-direction:column;gap:5px}
.field--wide{grid-column:1 / -1}
.field>span{font-size:.78rem;font-weight:600;color:var(--text-muted);display:flex;gap:6px;align-items:baseline}
.field>span em{font-style:normal;font-weight:500;font-size:.72rem;color:var(--green-dark)}
:root[data-theme="dark"] .field>span em{color:var(--green)}
.field input{padding:11px 13px;font-size:.9rem;transition:border-color .25s ease,box-shadow .25s ease}
.field input:focus{outline:none;border-color:var(--purple-500);box-shadow:0 0 0 3px rgba(147,51,234,.16)}
.form-error{margin-top:14px;padding:11px 14px;border-radius:12px;background:#fee2e2;color:#991b1b;font-size:.85rem;font-weight:500}
:root[data-theme="dark"] .form-error{background:#4c1d1d;color:#fecaca}
.checkout-total{display:flex;flex-direction:column;line-height:1.25}
.checkout-total small{font-size:.74rem;color:var(--text-muted)}
.checkout-total strong{font-family:var(--font-display);font-size:1.25rem;color:var(--purple-700);display:inline-flex;align-items:baseline;gap:7px}
.checkout-total strong s{font-size:.85rem;font-weight:600;color:var(--text-muted)}
:root[data-theme="dark"] .checkout-total strong{color:var(--lilac)}

/* nota de desconto (checkout e Pix) */
.off-note{display:block;font-style:normal;font-size:.74rem;font-weight:600;line-height:1.35;margin-top:3px;color:var(--green-dark)}
.off-note--center{text-align:center;margin-top:6px;font-size:.78rem}
.off-note s{color:var(--text-muted);font-weight:500}
:root[data-theme="dark"] .off-note{color:var(--accent)}
@media (max-width:600px){ .form-grid{grid-template-columns:1fr} }

/* ===== Pix ===== */
.pix-key{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2);border-radius:14px;padding:14px 16px;margin:16px 0 8px}
.pix-key span{font-weight:600;font-size:.78rem;word-break:break-all;max-height:74px;overflow-y:auto;font-family:var(--font-mono)}
.pix-note{font-size:.78rem;color:var(--text-muted)}
.pix-amount{text-align:center;margin-bottom:16px}
.pix-amount small{display:block;font-size:.76rem;color:var(--text-muted)}
.pix-amount strong{font-family:var(--font-display);font-size:2rem;color:var(--purple-700);letter-spacing:-.01em}
:root[data-theme="dark"] .pix-amount strong{color:var(--lilac)}
.pix-qr{display:flex;justify-content:center;margin-bottom:14px}
.pix-qr img{width:190px;height:190px;border-radius:14px;background:#fff;padding:8px;box-shadow:var(--shadow-sm)}
.pix-instr{font-size:.85rem;color:var(--text-muted);text-align:center}
.pix-status{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:14px;font-size:.85rem;font-weight:600;color:var(--purple-700)}
:root[data-theme="dark"] .pix-status{color:var(--lilac)}
.pulse{width:9px;height:9px;border-radius:50%;background:var(--green);animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}

.pix-state{text-align:center;padding:26px 0}
.pix-state h4{font-size:1.2rem;margin-bottom:8px}
.pix-state p{font-size:.9rem;color:var(--text-muted)}
.pix-state--ok .pix-check{width:66px;height:66px;margin:0 auto 16px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;animation:popIn .5s var(--ease-spring)}
.pix-state--ok .pix-check svg{width:32px;height:32px}
@keyframes popIn{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
.pix-state--err p{color:#dc2626;margin-bottom:14px}
:root[data-theme="dark"] .pix-state--err p{color:#fca5a5}
.spinner{width:38px;height:38px;margin:0 auto 16px;border:3px solid var(--border);border-top-color:var(--purple-600);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.snackbar{position:fixed;left:50%;bottom:30px;transform:translate(-50%,24px) scale(.95);background:var(--ink);color:#fff;padding:13px 26px;border-radius:999px;font-size:.88rem;font-weight:600;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .45s var(--ease-spring);z-index:200}
.snackbar.is-open{opacity:1;transform:translate(-50%,0) scale(1)}

/* ===== Responsive ===== */
@media (max-width:920px){
  .nav{position:fixed;top:78px;left:0;right:0;background:var(--surface);flex-direction:column;padding:14px 24px;gap:0;border-bottom:1px solid var(--border);transform:translateY(-130%);opacity:0;transition:all .3s ease;z-index:70}
  .nav.is-open{transform:translateY(0);opacity:1}
  .nav a{padding:13px 0;border-bottom:1px solid var(--border)}
  .nav-toggle{display:flex}
  .footer__grid{grid-template-columns:1fr 1fr}
  .hero__dots{right:24px}
}
@media (max-width:600px){
  .header__inner{height:68px}
  .nav{top:68px}
  .hero{min-height:90vh}
  .hero__content{padding:90px 0 120px}
  .hero__stats{gap:8px}
  .hero__stat{min-width:104px;padding:11px 14px}
  .hero__stat strong{font-size:1.1rem}
  .footer__grid{grid-template-columns:1fr}
  .modal__footer{flex-direction:column;align-items:stretch}
  .cta-final__inner{padding:52px 24px;border-radius:28px}
}

/* ===== Movimento reduzido ===== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal,.fade-up{opacity:1;transform:none}
}
