/*
Theme Name: AVIADOR
Theme URI: https://example.com/aviador
Author: AVIADOR
Description: Tema premium para loja de óculos de sol em Portugal. Catálogo próprio, carrinho, checkout por WhatsApp ou gateway, seguimento de encomenda e todas as páginas legais exigidas (RGPD, DL 24/2014, DL 84/2021, Livro de Reclamações). Não exige plugins.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aviador
Tags: e-commerce, one-column, custom-menu, custom-logo, featured-images, translation-ready, block-styles
*/

/* =====================================================================
   1. TOKENS
   ===================================================================== */
:root{
  --ink:#0a0c11; --ink2:#0f131a; --card:#151a23; --card2:#1b212c;
  --line:rgba(255,255,255,.10); --line2:rgba(255,255,255,.17);
  --txt:#f3f1ec; --muted:#98a1b2; --muted2:#6f7887;
  --gold:#e3b96b; --gold2:#c2913f; --goldsoft:#f5dda6;
  --grad:linear-gradient(135deg,#f5d78e 0%,#dcae5c 45%,#b8863a 100%);
  --green:#5fd68a; --red:#e06a6a;
  --maxw:1180px; --r:18px;
  --shadow:0 40px 80px -40px rgba(0,0,0,.9);
}

/* =====================================================================
   2. BASE
   ===================================================================== */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--ink);color:var(--txt);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;
  position:relative;
}
/* textura fina de grão — dá profundidade e tira o ar "chapado" do fundo */
body::after{
  content:'';position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
.site-header,main,.site-footer,.toast,.modal{position:relative;z-index:2}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit;font-size:inherit}
h1,h2,h3,h4{letter-spacing:-.03em;line-height:1.1;font-weight:800}
h1{font-size:clamp(34px,5.4vw,62px)}
h2{font-size:clamp(26px,4.2vw,44px)}
h3{font-size:clamp(19px,2.2vw,24px);letter-spacing:-.02em;line-height:1.28}
h4{font-size:17px}
p{overflow-wrap:break-word}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.wrap-sm{max-width:820px;margin:0 auto;padding:0 24px}
section{padding:clamp(56px,8vw,100px) 0;position:relative}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}
.lead{color:var(--muted);font-size:clamp(15px,1.6vw,18px);line-height:1.7}
.gold{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--muted)}
.center{text-align:center}
.sechead{max-width:660px;margin-bottom:clamp(30px,5vw,52px)}
.sechead.center{margin-left:auto;margin-right:auto}
.sechead h2{margin:12px 0 14px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:#1a1200;padding:10px 16px;z-index:999}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

/* =====================================================================
   3. BOTÕES
   ===================================================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;cursor:pointer;
  font-weight:800;border-radius:12px;padding:13px 24px;font-size:15px;text-align:center;
  transition:transform .12s,filter .2s,box-shadow .2s,border-color .2s,color .2s}
.btn:active{transform:scale(.985)}
.btn-gold{background:var(--grad);color:#1a1200;box-shadow:0 10px 30px -12px rgba(227,185,107,.7);
  position:relative;overflow:hidden;isolation:isolate}
.btn-gold:hover{filter:brightness(1.08);box-shadow:0 14px 38px -12px rgba(227,185,107,.85)}
/* brilho que atravessa o botão ao passar o rato */
.btn-gold::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transition:left .6s cubic-bezier(.2,.7,.3,1)}
.btn-gold:hover::after{left:130%}
.btn-ghost{background:transparent;border:1px solid var(--line2);color:var(--txt)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-lg{padding:17px 34px;font-size:16.5px;border-radius:14px}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* =====================================================================
   4. HEADER
   ===================================================================== */
.topbar{background:var(--grad);color:#191100;font-size:12.5px;font-weight:700;letter-spacing:.05em;
  text-align:center;padding:9px 16px;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:60;background:rgba(10,12,17,.85);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:24px;height:68px}
.brand{font-weight:800;font-size:19px;letter-spacing:.30em;white-space:nowrap}
.brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.brand img{max-height:38px;width:auto}
.menu-main{display:flex;gap:24px;margin-left:auto;list-style:none;align-items:center}
.menu-main a{font-size:14.5px;color:var(--muted);font-weight:500;padding:6px 0;position:relative}
.menu-main a:hover,.menu-main .current-menu-item>a{color:var(--txt)}
.menu-main .current-menu-item>a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grad)}
.menu-main .sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:8px;min-width:200px;list-style:none;box-shadow:var(--shadow)}
.menu-main li{position:relative}
.menu-main li:hover>.sub-menu{display:block}
.menu-main .sub-menu a{display:block;padding:9px 12px;border-radius:8px;font-size:14px}
.menu-main .sub-menu a:hover{background:var(--card2)}
.nav-actions{display:flex;align-items:center;gap:10px;margin-left:8px}
.icon-btn{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 12px;
  cursor:pointer;color:var(--txt);position:relative;display:flex;align-items:center;transition:border-color .2s}
.icon-btn:hover{border-color:var(--gold)}
.icon-btn svg{width:19px;height:19px;display:block;stroke:currentColor;fill:none;stroke-width:1.8}
.cart-count{position:absolute;top:-7px;right:-7px;background:var(--grad);color:#1a1200;font-size:11px;
  font-weight:800;min-width:19px;height:19px;border-radius:99px;display:flex;align-items:center;
  justify-content:center;padding:0 5px;line-height:1}
.cart-count[hidden]{display:none!important}
.burger{display:none}

/* =====================================================================
   5. HERO
   ===================================================================== */
.hero{position:relative;overflow:hidden;padding-top:clamp(44px,6vw,80px)}
/* aurora dourada que respira devagar — dá vida sem distrair */
.hero::before{content:'';position:absolute;inset:-20%;z-index:-1;
  background:radial-gradient(900px 520px at 78% 8%,rgba(227,185,107,.22),transparent 62%),
             radial-gradient(700px 480px at 8% 22%,rgba(255,140,60,.13),transparent 60%),
             radial-gradient(600px 400px at 50% 90%,rgba(194,145,63,.10),transparent 65%);
  animation:aurora 16s ease-in-out infinite alternate}
@keyframes aurora{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-2%,1.5%,0) scale(1.06)}
  100%{transform:translate3d(2%,-1%,0) scale(1.02)}
}
@media (prefers-reduced-motion:reduce){.hero::before{animation:none}}
.herogrid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,62px);align-items:center}
.hero h1{margin:16px 0 18px}
.hero .lead{max-width:520px}
.priceblock{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:26px 0 6px}
.price-old{color:var(--muted2);text-decoration:line-through;font-size:19px}
.price-new{font-size:clamp(34px,4.6vw,48px);font-weight:800;letter-spacing:-.04em;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.badge-off{background:rgba(95,214,138,.13);border:1px solid rgba(95,214,138,.35);color:var(--green);
  font-size:12px;font-weight:800;padding:5px 11px;border-radius:99px}
.parcelas{color:var(--muted);font-size:14.5px;margin-bottom:24px}
.parcelas b{color:var(--txt)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.pix-note{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--green);font-weight:600;margin-top:14px}
.trustrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.trustrow div{font-size:12.5px;color:var(--muted);border:1px solid var(--line);background:rgba(255,255,255,.03);
  border-radius:10px;padding:8px 13px;font-weight:500}
.heroimg{position:relative}
/* halo dourado por trás da foto */
.heroimg::before{content:'';position:absolute;inset:6% 4%;z-index:-1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(227,185,107,.30),transparent 72%);filter:blur(46px)}
.heroimg img{border-radius:24px;aspect-ratio:4/3.4;object-fit:cover;
  box-shadow:0 50px 90px -40px rgba(0,0,0,.9),0 0 0 1px var(--line);
  transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.heroimg:hover img{transform:translateY(-6px) scale(1.012)}
.floatcard{position:absolute;left:-14px;bottom:24px;background:rgba(21,26,35,.93);backdrop-filter:blur(14px);
  border:1px solid var(--line2);border-radius:16px;padding:14px 18px;display:flex;align-items:center;gap:12px;
  box-shadow:0 24px 50px -20px rgba(0,0,0,.9)}
.floatcard .n{font-size:23px;font-weight:800;line-height:1;background:var(--grad);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.floatcard .l{font-size:11.5px;color:var(--muted);line-height:1.35;max-width:112px}

/* =====================================================================
   6. FAIXA DE SPECS
   ===================================================================== */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink2)}
.strip .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px}
.strip span{font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:700}
.strip i{color:var(--gold);font-style:normal}

/* =====================================================================
   7. CARDS / GRIDS
   ===================================================================== */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{background:linear-gradient(180deg,var(--card),var(--ink2));border:1px solid var(--line);
  border-radius:var(--r);padding:28px 24px 30px;transition:border-color .25s,transform .25s}
.card:hover{border-color:rgba(227,185,107,.42);transform:translateY(-4px)}
.card .ico{width:44px;height:44px;border-radius:12px;background:rgba(227,185,107,.12);
  border:1px solid rgba(227,185,107,.28);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card .ico svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.9}
.card h3{margin-bottom:9px}
.card p{color:var(--muted);font-size:14.5px;line-height:1.65}

/* --- faixa rolante (chama a atenção sem ser agressiva) --- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,var(--ink2),rgba(227,185,107,.06),var(--ink2));padding:14px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee ul{display:flex;gap:44px;list-style:none;width:max-content;animation:desliza 34s linear infinite}
.marquee li{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:12px}
.marquee li::before{content:'✦';color:var(--gold)}
@keyframes desliza{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee ul{animation:none}}

/* --- grade de produtos --- */
.produtos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.produto-card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;
  display:flex;flex-direction:column;position:relative;isolation:isolate;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s}
/* moldura dourada que acende no hover */
.produto-card::before{content:'';position:absolute;inset:0;z-index:3;border-radius:20px;pointer-events:none;
  padding:1px;background:linear-gradient(150deg,rgba(245,215,142,.9),transparent 42%,transparent 62%,rgba(194,145,63,.6));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s}
.produto-card:hover::before{opacity:1}
.produto-card:hover{transform:translateY(-8px);border-color:transparent;
  box-shadow:0 36px 70px -30px rgba(227,185,107,.45)}
.produto-card .thumb{position:relative;aspect-ratio:1;overflow:hidden;background:var(--card2);display:block}
.produto-card .thumb::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,12,17,.55),transparent 45%);opacity:0;transition:opacity .35s}
.produto-card:hover .thumb::after{opacity:1}
.produto-card .thumb img{width:100%;height:100%;object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.produto-card:hover .thumb img{transform:scale(1.08)}
.produto-card .tag{position:absolute;top:12px;left:12px;background:var(--grad);color:#1a1200;font-size:11px;
  font-weight:800;padding:5px 10px;border-radius:99px;letter-spacing:.04em}
.produto-card .body{padding:18px;display:flex;flex-direction:column;gap:9px;flex:1}
.produto-card h3{font-size:16px;line-height:1.35}
.produto-card .cor{font-size:12.5px;color:var(--muted)}
.produto-card .precos{display:flex;align-items:baseline;gap:9px;margin-top:auto}
.produto-card .p-now{font-size:22px;font-weight:800;letter-spacing:-.03em}
.produto-card .p-old{font-size:13px;color:var(--muted2);text-decoration:line-through}
.produto-card .parc{font-size:12.5px;color:var(--muted)}
.iva{font-size:11px;color:var(--muted2);font-weight:500;letter-spacing:0}

/* bolinha de cor no cartão */
.swatch{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
.swatch i{width:13px;height:13px;border-radius:50%;border:1px solid rgba(255,255,255,.25);
  display:inline-block;flex:none}

/* selos de confiança sob a grade */
.selos-linha{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:clamp(30px,4vw,48px)}
.selos-linha div{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);
  border:1px solid var(--line);background:var(--card);border-radius:99px;padding:10px 18px}
.selos-linha svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.9}

/* =====================================================================
   8. BLOCOS ALTERNADOS
   ===================================================================== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;
  margin-bottom:clamp(46px,7vw,86px)}
.split:last-child{margin-bottom:0}
.split.rev .txt{order:2}
.split img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow),0 0 0 1px var(--line)}
.split h3{font-size:clamp(23px,3vw,33px);margin:14px 0 14px;letter-spacing:-.03em}
.split p{color:var(--muted);line-height:1.75;font-size:15.5px}
.checks{list-style:none;margin-top:20px;display:flex;flex-direction:column;gap:11px}
.checks li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px}
.checks li::before{content:'';flex:none;width:19px;height:19px;margin-top:2px;border-radius:50%;
  background:rgba(227,185,107,.15);border:1px solid rgba(227,185,107,.4);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e3b96b' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:12px;background-repeat:no-repeat;background-position:center}

/* =====================================================================
   9. HERANÇA (bloco com foto de fundo)
   ===================================================================== */
.heritage{position:relative;overflow:hidden;isolation:isolate}
.heritage .bg{position:absolute;inset:0;z-index:-2}
.heritage .bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05)}
.heritage::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(10,12,17,.97) 0%,rgba(10,12,17,.88) 46%,rgba(10,12,17,.55) 100%)}
.heritage .inner{max-width:600px}
.heritage h2{margin:14px 0 18px}
.heritage p{color:#c9cedb;line-height:1.8;font-size:16px;margin-bottom:16px}

/* =====================================================================
   10. TABELAS
   ===================================================================== */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--ink2)}
table{width:100%;border-collapse:collapse;min-width:520px}
th,td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--line);font-size:14.5px}
thead th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;
  background:rgba(255,255,255,.025)}
thead th:nth-child(2){color:var(--gold)}
tbody tr:last-child td{border-bottom:none}
.yes{color:var(--green);font-weight:800}
.no{color:var(--red);font-weight:800}

/* =====================================================================
   11. GARANTIA / AVISOS
   ===================================================================== */
.guarantee{background:linear-gradient(135deg,rgba(227,185,107,.10),rgba(255,255,255,.02));
  border:1px solid rgba(227,185,107,.3);border-radius:24px;padding:clamp(28px,5vw,50px);
  display:flex;gap:30px;align-items:center;flex-wrap:wrap}
.seal{flex:none;width:104px;height:104px;border-radius:50%;border:2px dashed rgba(227,185,107,.5);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:rgba(227,185,107,.08)}
.seal b{font-size:27px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.seal span{font-size:9.5px;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;margin-top:3px;font-weight:700}
.guarantee .g{flex:1;min-width:250px}
.guarantee h3{margin-bottom:11px}
.guarantee p{color:var(--muted);font-size:15px;line-height:1.7}
.aviso{border:1px dashed rgba(227,185,107,.5);background:rgba(227,185,107,.06);border-radius:14px;
  padding:15px 18px;color:var(--goldsoft);font-size:13.5px;line-height:1.6}
.aviso b{color:var(--gold)}

/* =====================================================================
   12. FAQ
   ===================================================================== */
.faq{max-width:820px;margin:0 auto}
.q{border-bottom:1px solid var(--line)}
.q>button{width:100%;background:none;border:none;color:var(--txt);font-size:16.5px;font-weight:600;
  text-align:left;padding:22px 44px 22px 0;cursor:pointer;position:relative;letter-spacing:-.01em}
.q>button::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-size:24px;color:var(--gold);font-weight:400;transition:transform .25s}
.q.open>button::after{transform:translateY(-50%) rotate(45deg)}
.q .a{max-height:0;overflow:hidden;transition:max-height .32s ease}
.q .a p{color:var(--muted);font-size:15px;line-height:1.75;padding-bottom:24px;padding-right:40px}

/* =====================================================================
   13. PÁGINA DE PRODUTO
   ===================================================================== */
.produto-single{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4.5vw,56px);align-items:start}
.galeria .principal{border-radius:22px;overflow:hidden;background:var(--card2);aspect-ratio:1;
  box-shadow:var(--shadow),0 0 0 1px var(--line)}
.galeria .principal img{width:100%;height:100%;object-fit:cover}
.galeria .thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.galeria .thumbs button{width:74px;height:74px;border-radius:12px;overflow:hidden;border:2px solid var(--line);
  background:none;cursor:pointer;padding:0;transition:border-color .2s}
.galeria .thumbs button.on,.galeria .thumbs button:hover{border-color:var(--gold)}
.galeria .thumbs img{width:100%;height:100%;object-fit:cover}
.pinfo h1{font-size:clamp(27px,3.6vw,40px);margin:10px 0 12px}
.pinfo .rating{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:14px}
.pinfo .rating span{color:var(--muted);letter-spacing:0;margin-left:6px}
.pinfo .desc{color:var(--muted);line-height:1.75;margin:18px 0}
.opcoes{margin:22px 0}
.opcoes h4{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:11px;font-weight:700}
.cores{display:flex;gap:10px;flex-wrap:wrap}
.cor-opt{display:flex;align-items:center;gap:8px;border:1px solid var(--line2);background:var(--card);
  border-radius:12px;padding:9px 14px;cursor:pointer;font-size:14px;transition:border-color .2s}
.cor-opt:hover{border-color:var(--gold)}
.cor-opt.on{border-color:var(--gold);background:rgba(227,185,107,.10)}
.cor-dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.25);flex:none}
.qtd{display:inline-flex;align-items:center;gap:0;border:1px solid var(--line2);border-radius:12px;overflow:hidden}
.qtd button{width:42px;height:46px;background:var(--card);border:none;color:var(--txt);font-size:19px;cursor:pointer}
.qtd button:hover{background:var(--card2)}
.qtd input{width:56px;height:46px;background:var(--ink2);border:none;color:var(--txt);text-align:center;
  font-weight:700;font-size:16px;outline:none;-moz-appearance:textfield}
.qtd input::-webkit-outer-spin-button,.qtd input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.comprar{display:flex;gap:12px;margin:22px 0 16px;flex-wrap:wrap}
.comprar .btn{flex:1;min-width:190px}
.entrega-box{border:1px solid var(--line);background:var(--ink2);border-radius:14px;padding:16px 18px;margin-top:18px}
.entrega-box .l{display:flex;gap:11px;font-size:14px;color:var(--muted);margin-bottom:9px;align-items:flex-start}
.entrega-box .l:last-child{margin-bottom:0}
.entrega-box .l b{color:var(--txt);font-weight:600}
.entrega-box svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.8;flex:none;margin-top:2px}
.specs-list{list-style:none;margin-top:8px}
.specs-list li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.specs-list li:last-child{border-bottom:none}
.specs-list span:first-child{color:var(--muted)}
.specs-list span:last-child{font-weight:600;text-align:right}

/* =====================================================================
   14. CARRINHO / CHECKOUT
   ===================================================================== */
.cart-layout{display:grid;grid-template-columns:1.5fr .95fr;gap:34px;align-items:start}
.cart-item{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:88px;height:88px;object-fit:cover;border-radius:14px;background:var(--card2);flex:none}
.cart-item .ci{flex:1;min-width:0}
.cart-item h4{font-size:15.5px;line-height:1.35;margin-bottom:4px}
.cart-item .cor{font-size:12.5px;color:var(--muted)}
.cart-item .preco{font-weight:800;font-size:16px;white-space:nowrap}
.cart-item .rm{background:none;border:none;color:var(--muted2);cursor:pointer;font-size:19px;padding:4px 8px}
.cart-item .rm:hover{color:var(--red)}
.resumo{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;position:sticky;top:92px}
.resumo h3{margin-bottom:18px}
.resumo .r{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;color:var(--muted);margin-bottom:10px}
.resumo .r.tot{color:var(--txt);font-weight:800;font-size:20px;border-top:1px solid var(--line);
  padding-top:14px;margin-top:14px;margin-bottom:18px}
.resumo .free{color:var(--green);font-weight:700}
.vazio{text-align:center;padding:70px 20px;color:var(--muted)}
.vazio h3{color:var(--txt);margin-bottom:10px}
.vazio p{margin-bottom:22px}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}
.field.full{grid-column:1/-1}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:7px;font-weight:600}
.field label .req{color:var(--gold)}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border-radius:12px;
  border:1px solid var(--line2);background:var(--ink2);color:var(--txt);font-size:15px;outline:none;
  transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.field input.erro,.field select.erro{border-color:var(--red)}
.field .msg-erro{color:var(--red);font-size:12.5px;margin-top:5px;display:none}
.field .msg-erro.on{display:block}
.field textarea{resize:vertical;min-height:110px}
.pagamentos{display:flex;flex-direction:column;gap:10px}
.pag-opt{display:flex;align-items:center;gap:12px;border:1px solid var(--line2);background:var(--card);
  border-radius:14px;padding:15px 16px;cursor:pointer;transition:border-color .2s}
.pag-opt:hover{border-color:var(--gold)}
.pag-opt.on{border-color:var(--gold);background:rgba(227,185,107,.08)}
.pag-opt input{accent-color:var(--gold);width:18px;height:18px;flex:none}
.pag-opt .pt{flex:1}
.pag-opt .pt b{display:block;font-size:15px}
.pag-opt .pt small{color:var(--muted);font-size:12.5px}
.pag-opt .tagd{background:rgba(95,214,138,.13);border:1px solid rgba(95,214,138,.35);color:var(--green);
  font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:99px;white-space:nowrap}
.steps{display:flex;gap:8px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
.steps .s{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted2)}
.steps .s b{width:24px;height:24px;border-radius:50%;background:var(--card2);border:1px solid var(--line2);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.steps .s.on{color:var(--txt)}
.steps .s.on b{background:var(--grad);color:#1a1200;border-color:transparent}
.steps .sep{width:22px;height:1px;background:var(--line2)}

/* --- sucesso / rastreio --- */
.sucesso{text-align:center;max-width:600px;margin:0 auto}
.sucesso .ok-ico{width:78px;height:78px;border-radius:50%;background:rgba(95,214,138,.12);
  border:2px solid rgba(95,214,138,.4);display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.sucesso .ok-ico svg{width:36px;height:36px;stroke:var(--green);fill:none;stroke-width:2.6}
.num-pedido{font-size:32px;font-weight:800;letter-spacing:2px;margin:8px 0 4px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.timeline{display:flex;flex-direction:column;margin-top:8px}
.timeline .st{display:flex;gap:14px;align-items:flex-start}
.timeline .dot{width:14px;height:14px;border-radius:50%;background:var(--card2);border:2px solid var(--line2);
  margin-top:4px;flex:none}
.timeline .st.done .dot{background:var(--green);border-color:var(--green)}
.timeline .st.now .dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px rgba(227,185,107,.2)}
.timeline .ln{width:2px;height:26px;background:var(--line2);margin-left:8px}
.timeline .st.done+.ln{background:var(--green)}
.timeline .lb b{font-size:15px}
.timeline .lb small{display:block;color:var(--muted);font-size:12.5px}
.timeline .st:not(.done):not(.now) .lb b{color:var(--muted2);font-weight:500}

/* =====================================================================
   15. CONTEÚDO EDITORIAL (páginas e posts)
   ===================================================================== */
.page-hero{padding:clamp(46px,6vw,80px) 0 0;text-align:center}
.page-hero h1{margin:12px 0 14px}
.breadcrumb{font-size:13px;color:var(--muted2);margin-bottom:6px}
.breadcrumb a:hover{color:var(--gold)}
.entry{font-size:16px;line-height:1.85;color:#d7dae2}
.entry h2{font-size:clamp(22px,3vw,30px);margin:38px 0 14px;color:var(--txt)}
.entry h3{font-size:20px;margin:28px 0 10px;color:var(--txt)}
.entry p{margin-bottom:16px}
.entry ul,.entry ol{margin:0 0 18px 22px}
.entry li{margin-bottom:9px}
.entry a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.entry strong{color:var(--txt)}
.entry blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 20px;margin:22px 0;color:var(--muted);font-style:italic}
.entry img{border-radius:16px;margin:22px 0}
.entry table{min-width:0}
.entry hr{border:none;border-top:1px solid var(--line);margin:32px 0}
.entry code{background:var(--card2);padding:2px 6px;border-radius:5px;font-size:14px}

.post-card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;transition:.25s}
.post-card:hover{border-color:rgba(227,185,107,.4);transform:translateY(-4px)}
.post-card .thumb{aspect-ratio:16/10;background:var(--card2);overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card .b{padding:20px}
.post-card h3{font-size:17px;margin-bottom:8px}
.post-card time{font-size:12.5px;color:var(--muted2)}
.post-card p{color:var(--muted);font-size:14.5px;margin-top:8px}

.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.pagination .page-numbers{border:1px solid var(--line2);border-radius:10px;padding:9px 15px;font-size:14px;color:var(--muted)}
.pagination .page-numbers:hover{border-color:var(--gold);color:var(--gold)}
.pagination .page-numbers.current{background:var(--grad);color:#1a1200;border-color:transparent;font-weight:800}

/* =====================================================================
   16. FOOTER
   ===================================================================== */
.site-footer{border-top:1px solid var(--line);background:var(--ink2);padding:52px 0 30px;margin-top:auto}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.fgrid h4{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt);margin-bottom:14px;font-weight:700}
.fgrid p,.fgrid a{color:var(--muted);font-size:13.5px;line-height:1.9}
.fgrid ul{list-style:none}
.fgrid a{display:block}
.fgrid a:hover{color:var(--gold)}
.selos{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.selos div{border:1px solid var(--line);border-radius:9px;padding:7px 11px;font-size:11.5px;color:var(--muted)}
/* bloco legal obrigatório em Portugal */
.legal-pt{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.legal-pt .livro{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(227,185,107,.4);
  background:rgba(227,185,107,.08);color:var(--goldsoft);border-radius:12px;padding:11px 17px;
  font-size:13.5px;font-weight:600;white-space:nowrap;transition:border-color .2s,background .2s}
.legal-pt .livro:hover{border-color:var(--gold);background:rgba(227,185,107,.15)}
.legal-pt .livro svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.8;flex:none}
.legal-pt p{flex:1;min-width:240px;color:var(--muted2);font-size:12.5px;line-height:1.7}
.legal-pt a{color:var(--muted)}
.legal-pt a:hover{color:var(--gold)}

.fnote{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted2);font-size:12px;line-height:1.8}
.ph{color:var(--gold);background:rgba(227,185,107,.1);border-radius:4px;padding:0 5px}

/* =====================================================================
   17. TOAST / MINI-CARRINHO
   ===================================================================== */
.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:var(--card);border:1px solid var(--line2);
  border-radius:16px;padding:15px 18px;box-shadow:var(--shadow);display:flex;gap:13px;align-items:center;
  max-width:330px;transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.9,.3,1)}
.toast.on{transform:none}
.toast img{width:48px;height:48px;border-radius:10px;object-fit:cover;flex:none;background:var(--card2)}
.toast .tt b{display:block;font-size:14px;color:var(--green)}
.toast .tt span{font-size:12.5px;color:var(--muted);display:block;line-height:1.4}
.toast a{margin-left:auto;font-size:13px;font-weight:800;color:var(--gold);white-space:nowrap}

/* =====================================================================
   18. ANIMAÇÃO À PROVA DE FALHAS
   O conteúdo é SEMPRE visível por padrão. O estado escondido só entra
   quando o JS confirma que consegue animar (classe .anim no <html>).
   Se o JS falhar ou o navegador do Instagram/Facebook não disparar o
   IntersectionObserver, a página aparece normal em vez de ficar vazia.
   ===================================================================== */
.reveal{opacity:1;transform:none}
html.anim .reveal{opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
html.anim .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.anim .reveal{opacity:1;transform:none;transition:none}
}

/* =====================================================================
   19. RESPONSIVO
   ===================================================================== */
@media (max-width:980px){
  .cart-layout{grid-template-columns:1fr}
  .resumo{position:static}
  .produto-single{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .herogrid{grid-template-columns:1fr;gap:32px}
  .heroimg{order:-1}
  .heroimg img{aspect-ratio:4/3}
  .split{grid-template-columns:1fr;gap:24px}
  .split.rev .txt{order:0}
  .burger{display:flex}
  .menu-main{position:fixed;inset:0 0 0 auto;width:min(320px,86vw);background:var(--ink2);
    border-left:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:88px 20px 24px;
    transform:translateX(102%);transition:transform .3s cubic-bezier(.2,.9,.3,1);z-index:70;overflow-y:auto;margin-left:0}
  .menu-main.aberto{transform:none}
  .menu-main a{padding:15px 4px;font-size:16px;border-bottom:1px solid var(--line);color:var(--txt)}
  .menu-main .sub-menu{display:block;position:static;background:none;border:none;box-shadow:none;padding:0 0 0 14px}
  .menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:65;opacity:0;pointer-events:none;transition:opacity .3s}
  .menu-overlay.on{opacity:1;pointer-events:auto}
  .nav-actions{margin-left:auto}
  .form-grid{grid-template-columns:1fr}
  .strip .wrap{justify-content:flex-start;gap:14px}
  .strip span{font-size:11px}
  .floatcard{left:12px;bottom:12px}
}
@media (max-width:560px){
  .nav{height:62px;gap:10px}
  .brand{font-size:16px;letter-spacing:.2em}
  .topbar{font-size:10.5px;letter-spacing:.02em}
  .fgrid{grid-template-columns:1fr;gap:26px}
  .produtos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
  .produto-card .body{padding:14px}
  .produto-card h3{font-size:14px}
  .produto-card .p-now{font-size:18px}
  .guarantee{gap:20px}
  .cart-item img{width:68px;height:68px}
  .toast{left:12px;right:12px;max-width:none}
  .galeria .thumbs button{width:62px;height:62px}
}

/* =====================================================================
   20. BLOCOS PADRÃO DO WORDPRESS
   ===================================================================== */
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{max-width:none}
.aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.alignleft{float:left;margin:0 24px 18px 0}
.alignright{float:right;margin:0 0 18px 24px}
.wp-caption-text,figcaption{font-size:13px;color:var(--muted2);text-align:center;margin-top:8px}
.sticky .post-card{border-color:var(--gold)}
.comment-list{list-style:none}
