/* =====================================================================
   Gomes Acessórios — estrutura comum a todas as páginas
   (cores, tipografia, barra superior, cabeçalho, menu, rodapé, WhatsApp)
   ===================================================================== */
:root{
  --bg:#FBF6F1;          /* off-white */
  --surface:#FFFFFF;
  --surface-2:#F4EAE2;   /* bege claro */
  --rose:#EFDCD6;        /* rosé */
  --rose-soft:#F7ECE8;
  --ink:#2B2320;         /* marrom quase preto */
  --ink-2:#4B3B33;
  --muted:#6E5E54;
  --line:#E7DACB;
  --line-strong:#D7C6B4;
  --gold:#A8791B;        /* detalhe dourado */
  --wine:#8B3A56;        /* rosé profundo: botões de compra */
  --wine-ink:#FFF8F0;
  --brown:#6B4A3A;
  --whatsapp:#23914A;
  --wa-ink:#17703A;      /* texto verde com contraste AA */
  --ok:#2E7D4F;
  --bad:#B03A2E;
  --focus:#A8791B;
  --shadow:0 1px 2px rgba(43,35,32,.06), 0 10px 28px -16px rgba(43,35,32,.28);
  --radius:14px;
  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:"Work Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --header-h:64px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1B1613; --surface:#241D19; --surface-2:#2E251F; --rose:#3A2A2A; --rose-soft:#2C2220;
    --ink:#F4ECE4; --ink-2:#E2D5CA; --muted:#BCAA9D; --line:#3D3029; --line-strong:#54433A;
    --gold:#D9AE49; --wine:#D98CAF; --wine-ink:#1B1613; --brown:#D9B8A3; --whatsapp:#3DBB65; --wa-ink:#5BD17F;
    --ok:#5CC98A; --bad:#E57B6E; --focus:#D9AE49;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 28px -16px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#1B1613; --surface:#241D19; --surface-2:#2E251F; --rose:#3A2A2A; --rose-soft:#2C2220;
  --ink:#F4ECE4; --ink-2:#E2D5CA; --muted:#BCAA9D; --line:#3D3029; --line-strong:#54433A;
  --gold:#D9AE49; --wine:#D98CAF; --wine-ink:#1B1613; --brown:#D9B8A3; --whatsapp:#3DBB65; --wa-ink:#5BD17F;
  --ok:#5CC98A; --bad:#E57B6E; --focus:#D9AE49;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 28px -16px rgba(0,0,0,.6);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px);}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;
  overflow-x:hidden;}
img{max-width:100%;}
a{color:inherit;}
button{font:inherit;color:inherit;}
[hidden]{display:none!important;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;}
.skip-link:focus{top:12px;}
.container{max-width:1240px;margin-inline:auto;padding-inline:16px;}
@media (min-width:720px){.container{padding-inline:28px;}}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 22px;border-radius:999px;
  font-family:var(--sans);font-weight:600;font-size:14.5px;letter-spacing:.02em;text-decoration:none;cursor:pointer;
  border:1.5px solid transparent;transition:filter .15s ease, background .15s ease, border-color .15s ease, color .15s ease;}
.btn svg{width:18px;height:18px;flex:0 0 auto;}
.btn-buy{background:var(--wine);color:var(--wine-ink);border-color:var(--wine);}
.btn-buy:hover{filter:brightness(1.08);}
.btn-dark{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.btn-dark:hover{filter:brightness(1.2);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line-strong);}
.btn-outline:hover{border-color:var(--ink);}
.btn-light{background:var(--surface);color:var(--ink);border-color:var(--surface);}
.btn-wa{background:transparent;color:var(--wa-ink);border-color:currentColor;}
.btn-wa:hover{background:color-mix(in srgb, var(--whatsapp) 8%, transparent);}
.btn-block{width:100%;}
.btn[disabled]{opacity:.6;cursor:not-allowed;filter:none;}
.link{color:var(--wine);font-weight:600;text-underline-offset:3px;}

/* ---------- Barra superior ---------- */
.topbar{background:var(--ink);color:#F1E2C8;font-size:12px;letter-spacing:.06em;text-align:center;padding:7px 12px;line-height:1.4;}
.topbar ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:2px 10px;}
.topbar li{display:inline-flex;align-items:center;gap:10px;}
.topbar li + li::before{content:"•";opacity:.6;}
@media (max-width:560px){.topbar{font-size:11px;letter-spacing:.02em;padding:6px 8px;} .topbar ul{gap:2px 6px;} .topbar li{gap:6px;}}
:root[data-theme="dark"] .topbar{background:#0F0C0A;color:var(--gold);}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .topbar{background:#0F0C0A;color:var(--gold);}}

/* ---------- Cabeçalho ---------- */
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb, var(--bg) 94%, transparent);
  backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line);}
.sh-row{display:flex;align-items:center;gap:10px;height:var(--header-h);}
.logo{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:var(--ink);line-height:1;margin-right:auto;}
.logo-name{font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:.01em;}
.logo-sub{font-size:9.5px;font-weight:600;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);margin-top:3px;padding-left:2px;}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  border:0;background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;flex:0 0 auto;}
.icon-btn:hover{background:var(--surface-2);}
.icon-btn svg{width:22px;height:22px;}
.bag-count{position:absolute;top:3px;right:1px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--wine);color:var(--wine-ink);
  font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;border:2px solid var(--bg);}
.bag-count.bump{animation:bump .4s ease;}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
.sh-search{position:relative;display:none;flex:0 1 380px;}
.sh-search input{width:100%;font:inherit;font-size:14.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;
  padding:10px 44px 10px 18px;min-height:44px;outline:none;}
.sh-search input:focus{border-color:var(--gold);}
.sh-search button{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;}
.sh-search-mobile{padding:0 0 12px;}
.sh-search-mobile .sh-search{display:block;flex:1 1 auto;}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
  padding:6px;z-index:60;max-height:70vh;overflow:auto;}
.suggest a{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:6px 8px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:13.5px;}
.suggest a:hover,.suggest a.on{background:var(--surface-2);}
.suggest img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:8px;}
.suggest .s-price{font-weight:600;color:var(--wine);font-variant-numeric:tabular-nums;}
.suggest .s-all{display:block;text-align:center;font-weight:600;color:var(--wine);padding:10px;}
.suggest .s-empty{padding:12px;color:var(--muted);font-size:13.5px;}
.sh-nav{display:none;}
.sh-nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:0 26px;}
.sh-nav a{display:inline-block;padding:10px 0 12px;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);
  text-decoration:none;border-bottom:1.5px solid transparent;}
.sh-nav a:hover{color:var(--ink);border-bottom-color:var(--line-strong);}
.sh-nav a[aria-current="page"]{color:var(--wine);border-bottom-color:var(--wine);}
.only-mobile{display:inline-flex;}
@media (min-width:980px){
  :root{--header-h:76px;}
  .sh-search{display:block;}
  .sh-nav{display:block;border-top:1px solid var(--line);}
  .only-mobile{display:none!important;}
  .logo-name{font-size:36px;}
  .logo{margin-right:0;flex:1 1 0;}
  .sh-tools{flex:1 1 0;display:flex;justify-content:flex-end;}
  .sh-search-mobile{display:none!important;}
}
.sh-tools{display:flex;align-items:center;gap:2px;}

/* ---------- Menu no celular ---------- */
.menu-mobile{position:fixed;inset:0;z-index:90;display:flex;}
.menu-mobile .mm-backdrop{position:absolute;inset:0;background:rgba(27,22,17,.5);}
.mm-panel{position:relative;width:min(340px,86vw);height:100%;background:var(--bg);box-shadow:0 0 40px rgba(0,0,0,.3);display:flex;flex-direction:column;
  overflow-y:auto;padding:14px 18px calc(24px + env(safe-area-inset-bottom, 0px));animation:slidein .22s ease;}
@keyframes slidein{from{transform:translateX(-100%)}to{transform:none}}
.mm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.mm-panel ul{list-style:none;margin:0;padding:0;}
.mm-panel nav a{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line);text-decoration:none;
  font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink);}
.mm-panel nav a[aria-current="page"]{color:var(--wine);}
.mm-extra{margin-top:18px;display:grid;gap:10px;font-size:14px;}
.mm-extra a{color:var(--ink-2);text-decoration:none;display:flex;align-items:center;gap:10px;min-height:40px;}
.mm-extra svg{width:20px;height:20px;}
body.no-scroll{overflow:hidden;}

/* ---------- WhatsApp (atendimento) ---------- */
.wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:45;width:54px;height:54px;border-radius:50%;
  background:var(--whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;
  box-shadow:0 8px 22px -6px rgba(0,0,0,.45);transition:bottom .2s ease, transform .15s ease;}
.wa-float:hover{transform:scale(1.05);}
.wa-float svg{width:28px;height:28px;}
body.has-dock .wa-float{bottom:calc(88px + env(safe-area-inset-bottom, 0px));}
@media (max-width:979px){body.typing .wa-float{opacity:0;pointer-events:none;}} /* some enquanto a cliente digita, para não cobrir campos */
@media (min-width:980px){ body.has-dock .wa-float{bottom:calc(24px + env(safe-area-inset-bottom, 0px));} .wa-float{right:24px;bottom:24px;} }

/* ---------- Rodapé ---------- */
.site-footer{margin-top:72px;background:var(--surface-2);border-top:1px solid var(--line);color:var(--ink-2);font-size:14px;padding-bottom:calc(84px + env(safe-area-inset-bottom, 0px));}
@media (min-width:980px){.site-footer{padding-bottom:0;}}
.sf-grid{display:grid;gap:30px;padding-block:44px 30px;grid-template-columns:1fr;}
@media (min-width:720px){.sf-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
.sf-brand .logo{margin-bottom:12px;}
.sf-brand p{margin:0 0 14px;max-width:34ch;color:var(--muted);}
.sf-tagline{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink)!important;}
.sf-social{display:flex;gap:8px;}
.sf-social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--ink);}
.sf-social a:hover{background:var(--surface);}
.sf-social svg{width:19px;height:19px;}
.sf-col h2{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 12px;font-weight:600;}
.sf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;}
.sf-col a{color:var(--ink-2);text-decoration:none;display:inline-block;padding:4px 0;}
.sf-col a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:3px;}
.sf-pay{border-top:1px solid var(--line);padding-block:18px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:13px;color:var(--muted);}
.sf-pay strong{color:var(--ink);font-weight:600;}
.pay-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:8px;padding:5px 10px;background:var(--surface);color:var(--ink);font-weight:500;font-size:12.5px;}
.pay-chip svg{width:16px;height:16px;}
.sf-legal{border-top:1px solid var(--line);padding-block:16px 26px;font-size:12px;color:var(--muted);line-height:1.6;}
.sf-legal p{margin:0;}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Faixa da prévia (só existe na prévia de teste): fica abaixo do menu, filtros e fotos ampliadas */
#previa-faixa{z-index:30!important;}
