:root{
  --rosa:#FFABAB; --rosa-claro:#FFE6E4; --rosa-fundo:#FFF8F7;
  --vinho:#C0405A; --vinho-escuro:#9E2F47;
  --cinza:#969EA8; --escuro:#2F363D; --texto:#2F363D; --texto-suave:#5C646E;
  --borda:#F1E2E0; --verde:#1E7A5A; --raio:20px;
  --sombra:0 10px 30px rgba(47,54,61,.08); --sombra-forte:0 18px 40px rgba(47,54,61,.16);
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0}
body{background:var(--rosa-fundo);color:var(--texto);font-family:'Nunito Sans',Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--vinho)}
h1,h2,h3,.titulo{font-family:'Fredoka',Arial,sans-serif;font-weight:500;line-height:1.12;margin:0;letter-spacing:-.01em}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1360px;margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid var(--vinho);outline-offset:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:2px solid transparent;font:700 16px 'Nunito Sans',Arial,sans-serif;text-decoration:none;cursor:pointer;background:var(--vinho);color:#fff;transition:transform .2s var(--ease),background .2s,box-shadow .2s}
.btn:hover{background:var(--vinho-escuro);transform:translateY(-2px);box-shadow:0 8px 20px rgba(192,64,90,.3)}
.btn.linha{background:#fff;border-color:var(--escuro);color:var(--escuro)}
.btn.linha:hover{background:var(--escuro);color:#fff;box-shadow:none}
.btn.claro{background:#fff;color:var(--vinho)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.selo{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--rosa-claro);color:var(--vinho-escuro);font-size:13px;font-weight:700}

/* aviso no topo */
.barra-aviso{background:var(--escuro);color:#fff;font-size:14px;text-align:center;padding:8px 16px}
.barra-aviso b{color:var(--rosa)}

/* topo */
.topo{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:30}
.topo .wrap{display:flex;align-items:center;gap:22px;min-height:76px}
.topo .logo img{height:44px;width:auto}
.menu{display:flex;gap:22px}
.menu a{color:var(--texto);text-decoration:none;font-weight:700;position:relative;padding:6px 0}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--vinho);transform:scaleX(0);transition:transform .25s var(--ease)}
.menu a:hover::after,.menu a.ativo::after{transform:scaleX(1)}
.menu a.ativo{color:var(--vinho)}
.menu small{font-weight:700;color:var(--vinho);font-size:11px;background:var(--rosa-claro);padding:2px 6px;border-radius:999px;margin-left:4px}
.busca-topo{position:relative;flex:1;max-width:420px;margin-left:auto}
.busca-topo input{width:100%;height:46px;border-radius:999px;border:1px solid var(--borda);background:#fff;padding:0 18px 0 44px;font:inherit;color:var(--texto)}
.busca-topo svg{position:absolute;left:16px;top:13px;color:var(--cinza)}
.sugestoes{position:absolute;top:52px;left:0;right:0;background:#fff;border-radius:16px;box-shadow:var(--sombra-forte);overflow:hidden;z-index:40}
.sugestoes a{display:flex;gap:12px;align-items:center;padding:10px 14px;text-decoration:none;color:var(--texto);font-size:14px}
.sugestoes a:hover,.sugestoes a.ativa{background:var(--rosa-fundo)}
.sugestoes img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:8px}
.sugestoes b{color:var(--vinho);margin-left:auto;white-space:nowrap}
.sugestoes .todos{justify-content:center;font-weight:700;color:var(--vinho);border-top:1px solid var(--borda)}
.topo-dir{display:flex;gap:12px;align-items:center}
.lojista-link{font-size:14px;color:var(--texto-suave);text-decoration:none;font-weight:600;white-space:nowrap}
.lojista-link:hover{color:var(--vinho)}
.icone-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;border:1px solid var(--borda);background:#fff;color:var(--texto);cursor:pointer;transition:transform .2s var(--ease)}
.icone-btn:hover{transform:scale(1.06)}
.contador{position:absolute;top:-4px;right:-4px;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--vinho);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.contador.pulo{animation:pulo .5s var(--ease)}
@keyframes pulo{40%{transform:scale(1.4)}}

/* hero */
.hero{padding:40px 0 24px}
.hero-caixa{position:relative;border-radius:32px;overflow:hidden;min-height:520px;display:flex;align-items:flex-end;box-shadow:var(--sombra)}
.hero-caixa>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-caixa::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(47,54,61,.72) 0%,rgba(47,54,61,.35) 45%,rgba(47,54,61,0) 75%);z-index:1}
.hero-txt{position:relative;z-index:2;padding:48px;max-width:620px;color:#fff;display:flex;flex-direction:column;gap:18px}
.hero-txt .selo{background:rgba(255,255,255,.92)}
.hero h1{font-size:60px;font-weight:600}
.hero p{font-size:19px;margin:0;color:#F4F5F6}
.hero-acoes{display:flex;gap:12px;flex-wrap:wrap}

/* hero de ponta a ponta (página inicial) */
.hero.cheio{padding:0 0 24px}
.hero.cheio .hero-caixa{border-radius:0;box-shadow:none;min-height:clamp(440px,42vw,600px);align-items:center}
.hero.cheio .hero-caixa>img{object-position:center 40%}
.hero.cheio .hero-caixa::before{background:linear-gradient(90deg,rgba(47,54,61,.78) 0%,rgba(47,54,61,.45) 35%,rgba(47,54,61,0) 65%)}
.hero-dentro{position:relative;z-index:2;width:100%}
.hero.cheio .hero-txt{padding:48px 0}
.hero.cheio .confianca{margin-top:-44px;position:relative;z-index:3;padding-top:0}
.hero.cheio .confianca div{box-shadow:var(--sombra)}
@media(max-width:640px){.hero.cheio .hero-caixa{min-height:520px;align-items:flex-end}.hero.cheio .hero-caixa::before{background:linear-gradient(0deg,rgba(47,54,61,.85) 0%,rgba(47,54,61,.4) 55%,rgba(47,54,61,0) 85%)}.hero.cheio .hero-txt{padding:32px 0 64px}.hero.cheio .confianca{margin-top:-36px}}

/* confiança */
.confianca{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px 0 8px}
.confianca div{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:14px 16px;border:1px solid var(--borda);font-size:14px}
.confianca svg{flex:none;color:var(--vinho)}
.confianca b{display:block;font-size:15px}

/* seções */
.secao{padding:56px 0}
.secao.rosa{background:var(--rosa-claro)}
.cabeca-secao{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.cabeca-secao h2{font-size:36px}
.cabeca-secao p{margin:6px 0 0;color:var(--texto-suave)}
.cabeca-secao a{font-weight:700;text-decoration:none}

/* cães e gatos */
.especies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.especie{position:relative;border-radius:28px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;text-decoration:none;color:#fff;box-shadow:var(--sombra)}
.especie img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.especie::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(47,54,61,.7),rgba(47,54,61,0) 60%);z-index:1}
.especie:hover img{transform:scale(1.05)}
.especie div{position:relative;z-index:2;padding:28px}
.especie h3{font-size:36px;font-weight:600}
.especie span{font-weight:700;display:inline-flex;gap:6px;align-items:center}

/* departamentos */
.deps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dep-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 16px;align-items:center;background:#fff;border:1px solid var(--borda);border-radius:24px;padding:20px;text-decoration:none;color:var(--texto);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.dep-card:hover{transform:translateY(-4px);box-shadow:var(--sombra);border-color:var(--rosa)}
.dep-ic{grid-row:span 2;width:72px;height:72px;border-radius:22px;background:var(--rosa-claro);color:var(--vinho);display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
.dep-card:hover .dep-ic{background:var(--vinho);color:#fff}
.dep-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.dep-txt strong{font-family:'Fredoka',Arial,sans-serif;font-weight:500;font-size:19px;line-height:1.2}
.dep-txt small{font-size:13.5px;color:var(--texto-suave);line-height:1.35}
.dep-n{font-size:13px;font-weight:700;color:var(--vinho)}
@media(max-width:1080px){.deps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.deps{gap:10px}.dep-card{grid-template-columns:1fr;text-align:left;padding:16px;gap:8px}.dep-ic{grid-row:auto;width:56px;height:56px;border-radius:18px}.dep-ic svg{width:34px;height:34px}.dep-txt strong{font-size:16px}.dep-txt small{display:none}}

/* categorias (carrossel) */
.trilho{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;scrollbar-width:thin}
.cat-card{flex:0 0 168px;scroll-snap-align:start;background:#fff;border-radius:24px;padding:16px;text-decoration:none;color:var(--texto);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;border:1px solid var(--borda);transition:transform .25s var(--ease),box-shadow .25s}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.cat-card .circ{width:112px;height:112px;border-radius:999px;background:var(--rosa-fundo);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cat-card .circ img{width:84%;height:84%;object-fit:contain}
.cat-card strong{font-family:'Fredoka',Arial,sans-serif;font-weight:500;font-size:16px;line-height:1.2}
.cat-card span{font-size:13px;color:var(--texto-suave)}

/* produtos */
.grade{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.prod{position:relative;background:#fff;border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--borda);transition:transform .25s var(--ease),box-shadow .25s;animation:surgir .45s var(--ease) both}
.prod:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
@keyframes surgir{from{opacity:0;transform:translateY(12px)}}
.prod .abrir{all:unset;cursor:pointer;display:flex;flex-direction:column;flex:1}
.prod .abrir:focus-visible{outline:3px solid var(--vinho);outline-offset:-3px}
.prod .foto{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}
.prod .foto img{max-height:100%;object-fit:contain;transition:transform .4s var(--ease)}
.prod:hover .foto img{transform:scale(1.06)}
.prod .info{padding:4px 16px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.prod .marca{font-size:12px;color:var(--cinza);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.prod .nome{font-weight:700;font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod .opcoes{font-size:12px;color:var(--texto-suave)}
.prod .preco{margin-top:auto;padding-top:8px;font-family:'Fredoka',Arial,sans-serif;font-size:23px;color:var(--escuro)}
.prod .preco small{font-family:'Nunito Sans',Arial,sans-serif;font-size:12px;color:var(--texto-suave)}
.prod .etiquetas{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:2;pointer-events:none}
.etq{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#fff;color:var(--vinho-escuro);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.etq.alerta{background:var(--vinho);color:#fff}
.add-rapido{position:absolute;right:12px;bottom:14px;width:46px;height:46px;border-radius:999px;border:none;background:var(--vinho);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(192,64,90,.35);transition:transform .2s var(--ease),background .2s;z-index:2}
.add-rapido:hover{transform:scale(1.1);background:var(--vinho-escuro)}
.add-rapido.ok{background:var(--verde)}

/* faixa com foto */
.faixa-foto{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:#fff;border-radius:32px;overflow:hidden;box-shadow:var(--sombra)}
.faixa-foto img{width:100%;height:100%;object-fit:cover;min-height:320px}
.faixa-foto .txt{padding:44px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.faixa-foto h2{font-size:36px}
.faixa-foto ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.faixa-foto li{display:flex;gap:10px;align-items:flex-start}
.faixa-foto li::before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:999px;background:var(--rosa-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C0405A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat}
.banda{border-radius:28px;overflow:hidden;position:relative;min-height:220px;display:flex;align-items:center}
.banda img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banda::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(47,54,61,.82),rgba(47,54,61,.25));z-index:1}
.banda .txt{position:relative;z-index:2;padding:36px;color:#fff;display:flex;flex-direction:column;gap:12px;max-width:620px}
.banda h2{font-size:32px}
.banda p{margin:0;color:#EEF0F2}

/* loja */
.loja-topo{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}
.loja-topo input,.loja-topo select{height:48px;border-radius:999px;border:1px solid var(--borda);padding:0 18px;font:inherit;background:#fff;color:var(--texto)}
.loja-topo input{flex:1 1 260px}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:18px;scrollbar-width:thin}
.chip{flex:none;min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--borda);background:#fff;font:700 14px 'Nunito Sans',Arial,sans-serif;color:var(--texto);cursor:pointer;transition:background .2s,color .2s}
.chip:hover{border-color:var(--rosa)}
.chip[aria-pressed="true"]{background:var(--escuro);border-color:var(--escuro);color:#fff}
.chips.pets .chip[aria-pressed="true"]{background:var(--vinho);border-color:var(--vinho)}
.vazio{padding:40px;text-align:center;color:var(--texto-suave);grid-column:1/-1}

/* janela do produto */
dialog{border:none;border-radius:28px;padding:0;max-width:940px;width:calc(100% - 24px);color:var(--texto);box-shadow:var(--sombra-forte)}
dialog[open]{animation:abrir .3s var(--ease)}
@keyframes abrir{from{opacity:0;transform:translateY(20px) scale(.98)}}
dialog::backdrop{background:rgba(47,54,61,.55);backdrop-filter:blur(3px)}
.janela{display:flex;flex-wrap:wrap}
.janela .foto{flex:1 1 360px;background:#fff;padding:28px;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}
.janela .foto>img{max-height:400px;object-fit:contain}
.miniaturas{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.miniaturas button{width:56px;height:56px;border-radius:12px;border:2px solid var(--borda);background:#fff;padding:4px;cursor:pointer}
.miniaturas button[aria-pressed="true"]{border-color:var(--vinho)}
.miniaturas img{width:100%;height:100%;object-fit:contain}
.janela .dados{flex:1 1 340px;padding:32px;display:flex;flex-direction:column;gap:14px;background:var(--rosa-fundo)}
.janela h2{font-size:28px}
.janela .preco{font-family:'Fredoka',Arial,sans-serif;font-size:36px;color:var(--vinho)}
.janela .rotulo{font-weight:700;font-size:14px}
.cores{display:flex;flex-wrap:wrap;gap:8px}
.cores button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--borda);background:#fff;font:600 14px 'Nunito Sans',Arial,sans-serif;cursor:pointer;color:var(--texto)}
.cores button[aria-pressed="true"]{border:2px solid var(--vinho);color:var(--vinho)}
.qtd-linha{display:flex;gap:12px;align-items:center}
.qtd{display:flex;align-items:center;background:#fff;border:1px solid var(--borda);border-radius:999px}
.qtd button{width:44px;height:44px;border-radius:999px;border:none;background:none;font-size:20px;cursor:pointer;color:var(--texto)}
.qtd span{min-width:28px;text-align:center;font-weight:700}
.janela .desc{font-size:15px;color:var(--texto-suave);max-height:170px;overflow:auto}
.estoque-info{font-size:13px;color:var(--vinho-escuro);font-weight:700}
.fechar{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:999px;border:none;background:#fff;cursor:pointer;font-size:24px;color:var(--texto);z-index:3;box-shadow:0 2px 10px rgba(0,0,0,.1)}

/* gaveta do carrinho */
.gaveta{position:fixed;inset:0;z-index:60;pointer-events:none}
.gaveta .fundo{position:absolute;inset:0;background:rgba(47,54,61,.45);opacity:0;transition:opacity .3s}
.gaveta .painel{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;transform:translateX(100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;box-shadow:var(--sombra-forte)}
.gaveta.aberta{pointer-events:auto}
.gaveta.aberta .fundo{opacity:1}
.gaveta.aberta .painel{transform:none}
.gaveta header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--borda)}
.gaveta header h2{font-size:24px}
.gaveta .lista{flex:1;overflow:auto;padding:12px 22px;display:flex;flex-direction:column;gap:12px}
.gaveta footer{padding:18px 22px;border-top:1px solid var(--borda);display:flex;flex-direction:column;gap:12px}
.mini-item{display:flex;gap:12px;align-items:center}
.mini-item img{width:64px;height:64px;object-fit:contain;border-radius:12px;background:var(--rosa-fundo)}
.mini-item .nome{flex:1;font-size:14px;font-weight:700;line-height:1.3}
.mini-item .nome small{display:block;font-weight:400;color:var(--texto-suave)}
.mini-item .qtd button{width:34px;height:34px;font-size:16px}
.frete-barra{background:var(--rosa-fundo);border-radius:14px;padding:12px 14px;font-size:14px}
.frete-barra .trilha{height:8px;border-radius:999px;background:#fff;margin-top:8px;overflow:hidden}
.frete-barra .trilha div{height:100%;background:linear-gradient(90deg,var(--rosa),var(--vinho));border-radius:999px;transition:width .5s var(--ease)}
.total-linha{display:flex;justify-content:space-between;font-weight:700}
.total-linha span:last-child{font-family:'Fredoka',Arial,sans-serif;font-size:24px;color:var(--vinho)}

/* carrinho (página) */
.duas-col{display:grid;gap:24px;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start}
.item{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:14px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.item img{width:84px;height:84px;object-fit:contain}
.item .nome{flex:1 1 220px;font-weight:700}
.item .nome small{display:block;font-weight:400;color:var(--texto-suave)}
.remover{background:none;border:none;color:var(--vinho);cursor:pointer;font:700 14px 'Nunito Sans',Arial,sans-serif;min-height:44px}
.resumo{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:24px;display:flex;flex-direction:column;gap:12px;position:sticky;top:96px}
.resumo .linha{display:flex;justify-content:space-between;gap:12px}
.lista-carrinho{display:flex;flex-direction:column;gap:12px}

/* toast e whatsapp */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:var(--escuro);color:#fff;padding:12px 20px;border-radius:999px;font-weight:700;z-index:70;transition:transform .35s var(--ease);display:flex;gap:10px;align-items:center}
.toast.mostrar{transform:translate(-50%,0)}
.toast button{background:none;border:none;color:var(--rosa);font:700 14px 'Nunito Sans',Arial,sans-serif;cursor:pointer;min-height:36px}
.whats{position:fixed;right:20px;bottom:20px;width:60px;height:60px;border-radius:999px;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.2);z-index:50;transition:transform .2s var(--ease)}
.whats:hover{transform:scale(1.08)}

/* caixas */
.caixa{background:#fff;border:1px solid var(--borda);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:14px}
.caixa label{font-weight:700;font-size:14px}
.caixa input{height:48px;border-radius:12px;border:1px solid var(--borda);padding:0 14px;font:inherit}
.pilares{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pilar{background:#fff;border-radius:24px;padding:28px;border:1px solid var(--borda);display:flex;flex-direction:column;gap:10px;transition:transform .25s var(--ease)}
.pilar:hover{transform:translateY(-4px)}
.pilar h3{font-size:24px;color:var(--vinho)}
.pilar p{margin:0}

/* rodapé */
.rodape{background:var(--escuro);color:#DDE1E5;padding:52px 0 32px;margin-top:40px}
.rodape .colunas{display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between}
.rodape img{height:44px;width:auto;margin-bottom:10px}
.rodape a{color:var(--rosa)}
.rodape h3{color:#fff;font-size:17px;margin-bottom:10px}
.rodape p{margin:5px 0;font-size:14px}
.rodape .base{margin-top:32px;padding-top:20px;border-top:1px solid #465059;font-size:13px;color:#B9C0C7}

/* animação ao rolar */
@media (prefers-reduced-motion:no-preference){
  .revelar{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .revelar.visivel{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:980px){
  .busca-topo{order:4;flex-basis:100%;max-width:none;margin:0 0 12px}
  .topo .wrap{flex-wrap:wrap;gap:14px}
  .topo-dir{margin-left:auto}
  .confianca{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faixa-foto{grid-template-columns:1fr}
  .faixa-foto img{min-height:220px;max-height:280px}
  .duas-col{grid-template-columns:1fr}
}
@media(max-width:640px){
  .menu{order:3;flex-basis:100%;gap:18px;overflow-x:auto}
  .lojista-link{display:none}
  .topo .logo img{height:38px}
  .hero{padding:16px 0}
  .hero-caixa{min-height:460px;border-radius:24px}
  .hero-caixa::before{background:linear-gradient(0deg,rgba(47,54,61,.8) 0%,rgba(47,54,61,.3) 60%,rgba(47,54,61,0) 100%)}
  .hero-txt{padding:24px}
  .hero h1{font-size:38px}
  .hero p{font-size:16px}
  .especies{grid-template-columns:1fr 1fr;gap:12px}
  .especie{min-height:200px;border-radius:20px}
  .especie div{padding:16px}
  .especie h3{font-size:24px}
  .cabeca-secao h2,.faixa-foto h2{font-size:28px}
  .secao{padding:40px 0}
  .grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .prod .info{padding:2px 12px 14px}
  .prod .preco{font-size:19px}
  .add-rapido{width:40px;height:40px;right:8px;bottom:10px}
  .faixa-foto .txt{padding:28px}
  .confianca div{padding:12px;font-size:13px}
  .whats{width:54px;height:54px;right:14px;bottom:14px}
}
.toast{visibility:hidden}
.toast.mostrar{visibility:visible}
@media(max-width:640px){.confianca{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.confianca div{flex:0 0 78%;scroll-snap-align:start}}
.politica{background:#fff;border:1px solid var(--borda);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:110px}
.politica h3{font-family:'Fredoka',Arial,sans-serif;font-weight:500;font-size:20px;margin-top:8px;color:var(--vinho)}
.politica p,.politica ul{margin:0}
.politica li{margin-bottom:6px}
.campos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo.c2{grid-column:span 2}.campo.c3{grid-column:span 3}.campo.c4{grid-column:span 4}.campo.c6{grid-column:span 6}
.campo input{width:100%}
.campo input[aria-invalid="true"]{border-color:var(--vinho);background:#FFF5F6}
.rotulo-vazio{font-size:14px}
.opcoes-frete{display:flex;flex-direction:column;gap:8px}
.opcao-frete{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--borda);border-radius:14px;cursor:pointer;background:#fff}
.opcao-frete:has(input:checked){border:2px solid var(--vinho);background:var(--rosa-fundo)}
.opcao-frete span{flex:1}
.opcao-frete small{display:block;color:var(--texto-suave)}
.opcao-frete b.gratis{color:var(--verde)}
.aceite{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:600}
.aceite input{width:20px;height:20px;margin-top:2px}
.erro-checkout{margin:0;color:var(--vinho-escuro);background:#FFF0F2;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:700}
@media(max-width:640px){.campos{grid-template-columns:repeat(2,minmax(0,1fr))}.campo.c2,.campo.c3,.campo.c4,.campo.c6{grid-column:span 2}.campo.c2:has(#numero),.campo.c2:has(#uf){grid-column:span 1}}
.migalhas{font-size:14px;color:var(--texto-suave);margin-bottom:18px}
.migalhas a{color:var(--texto-suave);text-decoration:none}
.migalhas a:hover{color:var(--vinho)}
.pagina-produto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.pp-foto{background:#fff;border-radius:28px;border:1px solid var(--borda);padding:32px;display:flex;justify-content:center}
.pp-foto img{max-height:480px;width:auto;object-fit:contain}
.pp-dados{display:flex;flex-direction:column;gap:14px}
.pp-dados h1{font-size:36px}
.pp-preco{font-family:'Fredoka',Arial,sans-serif;font-size:38px;color:var(--vinho);margin:0}
.pp-opcoes{margin:0;color:var(--texto-suave)}
.pp-dados .btn{align-self:flex-start}
.pp-selos{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pp-selos li{background:var(--rosa-claro);color:var(--vinho-escuro);font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px}
.pp-desc{background:#fff;border:1px solid var(--borda);border-radius:20px;padding:24px;margin-top:8px}
.pp-desc h2{font-size:22px;margin-bottom:8px}
.pp-desc p{margin:0;color:var(--texto-suave)}
@media(max-width:820px){.pagina-produto{grid-template-columns:1fr;gap:20px}.pp-dados h1{font-size:28px}.pp-foto{padding:16px}}

/* ---------- blog ---------- */
.blog-topo{padding:48px 0 28px;background:linear-gradient(180deg,var(--rosa-claro),transparent)}
.blog-topo h1{font-size:clamp(34px,5vw,56px);font-weight:600;margin:14px 0 10px;max-width:760px}
.blog-topo p{font-size:18px;color:var(--texto-suave);margin:0 0 22px;max-width:620px}
.posts-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--borda);border-radius:24px;overflow:hidden;text-decoration:none;color:var(--texto);transition:transform .25s var(--ease),box-shadow .25s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--sombra)}
.post-card[hidden]{display:none!important}
.post-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--rosa-claro)}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post-card:hover .post-img img{transform:scale(1.05)}
.post-txt{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.post-tema{display:inline-block;align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vinho);background:var(--rosa-claro);padding:4px 10px;border-radius:999px}
.post-txt strong{font-family:'Fredoka',Arial,sans-serif;font-weight:500;font-size:21px;line-height:1.25}
.post-desc{font-size:15px;color:var(--texto-suave);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-meta{margin-top:auto;padding-top:6px;font-size:13.5px;font-weight:700;color:var(--vinho)}
.post-card.destaque{display:grid;grid-template-columns:1.35fr 1fr;margin-bottom:28px}
.post-card.destaque .post-img{aspect-ratio:auto;min-height:380px}
.post-card.destaque .post-txt{justify-content:center;padding:40px}
.post-card.destaque strong{font-size:clamp(26px,3vw,38px)}
.post-card.destaque .post-desc{font-size:17px;-webkit-line-clamp:4}
.post-card.destaque .post-meta{margin-top:12px}
@media(max-width:980px){.posts-grade{grid-template-columns:repeat(2,minmax(0,1fr))}.post-card.destaque{grid-template-columns:1fr}.post-card.destaque .post-img{min-height:0;aspect-ratio:16/9}.post-card.destaque .post-txt{padding:24px}}
@media(max-width:620px){.posts-grade{grid-template-columns:1fr;gap:18px}}

.wrap.estreito{max-width:820px}
.artigo-topo{padding:36px 0 28px;background:linear-gradient(180deg,var(--rosa-claro),transparent)}
.artigo-topo .migalhas{margin-bottom:18px}
.artigo-topo h1{font-size:clamp(32px,4.6vw,52px);font-weight:600;line-height:1.12;margin:14px 0 14px}
.artigo-linha{font-size:20px;line-height:1.5;color:var(--texto-suave);margin:0 0 22px}
.artigo-meta{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--texto-suave);margin:0}
.artigo-meta b{color:var(--texto)}
.avatar{width:44px;height:44px;border-radius:999px;background:var(--vinho);color:#fff;display:flex;align-items:center;justify-content:center;font:600 19px 'Fredoka',Arial,sans-serif;flex:none}
.artigo-capa{margin:8px auto 0;max-width:1180px}
.artigo-capa img{width:100%;max-height:640px;object-fit:cover;border-radius:28px;box-shadow:var(--sombra)}
.artigo-corpo{padding:40px 20px 56px;font-size:18.5px;line-height:1.8}
.artigo-corpo p{margin:0 0 1.15em}
.artigo-corpo h2{font-family:'Fredoka',Arial,sans-serif;font-weight:500;font-size:clamp(24px,2.6vw,30px);line-height:1.25;margin:1.6em 0 .55em;color:var(--escuro)}
.artigo-corpo h2::before{content:"";display:block;width:36px;height:4px;border-radius:4px;background:var(--rosa);margin-bottom:12px}
.artigo-corpo>p:first-child{font-size:21px;line-height:1.65}
.aviso-vet{font-size:15px!important;line-height:1.55;background:var(--rosa-claro);border-radius:16px;padding:14px 18px;margin-top:28px!important}
.compartilhar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:32px;padding-top:24px;border-top:1px solid var(--borda);font-size:15px;font-weight:700}
.compartilhar .chip{text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:640px){.artigo-capa{padding:0}.artigo-capa img{border-radius:0;max-height:360px}.artigo-corpo{font-size:17.5px}.artigo-corpo>p:first-child{font-size:19px}.artigo-linha{font-size:18px}}
/* esgotado: continua visível, sem preço, com "Avise-me quando chegar" */
.prod.esgotado .foto img{opacity:.55;filter:grayscale(.35)}
.preco.consulta{font-size:14px;color:var(--vinho)}
.cores button.sem-estoque{opacity:.55;text-decoration:line-through}
.qtd-linha[hidden],.btn[hidden]{display:none!important}
.cupom-caixa{display:flex;flex-direction:column;gap:6px;margin:6px 0 4px}
.cupom-caixa label{font-weight:700;font-size:14px}
.cupom-linha{display:flex;gap:8px}.cupom-linha input{flex:1;min-width:0;text-transform:uppercase}
.cupom-linha .btn{padding:10px 16px}
#cupom-msg.ok{color:#1d7a3e}#cupom-msg.erro{color:#9b2c2c}
#linha-desconto span:last-child{color:#1d7a3e;font-weight:700}
.cupom-linha input{height:44px;border-radius:12px;border:1px solid var(--borda);padding:0 12px;font:inherit;background:#fff}
