@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../assets/fonts/BricolageGrotesque-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../assets/fonts/DMSans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ===== NutriDog — tema ===== */
:root{
  --fundo:#F3F6F2; --superficie:#FFFFFF; --tinta:#16251C; --tinta-2:#4B5B51; --linha:#D8E2DA;
  --marca:#1D6B47; --marca-forte:#14553A; --marca-suave:#E2EEE6; --cenoura:#E9803A; --cenoura-tinta:#9C4A12; --cenoura-suave:#FCEBDD;
  --fonte-titulo:"Bricolage Grotesque", "DM Sans", system-ui, sans-serif; --fonte:"DM Sans", system-ui, sans-serif;
  --raio:14px; --raio-p:10px; --sombra:0 6px 18px -8px rgb(22 37 28 / .22); --sombra-btn:0 8px 18px -10px rgb(20 85 58 / .7);
  --ease:cubic-bezier(.2,.7,.2,1); --topo:60px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-color:var(--marca) var(--marca-suave)}
body{margin:0;background:var(--fundo);color:var(--tinta);font:400 1rem/1.55 var(--fonte);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
::selection{background:var(--marca);color:#fff}
:focus-visible{outline:3px solid var(--cenoura);outline-offset:2px;border-radius:6px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
.ic{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pular{position:absolute;left:-999px;top:8px;background:var(--marca);color:#fff;padding:10px 14px;border-radius:8px;z-index:50}
.pular:focus{left:8px}

/* casca: app em tela cheia no celular; painel lateral no desktop */
.casca{min-height:100svh}
.lateral{display:none}
.app{min-height:100svh;display:flex;flex-direction:column;max-width:560px;margin:0 auto;background:var(--fundo)}
.topo{position:sticky;top:0;z-index:20;height:var(--topo);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:0 12px;background:var(--fundo)}
.topo .marca{justify-self:center}
.voltar{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;border-radius:12px;cursor:pointer;color:var(--tinta)}
.voltar:hover{background:var(--marca-suave)}
.contador{font-size:.8125rem;color:var(--tinta-2);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.marca{display:inline-flex;align-items:center;gap:6px;color:var(--marca)}
.marca-simbolo{width:28px;height:28px}
.marca-nome{font:700 1.25rem/1 var(--fonte-titulo);letter-spacing:-.02em;color:var(--tinta)}
.marca-nome b{font-weight:700;color:var(--marca)}
.progresso{height:4px;margin:0 16px;background:var(--marca-suave);border-radius:4px;overflow:hidden}
.progresso-cheio{height:100%;width:0;background:var(--marca);border-radius:4px;transition:width .5s var(--ease)}
.progresso[data-oculto]{visibility:hidden}

.palco{flex:1;display:flex;flex-direction:column;padding:24px 16px calc(24px + env(safe-area-inset-bottom));position:relative}
.etapa{display:flex;flex-direction:column;gap:16px;flex:1}
.etapa[hidden]{display:none}
.etapa.entra{animation:entra .32s var(--ease) both}
.etapa.entra-volta{animation:entra-volta .32s var(--ease) both}
@keyframes entra{from{opacity:.001;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes entra-volta{from{opacity:.001;transform:translateX(-28px)}to{opacity:1;transform:none}}

.titulo{font:700 clamp(1.5rem,5.6vw,1.875rem)/1.15 var(--fonte-titulo);letter-spacing:-.025em;text-wrap:balance;outline:none}
.titulo-capa{font-size:clamp(1.75rem,7.4vw,2.5rem);line-height:1.08}
.sub,.lead{color:var(--tinta-2);max-width:62ch}
.lead{font-size:1.0625rem}
.h2{font:700 1.5rem/1.2 var(--fonte-titulo);letter-spacing:-.02em;text-wrap:balance}
.h3{font:700 1.125rem/1.3 var(--fonte-titulo)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;width:100%;padding:14px 20px;border:0;border-radius:var(--raio);font:700 1.0625rem/1.2 var(--fonte);cursor:pointer;transition:transform .12s var(--ease),background-color .2s,box-shadow .2s}
.btn-primario{background:var(--marca);color:#fff;box-shadow:var(--sombra-btn)}
.btn-primario:hover{background:var(--marca-forte)}
.btn:active{transform:scale(.97)}
.btn[aria-disabled="true"]{background:#B9CBBF;color:#fff;box-shadow:none;cursor:not-allowed}
.btn[aria-disabled="true"]:active{transform:none}
.btn-grande{min-height:58px;font-size:1.125rem}
.btn .ic{width:20px;height:20px}
.rodape-etapa{margin-top:auto;padding-top:8px;display:grid;gap:14px}

/* capa */
.capa-foto{margin:0 -16px;overflow:hidden}
.capa-foto img{width:100%;aspect-ratio:800/467;object-fit:cover}
.capa-itens{display:flex;flex-wrap:wrap;gap:8px 16px}
.capa-itens li{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.9375rem}
.capa-itens .ic{color:var(--marca);width:20px;height:20px;stroke-width:2.25}

/* opções */
.opcoes{display:grid;gap:10px}
.opcoes-multi{gap:10px}
.opcao{width:100%;min-height:60px;display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--superficie);border:1.5px solid var(--linha);border-radius:var(--raio);text-align:left;cursor:pointer;font-size:1.0625rem;font-weight:500;line-height:1.3;transition:border-color .15s,background-color .15s,transform .12s var(--ease)}
.opcao:hover{border-color:var(--marca)}
.opcao:active{transform:scale(.98)}
.opcao-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--marca-suave);color:var(--marca);flex:none}
.opcao-txt{flex:1}
.opcao-marca{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--linha);display:grid;place-items:center;flex:none;color:transparent;transition:background-color .15s,border-color .15s}
.opcoes-multi .opcao-marca{border-radius:7px}
.opcao-marca .ic{width:16px;height:16px;stroke-width:2.5}
.opcao.ativa,.opcao[aria-pressed="true"]{border-color:var(--marca);background:var(--marca-suave)}
.opcao.ativa .opcao-marca,.opcao[aria-pressed="true"] .opcao-marca{background:var(--marca);border-color:var(--marca);color:#fff}
.opcao.ativa .opcao-ic,.opcao[aria-pressed="true"] .opcao-ic{background:var(--marca);color:#fff}

/* missão */
.missao-foto{margin:0 auto;max-width:300px}
.prova-linha{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9375rem;color:var(--tinta-2);text-align:center}
.prova-linha .ic{color:var(--cenoura-tinta);width:20px;height:20px}

/* áudio estilo WhatsApp */
.zap{background:#E9E3D9;border-radius:var(--raio);padding:20px 14px}
.zap-balao{position:relative;display:flex;gap:12px;align-items:center;background:#fff;border-radius:4px 14px 14px 14px;padding:10px 12px;box-shadow:0 1px 1px rgb(11 20 26 / .13)}
.zap-foto{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
.zap-corpo{flex:1;min-width:0}
.zap-nome{font-size:.8125rem;font-weight:700;color:#0B7A3E}
.zap-player{position:relative;display:flex;align-items:center;gap:8px;height:44px}
.zap-play{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:#54656F;flex:none;border-radius:50%}
.zap-play .ic{width:26px;height:26px}
.zap-play .ic-pause,.zap-play[aria-pressed="true"] .ic-play{display:none}
.zap-play[aria-pressed="true"] .ic-pause{display:block}
.zap-onda{flex:1;height:28px;display:flex;align-items:center;gap:2px}
.zap-onda i{flex:1;height:var(--h);border-radius:2px}
.zap-onda i{background:#34B7F1;opacity:.35}
.zap-onda i.tocado{opacity:1}
.zap-range{position:absolute;left:52px;right:0;top:0;height:44px;opacity:0;cursor:pointer;margin:0}
.zap-tempo{font-size:.75rem;color:#667781;font-variant-numeric:tabular-nums}
.dica{text-align:center;color:var(--tinta-2);font-size:.9375rem}

/* análise: o momento de animação */
.etapa-carregando{justify-content:center;text-align:center}
.analise{display:grid;gap:18px;justify-items:center}
.pote{width:200px;height:140px}
.pote-borda{fill:none;stroke:var(--marca);stroke-width:4}
.pote-nivel{fill:var(--marca-suave);transform:translateY(calc(140px - var(--n,0) * 80px));transition:transform .1s linear}
.pote-graos{fill:var(--cenoura);transform:translateY(calc(70px - var(--n,0) * 70px));transition:transform .1s linear}
.folha-a{fill:var(--marca);transform-origin:100px 52px;transform:scale(var(--f,0));transition:transform .5s var(--ease)}
.folha-b{fill:var(--cenoura);transform-origin:100px 52px;transform:scale(var(--f,0));transition:transform .5s .1s var(--ease)}
.barra-analise{width:100%;max-width:420px;text-align:left}
.barra-analise-topo{display:flex;justify-content:space-between;font-size:.9375rem;font-weight:600;padding-bottom:6px;font-variant-numeric:tabular-nums}
.barra-trilho{height:12px;background:var(--marca-suave);border-radius:12px;overflow:hidden}
.barra-cheia{height:100%;width:0;background:var(--marca);border-radius:12px}
.passos{display:grid;gap:10px;width:100%;max-width:420px;text-align:left}
.passos li{display:flex;align-items:center;gap:10px;color:var(--tinta-2);transition:color .3s}
.passos .ic{width:22px;height:22px;padding:3px;border-radius:50%;border:1.5px solid var(--linha);color:transparent;stroke-width:2.5;transition:all .3s}
.passos li.feito{color:var(--tinta)}
.passos li.feito .ic{background:var(--marca);border-color:var(--marca);color:#fff}

/* resultado */
.etapa-resultado{gap:40px;padding-bottom:96px}
.diag{display:grid;gap:18px}
.diag-titulo{font-size:clamp(1.875rem,8vw,2.5rem);line-height:1.05}
.diag-pre{display:block;font:500 1.0625rem/1.4 var(--fonte);letter-spacing:0;color:var(--tinta-2);margin-bottom:4px}
.diag-selo{margin:0;display:grid;justify-items:center;gap:8px}
.diag-selo img{width:min(240px,64vw);border-radius:50%}
.diag-selo figcaption{font-size:.875rem;color:var(--tinta-2);text-align:center}
.compat{background:var(--superficie);border-radius:var(--raio);padding:16px;box-shadow:var(--sombra)}
.compat-topo{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;padding-bottom:8px}
.compat-topo strong{font:700 1.5rem/1 var(--fonte-titulo);color:var(--marca);font-variant-numeric:tabular-nums}
.compat-cheia{transition:width 1.2s var(--ease)}
.respostas{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;padding:16px;border-radius:var(--raio);background:var(--marca-suave)}
.respostas dt{color:var(--tinta-2);font-size:.9375rem}
.respostas dd{margin:0;font-weight:600;font-size:.9375rem}
.prioridade{font:700 1.3125rem/1.3 var(--fonte-titulo);letter-spacing:-.015em;text-wrap:pretty}
.ponte{color:var(--tinta-2)}
.bloco{display:grid;gap:18px}
.entregas{display:grid}
.entregas li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--linha)}
.entregas li:last-child{border-bottom:1px solid var(--linha)}
.entrega-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--marca);color:#fff}
.entregas h3{font:700 1.0625rem/1.3 var(--fonte-titulo);margin-bottom:4px}
.entregas p{color:var(--tinta-2);font-size:.9375rem}
.entregas-bonus .entrega-ic{background:var(--cenoura-suave);color:var(--cenoura-tinta)}
.gratis{display:inline-block;vertical-align:2px;margin-left:4px;padding:2px 8px;border-radius:999px;background:var(--cenoura-suave);color:var(--cenoura-tinta);font:700 .75rem/1.4 var(--fonte)}
.preco{background:var(--superficie);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);display:grid;gap:16px;padding-bottom:18px}
.preco-faixa{background:var(--marca);color:#fff;text-align:center;font-weight:700;font-size:.9375rem;padding:10px}
.preco-corpo{padding:0 18px;display:grid;gap:6px}
.preco-plano{font:700 1.25rem/1.2 var(--fonte-titulo)}
.preco-valor{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.preco-valor s{color:var(--tinta-2)}
.preco-por{font:800 3rem/1 var(--fonte-titulo);letter-spacing:-.03em;color:var(--tinta)}
.preco-por small{font-size:1.125rem;margin-right:4px;letter-spacing:0}
.preco-avista{color:var(--tinta-2);font-weight:600}
.preco .btn{width:auto;margin:0 18px}
.preco-unico{padding:0 18px;color:var(--tinta-2);font-size:.9375rem;text-align:center}
.garantia{grid-template-columns:96px 1fr;align-items:center;gap:16px}
.garantia img{width:96px;height:96px}
.garantia p{color:var(--tinta-2)}
.faq{display:grid}
.faq details{border-top:1px solid var(--linha)}
.faq details:last-child{border-bottom:1px solid var(--linha)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 0;font-weight:700;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq-ic{color:var(--marca);transition:transform .2s var(--ease)}
.faq details[open] .faq-ic{transform:rotate(45deg)}
.faq details p{padding:0 0 16px;color:var(--tinta-2)}
.cta-fixo{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--fundo);border-top:1px solid var(--linha)}
.cta-fixo .btn{max-width:528px;margin:0 auto;display:flex}

@media (prefers-reduced-motion:reduce){
  .etapa.entra,.etapa.entra-volta{animation:fade .2s both}
  @keyframes fade{from{opacity:.001}to{opacity:1}}
  .progresso-cheio,.compat-cheia,.pote-nivel,.pote-graos,.folha-a,.folha-b{transition:none}
  .btn:active,.opcao:active{transform:none}
}
.voltar[hidden]{display:grid;visibility:hidden}
.titulo:focus{outline:none}

/* capa v1.4 — layout da referência do Jaime */
.etapa-capa{gap:14px;text-align:center}
.progresso[data-oculto]{visibility:hidden}
.capa-hero{position:relative;margin:-8px -16px 18px}
.capa-hero img{width:100%;aspect-ratio:492/294;object-fit:cover}
.capa-selo{position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;padding:6px 18px 6px 6px;border-radius:999px;background:#EAF6DF;border:1.5px solid #CFE7BC;font:700 1.125rem/1 var(--fonte-titulo);color:var(--tinta);box-shadow:0 6px 14px -8px rgb(22 37 28 / .35)}
.capa-selo-ic{width:38px;height:38px;border-radius:50%;background:var(--marca);color:#fff;display:grid;place-items:center}
.capa-selo-ic .ic{width:22px;height:22px;fill:currentColor;stroke:none}
.titulo-capa{font-weight:800;font-size:clamp(2rem,8.6vw,2.5rem);line-height:1.08;margin-top:14px}
.titulo-capa .destaque{color:#2E8B2E}
.etapa-capa .lead{margin:0 auto;font-size:1.0625rem;color:var(--tinta)}
.beneficios{display:grid;text-align:left;margin-top:4px}
.beneficios li{display:flex;align-items:center;gap:14px;padding:8px 0;border-bottom:1px solid var(--linha)}
.beneficios li:last-child{border-bottom:0}
.benef-ic{width:56px;height:52px;border-radius:12px;background:#EEF6E8;color:#2E8B2E;display:grid;place-items:center;flex:none}
.benef-ic .ic{width:30px;height:30px}
.benef-txt{display:grid;border-left:3px solid #2E8B2E;padding-left:12px;line-height:1.3}
.benef-txt strong{font:700 1.125rem/1.25 var(--fonte-titulo)}
.benef-txt span{font-size:.9375rem;color:var(--tinta-2)}
.recebe{position:relative;margin-top:18px;border:1.5px solid #9FCC8A;border-radius:16px;padding:26px 14px 14px;text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}
.recebe-titulo{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);white-space:nowrap;background:#1F6B2A;color:#fff;border-radius:999px;padding:6px 18px;font:700 1rem/1.2 var(--fonte-titulo)}
.recebe ul{display:grid;gap:8px}
.recebe li{display:flex;align-items:center;gap:8px;font-size:.9375rem}
.recebe-ok{width:20px;height:20px;border-radius:50%;background:#3E9B2F;color:#fff;display:grid;place-items:center;flex:none}
.recebe-ok .ic{width:13px;height:13px;stroke-width:3}
.recebe-tigela{width:76px;height:auto}
.btn-cta{background:linear-gradient(180deg,#FF7A1A,#E8500C);color:#fff;border-radius:999px;box-shadow:0 10px 20px -10px rgb(232 80 12 / .75);font-family:var(--fonte-titulo);font-size:1.375rem}
.btn-cta:hover{background:linear-gradient(180deg,#F26C0E,#D44707)}
.btn-cta .ic{width:24px;height:24px;stroke-width:2.25}
.app:has(.etapa-capa:not([hidden])),.app:has(.etapa-capa:not([hidden])) .topo{background:#fff}
.titulo-capa{font-size:clamp(2.25rem,10vw,2.75rem);line-height:1.05;letter-spacing:-.03em;color:#123A1E;text-decoration:none}
.titulo-capa .destaque{color:#2C8A1F}
.etapa-capa .lead{max-width:30ch;font-size:1.125rem;line-height:1.45}
.benef-ic .ic{width:34px;height:34px;stroke-width:2}
.benef-txt strong{font-size:1.25rem;font-weight:800}
.benef-txt span{font-size:1rem}
.recebe-titulo{font-size:1.125rem}
.recebe li{font-size:1rem}
.recebe-tigela{width:84px}
.btn-cta{min-height:62px;font-size:1.5rem;font-weight:800}
.titulo:focus,.titulo:focus-visible{outline:none}
.recebe{padding:26px 10px 14px 12px;gap:4px}
.recebe li{font-size:.9375rem;letter-spacing:-.01em}
.recebe-tigela{width:70px}
.benef-ic{width:60px;height:54px}
.benef-ic .ic{width:36px;height:36px;stroke-width:2.1}

/* capa v1.5 */
.titulo-capa .destaque{display:inline;background:radial-gradient(ellipse at center,#E6F4D7 62%,rgb(230 244 215 / .35) 100%);border-radius:999px;padding:.02em .32em .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.beneficios{grid-template-columns:repeat(3,1fr);text-align:center;margin-top:8px}
.beneficios li{flex-direction:column;justify-content:flex-start;gap:8px;padding:2px 6px;border-bottom:0;border-left:1px solid #CFE3C2;min-width:0}
.beneficios li:first-child{border-left:0}
.benef-ic{width:56px;height:50px}
.benef-ic .ic{width:32px;height:32px}
.benef-txt{border-left:0;padding-left:0;justify-items:center;line-height:1.25}
.benef-txt strong{font-size:1rem;color:#123A1E;overflow-wrap:anywhere}
.benef-txt span{font-size:.875rem;color:var(--tinta)}
.beneficios li{padding:2px 2px}
.benef-txt strong{font-size:.9375rem;font-weight:700;letter-spacing:-.015em;overflow-wrap:normal}

/* v1.6 — coluna única tipo mobile em qualquer largura; laterais verdes */
body{background:#E6F4D7}
.lateral{display:none}
.casca{display:block}
.app{max-width:460px;width:100%;margin:0 auto;background:#fff;box-shadow:0 0 40px -12px rgb(22 37 28 / .18)}
.topo,.app:has(.etapa-capa:not([hidden])) .topo{background:#fff}
.cta-fixo{left:50%;right:auto;width:100%;max-width:460px;transform:translateX(-50%);background:#fff}

/* v1.7 — selo no header (só na capa) e hero em cúpula com base esvanecida */
.topo-centro{justify-self:center;display:flex;align-items:center;gap:12px}
.topo-selo{display:none;padding:4px 11px;border:2px solid #2E7A22;border-radius:999px;color:#2E7A22;background:#fff;font:600 .8125rem/1.2 var(--fonte);white-space:nowrap}
.app:has(.etapa-capa:not([hidden])) .topo-selo{display:inline-block}
.capa-hero{margin:-8px -16px 4px}
.capa-hero img{aspect-ratio:800/301;-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
.titulo-capa{margin-top:0}

/* v1.8 */
.capa-hero img{aspect-ratio:800/346}
.capa-hero{margin-bottom:-6px}
.capa-micro{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap}
.capa-micro li{display:flex;align-items:center;gap:5px;padding:0 10px;font-size:.8125rem;color:var(--tinta);white-space:nowrap;border-left:1px solid #D9DEDB}
.capa-micro li:first-child{border-left:0}
.capa-micro .ic{width:18px;height:18px;color:#2E7A22;stroke-width:2}

/* v1.9 — pergunta da raça */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.etapa-raca{gap:12px}
.titulo-raca,.sub-raca{text-align:center}
.sub-raca{margin:-6px auto 2px;max-width:32ch}
.raca-card{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:6px 10px;background:#fff;border:1.5px solid var(--linha);border-radius:var(--raio);font:600 .9375rem/1.2 var(--fonte);color:var(--tinta);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s,transform .12s var(--ease)}
.raca-card:hover{border-color:var(--marca)}
.raca-card:active{transform:scale(.98)}
.raca-card[aria-pressed="true"]{border-color:var(--marca);background:var(--marca-suave);box-shadow:inset 0 0 0 1px var(--marca)}
.raca-card img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.raca-srd{justify-content:center;min-height:56px;font-size:1rem;background:#F2F8EC;border-color:#BFDDA8}
.raca-srd-ic{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--marca);display:grid;place-items:center}
.raca-srd-ic .ic{width:22px;height:22px;fill:currentColor;stroke:none}
.raca-rotulo{font:700 .75rem/1 var(--fonte);letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-2);margin-top:2px}
.raca-grade{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.raca-busca{position:relative}
.raca-busca-campo{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;border:1.5px solid var(--linha);border-radius:var(--raio);background:#fff;color:var(--tinta-2)}
.raca-busca-campo:focus-within{border-color:var(--marca)}
.raca-busca input{flex:1;border:0;outline:0;background:transparent;font:400 1rem var(--fonte);color:var(--tinta);min-height:46px}
.raca-sugestoes{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:5;background:#fff;border:1.5px solid var(--linha);border-radius:var(--raio);box-shadow:var(--sombra);max-height:280px;overflow:auto;padding:4px}
.raca-sugestoes button{display:block;width:100%;min-height:44px;padding:10px 12px;border:0;background:none;text-align:left;font:500 1rem var(--fonte);border-radius:8px;cursor:pointer}
.raca-sugestoes button:hover,.raca-sugestoes button:focus-visible{background:var(--marca-suave)}
.etapa-raca .rodape-etapa{gap:6px;padding-top:4px}
.raca-naosei{min-height:44px;border:0;background:none;font:600 .9375rem var(--fonte);color:var(--tinta);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* v1.10 — busca, idade */
.raca-busca input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:18px;height:18px;cursor:pointer;background:no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D6B47' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.raca-vazio{padding:12px;color:var(--tinta-2);font-size:.9375rem}
.etapa-unica:has(.opcoes-idade){gap:10px}
.idade-cab{position:relative;text-align:center;padding:0 28px}
.titulo-idade{font-size:clamp(1.75rem,7.6vw,2.125rem);font-weight:800;letter-spacing:-.03em;color:#123A1E}
.idade-qual{position:relative;display:inline-block}
.idade-traco{position:absolute;left:-6px;bottom:-8px;width:calc(100% + 8px);height:12px;fill:none;stroke:#5DB02E;stroke-width:3.5;stroke-linecap:round}
.sub-idade{text-align:center;margin:0 auto 6px;max-width:36ch;font-size:.9375rem}
.opcoes-idade{gap:10px}
.opcao-idade{min-height:96px;padding:0 16px 0 0;overflow:hidden;gap:14px;border-radius:16px}
.idade-foto{width:120px;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;border-right:1.5px solid #D7E3D3;padding-top:6px;flex:none}
.idade-foto img{width:120px;height:auto;mix-blend-mode:multiply}
.idade-txt{flex:1;display:grid;gap:2px}
.opcao-idade .opcao-txt{font:800 1.3125rem/1.15 var(--fonte-titulo);letter-spacing:-.02em;color:#123A1E}
.idade-faixa{font-size:1rem;color:var(--tinta-2)}
.opcao-idade .opcao-marca{width:30px;height:30px;border-color:#7FA88C}
.opcao-idade.ativa{background:#EEF7E6;border-color:#2E7A22;box-shadow:inset 0 0 0 1px #2E7A22}
.opcao-idade.ativa .opcao-marca{background:#1F6B2A;border-color:#1F6B2A}
.opcao-idade .opcao-marca .ic{width:18px;height:18px}

/* v1.11 — porte físico */
.opcoes-porte{gap:8px}
.opcao-porte{min-height:110px;padding:0 12px 0 0;overflow:hidden;gap:10px;border-radius:16px;align-items:center;text-align:left}
.porte-foto{width:104px;align-self:stretch;display:flex;align-items:center;justify-content:center;border-right:1.5px solid #D7E3D3;flex:none}
.porte-foto img{width:104px;height:auto;mix-blend-mode:multiply}
.porte-txt{flex:1;display:grid;gap:4px;padding:8px 0;justify-items:start}
.opcao-porte .opcao-txt{font:800 1rem/1.2 var(--fonte-titulo);color:#123A1E;background:#E3F1DA;border-radius:999px;padding:3px 12px}
.porte-bul{margin:0;padding-left:14px;font-size:.75rem;line-height:1.3;color:var(--tinta-2);display:grid;gap:1px}
.opcao-porte .opcao-marca{width:28px;height:28px;border-color:#7FA88C;flex:none}
.opcao-porte .opcao-marca .ic{width:16px;height:16px}
.opcao-porte.ativa{background:#EEF7E6;border-color:#2E7A22;box-shadow:inset 0 0 0 1px #2E7A22}
.opcao-porte.ativa .opcao-txt{background:#1F6B2A;color:#fff}
.opcao-porte.ativa .opcao-marca{background:#1F6B2A;border-color:#1F6B2A}
.porte-bul li{list-style:disc}.porte-bul li::marker{color:#1F6B2A}
.porte-bul{font-size:.8125rem;line-height:1.28}
.porte-bul li{list-style:disc}
.opcao:focus:not(:focus-visible){outline:none}
@media (hover:none){.opcao:not(.ativa):hover{border-color:rgb(216,226,218)}}
.porte-foto{border-right:0;width:122px}.porte-foto img{width:122px}.opcao-porte{gap:6px}
.porte-txt{padding:5px 0}

/* v1.13 — sexo */
.opcoes-sexo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.opcao-sexo{position:relative;flex-direction:column;align-items:center;justify-content:flex-end;padding:22px 8px 12px;min-height:268px;border-radius:20px;overflow:hidden;gap:0;background:#fff}
.opcao-sexo img{width:100%;max-width:178px;height:auto;mix-blend-mode:multiply;display:block}
.sexo-pilula{position:relative;margin-top:-26px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;background:#fff;border-radius:999px;box-shadow:0 4px 14px rgba(18,58,30,.14)}
.opcao-sexo .opcao-txt{font:800 1.1875rem/1 var(--fonte-titulo);color:#123A1E}
.sexo-simb{width:24px;height:24px;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.sexo-simb.macho{stroke:#2F6FD1}.sexo-simb.femea{stroke:#D6457A}
.opcao-sexo .opcao-marca{position:absolute;top:10px;right:10px;width:30px;height:30px;border-color:#7FA88C;background:#fff}
.opcao-sexo .opcao-marca .ic{width:18px;height:18px}
.opcao-sexo.ativa{background:#EEF7E6;border-color:#2E7A22;box-shadow:inset 0 0 0 1px #2E7A22}
.opcao-sexo.ativa .opcao-marca{background:#1F6B2A;border-color:#1F6B2A}
.opcao-sexo .sexo-pilula{margin-top:-8px;justify-content:center;flex:none}.opcao-sexo{min-height:300px}
.opcao-sexo .opcao-txt{flex:none}

/* v1.15 — petiscos */
.opcao-bloco{flex:1;display:grid;gap:1px;text-align:left}
.opcao-nota{font-size:.8125rem;color:var(--tinta-2);line-height:1.25}

/* v1.17 — comida em grade */
.opcoes-comida{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.opcao-comida{position:relative;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:30px 8px 14px;min-height:196px;border-radius:20px;gap:2px;background:#fff}
.opcao-comida img{width:100%;max-width:150px;height:auto;mix-blend-mode:multiply;margin-bottom:6px}
.opcao-comida .opcao-txt{flex:none;font:800 1.0625rem/1.2 var(--fonte-titulo);color:#123A1E}
.comida-nota{font-size:.8125rem;color:var(--tinta-2);line-height:1.25}
.opcao-comida .opcao-marca{position:absolute;top:10px;right:10px;width:28px;height:28px;border-color:#7FA88C;background:#fff}
.opcao-comida .opcao-marca .ic{width:16px;height:16px}
.opcao-comida.ativa{background:#EEF7E6;border-color:#2E7A22;box-shadow:inset 0 0 0 1px #2E7A22}
.opcao-comida.ativa .opcao-marca{background:#1F6B2A;border-color:#1F6B2A}
.opcoes-comida>li{display:flex}.opcoes-comida .opcao-comida{flex:1;width:100%}

/* v1.19 — petiscos com ilustração */
.opcoes-petiscos,.opcoes-sinais{gap:8px}
.opcoes-petiscos .opcao,.opcoes-sinais .opcao{min-height:64px;padding:4px 14px 4px 6px;gap:10px}
.petisco-img{width:84px;height:56px;object-fit:contain;mix-blend-mode:multiply;flex:none}
.opcoes-petiscos .opcao-txt,.opcoes-sinais .opcao-txt{font-weight:700}
.opcoes-petiscos .opcao[aria-pressed="true"],.opcoes-sinais .opcao[aria-pressed="true"]{background:#EEF7E6;border-color:#8CC07A}
.opcoes-petiscos .opcao[aria-pressed="true"] .opcao-marca,.opcoes-sinais .opcao[aria-pressed="true"] .opcao-marca{background:#1F6B2A;border-color:#1F6B2A}


/* v1.20 — título único em todas as perguntas */
:root{--titulo-q:1.625rem}
.idade-cab{padding:0}
.etapa-unica .titulo,.etapa-multipla .titulo,.etapa-raca .titulo,.etapa-info .titulo,.etapa-audio .titulo{font-size:var(--titulo-q);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:#123A1E;padding-inline:24px;text-align:center}

/* v1.22 — tempo dos sinais com calendário */
.opcoes-tempo{gap:10px}
.opcao-tempo{min-height:84px;padding:10px 16px 10px 12px;gap:14px;border-radius:16px}
.opcao-tempo .opcao-txt{font:800 1.125rem/1.2 var(--fonte-titulo);letter-spacing:-.02em;color:#123A1E}
.tempo-apoio{font-size:.9375rem;line-height:1.3;color:var(--tinta-2)}
.opcao-tempo .opcao-marca{width:28px;height:28px;border-radius:50%;border-color:#B5C4BA}
.opcao-tempo.ativa{background:#EEF7E6;border-color:#2E7A22;box-shadow:inset 0 0 0 1px #2E7A22}
.opcao-tempo.ativa .opcao-marca{background:#1F6B2A;border-color:#1F6B2A}
.opcao-tempo .opcao-marca .ic{width:16px;height:16px}
.cal{position:relative;flex:none;width:58px;height:60px;display:flex;flex-direction:column}
.cal-topo{position:relative;height:14px;background:#1F6B2A;border-radius:7px 7px 0 0}
.cal-topo i{position:absolute;top:-5px;width:5px;height:10px;border-radius:3px;background:#1F6B2A;border:1.5px solid #fff}
.cal-topo i:first-child{left:14px}.cal-topo i:last-child{right:14px}
.cal-corpo{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:2px solid #1F6B2A;border-top:0;border-radius:0 0 7px 7px;color:#123A1E;line-height:1}
.cal-corpo b{font:800 1.125rem/1 var(--fonte-titulo)}
.cal-corpo small{font:700 .6875rem/1.1 var(--fonte);margin-top:2px}
.cal-so b{font-size:1rem}
.cal-dobra{position:absolute;right:2px;bottom:2px;width:12px;height:12px;background:linear-gradient(135deg,transparent 50%,#BFE3A8 50%);border-top-left-radius:3px}

/* v1.24 — sem hover herdado ao entrar na tela; alinhamento único */
.sem-hover .opcao:not(.ativa):not([aria-pressed="true"]):hover,.sem-hover .raca-card:not([aria-pressed="true"]):hover{border-color:var(--linha)}
.etapa-unica .sub,.etapa-multipla .sub,.etapa-raca .sub,.etapa-info .sub,.etapa-audio .sub{text-align:center;margin-inline:auto;max-width:36ch;padding-inline:24px;box-sizing:content-box;text-wrap:balance}
.etapa-info .titulo,.etapa-audio .titulo{text-align:center}
.etapa-info .lead{text-align:center;padding-inline:24px;text-wrap:balance}

/* v1.25 — gasto com moedas e etiqueta */
.opcoes-gasto{gap:10px}
.opcao-gasto{min-height:84px;padding:8px 16px 8px 8px;gap:12px;border-radius:16px}
.gasto-img{width:76px;height:61px;object-fit:contain;mix-blend-mode:multiply;flex:none;padding-right:10px;border-right:1px solid #E3E8E4;box-sizing:content-box}
.gasto-txt{flex:1;display:grid;gap:5px;justify-items:start}
.opcao-gasto .opcao-txt{font:800 1.0625rem/1.2 var(--fonte-titulo);letter-spacing:-.02em;color:#123A1E}
.gasto-tag{display:inline-block;padding:3px 10px;border-radius:999px;background:#E3F1DA;color:#1F5A2A;font-size:.8125rem;font-weight:600;line-height:1.3}
.opcao-gasto .opcao-marca{width:28px;height:28px;border-color:#B5C4BA}
.opcao-gasto.ativa{background:#EEF7E6;border-color:#2E7A22;box-shadow:inset 0 0 0 1px #2E7A22}
.opcao-gasto.ativa .opcao-marca{background:#1F6B2A;border-color:#1F6B2A}
.opcao-gasto.ativa .gasto-tag{background:#1F6B2A;color:#fff}
.opcao-gasto .opcao-marca .ic{width:16px;height:16px}

/* v1.26 — perguntas alinhadas à esquerda (regra única) */
.etapa-unica .idade-cab,.etapa-multipla .idade-cab,.etapa-raca .idade-cab{text-align:left;padding:0 46px 0 0}
.etapa-unica .titulo,.etapa-multipla .titulo,.etapa-raca .titulo{text-align:left;padding-inline:0}
.etapa-unica .sub,.etapa-multipla .sub,.etapa-raca .sub{text-align:left;margin-inline:0;max-width:none;padding-inline:0;text-wrap:pretty}
/* v1.27 — quebra natural (v1.29: tracinhos removidos) */
.etapa-unica .idade-cab,.etapa-multipla .idade-cab,.etapa-raca .idade-cab{padding:0}
.etapa-unica .titulo,.etapa-multipla .titulo,.etapa-raca .titulo{text-wrap:wrap}
.etapa-unica .sub,.etapa-multipla .sub,.etapa-raca .sub{text-wrap:wrap}
/* v1.30 — item da oferta que responde à necessidade */
.entregas li.pedido{background:#EEF6EC;border-radius:14px;padding-inline:12px;margin-inline:-12px;border-top-color:transparent}
.pedido-tag{display:inline-block;vertical-align:2px;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--marca);color:#fff;font:700 .75rem/1.4 var(--fonte)}
/* v1.31 — identificação: rótulo + apoio com ícone de linha */
.opcao-apoio .opcao-txt{font:800 1.0625rem/1.2 var(--fonte-titulo);letter-spacing:-.02em;color:#123A1E}
/* v1.35 — identificação com ilustrações (folha gerada, fundo transparente) */
.opcao-ident{min-height:88px;gap:10px;padding:8px 12px 8px 6px}
.ident-img{width:92px;height:77px;flex:none;object-fit:contain}
.opcao-ident .opcao-txt{flex:1;font:700 .9375rem/1.3 var(--fonte-titulo);letter-spacing:-.01em;color:#123A1E}
.garantia-so-texto{grid-template-columns:1fr} /* v1.38 publicar: garantia só com texto */
/* v1.40 — idade: foto quadrada maior (cães >=100px a 390) */
.idade-foto{width:120px;padding-top:0}.idade-foto img{width:120px;height:120px;display:block}.opcao-idade{min-height:120px}
/* v1.44 — raças em busto (cabeça + peito), sem máscara redonda, apoiado na base do card */
.raca-grade .raca-card{min-height:72px;padding:6px 10px 0 8px;align-items:stretch;gap:12px;overflow:hidden}
.raca-grade .raca-card img{width:64px;height:64px;border-radius:0;object-fit:contain;object-position:bottom;align-self:flex-end;margin-top:auto}
.raca-grade .raca-card span{align-self:center;padding-bottom:6px}
