/* Garfadinha: visual. Mobile primeiro, letras grandes e toques confortáveis (público leigo). */

@font-face { font-family: Inter; font-weight: 400; font-display: swap; src: url(../fonts/inter-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: Inter; font-weight: 600; font-display: swap; src: url(../fonts/inter-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: Fraunces; font-weight: 600; font-display: swap; src: url(../fonts/fraunces-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: Fraunces; font-weight: 700; font-display: swap; src: url(../fonts/fraunces-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: Fraunces; font-weight: 600; font-style: italic; font-display: swap; src: url(../fonts/fraunces-latin-600-italic.woff2) format("woff2"); }
@font-face { font-family: Inter; font-weight: 700; font-display: swap; src: url(../fonts/inter-latin-700-normal.woff2) format("woff2"); }

:root {
	--fundo: #ffffff;
	--superficie: #ffffff;
	--clara: #fff0f4;
	--tinta: #2a1a20;
	--suave: #5c4a51;
	--linha: #f1dde3;
	--marca: #c2255c;
	--marca-forte: #9c1c49;
	--marca-clara: #ffe3ec;
	--acento: #c2410c;
	--salvia: #237032;
	--salvia-clara: #e3f5e6;
	--pessego: #ffe4d1;
	--mel: #fff0c7;
	--lavanda: #efe8ff;

	--ok: #166534;      --ok-fundo: #dcfce7;
	--info: #1e4fa0;    --info-fundo: #e0ebfb;
	--risco: #9a3f00;   --risco-fundo: #ffedd5;
	--perigo: #a51d1d;  --perigo-fundo: #fde8e8;
	--wada: #5b21b6;    --wada-fundo: #ede9fe;

	--raio: 18px;
	--raio-p: 12px;
	--sombra: 0 1px 2px rgb(74 30 44 / .05), 0 6px 18px rgb(74 30 44 / .06);
	--sombra-forte: 0 2px 6px rgb(74 30 44 / .08), 0 16px 36px rgb(74 30 44 / .12);
	--largura: 1180px;
	--toque: 48px;
	--titulo: Fraunces, Georgia, "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body { margin: 0; background: var(--fundo); color: var(--tinta); font: 400 1.0625rem/1.65 Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
@media (min-width: 720px) { body { font-size: 1.125rem; } }
img, svg { max-width: 100%; height: auto; }
a { color: var(--marca); text-underline-offset: 3px; }
a:hover { color: var(--marca-forte); }
h1, h2, h3 { line-height: 1.18; letter-spacing: -.01em; margin: 0 0 .5em; text-wrap: balance; }
h1, h2, .marca__nome, .rcard__titulo, .card__nome { font-family: var(--titulo); font-weight: 600; }
h1 em, h2 em { font-style: italic; color: var(--marca); }
h1 { font-size: clamp(2rem, 5.2vw, 3.2rem); }
h2 { font-size: clamp(1.55rem, 3.6vw, 2.15rem); }
h3 { font-size: 1.15rem; font-weight: 600; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--acento); outline-offset: 2px; border-radius: 4px; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: 1rem; top: -100px; z-index: 100; background: var(--marca); color: #fff; padding: .75rem 1rem; border-radius: var(--raio-p); }
.pular:focus { top: 1rem; color: #fff; }
.envelope { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 16px; }
@media (min-width: 720px) { .envelope { padding: 0 24px; } }
.envelope--texto { max-width: 820px; }
.centro { text-align: center; }
.icone { width: 1.15em; height: 1.15em; flex: none; vertical-align: -.2em; }

/* Barra de rolagem (diretriz 1.3) */
html { scrollbar-color: #e7a3ba transparent; scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #d9a9b8; border-radius: 10px; border: 2px solid var(--fundo); }

/* Botões e chips */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: var(--toque); padding: .7em 1.4em; border: 2px solid var(--marca); border-radius: 999px; background: var(--marca); color: #fff; font: inherit; font-weight: 600; font-size: 1rem; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background .15s, transform .15s; }
.botao:hover { background: var(--marca-forte); border-color: var(--marca-forte); color: #fff; transform: translateY(-1px); }
.botao--contorno { background: transparent; color: var(--marca); }
.botao--contorno:hover { background: var(--marca-clara); color: var(--marca-forte); }
.botao-icone { display: inline-grid; place-items: center; width: var(--toque); height: var(--toque); border: 0; border-radius: 50%; background: transparent; color: var(--tinta); cursor: pointer; }
.botao-icone:hover { background: var(--clara); }
.botao-icone .icone { width: 24px; height: 24px; }
.link-botao { border: 0; background: none; padding: 0; font: inherit; color: var(--marca); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.chip { display: inline-flex; align-items: center; gap: .4em; min-height: 44px; padding: .45em 1em; border: 1.5px solid var(--linha); border-radius: 999px; background: var(--superficie); color: var(--tinta); font: inherit; font-weight: 600; font-size: .95rem; line-height: 1.2; text-decoration: none; cursor: pointer; white-space: nowrap; transition: border-color .15s, background .15s; }
.chip:hover { border-color: var(--marca); color: var(--marca-forte); }
.chip[aria-pressed="true"] { background: var(--marca); border-color: var(--marca); color: #fff; }
.chip--leve { min-height: 40px; font-weight: 500; }

/* Selos de situação */
.selo { display: inline-flex; align-items: center; gap: .35em; padding: .3em .75em; border-radius: 999px; font-size: .85rem; font-weight: 600; line-height: 1.3; }
.selo .icone { width: 1em; height: 1em; }
.selo--anvisa { background: var(--ok-fundo); color: var(--ok); }
.selo--exterior { background: var(--info-fundo); color: var(--info); }
.selo--pesquisa { background: var(--risco-fundo); color: var(--risco); }
.selo--wada { background: var(--wada-fundo); color: var(--wada); }

/* Faixa de aviso (topo) */
.faixa-aviso { background: var(--tinta); color: #e8efed; font-size: .875rem; line-height: 1.45; }
.faixa-aviso p { display: flex; gap: .55em; align-items: flex-start; margin: 0; padding-top: .55rem; padding-bottom: .55rem; }
.faixa-aviso .icone { margin-top: .12em; color: #ffc58a; }
.faixa-aviso a { color: #fff; font-weight: 600; }

/* Cabeçalho */
.topo { position: sticky; top: 0; z-index: 30; }
.topo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgb(255 255 255 / .92); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--linha); }
.topo__linha { display: flex; align-items: center; gap: 1rem; min-height: 68px; }
.marca { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--tinta); }
.marca img { width: 36px; height: 36px; }
.marca__nome { font-size: 1.45rem; letter-spacing: -.01em; color: var(--tinta); margin: 0; }
.marca__nome b { color: var(--marca); }
.menu { display: none; margin-left: auto; }
.menu ul { display: flex; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.menu a { display: block; padding: .6rem .9rem; border-radius: 999px; color: var(--tinta); font-weight: 600; text-decoration: none; }
.menu a:hover, .menu a[aria-current] { background: var(--clara); color: var(--marca-forte); }
.topo__acoes { display: flex; gap: .25rem; margin-left: auto; }
@media (min-width: 900px) { .menu { display: block; } .topo__acoes { margin-left: 0; } .topo__hamburguer { display: none; } }
.topo__busca { padding: .25rem 0 1rem; }

/* Gaveta (menu do celular) */
.gaveta { position: fixed; inset: 0; z-index: 60; }
.gaveta__fundo { position: absolute; inset: 0; background: rgb(10 20 18 / .5); opacity: 0; transition: opacity .2s; }
.gaveta__painel { position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 380px); overflow-y: auto; padding: 1rem 1.25rem calc(2rem + env(safe-area-inset-bottom)); background: var(--superficie); box-shadow: var(--sombra-forte); transform: translateX(100%); transition: transform .25s ease; }
.gaveta.aberta .gaveta__fundo { opacity: 1; }
.gaveta.aberta .gaveta__painel { transform: none; }
.gaveta__cabeca { display: flex; justify-content: space-between; align-items: center; margin-bottom: .5rem; }
.gaveta__titulo { margin: 0; font-weight: 700; font-size: 1.2rem; }
.gaveta ul { list-style: none; margin: 0; padding: 0; }
.gaveta__links a { display: block; padding: .85rem .25rem; border-bottom: 1px solid var(--linha); color: var(--tinta); font-weight: 600; font-size: 1.1rem; text-decoration: none; }
.gaveta__subtitulo { margin: 1.5rem 0 .5rem; color: var(--suave); font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.gaveta__objetivos a { display: flex; align-items: center; gap: .7rem; padding: .7rem .25rem; color: var(--tinta); text-decoration: none; }
.gaveta__objetivos .icone { color: var(--marca); width: 22px; height: 22px; }

/* Busca com sugestões */
.busca { position: relative; display: flex; align-items: center; background: var(--superficie); border: 2px solid var(--linha); border-radius: 999px; padding: 4px 4px 4px 1rem; transition: border-color .15s, box-shadow .15s; }
.busca:focus-within { border-color: var(--marca); box-shadow: 0 0 0 4px var(--marca-clara); }
.busca__lupa { color: var(--suave); width: 22px; height: 22px; }
.busca__campo { flex: 1; min-width: 0; min-height: 44px; border: 0; background: transparent; padding: 0 .6rem; font: inherit; color: var(--tinta); outline: none; }
.busca__campo::-webkit-search-cancel-button { display: none; }
.busca__botao { min-height: 44px; padding: 0 1.2rem; border: 0; border-radius: 999px; background: var(--marca); color: #fff; font: inherit; font-weight: 600; font-size: 1rem; cursor: pointer; }
.busca__botao:hover { background: var(--marca-forte); }
.busca--grande { padding: 6px 6px 6px 1.25rem; box-shadow: var(--sombra); }
.busca--grande .busca__campo { min-height: 52px; font-size: 1.1rem; }
.busca--grande .busca__botao { min-height: 52px; padding: 0 1.6rem; font-size: 1.05rem; }
@media (max-width: 479px) { .busca__botao { padding: 0 .9rem; } .busca--grande .busca__botao { padding: 0 1rem; } }
.busca__sugestoes { position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 8px); max-height: min(60vh, 420px); overflow-y: auto; margin: 0; padding: .4rem; list-style: none; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra-forte); }
.busca__sugestoes li { display: flex; flex-direction: column; gap: .1rem; padding: .7rem .9rem; border-radius: var(--raio-p); cursor: pointer; }
.busca__sugestoes li[aria-selected="true"], .busca__sugestoes li:hover { background: var(--clara); }
.busca__sugestoes .sug__nome { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-weight: 600; }
.busca__sugestoes .sug__info { color: var(--suave); font-size: .9rem; }
.busca__sugestoes .sug__vazio { cursor: default; color: var(--suave); }
.busca__sugestoes mark { background: #fde68a; color: inherit; border-radius: 3px; }

/* Hero */
.hero { position: relative; overflow: hidden; padding: 2.25rem 0 3rem; background: linear-gradient(180deg, #fff0f4 0%, #fff 100%); }
.hero__grade { display: grid; gap: 2rem; align-items: center; }
.hero__grade > * { min-width: 0; }
@media (min-width: 960px) { .hero { padding: 4.5rem 0 5rem; } .hero__grade { grid-template-columns: 1.25fr .75fr; gap: 3rem; } }
.sobretitulo { display: inline-flex; align-items: center; gap: .4em; margin-bottom: 1rem; padding: .3em .85em; border-radius: 999px; background: var(--marca-clara); color: var(--marca-forte); font-size: .9rem; font-weight: 600; }
.hero h1 { max-width: 19ch; }
.hero__sub { max-width: 54ch; color: var(--suave); font-size: 1.1rem; margin-bottom: 1.5rem; }
@media (min-width: 720px) { .hero__sub { font-size: 1.2rem; } }
.hero__populares { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1.25rem 0 0; }
.hero__populares > span { color: var(--suave); font-size: .95rem; margin-right: .25rem; }
.hero__visual { position: relative; display: none; min-height: 400px; }
@media (min-width: 960px) { .hero__visual { display: block; } }
.hero__molecula { position: absolute; right: -10px; bottom: -20px; width: 260px; color: var(--marca); opacity: .12; }
.hero__ficha { position: absolute; top: 10px; left: 0; width: 290px; padding: 1.25rem 1.4rem; background: var(--superficie); border-radius: 20px; box-shadow: var(--sombra-forte); transform: rotate(-3deg); animation: flutuar 6s ease-in-out infinite; }
.hero__ficha--2 { top: 235px; left: 130px; width: 240px; transform: rotate(4deg); animation-delay: -3s; }
.hero__ficha-nome { margin: .7rem 0 0; font-size: 1.4rem; font-weight: 700; }
.hero__ficha-sub { margin: 0 0 .8rem; color: var(--suave); }
.hero__ficha-linhas { display: grid; gap: .4rem; font-size: .95rem; }
.hero__ficha-linhas span { padding: .5rem .7rem; border-radius: var(--raio-p); background: var(--fundo); }
@keyframes flutuar { 50% { translate: 0 -10px; } }

/* Seções */
.secao { padding: 3rem 0; }
@media (min-width: 720px) { .secao { padding: 4.5rem 0; } }
.secao--clara { background: var(--superficie); border-block: 1px solid var(--linha); }
.secao__titulo { margin-bottom: .35rem; }
.secao__sub { color: var(--suave); max-width: 62ch; margin-bottom: 1.75rem; }
.pagina__cabeca { margin-bottom: 1.5rem; }

/* Objetivos */
.objetivos { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 720px) { .objetivos { grid-template-columns: repeat(4, 1fr); gap: 1rem; } }
.objetivo a { display: flex; flex-direction: column; gap: .2rem; height: 100%; padding: 1.1rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); color: var(--tinta); text-decoration: none; transition: transform .15s, box-shadow .15s, border-color .15s; }
.objetivo a:hover { transform: translateY(-3px); box-shadow: var(--sombra-forte); border-color: var(--marca); color: var(--tinta); }
.objetivo__icone { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: .5rem; border-radius: 14px; background: var(--marca-clara); color: var(--marca-forte); }
.objetivo__icone .icone { width: 26px; height: 26px; }
.objetivo__icone--grande { width: 64px; height: 64px; border-radius: 18px; margin-bottom: 1rem; }
.objetivo__icone--grande .icone { width: 34px; height: 34px; }
.objetivo--emagrecimento .objetivo__icone { background: #dff3ec; color: #0f6b4f; }
.objetivo--recuperacao .objetivo__icone { background: #fde7dc; color: #a33a0b; }
.objetivo--pele .objetivo__icone { background: #fbe4f0; color: #9d1f63; }
.objetivo--musculo .objetivo__icone { background: #e3eafc; color: #2546a3; }
.objetivo--mente .objetivo__icone { background: #ece6fb; color: #5b2bb0; }
.objetivo--longevidade .objetivo__icone { background: #fdf2d3; color: #855b00; }
.objetivo--libido .objetivo__icone { background: #fde4e4; color: #a8202a; }
.objetivo__nome { font-weight: 700; font-size: 1.05rem; line-height: 1.3; }
.objetivo__frase { color: var(--suave); font-size: .92rem; line-height: 1.4; }
.objetivo__qtd { margin-top: auto; padding-top: .5rem; color: var(--marca); font-size: .88rem; font-weight: 600; }

/* Filtros e grade de cards */
.filtros { display: grid; gap: .75rem; margin-bottom: 1rem; }
.filtros__linha { display: flex; gap: .5rem; overflow-x: auto; padding: 2px 2px 6px; margin: 0 -16px; padding-inline: 16px; scrollbar-width: none; }
.filtros__linha::-webkit-scrollbar { display: none; }
@media (min-width: 720px) { .filtros__linha { flex-wrap: wrap; overflow: visible; margin: 0; padding-inline: 2px; } }
.filtros__rotulo { align-self: center; color: var(--suave); font-size: .92rem; font-weight: 600; white-space: nowrap; }
.chip--anvisa[aria-pressed="true"] { background: var(--ok); border-color: var(--ok); }
.chip--exterior[aria-pressed="true"] { background: var(--info); border-color: var(--info); }
.chip--pesquisa[aria-pressed="true"] { background: var(--risco); border-color: var(--risco); }
.grade__total { color: var(--suave); font-size: .95rem; margin-bottom: 1rem; }
.cards { display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 640px) { .cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cards { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
.card { position: relative; display: flex; flex-direction: column; padding: 1.25rem 1.3rem 1.1rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); transition: transform .15s, box-shadow .15s, border-color .15s; }
.card:hover { transform: translateY(-3px); box-shadow: var(--sombra-forte); border-color: var(--marca); }
.card:focus-within { border-color: var(--marca); }
.card[hidden] { display: none; }
.card__selos { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .75rem; }
.card__nome { margin: 0; font-size: 1.3rem; font-weight: 700; }
.card__nome a { color: var(--tinta); text-decoration: none; }
.card__nome a::after { content: ""; position: absolute; inset: 0; border-radius: var(--raio); }
.card__nome a:focus-visible { outline: none; }
.card__nome a:focus-visible::after { outline: 3px solid var(--acento); outline-offset: 2px; }
.card__comercial { margin: .1rem 0 0; color: var(--marca); font-size: .95rem; font-weight: 600; }
.card__frase { margin: .6rem 0 .9rem; color: var(--suave); font-size: .98rem; line-height: 1.5; }
.card__fatos { display: flex; flex-wrap: wrap; gap: .4rem .9rem; margin: 0 0 1rem; font-size: .88rem; color: var(--suave); }
.card__fatos div { display: flex; align-items: center; gap: .3rem; }
.card__fatos dt { display: flex; color: var(--marca); }
.card__fatos dd { margin: 0; }
.card__ver { display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; color: var(--marca); font-weight: 600; font-size: .95rem; }
.card:hover .card__ver .icone { translate: 3px 0; }
.card__ver .icone { transition: translate .15s; }
.grade__vazio { padding: 2rem; text-align: center; background: var(--superficie); border: 1.5px dashed var(--linha); border-radius: var(--raio); color: var(--suave); }

/* Legenda dos selos e básico */
.legenda, .basico { display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 720px) { .legenda, .basico { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .legenda, .basico { grid-template-columns: repeat(4, 1fr); } }
.legenda__item { padding: 1.25rem; background: var(--superficie); border: 1.5px solid var(--linha); border-top-width: 5px; border-radius: var(--raio); }
.legenda__item p { margin: .8rem 0 0; color: var(--suave); font-size: .97rem; }
.legenda__item--anvisa { border-top-color: var(--ok); }
.legenda__item--exterior { border-top-color: var(--info); }
.legenda__item--pesquisa { border-top-color: var(--risco); }
.legenda__item--wada { border-top-color: var(--wada); }
.basico li { padding: 1.25rem; background: var(--fundo); border-radius: var(--raio); }
.basico p { margin: 0; color: var(--suave); }
.basico .basico__sigla { margin-bottom: .4rem; color: var(--marca-forte); font-size: 1.8rem; font-weight: 700; line-height: 1.1; }
.basico__sigla span { font-size: 1rem; font-weight: 400; color: var(--suave); }
.basico + .centro { margin: 2rem 0 0; }

.chamada { display: flex; flex-direction: column; gap: 1.25rem; align-items: flex-start; padding: 2rem 1.5rem; background: linear-gradient(135deg, #8f2b47 0%, var(--marca) 100%); border-radius: 28px; color: #fff; }
@media (min-width: 720px) { .chamada { flex-direction: row; align-items: center; justify-content: space-between; padding: 2.5rem 3rem; } }
.chamada p { margin: 0; color: #fde8ee; max-width: 52ch; }
.chamada .botao { background: #fff; border-color: #fff; color: var(--marca-forte); white-space: nowrap; }
.chamada .botao:hover { background: var(--marca-clara); }

/* Trilha */
.trilha ol { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; margin: 1.25rem 0; padding: 0; font-size: .92rem; color: var(--suave); }
.trilha li + li::before { content: "›"; margin-right: .3rem; }
.trilha a { color: var(--suave); }

/* Ficha */
.ficha__cabeca { margin: .25rem 0 1.5rem; }
.ficha__selos { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .8rem; }
.ficha__comercial { margin: 0 0 .4rem; font-size: 1.1rem; color: var(--suave); }
.ficha__comercial b { color: var(--marca-forte); }
.ficha__meta { margin: 0; color: var(--suave); font-size: .92rem; }
.ficha__grade { display: grid; gap: 2rem; padding-bottom: 3rem; }
@media (min-width: 1024px) { .ficha__grade { grid-template-columns: minmax(0, 1fr) 280px; gap: 3rem; } }
.ficha__corpo { min-width: 0; }
.ficha__secao { margin: 2.5rem 0; }
.ficha__resumo { font-size: 1.15rem; line-height: 1.6; }
.ficha__ajuda { color: var(--suave); font-size: .97rem; }
.caixa { display: flex; gap: .8rem; padding: 1.1rem 1.2rem; border-radius: var(--raio); border: 1.5px solid; margin-bottom: 1rem; }
.caixa > .icone { width: 24px; height: 24px; margin-top: .1em; }
.caixa p { margin: 0; }
.caixa p + p { margin-top: .5rem; }
.caixa--aviso { background: #fff8e6; border-color: #f2d48a; color: #533b00; }
.caixa--aviso > .icone { color: #9a6700; }
.caixa--alerta { background: var(--perigo-fundo); border-color: #f3b4b4; color: #6b1010; }
.caixa--alerta > .icone { color: var(--perigo); }
.caixa--profissional { margin-top: 2.5rem; background: var(--marca-clara); border-color: #f2bfcf; color: var(--marca-forte); }

.fatos { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; margin: 1.25rem 0 0; }
@media (min-width: 640px) { .fatos { gap: .75rem; } }
@media (max-width: 639px) { .fatos__item { padding: .8rem .9rem; } .fatos dd { font-size: .97rem; } }
.fatos__item { padding: 1rem 1.1rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); }
.fatos__item--largo { grid-column: 1 / -1; }
.fatos dt { color: var(--suave); font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.fatos dt .termo { text-transform: none; letter-spacing: 0; }
.fatos dd { margin: .25rem 0 0; font-weight: 600; }
.fatos__chips { display: flex; flex-wrap: wrap; gap: .4rem; }

.apresentacoes { display: grid; gap: .9rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 640px) { .apresentacoes { grid-template-columns: repeat(2, 1fr); } }
.apresentacao { padding: 1.2rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); }
.apresentacao__nome { margin: 0; font-weight: 700; }
.apresentacao__selos { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .6rem; }
.forma { display: inline-flex; align-items: center; gap: .3rem; padding: .2em .65em; border-radius: 999px; background: var(--marca-clara); color: var(--marca-forte); font-size: .8rem; font-weight: 600; }
.forma .icone { width: 1em; height: 1em; }
.registro { display: inline-flex; align-items: center; padding: .2em .65em; border-radius: 999px; font-size: .8rem; font-weight: 600; white-space: nowrap; }
.registro--oficial, .registro--registrado { background: var(--ok-fundo); color: var(--ok); }
.registro--sem { background: var(--risco-fundo); color: var(--risco); }
.registro--proibido { background: var(--perigo-fundo); color: var(--perigo); }
.apresentacao--sem { border-style: dashed; }
.marcas { display: grid; gap: .6rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 640px) { .marcas { grid-template-columns: repeat(2, 1fr); } }
.marca-item { padding: .9rem 1.1rem; background: var(--superficie); border: 1.5px solid var(--linha); border-left-width: 5px; border-radius: var(--raio); }
.marca-item--registrado { border-left-color: var(--ok); }
.marca-item--sem { border-left-color: var(--risco); }
.marca-item--proibido { border-left-color: var(--perigo); }
.marca-item__topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .4rem .6rem; }
.marca-item__nome { margin: 0; font-weight: 700; font-size: 1.08rem; }
.marca-item__info { margin: .3rem 0 0; color: var(--suave); font-size: .93rem; }
.marca-item__obs { margin: .35rem 0 0; font-size: .93rem; }
.apresentacao__total { margin: .2rem 0 .7rem; color: var(--marca-forte); font-size: clamp(1.3rem, 4.5vw, 1.6rem); font-weight: 700; line-height: 1.2; }
.apresentacao dl { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin: 0; }
.apresentacao dl div { padding: .55rem .7rem; background: var(--fundo); border-radius: var(--raio-p); }
.apresentacao dt { color: var(--suave); font-size: .8rem; }
.apresentacao dd { margin: 0; font-weight: 600; }
.apresentacao__obs { margin: .7rem 0 0; color: var(--suave); font-size: .92rem; }

.doses { margin-bottom: 1.25rem; border: 1.5px solid var(--linha); border-radius: var(--raio); overflow: hidden; background: var(--superficie); }
.doses__cabeca { display: flex; gap: .8rem; padding: 1rem 1.2rem; border-bottom: 1.5px solid var(--linha); }
.doses__cabeca .icone { width: 26px; height: 26px; margin-top: .1rem; }
.doses__cabeca h3 { margin: 0; }
.doses__cabeca p { margin: .1rem 0 0; font-size: .93rem; }
.doses--bula .doses__cabeca { background: var(--ok-fundo); color: var(--ok); }
.doses--estudo .doses__cabeca { background: var(--info-fundo); color: var(--info); }
.doses--mercado { border-color: #f5c08a; }
.doses--mercado .doses__cabeca { background: var(--risco-fundo); color: var(--risco); }
.doses table { width: 100%; border-collapse: collapse; font-size: .97rem; }
.doses th, .doses td { padding: .8rem 1.2rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linha); }
.doses tbody tr:last-child > * { border-bottom: 0; }
.doses thead th { color: var(--suave); font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.doses tbody th { font-weight: 600; }
.doses__valor { font-weight: 700; white-space: nowrap; color: var(--tinta); }
@media (max-width: 639px) {
	.doses thead { display: none; }
	.doses tr { display: grid; gap: .15rem; padding: .8rem 1.1rem; border-bottom: 1px solid var(--linha); }
	.doses tbody th { color: var(--suave); font-size: .9rem; }
	.doses__valor { white-space: normal; font-size: 1.05rem; }
	.doses tbody tr:last-child { border-bottom: 0; }
	.doses th, .doses td { padding: 0; border: 0; }
	.doses td:last-child { color: var(--suave); font-size: .92rem; }
	.doses td:last-child:empty { display: none; }
}

.ficha__texto h2 { margin-top: 2.5rem; }
.ficha__texto ul, .ficha__texto ol, .texto ul, .texto ol { padding-left: 1.3rem; }
.ficha__texto li, .texto li { margin-bottom: .35rem; }
.ficha__texto details, .texto details { margin: .6rem 0; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); }
.ficha__texto summary, .texto summary { display: flex; justify-content: space-between; gap: 1rem; align-items: center; min-height: var(--toque); padding: .9rem 1.2rem; font-weight: 600; cursor: pointer; list-style: none; }
.ficha__texto summary::-webkit-details-marker, .texto summary::-webkit-details-marker { display: none; }
.ficha__texto summary::after, .texto summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--marca-clara); color: var(--marca-forte); font-size: 1.2rem; transition: transform .2s; }
.ficha__texto details[open] summary::after, .texto details[open] summary::after { transform: rotate(45deg); }
.ficha__texto details > :not(summary), .texto details > :not(summary) { margin: 0; padding: 0 1.2rem 1rem; }
.fontes { padding-left: 1.3rem; font-size: .95rem; }
.fontes li { margin-bottom: .4rem; overflow-wrap: anywhere; }

.ficha__lateral { display: none; }
@media (min-width: 1024px) { .ficha__lateral { display: block; } }
.sumario { position: sticky; top: 92px; padding: 1.25rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); }
.sumario__titulo { margin: 0 0 .5rem; font-weight: 700; }
.sumario ol { list-style: none; margin: 0 0 1rem; padding: 0; }
.sumario li a { display: block; padding: .4rem .6rem; border-left: 3px solid transparent; color: var(--suave); text-decoration: none; font-size: .95rem; }
.sumario li a:hover, .sumario li a.ativo { border-left-color: var(--marca); color: var(--marca-forte); background: var(--clara); }
.sumario__comparar { display: flex; align-items: center; gap: .5rem; padding-top: .9rem; border-top: 1px solid var(--linha); font-weight: 600; text-decoration: none; }

/* Balões do glossário */
.termo { position: relative; display: inline; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-decoration: underline dotted 2px; text-decoration-color: var(--marca); text-underline-offset: 3px; cursor: help; }
.termo__balao { position: absolute; z-index: 50; width: min(300px, calc(100vw - 32px)); padding: .85rem 1rem; background: var(--tinta); color: #f1f5f4; border-radius: var(--raio-p); box-shadow: var(--sombra-forte); font-size: .92rem; font-weight: 400; line-height: 1.45; text-transform: none; letter-spacing: 0; }
.termo__balao b { display: block; margin-bottom: .2rem; color: #fff; }

/* Glossário */
.glossario { display: grid; gap: .75rem; margin: 0 0 2rem; }
.glossario__item { padding: 1.1rem 1.25rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); scroll-margin-top: 100px; }
.glossario__item:target { border-color: var(--marca); box-shadow: 0 0 0 4px var(--marca-clara); }
.glossario dt { font-weight: 700; font-size: 1.1rem; color: var(--marca-forte); }
.glossario dd { margin: .3rem 0 0; color: var(--suave); }

/* Comparar */
.comparar__escolha { display: grid; gap: .75rem; align-items: end; margin-bottom: 1.5rem; }
@media (min-width: 720px) { .comparar__escolha { grid-template-columns: 1fr auto 1fr; } }
.comparar__escolha label { display: grid; gap: .3rem; font-weight: 600; }
.comparar__escolha select { width: 100%; min-height: 52px; padding: 0 2.5rem 0 1rem; border: 2px solid var(--linha); border-radius: var(--raio-p); background: var(--superficie) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2346524f' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .8rem center; font: inherit; color: var(--tinta); appearance: none; cursor: pointer; }
.comparar__escolha select:focus { border-color: var(--marca); outline: none; box-shadow: 0 0 0 4px var(--marca-clara); }
.comparar__x { display: none; padding-bottom: .8rem; color: var(--suave); font-size: 1.5rem; font-weight: 700; }
@media (min-width: 720px) { .comparar__x { display: block; } }
.comparar__tabela { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); overflow: hidden; table-layout: fixed; }
.comparar__tabela th, .comparar__tabela td { padding: .9rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linha); overflow-wrap: anywhere; }
.comparar__tabela tr:last-child > * { border-bottom: 0; }
.comparar__tabela thead th { background: var(--clara); font-size: 1.15rem; }
.comparar__tabela thead a { color: var(--marca-forte); }
.comparar__tabela tbody th[scope="rowgroup"], .comparar__tabela .comparar__rotulo { background: var(--fundo); color: var(--suave); font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.comparar__tabela ul { list-style: none; margin: 0; padding: 0; }
.comparar__tabela li + li { margin-top: .4rem; }
.comparar__tabela small { display: block; color: var(--suave); }
.comparar__vazio { padding: 2.5rem 1.5rem; text-align: center; background: var(--superficie); border: 1.5px dashed var(--linha); border-radius: var(--raio); color: var(--suave); }

/* Páginas de texto */
.texto h2 { margin-top: 2rem; }
.resultados { list-style: none; padding: 0; }
.resultados li { padding: 1rem 0; border-bottom: 1px solid var(--linha); }
.resultados a { font-weight: 700; font-size: 1.15rem; }
.resultados p { margin: .3rem 0 0; color: var(--suave); }

/* Anúncios (espaço reservado, invisível até ligar) */
.anuncio { display: grid; place-items: center; min-height: 120px; margin: 2rem auto; text-align: center; }
.anuncio__rotulo { display: block; color: var(--suave); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.anuncio--lateral { min-height: 600px; margin-top: 1.25rem; }
.anuncio--marcacao { border: 2px dashed #e0bcc6; border-radius: var(--raio); color: var(--suave); font-size: .9rem; background: repeating-linear-gradient(45deg, transparent 0 10px, rgb(0 0 0 / .02) 10px 20px); }
@media (min-width: 720px) { .anuncio { min-height: 100px; } }

/* Rodapé */
.rodape { margin-top: 0; padding: 3rem 0 calc(1.5rem + env(safe-area-inset-bottom)); background: var(--tinta); color: #e9dbe0; }
.rodape a { color: #fff; }
.rodape__aviso { display: flex; gap: .9rem; padding: 1.25rem; margin-bottom: 2.5rem; border: 1.5px solid #4d3a40; border-radius: var(--raio); background: #3a2a2f; }
.rodape__aviso .icone { width: 28px; height: 28px; color: #ffc58a; }
.rodape__aviso p { margin: 0; }
.rodape__aviso b { color: #fff; }
.rodape__grade { display: grid; gap: 2rem; }
@media (min-width: 720px) { .rodape__grade { grid-template-columns: 1.4fr 1fr 1fr; } }
.rodape .marca__nome { color: #fff; }
.rodape .marca__nome { color: #fff; }
.rodape__texto { margin-top: .5rem; max-width: 40ch; }
.rodape__titulo { margin: 0 0 .6rem; color: #fff; font-weight: 700; }
.rodape__links { list-style: none; margin: 0; padding: 0; }
.rodape__links li { margin-bottom: .2rem; }
.rodape__links a, .rodape .link-botao { display: inline-block; padding: .3rem 0; color: #e3d3d8; text-decoration: none; }
.rodape__links a:hover, .rodape .link-botao:hover { color: #fff; text-decoration: underline; }
.rodape__assinatura { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid #4d3a40; font-size: .9rem; }
.rodape__assinatura p { margin: 0; }
.rodape__selo { display: inline-flex; background: #fff; border-radius: 8px; padding: 5px 12px; transition: transform .2s, box-shadow .2s; transform-origin: right center; }
.rodape__selo img { display: block; height: 18px; width: auto; }
@media (hover: hover) { .rodape__selo:hover { transform: scale(1.6); box-shadow: 0 8px 20px rgb(0 0 0 / .35); } }
@media (max-width: 860px) { .rodape__assinatura { flex-direction: column; text-align: center; justify-content: center; } .rodape__selo { transform-origin: center; } }

/* WhatsApp (aparece só quando ligado no painel) */
.whatsapp { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 45; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #1fa855; box-shadow: 0 6px 20px rgb(0 0 0 / .25); transition: transform .15s; }
.whatsapp:hover { transform: scale(1.06); }
body.modal-aberto .whatsapp { display: none; }

/* Cookies */
.cookies { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 50; display: grid; gap: .8rem; max-width: 560px; padding: 1rem 1.1rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra-forte); font-size: .92rem; }
.cookies p { margin: 0; }
.cookies__botoes { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.cookies .botao { min-height: 46px; padding: .5em 1em; }
body:has(.whatsapp) .cookies { bottom: calc(86px + env(safe-area-inset-bottom)); }
@media (min-width: 720px) { .cookies { left: 20px; right: auto; } }

/* ===================== Receitas ===================== */

/* Hero da home com vitrine de receitas */
.hero--receitas .hero__sub { max-width: 46ch; }
.vitrine { position: relative; display: none; min-height: 440px; }
@media (min-width: 960px) { .vitrine { display: block; } }
.vitrine__item { position: absolute; display: block; width: 250px; overflow: hidden; background: var(--superficie); border-radius: 22px; box-shadow: var(--sombra-forte); color: var(--tinta); text-decoration: none; transition: transform .25s, box-shadow .25s; }
.vitrine__item:hover { color: var(--tinta); transform: translateY(-6px) rotate(0deg) !important; z-index: 3; }
.vitrine__item .capa { aspect-ratio: 4 / 3; border-radius: 0; }
.vitrine__item--1 { top: 0; left: 0; transform: rotate(-4deg); z-index: 2; }
.vitrine__item--2 { top: 40px; right: 0; transform: rotate(5deg); }
.vitrine__item--3 { top: 250px; left: 90px; transform: rotate(-1deg); z-index: 1; }
.vitrine__rotulo { display: flex; flex-direction: column; gap: .2rem; padding: .8rem 1rem 1rem; font-size: .9rem; color: var(--suave); }
.vitrine__rotulo b { color: var(--tinta); font-family: var(--titulo); font-size: 1.05rem; font-weight: 600; line-height: 1.25; }
.vitrine__rotulo span { display: flex; align-items: center; gap: .3rem; }

/* Capa: foto ou ilustração */
.capa { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.capa--ilustrada { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 4 / 3; }
.capa--rosa { background: radial-gradient(circle at 30% 25%, #fff3f6 0, #f9d3df 70%); color: #a8385a; }
.capa--pessego { background: radial-gradient(circle at 30% 25%, #fff6ef 0, #f9d4bb 70%); color: #a24b1a; }
.capa--salvia { background: radial-gradient(circle at 30% 25%, #f4faf3 0, #cfe3d0 70%); color: #3f6b4b; }
.capa--mel { background: radial-gradient(circle at 30% 25%, #fffaf0 0, #f8e1aa 70%); color: #8a5a00; }
.capa--lavanda { background: radial-gradient(circle at 30% 25%, #f8f6ff 0, #ddd4f7 70%); color: #5b3fa8; }
.capa__icone { display: grid; place-items: center; width: 42%; aspect-ratio: 1; border-radius: 50%; background: rgb(255 255 255 / .65); box-shadow: 0 10px 30px rgb(0 0 0 / .08); }
.capa__icone .icone { width: 55%; height: 55%; stroke-width: 1.5; }
.capa__deco { position: absolute; opacity: .28; }
.capa__deco .icone { width: 100%; height: 100%; stroke-width: 1.5; }
.capa__deco--1 { top: 8%; left: 7%; width: 18%; transform: rotate(-18deg); }
.capa__deco--2 { bottom: 8%; right: 8%; width: 20%; transform: rotate(14deg); }
.capa__deco--3 { top: 12%; right: 12%; width: 12%; transform: rotate(30deg); }

/* Momentos */
.momentos { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 720px) { .momentos { grid-template-columns: repeat(3, 1fr); gap: 1rem; } }
@media (min-width: 1024px) { .momentos { grid-template-columns: repeat(5, 1fr); } }
.momento a { display: flex; flex-direction: column; gap: .25rem; height: 100%; padding: 1.15rem; border-radius: var(--raio); color: var(--tinta); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.momento a:hover { transform: translateY(-3px); box-shadow: var(--sombra-forte); color: var(--tinta); }
.momento__icone, .momento .objetivo__icone { display: inline-grid; place-items: center; width: 50px; height: 50px; margin-bottom: .5rem; border-radius: 16px; background: rgb(255 255 255 / .75); }
.momento__icone .icone { width: 26px; height: 26px; }
.momento__nome { font-family: var(--titulo); font-size: 1.15rem; font-weight: 600; line-height: 1.25; }
.momento__frase { color: var(--suave); font-size: .92rem; line-height: 1.4; }
.momento__qtd { display: flex; align-items: center; gap: .3rem; margin-top: auto; padding-top: .6rem; font-size: .88rem; font-weight: 600; }
.momento--mais-proteina a { background: var(--pessego); } .momento--mais-proteina .icone { color: #a24b1a; } .momento--mais-proteina .momento__qtd { color: #8a3d12; }
.momento--dias-de-enjoo a { background: var(--salvia-clara); } .momento--dias-de-enjoo .icone { color: var(--salvia); } .momento--dias-de-enjoo .momento__qtd { color: var(--salvia); }
.momento--pouca-fome a { background: var(--marca-clara); } .momento--pouca-fome .icone { color: var(--marca); } .momento--pouca-fome .momento__qtd { color: var(--marca-forte); }
.momento--rapidas a { background: var(--mel); } .momento--rapidas .icone { color: #8a5a00; } .momento--rapidas .momento__qtd { color: #7a4f00; }
.momento--sem-acucar a { background: var(--lavanda); } .momento--sem-acucar .icone { color: #5b3fa8; } .momento--sem-acucar .momento__qtd { color: #4c3391; }
.pagina__cabeca .momento__icone { width: 64px; height: 64px; background: var(--marca-clara); color: var(--marca-forte); }

/* Destaque */
.secao--destaque { padding-top: 0; }
.destaque { display: grid; overflow: hidden; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: 28px; box-shadow: var(--sombra); }
@media (min-width: 860px) { .destaque { grid-template-columns: 1.1fr 1fr; } }
.destaque__capa { display: block; }
.destaque__capa .capa { height: 100%; aspect-ratio: 4 / 3; }
.destaque__texto { padding: 1.75rem 1.5rem 2rem; }
@media (min-width: 860px) { .destaque__texto { align-self: center; padding: 2.5rem 3rem; } }
.destaque h2 a { color: var(--tinta); text-decoration: none; }
.destaque h2 a:hover { color: var(--marca); }
.destaque__texto > p:not(.sobretitulo) { color: var(--suave); }
.numeros { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; margin: 1.25rem 0 1.5rem; padding: 0; }
.numeros li { display: flex; flex-direction: column; min-width: 92px; padding: .7rem .95rem; background: var(--fundo); border-radius: var(--raio-p); line-height: 1.25; }
.numeros b { font-size: 1.15rem; }
.numeros span { color: var(--suave); font-size: .85rem; }

/* Cards de receita */
.rcards { display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
@media (min-width: 1024px) { .rcards { gap: 1.4rem; } }
.rcard { position: relative; display: flex; flex-direction: column; overflow: hidden; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: 22px; transition: transform .2s, box-shadow .2s; }
.rcard:hover { transform: translateY(-4px); box-shadow: var(--sombra-forte); }
.rcard[hidden] { display: none; }
.rcard__capa { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.rcard__capa .capa { transition: transform .4s; }
.rcard:hover .rcard__capa .capa { transform: scale(1.04); }
.rcard__corpo { display: flex; flex-direction: column; flex: 1; padding: 1rem 1.15rem 1.15rem; }
.rcard__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 .55rem; }
.rcard__titulo { margin: 0 0 .7rem; font-size: 1.2rem; line-height: 1.25; }
.rcard__titulo a { color: var(--tinta); text-decoration: none; }
.rcard__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.rcard__titulo a:focus-visible { outline: none; }
.rcard__titulo a:focus-visible::after { outline: 3px solid var(--acento); outline-offset: -3px; border-radius: 22px; }
.rcard__meta { display: flex; flex-wrap: wrap; gap: .35rem .9rem; margin: auto 0 0; color: var(--suave); font-size: .88rem; }
.rcard__meta span { display: inline-flex; align-items: center; gap: .3rem; }
.rcard__meta .icone { color: var(--marca); width: 1em; height: 1em; }
.tag { display: inline-block; padding: .22em .7em; border-radius: 999px; font-size: .78rem; font-weight: 600; text-decoration: none; background: var(--clara); color: var(--marca-forte); }
.tag--mais-proteina { background: var(--pessego); color: #8a3d12; }
.tag--dias-de-enjoo { background: var(--salvia-clara); color: var(--salvia); }
.tag--pouca-fome { background: var(--marca-clara); color: var(--marca-forte); }
.tag--rapidas { background: var(--mel); color: #7a4f00; }
.tag--sem-acucar { background: var(--lavanda); color: #4c3391; }
a.tag:hover { filter: brightness(.96); }

/* Botão de salvar (coração) */
.salvar { position: absolute; top: .7rem; right: .7rem; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgb(255 255 255 / .92); color: var(--marca); box-shadow: 0 2px 10px rgb(0 0 0 / .12); cursor: pointer; transition: transform .15s; }
.salvar:hover { transform: scale(1.08); }
.salvar .icone { width: 22px; height: 22px; }
.salvar[aria-pressed="true"] .icone { fill: var(--marca); }
.salvar--grande { width: 52px; height: 52px; top: 1rem; right: 1rem; }
@keyframes pulsar { 50% { transform: scale(1.25); } }
.salvar.pulsou { animation: pulsar .3s ease; }
.salvas { margin-bottom: 1.5rem; padding: 1rem 1.2rem; background: var(--marca-clara); border-radius: var(--raio); }
.salvas__titulo { display: flex; align-items: center; gap: .4rem; margin: 0 0 .6rem; font-weight: 700; color: var(--marca-forte); }
.salvas__titulo .icone { fill: var(--marca); }
.salvas__lista { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.salvas__lista a { display: inline-flex; padding: .45em 1em; border-radius: 999px; background: var(--superficie); color: var(--marca-forte); font-weight: 600; font-size: .92rem; text-decoration: none; }

/* Dicas */
.dicas { display: grid; gap: 1rem; list-style: none; margin: 0 0 1.25rem; padding: 0; }
@media (min-width: 720px) { .dicas { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .dicas { grid-template-columns: repeat(4, 1fr); } }
.dicas li { position: relative; padding: 1.3rem 1.25rem; background: var(--fundo); border-radius: var(--raio); }
.dicas__num { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: .7rem; border-radius: 50%; background: var(--marca); color: #fff; font-family: var(--titulo); font-weight: 700; font-size: 1.15rem; }
.dicas h3 { margin: 0 0 .3rem; font-family: var(--titulo); font-weight: 600; font-size: 1.15rem; }
.dicas p { margin: 0; color: var(--suave); font-size: .97rem; }
.nota { display: flex; gap: .5rem; align-items: flex-start; margin: 0; color: var(--suave); font-size: .9rem; }
.nota .icone { margin-top: .2em; color: var(--marca); }
.sobretitulo--claro { background: rgb(255 255 255 / .2); color: #fff; }
.chamada--guia h2 { color: #fff; }
.chamada__links { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-top: .8rem !important; }
.chamada__links a { color: #fff; font-weight: 600; }

/* Página da receita */
.receita__cabeca { display: grid; gap: 1.5rem; margin-bottom: 2rem; }
@media (min-width: 900px) { .receita__cabeca { grid-template-columns: 1.05fr 1fr; gap: 3rem; align-items: center; } }
.receita__capa { position: relative; overflow: hidden; border-radius: 28px; box-shadow: var(--sombra); }
.receita__capa .capa { aspect-ratio: 4 / 3; }
.receita__intro h1 { margin: .3rem 0 .6rem; }
.receita__resumo { color: var(--suave); font-size: 1.1rem; }
.numeros--receita { margin: 1.2rem 0; }
.numeros--receita li { position: relative; flex: 1 1 110px; padding-left: 2.6rem; }
.numeros--receita .icone { position: absolute; left: .85rem; top: .9rem; color: var(--marca); }
.receita__acoes { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1rem; }
@media (max-width: 479px) { .receita__acoes .botao { flex: 1 1 100%; } .receita__acoes .botao--contorno { flex: 1 1 calc(50% - .3rem); } }
.receita__grade { display: grid; gap: 2rem; padding-bottom: 3rem; }
@media (min-width: 960px) { .receita__grade { grid-template-columns: 360px minmax(0, 1fr); gap: 3rem; align-items: start; } }
.receita__corpo { min-width: 0; }

.ingredientes { padding: 1.4rem 1.3rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: 24px; box-shadow: var(--sombra); }
@media (min-width: 960px) { .ingredientes { position: sticky; top: 92px; max-height: calc(100vh - 110px); overflow-y: auto; } }
.ingredientes__topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.ingredientes h2 { margin: 0; font-size: 1.5rem; }
.ingredientes__grupo { margin: 1.1rem 0 .4rem; color: var(--marca-forte); font-size: 1rem; }
.porcoes { display: inline-flex; align-items: center; gap: .3rem; padding: 3px; background: var(--fundo); border-radius: 999px; }
.porcoes__botao { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--superficie); color: var(--marca); box-shadow: 0 1px 3px rgb(0 0 0 / .1); cursor: pointer; }
.porcoes__botao:hover { background: var(--marca); color: #fff; }
.porcoes__botao:disabled { opacity: .4; cursor: not-allowed; background: var(--superficie); color: var(--marca); }
.porcoes__valor { min-width: 90px; text-align: center; font-size: .92rem; }
.porcoes__valor b { font-size: 1.1rem; }
.ingredientes__lista { list-style: none; margin: 0; padding: 0; }
.ingredientes__lista li { border-bottom: 1px dashed var(--linha); }
.ingredientes__lista li:last-child { border-bottom: 0; }
.ingredientes__lista input { position: absolute; opacity: 0; pointer-events: none; }
.ingredientes__lista label { display: flex; gap: .75rem; align-items: flex-start; padding: .7rem 0; cursor: pointer; line-height: 1.45; }
.check { flex: none; display: grid; place-items: center; width: 26px; height: 26px; margin-top: -.05rem; border: 2px solid #e2b9c6; border-radius: 8px; color: transparent; transition: background .15s, border-color .15s; }
.check .icone { width: 16px; height: 16px; stroke-width: 3; }
.ingredientes__lista input:checked + label .check { background: var(--salvia); border-color: var(--salvia); color: #fff; }
.ingredientes__lista input:checked + label > span:last-child { color: var(--suave); text-decoration: line-through; text-decoration-color: #c9a9b3; }
.ingredientes__lista input:focus-visible + label .check { outline: 3px solid var(--acento); outline-offset: 2px; }
.qtd { color: var(--marca-forte); }
.ingredientes__limpar { margin-top: .8rem; font-size: .9rem; }

.preparo h2, .nutricao h2 { margin-bottom: .2rem; }
.passos { list-style: none; margin: 1rem 0 0; padding: 0; counter-reset: passo; }
.passo { display: flex; gap: 1rem; padding: 1.1rem 1.2rem; margin-bottom: .75rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); cursor: pointer; transition: background .2s, border-color .2s, opacity .2s; }
.passo:hover { border-color: #e6b7c6; }
.passo__num { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--marca-clara); color: var(--marca-forte); font-family: var(--titulo); font-weight: 700; font-size: 1.15rem; transition: background .2s, color .2s; }
.passo__texto p { margin: .45rem 0 0; font-size: 1.05rem; }
.passo.feito { background: var(--salvia-clara); border-color: #bcd8c0; }
.passo.feito .passo__num { background: var(--salvia); color: #fff; }
.passo.feito .passo__texto p { color: var(--suave); }
.cronometro { display: inline-flex; align-items: center; gap: .45rem; min-height: 42px; margin-top: .7rem; padding: .4rem 1rem; border: 1.5px solid var(--marca); border-radius: 999px; background: var(--superficie); color: var(--marca-forte); font: inherit; font-weight: 600; font-size: .92rem; font-variant-numeric: tabular-nums; cursor: pointer; }
.cronometro:hover { background: var(--marca-clara); }
.cronometro.rodando { background: var(--marca); color: #fff; }
.cronometro.acabou { background: var(--salvia); border-color: var(--salvia); color: #fff; animation: pulsar 1s ease 3; }

.caixa .caixa__titulo { margin: 0 0 .2rem; font-weight: 700; }
.caixa--dica { margin-top: 2rem; background: var(--salvia-clara); border-color: #bcd8c0; color: #24402c; }
.caixa--dica > .icone { color: var(--salvia); }
.caixa--guia { margin-top: 2.5rem; background: var(--lavanda); border-color: #d5cbf3; color: #3a2a6e; }
.caixa--guia > .icone { color: #5b3fa8; }
.caixa--guia a { color: #4c3391; font-weight: 600; }
.nutricao { margin: 2.5rem 0; }
.nutricao__grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .6rem; margin: 1rem 0; }
.nutricao__item { padding: .9rem 1rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio-p); }
.nutricao__item dt { color: var(--suave); font-size: .85rem; }
.nutricao__item dd { margin: .15rem 0 0; }
.nutricao__item b { font-size: 1.35rem; font-family: var(--titulo); }
.nutricao__item--kcal { background: var(--marca-clara); border-color: #f2c2d1; }
.nutricao__item--proteina { background: var(--pessego); border-color: #f3c6a8; }

/* Modo cozinha */
.cozinha { position: fixed; inset: 0; z-index: 70; display: flex; flex-direction: column; padding: max(12px, env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom)); background: var(--fundo); animation: entrar .2s ease; }
@keyframes entrar { from { opacity: 0; transform: scale(.98); } }
.cozinha__topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; max-width: 820px; width: 100%; margin: 0 auto; }
.cozinha__titulo { margin: 0; font-family: var(--titulo); font-size: 1.2rem; font-weight: 600; }
.cozinha__abas { display: flex; gap: .4rem; max-width: 820px; width: 100%; margin: .75rem auto 0; padding: 4px; background: var(--clara); border-radius: 999px; }
.cozinha__abas button { flex: 1; min-height: 44px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-weight: 600; font-size: 1rem; color: var(--suave); cursor: pointer; }
.cozinha__abas button[aria-selected="true"] { background: var(--superficie); color: var(--marca-forte); box-shadow: 0 1px 4px rgb(0 0 0 / .1); }
.cozinha__corpo { flex: 1; overflow-y: auto; max-width: 820px; width: 100%; margin: 1.25rem auto; }
.cozinha__passo-num { margin: 0 0 .5rem; color: var(--marca); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: .9rem; }
.cozinha__passo-texto { margin: 0; font-size: clamp(1.45rem, 4.5vw, 2.1rem); line-height: 1.4; }
.cozinha__corpo .cronometro { margin-top: 1.5rem; font-size: 1.1rem; min-height: 52px; }
.cozinha__corpo .ingredientes__lista label { font-size: 1.2rem; padding: .9rem 0; }
.cozinha__nav { display: flex; align-items: center; justify-content: space-between; gap: .75rem; max-width: 820px; width: 100%; margin: 0 auto; }
.cozinha__nav .botao { min-height: 56px; flex: 1; max-width: 220px; font-size: 1.05rem; }
.cozinha__pos { color: var(--suave); font-weight: 600; white-space: nowrap; }
.cozinha__aviso { display: flex; justify-content: center; align-items: center; gap: .4rem; margin: .8rem 0 0; color: var(--suave); font-size: .85rem; }

/* Impressão: só o essencial da receita */
@media print {
	.faixa-aviso, .topo, .rodape, .gaveta, .anuncio, .receita__acoes, .salvar, .secao--clara, .caixa--guia, .cozinha, .whatsapp, .cookies, .trilha, .ingredientes__limpar, .porcoes__botao, .cronometro, .ficha__ajuda { display: none !important; }
	body { background: #fff; font-size: 12pt; }
	.receita__cabeca { grid-template-columns: 1fr 2fr; }
	.receita__grade { grid-template-columns: 1fr 1.6fr; }
	.ingredientes, .passo { box-shadow: none; position: static; max-height: none; }
	.passo { break-inside: avoid; }
}
.toast { position: fixed; left: 50%; width: max-content; text-align: center; bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 80; translate: -50% 0; max-width: calc(100vw - 32px); padding: .8rem 1.25rem; background: var(--tinta); color: #fff; border-radius: 999px; box-shadow: var(--sombra-forte); font-weight: 600; font-size: .95rem; animation: entrar .2s ease; }
.cozinha__ingredientes h2, .cozinha__ingredientes .ingredientes__topo { display: none; }
.cozinha__ingredientes .ingredientes__lista { max-width: 640px; }
body.modal-aberto .toast { bottom: auto; top: calc(16px + env(safe-area-inset-top)); }

/* ===================== Garfadinha (v0.3): mais cor, mais foto ===================== */
.marca__nome { font-family: var(--titulo); font-weight: 700; letter-spacing: -.02em; color: var(--tinta); }
.marca__nome i { position: relative; font-style: normal; }
.marca__nome i::after { content: ""; position: absolute; left: 50%; top: .19em; width: .26em; height: .24em; translate: -50% 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 11'%3E%3Cpath d='M6 2C7.2-.2 11.6.1 11.9 3c.2 2-1.5 3.6-5.9 7C1.6 6.6-.1 5 .1 3 .4.1 4.8-.2 6 2Z' fill='%23ff8a3d'/%3E%3C/svg%3E") no-repeat center / contain; }
.topo .marca__nome { font-size: 1.65rem; }
.rodape .marca__nome { font-size: 1.7rem; }

/* hero com bloco de cor forte atrás da vitrine */
.hero--receitas { padding-bottom: 3.5rem; }
.hero--receitas .vitrine::before { content: ""; position: absolute; inset: 30px -60px -10px 40px; z-index: -1; border-radius: 48% 52% 44% 56% / 55% 45% 55% 45%; background: linear-gradient(135deg, #e8487f 0%, #d6336c 50%, #ff8a3d 130%); }
.hero--receitas .vitrine { isolation: isolate; }
.vitrine__item { border: 4px solid #fff; }
.sobretitulo { background: var(--marca-clara); color: var(--marca-forte); }
.hero h1 em { color: #d6336c; }

/* botões mais vivos */
.botao { box-shadow: 0 6px 16px rgb(194 37 92 / .25); }
.botao--contorno { box-shadow: none; }

/* momentos com foto */
.momento a { position: relative; overflow: hidden; min-height: 190px; isolation: isolate; }
.momento--foto a { justify-content: flex-end; color: #fff; }
.momento--foto a:hover { color: #fff; }
.momento__foto { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.momento--foto a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(42 26 32 / .05) 0%, rgb(42 26 32 / .55) 50%, rgb(42 26 32 / .88) 100%); }
.momento--foto a:hover .momento__foto { transform: scale(1.06); }
.momento--foto .momento__icone { position: absolute; top: .9rem; left: .9rem; width: 42px; height: 42px; margin: 0; border-radius: 12px; background: rgb(255 255 255 / .92); }
.momento--foto .momento__icone .icone { width: 22px; height: 22px; }
.momento--foto .momento__frase { color: rgb(255 255 255 / .88); }
.momento--foto .momento__qtd { color: #fff !important; }
@media (min-width: 1024px) { .momento a { min-height: 240px; } }

/* cards: foto em destaque, tags sólidas */
.rcard { border: 0; box-shadow: var(--sombra); }
.rcard__capa { border-radius: 22px 22px 0 0; }
.tag { font-weight: 700; }
.tag--mais-proteina { background: #ffe0cc; color: #8a3200; }
.tag--dias-de-enjoo { background: #d7f2dc; color: #1d5e2a; }
.tag--pouca-fome { background: #ffd9e6; color: #9c1c49; }
.tag--rapidas { background: #ffeab0; color: #6e4500; }
.tag--sem-acucar { background: #e6dcff; color: #4527a0; }

/* capa sem foto: cor sólida e viva, sem desenhos soltos */
.capa--rosa { background: linear-gradient(135deg, #ff7aa5, #d6336c); color: #fff; }
.capa--pessego { background: linear-gradient(135deg, #ffb07a, #ff7a3d); color: #fff; }
.capa--salvia { background: linear-gradient(135deg, #6fcf86, #2b8a3e); color: #fff; }
.capa--mel { background: linear-gradient(135deg, #ffd45e, #f59f00); color: #fff; }
.capa--lavanda { background: linear-gradient(135deg, #b197fc, #7048e8); color: #fff; }
.capa__icone { background: rgb(255 255 255 / .22); box-shadow: none; }

/* destaque e dicas com mais contraste */
.destaque { border: 0; box-shadow: var(--sombra-forte); }
.secao--clara { background: #fff6f8; border-color: #f7e3e9; }
.dicas li { background: #fff; box-shadow: var(--sombra); }
.dicas__num { background: linear-gradient(135deg, #e8487f, #c2255c); }
.numeros li { background: #fff0f4; }

/* receita */
.receita__capa { box-shadow: var(--sombra-forte); }
.ingredientes { border: 0; box-shadow: var(--sombra-forte); }
.passo { border: 0; box-shadow: var(--sombra); }
.passo__num { background: linear-gradient(135deg, #e8487f, #c2255c); color: #fff; }

.momento--foto a { padding-top: 4.2rem; }
.momento--foto .momento__nome { margin-top: auto; }
.momento--foto .momento__qtd { margin-top: .5rem; padding-top: 0; }
@media (max-width: 719px) { .hero--receitas { padding-bottom: 1.5rem; } .momento--foto .momento__frase { display: none; } .momento a { min-height: 170px; } }
.vitrine__item { width: 230px; }
.vitrine__item--1 { top: 0; left: 0; }
.vitrine__item--2 { top: 70px; left: auto; right: -10px; }
.vitrine__item--3 { top: 250px; left: 80px; }
.momento--foto .momento__qtd .icone, .momento--foto .momento__icone .icone { transition: none; }
.momento--foto .momento__qtd .icone { color: #fff !important; }
@media (max-width: 719px) { .momentos li:last-child:nth-child(odd) { grid-column: 1 / -1; } }

/* ===================== Calculadora de dose ===================== */
.calc__grade { display: grid; gap: 1.5rem; margin: 1.5rem 0 2.5rem; }
@media (min-width: 960px) { .calc__grade { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; } }
.calc__form { display: grid; gap: 1rem; }
.calc__passo { margin: 0; padding: 1.1rem 1.2rem 1.2rem; border: 0; border-radius: var(--raio); background: #fff; box-shadow: var(--sombra); }
.calc__passo[hidden] { display: none; }
.calc__passo legend { display: flex; align-items: center; gap: .6rem; float: left; width: 100%; margin-bottom: .8rem; padding: 0; font-weight: 700; font-size: 1.05rem; }
.calc__passo legend + * { clear: both; }
.calc__num { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #e8487f, #c2255c); color: #fff; font-family: var(--titulo); font-size: .95rem; }
.calc__ajuda { margin: 0 0 .7rem; color: var(--suave); font-size: .92rem; clear: both; }
.calc__opcoes { display: flex; flex-wrap: wrap; gap: .5rem; clear: both; }
.calc__chip { position: relative; }
.calc__chip input, .calc__unidade input { position: absolute; opacity: 0; pointer-events: none; }
.calc__chip span { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 64px; min-height: 46px; padding: .45rem .9rem; border: 1.5px solid var(--linha); border-radius: 14px; background: #fff; font-weight: 600; line-height: 1.15; cursor: pointer; transition: border-color .15s, background .15s; }
.calc__chip small { font-weight: 400; font-size: .75rem; color: var(--suave); }
.calc__chip span:hover { border-color: var(--marca); }
.calc__chip input:checked + span { background: var(--marca); border-color: var(--marca); color: #fff; }
.calc__chip input:checked + span small { color: #ffe3ec; }
.calc__chip input:focus-visible + span, .calc__unidade input:focus-visible + span { outline: 3px solid var(--acento); outline-offset: 2px; }
.calc__outro { display: grid; gap: .35rem; margin-top: .8rem; font-weight: 600; font-size: .95rem; clear: both; }
.calc__outro[hidden] { display: none; }
.calc__outro input { min-height: 50px; padding: 0 1rem; border: 2px solid var(--linha); border-radius: 12px; font: inherit; font-size: 1.15rem; color: var(--tinta); }
.calc__outro input:focus { outline: none; border-color: var(--marca); box-shadow: 0 0 0 4px var(--marca-clara); }
.calc__unidade { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: .6rem; border-radius: 999px; background: var(--clara); clear: both; }
.calc__unidade span { display: inline-block; min-width: 64px; padding: .45rem 1rem; border-radius: 999px; text-align: center; font-weight: 700; cursor: pointer; }
.calc__unidade input:checked + span { background: #fff; color: var(--marca-forte); box-shadow: 0 1px 4px rgb(0 0 0 / .12); }
.calc__check { display: flex; gap: .6rem; align-items: center; padding: .9rem 1.1rem; border-radius: var(--raio); background: #fff6f8; font-weight: 600; cursor: pointer; }
.calc__check input { width: 22px; height: 22px; accent-color: var(--marca); }
.calc__form > .link-botao { justify-self: start; font-size: .92rem; }

.calc__resultado { padding: 1.5rem; border-radius: 24px; background: #fff; box-shadow: var(--sombra-forte); }
@media (min-width: 960px) { .calc__resultado { position: sticky; top: 92px; } }
.calc__vazio { display: grid; justify-items: center; gap: .6rem; padding: 2rem 1rem; text-align: center; color: var(--suave); }
.calc__vazio .icone { width: 48px; height: 48px; color: #e7a3ba; }
.calc__rotulo { margin: 0; color: var(--suave); font-weight: 600; }
.calc__unidades { margin: .1rem 0 0; font-family: var(--titulo); font-size: 1.6rem; line-height: 1.1; }
.calc__unidades b { font-size: 3.4rem; color: var(--marca); }
.calc__volume { margin: .2rem 0 1rem; color: var(--suave); font-size: 1.1rem; }
.seringa { margin: .5rem 0 1.2rem; }
.seringa svg { display: block; width: 100%; height: auto; }
.calc__dados { display: grid; gap: .5rem; margin: 0 0 1rem; }
.calc__dados div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; padding: .6rem .8rem; border-radius: 10px; background: #fff6f8; }
.calc__dados div[hidden] { display: none; }
.calc__dados dt { color: var(--suave); font-size: .9rem; }
.calc__dados dd { margin: 0; font-weight: 600; text-align: right; }
.calc__alertas { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
.calc__alerta { padding: .75rem .9rem; border-radius: 12px; font-size: .93rem; border-left: 4px solid; }
.calc__alerta--aviso { background: #fff8e6; border-color: #e0a800; color: #533b00; }
.calc__alerta--perigo { background: var(--perigo-fundo); border-color: var(--perigo); color: #6b1010; font-weight: 600; }
.calc__acoes { display: flex; flex-wrap: wrap; gap: .6rem; }
.calc__como { margin-top: 1rem; }
.calc__formula { margin-top: 1rem; }
.calc__faq { max-width: 820px; }
@media print {
	.calc__form, .calc__acoes, .calc__como, .calc__faq, .caixa--aviso { display: none !important; }
	.calc__grade { display: block; }
	.calc__resultado { box-shadow: none; position: static; }
}
.chamada__botoes { display: flex; flex-wrap: wrap; gap: .6rem; }
.calc__unidades--erro b { color: var(--perigo); }
.calc__barra { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 40; display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 56px; padding: .6rem .7rem .6rem 1.1rem; border-radius: 18px; background: var(--tinta); color: #fff; font-weight: 600; text-decoration: none; box-shadow: var(--sombra-forte); }
.calc__barra[hidden] { display: none; }
.calc__barra:hover { color: #fff; }
.calc__barra b { padding: .5rem .9rem; border-radius: 12px; background: var(--marca); white-space: nowrap; }
body:has(.calc__barra:not([hidden])) .whatsapp { bottom: calc(80px + env(safe-area-inset-bottom)); }

/* Balões nunca encolhem (Safari/iOS aperta itens flex em listas com rolagem lateral) e têm folga nas laterais */
.chip, .tag, .selo, .registro, .forma, .calc__chip span, .calc__unidade span { flex-shrink: 0; }
.chip { padding: .45em 1.15em; }
.filtros__linha { scroll-padding-inline: 16px; }
.filtros__linha::after { content: ""; flex: 0 0 4px; }

/* ---------- Conta: botão no topo ---------- */
.topo__conta { display: inline-flex; align-items: center; gap: .45rem; min-height: var(--toque); padding: 0 .7rem; border-radius: 999px; color: var(--tinta); font-weight: 600; font-size: .95rem; text-decoration: none; }
.topo__conta:hover { background: var(--clara); color: var(--marca-forte); }
.topo__conta .icone { width: 26px; height: 26px; color: var(--marca); }
.topo__avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--marca); color: #fff; font-weight: 700; font-size: .95rem; }
@media (max-width: 559px) { .topo__conta-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .topo__conta { padding: 0; width: var(--toque); justify-content: center; } }

/* ---------- Coração nas fichas de peptídeo ---------- */
.salvar--card { top: .8rem; right: .8rem; width: 44px; height: 44px; background: var(--marca-clara); box-shadow: none; }
.card__selos { padding-right: 52px; }
.ficha__titulo { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.salvar--ficha { position: static; flex-shrink: 0; display: inline-flex; width: auto; height: var(--toque); gap: .4rem; padding: 0 1rem; border-radius: 999px; background: var(--marca-clara); box-shadow: none; font-family: inherit; font-weight: 600; font-size: .95rem; color: var(--marca-forte); }
.salvar--ficha[aria-pressed="true"] { background: var(--marca); color: #fff; }
.salvar--ficha[aria-pressed="true"] .icone { fill: #fff; }

/* ---------- Conta: entrar, criar, recuperar ---------- */
.conta { padding-top: 2rem; background: linear-gradient(180deg, var(--clara), var(--fundo) 70%); }
.conta__grade { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 900px) { .conta__grade { grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: 4rem; } }
.conta__caixa { padding: 1.75rem 1.25rem; background: var(--superficie); border-radius: var(--raio); box-shadow: var(--sombra-forte); }
@media (min-width: 480px) { .conta__caixa { padding: 2.25rem 2rem; } }
.conta__marca img { display: block; width: 56px; height: 56px; border-radius: 16px; margin-bottom: 1rem; }
.conta__caixa h1 { margin: 0 0 .35rem; font-size: clamp(1.6rem, 5vw, 2rem); }
.conta__sub { margin: 0 0 1.25rem; color: var(--suave); }
.conta__troca { margin: 1.25rem 0 0; text-align: center; color: var(--suave); }
.conta__troca a, .form__linha a { font-weight: 700; }
.conta__vantagens { display: grid; gap: .5rem; margin: 0 0 1.25rem; padding: 0; list-style: none; font-size: .95rem; }
.conta__vantagens li { display: flex; gap: .6rem; align-items: center; }
.conta__vantagens .icone { flex-shrink: 0; width: 22px; height: 22px; color: var(--marca); }
.conta__foto { display: none; position: relative; margin: 0; }
@media (min-width: 900px) { .conta__foto { display: block; } }
.conta__foto img { width: 100%; height: auto; aspect-ratio: 4 / 3.4; object-fit: cover; border-radius: 28px; box-shadow: var(--sombra-forte); }
.conta__foto p { position: absolute; left: 1.5rem; bottom: 1.5rem; margin: 0; padding: .6rem 1.1rem; border-radius: 999px; background: rgb(255 255 255 / .94); font-family: var(--titulo); font-size: 1.2rem; font-weight: 600; color: var(--marca-forte); }
.conta__msg { display: flex; gap: .6rem; align-items: flex-start; margin: 0 0 1.25rem; padding: .85rem 1rem; border-radius: var(--raio-p); background: var(--ok-fundo); color: var(--ok); font-weight: 600; font-size: .95rem; }
.conta__msg--erro { background: var(--perigo-fundo); color: var(--perigo); }
.conta__msg .icone { flex-shrink: 0; width: 22px; height: 22px; margin-top: 1px; }

/* formulário */
.form { display: grid; gap: 1rem; }
.form__campo { display: grid; gap: .35rem; font-weight: 600; font-size: .95rem; }
.form__campo input { width: 100%; min-height: 52px; padding: .7rem .95rem; border: 1.5px solid var(--linha); border-radius: var(--raio-p); background: #fff; color: var(--tinta); font: inherit; font-weight: 400; font-size: 1.05rem; }
.form__campo input:focus { outline: none; border-color: var(--marca); box-shadow: 0 0 0 4px var(--marca-clara); }
.senha { position: relative; display: block; }
.senha input { padding-right: 3.4rem; }
.senha__olho { position: absolute; top: 50%; right: 4px; translate: 0 -50%; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--suave); cursor: pointer; }
.senha__olho:hover { background: var(--clara); color: var(--marca-forte); }
.senha__olho .icone { width: 22px; height: 22px; }
.senha__olho .lucide-eye-off, .senha__olho[aria-pressed="true"] .lucide-eye { display: none; }
.senha__olho[aria-pressed="true"] .lucide-eye-off { display: block; }
.senha__req { display: flex; flex-wrap: wrap; gap: .3rem .9rem; margin: .25rem 0 0; padding: 0; list-style: none; font-size: .85rem; font-weight: 500; color: var(--suave); }
.senha__req li { display: inline-flex; align-items: center; gap: .3rem; }
.senha__req .icone { width: 16px; height: 16px; padding: 2px; border-radius: 50%; background: var(--linha); color: transparent; transition: background .15s; }
.senha__req li.ok { color: var(--ok); }
.senha__req li.ok .icone { background: var(--ok); color: #fff; }
.form__linha { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; font-size: .95rem; }
.form__check { display: flex; align-items: flex-start; gap: .6rem; min-height: 44px; align-items: center; cursor: pointer; }
.form__check input { flex-shrink: 0; width: 22px; height: 22px; accent-color: var(--marca); }
.form__check--aceite { align-items: flex-start; font-size: .92rem; color: var(--suave); }
.form__check--aceite input { margin-top: 2px; }
.form__robo { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form__equipe { font-size: .9rem; color: var(--suave); }
.form__equipe summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.botao--largo { width: 100%; min-height: 54px; font-size: 1.05rem; }
.botao--perigo { background: var(--perigo); border-color: var(--perigo); box-shadow: none; }
.botao--perigo:hover { background: #7f1414; border-color: #7f1414; }
.botao:disabled { opacity: .6; cursor: wait; transform: none; }

/* ---------- Minha conta ---------- */
.conta-painel__cabeca { display: grid; grid-template-columns: auto 1fr; gap: .5rem 1rem; align-items: center; margin-bottom: 1.25rem; }
.conta-painel__cabeca h1 { margin: 0; font-size: clamp(1.7rem, 5vw, 2.4rem); }
.conta-painel__cabeca .secao__sub { margin: .25rem 0 0; }
.conta-painel__avatar { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--marca); color: #fff; font-family: var(--titulo); font-size: 1.8rem; font-weight: 700; }
.conta-painel__sair { grid-column: 1 / -1; justify-self: start; }
@media (min-width: 720px) { .conta-painel__cabeca { grid-template-columns: auto 1fr auto; } .conta-painel__sair { grid-column: auto; } }
.conta-painel__abas { margin-bottom: 1.5rem; }
.conta-painel__abas .chip { text-decoration: none; color: var(--tinta); }
.conta-painel__abas .icone { width: 18px; height: 18px; color: var(--marca); }
.conta-painel__bloco { scroll-margin-top: 90px; }
.conta-painel__bloco h2, .conta-painel__sub { display: flex; align-items: center; gap: .5rem; font-size: 1.4rem; }
.conta-painel__sub { margin-top: 2.5rem; }
.conta__conta { display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 .5rem; border-radius: 999px; background: var(--marca-clara); color: var(--marca-forte); font-family: Inter, system-ui, sans-serif; font-size: .9rem; }
.conta__vazio { display: grid; justify-items: center; gap: .75rem; padding: 2rem 1rem; text-align: center; border: 1.5px dashed var(--linha); border-radius: var(--raio); color: var(--suave); }
.conta__vazio > .icone { width: 36px; height: 36px; color: var(--marca); }
.conta__vazio p { margin: 0; max-width: 40ch; }
.conta-painel__forms { display: grid; gap: 1.25rem; margin-top: 3rem; }
@media (min-width: 900px) { .conta-painel__forms { grid-template-columns: 1fr 1fr; } }
.cartao-form { padding: 1.5rem 1.25rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); scroll-margin-top: 90px; }
@media (min-width: 480px) { .cartao-form { padding: 1.75rem; } }
.cartao-form h2 { display: flex; align-items: center; gap: .5rem; margin: 0 0 1rem; font-size: 1.25rem; }
.cartao-form h2 .icone { width: 24px; height: 24px; color: var(--marca); }
.cartao-form--largo { margin-top: 1.25rem; }
.cartao-form .botao { justify-self: start; }
.conta-painel__priv { display: grid; gap: 1rem; }
.conta__excluir summary { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; cursor: pointer; color: var(--perigo); font-weight: 600; }
.conta__excluir summary .icone { width: 20px; height: 20px; }
.conta__excluir .form { margin-top: .75rem; padding: 1rem; border-radius: var(--raio-p); background: var(--perigo-fundo); }
.conta__excluir p { margin: 0; }

/* ---------- Onde aplicar (mapa do rodízio) ---------- */
.apl__grade { display: grid; gap: 1.25rem; margin: 1.5rem 0 2.5rem; }
@media (min-width: 960px) { .apl__grade { grid-template-columns: minmax(0, 1fr) 380px; align-items: start; } }
.apl__mapa-caixa, .apl__painel > *, .apl__cartao { padding: 1.25rem; background: var(--superficie); border: 1.5px solid var(--linha); border-radius: var(--raio); }
.apl__titulo { display: flex; align-items: center; gap: .5rem; margin: 0 0 .3rem; font-size: 1.3rem; }
.apl__titulo .icone, .apl__secao h2 .icone, .apl__cartao h2 .icone { width: 24px; height: 24px; color: var(--marca); }
.apl__ajuda { margin: 0 0 1rem; color: var(--suave); font-size: .95rem; }
.apl__ajuda--peq { font-size: .85rem; margin: .5rem 0 0; }
.apl__vistas { display: flex; gap: .5rem; justify-content: center; margin-bottom: .6rem; }
.apl__zooms { justify-content: center; margin-bottom: .75rem; }
@media (min-width: 720px) { .apl__zooms { justify-content: center; } }
.apl__palco { position: relative; width: min(100%, 360px); margin: 0 auto; aspect-ratio: 200 / 420; overflow: hidden; border-radius: var(--raio-p); background: radial-gradient(circle at 50% 40%, #fff, var(--clara)); touch-action: manipulation; }
.apl__cena { position: absolute; inset: 0; transform-origin: 0 0; transition: transform .45s cubic-bezier(.2, .7, .2, 1); --s: 1; }
.apl__vista { position: absolute; inset: 0; }
.apl__vista[hidden] { display: none; }
.apl__corpo { width: 100%; height: 100%; display: block; }
.apl__silhueta { fill: var(--pessego); filter: drop-shadow(0 0 .5px #cf8f6f) drop-shadow(0 0 .5px #cf8f6f); }
.apl__corpo .apl__umbigo { fill: #c98e6e; stroke: none; }
.apl__corpo .apl__anel { fill: none; stroke: #e7a07c; stroke-width: 1.2; stroke-dasharray: 2 2; vector-effect: non-scaling-stroke; }
.apl__corpo .apl__linha { fill: none; stroke: #d9a184; stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.apl__ponto { position: absolute; width: 18px; height: 18px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1.5px var(--marca), 0 2px 6px rgb(74 30 44 / .25); cursor: pointer; transform: translate(-50%, -50%) scale(calc(1 / var(--s))); transition: transform .45s cubic-bezier(.2, .7, .2, 1), background .15s; }
.apl__ponto::before { content: ""; position: absolute; inset: -12px; border-radius: 50%; }
.apl__ponto--fora { box-shadow: 0 0 0 1.5px var(--suave), 0 2px 6px rgb(74 30 44 / .2); border-style: dashed; border-color: var(--suave); }
.apl__ponto.recente { background: #f3a5bf; }
.apl__ponto.sugerido { background: var(--salvia); box-shadow: 0 0 0 1.5px var(--salvia), 0 0 0 6px rgb(35 112 50 / .2); }
.apl__ponto[aria-pressed="true"] { background: var(--marca); box-shadow: 0 0 0 3px var(--marca-forte), 0 0 0 7px rgb(194 37 92 / .25); }
.apl__ponto:focus-visible { outline: 3px solid var(--marca-forte); outline-offset: 3px; }
.apl__voltar { position: absolute; left: 50%; bottom: 10px; translate: -50% 0; display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; padding: 0 1rem; border: 0; border-radius: 999px; background: rgb(255 255 255 / .95); box-shadow: var(--sombra); color: var(--marca-forte); font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.apl__voltar .icone { width: 18px; height: 18px; }
.apl__alerta { margin: 0; padding: .7rem .9rem; border-radius: var(--raio-p); background: var(--risco-fundo); color: var(--risco); font-size: .9rem; font-weight: 600; }
.apl__selo--fora { background: #fff; color: var(--suave); border: 2px dashed var(--suave); }
.apl__legenda { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .3rem .6rem; margin: 1rem 0 0; font-size: .85rem; color: var(--suave); }
.apl__legenda > span { white-space: nowrap; }
.apl__bola { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 1.5px solid var(--linha); vertical-align: middle; margin: 0 .3rem 0 .4rem; }
.apl__bola--sugerida { background: var(--salvia); border-color: var(--salvia); }
.apl__bola--recente { background: #f3a5bf; border-color: #f3a5bf; }
.apl__painel { display: grid; gap: 1rem; }
@media (min-width: 960px) { .apl__painel { position: sticky; top: 90px; } }
.apl__sugestao { background: var(--salvia-clara) !important; border-color: #bfe5c6 !important; }
.apl__sugerida { margin: .2rem 0 0; font-family: var(--titulo); font-size: 1.35rem; font-weight: 600; color: var(--salvia); line-height: 1.25; }
.apl__registro { display: grid; gap: .8rem; }
.apl__escolhida { margin: 0; }
.apl__historico ol { margin: .4rem 0 .6rem; padding: 0; list-style: none; font-size: .92rem; }
.apl__historico li { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .45rem 0; border-top: 1px solid var(--linha); }
.apl__historico li:first-child { border-top: 0; }
.apl__privado { display: flex; gap: .5rem; align-items: flex-start; padding: .8rem 1rem !important; font-size: .88rem; color: var(--suave); }
.apl__privado .icone { flex-shrink: 0; width: 18px; height: 18px; color: var(--marca); }
.apl__secao { margin: 2.5rem 0; }
.apl__secao h2, .apl__cartao h2 { display: flex; align-items: center; gap: .5rem; }
.apl__locais { display: grid; gap: 1rem; margin: 0 0 1rem; padding: 0; list-style: none; }
@media (min-width: 640px) { .apl__locais { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .apl__locais { grid-template-columns: repeat(4, 1fr); } }
.apl__locais li { position: relative; padding: 1.25rem 1.25rem 1.1rem; background: var(--clara); border-radius: var(--raio); }
.apl__locais h3 { margin: .6rem 0 .3rem; font-family: var(--titulo); font-size: 1.2rem; }
.apl__locais p { margin: 0; }
.apl__selo { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--marca); color: #fff; font-weight: 700; }
.apl__nota { font-size: .92rem; color: var(--suave); }
.apl__duas { display: grid; gap: 1rem; margin: 2rem 0; }
@media (min-width: 900px) { .apl__duas { grid-template-columns: 1fr 1fr; } }
.apl__cartao h2 { margin: 0 0 .75rem; font-size: 1.25rem; }
.apl__cartao ul { margin: 0; padding-left: 1.2rem; display: grid; gap: .45rem; }
.apl__cartao--nao { background: var(--perigo-fundo); border-color: #f6c9c9; }
.apl__cartao--nao h2 .icone { color: var(--perigo); }
.apl__lembrete { padding: 1.5rem 1.25rem; border-radius: var(--raio); background: var(--lavanda); }
.apl__lembrete h2 { margin-top: 0; }
.apl__lembrete-form { display: grid; gap: .8rem; align-items: end; }
@media (min-width: 720px) { .apl__lembrete-form { grid-template-columns: 2fr 1fr 1fr auto; } }
.form__campo select { width: 100%; min-height: 52px; padding: .7rem .95rem; border: 1.5px solid var(--linha); border-radius: var(--raio-p); background: #fff; font: inherit; font-weight: 400; color: var(--tinta); }
.apl__fontes { margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1.5px solid var(--linha); font-size: .92rem; }
.apl__fontes ol { padding-left: 1.2rem; display: grid; gap: .5rem; }
.apl__cena.longe .apl__ponto { width: 12px; height: 12px; border-width: 1.5px; }
.apl__cena.longe .apl__ponto::before { inset: -6px; }
.ficha__receitas-links { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.ficha__receitas-links .chip { text-decoration: none; color: var(--tinta); }
.ficha__receitas-links .icone { width: 18px; height: 18px; color: var(--marca); }
@media (min-width: 640px) { .rcards--3 { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Panificadoras ---------- */
.pan__topo { display: grid; gap: 1rem; margin: 1.5rem 0 2.5rem; }
@media (min-width: 900px) { .pan__topo { grid-template-columns: 1fr 1.4fr; } }
.pan__topo .caixa { margin: 0; }
.pan__modelo .botao { margin-top: .5rem; }
.pan__codigos { font-size: .9rem; color: var(--suave); }
.pan__ordem ol, .pan-rec__passos { margin: .4rem 0 .6rem; padding-left: 1.3rem; display: grid; gap: .35rem; }
.pan__secao { margin: 2.5rem 0; }
.pan__programas { display: grid; gap: .75rem; margin: 1rem 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .pan__programas { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pan__programas { grid-template-columns: repeat(3, 1fr); } }
.pan__programa { display: flex; gap: .8rem; align-items: flex-start; padding: .9rem 1rem; border: 1.5px solid var(--linha); border-radius: var(--raio-p); background: var(--superficie); }
.pan__programa h3 { margin: .1rem 0 .2rem; font-size: 1.05rem; font-family: inherit; }
.pan__programa p { margin: 0; font-size: .92rem; color: var(--suave); }
.pan__n, .pan__num { flex-shrink: 0; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--marca); color: #fff; font-weight: 700; }
.pan__programa--massa .pan__n { background: var(--acento); }
.pan__programa--outros .pan__n { background: var(--salvia); }
.pan__programa--funcao .pan__n { background: var(--suave); }
.pan__ajuste { font-size: .9rem; color: var(--suave); }
.pan__num { position: absolute; left: .8rem; top: .8rem; width: 44px; height: 44px; border: 3px solid #fff; box-shadow: var(--sombra); }
.tag--leve { background: var(--clara); color: var(--suave); }
.pan__marcas { display: grid; gap: 1rem; margin: 1.5rem 0; padding: 0; list-style: none; }
@media (min-width: 720px) { .pan__marcas { grid-template-columns: repeat(3, 1fr); } }
.pan__marcas a, .pan__marcas-breve { display: grid; gap: .3rem; height: 100%; padding: 1.4rem; border: 1.5px solid var(--linha); border-radius: var(--raio); background: var(--superficie); color: var(--tinta); text-decoration: none; }
.pan__marcas a:hover { border-color: var(--marca); box-shadow: var(--sombra-forte); }
.pan__marca-nome { font-family: var(--titulo); font-size: 1.6rem; font-weight: 700; color: var(--marca-forte); }
.pan__marcas small { color: var(--suave); }
.pan__marcas-breve { border-style: dashed; color: var(--suave); }
.pan__marcas-breve .pan__marca-nome { color: var(--suave); }

/* receita de panificadora */
.pan-rec__cabeca { display: grid; gap: 1.5rem; margin: .5rem 0 1.5rem; }
@media (min-width: 960px) { .pan-rec__cabeca { grid-template-columns: 1fr 520px; align-items: center; } }
.pan-rec__cabeca h1 { margin: .3rem 0 .6rem; font-size: clamp(1.9rem, 5vw, 2.8rem); }
.pan-rec__fatos { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 0; }
.pan-rec__fatos div { padding: .6rem .9rem; border-radius: var(--raio-p); background: var(--clara); }
.pan-rec__fatos dt { font-size: .8rem; color: var(--suave); }
.pan-rec__fatos dd { margin: 0; font-weight: 700; }
.pan-rec__capa { margin: 0; }
.pan-rec__capa img { width: 100%; height: auto; border-radius: var(--raio); box-shadow: var(--sombra-forte); }
.pan-rec__capa figcaption { margin-top: .4rem; font-size: .78rem; color: var(--suave); }
.pan-rec__sem-preparo { margin-bottom: 1rem; }
.pan-rec__grade { display: grid; gap: 1.5rem; margin: 1.5rem 0 2rem; }
@media (min-width: 960px) { .pan-rec__grade { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; } }
.pan-rec__pesos { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.pan-rec__tabela-caixa { overflow-x: auto; border: 1.5px solid var(--linha); border-radius: var(--raio); }
.pan-rec__tabela { width: 100%; border-collapse: collapse; font-size: 1rem; }
.pan-rec__tabela th, .pan-rec__tabela td { padding: .75rem .8rem; text-align: left; vertical-align: top; border-top: 1px solid var(--linha); }
.pan-rec__tabela thead th { border-top: 0; background: var(--clara); font-size: .85rem; color: var(--suave); }
.pan-rec__tabela tbody th { font-weight: 600; }
.pan-rec__tabela tbody th small { display: block; font-weight: 400; font-size: .82rem; color: var(--suave); }
.pan-rec__tabela td.pc { font-weight: 700; color: var(--marca-forte); white-space: nowrap; }
.pan-rec__seq { width: 2.5rem; text-align: center !important; font-weight: 700; color: var(--suave); }
/* mostra só a coluna do tamanho escolhido (todas ficam no HTML) */
.pan-rec__tabela[data-peso="0"] .pc:not(.pc0), .pan-rec__tabela[data-peso="1"] .pc:not(.pc1), .pan-rec__tabela[data-peso="2"] .pc:not(.pc2) { display: none; }
.pan-rec__programar { padding: 1.3rem 1.25rem; border-radius: var(--raio); background: var(--lavanda); }
.pan-rec__programar h2 { margin-top: 0; }
.pan-rec__prog-desc { font-size: .92rem; color: var(--suave); }
.pan-rec__extra { margin-top: 1.25rem; }
.pan-rec__extra h3 { font-size: 1.05rem; font-family: inherit; margin: 0 0 .4rem; }
.pan-rec__extra ol { padding-left: 1.2rem; display: grid; gap: .35rem; }
.pan-rec__fonte { font-size: .9rem; color: var(--suave); }
@media print { .pan-rec__tabela .pc { display: table-cell !important; } .pan-rec__pesos { display: none; } }
.pan__chamada { display: flex; gap: .6rem; align-items: center; margin: 0 0 1.25rem; padding: .85rem 1rem; border-radius: var(--raio-p); background: var(--mel); }
.pan__chamada .icone { flex-shrink: 0; width: 22px; height: 22px; color: var(--acento); }
.pan__chamada a { font-weight: 700; }

/* ---------- Menu Receitas com opções (desktop) ---------- */
.menu ul { align-items: center; }
.menu__drop { position: relative; display: flex; align-items: center; }
.menu .menu__drop > a { display: inline-flex; align-items: center; gap: .3rem; }
.menu__drop > a > .icone { width: 15px; height: 15px; opacity: .55; transition: transform .2s ease, opacity .2s; }
.menu__drop:hover > a > .icone, .menu__drop.aberto > a > .icone { transform: rotate(180deg); opacity: 1; }
.menu__painel { position: absolute; z-index: 60; top: calc(100% + 10px); left: -1rem; display: grid; grid-template-columns: repeat(3, minmax(190px, auto)); gap: 1.5rem; padding: 1.25rem 1.4rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra-forte); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.menu__drop:hover > .menu__painel, .menu__drop:focus-within > .menu__painel, .menu__drop.aberto > .menu__painel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.menu__painel::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.menu .menu__painel ul { display: grid; gap: .1rem; }
.menu__titulo { margin: 0 0 .4rem .6rem; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--suave); }
.menu .menu__painel a { display: flex; align-items: center; gap: .5rem; padding: .5rem .6rem; border-radius: var(--raio-p); font-weight: 500; white-space: nowrap; transition: background .15s, color .15s; }
.menu .menu__painel a:hover { background: var(--clara); color: var(--marca-forte); }
.menu .menu__painel a .icone { width: 18px; height: 18px; color: var(--marca); }
.menu__painel--direita { left: auto; right: -1rem; grid-template-columns: repeat(2, minmax(210px, auto)); }
@media (prefers-reduced-motion: reduce) { .menu__painel, .menu__drop > a > .icone { transition: none; } }

.pan-rec__listas[data-peso="0"] .pc:not(.pc0), .pan-rec__listas[data-peso="1"] .pc:not(.pc1), .pan-rec__listas[data-peso="2"] .pc:not(.pc2), .pan-rec__listas[data-peso="3"] .pc:not(.pc3) { display: none; }
.pan-rec__tabela[data-peso="3"] .pc:not(.pc3) { display: none; }
.pan-rec__lista { margin: 0; padding: .4rem 1rem .4rem 2.6rem; border: 1.5px solid var(--linha); border-radius: var(--raio); counter-reset: ing; list-style: none; }
.pan-rec__lista li { position: relative; padding: .6rem 0; border-top: 1px solid var(--linha); counter-increment: ing; }
.pan-rec__lista li:first-child { border-top: 0; }
.pan-rec__lista li::before { content: counter(ing); position: absolute; left: -1.8rem; top: .6rem; width: 1.4rem; text-align: center; font-weight: 700; color: var(--suave); }
.pan-rec__lista .pan-rec__sub { counter-increment: none; margin-top: .4rem; font-weight: 700; color: var(--marca-forte); }
.pan-rec__lista .pan-rec__sub::before { content: none; }
.pan-rec__medidas { font-size: .9rem; color: var(--suave); }
@media print { .pan-rec__lista.pc { display: block !important; } }

/* ---------- Panificadora: versão leve e tabela nutricional ---------- */
.pan-leve { margin: 2.5rem 0; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--raio); background: var(--clara); }
.pan-leve h2 { margin-top: 0; }
.pan-leve__grade { display: grid; gap: 1.5rem; }
@media (min-width: 900px) { .pan-leve__grade { grid-template-columns: 1.2fr 1fr; align-items: start; } }
.pan-leve__intro { margin-top: 0; }
.pan-leve__trocas ul { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.pan-leve__trocas li { display: flex; gap: .6rem; align-items: flex-start; }
.pan-leve__trocas li .icone { flex-shrink: 0; width: 20px; height: 20px; margin-top: .15rem; color: var(--marca); }
.pan-leve__obs { margin: 1rem 0 0; font-size: .9rem; color: var(--suave); }
.pan-leve__tabela-caixa { overflow-x: auto; border-radius: var(--raio); background: var(--superficie); border: 1px solid var(--linha); }
.pan-leve__tabela { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.pan-leve__tabela caption { padding: .8rem 1rem; text-align: left; font-weight: 700; border-bottom: 1px solid var(--linha); }
.pan-leve__tabela th, .pan-leve__tabela td { padding: .6rem 1rem; text-align: left; border-top: 1px solid var(--linha); }
.pan-leve__tabela thead th { border-top: 0; font-size: .82rem; color: var(--suave); font-weight: 700; }
.pan-leve__tabela tbody th { font-weight: 500; }
.pan-leve__tabela td { white-space: nowrap; }
.pan-leve__tabela small { margin-left: .25rem; font-size: .78rem; font-weight: 700; }
.pan-leve__bom { color: var(--marca-forte); }
.pan-leve__neutro { color: var(--suave); }
.pan-leve__fonte { margin-bottom: 0; font-size: .85rem; color: var(--suave); }
@media (max-width: 599px) {
	.pan-leve { margin-inline: -16px; border-radius: 0; padding-inline: 16px; }
	.pan-leve__tabela th, .pan-leve__tabela td { padding: .55rem .6rem; }
	.pan-leve__tabela td { white-space: normal; }
	.pan-leve__tabela small { display: block; margin: 0; }
}

/* ---------- Gaveta (celular): as mesmas opções do menu do site, com as subopções abrindo no toque ---------- */
.gaveta__grupos { margin-top: .5rem; border-top: 1px solid var(--linha); }
.gaveta__grupos > li { border-bottom: 1px solid var(--linha); }
.gaveta__item, .gaveta__grupo > summary { display: flex; align-items: center; min-height: 56px; padding: 0 .25rem; color: var(--tinta); font-weight: 600; font-size: 1.1rem; text-decoration: none; cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; }
.gaveta__grupo > summary::-webkit-details-marker { display: none; }
.gaveta__seta { margin-left: auto; width: 20px; height: 20px; color: var(--suave); transition: transform .2s ease; }
.gaveta__grupo[open] > summary { color: var(--marca-forte); }
.gaveta__grupo[open] > summary .gaveta__seta { transform: rotate(180deg); color: var(--marca-forte); }
.gaveta__sub { margin: 0 0 .9rem; padding: .3rem .5rem .5rem; border-radius: var(--raio-p); background: var(--clara); }
.gaveta__rotulo { margin: .8rem .5rem .3rem; color: var(--suave); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.gaveta__sub a { display: flex; align-items: center; gap: .65rem; min-height: 44px; padding: 0 .5rem; border-radius: var(--raio-p); color: var(--tinta); font-size: 1rem; text-decoration: none; }
.gaveta__sub a:active { background: var(--superficie); }
.gaveta__sub .icone { width: 20px; height: 20px; color: var(--marca); flex-shrink: 0; }
