/* Loja de brindes white label (24/09/2026) — sem nada de AutoZap: a cor vem da empresa (--cor). */
:root { --cor:#660099; --bg:#f6f6f8; --card:#fff; --tx:#1d1d24; --tx2:#5b5b68; --tx3:#8a8a96; --bd:#e4e4ea; --ok:#0b7a3f; --r:14px; }
/* Sempre claro (29/09/2026, pedido do Ramon: "o escuro está muito pesado, sem leveza"). Loja de brindes
   vende pela foto do produto, e o fundo claro é o que deixa a vitrine leve. Não religar o modo escuro. */
:root { color-scheme: light; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; font-family:"Plus Jakarta Sans","Jakarta Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; background:var(--bg); color:var(--tx); -webkit-font-smoothing:antialiased; }
a { color:var(--cor); }
button, input, select, textarea { font:inherit; color:inherit; }
.bt { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--bd); background:var(--card); border-radius:999px; padding:9px 15px; font-weight:600; font-size:14px; cursor:pointer; text-decoration:none; color:var(--tx); white-space:nowrap; }
.bt:hover { border-color:var(--cor); }
.bt.primario { background:var(--cor); border-color:var(--cor); color:#fff; }
.bt.primario:hover { filter:brightness(1.08); }
.bt.cheio { width:100%; padding:12px; margin-top:6px; }
.bt:disabled { opacity:.55; cursor:not-allowed; }
.bt em { font-style:normal; background:#fff; color:var(--cor); border-radius:999px; min-width:20px; height:20px; padding:0 6px; display:inline-grid; place-items:center; font-size:12px; }
.bt-ic { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:#25d366; color:#fff; font-size:20px; text-decoration:none; flex:none; }

.topo { background:var(--card); border-bottom:1px solid var(--bd); position:sticky; top:0; z-index:50; }
.topo-in { max-width:1200px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; gap:12px; }
.marca { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--tx); min-width:0; flex:1; }
.logo { width:44px; height:44px; border-radius:12px; background:var(--cor) center/cover no-repeat; flex:none; display:grid; place-items:center; color:#fff; font-weight:800; font-size:18px; }
.marca .nm { min-width:0; display:flex; flex-direction:column; }
.marca b { font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.marca small { font-size:12.5px; color:var(--tx2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.topo-acoes { display:flex; align-items:center; gap:8px; flex:none; }

.corpo { max-width:1200px; margin:0 auto; padding:16px; }
.faixa-login, .faixa-ok { display:flex; align-items:center; gap:14px; background:var(--card); border:1px solid var(--cor); border-radius:var(--r); padding:14px 16px; margin-bottom:14px; flex-wrap:wrap; }
.faixa-login > i { font-size:22px; color:var(--cor); flex:none; }
.faixa-login > div { flex:1; min-width:200px; display:flex; flex-direction:column; gap:2px; }
.faixa-login span { font-size:13.5px; color:var(--tx2); }
.faixa-ok { border-color:var(--ok); font-size:14px; line-height:1.5; }
.faixa-ok i { color:var(--ok); font-size:20px; flex:none; }

.busca { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.campo-busca { flex:1 1 280px; display:flex; align-items:center; gap:8px; background:var(--card); border:1px solid var(--bd); border-radius:999px; padding:0 14px; min-width:0; }
.campo-busca i { color:var(--tx3); flex:none; }
.campo-busca input { border:0; outline:0; background:transparent; padding:11px 0; flex:1; min-width:0; font-size:15px; }
.busca select { background:var(--card); border:1px solid var(--bd); border-radius:999px; padding:10px 14px; font-size:14px; flex:1 1 170px; min-width:0; max-width:260px; }
.total { font-size:13px; color:var(--tx3); margin:4px 2px 10px; }

.grade { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; }
.card { background:var(--card); border:1px solid var(--bd); border-radius:var(--r); overflow:hidden; cursor:pointer; display:flex; flex-direction:column; min-width:0; transition:transform .12s, box-shadow .12s; text-align:left; padding:0; }
.card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.08); }
.card .ft { aspect-ratio:1; background:#fff center/contain no-repeat; border-bottom:1px solid var(--bd); }
.card .if { padding:10px 12px 12px; display:flex; flex-direction:column; gap:4px; flex:1; }
.card .nm { font-size:13.5px; font-weight:600; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card .cr { font-size:12px; color:var(--tx3); }
.card .pr { margin-top:auto; padding-top:6px; }
.card .pr small { display:block; font-size:11.5px; color:var(--tx3); }
.card .pr b { font-size:17px; color:var(--cor); }
.card .pr .ver { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--cor); }
.mais { text-align:center; margin:18px 0 8px; }
.vazio { grid-column:1 / -1; text-align:center; color:var(--tx2); padding:40px 10px; }
.esq { grid-column:1 / -1; height:120px; }
.rodape { max-width:1200px; margin:10px auto 30px; padding:0 16px; font-size:12.5px; color:var(--tx3); text-align:center; line-height:1.6; }

/* modais: fecham por X, Cancelar ou Esc */
.m-fundo { position:fixed; inset:0; background:rgba(10,10,20,.55); display:none; align-items:center; justify-content:center; padding:16px; z-index:9999; }
.m-fundo.on { display:flex; }
.m-caixa { background:var(--card); border-radius:18px; width:min(480px,100%); max-height:calc(100vh - 32px); display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,.3); }
.m-caixa.larga { width:min(920px,100%); }
.m-topo { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border-bottom:1px solid var(--bd); }
.m-topo h3 { margin:0; font-size:17px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.m-x { width:34px; height:34px; border-radius:10px; border:1px solid var(--bd); background:transparent; display:grid; place-items:center; cursor:pointer; flex:none; }
.m-corpo { padding:16px; overflow:auto; }
.m-rodape { padding:12px 16px; border-top:1px solid var(--bd); display:flex; justify-content:flex-end; gap:8px; }
.m-corpo label { display:flex; flex-direction:column; gap:5px; font-size:13px; color:var(--tx2); margin-bottom:10px; min-width:0; }
.m-corpo input, .m-corpo select, .m-corpo textarea { border:1px solid var(--bd); border-radius:10px; padding:10px 12px; background:var(--bg); font-size:15px; width:100%; min-width:0; }
.m-corpo textarea { min-height:70px; resize:vertical; }
.dica { font-size:12px; color:var(--tx3); line-height:1.45; margin:0 0 6px; }
.abas { display:flex; gap:6px; margin-bottom:14px; background:var(--bg); padding:4px; border-radius:999px; }
.abas button { flex:1; border:0; background:transparent; border-radius:999px; padding:8px; font-weight:600; cursor:pointer; color:var(--tx2); }
.abas button.on { background:var(--card); color:var(--tx); box-shadow:0 1px 3px rgba(0,0,0,.1); }
.linha2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.linha3 { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; }

/* produto */
.pd { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pd .fotos .gr { aspect-ratio:1; background:#fff center/contain no-repeat; border:1px solid var(--bd); border-radius:var(--r); }
.pd .mini { display:flex; gap:6px; margin-top:8px; flex-wrap:wrap; }
.pd .mini button { width:54px; height:54px; border:1px solid var(--bd); border-radius:8px; background:#fff center/contain no-repeat; cursor:pointer; padding:0; }
.pd .mini button.on { border-color:var(--cor); border-width:2px; }
.pd h4 { margin:0 0 8px; font-size:18px; line-height:1.3; }
.preco-g { font-size:24px; font-weight:800; color:var(--cor); margin:6px 0 2px; }
.preco-g small { font-size:13px; font-weight:500; color:var(--tx3); }
.faixas { width:100%; border-collapse:collapse; font-size:13px; margin:10px 0; }
.faixas th, .faixas td { padding:6px 8px; border-bottom:1px solid var(--bd); text-align:left; }
.faixas td.v { text-align:right; font-weight:700; }
.cores { display:flex; gap:6px; flex-wrap:wrap; margin:6px 0 10px; }
.cores button { border:1px solid var(--bd); background:var(--card); border-radius:999px; padding:6px 11px; font-size:12.5px; cursor:pointer; }
.cores button.on { border-color:var(--cor); background:var(--cor); color:#fff; }
.cores button:disabled { opacity:.45; text-decoration:line-through; cursor:not-allowed; }
.qtd { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.qtd label { flex:1 1 140px; margin:0; }
.m-corpo label.chk, .chk { display:flex; flex-direction:row; gap:10px; align-items:flex-start; font-size:14px; margin:12px 0 6px; color:var(--tx); }
.chk input { width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--cor); }
.desc { font-size:13.5px; color:var(--tx2); line-height:1.55; margin-top:14px; overflow-wrap:anywhere; }
.desc img { max-width:100%; height:auto; }
.trava { background:var(--bg); border:1px dashed var(--cor); border-radius:12px; padding:14px; text-align:center; margin:12px 0; font-size:14px; }
.trava .bt { margin-top:8px; }

/* carrinho */
.it { display:flex; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--bd); }
.it .ft { width:58px; height:58px; border-radius:10px; background:#fff center/contain no-repeat; border:1px solid var(--bd); flex:none; }
.it .t { flex:1; min-width:0; font-size:13.5px; }
.it .t b { display:block; overflow-wrap:anywhere; }
.it .t span { color:var(--tx3); font-size:12.5px; }
.it input { width:90px; border:1px solid var(--bd); border-radius:8px; padding:6px 8px; background:var(--bg); }
.it .rm { border:0; background:transparent; color:var(--tx3); cursor:pointer; width:32px; height:32px; flex:none; }
.soma { display:flex; justify-content:space-between; font-size:14px; padding:6px 0; }
.soma.g { font-size:17px; font-weight:800; border-top:1px solid var(--bd); margin-top:6px; padding-top:10px; }
.sec { font-size:14px; font-weight:700; margin:18px 0 10px; display:flex; align-items:center; gap:8px; }
.fretes label { flex-direction:row; align-items:center; gap:10px; border:1px solid var(--bd); border-radius:10px; padding:10px 12px; color:var(--tx); cursor:pointer; }
.fretes label input { width:18px; height:18px; flex:none; accent-color:var(--cor); }
.fretes label span { flex:1; }
.pedido { border:1px solid var(--bd); border-radius:12px; padding:12px; margin-bottom:10px; font-size:13.5px; }
.pedido .cab { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
.st { font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px; background:var(--bg); }

.aviso-toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px); background:#1d1d24; color:#fff; padding:11px 16px; border-radius:12px; font-size:14px; opacity:0; pointer-events:none; transition:.2s; z-index:10000; max-width:calc(100% - 32px); }
.aviso-toast.on { opacity:1; transform:translateX(-50%); }
.aviso-toast.erro { background:#b42318; }

@media (max-width:720px) {
    .topo-acoes .bt span { display:none; }
    .topo-acoes .bt { padding:9px 11px; }
    .grade { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .pd { grid-template-columns:1fr; }
    .linha3 { grid-template-columns:1fr 1fr; }
    .linha3 label:first-child { grid-column:1 / -1; }
    .m-fundo { padding:0; align-items:flex-end; }
    .m-caixa, .m-caixa.larga { width:100%; max-height:92vh; border-radius:18px 18px 0 0; }
    .busca select { max-width:none; }
}

/* Conferência do carrinho (29/09/2026): campo com problema e a mensagem embaixo dele. */
.m-corpo input.erro, .m-corpo select.erro { border-color:#e5484d; box-shadow:0 0 0 3px rgba(229,72,77,.15); }
.m-corpo .msg-erro { color:#e5484d; font-size:12px; line-height:1.35; }

/* Logo anexada no produto (29/09/2026). */
.logo-up { display:flex; flex-direction:column; gap:8px; margin:-2px 0 12px 28px; }
.logo-up[hidden] { display:none; }
.logo-bt { display:inline-flex !important; flex-direction:row !important; align-items:center; gap:8px; align-self:flex-start; margin:0 !important; padding:9px 14px; border:1px dashed var(--cor); border-radius:10px; color:var(--cor) !important; font-weight:600; font-size:14px; cursor:pointer; }
.logo-lista { display:flex; flex-direction:column; gap:6px; }
.logo-it { display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--bd); border-radius:10px; font-size:13px; min-width:0; }
.logo-it > i { color:#16a34a; flex:none; }
.logo-it span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.logo-it small { color:var(--tx3); flex:none; }
.logo-it button { border:0; background:transparent; color:var(--tx3); cursor:pointer; width:26px; height:26px; border-radius:6px; flex:none; }

/* Filtros de cor, quantidade e faixa de preço (29/09/2026). */
.campo-qtd { position:relative; flex:1 1 170px; min-width:0; max-width:220px; }
.campo-qtd i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--tx3); font-size:14px; pointer-events:none; }
.campo-qtd input { width:100%; background:var(--card); border:1px solid var(--bd); border-radius:999px; padding:10px 14px 10px 38px; font-size:14px; color:var(--tx); }
.busca #cor, .busca #faixa { flex:1 1 170px; }
.dica-filtro { font-size:12.5px; color:var(--tx2); background:var(--card); border:1px dashed var(--bd); border-radius:10px; padding:8px 12px; margin:-2px 0 10px; }
.card .pr small + b + small { margin-top:2px; }
/* Contraste (29/09/2026): a cor da loja escura sobre o fundo escuro some. Texto usa um tom mais claro dela. */
:root { --cor-tx: var(--cor); }
a:not(.bt):not([class*="bt-"]):not(#marca), .card .pr b, .card .pr .ver, .preco-g, .logo-bt, .faixa-login > i { color:var(--cor-tx) !important; }
.logo-bt { border-color:var(--cor-tx); }
@media (max-width: 600px) { .campo-qtd, .busca #cor, .busca #faixa { max-width:none; flex-basis:calc(50% - 4px); } }

/* Logos do PAC e do SEDEX nas opções de entrega (29/09/2026). */
.fretes label img.fr-logo { height:22px; width:auto; flex:none; border-radius:3px; }
.fretes label > span { display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
.fretes label > span small { font-size:12.5px; color:var(--tx2); }
.fretes label > span .fr-nome { font-size:13px; }

/* Seletor de quantidade − / + (29/09/2026): anda no incremento do produto. */
.stp { display:inline-flex; align-items:stretch; border:1px solid var(--bd); border-radius:10px; overflow:hidden; background:var(--bg); flex:none; }
.stp input { width:76px !important; border:0 !important; border-radius:0 !important; text-align:center; font-weight:700; font-size:15px; padding:8px 4px !important; background:transparent !important; -moz-appearance:textfield; }
.stp input::-webkit-outer-spin-button, .stp input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.stp-b { width:40px; border:0; background:var(--card); color:var(--cor); cursor:pointer; font-size:14px; display:grid; place-items:center; }
.stp-b:active { background:var(--bd); }
.qtd .stp { width:100%; } .qtd .stp input { flex:1; width:auto !important; }
@media (max-width: 600px) { .it .stp-b { width:32px; } .it .stp input { width:52px !important; font-size:14px; } .it { gap:8px; } .it .ft { width:48px; height:48px; } }

/* Card com o pedido mínimo no lugar do preço (29/09/2026). */
.card .pr .min { display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--tx2); }
.card .pr .min i { color:var(--tx3); font-size:11px; }
.card .pr .min b { font-size:13px; color:var(--tx); }
.card .pr .ver { margin-top:4px; }

/* Bolinhas de cor no card (29/09/2026). */
.card .cr { display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin-top:4px; }
.card .cr .bol { width:16px; height:16px; border-radius:50%; border:1px solid rgba(0,0,0,.18); box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); cursor:pointer; flex:none; transition:transform .12s; }
.card .cr .bol:hover, .card .cr .bol.on { transform:scale(1.25); outline:2px solid var(--cor); outline-offset:1px; }
.card .cr small { font-size:11px; color:var(--tx3); }
.card .ft { transition:background-image .2s; }

.card .pr b small.un { display:inline; font-size:12px; font-weight:600; color:var(--tx3); margin-left:2px; }

/* Garantias, selos, estrelas reais, estoque e avaliação (29/09/2026). */
.garantias { display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:center; font-size:12.5px; color:var(--tx2); margin:0 0 14px; }
.garantias span { display:inline-flex; align-items:center; gap:7px; }
.garantias i { color:var(--cor); }
.card .ft { position:relative; }
.card .selos { position:absolute; top:8px; left:8px; display:flex; flex-direction:column; gap:4px; align-items:flex-start; }
.selo { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; padding:3px 8px; border-radius:999px; background:#fff; border:1px solid var(--bd); color:var(--tx); box-shadow:0 1px 3px rgba(0,0,0,.08); }
.selo.mais i { color:#e8590c; } .selo.novo i { color:var(--cor); }
.estr { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--tx2); margin-top:4px; text-decoration:none; }
.estr .st, h5 .st, .av-it .st { color:#f5a623; font-size:12px; letter-spacing:1px; }
.card .estq, .pd-info span { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--tx2); margin-top:3px; }
.card .estq i, .pd-info i { color:var(--tx3); font-size:11px; }
.pd-selos { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:-2px 0 6px; }
.pd-info { display:flex; flex-direction:column; gap:4px; margin:0 0 10px; }
.pd-aval { border-top:1px solid var(--bd); margin-top:14px; padding-top:12px; }
.pd-aval h5 { margin:0 0 8px; font-size:14px; display:flex; align-items:center; gap:8px; }
.av-it { padding:8px 0; border-bottom:1px dashed var(--bd); font-size:13px; }
.av-it p { margin:4px 0 0; color:var(--tx2); }
.av-prod { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--bd); }
.av-prod .ft { width:56px; height:56px; border-radius:10px; background:#fff center/contain no-repeat; border:1px solid var(--bd); flex:none; }
.av-prod .t { flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.av-prod .t small { color:var(--tx3); }
.av-est { display:flex; gap:4px; }
.av-est button { border:0; background:transparent; font-size:26px; color:#f5a623; cursor:pointer; padding:0 2px; }

/* Aviso de foto de outra cor (29/09/2026). */
.pd .fotos .gr { position:relative; }
.pd-aviso { position:absolute; left:8px; right:8px; bottom:8px; display:flex; align-items:center; gap:7px; background:rgba(20,20,28,.78); color:#fff; font-size:12.5px; line-height:1.35; padding:7px 10px; border-radius:10px; }
.pd-aviso[hidden] { display:none; }
.pd-aviso b { text-transform:capitalize; }
/* Compartilhar o produto (29/09/2026) */
#m-produto .m-topo h3 { flex:1; }
.m-comp { display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 12px; border-radius:10px; border:1px solid var(--bd); background:transparent; color:inherit; font:inherit; font-size:13px; font-weight:600; cursor:pointer; flex:none; }
.m-comp:hover { border-color:var(--cor); color:var(--cor); }
@media (max-width: 560px) { .m-comp span { display:none; } .m-comp { width:34px; padding:0; justify-content:center; } }
/* Formas de pagamento (29/09/2026) */
.pagtos { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; margin:10px 0 12px; }
.pagtos .pg-mp { height:27px; width:auto; flex:none; }
.pg-lista { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pg-b { display:inline-flex; align-items:center; justify-content:center; gap:5px; height:26px; min-width:40px; padding:0 7px; background:#fff; border:1px solid #e3e3ea; border-radius:6px; box-sizing:border-box; }
.pg-b img { max-height:15px; max-width:44px; width:auto; height:auto; display:block; }
.pg-bol { font-size:11px; font-weight:700; color:#333; }
.pg-bol i { font-size:13px; }
#rodape .pagtos { justify-content:center; margin:12px 0 0; }
.pg-b img[alt="American Express"] { max-height:22px; }
/* Estoque: esgotado / poucas / em estoque (29/09/2026) */
.card .estq.ok { color:#15803d; } .card .estq.ok i { color:#16a34a; }
.card .estq.pouco { color:#b45309; } .card .estq.pouco i { color:#d97706; }
.card .estq.esg { color:#b91c1c; } .card .estq.esg i { color:#dc2626; }
.card.esgotado .ft::before { content:""; position:absolute; inset:0; background:rgba(255,255,255,.4); backdrop-filter:grayscale(1); -webkit-backdrop-filter:grayscale(1); }
.tag-esg { z-index:1; }
.card .ft { position:relative; }
.tag-esg { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#1d1d24; color:#fff; font-size:12px; font-weight:800; box-shadow:0 4px 12px rgba(0,0,0,.25); letter-spacing:.08em; text-transform:uppercase; padding:6px 12px; border-radius:8px; }
.pd-estq { border-radius:10px; padding:9px 12px; margin:10px 0 4px; font-size:13px; display:flex; flex-direction:column; gap:6px; }
.pd-estq b { display:flex; align-items:center; gap:7px; }
.pd-estq.ok { background:#ecfdf3; color:#166534; }
.pd-estq.pouco { background:#fff7ed; color:#9a3412; }
.pd-estq.esg { background:#fef2f2; color:#991b1b; }
.pd-estq small { color:inherit; opacity:.85; }
.estq-sug { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.estq-sug .bt { padding:5px 10px; font-size:12px; min-height:0; }
.cores button:disabled { position:relative; }
/* Ir ao topo (29/09/2026) */
.bt-topo { position:fixed; left:16px; bottom:calc(20px + env(safe-area-inset-bottom)); width:46px; height:46px; border-radius:50%; border:none; background:var(--cor); color:#fff; font-size:17px; display:grid; place-items:center; cursor:pointer; box-shadow:0 6px 18px rgba(20,10,40,.28); opacity:0; transform:translateY(12px); pointer-events:none; transition:opacity .2s, transform .2s; z-index:900; }
.bt-topo.on { opacity:1; transform:none; pointer-events:auto; }
.bt-topo:hover { filter:brightness(1.08); }
/* Senha com olho (29/09/2026) */
.senha-w { position:relative; display:block; }
.senha-w input { width:100%; padding-right:46px !important; box-sizing:border-box; }
.senha-olho { position:absolute; right:4px; top:50%; transform:translateY(-50%); width:38px; height:38px; border:none; background:transparent; color:var(--tx2); font-size:16px; cursor:pointer; display:grid; place-items:center; border-radius:8px; }
.senha-olho:hover { color:var(--cor); }
/* Hero de campanhas (29/09/2026) */
.hero { position:relative; border-radius:20px; overflow:hidden; margin:4px 0 10px; aspect-ratio:1600/600; background:#f1eef6; box-shadow:0 10px 30px rgba(40,20,70,.12); isolation:isolate; }
.hero-trilho, .hero-sl { position:absolute; inset:0; }
.hero-sl { opacity:0; visibility:hidden; transition:opacity .8s ease, visibility 0s linear .8s; }
.hero-sl.on { opacity:1; visibility:visible; transition:opacity .8s ease; z-index:1; }
.hero-sl img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.045); transition:transform 7.5s ease-out; }
.hero-sl.on img { transform:scale(1); }
.hero-link { position:absolute; inset:0; z-index:1; }
.hero-hs { position:absolute; z-index:2; border:0; background:transparent; border-radius:22px; cursor:pointer; padding:0; transition:box-shadow .25s, transform .25s; }
.hero-hs span { position:absolute; left:50%; bottom:10px; transform:translate(-50%, 6px); opacity:0; background:rgba(17,24,39,.9); color:#fff; font-size:12px; font-weight:700; padding:6px 11px; border-radius:999px; white-space:nowrap; display:inline-flex; align-items:center; gap:6px; transition:.25s; }
.hero-hs:hover, .hero-hs:focus-visible { box-shadow:0 0 0 3px #fff, 0 0 0 6px rgba(255,255,255,.35); transform:translateY(-3px); outline:none; }
.hero-hs:hover span, .hero-hs:focus-visible span { opacity:1; transform:translate(-50%, 0); }
.hs-m { display:none; }
.hero-seta { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:40px; height:40px; border-radius:50%; border:0; background:rgba(255,255,255,.85); color:#1d1d24; display:grid; place-items:center; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.18); opacity:0; transition:opacity .2s; }
.hero:hover .hero-seta, .hero-seta:focus-visible { opacity:1; }
.hero-seta.ant { left:12px; } .hero-seta.prox { right:12px; }
.hero-pontos { position:absolute; z-index:3; left:50%; bottom:12px; transform:translateX(-50%); display:flex; gap:7px; }
.hero-pontos button { width:30px; height:6px; border-radius:6px; border:0; padding:0; background:rgba(255,255,255,.45); cursor:pointer; overflow:hidden; position:relative; }
.hero-pontos button i { position:absolute; inset:0; width:0; background:#fff; border-radius:6px; }
.hero-pontos button.on i { animation:heroBarra 6.5s linear forwards; }
.hero.parado .hero-pontos button.on i { animation:none; width:100%; }
@keyframes heroBarra { to { width:100%; } }
.hero-prazo { display:flex; align-items:center; gap:8px; justify-content:center; flex-wrap:wrap; font-size:13px; color:var(--tx2); margin:0 0 14px; text-align:center; }
.hero-prazo i { color:var(--cor); }
.chip-camp { display:inline-flex; align-items:center; gap:7px; background:color-mix(in srgb, var(--c) 18%, #fff); color:#1d1d24; border:1px solid color-mix(in srgb, var(--c) 45%, #fff); border-radius:999px; padding:4px 6px 4px 12px; font-weight:700; font-size:13px; margin-right:8px; }
.chip-camp i { color:color-mix(in srgb, var(--c) 70%, #000); }
.chip-camp button { width:24px; height:24px; border-radius:50%; border:0; background:rgba(0,0,0,.08); cursor:pointer; display:grid; place-items:center; }
@media (max-width: 700px) {
  .hero { aspect-ratio:1080/1280; border-radius:16px; }
  .hs-d { display:none; } .hs-m { display:block; }
  .hero-hs span { opacity:1; transform:none; left:auto; right:7px; bottom:7px; width:26px; height:26px; padding:0; justify-content:center; font-size:0; gap:0; }
  .hero-hs span i { font-size:12px; }
  .hero-seta { display:none; }
}
@media (prefers-reduced-motion: reduce) { .hero-sl, .hero-sl img { transition:none; transform:none; } }
/* ================= Favoritos (29/09/2026) ================= */
#bt-favs { background:var(--card); color:var(--tx); border:1px solid var(--bd); font-size:17px; position:relative; cursor:pointer; }
#bt-favs .fa-solid { color:#e11d48; }
#bt-favs em { position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:#e11d48; color:#fff; font-style:normal; font-size:11px; font-weight:800; display:grid; place-items:center; }
.fav { position:absolute; top:8px; right:8px; z-index:2; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.92); border:1px solid var(--bd); display:grid; place-items:center; color:#6b7280; font-size:15px; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.08); transition:transform .15s, color .15s; }
.fav:hover { transform:scale(1.08); color:#e11d48; }
.fav.on { color:#e11d48; }
.fav.pop { animation:favPop .45s cubic-bezier(.3,1.6,.5,1); }
@keyframes favPop { 0% { transform:scale(1); } 40% { transform:scale(1.35); } 100% { transform:scale(1); } }
.pd-tit { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.pd-tit h4 { margin:0; }
.fav.grande { position:static; flex:none; width:42px; height:42px; font-size:18px; }
.pd-cod { font-size:12px; color:var(--tx3); font-weight:700; letter-spacing:.06em; margin:4px 0 10px; }

/* ================= Minha conta ================= */
.m-caixa.conta { width:min(860px,100%); }
.conta-cab { padding:14px 18px 6px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; }
.conta-oi { display:flex; align-items:center; gap:12px; min-width:0; flex:1 1 260px; }
.conta-oi b { display:block; font-size:17px; }
.conta-oi small { color:var(--tx3); font-size:12.5px; }
.conta-oi .av { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg, var(--cor), color-mix(in srgb, var(--cor) 55%, #ff7ab8)); color:#fff; display:grid; place-items:center; font-weight:800; font-size:19px; flex:none; box-shadow:0 6px 16px color-mix(in srgb, var(--cor) 35%, transparent); }
.conta-num { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; flex:1 1 360px; }
.conta-num div { background:var(--bg); border-radius:12px; padding:9px 10px; text-align:center; min-width:0; }
.conta-num b { display:block; font-size:17px; color:var(--cor-tx); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.conta-num small { font-size:11.5px; color:var(--tx3); }
.conta-abas { position:relative; display:flex; gap:2px; padding:0 12px; border-bottom:1px solid var(--bd); overflow-x:auto; scrollbar-width:none; }
.conta-abas::-webkit-scrollbar { display:none; }
.conta-abas button { border:0; background:transparent; padding:12px 14px; font-weight:700; font-size:13.5px; color:var(--tx2); display:inline-flex; align-items:center; gap:8px; cursor:pointer; white-space:nowrap; }
.conta-abas button.on { color:var(--cor-tx); }
.conta-ind { position:absolute; left:0; bottom:-1px; height:3px; border-radius:3px 3px 0 0; background:var(--cor); transition:transform .3s cubic-bezier(.4,0,.2,1), width .3s; }
#mpd-corpo.entra > * { animation:contaEntra .35s ease both; }
@keyframes contaEntra { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.esq-lista span { display:block; height:74px; border-radius:14px; margin-bottom:10px; background:linear-gradient(90deg,#f0f0f4 25%,#f8f8fb 50%,#f0f0f4 75%); background-size:200% 100%; animation:esqBrilho 1.2s linear infinite; }
.esq-l { display:block; height:40px; border-radius:10px; background:linear-gradient(90deg,#f0f0f4 25%,#f8f8fb 50%,#f0f0f4 75%); background-size:200% 100%; animation:esqBrilho 1.2s linear infinite; }
@keyframes esqBrilho { to { background-position:-200% 0; } }
.vazio-conta { text-align:center; padding:34px 12px; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--tx2); }
.vazio-conta > i { font-size:34px; color:var(--cor-tx); opacity:.7; }
.vazio-conta b { font-size:16px; color:var(--tx); }
.vazio-conta .bt { margin-top:6px; }
.ped { border:1px solid var(--bd); border-radius:16px; margin-bottom:12px; overflow:hidden; background:var(--card); animation:contaEntra .4s ease both; animation-delay:calc(var(--i) * 60ms); }
.ped-cab { width:100%; border:0; background:transparent; display:flex; align-items:center; gap:12px; padding:12px 14px; cursor:pointer; text-align:left; }
.ped-fotos { display:flex; flex:none; }
.ped-fotos span { width:42px; height:42px; border-radius:10px; border:2px solid #fff; background:#fff center/contain no-repeat; box-shadow:0 1px 4px rgba(0,0,0,.12); margin-left:-12px; }
.ped-fotos span:first-child { margin-left:0; }
.ped-t { flex:1; min-width:0; }
.ped-t b { display:block; font-size:14.5px; }
.ped-t small { color:var(--tx3); font-size:12.5px; }
.ped-st { flex:none; font-size:11.5px; font-weight:800; padding:4px 10px; border-radius:999px; background:#eef2ff; color:#3730a3; }
.ped-st.st-aguardando_pagamento { background:#fff7ed; color:#9a3412; } .ped-st.st-pago { background:#ecfeff; color:#155e75; }
.ped-st.st-em_producao { background:#f5f3ff; color:#5b21b6; } .ped-st.st-enviado { background:#eff6ff; color:#1d4ed8; }
.ped-st.st-entregue { background:#ecfdf3; color:#166534; } .ped-st.st-cancelado { background:#f4f4f5; color:#52525b; }
.ped-seta { color:var(--tx3); transition:transform .25s; flex:none; }
.ped.aberto .ped-seta { transform:rotate(180deg); }
.ped-corpo { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.ped-corpo > * { overflow:hidden; }
.ped.aberto .ped-corpo { grid-template-rows:1fr; }
.ped-corpo { display:block; max-height:0; overflow:hidden; transition:max-height .45s ease; padding:0 14px; }
.ped.aberto .ped-corpo { max-height:1400px; padding-bottom:14px; }
.lt { position:relative; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); margin:8px 0 14px; }
.lt-trilho { position:absolute; left:10%; right:10%; top:17px; height:4px; border-radius:4px; background:#ececf1; }
.lt-trilho i { position:absolute; left:0; top:0; bottom:0; width:0; border-radius:4px; background:var(--cor); transition:width 1s cubic-bezier(.4,0,.2,1) .15s; }
.ped.aberto .lt-trilho i { width:var(--pct); }
.lt-p { position:relative; text-align:center; display:flex; flex-direction:column; align-items:center; gap:4px; min-width:0; }
.lt-p span { width:38px; height:38px; border-radius:50%; background:#fff; border:2px solid #e4e4ea; color:#b4b4c0; display:grid; place-items:center; font-size:14px; z-index:1; transition:.3s; }
.lt-p.feito span { background:var(--cor); border-color:var(--cor); color:#fff; }
.lt-p.atual span { box-shadow:0 0 0 6px color-mix(in srgb, var(--cor) 18%, transparent); animation:ltPulso 2s ease-in-out infinite; }
@keyframes ltPulso { 50% { box-shadow:0 0 0 10px color-mix(in srgb, var(--cor) 8%, transparent); } }
.lt-p b { font-size:11.5px; color:var(--tx2); }
.lt-p.feito b { color:var(--tx); }
.lt-p small { font-size:11px; color:var(--tx3); min-height:14px; }
.lt-cancel { margin:8px 0 12px; padding:10px 12px; border-radius:12px; background:#f4f4f5; color:#52525b; font-weight:700; display:flex; gap:8px; align-items:center; }
.ped-pagar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#fff7ed; color:#9a3412; border-radius:12px; padding:10px 12px; margin-bottom:12px; font-size:13px; }
.ped-pagar span { flex:1; min-width:160px; }
.ped-itens { border-top:1px dashed var(--bd); }
.ped-it { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px dashed var(--bd); }
.ped-it .ft { width:48px; height:48px; border-radius:10px; background:#fff center/contain no-repeat; border:1px solid var(--bd); flex:none; }
.ped-it div { flex:1; min-width:0; }
.ped-it b { display:block; font-size:13.5px; }
.ped-it small { color:var(--tx3); font-size:12px; }
.ped-it .v { font-weight:700; font-size:13.5px; flex:none; }
.ped-tot { display:flex; flex-direction:column; align-items:flex-end; gap:2px; padding:10px 0; font-size:13px; color:var(--tx2); }
.ped-tot .t { font-size:15px; color:var(--tx); }
.ped-acoes { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.mini-grade { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; }
.mini-card { position:relative; border:1px solid var(--bd); border-radius:14px; background:var(--card); overflow:hidden; animation:contaEntra .35s ease both; animation-delay:calc(var(--i) * 45ms); min-width:0; }
.mini-card.esg { opacity:.6; }
.mc-ab { display:flex; flex-direction:column; gap:4px; width:100%; border:0; background:transparent; padding:0 0 10px; text-align:left; cursor:pointer; }
.mc-ab .ft { aspect-ratio:1; background:#fff center/contain no-repeat; border-bottom:1px solid var(--bd); }
.mc-ab b { font-size:12.5px; padding:0 10px; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mc-ab small { font-size:11.5px; color:var(--tx3); padding:0 10px; }
.vist-limpar { text-align:center; margin-top:14px; }
.dados { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:4px 14px; align-items:end; }
.dados .bt { margin-bottom:10px; justify-self:start; }
.dados-end { display:flex; gap:12px; background:var(--bg); border-radius:14px; padding:12px 14px; margin-top:8px; font-size:13px; color:var(--tx2); }
.dados-end > i { color:var(--cor-tx); margin-top:3px; }
.dados-end b { display:block; color:var(--tx); }
.dados-end small { display:block; color:var(--tx3); margin-top:4px; }
@media (max-width: 600px) {
  .conta-num { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .lt-p b { font-size:10.5px; } .lt-p span { width:32px; height:32px; font-size:12px; } .lt-trilho { top:14px; }
  .ped-st { display:none; }
  .conta-abas button span { display:inline; }
}

/* ================= Rodapé de loja ================= */
.rodape { max-width:none; margin:40px 0 0; padding:0; text-align:left; background:#fff; border-top:1px solid var(--bd); color:var(--tx2); font-size:13.5px; }
.rp-in { max-width:1200px; margin:0 auto; padding:38px 16px 22px; display:grid; grid-template-columns:1.4fr 1fr 1.3fr 1fr; gap:28px; }
.rp-marca b { display:block; font-size:18px; color:var(--tx); margin:10px 0 4px; }
.rp-marca p { margin:0 0 14px; color:var(--tx2); line-height:1.5; }
.rp-logo { display:block; width:52px; height:52px; border-radius:14px; background:#fff center/contain no-repeat; border:1px solid var(--bd); }
.rp-logo.txt { display:grid; place-items:center; background:var(--cor); color:#fff; font-weight:800; font-size:22px; border:0; }
.rp-zap { background:#25d366 !important; border-color:#25d366 !important; color:#fff !important; }
.rp-col h4 { margin:4px 0 12px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--tx); }
#rodape .rp-col a:not(.bt) { display:flex; align-items:center; gap:8px; color:var(--tx2) !important; text-decoration:none; padding:5px 0; transition:color .15s, transform .15s; }
#rodape .rp-col a:not(.bt):hover { color:var(--cor-tx) !important; transform:translateX(3px); }
.rp-dot { width:10px; height:10px; border-radius:50%; flex:none; box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--bd); }
.rp-passos { list-style:none; margin:0; padding:0; counter-reset:p; }
.rp-passos li { display:flex; align-items:flex-start; gap:10px; padding:5px 0; line-height:1.4; }
.rp-passos i { width:26px; height:26px; border-radius:8px; background:color-mix(in srgb, var(--cor) 12%, #fff); color:var(--cor-tx); display:grid; place-items:center; font-size:12px; flex:none; }
.rp-seg { max-width:1200px; margin:0 auto; padding:14px 16px; border-top:1px solid var(--bd); display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:center; font-size:13px; font-weight:600; color:var(--tx); }
.rp-seg i { color:var(--ok); margin-right:6px; }
.rodape .pagtos { max-width:1200px; margin:0 auto; padding:4px 16px 16px; justify-content:center; }
.rp-legal { background:var(--bg); border-top:1px solid var(--bd); text-align:center; padding:14px 16px 22px; font-size:12px; color:var(--tx3); line-height:1.6; }
#rodape .rp-legal a { color:var(--tx3) !important; }
@media (max-width: 900px) { .rp-in { grid-template-columns:1fr 1fr; } }
@media (max-width: 560px) { .rp-in { grid-template-columns:1fr; gap:22px; padding-top:28px; } }
.dados.senha { margin-top:14px; padding-top:14px; border-top:1px solid var(--bd); }
.dados.senha h5 { grid-column:1 / -1; margin:0 0 4px; font-size:14px; display:flex; align-items:center; gap:8px; }
.dados.senha h5 i { color:var(--cor-tx); }
/* Produtos da arte do hero (30/09/2026) */
.hero-prods { display:flex; align-items:center; gap:12px; margin:0 0 10px; min-width:0; }
.hp-t { flex:none; font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--tx3); }
.hp-lista { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; padding:2px; min-width:0; }
.hp-lista::-webkit-scrollbar { display:none; }
.hp-lista { cursor:grab; scroll-behavior:auto; -webkit-overflow-scrolling:touch; }
.hp-lista.arrastando { cursor:grabbing; user-select:none; }
.hp-lista.arrastando .hp { pointer-events:none; }
/* Card em pé (03/10/2026): foto em cima, nome e código embaixo — pequeno, cabe mais na faixa */
.hp { flex:none; width:118px; display:flex; flex-direction:column; align-items:stretch; gap:5px; background:var(--card); border:1px solid var(--bd); border-radius:12px; padding:6px; cursor:pointer; animation:contaEntra .35s ease both; animation-delay:calc(var(--i) * 50ms); transition:border-color .15s, transform .15s; }
.hp:hover { border-color:var(--cor); transform:translateY(-2px); }
.hp .ft { width:100%; height:72px; border-radius:8px; background:#fff center/contain no-repeat; flex:none; -webkit-user-drag:none; }
.hp-n { display:flex; flex-direction:column; text-align:left; min-width:0; }
.hp-n b { font-size:11.5px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.5em; }
.hp-n small { font-size:10px; color:var(--tx3); font-weight:700; letter-spacing:.04em; }
@media (max-width: 700px) { .hero-prods { gap:6px; } .hp { width:104px; } .hp .ft { height:62px; } .hero { aspect-ratio:1080/1350; } }

/* Fonte do sistema em tudo (03/10/2026): botão, campo e select não herdam a fonte sozinhos */
button, input, select, textarea, optgroup { font-family:inherit; }

/* Flutuantes (03/10/2026): WhatsApp no canto direito, carrinho em cima dele */
.fabs { position:fixed; right:16px; bottom:calc(20px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; align-items:center; gap:12px; z-index:901; }
.fab { position:relative; width:56px; height:56px; border-radius:50%; border:none; display:grid; place-items:center; cursor:pointer; color:#fff; font-size:24px; box-shadow:0 8px 22px rgba(20,10,40,.28); text-decoration:none; transition:transform .15s, filter .15s; }
.fab:hover { transform:translateY(-2px); filter:brightness(1.06); }
.fab[hidden] { display:none; }
.fab-zap { background:#25d366; font-size:28px; }
.fab-car { background:var(--cor); width:50px; height:50px; font-size:19px; }
.fab-car em { position:absolute; top:-4px; right:-4px; min-width:22px; height:22px; padding:0 6px; border-radius:11px; background:#fff; color:var(--cor); font-style:normal; font-size:12px; font-weight:800; display:grid; place-items:center; box-shadow:0 2px 6px rgba(0,0,0,.2); }
.fab-car:not(.tem) em { display:none; }
.fab-car.tem { animation:fabPulo .4s ease; }
@keyframes fabPulo { 50% { transform:scale(1.12); } }
/* Carrinho no computador: gaveta lateral da direita, altura toda */
@media (min-width: 721px) {
    .m-fundo.lateral { justify-content:flex-end; align-items:stretch; padding:0; }
    .m-fundo.lateral .m-caixa { width:min(520px,100%); max-height:none; height:100%; border-radius:18px 0 0 18px; animation:gavetaEntra .25s ease; }
}
@keyframes gavetaEntra { from { transform:translateX(40px); opacity:0; } }

/* Nome + foto no topo e foto de perfil em Minha conta (03/10/2026) */
#bt-conta { gap:9px; padding-left:5px; }
.av { width:30px; height:30px; border-radius:50%; flex:none; background:#eee center/cover no-repeat; display:inline-grid; place-items:center; }
.av.sem { background:var(--cor); color:#fff; font-size:12px; font-weight:800; letter-spacing:.02em; }
.av.grande { width:76px; height:76px; font-size:24px; }
.bt-conta-n { display:flex; flex-direction:column; line-height:1.1; text-align:left; font-weight:700; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bt-conta-n small { font-size:10.5px; font-weight:600; color:var(--tx3); }
.dados-foto { display:flex; align-items:center; gap:16px; padding:4px 0 16px; margin-bottom:12px; border-bottom:1px solid var(--bd); }
.dados-foto > div { display:flex; flex-direction:column; gap:4px; min-width:0; }
.dados-foto small { color:var(--tx3); font-size:12.5px; }
.dados-foto-bts { display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
.dados-foto-bts .bt { display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
@media (max-width:720px) { .bt-conta-n { display:none; } #bt-conta { padding:5px; } }
.dados-foto-bts .bt { flex-direction:row !important; white-space:nowrap; }
.dados-foto-bts .bt i { margin:0; }

/* Página única do produto + visualização rápida (03/10/2026) */
.vista-produto { padding:6px 0 30px; }
.vista-produto[hidden], #vista-loja[hidden] { display:none; }
.pg-topo { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:4px 0 14px; }
.pg-topo .bt { display:inline-flex; align-items:center; gap:8px; }
.pg-corpo { background:var(--card); border:1px solid var(--bd); border-radius:18px; padding:22px; }
.pg-corpo .pd { gap:28px; }
.pg-corpo .pd .gr { aspect-ratio:1/1; }
.pg-carregando { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pg-carregando span { height:380px; border-radius:14px; background:linear-gradient(90deg,#eee,#f6f6f6,#eee); background-size:200% 100%; animation:pgBrilho 1.2s linear infinite; }
@keyframes pgBrilho { to { background-position:-200% 0; } }
.rapida-info { display:flex; flex-direction:column; gap:8px; margin:10px 0 14px; }
.rapida-info span { display:flex; align-items:center; gap:9px; }
.rapida-info i { color:var(--cor); width:16px; text-align:center; }
.desc.curta { max-height:150px; overflow:hidden; -webkit-mask-image:linear-gradient(#000 60%, transparent); mask-image:linear-gradient(#000 60%, transparent); }
[data-ver-pagina] { margin-top:6px; }
/* Botão "Ver rápido" no card: aparece no hover no computador, sempre (só o olho) no celular */
.card .ft { position:relative; }
.card .olho { position:absolute; left:50%; bottom:10px; transform:translate(-50%, 6px); display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border-radius:99px; background:rgba(255,255,255,.95); color:var(--tx); font-size:12px; box-shadow:0 4px 14px rgba(0,0,0,.15); opacity:0; transition:opacity .15s, transform .15s; z-index:2; white-space:nowrap; }
.card .olho b { font-weight:700; }
.card .olho i { color:var(--cor); }
.card:hover .olho, .card .olho:focus-visible { opacity:1; transform:translate(-50%, 0); }
.card .olho:hover { background:var(--cor); color:#fff; }
.card .olho:hover i { color:#fff; }
@media (hover:none) { .card .olho { opacity:1; transform:none; left:auto; right:8px; bottom:8px; width:34px; height:34px; padding:0; justify-content:center; } .card .olho b { display:none; } }
@media (max-width:720px) { .pg-corpo { padding:12px; border-radius:14px; } .pg-carregando { grid-template-columns:1fr; } .pg-carregando span { height:260px; } .pg-topo .bt span { display:none; } .pg-topo .bt.pg-volta span { display:inline; } }

/* Ícone do WhatsApp flutuante sempre branco (outra regra pintava de roxo) */
.fab-zap, .fab-zap i, .fab-zap:hover i { color:#fff !important; }
.fab-car i { color:#fff !important; }

/* Faixa de produtos da arte centralizada (03/10/2026); quando não cabe, continua rolando do começo */
.hero-prods { justify-content:center; }
.hp-lista { margin:0 auto; max-width:100%; }

/* Garantias em cards KPI (03/10/2026) */
.garantias.kpis { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:10px; margin:4px 0 16px; font-size:inherit; }
.kpi { display:flex; align-items:center; gap:11px; background:var(--card); border:1px solid var(--bd); border-radius:14px; padding:11px 13px; min-width:0; }
.kpi > i { flex:none; width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:color-mix(in srgb, var(--cor) 12%, transparent); color:var(--cor); font-size:15px; }
.kpi > div { display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.kpi b { font-size:13px; color:var(--tx); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kpi small { font-size:11.5px; color:var(--tx3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:1000px) { .garantias.kpis { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:720px) { .garantias.kpis { display:flex; overflow-x:auto; scrollbar-width:none; gap:8px; padding-bottom:2px; } .garantias.kpis::-webkit-scrollbar { display:none; } .kpi { flex:0 0 auto; padding:9px 11px; } .kpi > i { width:30px; height:30px; font-size:13px; } }
@media (max-width:720px) { .garantias.kpis { flex-wrap:nowrap; justify-content:flex-start; } }

/* Busca + filtros numa linha só no computador (03/10/2026) */
@media (min-width:1200px) {
    .busca { flex-wrap:nowrap; }
    .campo-busca { flex:1.3 1 0; }
    .busca select, .busca #cor, .busca #faixa { flex:1 1 0; max-width:none; padding:10px 12px; font-size:13.5px; text-overflow:ellipsis; }
    .campo-qtd { flex:1 1 0; max-width:none; }
    .campo-qtd input { padding-left:34px; font-size:13.5px; }
}

/* Filtro de cor com bolinha (03/10/2026) */
.cor-sel { position:relative; flex:1 1 170px; min-width:0; }
.cor-sel select { position:absolute; inset:0; opacity:0; pointer-events:none; width:100%; }
.cor-bt { width:100%; display:flex; align-items:center; gap:9px; background:var(--card); border:1px solid var(--bd); border-radius:999px; padding:10px 14px; font-size:14px; color:var(--tx); cursor:pointer; text-align:left; }
.cor-bt .cs-txt { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cor-bt i { font-size:11px; color:var(--tx2); }
.cs-bol { width:16px; height:16px; border-radius:50%; flex:none; border:1px solid rgba(0,0,0,.15); box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); }
.cs-bol.todas { background:conic-gradient(#e53935,#fb8c00,#fdd835,#43a047,#1e88e5,#8e24aa,#e53935); border-color:transparent; }
.cor-lista { position:absolute; top:calc(100% + 6px); left:0; min-width:100%; width:max-content; max-width:280px; max-height:340px; overflow:auto; background:var(--card); border:1px solid var(--bd); border-radius:14px; box-shadow:0 14px 34px rgba(20,10,40,.18); padding:6px; z-index:950; }
.cor-lista[hidden] { display:none; }
.cor-lista button { width:100%; display:flex; align-items:center; gap:10px; padding:8px 10px; border:0; background:none; border-radius:9px; font-size:14px; color:var(--tx); cursor:pointer; text-align:left; }
.cor-lista button:hover { background:var(--bg); }
.cor-lista button.on { background:color-mix(in srgb, var(--cor) 12%, transparent); font-weight:700; }
.cor-lista .cs-n { flex:1; white-space:nowrap; }
.cor-lista small { color:var(--tx3); font-size:12px; }
@media (min-width:1200px) { .cor-sel { flex:1 1 0; } .cor-bt { padding:10px 12px; font-size:13.5px; } }
@media (max-width: 600px) { .cor-sel { flex-basis:calc(50% - 4px); } }

/* Simulação da logo na peça (03/10/2026): editor na própria página, celular primeiro. */
.sim { margin:4px 0 6px -28px; border:1px solid var(--bd); border-radius:var(--r); background:var(--card); padding:12px; display:flex; flex-direction:column; gap:10px; min-width:0; }
.sim[hidden] { display:none; }
.sim-cab { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sim-cab b { display:inline-flex; align-items:center; gap:8px; font-size:15px; }
.sim-cab b i { color:var(--cor-tx); }
.sim-x { width:36px; height:36px; border-radius:10px; border:1px solid var(--bd); background:var(--card); color:var(--tx2); display:grid; place-items:center; cursor:pointer; flex:none; font-size:16px; }
.sim-x:hover { border-color:var(--cor); color:var(--cor); }
.sim-dica { margin:0; font-size:12.5px; color:var(--tx2); line-height:1.45; }
.sim-palco { position:relative; width:100%; aspect-ratio:1; border:1px solid var(--bd); border-radius:12px; overflow:hidden; background:#fff; touch-action:none; -webkit-user-select:none; user-select:none; }
.sim-palco .canvas-container, .sim-palco canvas { touch-action:none; width:100% !important; height:100% !important; }
.pd > div { min-width:0; }   /* o canvas de 1000 px não pode alargar a coluna do grid */
.sim-carr { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:8px; background:rgba(255,255,255,.88); font-size:14px; color:var(--tx2); z-index:2; }
.sim-carr[hidden] { display:none; }
.sim-ctl { display:flex; flex-direction:column; gap:10px; min-width:0; }
.sim-r { display:grid !important; grid-template-columns:78px minmax(0,1fr) 44px; align-items:center; gap:10px; margin:0 !important; font-size:13.5px; color:var(--tx); }
.sim-r input[type=range] { width:100%; min-width:0; accent-color:var(--cor); height:30px; margin:0; }
.sim-r output { text-align:right; font-variant-numeric:tabular-nums; color:var(--tx2); font-size:13px; }
.sim-sec { font-size:13px; font-weight:700; margin-top:2px; }
.sim-cores { display:flex; flex-wrap:wrap; gap:8px; }
.sim-cores button, .sim-livre { display:inline-flex !important; flex-direction:row !important; align-items:center; gap:8px; min-height:40px; padding:6px 12px 6px 8px; border:1px solid var(--bd); border-radius:999px; background:var(--card); font-size:13px; font-weight:600; cursor:pointer; color:var(--tx) !important; margin:0 !important; }
.sim-cores button.on, .sim-livre.on { border-color:var(--cor); box-shadow:inset 0 0 0 1px var(--cor); }
.sim-cores .pt { width:22px; height:22px; border-radius:50%; border:1px solid rgba(0,0,0,.2); flex:none; }
.sim-cores .pt.orig { background:conic-gradient(#e11d48, #f59e0b, #16a34a, #2563eb, #9333ea, #e11d48); }
.sim-cores .pt.ouro { background-image:linear-gradient(135deg, #f3dd8a, #c9a227 55%, #8a6d12); }
.sim-cores .pt.prata { background-image:linear-gradient(135deg, #f4f5f7, #b9bcc2 55%, #7c8088); }
.sim-livre input[type=color] { width:24px; height:24px; padding:0; border:0; border-radius:50%; background:none; flex:none; cursor:pointer; }
.sim-livre input[type=color]::-webkit-color-swatch-wrapper { padding:0; } .sim-livre input[type=color]::-webkit-color-swatch { border:1px solid rgba(0,0,0,.2); border-radius:50%; }
.sim .chk.sim-fundo { margin:2px 0 0; }
.sim-acoes { display:flex; gap:8px; flex-wrap:wrap; }
.sim-acoes .bt { flex:1 1 180px; min-height:46px; white-space:normal; }
.sim-st { font-size:12.5px; color:var(--tx2); display:flex; align-items:flex-start; gap:7px; line-height:1.4; }
.sim-st i { margin-top:2px; flex:none; }
.sim-st.ok { color:var(--ok); } .sim-st.pend { color:#9a3412; }
.logo-it .sim-bt { width:auto; height:32px; padding:0 10px; color:var(--cor-tx); font-weight:600; font-size:12.5px; display:inline-flex; align-items:center; gap:6px; border:1px solid var(--bd); border-radius:8px; background:var(--card); }
.logo-it .sim-th { width:40px; height:40px; border-radius:6px; background:#fff center/contain no-repeat; border:1px solid var(--bd); flex:none; overflow:visible; }
.logo-it.sim-ok em { font-style:normal; color:#9a3412; }
.sim-aviso { display:flex; align-items:flex-start; gap:7px; line-height:1.4; }
.sim-aviso i { margin-top:2px; flex:none; }
.it .ft.simt { border-color:var(--cor); }
@media (max-width:720px) { .sim { padding:12px 0 4px; border-width:1px 0 0; border-radius:0; } .sim-acoes .bt { flex-basis:100%; } }
.pg-corpo.m-corpo { overflow:visible; }

/* Tags de busca na página do produto (03/10/2026) */
.pd-tags { margin-top:18px; padding-top:14px; border-top:1px solid var(--bd); }
.pd-tags h5 { margin:0 0 9px; font-size:13px; display:flex; align-items:center; gap:8px; color:var(--tx2); }
.pd-tags h5 i { color:var(--cor); }
.pd-tags > div { display:flex; flex-wrap:wrap; gap:6px; }
.pd-tags a { font-size:12.5px; padding:5px 11px; border-radius:99px; background:var(--bg); border:1px solid var(--bd); color:var(--tx2); text-decoration:none; }
.pd-tags a:hover { border-color:var(--cor); color:var(--cor); }

/* Políticas: links no rodapé, aceite no checkout e aviso de cookies (03/10/2026) */
.rp-pol { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 18px; font-size:13px; margin:12px 0 4px; }
.rp-pol a { color:var(--tx2); text-decoration:underline; text-underline-offset:3px; }
.chk.aceite { margin:12px 0 10px; font-size:13px; color:var(--tx2); }
.chk.aceite a { color:var(--cor); }
.chk.aceite.erro span { color:#e5484d; }
.aviso-cookies { position:fixed; left:16px; right:90px; bottom:calc(16px + env(safe-area-inset-bottom)); max-width:640px; display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--bd); border-radius:14px; padding:12px 14px; box-shadow:0 12px 34px rgba(20,10,40,.2); z-index:1000; font-size:13px; color:var(--tx2); }
.aviso-cookies > i { color:var(--cor); font-size:20px; flex:none; }
.aviso-cookies a { color:var(--cor); }
.aviso-cookies .bt { flex:none; display:inline-flex; align-items:center; }
@media (max-width:600px) { .aviso-cookies { right:16px; bottom:calc(150px + env(safe-area-inset-bottom)); flex-wrap:wrap; } .aviso-cookies .bt { width:100%; justify-content:center; } }

/* Balcão de retirada nas opções de entrega (03/10/2026) */
.fretes .fr-ret .fr-ic { color:var(--cor); font-size:18px; width:28px; text-align:center; flex:none; }
.fretes .fr-ret > b { color:#16a34a; }

/* Pop-up "Adicionado ao carrinho" (03/10/2026) */
.add-caixa { width:min(460px,100%); }
.add-caixa h3 { display:flex; align-items:center; gap:10px; }
.add-ic { color:#16a34a; font-size:20px; }
.add-it { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.add-it > div { display:flex; flex-direction:column; min-width:0; }
.add-it b { font-size:15px; }
.add-it small { color:var(--tx3); font-size:12.5px; }
.add-ft { width:64px; height:64px; border-radius:12px; border:1px solid var(--bd); background:#fff center/contain no-repeat; flex:none; }
.add-lista { list-style:none; margin:0 0 16px; padding:12px 14px; background:var(--bg); border-radius:12px; display:flex; flex-direction:column; gap:8px; }
.add-lista li { display:flex; align-items:flex-start; gap:9px; font-size:13.5px; color:var(--tx2); }
.add-lista li i { color:#16a34a; margin-top:3px; flex:none; }
.add-lista li.add-av i { color:#d97706; }
.add-bts { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.add-bts .bt { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px; }
@media (max-width:480px) { .add-bts { grid-template-columns:1fr; } .add-bts .bt.primario { order:-1; } }

/* Rodapé (03/10/2026): passos com o texto num bloco só e campanhas com ícone colorido */
.rp-passos li { align-items:center; }
.rp-passos li span { flex:1; min-width:0; }
.rp-cic { width:26px; height:26px; border-radius:8px; display:grid; place-items:center; font-size:12px; flex:none; color:var(--c); background:color-mix(in srgb, var(--c) 14%, #fff); }
#rodape .rp-col a:not(.bt) { gap:10px; }

/* Menu de campanhas no topo (03/10/2026) */
.camp-menu { position:relative; }
.camp-menu[hidden] { display:none; }
#bt-camp { display:inline-flex; align-items:center; gap:8px; }
#bt-camp .camp-seta { font-size:10px; color:var(--tx3); transition:transform .15s; }
#bt-camp[aria-expanded="true"] .camp-seta { transform:rotate(180deg); }
.camp-lista { position:absolute; top:calc(100% + 8px); right:0; width:270px; background:var(--card); border:1px solid var(--bd); border-radius:14px; box-shadow:0 16px 40px rgba(20,10,40,.18); padding:8px; z-index:960; }
.camp-lista[hidden] { display:none; }
.camp-tit { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--tx3); padding:6px 10px 8px; }
.camp-lista button { width:100%; display:flex; align-items:center; gap:11px; padding:8px 10px; border:0; background:none; border-radius:10px; font-size:14px; color:var(--tx); cursor:pointer; text-align:left; }
.camp-lista button:hover { background:var(--bg); }
.camp-lista button span { flex:1; }
.camp-ir { font-size:10px; color:var(--tx3); }
@media (max-width:720px) { #bt-camp span, #bt-camp .camp-seta { display:none; } #bt-camp { padding:0; width:40px; height:40px; justify-content:center; border-radius:50%; } .camp-lista { right:-90px; width:min(270px, calc(100vw - 32px)); } }

/* Formas de pagamento centralizadas no rodapé (03/10/2026): a lista com quebra ocupava a largura toda e jogava tudo pra esquerda */
#rodape .pagtos, .rodape .pagtos { width:fit-content; max-width:100%; margin-left:auto; margin-right:auto; justify-content:center; }
#rodape .pg-lista { justify-content:center; flex:0 1 auto; }

/* Carrinho em 2 etapas + cards dos itens (03/10/2026, "carrinho sidebar ficou péssimo") */
#mc-corpo.passo-1 .car-p2, #mc-corpo.passo-2 .car-p1 { display:none; }
.it2 { display:grid; grid-template-columns:68px minmax(0,1fr) auto; grid-template-areas:"ft t rm" "ft pe pe"; gap:6px 12px; padding:14px; margin-bottom:10px; border:1px solid var(--bd); border-radius:14px; background:var(--card); }
.it2 .ft { grid-area:ft; width:68px; height:68px; border-radius:12px; border:1px solid var(--bd); background:#fff center/contain no-repeat; align-self:start; }
.it2 .ft.simt { border-color:var(--cor); box-shadow:0 0 0 2px color-mix(in srgb, var(--cor) 20%, transparent); }
.it2 .t { grid-area:t; display:flex; flex-direction:column; gap:3px; min-width:0; }
.it2 .t b { font-size:14px; line-height:1.3; overflow-wrap:anywhere; }
.it2 .meta { display:flex; align-items:center; flex-wrap:wrap; gap:4px; font-size:12.5px; color:var(--tx3); }
.it2 .bolc { width:11px; height:11px; border-radius:50%; border:1px solid rgba(0,0,0,.15); display:inline-block; }
.selo-l { align-self:flex-start; display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; padding:3px 9px; border-radius:99px; background:color-mix(in srgb, #16a34a 12%, transparent); color:#15803d; }
.selo-l.pend { background:color-mix(in srgb, #d97706 12%, transparent); color:#b45309; }
.it2 .rm { grid-area:rm; align-self:start; border:0; background:transparent; color:var(--tx3); cursor:pointer; width:34px; height:34px; border-radius:9px; }
.it2 .rm:hover { background:#fee2e2; color:#dc2626; }
.it2-pe { grid-area:pe; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:4px; }
.it2-sub { font-size:15px; }
.car-rodape { position:sticky; bottom:-16px; background:var(--card); margin:6px -16px -16px; padding:14px 16px 16px; border-top:1px solid var(--bd); display:flex; flex-direction:column; gap:8px; box-shadow:0 -10px 24px rgba(20,10,40,.06); }
.car-rodape .soma.g { margin:0; }
.car-rodape .dica { margin:0; }
.car-volta { display:inline-flex; align-items:center; gap:8px; margin-bottom:6px; }
@media (max-width:600px) { .it2 { grid-template-columns:56px minmax(0,1fr) auto; padding:12px; } .it2 .ft { width:56px; height:56px; } .it2-pe { flex-wrap:wrap; } }

/* Etapa 1: total e botões no pé da gaveta mesmo com poucos itens */
/* (04/10/2026) a gaveta virou página: a regra do pé da gaveta saiu — ver "Carrinho como página" no fim */

/* Minha conta como página (03/10/2026) */
.vista-conta { padding:6px 0 30px; }
.vista-conta[hidden] { display:none; }
.m-caixa.como-pagina { width:100%; max-width:none; max-height:none; box-shadow:none; border:1px solid var(--bd); border-radius:18px; }
.m-caixa.como-pagina .m-topo .m-x { display:none; }
.m-caixa.como-pagina .m-corpo { overflow:visible; }

/* Rodapé da etapa 2 do carrinho (03/10/2026): letras bem pequenas, centralizado e com respiro */
#mc-corpo .car-p2 .soma.g { margin-bottom:14px; }
#mc-corpo .car-p2 > .dica, #mc-corpo .car-resumo > .dica { font-size:11px; line-height:1.5; color:var(--tx3); text-align:center; margin:0 0 14px; }
#mc-corpo .car-p2 .pagtos { flex-direction:column; align-items:center; gap:8px; margin:0 auto 18px; width:100%; }
#mc-corpo .car-p2 .pagtos .pg-mp { height:22px; }
#mc-corpo .car-p2 .pg-lista { justify-content:center; gap:5px; }
#mc-corpo .car-p2 .pg-b { transform:scale(.88); }
#mc-corpo .car-p2 .chk.aceite { font-size:11.5px; line-height:1.5; align-items:center; gap:10px; margin:0 0 16px; padding:10px 12px; border:1px dashed var(--bd); border-radius:12px; background:var(--bg); }
#mc-corpo .car-p2 .chk.aceite input { width:18px; height:18px; flex:none; margin:0; }
#mc-corpo .car-p2 #c-pagar { margin-top:4px; }

/* Mockup e arquivo anexado em Minha conta (03/10/2026) */
.ped-it > div { min-width:0; }
.ped-arqs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:10px; }
.ped-mk { display:flex; flex-direction:column; align-items:center; gap:4px; text-decoration:none; color:var(--tx2); font-size:11.5px; }
.ped-mk img { width:84px; height:84px; object-fit:contain; background:#fff; border:1px solid var(--cor); border-radius:12px; box-shadow:0 0 0 2px color-mix(in srgb, var(--cor) 18%, transparent); }
.ped-mk span { display:inline-flex; align-items:center; gap:6px; }
.ped-mk i { color:var(--cor); }
.ped-arq { display:inline-flex; align-items:center; gap:8px; max-width:100%; padding:7px 12px; border:1px solid var(--bd); border-radius:99px; font-size:12.5px; color:var(--tx); text-decoration:none; background:var(--bg); }
.ped-arq span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:260px; }
.ped-arq i { color:var(--cor); }
.ped-arq:hover { border-color:var(--cor); }

/* Mais respiro no site todo (03/10/2026, "está tudo muito compacto") */
body { line-height:1.55; }
.dica, small.dica { line-height:1.6; }
.m-corpo label { gap:7px; margin-bottom:14px; }
.m-corpo .sec { margin:22px 0 12px; }
.ped-it { padding:16px 0; gap:16px; }
.ped-it small { display:block; margin-top:3px; }
.soma { padding:5px 0; }
.pd-tit h4 { line-height:1.3; margin-bottom:6px; }
.pd-cod { margin-bottom:12px; }
.pd-info { margin:12px 0; line-height:1.6; }
.pd-estq { margin:14px 0; }
.faixas td, .faixas th { padding-top:9px; padding-bottom:9px; }
.cores { gap:8px; margin-bottom:14px; }
.card .if { gap:6px; padding:14px; }
.rp-col a, .rp-passos li { padding-top:7px; padding-bottom:7px; }
.kpi { padding:13px 15px; }

/* Celular: o avatar do botão da conta é um <span> e a regra que esconde o texto dos botões do topo escondia ele junto */
@media (max-width:720px) { #bt-conta { width:40px; height:40px; padding:0; justify-content:center; } #bt-conta .av { display:inline-grid !important; width:32px; height:32px; } }
.ped-it { align-items:flex-start; }
.ped-it > .v { align-self:center; }

/* Pulso do passo atual cortado no topo (03/10/2026): espaço pra animação dentro da área do pedido (que tem overflow:hidden) */
.lt { padding-top:14px; padding-left:4px; padding-right:4px; }
.lt-trilho { top:31px; }

/* Kits corporativos (03/10/2026, services/brindes-kits.js): selo, faixa "Kits prontos", "O que vem no kit" e o kit no carrinho. */
.selo.kit { background:var(--cor); border-color:var(--cor); color:#fff; }
.selo.kit i { color:#fff; }
.card .kit-comp { font-size:12px; color:var(--tx2); line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card-kit .ft { background-size:cover; }
.kits-faixa { margin:4px 0 18px; background:var(--card); border:1px solid var(--bd); border-radius:var(--r); padding:14px 0 12px; min-width:0; }
.kf-cab { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:0 14px 10px; }
.kf-cab h2 { margin:0; font-size:17px; display:flex; align-items:center; gap:8px; }
.kf-cab h2 i { color:var(--cor); }
.kf-cab small { color:var(--tx2); font-size:12.5px; flex:1; min-width:160px; }
.kf-cab .bt { padding:7px 13px; font-size:13px; }
.kf-trilho { display:grid; grid-auto-flow:column; grid-auto-columns:210px; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:2px 14px 8px; scrollbar-width:thin; }
.kf-trilho .card { scroll-snap-align:start; }
.pd-cod-kit { display:flex; align-items:center; gap:8px; flex-wrap:wrap; letter-spacing:0; font-weight:600; color:var(--tx2); }
.pd-kit { margin:4px 0 6px; }
.pd-kit .sec i { color:var(--cor); }
.kit-lista { list-style:none; margin:0 0 6px; padding:0; display:grid; gap:8px; }
.kit-lista li { display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--bd); border-radius:12px; padding:8px 12px 8px 8px; min-width:0; }
.kl-ft { width:52px; height:52px; flex:none; border-radius:10px; background:#fff center/contain no-repeat; border:1px solid var(--bd); }
.kl-t { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.kl-t b { font-size:13.5px; line-height:1.3; overflow-wrap:anywhere; }
.kl-t small { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--tx2); }
.kl-t .bolc { width:11px; height:11px; border-radius:50%; border:1px solid rgba(0,0,0,.15); display:inline-block; flex:none; }
.kl-q { font-weight:700; color:var(--tx2); font-size:13px; flex:none; }
.it2 .kit-l { display:flex; align-items:flex-start; gap:6px; font-size:12px; color:var(--tx2); margin-top:3px; line-height:1.35; }
.it2 .kit-l i { color:var(--cor); margin-top:2px; flex:none; }
@media (max-width:720px) {
    .kf-trilho { grid-auto-columns:min(62vw, 260px); gap:10px; padding:2px 12px 8px; }
    .kf-cab { padding:0 12px 8px; }
    .kits-faixa { margin-left:-2px; margin-right:-2px; }
}
@media (max-width:720px) {
    .kf-cab h2 { flex:1; }
    .kf-cab small { order:3; flex-basis:100%; min-width:0; }
}

/* Preço por kit/unidade + total pequeno embaixo (03/10/2026) */
.preco-g .preco-tot { display:block; margin-top:4px; font-size:13px; font-weight:500; color:var(--tx2); }
.preco-g .preco-tot b { color:var(--tx); font-weight:700; }

/* Carrossel dos kits (03/10/2026) */
.kf-car { position:relative; min-width:0; }
.kf-trilho { scrollbar-width:none; cursor:grab; scroll-behavior:auto; }
.kf-trilho::-webkit-scrollbar { display:none; }
.kf-trilho.arrastando { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.kf-trilho.arrastando .card { pointer-events:none; }
.kf-seta { position:absolute; top:calc(50% - 24px); width:42px; height:42px; border-radius:50%; border:1px solid var(--bd); background:var(--card); color:var(--tx); box-shadow:0 6px 18px rgba(20,10,40,.16); display:grid; place-items:center; cursor:pointer; z-index:3; transition:transform .15s, background .15s; }
.kf-seta:hover { background:var(--cor); color:#fff; border-color:var(--cor); transform:scale(1.06); }
.kf-seta.ant { left:6px; } .kf-seta.prox { right:6px; }
.kf-seta[hidden] { display:none; }
.kf-pontos { display:flex; justify-content:center; gap:6px; margin-top:6px; min-height:8px; }
.kf-pontos i { width:7px; height:7px; border-radius:99px; background:var(--bd); transition:width .2s, background .2s; }
.kf-pontos i.on { width:20px; background:var(--cor); }
@media (hover:none) { .kf-seta { display:none; } }

/* Criar conta / Entrar mais compacto (04/10/2026) */
#m-auth .m-caixa { width:min(460px,100%); }
#m-auth .m-topo { padding-top:12px; padding-bottom:12px; }
#m-auth .m-corpo { padding:14px 18px 18px; }
#m-auth .abas { margin-bottom:12px; }
#m-auth .abas button { padding:8px 10px; font-size:14px; }
#m-auth form { display:grid; grid-template-columns:1fr 1fr; gap:10px 10px; }
#m-auth form > label { margin:0; gap:4px; font-size:12px; }
#m-auth form > label:has(input[type=password]), #m-auth form > .dica, #m-auth form > button, #f-entrar > label { grid-column:1 / -1; }
#m-auth form input { padding:8px 11px; font-size:14px; }
#m-auth form .dica { margin:0; font-size:11px; line-height:1.45; }
#m-auth form > button { margin-top:4px; padding:11px; }
@media (max-width:480px) { #m-auth form { grid-template-columns:1fr; } }

/* Criar conta sem "Empresa" (04/10/2026): Nome | WhatsApp, E-mail | Senha — cabe sem rolagem */
#m-auth form#f-cadastro > label:has(input[type=password]) { grid-column:auto; }
#m-auth .m-corpo { overflow:visible; }

/* Trava sem login explica o que vem depois (04/10/2026, "não encontrei onde anexar a logo") */
.trava-lista { list-style:none; margin:10px auto 12px; padding:0; display:inline-flex; flex-direction:column; gap:6px; text-align:left; font-size:13px; color:var(--tx2); }
.trava-lista li { display:flex; align-items:center; gap:9px; }
.trava-lista i { color:var(--cor); width:16px; text-align:center; }
.trava-ja { display:block; margin-top:8px; font-size:12.5px; color:var(--tx3); }
.trava-ja a { color:var(--cor); font-weight:700; }
.trava-lista { display:flex; width:fit-content; margin:12px auto; }

/* ===== Carrinho como página (04/10/2026; era a gaveta #m-carrinho) ===== */
.vista-carrinho { padding:6px 0 30px; }
.vista-carrinho[hidden] { display:none; }
.car-tit { display:flex; align-items:center; gap:10px; font-size:20px; line-height:1.2; margin:0 0 14px; }
.car-tit > i { flex:none; margin:0; }
.car-tit i { color:var(--cor-tx); font-size:19px; }
#mc-corpo.car-pagina { padding:0; overflow:visible; }
#mc-corpo.car-pagina.pagando { max-width:640px; margin:0 auto; background:var(--card); border:1px solid var(--bd); border-radius:18px; padding:18px; }
.car-col { min-width:0; }
.car-form { background:var(--card); border:1px solid var(--bd); border-radius:18px; padding:16px 18px; }
.car-form .car-volta { margin:0 0 4px; }
.car-form .sec:first-of-type { margin-top:12px; }
.car-resumo { background:var(--card); border:1px solid var(--bd); border-radius:18px; padding:16px; min-width:0; }
#mc-corpo .car-rodape { position:static; margin:0; box-shadow:none; border:1px solid var(--bd); border-radius:18px; padding:16px; }
.car-resumo > .soma.g:first-child { border-top:0; margin-top:0; padding-top:0; }
.car-vazio { background:var(--card); border:1px solid var(--bd); border-radius:18px; }
body.na-vista-carrinho .fabs, body.na-vista-carrinho .bt-topo { display:none; }
.linha3 { min-width:0; }
@media (min-width: 980px) {
    .car-passo { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:22px; align-items:start; }
    .car-resumo { position:sticky; top:84px; }
    #mc-corpo .car-rodape { position:sticky; top:84px; }
}
@media (max-width: 979px) {
    .car-resumo { margin-top:14px; }
    /* Etapa 1 no celular: subtotal e botões grudados no pé da tela enquanto rola os itens */
    #mc-corpo .car-p1 .car-rodape { position:sticky; bottom:0; z-index:5; margin:14px -16px 0; border-radius:16px 16px 0 0; border-width:1px 0 0; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); box-shadow:0 -10px 24px rgba(20,10,40,.08); }
    #mc-corpo .car-p1 .car-rodape .dica { display:none; }
    #mc-corpo .car-p1 .car-rodape [data-fechar-car] { display:none; }   /* no celular o "Continuar comprando" fica só no topo: o pé grudado ocupa menos */
    .car-form { padding:14px 12px; border-radius:14px; }
    .car-tit { font-size:19px; margin-bottom:10px; }
}

/* Cupom no resumo (04/10/2026) */
.cupom { margin:0 0 12px; padding:0 0 12px; border-bottom:1px dashed var(--bd); }
.cupom-l { display:inline-flex !important; flex-direction:row !important; align-items:center; gap:8px !important; font-size:13.5px !important; font-weight:700; color:var(--tx) !important; margin:0 0 8px !important; }
.cupom-l i, .cupom-ok > i { color:var(--cor-tx); }
.cupom-in { display:flex; gap:8px; min-width:0; }
.cupom-in input { flex:1 1 auto; min-width:0; text-transform:uppercase; letter-spacing:.04em; font-weight:600; }
.cupom-in .bt { flex:none; display:inline-flex; align-items:center; gap:7px; }
.cupom-err { display:block; margin-top:6px; }
.cupom-ok { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; background:color-mix(in srgb, #16a34a 9%, #fff); border:1px solid color-mix(in srgb, #16a34a 30%, #fff); }
.cupom-ok > span { display:flex; flex-direction:column; gap:2px; flex:1; min-width:0; }
.cupom-ok b { font-size:13.5px; color:#15803d; overflow-wrap:anywhere; }
.cupom-ok small { font-size:12px; color:var(--tx2); }
.cupom-x { flex:none; width:32px; height:32px; border:0; border-radius:9px; background:transparent; color:var(--tx3); cursor:pointer; display:grid; place-items:center; }
.cupom-x:hover { background:#fee2e2; color:#dc2626; }
.soma.desc b { color:#15803d; }
.soma em.gratis { font-style:normal; font-size:12px; font-weight:700; color:#15803d; }
.soma s { color:var(--tx3); font-weight:500; font-size:13px; }
.ped-tot .cup { display:inline-flex; align-items:center; gap:6px; color:#15803d; }

/* Sugestões: "Combina com o seu pedido" (carrinho) e "Produtos relacionados" (produto) — 04/10/2026 */
.sug-lista { margin:18px 0 6px; min-width:0; }
.sug-lista[hidden] { display:none; }
.sug-cab { display:flex; align-items:center; gap:6px 12px; flex-wrap:wrap; margin-bottom:10px; }
.sug-cab h3 { display:inline-flex; align-items:center; gap:8px; font-size:16px; margin:0; }
.sug-cab h3 i { color:var(--cor-tx); }
.sug-cab small { font-size:12.5px; color:var(--tx3); }
.sug-setas { margin-left:auto; display:flex; gap:6px; }
.sug-seta { width:34px; height:34px; border-radius:50%; border:1px solid var(--bd); background:var(--card); color:var(--tx2); cursor:pointer; display:grid; place-items:center; }
.sug-seta:hover { border-color:var(--cor); color:var(--cor-tx); }
.sug-trilho { display:grid; grid-auto-flow:column; grid-auto-columns:200px; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:2px 2px 10px; scrollbar-width:thin; min-width:0; }
.sug-trilho .card { scroll-snap-align:start; }
.sug-trilho .card .nm { font-size:13px; }
.sug-ver { display:inline-flex; align-items:center; gap:6px; margin-top:6px; font-size:12.5px; font-weight:700; color:var(--cor-tx); }
.pd-rel { margin-top:26px; padding-top:18px; border-top:1px solid var(--bd); }
@media (max-width: 720px) {
    .sug-trilho { grid-auto-columns:min(44vw, 190px); gap:10px; }
    .sug-setas { display:none; }
}


/* Minha conta: sem sombra no avatar (04/10/2026) */
.conta-oi .av { box-shadow:none !important; }
.conta-oi .av { background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; }

/* Simulação da logo no KIT (04/10/2026): uma aba por item, mockup individual. */
.sim-kit-cab { display:flex; flex-direction:column; gap:2px; margin:4px 0 8px; }
.sim-kit-cab b { font-size:13.5px; }
.sim-kit-cab small { font-size:12px; color:var(--tx2); }
.sim-kit { display:flex; gap:8px; overflow-x:auto; padding:2px 2px 8px; scrollbar-width:thin; }
.sim-kit button { flex:none; display:flex; flex-direction:column; align-items:center; gap:4px; width:84px; padding:6px; border:1px solid var(--bd); border-radius:12px; background:var(--card); cursor:pointer; font-size:11.5px; font-weight:600; color:var(--tx); }
.sim-kit button.on { border-color:var(--cor); box-shadow:0 0 0 2px color-mix(in srgb, var(--cor) 25%, transparent); }
.sim-kit button.sem { opacity:.6; }
.sim-kit .sk-ft { width:56px; height:56px; border-radius:8px; background:#fff center/contain no-repeat; }
.sim-kit .sk-n { line-height:1.2; text-align:center; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.sim-kit small { font-size:10.5px; color:var(--tx3); font-weight:500; }
.sim-semlogo { margin:0 0 8px; }
.it2 .kit-sims { display:flex; gap:6px; flex-wrap:wrap; margin-top:5px; }
.it2 .kit-sims .ks { width:40px; height:40px; border-radius:8px; border:1px solid var(--bd); background:#fff center/cover no-repeat; }

/* Inscrição estadual em destaque pra CNPJ (04/10/2026) */
.c-ie-box { border:1.5px solid color-mix(in srgb, var(--cor) 45%, transparent); background:color-mix(in srgb, var(--cor) 6%, transparent); border-radius:12px; padding:12px 12px 4px; margin:2px 0 14px; }
.c-ie-box[hidden] { display:none; }
.c-ie-box > label:first-child { color:var(--tx); font-weight:700; }
.c-ie-box small { font-weight:500; color:var(--tx2); }
.c-ie-isento { font-size:13px; margin:6px 0 8px !important; }

/* Medidas na página do produto + área de gravação na simulação (06/10/2026) */
.pd-med { margin:18px 0 4px; padding:14px; border:1px solid var(--bd); border-radius:var(--r); background:var(--card); min-width:0; }
.pd-med h5 { margin:0 0 10px; font-size:14px; display:flex; align-items:center; gap:8px; }
.pd-med h5 i { color:var(--cor); }
.pd-med .dica { display:block; margin:10px 0 0; }
.md-area { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:12px; border:1.5px dashed var(--cor); background:color-mix(in srgb, var(--cor) 7%, #fff); margin-bottom:10px; }
.md-area-ic { width:40px; height:40px; flex:none; border-radius:10px; display:grid; place-items:center; background:var(--cor); color:#fff; font-size:18px; }
.md-area-t { display:flex; flex-direction:column; min-width:0; }
.md-area-t small { font-size:12px; color:var(--tx2); font-weight:600; }
.md-area-t b { font-size:19px; color:var(--cor-tx); line-height:1.2; }
.md-lista { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap:6px; }
.md-lista li { display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; background:var(--bg); font-size:13px; min-width:0; }
.md-lista li i { color:var(--tx3); width:16px; text-align:center; flex:none; }
.md-lista li span { color:var(--tx2); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.md-lista li b { white-space:nowrap; }
.md-kit { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.md-kit li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; padding:9px 11px; border-radius:10px; background:var(--bg); font-size:13px; min-width:0; }
.md-kit-n { font-weight:600; min-width:0; overflow-wrap:anywhere; }
.md-kit-a { color:var(--tx2); display:flex; align-items:center; gap:6px; }
.md-kit-a i { color:var(--cor); }
.md-kit-a b { color:var(--cor-tx); white-space:nowrap; }
.sim-area { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; margin:8px 0 2px; padding:9px 11px; border-radius:10px; font-size:13px; line-height:1.4; background:color-mix(in srgb, var(--cor) 6%, #fff); border:1px dashed color-mix(in srgb, var(--cor) 45%, #fff); color:var(--tx); }
.sim-area > i { color:var(--cor); flex:none; }
.sim-area > span { flex:1 1 220px; min-width:0; }
.sim-area .bt { flex:none; min-height:40px; }
.sim-area.ruim { background:#fef2f2; border:1.5px solid #dc2626; color:#7f1d1d; }
.sim-area.ruim > i { color:#dc2626; }
@media (max-width:720px) { .sim-area .bt { flex:1 1 100%; } .md-area-t b { font-size:17px; } }
.sim-area.ruim .bt.primario { background:#dc2626; border-color:#dc2626; }
/* Card enxuto + link de verdade (18/10/2026): o card virou <a href=".../p/<produto>">. A regra geral de
   link (cor da loja, linha 163) não pode pintar o card inteiro. */
body a.card.card:not(#_) { color:var(--tx) !important; text-decoration:none; }
.card .nm { min-height:2.7em; }
.card .pr .ver { font-size:12px; }
.card .selos .selo + .selo { display:none; }
.card .pr .min { flex-wrap:wrap; gap:4px 6px; }
.card .pr .min b { white-space:nowrap; }
