/* ===== Petvence loja (estilo vitrine pet: faixa, busca, categorias, banners, vitrines) ===== */

/* faixa de avisos */
.avisos{background:var(--rosa);color:#fff;font-weight:700;font-size:13.5px;overflow:hidden}
.avisos-trilho{display:flex;width:max-content;white-space:nowrap;animation:pv-rola 40s linear infinite}
.avisos-trilho span{padding:8px 28px}
.avisos:hover .avisos-trilho{animation-play-state:paused}
@keyframes pv-rola{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* topo */
header.topo{position:sticky;top:0;z-index:50;background:#fff;border-bottom:0;box-shadow:0 6px 20px rgba(224,87,143,.08);backdrop-filter:none}
.topo-linha{display:grid;grid-template-columns:auto minmax(200px,1fr) auto;gap:30px;align-items:center;min-height:84px}
.topo-menu-btn{display:none;border:0;background:var(--rosa-cl);color:var(--coral2);width:44px;height:44px;border-radius:14px;cursor:pointer;place-items:center}
.topo-menu-btn svg{width:24px;height:24px}
.busca{display:flex;background:var(--creme);border:2px solid var(--borda);border-radius:999px;overflow:hidden;max-width:640px;width:100%;justify-self:center;transition:border-color .2s,box-shadow .2s,background .2s}
.busca:focus-within{border-color:#f5a3c3;background:#fff;box-shadow:0 0 0 4px #ffe4ef}
.busca input{flex:1;min-width:0;border:0;background:transparent;padding:13px 20px;font:inherit;font-size:16px;color:var(--texto);outline:none}
.busca input::placeholder{color:#b49aa9}
.busca button{border:0;background:var(--rosa);color:#fff;width:50px;margin:4px;border-radius:999px;cursor:pointer;display:grid;place-items:center;transition:transform .2s}
.busca button:hover{transform:scale(1.08)}
.busca button svg{width:20px;height:20px}
.topo-acoes{display:flex;gap:22px;align-items:center}
.acao{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--suave);font-size:12.5px;line-height:1.15;position:relative;font-weight:600}
.acao svg{width:30px;height:30px;color:var(--coral2);flex:none;transition:transform .3s}
.acao span b{display:block;font-size:15px;font-family:'Baloo 2',sans-serif;color:var(--azul);font-weight:700}
.acao:hover span b{color:var(--coral2)}
.acao:hover svg{animation:pv-pulo .5s}
.acao-zap svg{color:#25d366}
.qtd{position:absolute;left:18px;top:-7px;background:var(--coral2);color:#fff;font-style:normal;font-size:11px;font-weight:800;min-width:20px;height:20px;padding:0 4px;border-radius:999px;display:grid;place-items:center;border:2px solid #fff}
.qtd.vazio{background:#d9c4cf}

.cats-menu{border-top:1px solid var(--borda);background:#fff}
.cats-trilho{display:flex;gap:4px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-top:6px;padding-bottom:6px}
.cats-trilho>a:first-child,.circulos-trilho>a:first-child{margin-left:auto}
.cats-trilho>a:last-child,.circulos-trilho>a:last-child{margin-right:auto}
.cats-trilho::-webkit-scrollbar{display:none}
.cats-trilho a{display:flex;align-items:center;gap:6px;text-decoration:none;font-weight:700;color:var(--azul);padding:8px 12px;border-radius:999px;white-space:nowrap;font-size:14.5px;transition:background .2s,color .2s,transform .25s cubic-bezier(.3,1.7,.5,1)}
.cats-trilho a span{display:inline-block;transition:transform .35s cubic-bezier(.3,1.7,.5,1)}
.cats-trilho a:hover{background:var(--rosa-cl);color:var(--coral2);transform:translateY(-2px)}
.cats-trilho a:hover span{transform:rotate(-14deg) scale(1.3)}
.cats-trilho a.cats-saude{background:var(--rosa-cl);color:var(--coral2)}

@media(max-width:1100px){
  .topo-acoes{gap:14px}
  .acao span{display:none}
}
@media(max-width:860px){
  .topo-linha{grid-template-columns:auto 1fr auto;grid-template-areas:"btn logo acoes" "busca busca busca";gap:10px 12px;min-height:0;padding-top:10px;padding-bottom:12px}
  .topo-menu-btn{display:grid;grid-area:btn}
  .topo .logo{grid-area:logo;font-size:25px}
  .topo .logo svg{width:42px;height:42px}
  .topo .logo .nome:after{display:none}
  .topo-acoes{grid-area:acoes;gap:12px}
  .acao svg{width:28px;height:28px}
  .acao-saude{display:none}
  .busca{grid-area:busca;max-width:none}
  .busca input{padding:11px 16px}
  .cats-menu.aberto .cats-trilho>a:first-child{margin-left:0}
  .cats-menu.aberto .cats-trilho{flex-wrap:wrap;justify-content:flex-start}
}

/* aviso flutuante */
.toast{position:fixed;right:18px;top:18px;z-index:80;background:#fff;border:2px solid var(--borda);border-radius:20px;padding:14px 16px;display:flex;gap:12px;align-items:center;box-shadow:0 18px 40px rgba(224,87,143,.25);animation:pv-entra .45s cubic-bezier(.3,1.5,.5,1);max-width:440px;transition:opacity .4s,transform .4s}
.toast b{display:block;color:var(--azul);font-family:'Baloo 2',sans-serif;font-size:17px;line-height:1.2}
.toast small{color:var(--suave);font-size:13px;display:block}
.toast .btn{padding:9px 14px;font-size:14px;white-space:nowrap}
.toast-ico{font-size:28px}
.toast-x{border:0;background:none;font-size:24px;color:var(--suave);cursor:pointer;line-height:1}
.toast.sai{opacity:0;transform:translateY(-10px)}
.toast-aviso{border-color:#f5c9a3}
@keyframes pv-entra{from{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:600px){.toast{left:12px;right:12px;top:auto;bottom:12px}}

/* banners */
.banners{padding:22px 0 6px}
.banners-caixa{position:relative}
.banners-trilho{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:32px;scrollbar-width:none;box-shadow:0 14px 34px rgba(224,87,143,.16)}
.banners-trilho::-webkit-scrollbar{display:none}
.banner{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:20px;min-height:360px;padding:40px 72px;position:relative;overflow:hidden}
.banner:before,.banner:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.banner:before{width:520px;height:520px;right:-120px;top:-150px;background:rgba(255,255,255,.35)}
.banner:after{width:180px;height:180px;left:38%;bottom:-110px;background:rgba(255,255,255,.25)}
.banner-rosa{background:linear-gradient(120deg,#ffd6e5,#f7a8c8)}
.banner-lilas{background:linear-gradient(120deg,#fbe3f1,#e9c6f0)}
.banner-pessego{background:linear-gradient(120deg,#ffe7dc,#ffc4cf)}
.banner-tx{position:relative;z-index:1}
.banner-tag{display:inline-block;background:#fff;color:var(--coral2);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:4px 14px;border-radius:999px;margin-bottom:12px}
.banner h2{font-size:clamp(28px,4.2vw,50px);color:var(--azul);font-weight:800;line-height:1.05;margin-bottom:12px}
.banner p{font-size:18px;color:#6b4a5d;max-width:520px;margin-bottom:22px}
.banner .btn{font-size:17px;padding:14px 28px}
.banner-arte{position:relative;z-index:1;display:grid;place-items:center}
.banner-arte img{width:min(300px,100%);aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px solid #fff;box-shadow:0 18px 40px rgba(160,40,90,.22)}
.banner-emoji{position:relative;width:260px;height:260px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 18px 40px rgba(160,40,90,.18)}
.banner-emoji svg{width:170px;height:170px}
.banner-emoji span{position:absolute;font-size:64px;animation:pv-flutua 4s ease-in-out infinite}
.banner-emoji span:nth-child(1){top:18%;left:22%}
.banner-emoji span:nth-child(2){bottom:10%;right:4%;animation-delay:-1.3s}
.banner-emoji span:nth-child(3){top:2%;right:12%;font-size:46px;animation-delay:-2.6s}
.banner-emoji svg+span{top:-4%;left:auto;right:-2%}
.banner-emoji svg+span+span{top:auto;bottom:0;left:-4%;right:auto;font-size:48px}
@keyframes pv-flutua{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(6deg)}}
.banner-seta{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--coral2);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(160,40,90,.2);z-index:2;transition:transform .2s}
.banner-seta:hover{transform:translateY(-50%) scale(1.1)}
.banner-seta.ant{left:14px}.banner-seta.prox{right:14px}
.banner-pontos{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:7px;z-index:2}
.banner-pontos button{width:9px;height:9px;border-radius:999px;border:0;background:rgba(255,255,255,.75);cursor:pointer;padding:0;transition:width .3s,background .3s}
.banner-pontos button.on{width:28px;background:var(--coral2)}
@media(max-width:760px){
  .banners{padding-top:14px}
  .banners-trilho{border-radius:24px}
  .banner{grid-template-columns:1fr 110px;gap:12px;min-height:0;padding:24px 20px 40px}
  .banner h2{font-size:25px}
  .banner p{font-size:15px;margin-bottom:16px}
  .banner .btn{font-size:15px;padding:11px 18px}
  .banner-arte img{width:110px;border-width:5px}
  .banner-emoji{width:110px;height:110px}
  .banner-emoji svg{width:74px;height:74px}
  .banner-emoji span{font-size:30px}
  .banner-emoji span:nth-child(3){font-size:24px}
  .banner-seta{display:none}
  .banner-tag{font-size:11px}
}

/* compre por categoria */
.circulos{padding:34px 0 10px}
.circulos h2,.vitrine-topo h2{font-size:clamp(24px,3vw,32px);margin:0}
.circulos h2{text-align:center;margin-bottom:18px}
.circulos-trilho{display:flex;gap:18px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:6px 4px 10px}
.circulos-trilho::-webkit-scrollbar{display:none}
.circulo{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;width:116px}
.circulo-ft{width:104px;height:104px;border-radius:50%;background:linear-gradient(145deg,#fff0f6,#ffc9dc);display:grid;place-items:center;font-size:44px;border:4px solid #fff;box-shadow:0 0 0 2px #ffd1e1,0 8px 18px rgba(224,87,143,.14);overflow:hidden;transition:transform .3s cubic-bezier(.3,1.7,.5,1),box-shadow .3s}
.circulo-ft img{width:100%;height:100%;object-fit:cover}
.circulo b{font-size:14px;color:var(--azul);text-align:center;line-height:1.2;font-family:'Baloo 2',sans-serif;font-weight:700}
.circulo:hover .circulo-ft{transform:translateY(-5px) rotate(-6deg);box-shadow:0 0 0 3px #f5a3c3,0 14px 26px rgba(224,87,143,.24)}
.circulo:hover b{color:var(--coral2)}
.circulo-saude .circulo-ft{background:linear-gradient(145deg,#ffe0eb,#f7a8c8)}
@media(max-width:860px){.circulo{width:92px}.circulo-ft{width:82px;height:82px;font-size:34px}}

/* vitrines */
.vitrine{padding:30px 0}
.vitrine-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}
.vitrine-topo .sub{font-size:15px;margin-top:2px}
.vitrine-nav{display:flex;align-items:center;gap:8px;flex:none}
.ver-tudo{font-weight:800;color:var(--coral2);text-decoration:none;margin-right:6px;white-space:nowrap}
.ver-tudo:hover{text-decoration:underline}
.seta-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--borda);background:#fff;color:var(--coral2);font-size:26px;line-height:1;cursor:pointer;transition:background .2s,transform .2s}
.seta-btn:hover{background:var(--rosa-cl);transform:scale(1.08)}
.vitrine-trilho{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 64px)/5);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;scrollbar-width:none}
.vitrine-trilho::-webkit-scrollbar{display:none}
.vitrine-trilho>*{scroll-snap-align:start}
@media(max-width:1100px){.vitrine-trilho{grid-auto-columns:calc((100% - 48px)/4)}}
@media(max-width:860px){.vitrine-trilho{grid-auto-columns:calc((100% - 32px)/3)}}
@media(max-width:620px){.vitrine-trilho{grid-auto-columns:calc((100% - 16px)/2.15)}.seta-btn{display:none}}

/* card de produto */
.pcard{background:#fff;border:2px solid var(--borda);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;min-width:0}
.pcard:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(224,87,143,.16);border-color:#f5a3c3}
.pcard-ft{position:relative;aspect-ratio:1;background:linear-gradient(145deg,#fff7fa,#ffe6ef);display:grid;place-items:center;overflow:hidden;text-decoration:none}
.pcard-ft img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.pcard:hover .pcard-ft img{transform:scale(1.06)}
.pcard-emoji{font-size:72px;transition:transform .45s cubic-bezier(.3,1.7,.5,1)}
.pcard:hover .pcard-emoji{transform:rotate(-10deg) scale(1.1)}
.pcard-selos{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.selo-p,.selo-desc{font-style:normal;font-weight:800;font-size:12px;padding:3px 10px;border-radius:999px;line-height:1.5}
.selo-desc{background:var(--coral2);color:#fff}
.selo-p{background:#fff;color:var(--coral2);box-shadow:0 2px 8px rgba(160,40,90,.12)}
.pcard-esg{position:absolute;left:0;right:0;bottom:0;background:rgba(91,58,79,.82);color:#fff;text-align:center;font-weight:800;padding:6px;font-size:14px}
.pcard.esgotado .pcard-ft img,.pcard.esgotado .pcard-emoji{filter:grayscale(.7);opacity:.6}
.pcard-tx{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1;gap:3px}
.pcard-marca{font-size:12px;font-weight:700;color:var(--suave);text-transform:uppercase;letter-spacing:.05em}
.pcard-nome{font-weight:700;color:var(--texto);text-decoration:none;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.pcard-nome:hover{color:var(--coral2)}
.pcard-preco{margin-top:auto;padding-top:6px}
.pcard-preco s{display:block;font-size:13px;color:var(--suave)}
.pcard-preco b{font-family:'Baloo 2',sans-serif;font-size:24px;color:var(--azul);font-weight:800;line-height:1.1}
.pcard-preco.grande s{font-size:16px}
.pcard-preco.grande b{font-size:40px}
.pcard form{margin:0}
.pcard-btn{width:100%;margin-top:10px;padding:10px 12px;font-size:15px}
.pcard-btn svg{width:18px;height:18px}

/* blocos coloridos */
.blocos{padding:14px 0 18px}
.blocos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bloco{position:relative;overflow:hidden;border-radius:28px;min-height:170px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;color:#fff;box-shadow:0 12px 28px rgba(224,87,143,.18);transition:transform .25s,box-shadow .25s}
.bloco:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-70px;top:-60px;background:rgba(255,255,255,.24)}
.bloco:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;left:40%;bottom:-50px;background:rgba(255,255,255,.18)}
.bloco:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(224,87,143,.28)}
.bloco>div{position:relative;z-index:1}
.bloco small{display:block;font-weight:700;opacity:.95;font-size:14px}
.bloco b{font-family:'Baloo 2',sans-serif;font-size:32px;font-weight:800;line-height:1.05;display:block;text-shadow:0 2px 10px rgba(160,40,90,.18)}
.bloco-seta{display:inline-block;white-space:nowrap;margin-top:12px;background:#fff;color:var(--coral2);padding:5px 14px;border-radius:999px;font-weight:800;font-size:14px}
.bloco-emoji{font-size:84px;position:relative;z-index:1;transition:transform .35s cubic-bezier(.3,1.7,.5,1)}
.bloco:hover .bloco-emoji{transform:rotate(-10deg) scale(1.12)}
.bloco-cao{background:linear-gradient(135deg,#f7a8c8,#e0578f)}
.bloco-gato{background:linear-gradient(135deg,#f3b4d6,#c86fb0)}
.bloco-saude{background:linear-gradient(135deg,#ffd9e6,#f59ec0);color:var(--azul)}
.bloco-saude b{text-shadow:none}
@media(max-width:860px){.blocos-grid{grid-template-columns:1fr;gap:12px}.bloco{min-height:120px;padding:20px 22px}.bloco b{font-size:26px}.bloco-emoji{font-size:62px}}

/* plano de saúde na home */
.saude{padding:34px 0}
.saude-caixa{background:linear-gradient(120deg,#fff0f6,#ffe0eb);border-radius:32px;padding:40px;display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center;border:2px solid var(--borda)}
.saude-tx h2{font-size:clamp(26px,3.4vw,38px)}
.saude-tx p{color:var(--suave)}
.saude-botoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.saude-planos{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.saude-plano{background:#fff;border-radius:22px;padding:18px 18px 16px;text-decoration:none;display:flex;flex-direction:column;gap:2px;border:2px solid transparent;position:relative;box-shadow:0 8px 20px rgba(224,87,143,.1);transition:transform .25s,border-color .25s}
.saude-plano:hover{transform:translateY(-4px);border-color:#f5a3c3}
.saude-plano.dest{border-color:#f5a3c3}
.saude-plano i{position:absolute;top:-11px;right:14px;background:var(--rosa);color:#fff;font-style:normal;font-size:11px;font-weight:800;padding:2px 10px;border-radius:999px}
.saude-plano b{font-family:'Baloo 2',sans-serif;font-size:23px;color:var(--azul);font-weight:800}
.saude-plano>small{color:var(--suave);font-size:13px;line-height:1.3;min-height:2.6em}
.saude-plano span{font-family:'Baloo 2',sans-serif;font-weight:800;color:var(--rosa);font-size:25px;margin-top:6px}
.saude-plano span small{font-size:13px;font-family:Quicksand,sans-serif;color:var(--suave);font-weight:600}
@media(max-width:900px){.saude-caixa{grid-template-columns:1fr;padding:24px}}
@media(max-width:420px){.saude-planos{grid-template-columns:1fr}}

/* garantias (antes do rodapé) */
.garantias{background:#fff;border-top:2px solid var(--borda);padding:26px 0}
.garantias-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.garantias-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.garantias-grid span{grid-row:span 2;font-size:26px;width:54px;height:54px;border-radius:50%;background:var(--rosa-cl);display:grid;place-items:center}
.garantias-grid b{font-family:'Baloo 2',sans-serif;color:var(--azul);font-size:16px;line-height:1.2}
.garantias-grid small{color:var(--suave);font-size:13px;line-height:1.3}
@media(max-width:900px){.garantias-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.garantias-grid{grid-template-columns:1fr}}

footer .foot{grid-template-columns:1.3fr 1fr 1fr 1.1fr}
@media(max-width:900px){footer .foot{grid-template-columns:1fr 1fr}}
@media(max-width:520px){footer .foot{grid-template-columns:1fr}}
.pagamentos{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.pagamentos span{background:#fff;color:var(--coral2);font-weight:800;font-size:12px;padding:3px 10px;border-radius:8px}
footer .insta{color:var(--coral2)}

/* lista da loja */
.loja-pg{padding:22px 0 60px}
.loja-h1{font-size:clamp(26px,3.6vw,38px);margin:0}
.loja-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start;margin-top:8px}
.loja-grid>div,.compra-grid>*{min-width:0}
.filtros-lado{position:sticky;top:160px;background:#fff;border:2px solid var(--borda);border-radius:22px;padding:16px}
.filtros-lado h3{font-size:16px;margin:8px 0 6px 8px}
.filtros-lado a{display:block;padding:7px 10px;border-radius:12px;text-decoration:none;font-weight:600;color:var(--texto);font-size:15px;transition:background .2s}
.filtros-lado a:hover{background:#fff5f9}
.filtros-lado a.on{background:var(--rosa-cl);color:var(--coral2);font-weight:800}
.loja-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.loja-topo .sub{font-size:15px}
.ordenar{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--suave)}
.ordenar select{padding:9px 14px;border-radius:12px;border:2px solid var(--borda);font:inherit;font-weight:700;color:var(--azul);background:#fff;cursor:pointer}
.chips{display:none;gap:8px;overflow-x:auto;scrollbar-width:none;margin-top:14px;padding-bottom:4px}
.chips::-webkit-scrollbar{display:none}
.chips a{flex:none;text-decoration:none;font-weight:700;font-size:14px;padding:7px 14px;border-radius:999px;background:#fff;border:2px solid var(--borda);color:var(--azul)}
.chips a.on{background:var(--rosa);border-color:var(--rosa);color:#fff}
.limpar{margin-top:10px}
.limpar a{color:var(--coral2);font-weight:700;text-decoration:none;font-size:14px}
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}
@media(max-width:1100px){.grade{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.loja-grid{grid-template-columns:minmax(0,1fr)}.filtros-lado{display:none}.chips{display:flex}}
@media(max-width:620px){.grade{grid-template-columns:repeat(2,1fr);gap:12px}.pcard-tx{padding:10px 10px 12px}.pcard-preco b{font-size:20px}.pcard-btn{font-size:14px;padding:9px 8px}}

/* página do produto */
.pg-prod{gap:40px}
.pg-prod .ft{position:relative;background:linear-gradient(145deg,#fff7fa,#ffe0eb);border:2px solid var(--borda);font-size:130px}
.pg-prod-info h1{font-size:clamp(26px,3.4vw,38px);margin:4px 0 10px}
.pg-prod-meta{display:flex;gap:8px;flex-wrap:wrap}
.pg-prod-meta span{background:var(--rosa-cl);color:var(--coral2);font-weight:700;font-size:13px;padding:3px 12px;border-radius:999px}
.pg-prod-caixa{background:#fff;border:2px solid var(--borda);border-radius:24px;padding:22px;margin:18px 0 26px}
.comprar-form{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:14px}
.comprar-form .btn-linha{grid-column:1/-1}
.qtd-box{display:inline-flex;align-items:center;border:2px solid var(--borda);border-radius:999px;overflow:hidden;background:#fff}
.qtd-box button{width:40px;height:46px;border:0;background:transparent;font-size:22px;color:var(--coral2);cursor:pointer;font-weight:800}
.qtd-box button:hover{background:var(--rosa-cl)}
.qtd-box input{width:42px;text-align:center;border:0;font:inherit;font-weight:800;color:var(--azul);-moz-appearance:textfield;background:transparent}
.qtd-box input::-webkit-inner-spin-button,.qtd-box input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.btn-grande{padding:14px 22px;font-size:17px;width:100%}
.btn-grande svg{width:20px;height:20px}
.pg-prod-beneficios{list-style:none;margin-top:16px;display:grid;gap:6px;font-size:14px;color:var(--suave)}
.pg-prod-beneficios a{color:var(--coral2);font-weight:700}
.poucas{color:var(--coral2);font-weight:800;font-size:14px;margin-top:8px}
.esgotado-aviso{font-weight:800;color:var(--azul);margin:10px 0}
.pg-prod .desc h2{font-size:22px;margin-bottom:8px}

/* carrinho, checkout e pedido */
.carrinho-pg,.checkout-pg,.pedido-pg{padding-top:26px}
.compra-grid{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start;margin-top:16px}
.caixa{background:#fff;border:2px solid var(--borda);border-radius:24px;padding:22px;margin-bottom:18px}
.caixa h2{font-size:22px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.passo-n{width:30px;height:30px;border-radius:50%;background:var(--rosa);color:#fff;display:inline-grid;place-items:center;font-size:16px;flex:none}
.item{display:grid;grid-template-columns:84px 1fr auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--borda)}
.item:first-of-type{padding-top:0}
.item-ft{width:84px;height:84px;border-radius:18px;background:var(--rosa-cl);display:grid;place-items:center;font-size:38px;overflow:hidden;text-decoration:none}
.item-ft img{width:100%;height:100%;object-fit:cover}
.item-tx a{text-decoration:none;color:var(--texto)}
.item-tx a:hover{color:var(--coral2)}
.item-tx small{display:block;color:var(--suave);font-size:13px}
.item-rem{border:0;background:none;color:var(--coral2);font-weight:700;cursor:pointer;padding:0;font:inherit;font-size:13px;text-decoration:underline}
.item-total{font-family:'Baloo 2',sans-serif;font-size:19px;color:var(--azul);min-width:92px;text-align:right}
.itens-rodape{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px;flex-wrap:wrap}
.itens-rodape a{color:var(--coral2);font-weight:700;text-decoration:none}
.resumo{position:sticky;top:160px}
.linha{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:15px}
.linha.pequena,p.pequena{font-size:14px;color:var(--suave)}
.linha.total{border-top:2px solid var(--borda);margin-top:8px;padding-top:12px;font-size:18px;align-items:baseline}
.linha.total b{font-family:'Baloo 2',sans-serif;font-size:28px;color:var(--azul)}
.resumo .btn-grande{margin-top:14px}
.barra-gratis{height:8px;background:var(--rosa-cl);border-radius:999px;overflow:hidden;margin-top:8px}
.barra-gratis i{display:block;height:100%;background:linear-gradient(90deg,#f48fb1,#e0578f);border-radius:999px}
.dica-gratis{font-size:13px;color:var(--suave);margin:6px 0}
.dica-gratis.ok{color:#2f8f5b;font-weight:700}
.seguro{text-align:center;font-size:13px;color:var(--suave);margin-top:10px}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.campo{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:14px;color:var(--azul)}
.campo small{font-weight:500;color:var(--suave)}
.campo.cheio{grid-column:1/-1}
.campo.curto input{max-width:90px}
.campo input,.campo textarea{padding:12px 14px;border:2px solid var(--borda);border-radius:14px;font:inherit;font-weight:500;color:var(--texto);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.campo input:focus,.campo textarea:focus{border-color:#f5a3c3;box-shadow:0 0 0 4px #ffe4ef}
.cep-msg{align-self:end;font-size:13px;font-weight:600;color:var(--suave);margin:0 0 12px}
.cep-msg.erro{color:#b3261e}
.opcoes-entrega{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.opcao{display:flex;gap:10px;align-items:center;border:2px solid var(--borda);border-radius:16px;padding:12px 14px;cursor:pointer;transition:border-color .2s,background .2s}
.opcao input{accent-color:var(--rosa);width:18px;height:18px}
.opcao:has(input:checked){border-color:var(--rosa);background:#fff5f9}
.opcao span small{display:block;color:var(--suave);font-size:13px;font-weight:600}
.retirada-info{background:var(--rosa-cl);padding:10px 14px;border-radius:12px;font-size:14px;margin-top:4px}
.alerta-erro{background:#fff0f0;border:2px solid #f5c2c2;color:#8a2a2a;border-radius:16px;padding:14px 18px;margin:14px 0}
.alerta-erro ul{margin:6px 0 0 18px}
.pedido-status{display:flex;gap:18px;align-items:flex-start}
.pedido-status.ok{background:linear-gradient(135deg,#f0fff5,#fff);border-color:#bfe8cf}
.pedido-status.erro{border-color:#f5c2c2}
.pedido-ico{font-size:52px;line-height:1}
.pedido-status small{color:var(--suave);font-weight:700}
.pedido-status h1{font-size:clamp(24px,3.4vw,32px);margin:2px 0 8px}
.pedido-botoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.pedido-botoes form{margin:0}
@media(max-width:900px){.compra-grid{grid-template-columns:1fr}.resumo{position:static}}
@media(max-width:600px){
  .campos,.opcoes-entrega{grid-template-columns:1fr}
  .item{grid-template-columns:64px 1fr auto;gap:10px}
  .item-ft{width:64px;height:64px;font-size:28px}
  .item .qtd-box{grid-column:2}
  .item-total{grid-column:3;min-width:0}
  .caixa{padding:18px}
  .pedido-status{flex-direction:column;gap:8px}
}

/* página de planos */
.pl-topo{padding:26px 0 0}
.pl-topo h1{font-size:clamp(30px,4.4vw,48px);margin:4px 0 10px}

@media (prefers-reduced-motion:reduce){
  .avisos-trilho,.banner-emoji span{animation:none}
  .pcard,.bloco,.circulo-ft,.cats-trilho a,.cats-trilho a span{transition:none}
}
