
*{box-sizing:border-box}
/* overflow-x:clip (não 'hidden') evita rolagem horizontal SEM quebrar o position:sticky do cabeçalho/busca */
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
img{max-width:100%}
/* Texto só pra leitores de tela/SEO (H1 da home quando o construtor não tem um) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{max-width:1280px;margin:0 auto;padding:0 18px}
.fbleed{width:100vw;position:relative;left:50%;transform:translateX(-50%);max-width:100vw}
.annc{background:var(--teal);color:#fff;text-align:center;padding:6px 12px;font-size:.82rem}
.strip{background:var(--ink);color:#cbd5e1;font-size:.78rem;overflow:hidden}
.strip-mq{display:flex;width:max-content;animation:stripmq 18s linear infinite}
.strip:hover .strip-mq{animation-play-state:paused}
.strip-grp{display:flex;align-items:center;flex:none}
.strip .mq-item{display:inline-flex;align-items:center;gap:6px;padding:9px 0;white-space:nowrap}
.strip .mq-sep{padding:0 22px;opacity:.4}
.strip b{color:#fff}
@keyframes stripmq{from{transform:translateX(0)}to{transform:translateX(-16.6667%)}}
@media(prefers-reduced-motion:reduce){.strip-mq{animation:none}}
header.top{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(15,23,42,.05)}
.top .wrap{display:flex;align-items:center;gap:18px;padding:14px 18px;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.3rem;color:var(--teal);white-space:nowrap;display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}
/* Espaço ao lado da logo onde a prova social entra no mobile (vazio no desktop). */
.sp-slot{display:none}
.logo small{font-weight:500;font-size:.6rem;color:var(--muted);letter-spacing:.02em}
.logo-img{height:54px;width:auto;max-width:260px;object-fit:contain;display:block}
.search-wrap{flex:1;min-width:220px;position:relative;display:flex}
form.search{flex:1;min-width:0;display:flex;background:var(--bg);border:1.5px solid var(--line);border-radius:999px;overflow:hidden;transition:.15s}
.search-sug{position:absolute;top:calc(100% + 5px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.14);z-index:60;max-height:430px;overflow:auto}
.search-sug a{display:flex;gap:10px;align-items:center;padding:9px 12px;text-decoration:none;color:var(--ink);border-bottom:1px solid #f1f5f9}
.search-sug a:last-child{border-bottom:none}
.search-sug a:hover,.search-sug a.kbd{background:#f0fdfa}
.search-sug .ss-img{width:42px;height:42px;border-radius:8px;background:#f1f5f9;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:1.2rem}
.search-sug .ss-img img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.search-sug .ss-n{font-size:.82rem;font-weight:500;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-sug .ss-p{font-size:.82rem;font-weight:800;color:var(--ink);white-space:nowrap}
.search-sug a.ss-foot{display:block;text-align:center;font-size:.8rem;font-weight:700;color:var(--teal);padding:10px 12px}
.search-sug a.ss-kit{background:#f0fdfa}
.search-sug a.ss-kit:hover{background:#ccfbf1}
.search-sug .ss-tag{display:inline-block;background:var(--teal);color:#fff;font-size:.6rem;font-weight:800;border-radius:4px;padding:1px 5px;vertical-align:middle;margin-right:3px;letter-spacing:.3px}
.search-sug .ss-sub{font-size:.72rem;color:#0f766e;font-weight:600;margin-top:1px}
form.search:focus-within{border-color:var(--teal);background:#fff}
form.search input{flex:1;border:none;background:transparent;padding:12px 18px;font-size:.95rem;outline:none}
form.search button{border:none;background:var(--teal);color:#fff;padding:0 24px;cursor:pointer;font-weight:700;font-size:.9rem}
.top .wa{background:var(--green);color:#fff;padding:11px 18px;border-radius:999px;font-weight:700;font-size:.85rem;white-space:nowrap;box-shadow:0 5px 14px rgba(22,163,74,.28);box-sizing:border-box;min-height:44px;display:inline-flex;align-items:center}
#chatBtn{position:fixed;right:18px;bottom:18px;z-index:1200;width:60px;height:60px;border-radius:50%;background:var(--teal);color:#fff;border:none;cursor:pointer;font-size:1.6rem;box-shadow:0 8px 22px rgba(0,0,0,.22)}
#chatBtn:hover{filter:brightness(1.06)}
/* Barra inferior fixa estilo Mercado Livre (só mobile/tablet): Início · Categorias · Carrinho · Conta */
.bottombar{display:none}
@media(max-width:768px){
  .bottombar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1150;background:#fff;border-top:1px solid var(--line);box-shadow:0 -2px 14px rgba(15,23,42,.08);padding-bottom:env(safe-area-inset-bottom)}
  .bottombar>a,.bottombar>button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 2px 6px;min-height:54px;border:0;background:none;color:var(--muted);font-size:.66rem;font-weight:700;text-decoration:none;cursor:pointer}
  .bottombar .bn-ic{font-size:1.3rem;line-height:1;position:relative}
  .bottombar a.active{color:var(--teal)}
  .bottombar .cart-count{position:absolute;top:-7px;right:-12px;background:var(--accent);color:#fff;min-width:17px;height:17px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:900;padding:0 4px}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  /* sobe os flutuantes pra não ficarem atrás da barra */
  #chatBtn{bottom:calc(72px + env(safe-area-inset-bottom));width:52px;height:52px;font-size:1.4rem}
  #chatWin{bottom:calc(134px + env(safe-area-inset-bottom))}
  .lead-pop{left:50%;right:auto;transform:translateX(-50%);animation-name:leadup;bottom:calc(74px + env(safe-area-inset-bottom))}
}
#chatTeaser{position:fixed;right:14px;bottom:calc(132px + env(safe-area-inset-bottom));z-index:1199;max-width:min(260px,calc(100vw - 90px));background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px 14px 4px 14px;box-shadow:0 10px 28px rgba(15,23,42,.18);padding:10px 28px 10px 12px;font-size:.84rem;line-height:1.35;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
#chatTeaser.show{opacity:1;transform:none}
#chatTeaser .ct-txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#chatTeaser .ct-x{position:absolute;top:4px;right:6px;border:0;background:none;color:#94a3b8;font-size:1.05rem;line-height:1;cursor:pointer;padding:2px}
body.has-buybar #chatTeaser{bottom:calc(190px + env(safe-area-inset-bottom))}
#chatWin{position:fixed;right:18px;bottom:88px;z-index:1200;width:340px;max-width:92vw;height:460px;max-height:72vh;background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.28);display:none;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
#chatWin.open{display:flex}
.chat-hd{background:var(--teal);color:#fff;padding:12px 14px;display:flex;align-items:center;gap:8px}
.chat-hd b{font-size:.95rem}.chat-hd small{opacity:.85;font-size:.72rem}
.chat-x{margin-left:auto;background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;line-height:1}
.chat-body{flex:1;overflow-y:auto;padding:12px;background:#f6f8fb;display:flex;flex-direction:column;gap:7px}
.chat-msg{max-width:80%;padding:7px 11px;border-radius:12px;font-size:.86rem;line-height:1.35;word-wrap:break-word;white-space:pre-line}
.chat-msg.cli{align-self:flex-end;background:var(--teal);color:#fff;border-bottom-right-radius:3px}
.chat-msg.vend{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:3px}
.chat-msg.sys{align-self:center;background:transparent;color:var(--muted);font-size:.76rem;text-align:center}
.chat-ft{padding:8px;border-top:1px solid var(--line);display:flex;gap:6px}
.chat-ft input{flex:1;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:.86rem;outline:none}
.chat-ft button{border:none;background:var(--teal);color:#fff;border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:1rem;flex:0 0 auto}
.chat-name{padding:14px;display:flex;flex-direction:column;gap:8px}
.chat-name input{border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:.9rem;outline:none}
.chat-name button{border:none;background:var(--teal);color:#fff;border-radius:8px;padding:10px;font-weight:700;cursor:pointer}
.chat-fb{align-self:stretch;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:4px;display:flex;flex-direction:column;gap:7px}
.chat-fb-t{font-size:.82rem;color:#334155;font-weight:600}
.chat-fb-wa{display:block;text-align:center;text-decoration:none;background:#25d366;color:#fff;border-radius:8px;padding:9px;font-weight:800;font-size:.84rem}
.chat-fb-tel{display:flex;gap:6px}.chat-fb-tel input{flex:1;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:.82rem;outline:none}.chat-fb-tel button{border:none;background:var(--teal);color:#fff;border-radius:8px;padding:0 12px;font-weight:700;cursor:pointer}
.chat-fb-h{font-size:.76rem;color:var(--muted);text-align:center}
/* Produtos que o atendente virtual achou no estoque: cartão clicável -> página do produto */
.chat-prods{align-self:stretch;display:flex;flex-direction:column;gap:6px;margin-top:2px}
.chat-prod{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:7px 9px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.chat-prod:hover{border-color:var(--teal);box-shadow:0 4px 14px rgba(15,23,42,.1)}
.chat-prod .cp-img{width:46px;height:46px;flex:0 0 auto;border-radius:8px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:1.2rem}
.chat-prod .cp-img img{width:100%;height:100%;object-fit:contain}
.chat-prod .cp-in{flex:1;min-width:0}
.chat-prod .cp-t{font-size:.78rem;font-weight:700;color:var(--ink);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chat-prod .cp-p{font-size:.86rem;font-weight:900;color:var(--teal);margin-top:2px}
.chat-prod .cp-e{font-size:.68rem;color:#15803d;font-weight:700}
.chat-prod .cp-go{margin-left:auto;flex:0 0 auto;color:var(--teal);font-size:1.05rem;font-weight:900}
/* "digitando…" enquanto a IA busca */
.chat-think{display:flex;gap:4px;align-items:center;padding:10px 12px}
.chat-think span{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:cthink 1s infinite}
.chat-think span:nth-child(2){animation-delay:.15s}.chat-think span:nth-child(3){animation-delay:.3s}
@keyframes cthink{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
/* Balão que aborda o visitante (pergunta o que ele procura, sem abrir o WhatsApp) */
.chat-greet{position:fixed;right:18px;bottom:88px;z-index:1190;width:290px;max-width:calc(100vw - 36px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 38px rgba(15,23,42,.2);padding:13px 13px 11px;animation:cgup .3s ease}
@keyframes cgup{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.chat-greet .cg-t{font-size:.83rem;color:var(--ink);line-height:1.35;font-weight:600;margin:0 14px 9px 0;white-space:pre-line}
.chat-greet .cg-row{display:flex;gap:6px}
.chat-greet .cg-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:.82rem;outline:none}
.chat-greet .cg-row button{border:none;background:var(--teal);color:#fff;border-radius:9px;padding:0 12px;font-weight:800;font-size:.8rem;cursor:pointer}
.chat-greet .cg-x{position:absolute;top:5px;right:9px;border:none;background:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;line-height:1}
@media(max-width:768px){.chat-greet{bottom:calc(134px + env(safe-area-inset-bottom));right:12px}}
/* Computador: canto inferior direito, ao lado do botão do chat (o esquerdo é da prova
   social) — não cobre a grade de produtos. Celular: centralizado acima da barra. */
@keyframes leadupd{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.lead-pop{position:fixed;right:92px;bottom:18px;z-index:60;width:min(360px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:14px 14px 12px;animation:leadupd .25s ease}
@keyframes leadup{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}
.lead-pop h4{margin:0 0 4px;font-size:.98rem;color:var(--ink)}
.lead-pop p{margin:0 0 9px;font-size:.82rem;color:#475569;line-height:1.35}
.lead-pop .lp-row{display:flex;gap:6px}
.lead-pop .lp-row input{flex:1;border:1px solid var(--line);border-radius:9px;padding:9px;font-size:.86rem;outline:none}
.lead-pop .lp-row button{border:none;background:var(--teal);color:#fff;border-radius:9px;padding:0 14px;font-weight:800;cursor:pointer}
.lead-pop .lp-x{position:absolute;top:7px;right:11px;border:none;background:none;font-size:1.25rem;color:#94a3b8;cursor:pointer;line-height:1}
.lead-pop .lp-h{font-size:.72rem;color:var(--muted);margin-top:8px;text-align:center}
.lead-pop .lp-col{display:flex;flex-direction:column;gap:7px}
.lead-pop .lp-col input{border:1px solid var(--line);border-radius:9px;padding:10px;font-size:.88rem;outline:none}
.lead-pop .lp-col input:focus{border-color:var(--teal)}
.lead-pop .lp-col button{border:none;background:var(--teal);color:#fff;border-radius:9px;padding:11px;font-weight:800;cursor:pointer;font-size:.9rem}
.cart-link{position:relative;background:#fff;color:var(--teal);border:1.5px solid var(--teal);padding:10px 15px;border-radius:999px;font-weight:800;font-size:.85rem;white-space:nowrap;box-sizing:border-box;min-height:44px;display:inline-flex;align-items:center}
#accountLink .lbl{display:inline-block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
/* No mobile a conta fica só na barra inferior (evita botão de conta duplicado) */
/* No mobile o topo fica compacto (só logo + busca): conta/carrinho/WhatsApp vivem
   na barra inferior + chat. Cabeçalho fixo menor, não "trava" cobrindo a tela. */
@media(max-width:768px){header.top .cart-link,header.top .wa{display:none}}
/* No mobile, cliente logado vê "Olá, Nome" (em vez de só o ícone); deslogado fica só ícone */
@media(max-width:560px){#accountLink.is-logado{width:auto;min-width:46px;padding:0 12px;gap:5px}#accountLink.is-logado .lbl{display:inline-block;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}}
.cart-count{position:absolute;right:-7px;top:-8px;background:var(--accent);color:#fff;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:900;padding:0 5px}
nav.cats{background:#fff;border-bottom:1px solid var(--line)}
nav.cats .wrap{display:flex;align-items:stretch;gap:2px;flex-wrap:nowrap;padding:0 14px;position:relative}
nav.cats a{text-decoration:none}
.cat-top,.cat-item-flat,.cat-item>a{display:inline-flex;align-items:center;gap:5px;padding:13px 13px;font-size:.84rem;font-weight:600;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent;cursor:pointer}
.cat-top:hover,.cat-item-flat:hover,.cat-item:hover>a{color:var(--teal);border-color:var(--teal)}
.cat-top{font-weight:700;color:var(--ink)}
.cat-ar{font-size:.62rem;opacity:.7}
.cat-item{position:relative}
.cat-sub{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--teal);border-radius:0 0 12px 12px;box-shadow:var(--shadow);padding:6px;display:none;flex-direction:column;z-index:50}
.cat-item:hover .cat-sub,.cat-item:focus-within .cat-sub{display:flex}
.cat-sub a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:9px 12px;font-size:.82rem;font-weight:600;color:var(--ink);border-radius:8px}
.cat-sub a:hover{background:#f1f5f9;color:var(--teal)}
.cat-sub .cs-all{color:var(--teal);font-weight:800;border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;margin-bottom:2px}
.cat-sub .ct{color:var(--muted);font-weight:600;font-size:.73rem}
.cats-toggle{display:none;align-items:center;gap:9px;border:0;background:var(--teal);color:#fff;font-weight:800;font-size:.9rem;padding:13px 16px;cursor:pointer;white-space:nowrap}
.catdrawer-ov{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .2s;z-index:1199}
.catdrawer-ov.open{opacity:1;visibility:visible}
.catdrawer{position:fixed;top:0;left:0;height:100%;width:340px;max-width:88vw;background:#fff;transform:translateX(-100%);transition:transform .25s ease;z-index:1200;display:flex;flex-direction:column;visibility:hidden;transition:transform .25s ease,visibility 0s .25s}
.catdrawer.open{transform:none;visibility:visible;transition:transform .25s ease;box-shadow:8px 0 34px rgba(0,0,0,.2)}
.catdrawer-h{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid var(--line);font-size:1.05rem;color:var(--ink)}
.catdrawer-h button{border:0;background:none;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--muted)}
.catdrawer-b{overflow-y:auto;padding:8px;-webkit-overflow-scrolling:touch}
.catdrawer-b a,.cd-cat-h{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:13px 12px;font-size:.93rem;font-weight:600;color:var(--ink);text-decoration:none;border:0;background:none;cursor:pointer;border-radius:10px}
.catdrawer-b a:hover,.cd-cat-h:hover{background:#f1f5f9}
.cd-all{font-weight:800;color:var(--teal)}
.catdrawer-b .ct{margin-left:auto;color:var(--muted);font-weight:600;font-size:.78rem}
.cd-ar{margin-left:4px;transition:transform .2s;font-size:.78rem;color:var(--muted)}
.cd-cat.open .cd-ar{transform:rotate(180deg)}
.cd-subs{display:none;flex-direction:column;padding:0 0 6px 12px}
.cd-cat.open .cd-subs{display:flex}
.cd-subs a{padding:10px 12px;font-size:.86rem;font-weight:500;color:var(--muted)}
@media(max-width:1024px){nav.cats .wrap>.cat-circs,nav.cats .wrap>.cat-mega{display:none}nav.cats .wrap{padding:0}.cats-toggle{display:flex;width:100%;justify-content:center}}
.cat-mega{position:static}
.cat-mega>a{display:inline-flex;align-items:center;gap:5px;padding:13px 13px;font-size:.84rem;font-weight:800;color:var(--ink);white-space:nowrap;border-bottom:2px solid transparent;cursor:pointer}
.cat-mega:hover>a,.cat-mega:focus-within>a{color:var(--teal);border-color:var(--teal)}
.cat-megapanel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:2px solid var(--teal);border-bottom:1px solid var(--line);border-radius:0 0 18px 18px;box-shadow:0 18px 40px rgba(15,23,42,.14);display:none;z-index:61;overflow:hidden}
.cat-mega:hover .cat-megapanel,.cat-mega:focus-within .cat-megapanel{display:block;animation:megaIn .16s ease-out}
@keyframes megaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mega-cols{display:grid;gap:0 28px;padding:16px 26px 10px;max-height:calc(100vh - 230px);overflow-y:auto}
.mega-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.mega-fam-h{font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:10px;margin:0 0 6px}
.mega-fam-h::after{content:"";flex:1;height:1px;background:var(--line)}
.mega-fam-impressao .mega-fam-b{columns:3;column-gap:24px}
.mega-grp{break-inside:avoid;padding:0 0 6px}
.mega-cat{display:flex;align-items:center;gap:9px;padding:4px 6px;border-radius:10px;font-weight:800;font-size:.88rem;color:var(--ink);text-decoration:none;transition:background .15s,color .15s}
.mega-nm{flex:1;min-width:0;line-height:1.2}
.mega-ic{flex:none;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--teal) 11%,#fff);color:var(--teal);transition:background .15s,color .15s}
.mega-ic .ic{width:17px;height:17px}
.mega-cat .ct{flex:none;font-size:.68rem;font-weight:800;color:var(--teal);background:color-mix(in srgb,var(--teal) 9%,#fff);padding:2px 8px;border-radius:999px}
.mega-cat:hover{background:color-mix(in srgb,var(--teal) 7%,#fff);color:var(--teal)}
.mega-cat:hover .mega-ic{background:var(--teal);color:#fff}
.mega-subs{display:flex;flex-direction:column;padding-left:43px}
.mega-sub,.mega-more{font-size:.8rem;padding:2px 8px;margin-left:-8px;border-radius:7px;text-decoration:none;transition:background .15s,color .15s,transform .15s}
.mega-sub{color:var(--muted)}
.mega-sub:hover{color:var(--teal);background:#f1f5f9;transform:translateX(3px)}
.mega-more{color:var(--teal);font-weight:700}
.mega-more:hover{text-decoration:underline}
.mega-foot{display:flex;align-items:center;gap:14px;padding:12px 26px;background:color-mix(in srgb,var(--teal) 6%,#fff);border-top:1px solid var(--line);font-size:.84rem}
.mega-help{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;flex:1;min-width:0}
.mega-help .ic{color:var(--green);flex:none}
.mega-wa{background:var(--green);color:#fff;font-weight:800;padding:8px 16px;border-radius:999px;text-decoration:none;white-space:nowrap}
.mega-wa:hover{filter:brightness(.95)}
.mega-all{color:var(--teal);font-weight:800;text-decoration:none;white-space:nowrap}
.mega-all:hover{text-decoration:underline}
@media(max-width:1200px){.mega-fam-impressao .mega-fam-b{columns:2}}
.catdrawer-b .mega-ic{width:28px;height:28px}
/* Barra do topo no desktop: categorias em círculo com ícone (estilo "departamentos") */
@media(min-width:1025px){
nav.cats{background:linear-gradient(#fff,color-mix(in srgb,var(--teal) 3%,#fff))}
nav.cats .wrap{align-items:center;gap:4px;padding:10px 14px;flex-wrap:wrap;justify-content:flex-start}
.cat-mega{margin-right:20px}
.cat-circs{display:flex;flex-wrap:wrap;justify-content:space-between;flex:1;min-width:0;gap:0 4px}
.cat-mega>a{gap:8px;padding:11px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.06);border-bottom-width:1px}
.cat-mega>a .ic{width:18px;height:18px}
.cat-mega>a{position:relative}.cat-mega>a::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:44px}
.cat-mega:hover>a,.cat-mega:focus-within>a{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 6%,#fff)}
.cat-top,.cat-item-flat,.cat-item>a{flex-direction:column;gap:6px;width:96px;padding:2px 4px 4px;border:0;white-space:normal;text-align:center;font-size:.76rem;font-weight:700;color:var(--muted);line-height:1.15}
.cat-top{color:var(--muted)}
.cat-circ{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--teal) 10%,#fff);color:var(--teal);transition:background .15s,color .15s,transform .15s,box-shadow .15s}
.cat-circ .ic{width:22px;height:22px}
.cat-lb{min-height:2.3em;display:flex;align-items:flex-start;justify-content:center}
.cat-top:hover,.cat-item-flat:hover,.cat-item:hover>a{color:var(--teal)}
.cat-top:hover .cat-circ,.cat-item-flat:hover .cat-circ,.cat-item:hover>a .cat-circ{background:var(--teal);color:#fff;transform:translateY(-2px);box-shadow:0 6px 14px color-mix(in srgb,var(--teal) 30%,transparent)}
.cat-item .cat-sub{left:50%;transform:translateX(-50%);border-radius:12px;top:calc(100% + 4px)}
.cat-item .cat-sub::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
}
/* Seções da home/páginas do construtor abaixo da dobra: o navegador só calcula
   layout/pintura quando chegam perto da tela (a home tem ~6 mil elementos e o
   celular gastava segundos nisso — auditoria 16/out). As 3 primeiras renderizam
   sempre (topo/banner/1ª vitrine). contain-intrinsic-size guarda a altura real
   depois da 1ª renderização, então a rolagem não "pula". */
.pagina-secoes>section.secao:nth-of-type(n+4){content-visibility:auto;contain-intrinsic-size:auto 520px}
/* Lateral "Departamentos" (home e listagens) */
.cat-lateral{display:none}
@media(min-width:1200px){
.tem-lateral .wrap{max-width:1760px}
.com-lateral{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;max-width:1760px;margin:0 auto;padding:0 18px}
.com-lateral-main{min-width:0}
.com-lateral-main .wrap{max-width:none;padding-left:0;padding-right:0}
/* Faixas "de ponta a ponta" (.fbleed: vitrines "Escolhidos para você", "Mais vendidos"…)
   usam 100vw — ao lado da lateral passariam por cima dela. Aqui ficam na coluna. */
.com-lateral-main .fbleed{width:auto;left:auto;transform:none;max-width:none}
.tem-lateral nav.cats .wrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;padding:10px 18px}
.tem-lateral .cat-mega{margin:0}
.tem-lateral .cat-mega>a{width:100%;justify-content:center;box-sizing:border-box}
.cat-lateral{display:block;position:sticky;top:88px;align-self:start;margin:24px 0;max-height:calc(100vh - 110px);overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);scrollbar-width:thin}
}
.cl-h{display:flex;align-items:center;gap:8px;padding:13px 16px;font-weight:800;font-size:.92rem;color:#fff;background:var(--teal);position:sticky;top:0;z-index:1}
.cl-h .ic{width:18px;height:18px}
.cl-b{padding:6px}
.cl-cat{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:10px;font-weight:700;font-size:.84rem;color:var(--ink);text-decoration:none;cursor:pointer;list-style:none;transition:background .15s,color .15s}
.cl-cat::-webkit-details-marker{display:none}
.cl-cat .mega-ic{width:28px;height:28px}
.cl-cat .mega-ic .ic{width:16px;height:16px}
.cl-nm{flex:1;min-width:0;line-height:1.2}
.cl-cat .ct,.cl-subs .ct{font-size:.66rem;font-weight:800;color:var(--muted)}
.cl-ar{font-size:.66rem;color:var(--muted);transition:transform .2s}
.cl-grp[open] .cl-ar{transform:rotate(180deg)}
.cl-cat:hover,.cl-cat.on{background:color-mix(in srgb,var(--teal) 8%,#fff);color:var(--teal)}
.cl-cat:hover .mega-ic,.cl-cat.on .mega-ic{background:var(--teal);color:#fff}
.cl-subs{display:flex;flex-direction:column;padding:2px 0 8px 45px}
.cl-subs a{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;margin-left:-8px;border-radius:7px;font-size:.8rem;color:var(--muted);text-decoration:none}
.cl-subs a:hover{background:#f1f5f9;color:var(--teal)}
.cl-subs a.on{color:var(--teal);font-weight:800;background:color-mix(in srgb,var(--teal) 8%,#fff)}
nav.cats .cat-off{display:none!important}
@media(max-width:560px){.top .wrap{gap:10px;padding:10px 14px}.logo{order:1;flex:0 1 auto;font-size:1.05rem}.logo small{display:none}.logo-img{height:40px;max-width:48vw}.sp-slot{display:flex;order:2;flex:1 1 0;min-width:0;overflow:hidden;justify-content:flex-end;align-items:center;padding-left:8px;min-height:46px}.search-wrap{order:3;flex-basis:100%;min-width:0}form.search input{font-size:16px}form.search button{padding:0;width:48px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}form.search button .btxt{display:none}.top .wa,.cart-link{order:2;padding:0;width:46px;height:46px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;box-shadow:none}.top .wa .lbl,.cart-link .lbl{display:none}}
.hero{background:linear-gradient(120deg,var(--teal),var(--teal-d));color:#fff;border-radius:var(--radius);padding:48px 38px;margin:24px 0;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.blk-page{padding:18px 0}.blk-page>*{margin-bottom:18px}.blk-section{padding:6px 0}.blk-h{margin:0 0 8px}.blk-text{margin:0}.blk-row>.blk-col{box-sizing:border-box}
.hero h1{margin:0 0 10px;font-size:2.05rem;line-height:1.15;max-width:640px;position:relative}
.hero p{margin:0;opacity:.95;font-size:1.1rem;max-width:580px;position:relative}
.hero .cta{position:relative}
.hero-img-full{position:relative;margin:24px 0;border-radius:var(--radius);overflow:hidden}
.hero-img-full>img{display:block;width:100%}
.hero-cap{position:absolute;inset:0;display:flex;flex-direction:column;color:#fff;padding:24px}
.hero-cap h1{margin:0 0 8px;font-size:1.9rem;line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.hero-cap p{margin:0;font-size:1.05rem;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.benefits{display:flex;gap:14px;flex-wrap:wrap;justify-content:space-around;text-align:center;margin:18px 0}
.benefits .bene{flex:1 1 150px;min-width:120px}
.benefits .bi{font-size:1.9rem}.benefits .bt{font-weight:700;margin-top:4px}.benefits .bd{font-size:.85rem;color:var(--muted)}
.faq{margin:26px 0}
.faq-i{border-bottom:1px solid var(--line);padding:13px 2px}
.faq-i summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:center}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary:before{content:'+';margin-right:10px;color:var(--teal);font-weight:800;font-size:1.2rem}
.faq-i[open] summary:before{content:'–'}
.faq-i>div{padding:8px 0 2px 24px;color:var(--muted)}
.depo{margin:26px 0}
.depo-g{display:flex;gap:14px;flex-wrap:wrap}
.depo-c{flex:1 1 230px;min-width:200px;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff}
.depo-c .stars{color:#f59e0b;letter-spacing:1px}.depo-c p{margin:8px 0;font-size:.92rem}.depo-c b{font-size:.85rem}
.bcar{position:relative;overflow:hidden;border-radius:var(--radius);margin:18px 0}
.bcar-track{display:flex;height:100%;transition:transform .5s ease;will-change:transform}
.bcar-cell{flex:0 0 100%;height:100%;display:block}
.bcar-slide{width:100%;height:100%}.bcar-slide picture{display:block;width:100%;height:100%}
/* Bolinhas do carrossel: área de toque de 24px (acessibilidade/celular) com a
   mesma bolinha de 11px desenhada no ::before — visual igual ao de antes. */
.bcar-dots{position:absolute;bottom:5px;left:0;right:0;display:flex;gap:0;justify-content:center;z-index:2}
.bcar-dots button{position:relative;width:24px;height:24px;border-radius:50%;border:0;background:transparent;cursor:pointer;padding:0}
.bcar-dots button::before{content:"";position:absolute;left:6.5px;top:6.5px;width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.55);transition:.2s}
.bcar-dots button.on::before{background:#fff;transform:scale(1.15)}
.bcar-prev,.bcar-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.32);color:#fff;border:0;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.5rem;line-height:1;z-index:2;transition:.2s}
.bcar-prev:hover,.bcar-next:hover{background:rgba(0,0,0,.55)}
.bcar-prev{left:12px}.bcar-next{right:12px}
@keyframes reiFade{from{opacity:0}to{opacity:1}}
@keyframes reiUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes reiZoom{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:36px 0 16px}
h1.sec,h2.sec{font-size:1.32rem;margin:0;font-weight:800}
.section-head a{color:var(--teal);font-weight:700;font-size:.85rem}
/* Grade de produtos em CSS Grid: TODAS as colunas com a MESMA largura em todas as
   linhas (flex+grow deixava a última linha com cards mais largos/centralizados,
   criando vãos em branco e cards de tamanhos diferentes na home). */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}
@media(max-width:680px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
@media(max-width:680px){.catgrid{grid-template-columns:repeat(2,1fr);gap:10px}}
/* Botão "Ver mais produtos" do feed infinito da home */
.feed-more{border:1.5px solid var(--teal);background:#fff;color:var(--teal);border-radius:999px;padding:11px 28px;font-weight:800;font-size:.9rem;cursor:pointer;transition:.15s}
.feed-more:hover{background:var(--teal);color:#fff}
/* Barra de compra fixa (mobile) na página de produto — some no desktop */
.buybar-fixed{display:none}
@media(max-width:768px){
  .buybar-fixed{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:1140;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(15,23,42,.12);padding:9px 13px;display:flex;align-items:center;gap:12px;transform:translateY(160%);transition:transform .22s ease}
  .buybar-fixed.on{transform:none}
  .buybar-fixed .bbf-price{display:flex;flex-direction:column;line-height:1.12;flex:0 0 auto}
  .buybar-fixed .bbf-price b{font-size:1.08rem;color:var(--ink)}
  .buybar-fixed .bbf-price small{font-size:.68rem;color:#15803d;font-weight:800}
  .buybar-fixed .bbf-btn{flex:1;border:none;background:#3483fa;color:#fff;border-radius:10px;padding:12px;font-weight:800;font-size:.95rem;cursor:pointer}
  .buybar-fixed .bbf-btn:active{background:#2968c8}
  /* quando a barra de compra aparece, sobe o botão de chat pra não encostar nela */
  body.has-buybar #chatBtn{bottom:calc(130px + env(safe-area-inset-bottom))}
}
/* Responsividade automática dos blocos montados no construtor */
.blk-page{overflow-wrap:break-word}
.blk-page img{max-width:100%}
.blk-row{flex-wrap:wrap}
@media(max-width:760px){.blk-row>*{flex:1 1 100%!important;max-width:100%!important}}
@media(max-width:560px){.blk-page h1{font-size:1.7rem;line-height:1.15}.blk-page h2{font-size:1.3rem}}
.cat-chip{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;font-weight:700;font-size:.9rem;color:#1e293b;transition:.15s;display:flex;align-items:center;gap:10px}
.cat-chip:hover{border-color:var(--teal);color:var(--teal);box-shadow:var(--shadow);transform:translateY(-2px)}
.ic{width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em}
.cart-link,.top .wa,form.search button{gap:6px}
.top .wa{display:inline-flex;align-items:center}
form.search button{display:inline-flex;align-items:center;justify-content:center}
#chatBtn{display:inline-flex;align-items:center;justify-content:center}#chatBtn .ic{width:28px;height:28px}
.bottombar .bn-ic .ic{width:23px;height:23px;display:block}
.card-frete .ic{width:14px;height:14px;vertical-align:-2px}
footer .ic{width:1em;height:1em;vertical-align:-.15em}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.18s;position:relative}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:#dbe2ea}
/* O <a> (imagem+corpo) estica dentro do card: ativa o flex:1 do .body (que era
   inerte, pois o pai <a> não crescia) e empurra o bloco de botões pra BASE do
   card. Como os cards da mesma linha têm a mesma altura (stretch do grid/flex),
   Comprar agora / Adicionar / WhatsApp ficam alinhados entre os cards,
   independente do tamanho do nome ou das linhas de preço/estoque. */
.card>a{display:flex;flex-direction:column;flex:1}
.card .img{aspect-ratio:1;background:#fff center/contain no-repeat;display:flex;align-items:center;justify-content:center;padding:14px;font-size:2.6rem}
.card .img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.card .body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .name{font-size:.85rem;font-weight:600;line-height:1.35;color:#1e293b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}
.card .price{font-weight:800;color:var(--ink);font-size:1.16rem;margin-top:auto}
.card .price .de{display:block;font-weight:500;color:var(--muted);font-size:.74rem;text-decoration:line-through}
.card-pix{font-weight:800;color:#15803d;font-size:.82rem;margin-top:3px}
.card-pix span{font-weight:600;font-size:.72rem}
.card-parc{font-size:.75rem;color:#475569;font-weight:600;margin-top:2px}
.card-frete{margin-top:6px;font-size:.72rem;font-weight:700;color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:8px;padding:5px 8px;line-height:1.4}
.card-frete .card-prazo{display:block;font-weight:600;color:#475569}
.card-actions{padding:0 14px 14px;display:flex;flex-direction:column;gap:7px}
.card-actions>*{width:100%;box-sizing:border-box}
/* font-size/line-height EXPLÍCITOS: os botões de compra ora são <button>, ora <a>
   (ex.: "Consultar estoque" do esgotado) e cada elemento tem default diferente —
   sem isso a altura varia ~5px e desalinha os cards da linha. */
.buynow{border:none;background:#3483fa;color:#fff;border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer;font-size:.9rem;line-height:1.25}
.buynow:hover{background:#2968c8}
.addcart{border:none;background:var(--teal);color:#fff;border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer;width:100%;font-size:.9rem;line-height:1.25}
.addcart:hover{background:var(--teal-d)}
.wabtn{display:block;text-align:center;text-decoration:none;background:#25d366;color:#fff;border-radius:10px;padding:9px 12px;font-weight:800;font-size:.9rem;line-height:1.25}
.wabtn:hover{filter:brightness(.96)}
@media(max-width:680px){.card .buynow,.card .addcart,.card .wabtn{padding:8px 6px;font-size:.8rem;border-radius:9px;line-height:1.15}.card .wlong,.card .along{display:none}}
/* Card compacto no mobile (estilo Mercado Livre): esconde o seletor de quantidade,
   "Comprar agora" e WhatsApp, deixando só UM CTA ("Adicionar"). Card mais baixo =
   mais produtos por tela e menos paralisia de escolha (3 botões concorrentes viram 1).
   As ações completas ficam na página do produto; a qtd cai pra 1 (o select escondido
   mantém o valor). Desktop segue com todos os botões. */
@media(max-width:768px){.card .card-actions .qsel,.card .card-actions .buynow,.card .card-actions .wabtn{display:none}.card .card-actions{gap:0}.card .addcart{padding:10px 8px;font-size:.85rem}}
.off{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:800;padding:4px 9px;border-radius:999px;z-index:1}
.badge{font-size:.66rem;font-weight:700;border-radius:999px;padding:3px 9px;align-self:flex-start}
.b-ok{background:#dcfce7;color:#15803d}.b-no{background:#f1f5f9;color:#64748b}
.card-stock{font-size:.72rem;font-weight:700;color:#15803d;margin:3px 0 1px}
.card-stock.zero{color:#94a3b8}
/* Slots fantasmas do card esgotado: ocupam a MESMA altura do seletor de qtd e do
   "Comprar agora" dos cards normais, só que invisíveis — mantém preço e botões
   alinhados na linha. */
.slot-ghost{visibility:hidden}
.relcard .card-stock{margin:2px 0}
.crumbs{font-size:.8rem;color:var(--muted);margin:20px 0}
.crumbs a:hover{color:var(--teal)}
.subchips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.subchips a{font-size:.8rem;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:#334155;transition:.12s}
.subchips a:hover{border-color:var(--teal);color:var(--teal)}
.subchips a.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.cat-chip .ct{margin-left:auto;color:var(--muted);font-weight:600;font-size:.76rem}
.pd{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 340px;gap:22px;margin:8px 0 30px;align-items:start}
@media(max-width:1040px){.pd{grid-template-columns:1fr;gap:20px}}
.gallery{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:start}
@media(max-width:1040px){.gallery{grid-template-columns:1fr}}
.thumbs-v{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto}
@media(max-width:1040px){.thumbs-v{flex-direction:row;flex-wrap:wrap;max-height:none;overflow:visible}}
.thumbs-v img{width:56px;height:56px;object-fit:contain;border:1.5px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;padding:4px;transition:.15s}
.thumbs-v img:hover,.thumbs-v img.on{border-color:var(--teal)}
.zoom{border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:1;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:18px;font-size:5rem}
.zoom img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .12s ease-out;cursor:zoom-in}
.gallery.no-thumbs{grid-template-columns:1fr}
.zoom:has(.noimg){padding:0;border-style:dashed}
/* Placeholder quando o produto não tem foto — visual limpo e profissional */
.noimg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;width:100%;height:100%;background:radial-gradient(120% 120% at 50% 0,#f0fdfa 0,#e0f2fe 60%,#eef2ff 100%);border-radius:var(--radius);padding:28px}
.noimg-ic{font-size:5.5rem;line-height:1;filter:drop-shadow(0 6px 16px rgba(13,148,136,.22))}
.noimg-nm{font-size:1.1rem;font-weight:800;color:var(--ink);max-width:90%;line-height:1.3}
.noimg-br{font-size:.85rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.noimg-cta{margin-top:4px;font-size:.8rem;color:var(--teal);font-weight:700;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.card .img .noimg,.relcard .rimg .noimg{background:linear-gradient(135deg,#f0fdfa,#eef2ff);gap:0;padding:0}
.card .img .noimg-ic,.relcard .rimg .noimg-ic{font-size:2.6rem;filter:none}
.info{min-width:0}
.info .keyinfo{margin-top:16px;font-size:.9rem}.info .keyinfo h3{font-size:.95rem;margin:0 0 6px}.info .keyinfo ul{margin:0;padding-left:18px;line-height:1.6}.info .keyinfo img{max-width:100%;border-radius:8px}
.pd-desc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px;margin-top:18px}
.pd-desc h2{font-size:1.25rem;margin:0 0 12px;font-weight:800}
.pd-desc-body{max-width:780px;line-height:1.75;color:#334155;font-size:.95rem}
.pd-desc-body h3{font-size:1.05rem;margin:18px 0 6px;color:var(--ink)}
.pd-desc-body h3:first-child{margin-top:0}
.pd-desc-body p{margin:0 0 10px}
.pd-desc-body ul{margin:0 0 12px;padding-left:20px}
.pd-desc-body li{margin:3px 0}
.pd-desc-body img{max-width:100%;border-radius:10px}
/* Descrição recolhível estilo Mercado Livre: fecha em ~330px com fade + botão
   "Ver descrição completa"; descrição curta abre sozinha e o botão some (JS da
   seção). Só o texto recolhe — a ficha técnica fica sempre visível. */
.pd-desc{scroll-margin-top:96px} /* ao recolher, o scrollIntoView não esconde o título sob o topo sticky */
.pd-desc-clamp{position:relative;max-height:330px;overflow:hidden}
.pd-desc-clamp.open{max-height:none}
.pd-desc-clamp .pd-desc-fade{position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.pd-desc-clamp.open .pd-desc-fade{display:none}
.pd-desc-toggle{margin:10px 0 0;background:none;border:none;color:var(--teal);font-weight:800;cursor:pointer;font-size:.92rem;padding:6px 0}
.pd-desc-toggle:hover{text-decoration:underline}
/* Descrição dentro do grid do produto: ocupa as colunas 1-2 ao lado do buybox (sem vão em branco) */
.pd .gallery{grid-column:1;grid-row:1}
.pd .info{grid-column:2;grid-row:1}
.pd .buybox{grid-column:3;grid-row:1 / span 2}
.pd .pd-desc{grid-column:1 / span 2;grid-row:2;margin-top:0;min-width:0}
@media(max-width:1040px){.pd .gallery,.pd .info,.pd .buybox,.pd .pd-desc{grid-column:auto;grid-row:auto}.pd .buybox{position:static;top:auto}}
.ficha{margin-top:20px}
.ficha h3{font-size:1.02rem;margin:0 0 10px;font-weight:800}
.ficha table{width:100%;max-width:680px;border-collapse:separate;border-spacing:0;font-size:.88rem;border:1px solid #eef2f6;border-radius:10px;overflow:hidden}
.ficha tr:nth-child(odd) td{background:#f8fafc}
.ficha td{padding:9px 14px}
.ficha td:first-child{color:#475569;font-weight:700;width:42%}
.buybox{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);position:sticky;top:92px}
.pd h1{font-size:1.5rem;margin:0 0 6px;line-height:1.25}
.pd .brand{color:var(--muted);font-size:.85rem}
/* Compartilhar (estilo Mercado Livre): WhatsApp + redes + copiar link, no topo do produto */
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.share-row{display:flex;align-items:center;gap:8px}
.share-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;font-weight:800;color:var(--ink);cursor:pointer;text-decoration:none;transition:.12s}
.share-btn:hover{background:#f1f5f9;border-color:var(--teal);color:var(--teal)}
.share-btn.wa{color:#16a34a}.share-btn.fb{color:#1877f2;font-family:Georgia,serif}
.share-ok{font-size:.78rem;color:#15803d;font-weight:700;margin-left:2px}
.pd .price{font-size:2.1rem;font-weight:800;color:var(--ink);margin:16px 0 2px}
.pd .price .de{font-size:1rem;color:var(--muted);text-decoration:line-through;font-weight:500;display:block}
.pix{color:var(--green);font-weight:700;font-size:.88rem;margin-bottom:16px}
.cor-sel{margin:6px 0 14px}
.cor-sel-lbl{font-size:.9rem;color:#334155;margin-bottom:7px}
.cor-sel-opts{display:flex;flex-wrap:wrap;gap:8px}
.cor-opt{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);border-radius:999px;padding:6px 12px 6px 8px;font-size:.82rem;font-weight:700;color:#1e293b;background:#fff;transition:.12s}
.cor-opt:hover{border-color:var(--teal)}
.cor-opt.on{border-color:var(--teal);background:#f0fdfa;box-shadow:0 0 0 2px rgba(13,148,136,.15)}
.cor-dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:0 0 auto}
.kit-box{border:1.5px dashed var(--teal);border-radius:12px;padding:12px;margin:10px 0;background:#f0fdfa}
.kit-box .kit-h{font-size:.92rem;font-weight:700;color:#0f766e;margin-bottom:4px}
.kit-box .kit-price{font-size:1.2rem;font-weight:800;color:var(--ink);margin-bottom:10px}
.kit-box .kit-de{font-size:.85rem;color:var(--muted);text-decoration:line-through;font-weight:500;margin-right:7px}
.kit-box .kit-eco{font-size:.78rem;color:var(--green);font-weight:700}
.kit-box .cta{background:var(--accent);box-shadow:0 6px 16px rgba(249,115,22,.26);font-size:.98rem;padding:13px}
.kit-destaque{display:flex;align-items:center;gap:8px;margin:10px 0;padding:11px 14px;border-radius:12px;background:linear-gradient(120deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;color:#9a3412;font-size:.86rem;font-weight:700}
.kit-destaque:hover{border-color:var(--accent)}
.cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--green);color:#fff;font-weight:800;padding:15px;border-radius:12px;font-size:1.05rem;box-shadow:0 6px 16px rgba(22,163,74,.26);transition:.15s}
.cta:hover{filter:brightness(1.05);transform:translateY(-1px)}
.cta.secondary{background:var(--teal);margin-bottom:10px}
.buybox .cta{margin-bottom:12px}
.qtyrow{display:flex;gap:8px;margin:18px 0 6px;align-items:center;flex-wrap:wrap}
.qstock{font-size:.9rem;font-weight:500;color:var(--muted);white-space:nowrap}
/* A caixa "Digite a quantidade" SÓ aparece quando o cliente escolhe "Mais de N".
   O [hidden] precisa vencer o display:flex abaixo (por isso a regra explícita). */
.qmore{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px;max-width:340px;background:#f6f8fb;border:1px solid var(--line);border-radius:12px;padding:12px}
.qmore[hidden]{display:none}
.qmore-lb{flex-basis:100%;font-size:.85rem;font-weight:700;color:var(--ink)}
.qmore-inp{flex:1;min-width:0;border:1px solid var(--teal);border-radius:10px;padding:10px 12px;font-size:.95rem;font-weight:700;outline:none}
.qmore-ap{border:none;background:var(--teal);color:#fff;border-radius:10px;padding:0 18px;font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap}
.qmore-ap:hover{filter:brightness(1.05)}
.qtyrow input,.qtyrow select{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:.95rem;background:#fff;cursor:pointer;font-weight:700}
/* Dropdown de quantidade (estilo Mercado Livre): usa a seta NATIVA do select (sempre visível) */
.qsel{min-width:0;width:auto;height:44px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:700;font-size:.95rem;cursor:pointer}
.qsel:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 2px rgba(13,148,136,.15)}
.qsel.sm{min-width:0;width:100%;height:38px;font-size:.88rem;padding:0 8px;margin-bottom:6px}
/* Checkbox "Aplicar 5% OFF" (estilo Mercado Livre) na página do produto */
.promo5{display:flex;align-items:flex-start;gap:9px;background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:11px 12px;margin:0 0 12px;cursor:pointer;font-size:.86rem;color:#0f766e;line-height:1.35}
.promo5 input{width:20px;height:20px;margin-top:1px;accent-color:var(--teal);flex:0 0 auto;cursor:pointer}
.promo5 small{display:block;color:#0d9488;font-weight:600;font-size:.74rem;margin-top:1px}
.qstep{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;height:44px;width:auto;user-select:none}
.qstep button{border:none;background:#fff;width:44px;font-size:1.3rem;font-weight:700;color:var(--ink);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:.12s}
.qstep button:hover{background:#f1f5f9}
.qstep button:disabled{color:#cbd5e1;cursor:not-allowed;background:#fff}
.qstep input{width:50px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-weight:800;font-size:1rem;background:#fff;padding:0;color:var(--ink);-moz-appearance:textfield}
.qstep input:focus{outline:none;background:#f8fafc}
.qstep.sm{height:34px;border-radius:8px}
.qstep.sm button{width:32px;font-size:1.05rem}
.qstep.sm input{width:38px;font-size:.85rem;font-weight:700}
.card-actions .qstep,.relcard .racts .qstep{align-self:center;width:auto;margin-bottom:2px}
.cart-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;margin:26px 0}
.cart-items,.checkout-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.cart-item{display:grid;grid-template-columns:76px minmax(0,1fr) 96px 92px 32px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}
.cart-item:last-child{border-bottom:0}.cart-item img{width:76px;height:76px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px}
.cart-item input{width:76px;border:1px solid var(--line);border-radius:8px;padding:9px}.remove{border:none;background:#fee2e2;color:#991b1b;border-radius:8px;width:30px;height:30px;cursor:pointer;font-weight:900}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field label{font-size:.75rem;font-weight:800;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:11px;font:inherit}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.summary-line{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line)}.summary-line.total{font-size:1.15rem;font-weight:900;border-bottom:0}.notice{background:#ecfdf5;color:#065f46;border:1px solid #bbf7d0;border-radius:12px;padding:12px;font-size:.86rem;margin:12px 0}
/* Aviso de preço de internet: precisa saltar aos olhos ao lado do preço, senão o
   cliente vai ao balcão esperando o valor do site. Barra laranja = atenção. */
.psite{display:flex;gap:9px;align-items:center;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-left:5px solid #f97316;border-radius:10px;padding:10px 12px;font-size:.9rem;line-height:1.3;margin:10px 0}
.psite .ic{font-size:1.2rem;line-height:1}
.psite b{display:block;font-weight:900;letter-spacing:.01em}.err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:12px;padding:12px;font-size:.86rem;margin:12px 0}
.steps{display:flex;gap:5px;margin:16px 0 6px}.steps .step{flex:1;display:flex;align-items:center;gap:5px;font-size:.7rem;font-weight:800;color:var(--muted);border-bottom:3px solid var(--line);padding:0 0 7px}.steps .step span{display:flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:999px;background:var(--line);color:#fff;font-size:.68rem}.steps .step.on{color:var(--ink);border-bottom-color:var(--teal)}.steps .step.on span{background:var(--teal)}.steps .step.done span{background:#22c55e}
.cstep-h{display:flex;align-items:center;gap:9px;margin:16px 0 4px;font-size:1.1rem;font-weight:800}.cstep-h .cstep-n{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;background:#0f172a;color:#fff;font-size:.85rem;font-weight:800;flex:none}.cstep-sub{font-size:.8rem;color:var(--muted);margin:0 0 12px}
.cstep-ok{position:relative;background:#f6faf3;border:1px solid #e2efd9;border-radius:12px;padding:14px 44px 14px 14px;margin:0 0 14px}
.cstep-ok .cstep-h{margin:0 0 9px;color:#15803d}.cstep-ok .cstep-n{background:#22c55e}
.okmark{color:#22c55e;font-weight:900;font-size:1.05rem}
.edit-pencil{position:absolute;top:10px;right:10px;border:none;background:none;cursor:pointer;font-size:1.05rem;color:#64748b;padding:5px 7px;border-radius:8px;line-height:1}.edit-pencil:hover{background:#e2e8f0;color:var(--ink)}
.ok-body{font-size:.85rem;color:#334155;line-height:1.55}
.ok-name{font-weight:800;font-size:.95rem;color:var(--ink);letter-spacing:.3px;margin-bottom:2px}
.ok-h{font-weight:800;color:var(--ink)}
.pay-options{display:flex;flex-direction:column;gap:8px}
.pay-option{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer;background:#fff}
.pay-option:hover{border-color:var(--teal)}.pay-option.on{border-color:var(--teal);box-shadow:0 0 0 2px rgba(13,148,136,.12)}
.pay-option input{accent-color:var(--teal);width:17px;height:17px;flex:none;margin:0}
.pay-ic{font-size:1.15rem;flex:none}
.pay-tx{min-width:0}.pay-tx b{display:block;font-size:.88rem}.pay-tx small{display:block;color:var(--muted);font-weight:600;margin-top:1px}.pay-tx small.green{color:#15803d}
.phone-row{display:flex;gap:8px}.phone-row .ddi{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#f1f5f9;font-weight:800;color:var(--ink)}.phone-row input{flex:1;min-width:0}
.login-box{border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;padding:13px;margin:8px 0 12px}.login-box .login-msg{font-size:.86rem;color:#1e3a8a;margin-bottom:9px}
.social-login{margin:2px 0 14px}.social-login #googleBtn{display:flex;justify-content:center;min-height:42px}.social-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.78rem;margin:13px 0 2px}.social-or:before,.social-or:after{content:'';flex:1;height:1px;background:var(--line)}
.vfield{position:relative;display:block}.vfield>input{width:100%;padding-right:36px}.vfield .vok{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#22c55e;font-weight:900;font-size:1.05rem;opacity:0;transition:opacity .15s;pointer-events:none}.vfield.ok .vok{opacity:1}.vfield.ok>input{border-color:#86efac;background:#f0fdf4}
.pw-wrap{position:relative;display:flex}.pw-wrap input{flex:1;width:100%;padding-right:46px}.pw-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);border:none;background:none;cursor:pointer;font-size:1.15rem;line-height:1;padding:5px 8px;border-radius:8px}.pw-toggle:hover{background:#dbeafe}
.link-btn{background:none;border:none;color:var(--teal);font-weight:700;cursor:pointer;font-size:.82rem;padding:6px 0;text-align:left;text-decoration:underline}
.step-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.ok-check{color:#22c55e;font-weight:900}
.checkout3{display:grid;grid-template-columns:1fr 1fr 360px;gap:18px;align-items:start;margin:22px 0}
.co-col{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.co-resumo{position:sticky;top:96px}
.pay-locked{opacity:.65}.pay-locked .cstep-h{color:var(--muted)}.pay-locked .cstep-n{background:var(--line)!important}
.ci2{display:grid;grid-template-columns:48px minmax(0,1fr) 24px;gap:9px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line)}.ci2:last-of-type{border-bottom:0}
.ci2 img{width:48px;height:48px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:3px;background:#fff}
.ci2-mid a{font-weight:700;font-size:.83rem;line-height:1.25;display:block;color:var(--ink);text-decoration:none}
.ci2-sub{font-size:.7rem;color:var(--muted);margin:2px 0 6px}
.ci2-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.ci2-row .qstep.cq{flex:0 0 auto}.ci2-row .qstep.cq .cart-qtd{width:40px}.ci2-price{font-weight:800;font-size:.9rem;text-align:right}.ci2-qtdoff{display:block;font-size:.66rem;color:#15803d;font-weight:700}
.qtdtab{margin:12px 0 4px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:10px;padding:8px;max-width:420px}
.qtdtab-h{font-weight:800;font-size:.86rem;color:#166534;margin:0 2px 6px}.qtdtab-h small{font-weight:600;color:#4d7c0f;font-size:.72rem;margin-left:4px}
.qtdtab-r{display:grid;grid-template-columns:1fr auto 52px;align-items:center;gap:8px;width:100%;background:#fff;border:1px solid #dcfce7;border-radius:8px;padding:7px 10px;margin-top:4px;font:inherit;font-size:.86rem;color:var(--ink);cursor:pointer;text-align:left}
.qtdtab-r b{font-size:.95rem}.qtdtab-r b small{font-weight:600;color:var(--muted);font-size:.7rem}
.qtdtab-r em{font-style:normal;font-weight:800;font-size:.74rem;color:#fff;background:#16a34a;border-radius:999px;padding:2px 6px;text-align:center}.qtdtab-r em.z{background:none}
.qtdtab-r.on{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a33;background:#f7fef9}
.qtdtab-t{font-size:.8rem;color:#334155;margin:6px 2px 0}.qtdtab-t .eco{color:#15803d;font-weight:800}.qtdtab-t .nx{color:#166534;margin-top:2px}.qtdtab-t:empty{display:none}
.card-qtd{font-size:.72rem;color:#15803d;font-weight:700;margin-top:2px;line-height:1.25}.card-qtd+.card-qtd{margin-top:0}
@media(max-width:1000px){.checkout3{grid-template-columns:1fr}.co-resumo{position:static;order:-1}}
.mini-btn{border:1px solid var(--teal);background:#fff;color:var(--teal);border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer;width:100%}.mini-btn:hover{background:#f0fdfa}.ship-options{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}.ship-option{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 11px;margin-bottom:6px;display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer;text-align:left}.ship-option:hover,.ship-option.on{border-color:var(--teal);box-shadow:0 0 0 2px rgba(13,148,136,.12)}.ship-option b{display:block;font-size:.86rem}.ship-option small{color:var(--muted);font-weight:600}.ship-option strong{white-space:nowrap}.delivery-box{border:1px solid var(--line);border-radius:12px;padding:11px;margin:10px 0;background:#f8fafc}.delivery-box h3{margin:0 0 6px;font-size:.88rem}.delivery-row{display:grid;grid-template-columns:1fr auto;gap:8px}.delivery-row #prodCidade{grid-column:1 / -1}.delivery-row input{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}.delivery-row button{border:none;background:var(--teal);color:#fff;border-radius:10px;padding:0 13px;font-weight:800;cursor:pointer}.delivery-result{font-size:.84rem;margin-top:8px}.delivery-result .ship-option{background:#fff}.delivery-result .fg-yes{background:#dcfce7;color:#15803d;border-radius:8px;padding:6px 10px;font-weight:800;margin-bottom:6px;font-size:.82rem}.delivery-result .fg-info{background:#eff6ff;color:#1d4ed8;border-radius:8px;padding:6px 10px;margin-bottom:6px;font-size:.82rem}.cep-help{display:inline-block;margin-top:7px;font-size:.78rem;color:var(--teal);font-weight:600}.geo-note{font-size:.74rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:5px 8px;margin-top:7px;line-height:1.4}
.entrega-modo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 14px}
.emode{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;cursor:pointer;text-align:left}
.emode:hover{border-color:var(--teal)}.emode.on{border-color:var(--teal);box-shadow:0 0 0 2px rgba(13,148,136,.12);background:#f0fdfa}
.emode-ic{font-size:1.3rem;flex:none}.emode-tx{min-width:0}.emode-tx b{display:block;font-size:.86rem}.emode-tx small{display:block;color:var(--muted);font-weight:600;margin-top:1px;font-size:.74rem}
.retirada-info{border:1px solid #bfe3da;background:#f0fdfa;border-radius:12px;padding:14px;margin:4px 0 14px}
.retirada-info .ri-h{font-weight:800;font-size:.9rem;color:#0f766e;margin-bottom:6px;display:flex;align-items:center;gap:7px}
.retirada-info .ri-end{font-weight:700;color:var(--ink);font-size:.9rem}
.retirada-info .ri-sub{color:#475569;font-size:.82rem;margin-top:4px}
.retirada-info .ri-note{color:#64748b;font-size:.78rem;margin-top:9px;border-top:1px dashed #bfe3da;padding-top:9px}
@media(max-width:480px){.entrega-modo{grid-template-columns:1fr}}
.trust{display:flex;flex-direction:column;gap:9px;margin-top:20px;font-size:.84rem;color:#334155}
.trust div{display:flex;gap:9px;align-items:center}
.descr{margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.descr h2{margin-top:0}
.descr img{max-width:100%;height:auto;border-radius:8px}
.relwrap{margin:26px 0}.relwrap h2{margin:0 0 12px}
.relrow{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;scroll-behavior:smooth}
.relrow>*{flex:0 0 220px;max-width:82vw;scroll-snap-align:start}
@media(max-width:560px){.relrow>*{flex-basis:165px}}
/* Home estilo Mercado Livre: as vitrines da home ("Escolhidos para você",
   "Mais vendidos em X") que eram carrossel horizontal com setas ‹ › viram GRADE
   VERTICAL — o cliente rola pra BAIXO (hábito de marketplace) e vê TODOS os produtos,
   em vez de ter que adivinhar que há mais escondido pro lado. Vale no desktop E no
   mobile; só a home (.relwrap-home) — relacionados/compre-junto do produto seguem o
   .relwrap-stack. No desktop a grade espelha o .grid (CSS Grid, colunas iguais) e as
   setas somem; no mobile vira 2 colunas. */
.relwrap-home .relrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));overflow:visible;gap:20px;scroll-snap-type:none;padding-bottom:0}
.relwrap-home .relrow>*{max-width:none;scroll-snap-align:none}
.relwrap-home .cbtn{display:none}
@media(max-width:768px){.relwrap-home .relrow{grid-template-columns:repeat(2,1fr);gap:10px}}
/* Relacionados e Compre junto na PÁGINA DE PRODUTO: grade vertical (rola pra baixo), sem scroll lateral. */
.relwrap-stack .relrow{flex-wrap:wrap;overflow:visible;scroll-snap-type:none;padding-bottom:0}.relwrap-stack .relrow>*{flex:1 1 210px;max-width:250px;scroll-snap-align:none}
@media(max-width:680px){.relwrap-stack .relrow{gap:12px}.relwrap-stack .relrow>*{flex:0 1 calc(50% - 6px);max-width:none}}
/* esconde a barra de rolagem nos carrosséis (usa setas) */
.relrow,.crow,.mlrev-list{scrollbar-width:none;-ms-overflow-style:none}
.relrow::-webkit-scrollbar,.crow::-webkit-scrollbar,.mlrev-list::-webkit-scrollbar{height:0;width:0;display:none}
/* carrossel com setas ‹ › */
.carousel{position:relative}
.cbtn{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.18);cursor:pointer;font-size:1.5rem;line-height:1;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.cbtn:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.cbtn.prev{left:-10px}.cbtn.next{right:-10px}
@media(max-width:760px){.cbtn{display:none}}
.relcard{flex:0 0 210px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;display:flex;flex-direction:column}
.relcard .rimg{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.relcard .rimg img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.relcard .rname{font-size:.82rem;font-weight:500;line-height:1.3;max-height:3.9em;overflow:hidden;margin-bottom:6px;color:#333}
.relcard .rde{font-size:.74rem;color:var(--muted);text-decoration:line-through;font-weight:500}
.relcard .rprice{font-weight:600;font-size:1.32rem;line-height:1.15;margin:2px 0}
.relcard .roff{color:#00a650;font-weight:600;font-size:.78rem;margin-left:6px}
.relcard .rpix{color:#00a650;font-weight:600;font-size:.76rem;margin-top:2px}
.relcard .rparc{color:#00a650;font-size:.76rem;margin-top:2px}
.relcard .rfull{display:inline-block;background:#00a650;color:#fff;font-size:.6rem;font-weight:800;border-radius:3px;padding:1px 5px;margin-top:4px;letter-spacing:.3px}
.relcard .rfrete{color:#00a650;font-weight:700;font-size:.74rem;margin-top:3px}
.relcard .rfrete-info{color:#475569;font-weight:600;font-size:.72rem;margin-top:3px}
.relcard .racts{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;gap:6px}
.relcard .rbuy{border:none;background:#3483fa;color:#fff;border-radius:6px;padding:8px;font-weight:600;cursor:pointer;font-size:.82rem}.relcard .rbuy:hover{background:#2968c8}
.relcard .radd{border:none;background:#eaf1fe;color:#3483fa;border-radius:6px;padding:8px;font-weight:600;cursor:pointer;font-size:.82rem}.relcard .radd:hover{background:#dce8fd}
/* Toast "Adicionado ao carrinho" (adição silenciosa, sem drawer de recomendações) */
.cart-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);background:#1e293b;color:#fff;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:1100;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;max-width:92vw;font-size:.9rem}
.cart-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.cart-toast .tk{width:22px;height:22px;background:#00a650;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;flex:0 0 auto}
.cart-toast .tx{min-width:0}
.cart-toast .tn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48vw;color:#cbd5e1;font-size:.8rem}
.cart-toast a{color:#5eead4;font-weight:800;white-space:nowrap}
@media(max-width:680px){.cart-toast{bottom:74px}} /* acima da barra inferior fixa do mobile */
/* Modal do "Comprar agora": continuar comprando × ir pro checkout */
.bm-ov{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .2s;z-index:1099}
.bm-ov.open{opacity:1;visibility:visible}
.bmodal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);width:440px;max-width:92vw;background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.25);z-index:1100;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s}
.bmodal.open{opacity:1;visibility:visible;transform:translate(-50%,-50%)}
.bm-head{display:flex;gap:12px;align-items:flex-start;padding:18px;border-bottom:1px solid var(--line)}
.bm-head h3{margin:0 0 2px;font-size:1.1rem}
.bm-close{margin-left:auto;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#888;line-height:1}
.bm-body{padding:16px 18px}
.bm-foot{display:flex;flex-direction:column;gap:8px;padding:0 18px 18px}
.bm-go{display:block;border:none;cursor:pointer;text-align:center;background:var(--teal);color:#fff;border-radius:10px;padding:13px;font-weight:800;font-size:.95rem}
.bm-cont{display:block;border:1px solid var(--teal);cursor:pointer;text-align:center;background:#fff;color:var(--teal);border-radius:10px;padding:12px;font-weight:800;font-size:.95rem}
.cd-img{width:62px;height:62px;border-radius:50%;border:2px solid #00a650;display:flex;align-items:center;justify-content:center;position:relative;flex:0 0 auto;overflow:hidden;font-size:1.4rem}
.cd-img img{max-width:84%;max-height:84%;object-fit:contain}
.cd-chk{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;background:#00a650;color:#fff;border-radius:50%;font-size:.66rem;display:flex;align-items:center;justify-content:center}
.cd-frete{font-size:1.02rem;margin-bottom:10px;line-height:1.35}.cd-frete b{color:#00a650}
.cd-frete-now{font-size:.9rem;margin:-4px 0 8px;color:#0f766e;font-weight:700}.cd-frete-now s{color:#94a3b8;font-weight:600;margin-left:4px}
.cd-bar{height:8px;background:#e6e9ef;border-radius:6px;overflow:hidden;margin-bottom:8px}.cd-bar>i{display:block;height:100%;background:#00a650;border-radius:6px;transition:width .3s}.cd-bar.progr>i{background:linear-gradient(90deg,#0d9488,#00a650)}
.frete-de{color:#94a3b8;font-weight:600;margin-right:4px}.frete-baixou{margin-left:3px}
.pager{display:flex;gap:8px;justify-content:center;margin:32px 0;flex-wrap:wrap}
.pager a,.pager span{padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:.85rem;font-weight:600;background:#fff}
.pager a:hover{border-color:var(--teal);color:var(--teal)}
.pager .cur{background:var(--teal);color:#fff;border-color:var(--teal)}
footer{background:var(--ink);color:#94a3b8;margin-top:50px;padding:40px 0;font-size:.86rem}
footer .wrap{display:flex;flex-direction:column;gap:8px}
footer b{color:#fff}
footer a{color:#cbd5e1}footer a:hover{color:#fff}
.empty{padding:64px 0;text-align:center;color:var(--muted);font-size:.95rem}
/* Avaliações estilo Mercado Livre */
.mlrev{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}
.mlrev h2.sec{margin:0 0 14px;font-size:1.25rem}
.mlrev-top{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}
.mlrev-resumo{text-align:center}
.mlrev-media{font-size:3.4rem;font-weight:800;line-height:1;color:var(--ink)}
.mlrev-stars{color:#f59e0b;font-size:1.1rem;letter-spacing:1px;margin:4px 0}
.mlrev-total{color:var(--muted);font-size:.82rem}
.mlrev-bars{display:flex;flex-direction:column;gap:5px}
.mlrev-bar{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}
.mlrev-bar .lbl{width:42px;text-align:right;white-space:nowrap}
.mlrev-bar .track{flex:1;height:9px;background:#eef1f5;border-radius:6px;overflow:hidden}
.mlrev-bar .fill{height:100%;background:#f59e0b;border-radius:6px}
.mlrev-bar .cnt{width:34px;text-align:left}
.mlrev-amostra{font-size:.7rem;color:#94a3b8;margin-top:8px}
.mlrev-list{display:flex;gap:14px;overflow-x:auto;padding:16px 2px 4px;scroll-snap-type:x mandatory}
.mlrev-card{flex:0 0 300px;max-width:300px;border:1px solid var(--line);border-radius:12px;padding:14px;scroll-snap-align:start;background:#fff}
.mlrev-card .hd{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.mlrev-card .av{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#e2e8f0;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;color:#475569;font-size:.9rem}
.mlrev-card .nm{font-weight:600;font-size:.86rem;line-height:1.1}
.mlrev-card .dt{color:var(--muted);font-size:.72rem}
.mlrev-card .st{color:#f59e0b;font-size:.85rem;letter-spacing:1px}
.mlrev-card .tx{font-size:.84rem;color:#334155;margin-top:6px;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.mlrev-card .resp{margin-top:8px;padding:8px 10px;background:#f8fafc;border-radius:8px;font-size:.78rem;color:#475569}
.mlrev-card .gg{margin-top:8px;font-size:.7rem;color:#94a3b8}
.mlrev-foot{margin-top:10px}
.mlrev-foot a{color:var(--teal);font-weight:600;font-size:.85rem}
.gselo{display:flex;justify-content:center;padding:14px 18px;background:var(--ink)}
.gselo a{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 16px;box-shadow:0 2px 10px rgba(0,0,0,.18);color:var(--ink);font-size:.84rem}
.gselo .g{font-weight:700}.gselo .s{color:#f59e0b;letter-spacing:1px}.gselo b{color:var(--ink)}
@media(max-width:560px){.mlrev-top{grid-template-columns:1fr;gap:14px}.mlrev{padding:16px 14px}.mlrev-card{flex-basis:80vw;max-width:80vw}}
@media(max-width:560px){.hero{padding:34px 24px}.hero h1{font-size:1.6rem}.logo{font-size:1.1rem}}
/* ── Seções (editor de tema) ──────────────────────────────────────────────── */
/* O respiro e a largura são escolhas fechadas do schema — não há CSS livre. */
.secao{display:block}
.secao.esp-0{margin:0}
.secao.esp-1{margin:10px 0}
.secao.esp-2{margin:26px 0}
.secao.esp-3{margin:48px 0}
.secao.sem-respiro{margin-top:0}
.secao:first-child{margin-top:0}
.wrap-estreita{max-width:760px}
.secao .sec{margin:0 0 12px}
.secao-espaco{margin:0}
.blk-hr{border:none;border-top:1px solid var(--line);margin:0}
.blk-text{line-height:1.65}
.blk-text p{margin:0 0 10px}
.blk-text a{color:var(--teal);font-weight:600}
.blk-video{position:relative;padding-top:56.25%;border-radius:var(--radius);overflow:hidden}
.blk-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.blk-busca{max-width:680px;margin:0 auto}
.hero-cta{margin-top:14px;display:inline-block;background:#fff;color:var(--teal)}
.hero-img-full{position:relative;line-height:0}
.hero-img-full .hero-cap{position:absolute;inset:0;display:flex;flex-direction:column;line-height:1.4;color:#fff;padding:30px 22px}
.rod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:14px}
.rod-col b{display:block;margin-bottom:6px}
.rod-col ul{list-style:none;margin:0;padding:0}
.rod-col li{margin:3px 0}
.rod-sobre{line-height:1.6}
.rod-pag{margin-top:6px}
.rod-legal{color:#64748b;margin-top:8px}
.top-fixo{position:sticky;top:0;z-index:40}
@media(max-width:860px){.cart-page{grid-template-columns:1fr}.cart-item{grid-template-columns:64px minmax(0,1fr);}.cart-item .price-cell,.cart-item .sub-cell,.cart-item .remove{grid-column:auto}.checkout-box{position:static!important}.twocol{grid-template-columns:1fr}.delivery-row{grid-template-columns:1fr}.delivery-row button{padding:11px 13px}}
#rdcSP{position:fixed;left:14px;bottom:16px;z-index:9000;max-width:300px;background:#fff;border:1px solid #e6e9ef;border-radius:12px;box-shadow:0 8px 28px rgba(15,23,42,.16);padding:10px 30px 10px 12px;display:flex;gap:10px;align-items:center;font-size:.82rem;line-height:1.3;transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.8,.2,1);opacity:0}
#rdcSP.show{transform:translateY(0);opacity:1}
#rdcSP .sp-ic{width:34px;height:34px;border-radius:50%;background:#dcfce7;color:#15803d;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex:0 0 auto}
#rdcSP .sp-when{color:#94a3b8;font-size:.7rem;margin-top:2px}
#rdcSP .sp-x{position:absolute;top:6px;right:8px;border:none;background:none;color:#cbd5e1;font-size:1rem;cursor:pointer;line-height:1}
/* No mobile a prova social fica no TOPO, AO LADO da logo (canto direito, onde ficava o
   carrinho) — acima do campo de busca, pra NÃO cobrir a pesquisa, os botões de compra
   nem a barra inferior. Compacta e com no máx. 2 linhas. Entra deslizando de cima. */
@media(max-width:768px){#rdcSP{top:8px;bottom:auto;left:auto;right:8px;max-width:min(270px,calc(100vw - 150px));font-size:.74rem;padding:8px 24px 8px 9px;gap:8px;transform:translateY(-180%)}#rdcSP .sp-ic{width:28px;height:28px;font-size:.95rem}#rdcSP .sp-body{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#rdcSP .sp-x{top:3px;right:6px}}
/* No celular o popup entra DENTRO do cabeçalho, no espaço em branco ao lado da logo
   (acompanha a barra fixa). Ocupa toda a largura do slot e some/aparece com fade. */
#rdcSP.in-slot{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;max-width:100%;max-height:44px;overflow:hidden;margin:0;transform:none;opacity:0;transition:opacity .35s ease;padding:6px 22px 6px 8px;gap:6px;font-size:.7rem;box-shadow:0 3px 12px rgba(15,23,42,.14)}
#rdcSP.in-slot.show{opacity:1;transform:none}
#rdcSP.in-slot .sp-ic{width:24px;height:24px;font-size:.85rem;flex:0 0 auto}
#rdcSP.in-slot .sp-x{top:1px;right:5px}
