/* Estética e Cirurgia Plástica — portal (06/11/2026)
   Um CSS só, sem framework. Tokens em português. Identidade: Figtree em tudo (títulos em 700, texto em 400),
   decisão do Yuri em 06/11 (clareza de leitura), base marfim/blush, magenta do logo só em ação e destaque. */

@font-face { font-family: "Figtree"; font-style: normal; font-weight: 300 900; font-display: swap; src: url("fonts/figtree-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 300 900; font-display: swap; src: url("fonts/figtree-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Figtree"; font-style: italic; font-weight: 300 900; font-display: swap; src: url("fonts/figtree-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* Identidade (06/11/2026): magenta do logo chapado em ação; ameixa profunda em faixas e rodapé; base marfim com blush; cinza do subtítulo do logo no texto de apoio */
  --marca: #a51b85; --marca-escura: #8a1570; --marca-tinta: #6e1159; --marca-clara: #f4e1ee; --marca-leve: #fbf4f8; --marca-borda: #e8c3dc;
  --roxo: #5e2590;
  --noite: #2a1433; --noite-2: #3b1e46; --noite-3: #4d2a5a;
  --tinta: #2a2230; --tinta-2: #56585f; --suave: #655f6c; --linha: #ebe3e8; --fundo: #f9f4f6; --papel: #fffdfc; --marfim: #f7f1ec;
  --alerta: #b3261e; --alerta-claro: #fbe9e7; --wa: #25d366; --ok: #1a7f49; --ok-claro: #e4f4ea;
  --r: 14px; --r-g: 22px; --r-p: 10px; --pilula: 999px;
  --sombra: 0 1px 2px rgba(42, 20, 51, .05), 0 10px 30px rgba(42, 20, 51, .07);
  --sombra-forte: 0 2px 6px rgba(42, 20, 51, .08), 0 22px 56px rgba(42, 20, 51, .16);
  --fonte: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fonte-titulo: var(--fonte);
  --caixa: 1180px; --topo-altura: 84px;
}

/* ---------- base ---------- */
[hidden] { display: none !important; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--fonte); font-size: 17px; line-height: 1.65; font-weight: 400; color: var(--tinta); background: var(--papel); overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--marca-tinta); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--marca-escura); }
h1, h2, h3, h4 { font-family: var(--fonte-titulo); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; margin: 0 0 .5em; color: var(--tinta); text-wrap: balance; }
h1 { font-size: clamp(30px, 4vw, 44px); line-height: 1.08; letter-spacing: -.025em; }
h2 { font-size: clamp(24px, 2.8vw, 32px); }
h3 { font-size: 20px; }
h4 { font-size: 17px; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 22px; }
time { color: var(--suave); }
.caixa { max-width: var(--caixa); margin: 0 auto; padding: 0 20px; }
.ic { width: 20px; height: 20px; flex: none; }
.pular { position: absolute; left: -999px; top: 8px; background: var(--noite); color: #fff; padding: 10px 16px; border-radius: var(--r-p); z-index: 100; }
.pular:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--marca); outline-offset: 2px; border-radius: 4px; }
.rotulo { display: block; color: var(--marca); font-weight: 700; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 8px; }
.rotulo--claro { color: var(--marca); }
.apoio { color: var(--tinta-2); max-width: 62ch; font-size: 18px; font-weight: 400; }
.secao { padding: clamp(44px, 6vw, 80px) 0; }
.secao--suave { background: var(--fundo); }
.secao--noite { background: var(--noite); color: #cfdfe1; }
.secao--noite h2, .secao--noite h3 { color: #fff; }
.secao__cabeca { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.secao__cabeca h2 { margin: 0; }
.secao__cabeca .mais { white-space: nowrap; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.secao__cabeca .mais:hover .ic { transform: translateX(3px); }
.secao__cabeca .ic { transition: transform .25s; }

/* ---------- botões ---------- */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 10px 24px; border-radius: var(--pilula); font-weight: 600; font-size: 16px; letter-spacing: .01em; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.botao:hover { transform: translateY(-1px); }
.botao--marca { background: var(--marca); color: #fff; box-shadow: 0 8px 22px rgba(165, 27, 133, .22); }
.botao--marca:hover { background: var(--marca-escura); color: #fff; box-shadow: 0 10px 26px rgba(165, 27, 133, .3); }
.botao--linha { background: transparent; color: var(--marca-tinta); border-color: var(--marca-borda); }
.botao--linha:hover { background: var(--marca-leve); color: var(--marca-tinta); border-color: var(--marca); }
.botao--claro { background: var(--noite); color: #fff; }
.botao--claro:hover { background: var(--noite-2); color: #fff; }
.botao--borda { background: transparent; color: var(--marca-tinta); border-color: var(--marca); }
.botao--borda:hover { background: var(--marca-clara); }
.botao--wa { background: var(--wa); color: #fff; }
.botao--wa:hover { background: #1fb558; color: #fff; }

/* ---------- faixa do topo ---------- */
.faixa-topo { background: var(--noite); color: #e9dff0; font-size: 13px; }
.faixa-topo .caixa { display: flex; align-items: center; gap: 16px; min-height: 36px; }
.selo { display: inline-block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; background: var(--marca-escura); color: #fff; padding: 3px 9px; border-radius: 4px; white-space: nowrap; }
.faixa-topo__data { flex: 1; font-weight: 600; letter-spacing: .02em; }
.faixa-topo__redes { display: flex; gap: 6px; }
.faixa-topo__redes a { color: #cfdfe1; display: inline-flex; padding: 6px; border-radius: 6px; }
.faixa-topo__redes a:hover { background: var(--noite-2); color: #fff; }
.faixa-topo__redes .ic { width: 18px; height: 18px; }

/* ---------- cabeçalho ---------- */
.topo { position: sticky; top: 0; z-index: 50; background: rgba(255, 253, 252, .94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha); }
.topo__linha { display: flex; align-items: center; gap: 20px; min-height: var(--topo-altura); }
.topo__logo img { width: auto; height: 62px; }
.topo__nav { flex: 1; }
.topo__nav > ul { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; justify-content: center; }
.topo__nav > ul > li > a { display: block; padding: 10px 13px; border-radius: var(--pilula); font-weight: 500; font-size: 15.5px; color: var(--tinta); text-decoration: none; position: relative; }
.topo__nav > ul > li > a:hover { color: var(--marca-tinta); background: var(--marca-leve); }
.topo__nav > ul > li > a[aria-current] { color: var(--marca-tinta); font-weight: 600; }
.topo__nav > ul > li > a[aria-current]::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--marca); }
.topo__nav-extra { display: none; }
.topo__acoes { display: flex; align-items: center; gap: 8px; }
.topo__busca { display: inline-flex; padding: 10px; border-radius: var(--r-p); color: var(--tinta); }
.topo__busca:hover { background: var(--fundo); }
.topo__simular { min-height: 44px; padding: 8px 16px; font-size: 15px; }
.topo__menu-btn { display: none; }
.topo__mais { position: relative; }
.topo__mais summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 4px; padding: 10px 13px; border-radius: var(--pilula); font-weight: 500; font-size: 15.5px; color: var(--tinta); }
.topo__mais summary::-webkit-details-marker { display: none; }
.topo__mais summary:hover, .topo__mais[open] summary { background: var(--marca-leve); color: var(--marca-tinta); }
.topo__mais summary .ic { width: 16px; height: 16px; transition: transform .2s; }
.topo__mais[open] summary .ic { transform: rotate(180deg); }
.topo__mais__painel { position: absolute; top: calc(100% + 8px); left: 50%; transform: translateX(-50%); width: 560px; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r); box-shadow: var(--sombra-forte); padding: 20px 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; z-index: 60; }
.topo__mais__painel h3 { font-family: var(--fonte); font-weight: 700; font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--marca); margin: 0 0 8px; }
.topo__mais__painel ul { list-style: none; margin: 0; padding: 0; }
.topo__mais__painel li a { display: block; padding: 6px 0; font-size: 15px; font-weight: 500; color: var(--tinta); text-decoration: none; }
.topo__mais__painel li a:hover { color: var(--marca-escura); text-decoration: underline; }
.visualmente-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- chips e selos ---------- */
.chip { display: inline-block; font-size: 11.5px; line-height: 14px; padding: 5px 0; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--marca); text-decoration: none; margin-bottom: 2px; }
a.chip:hover { text-decoration: underline; }
.praca { font-size: 12px; font-weight: 700; color: var(--suave); }
.praca::before { content: "·"; margin: 0 6px; }
.meta { display: flex; align-items: center; font-size: 13px; color: var(--suave); margin-top: 10px; }

/* ---------- manchete ---------- */
.manchete { padding: 28px 0 10px; }
.manchete__grade { display: grid; grid-template-columns: 1.6fr 1fr; gap: 22px; }
.destaque { position: relative; display: block; border-radius: var(--r-g); overflow: hidden; background: var(--noite); min-height: 440px; color: #fff; text-decoration: none; box-shadow: var(--sombra); }
.destaque img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.destaque::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13, 42, 46, 0) 30%, rgba(13, 42, 46, .55) 60%, rgba(13, 42, 46, .92) 100%); }
.destaque__corpo { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px; z-index: 2; }
.destaque .chip { color: var(--marca); }
.destaque h2 { color: #fff; font-size: clamp(24px, 3vw, 36px); margin: 4px 0 8px; text-shadow: 0 2px 12px rgba(0, 0, 0, .3); }
.destaque p { color: #d8e6e8; margin: 0 0 10px; max-width: 60ch; }
.destaque .meta { color: #b9cdd0; }
.destaque .ultima-hora { left: 20px; top: 20px; }
.manchete__lado { position: relative; max-height: 440px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--marca-clara) transparent; padding-right: 8px; mask-image: linear-gradient(180deg, #000 calc(100% - 36px), transparent); -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 36px), transparent); }
.manchete__lado::-webkit-scrollbar { width: 6px; }
.manchete__lado::-webkit-scrollbar-thumb { background: var(--marca-clara); border-radius: 3px; }
.manchete__lado:focus-visible { outline: 3px solid var(--marca); outline-offset: 2px; }
.manchete__lado-lista { display: flex; flex-direction: column; gap: 14px; }
.manchete__lado .linha { padding: 0; }
.manchete__lado .linha + .linha { padding-top: 14px; border-top: 1px solid var(--linha); }
.manchete__lado-fim { height: 40px; display: grid; place-items: center; color: var(--suave); font-size: 13px; }
.manchete__lado-fim.carregando::after { content: ""; width: 18px; height: 18px; border: 2px solid var(--marca-clara); border-top-color: var(--marca-escura); border-radius: 50%; animation: girar .8s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }
@media (max-width: 900px) { .manchete__lado { max-height: 420px; } }
@media (prefers-reduced-motion: reduce) { .manchete__lado-fim.carregando::after { animation: none; } }

/* ---------- ticker ---------- */
.ticker { border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); background: var(--fundo); overflow: hidden; margin-top: 20px; }
.ticker .caixa { display: flex; align-items: center; gap: 16px; height: 40px; }
.ticker__rotulo { flex: none; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--marca-escura); display: inline-flex; align-items: center; gap: 6px; }
.ticker__trilho { flex: 1; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.ticker__faixa { display: flex; gap: 48px; width: max-content; animation: ticker 60s linear infinite; }
.ticker:hover .ticker__faixa { animation-play-state: paused; }
.ticker__faixa a { white-space: nowrap; font-size: 14px; font-weight: 600; color: var(--tinta); text-decoration: none; }
.ticker__faixa a:hover { color: var(--marca-escura); text-decoration: underline; }
.ticker__faixa a::before { content: "•"; color: var(--marca-escura); margin-right: 10px; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- cards ---------- */
.grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grade--2 { grid-template-columns: repeat(2, 1fr); }
.grade--4 { grid-template-columns: repeat(4, 1fr); }
.card { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.card:hover { transform: translateY(-3px); box-shadow: var(--sombra); }
.card__capa { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--marca-clara); }
.card__capa img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.card:hover .card__capa img { transform: scale(1.04); }
.card__corpo { padding: 16px 18px 18px; display: flex; flex-direction: column; flex: 1; }
.card h3 { font-size: 18px; line-height: 1.3; margin: 0; }
.card h3 a { color: var(--tinta); text-decoration: none; }
.card h3 a:hover { color: var(--marca-escura); }
.card p { color: var(--tinta-2); font-size: 15px; margin: 8px 0 0; }
.card .meta { margin-top: auto; padding-top: 12px; }
.card--grande h3 { font-size: 22px; }
.linha { display: grid; grid-template-columns: 120px 1fr; gap: 14px; align-items: start; padding: 12px 0; }
.linha__mini { display: block; border-radius: var(--r-p); overflow: hidden; aspect-ratio: 16 / 10; background: var(--marca-clara); }
.linha__mini img { width: 100%; height: 100%; object-fit: cover; }
.linha h3 { font-size: 16px; line-height: 1.35; margin: 0 0 4px; }
.linha h3 a { color: var(--tinta); text-decoration: none; }
.linha h3 a:hover { color: var(--marca-escura); }
.linha time { font-size: 13px; }
.linha .chip { margin-bottom: 4px; font-size: 11px; }
.linha__n { font-size: 40px; font-weight: 800; color: var(--marca-escura); line-height: 1; letter-spacing: -.03em; width: 48px; text-align: center; padding-top: 2px; }
.linha--n { grid-template-columns: 36px 100px 1fr; }
.linha--n .linha__n { width: 36px; font-size: 30px; text-align: left; }
@media (max-width: 600px) { .linha--n { grid-template-columns: 30px 92px 1fr; gap: 10px; } .linha--n .linha__n { font-size: 24px; width: 30px; } }
.capa-reserva { object-fit: cover; }

/* ---------- home: mais lidas e editorias ---------- */
.duas-colunas { display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; }
.mais-lidas .linha { padding: 14px 0; border-bottom: 1px solid var(--linha); }
.mais-lidas .linha:last-child { border-bottom: 0; }
.editorias { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 32px; }
.editoria, .praca-bloco { padding: 16px 0 14px; border-top: 3px solid var(--marca); }
.editoria h3, .praca-bloco h3 { font-size: 18px; margin: 0 0 10px; }
.editoria h3 a, .praca-bloco h3 a { color: var(--tinta); text-decoration: none; display: inline-flex; align-items: center; gap: 10px; }
.editoria__icone { width: 24px; height: 24px; color: var(--marca-escura); flex: none; stroke-width: 1.9; }
.editoria h3 a:hover, .praca-bloco h3 a:hover { color: var(--marca-escura); }
.editoria ul, .praca-bloco ul { list-style: none; margin: 0 0 10px; padding: 0; }
.editoria li, .praca-bloco li { padding: 7px 0; border-top: 1px solid var(--linha); font-size: 15px; line-height: 1.4; }
.editoria li a, .praca-bloco li a { color: var(--tinta-2); text-decoration: none; font-weight: 600; }
.editoria li a:hover, .praca-bloco li a:hover { color: var(--marca-escura); }
.editoria p, .praca-bloco p { font-size: 15px; color: var(--tinta-2); margin: 0 0 10px; }
.editoria__mais { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 800; text-decoration: none; }
.editoria__mais .ic { width: 16px; height: 16px; transition: transform .25s; }
.editoria__mais:hover .ic { transform: translateX(3px); }

/* ---------- praças ---------- */
.pracas-grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 32px; }

/* ---------- operadoras ---------- */
.logos-faixa { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); padding: 6px 0; }
.logos-trilho { display: flex; gap: 14px; width: max-content; animation: logos 50s linear infinite; }
.logos-faixa:hover .logos-trilho, .logos-faixa:focus-within .logos-trilho { animation-play-state: paused; }
.logos-trilho a { flex: none; display: grid; place-items: center; width: 150px; height: 84px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--papel); padding: 14px; transition: transform .25s, box-shadow .25s; }
.logos-trilho a:hover { transform: translateY(-2px); box-shadow: var(--sombra); }
.logos-trilho img { max-height: 44px; width: auto; filter: grayscale(1); opacity: .8; transition: filter .25s, opacity .25s; }
.logos-trilho a:hover img { filter: none; opacity: 1; }
@keyframes logos { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.destaque img { animation: zoomlento 18s ease-in-out infinite alternate; }
@keyframes zoomlento { from { transform: scale(1); } to { transform: scale(1.06); } }
.logos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.logos a { display: grid; place-items: center; height: 84px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--papel); padding: 14px; transition: transform .25s, box-shadow .25s; }
.logos a:hover { transform: translateY(-2px); box-shadow: var(--sombra); }
.logos img { max-height: 44px; width: auto; filter: grayscale(1); opacity: .75; transition: filter .25s, opacity .25s; }
.logos a:hover img { filter: none; opacity: 1; }
.logo-texto { font-weight: 800; color: var(--tinta-2); font-size: 15px; text-align: center; }

/* ---------- chamada do simulador ---------- */
.chamada-simulador { background: var(--marca-clara); color: var(--tinta); padding: clamp(44px, 6vw, 72px) 0; border-top: 1px solid var(--linha); }
.chamada-simulador__grade { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; }
.chamada-simulador h2 { color: var(--noite); margin-bottom: 10px; }
.chamada-simulador .rotulo--claro { color: var(--noite); opacity: .75; }
.chamada-simulador p { max-width: 58ch; }
.chamada-simulador__acao { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.chamada-simulador__acao small { color: var(--tinta-2); font-size: 13px; }
.chamada-simulador .botao { min-height: 56px; padding: 12px 26px; font-size: 17px; }

/* ---------- números ---------- */
.numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.numero { text-align: left; padding: 22px 24px; border-radius: var(--r); background: var(--papel); border: 1px solid var(--linha); }
.numero b { display: block; font-size: clamp(34px, 4vw, 48px); font-weight: 800; letter-spacing: -.03em; color: var(--marca); line-height: 1; }
.numero span { display: block; margin-top: 8px; color: var(--tinta-2); font-size: 15px; }

/* ---------- rodapé ---------- */
.rodape { background: var(--noite); color: #cdbfd6; padding: 56px 0 28px; font-size: 15px; }
.rodape a { color: #d8e6e8; text-decoration: none; }
.rodape a:hover { color: #fff; text-decoration: underline; }
.rodape__grade { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 36px; padding-bottom: 36px; border-bottom: 1px solid var(--noite-3); }
.rodape__logo { height: 64px; width: auto; margin-bottom: 14px; }
.rodape h3 { color: #fff; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 12px; }
.rodape__col h3 + ul + h3 { margin-top: 20px; }
.rodape ul { list-style: none; margin: 0; padding: 0; }
.rodape li { margin: 0 0 7px; }
.rodape__redes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.rodape__redes a { display: inline-flex; align-items: center; gap: 6px; }
.rodape__base { padding-top: 24px; font-size: 13px; color: #9fb8bb; }
.rodape__base p { max-width: 90ch; }
.rodape__links { display: flex; flex-wrap: wrap; gap: 6px 20px; list-style: none; margin: 0 0 14px; padding: 0; }
.rodape__copy { margin: 0; }
.topo-voltar { position: fixed; right: 18px; bottom: 18px; width: 44px; height: 44px; border-radius: 50%; background: var(--papel); color: var(--marca-tinta); border: 1px solid var(--linha); display: grid; place-items: center; box-shadow: var(--sombra); opacity: 0; pointer-events: none; transition: opacity .3s; z-index: 40; }
.topo-voltar.visivel { opacity: 1; pointer-events: auto; }

/* ---------- trilha e paginação ---------- */
.trilha { font-size: 13px; margin: 18px 0 10px; }
.trilha ol { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0; padding: 0; color: var(--suave); }
.trilha li + li::before { content: "/"; margin: 0 6px; color: var(--linha); }
.trilha a { color: var(--suave); text-decoration: none; }
.trilha a:hover { color: var(--marca-escura); text-decoration: underline; }
.paginacao { margin: 36px 0 0; }
.paginacao ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.paginacao a, .paginacao span { display: inline-flex; align-items: center; gap: 6px; min-width: 42px; min-height: 42px; padding: 0 12px; border-radius: var(--r-p); border: 1px solid var(--linha); text-decoration: none; font-weight: 700; justify-content: center; }
.paginacao a:hover { background: var(--marca-clara); }
.paginacao .atual { background: var(--marca); color: var(--noite); border-color: var(--marca); }
.paginacao span:not(.atual) { border: 0; }

/* ---------- cabeçalho de listagem ---------- */
.cabeca { padding: 10px 0 26px; }
.cabeca h1 { margin-bottom: 8px; }
.cabeca .apoio { margin: 0; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 6px; }
.filtros { gap: 2px 18px; border-bottom: 1px solid var(--linha); }
.filtros a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 2px; border-bottom: 3px solid transparent; margin-bottom: -1px; font-size: 15px; font-weight: 700; color: var(--tinta-2); text-decoration: none; }
.filtros a:hover { color: var(--marca-tinta); }
.filtros a[aria-current] { color: var(--tinta); border-bottom-color: var(--marca); }

/* ---------- matéria ---------- */
.materia { padding-bottom: 40px; }
.materia__cabeca { max-width: 820px; margin: 0 auto; padding: 8px 0 20px; }
.materia__cabeca h1 { margin: 10px 0 14px; }
.materia__cabeca .apoio { font-size: 20px; color: var(--tinta-2); margin-bottom: 18px; }
.materia__assinatura { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; font-size: 14px; color: var(--suave); padding-top: 16px; border-top: 1px solid var(--linha); }
.materia__assinatura b { color: var(--tinta); font-weight: 700; }
.materia__assinatura .foto { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.materia__assinatura .quem { display: flex; align-items: center; gap: 10px; }
.avatar-mini { width: 40px; height: 40px; border-radius: 50%; background: var(--marca-clara); color: var(--marca-tinta); display: grid; place-items: center; }
.materia__assinatura .quem small { display: block; color: var(--suave); }
.materia__capa { max-width: 1020px; margin: 0 auto 28px; border-radius: var(--r-g); overflow: hidden; background: var(--marca-clara); box-shadow: var(--sombra); }
.materia__capa img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.materia__capa figcaption { font-size: 13px; color: var(--suave); padding: 10px 16px; background: var(--fundo); }
.materia__grade { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; max-width: 1180px; margin: 0 auto; }
.materia__texto { max-width: 760px; font-size: 18px; line-height: 1.75; }
.materia__texto > p:first-of-type { font-size: 20px; }
.materia__texto h2 { font-size: clamp(22px, 2.6vw, 28px); margin: 1.6em 0 .6em; scroll-margin-top: 90px; }
.materia__texto h3 { font-size: 21px; margin: 1.4em 0 .5em; }
.materia__texto p { margin: 0 0 1.2em; }
.materia__texto ul, .materia__texto ol { margin: 0 0 1.2em; padding-left: 24px; }
.materia__texto li { margin-bottom: .5em; }
.materia__texto li::marker { color: var(--marca); font-weight: 800; }
.materia__texto blockquote { margin: 1.4em 0; padding: 16px 22px; border-left: 4px solid var(--marca); background: var(--marca-leve); border-radius: 0 var(--r) var(--r) 0; font-size: 18px; }
.materia__texto table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0 0 1.4em; }
.materia__texto th, .materia__texto td { padding: 10px 12px; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
.materia__texto th { background: var(--marca-clara); color: var(--marca-tinta); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.materia__texto img { border-radius: var(--r); margin: 1em 0; }
.materia__texto a { font-weight: 600; }
.materia__texto .link-operadora { font-weight: 700; text-decoration-style: dotted; }
.sumario { background: var(--fundo); border: 1px solid var(--linha); border-radius: var(--r); padding: 16px 20px; margin: 0 0 28px; font-size: 15px; }
.sumario summary { font-weight: 800; cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; }
.sumario summary::-webkit-details-marker { display: none; }
.sumario ol { margin: 12px 0 0; padding-left: 20px; }
.sumario li { margin-bottom: 5px; }
.sumario a { text-decoration: none; color: var(--tinta-2); }
.sumario a:hover { color: var(--marca-escura); text-decoration: underline; }
.fontes { margin: 36px 0 0; padding: 20px 22px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--fundo); font-size: 15px; }
.fontes h2 { font-size: 15px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 10px; display: flex; align-items: center; gap: 8px; color: var(--marca-tinta); }
.fontes ul { list-style: none; margin: 0; padding: 0; }
.fontes li { margin: 0 0 6px; display: flex; gap: 8px; align-items: baseline; }
.fontes li .ic { width: 14px; height: 14px; color: var(--suave); position: relative; top: 2px; }
.fontes small { color: var(--suave); }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; }
.tags a { font-size: 13px; font-weight: 700; color: var(--tinta-2); background: var(--fundo); border: 1px solid var(--linha); padding: 5px 12px; border-radius: 999px; text-decoration: none; }
.tags a:hover { border-color: var(--marca); color: var(--marca-tinta); }
.compartilhar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 28px 0 0; padding-top: 22px; border-top: 1px solid var(--linha); font-size: 14px; color: var(--suave); }
.compartilhar a, .compartilhar button { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: var(--r-p); border: 1px solid var(--linha); background: var(--papel); font: inherit; font-weight: 700; color: var(--tinta); text-decoration: none; cursor: pointer; }
.compartilhar a:hover, .compartilhar button:hover { border-color: var(--marca); color: var(--marca-tinta); }
.compartilhar .wa { color: #0f7a3f; }
.autor-caixa { display: grid; grid-template-columns: 72px 1fr; gap: 18px; margin: 36px 0 0; padding: 22px; border-radius: var(--r); background: var(--marca-leve); border: 1px solid var(--marca-clara); }
.autor-caixa img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.autor-caixa .avatar { width: 72px; height: 72px; border-radius: 50%; background: var(--marca); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 26px; }
.autor-caixa h3 { font-size: 17px; margin: 0 0 4px; }
.autor-caixa p { font-size: 15px; color: var(--tinta-2); margin: 0; }
.autor-caixa a { font-weight: 700; }
.lateral { position: sticky; top: calc(var(--topo-altura) + 16px); align-self: start; display: flex; flex-direction: column; gap: 22px; }
.lateral__bloco { border: 1px solid var(--linha); border-radius: var(--r); padding: 18px; background: var(--papel); }
.lateral__bloco h2 { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--marca-tinta); margin: 0 0 12px; }
.lateral__bloco .linha { grid-template-columns: 1fr; padding: 8px 0; }
.lateral__bloco .linha + .linha { border-top: 1px solid var(--linha); }
.lateral__simular { background: var(--marca-clara); color: var(--tinta); border: 1px solid var(--marca); }
.lateral__simular h2 { color: var(--marca-tinta); }
.lateral__simular p { font-size: 15px; margin: 0 0 14px; }
.lateral__simular .botao { width: 100%; }
.barra-leitura { position: fixed; left: 0; top: 0; height: 3px; width: 0; background: var(--marca); z-index: 60; transition: width .1s linear; }
.relacionadas { padding-top: 40px; }

/* ---------- ficha (operadora, tipo, administradora) ---------- */
.ficha__cabeca { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; padding: 8px 0 24px; }
.ficha__logo { display: grid; place-items: center; width: 180px; height: 110px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--papel); padding: 16px; }
.ficha__logo img { max-height: 64px; width: auto; }
.ficha__dados { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 0 0 28px; }
.ficha__dado { padding: 14px 16px; border-radius: var(--r); background: var(--fundo); border: 1px solid var(--linha); }
.ficha__dado b { display: block; font-size: 22px; color: var(--marca); font-weight: 800; letter-spacing: -.02em; }
.ficha__dado span { font-size: 13px; color: var(--suave); }
.ficha__resumo { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 24px; margin: 0 0 28px; padding: 18px 22px; border-radius: var(--r); background: var(--marca-leve); border: 1px solid var(--marca-clara); }
.ficha__resumo div { margin: 0; }
.ficha__resumo dt { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--marca-tinta); margin: 0 0 2px; }
.ficha__resumo dd { margin: 0; font-size: 15px; color: var(--tinta); font-weight: 600; }
.ficha__resumo small { color: var(--suave); font-weight: 400; }
@media (max-width: 600px) { .ficha__resumo { grid-template-columns: 1fr; } }
.faq details { border: 1px solid var(--linha); border-radius: var(--r); padding: 0 18px; margin-bottom: 10px; background: var(--papel); }
.faq summary { cursor: pointer; font-weight: 800; padding: 16px 0; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 24px; color: var(--marca); font-weight: 400; line-height: 1; transition: transform .25s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details > div { padding: 0 0 16px; color: var(--tinta-2); }
.lista-paginas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pagina-card { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--papel); text-decoration: none; color: var(--tinta); transition: transform .25s, box-shadow .25s; }
.pagina-card:hover { transform: translateY(-3px); box-shadow: var(--sombra); color: var(--tinta); }
.pagina-card .pagina-card__logo { height: 48px; display: flex; align-items: center; }
.pagina-card .pagina-card__logo img { max-height: 40px; width: auto; }
.pagina-card h3 { font-size: 17px; margin: 0; }
.pagina-card p { font-size: 14px; color: var(--tinta-2); margin: 0; }
.pagina-card .pracas-mini { font-size: 12px; color: var(--marca); font-weight: 700; }

/* ---------- busca ---------- */
.busca-form { display: flex; gap: 8px; max-width: 640px; margin: 10px 0 24px; }
.busca-form input { flex: 1; min-height: 52px; padding: 0 16px; border: 2px solid var(--linha); border-radius: var(--r-p); font: inherit; font-size: 17px; }
.busca-form input:focus { border-color: var(--marca); outline: 0; }
.busca-menu { display: flex; gap: 6px; margin-top: 10px; }
.busca-menu input { flex: 1; min-height: 44px; padding: 0 12px; border: 1px solid var(--linha); border-radius: var(--r-p); font: inherit; font-size: 15px; }
.busca-menu button { min-width: 44px; border: 0; border-radius: var(--r-p); background: var(--marca); color: var(--noite); display: grid; place-items: center; cursor: pointer; }
.resultado { padding: 16px 0; border-bottom: 1px solid var(--linha); }
.resultado h3 { font-size: 19px; margin: 4px 0; }
.resultado h3 a { text-decoration: none; }
.resultado p { color: var(--tinta-2); font-size: 15px; margin: 0; }
.vazio { padding: 40px 0; text-align: center; color: var(--suave); }

/* ---------- animações ---------- */
.revela { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.revela.visivel { opacity: 1; transform: none; }
.grade > .revela:nth-child(2), .editorias > .revela:nth-child(2), .pracas-grade > .revela:nth-child(2) { transition-delay: .08s; }
.grade > .revela:nth-child(3), .editorias > .revela:nth-child(3), .pracas-grade > .revela:nth-child(3) { transition-delay: .16s; }
.grade > .revela:nth-child(4), .editorias > .revela:nth-child(4), .pracas-grade > .revela:nth-child(4) { transition-delay: .24s; }
.grade > .revela:nth-child(5), .editorias > .revela:nth-child(5) { transition-delay: .32s; }
.grade > .revela:nth-child(6), .editorias > .revela:nth-child(6) { transition-delay: .4s; }
html.sem-js .revela, html.sem-io .revela { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .revela { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* ---------- responsivo ---------- */
@media (max-width: 1060px) {
  .topo__nav > ul > li > a, .topo__mais summary { padding: 10px 8px; font-size: 14px; }
  .logos { grid-template-columns: repeat(4, 1fr); }
  .rodape__grade { grid-template-columns: 1fr 1fr; }
  .materia__grade { grid-template-columns: 1fr; }
  .lateral { position: static; }
}
@media (max-width: 900px) {
  :root { --topo-altura: 64px; }
  .topo__logo img { height: 48px; }
  .topo__menu-btn { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--r-p); cursor: pointer; order: 3; color: var(--tinta); background: none; border: 0; padding: 0; }
  .topo__mais { display: none; }
  .topo__menu-btn .ic { width: 26px; height: 26px; }
  .topo__menu-btn .ic-fechar { display: none; }
  body.menu-aberto .topo__menu-btn .ic-abrir { display: none; }
  body.menu-aberto .topo__menu-btn .ic-fechar { display: block; }
  .topo__nav { display: none; position: fixed; left: 0; right: 0; top: calc(var(--topo-altura) + 36px); bottom: 0; background: var(--papel); overflow-y: auto; padding: 16px 20px 40px; z-index: 49; border-top: 1px solid var(--linha); }
  body.menu-aberto .topo__nav { display: block; }
  .topo__nav > ul { flex-direction: column; gap: 0; }
  .topo__nav > ul > li > a { padding: 14px 10px; font-size: 18px; border-bottom: 1px solid var(--linha); border-radius: 0; }
  .topo__mais-item { display: none; }
  .topo__nav-extra { display: block; margin-top: 18px; }
  .topo__nav-extra ul { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
  .topo__nav-extra ul a { display: inline-flex; min-height: 40px; align-items: center; padding: 0 14px; border-radius: 999px; border: 1px solid var(--linha); font-size: 14px; font-weight: 700; color: var(--tinta); text-decoration: none; }
  .topo__nav-rotulo { display: block; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--marca); margin: 14px 0 8px; }
  .topo__acoes { order: 2; margin-left: auto; }
  .topo__busca { display: none; }
  .topo__simular span { display: none; }
  .topo__simular { min-width: 44px; padding: 8px 12px; }
  .faixa-topo .caixa { justify-content: space-between; }
  .faixa-topo__data { font-size: 12px; }
  .manchete__grade, .duas-colunas, .chamada-simulador__grade { grid-template-columns: 1fr; }
  .destaque { min-height: 360px; }
  .grade, .grade--4 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .pracas-grade { grid-template-columns: repeat(2, 1fr); gap: 0 24px; }
  .ficha__dados { grid-template-columns: repeat(2, 1fr); }
  .lista-paginas { grid-template-columns: repeat(2, 1fr); }
  .numeros { grid-template-columns: 1fr; }
  .ticker { display: none; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .caixa { padding: 0 16px; }
  .grade, .grade--4, .lista-paginas { grid-template-columns: 1fr; }
  .card h3 { font-size: 17px; }
  .destaque { min-height: 300px; }
  .destaque__corpo { padding: 18px; }
  .destaque p { display: none; }
  .manchete { padding-top: 16px; }
  .linha { grid-template-columns: 96px 1fr; gap: 12px; }
  .logos { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .logos a { height: 70px; padding: 10px; }
  .rodape__grade { grid-template-columns: 1fr; gap: 24px; }
  .materia__texto { font-size: 17px; }
  .materia__texto > p:first-of-type { font-size: 18px; }
  .materia__capa { border-radius: var(--r); }
  .ficha__cabeca { grid-template-columns: 1fr; }
  .ficha__logo { width: 140px; height: 90px; }
  .secao__cabeca { flex-direction: column; align-items: flex-start; gap: 6px; }
  .editorias, .pracas-grade { grid-template-columns: 1fr; gap: 0; }
  .chamada-simulador .botao { width: 100%; }
  .autor-caixa { grid-template-columns: 56px 1fr; }
  .autor-caixa img, .autor-caixa .avatar { width: 56px; height: 56px; }
}

/* Fichas fora do mercado (lista de operadoras/administradoras) */
.fora-mercado { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--linha); }
.fora-mercado h2 { font-size: 1.35rem; margin: 0 0 6px; }
.fora-mercado .apoio { color: var(--suave); max-width: 70ch; margin: 0 0 16px; }
.lista-simples { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 32px; }
.lista-simples li { padding: 10px 0; border-bottom: 1px solid var(--linha); line-height: 1.45; }
.lista-simples li a { font-weight: 700; color: var(--tinta); text-decoration: none; }
.lista-simples li a:hover { color: var(--marca-escura); text-decoration: underline; }
.lista-simples li span { display: block; color: var(--suave); font-size: .92rem; }
@media (max-width: 720px) { .lista-simples { grid-template-columns: 1fr; } }

/* Instagram na home */
.insta-grade { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.insta-item { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--r); background: var(--marca-leve); text-decoration: none; }
.insta-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.insta-item:hover img, .insta-item:focus-visible img { transform: scale(1.04); }
.insta-item__texto { position: absolute; inset: auto 0 0 0; padding: 28px 12px 12px; font-size: 12.5px; line-height: 1.35; color: #fff; background: linear-gradient(180deg, rgba(13,42,46,0), rgba(13,42,46,.85)); opacity: 0; transition: opacity .25s; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.insta-item:hover .insta-item__texto, .insta-item:focus-visible .insta-item__texto { opacity: 1; }
@media (max-width: 960px) { .insta-grade { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) { .insta-grade { grid-template-columns: repeat(2, 1fr); gap: 8px; } .insta-item__texto { display: none; } }
@media (prefers-reduced-motion: reduce) { .insta-item img { transition: none; } }

/* ---------- Fase 6: glossário e ferramentas ---------- */
.cabeca--estreita { max-width: 820px; }
.glossario__busca { display: flex; align-items: center; gap: 16px; margin: 4px 0 18px; }
.glossario__busca input { flex: 1; max-width: 520px; height: 50px; padding: 0 16px; border: 1px solid var(--linha); border-radius: var(--r); font: inherit; font-size: 16px; background: var(--papel); color: var(--tinta); }
.glossario__busca input:focus { outline: 3px solid var(--marca); outline-offset: 1px; border-color: var(--marca-escura); }
.glossario__contagem { margin: 0; color: var(--suave); font-size: 14px; white-space: nowrap; }
.glossario__letras { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 26px; }
.glossario__letras a { display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 8px; border: 1px solid var(--linha); border-radius: 6px; font-weight: 800; text-decoration: none; color: var(--tinta); }
.glossario__letras a:hover { border-color: var(--marca-escura); color: var(--marca-escura); }
.glossario__grupo { display: grid; grid-template-columns: 64px 1fr; gap: 0 24px; padding: 18px 0 8px; border-top: 1px solid var(--linha); scroll-margin-top: calc(var(--topo-altura) + 16px); }
.glossario__grupo h2 { font-size: 34px; line-height: 1; color: var(--marca); margin: 4px 0 0; font-weight: 900; }
.glossario__grupo dl { margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 32px; }
.glossario__item { padding: 10px 0 14px; border-bottom: 1px solid var(--linha); }
.glossario__item dt { font-weight: 800; font-size: 17px; margin: 0 0 4px; }
.glossario__item dt a { color: var(--tinta); text-decoration: none; }
.glossario__item dt a:hover { color: var(--marca-escura); text-decoration: underline; }
.glossario__item dd { margin: 0; color: var(--tinta-2); font-size: 15px; line-height: 1.5; }
.glossario__vizinhos { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--linha); font-weight: 700; }
.glossario__vizinhos a { text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.glossario__vizinhos a[rel=next] { justify-self: end; text-align: right; }
.lista-links { list-style: none; margin: 0; padding: 0; }
.lista-links li { padding: 8px 0; border-bottom: 1px solid var(--linha); line-height: 1.4; }
.lista-links li:last-child { border-bottom: 0; }
.lista-links a { font-weight: 700; color: var(--tinta); text-decoration: none; }
.lista-links a:hover { color: var(--marca-escura); text-decoration: underline; }
.lista-links span { display: block; font-size: 13px; color: var(--suave); }

.ferramenta { margin: 28px 0 36px; padding: 24px; border: 1px solid var(--marca-clara); border-radius: var(--r); background: var(--marca-leve); }
.ferramenta h2 { margin: 0 0 8px; display: flex; align-items: center; gap: 10px; font-size: 22px; }
.ferramenta h2 .ic { width: 22px; height: 22px; color: var(--marca-escura); }
.ferramenta > p { margin: 0 0 16px; color: var(--tinta-2); }
.ferramenta__form { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; }
.ferramenta__form .campo { display: flex; flex-direction: column; gap: 6px; min-width: 180px; }
.ferramenta__form label { font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--marca-tinta); }
.ferramenta__form input { height: 48px; padding: 0 14px; border: 1px solid var(--linha); border-radius: var(--r); font: inherit; font-size: 17px; background: var(--papel); color: var(--tinta); min-width: 0; }
.ferramenta__form input:focus { outline: 3px solid var(--marca); outline-offset: 1px; }
.ferramenta__form input[aria-invalid=true] { border-color: var(--alerta); }
.ferramenta__form .botao { min-height: 48px; }
.ferramenta__resultado { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--marca-clara); }
.ferramenta__destaque { font-size: 20px; margin: 0 0 6px; }
.ferramenta__destaque b { font-size: 28px; color: var(--marca-tinta); }
.ferramenta__nota { font-size: 14px; color: var(--suave); margin: 12px 0 0; }

.tabela-rolagem { overflow-x: auto; margin: 0 0 8px; }
.tabela { width: 100%; border-collapse: collapse; font-size: 15px; margin: 8px 0 12px; background: var(--papel); }
.tabela th, .tabela td { padding: 12px 14px; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
.tabela thead th { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--marca-tinta); background: var(--fundo); border-bottom: 2px solid var(--linha); }
.tabela tbody th { font-weight: 700; color: var(--tinta); }
.tabela td b { color: var(--marca-tinta); }
.tabela tbody th { min-width: 200px; }
.tabela--prazos td b, .tabela--compacta td b { white-space: nowrap; }
.tabela--compacta th, .tabela--compacta td { padding: 9px 14px; }
.ferramenta .tabela { background: #fff; border-radius: var(--r); overflow: hidden; }

.ficha__resumo--3 { grid-template-columns: repeat(3, 1fr); }
.grafico { margin: 8px 0 24px; }
.grafico__barras { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; align-items: end; height: 220px; padding: 26px 0 0; border-bottom: 2px solid var(--linha); }
.grafico__coluna { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.grafico__barra { display: block; width: 100%; max-width: 34px; height: var(--altura); background: var(--marca); border-radius: 4px 4px 0 0; transition: height .6s ease; }
.grafico__coluna:first-child .grafico__barra, .grafico__coluna:last-child .grafico__barra { background: var(--marca-escura); }
.grafico__valor { font-size: 10.5px; font-weight: 800; color: var(--tinta); margin-bottom: 3px; white-space: nowrap; }
.grafico__ano { position: absolute; top: 100%; margin-top: 6px; font-size: 11px; color: var(--suave); }
.grafico figcaption { margin-top: 28px; font-size: 13px; color: var(--suave); }
.grafico__coluna.revela:not(.visivel) .grafico__barra { height: 0; }
@media (max-width: 900px) {
  .glossario__grupo { grid-template-columns: 1fr; }
  .glossario__grupo dl { grid-template-columns: 1fr; }
  .ficha__resumo--3 { grid-template-columns: 1fr; }
  .grafico__valor { display: none; }
  .grafico__ano { font-size: 10px; }
}
@media (max-width: 600px) {
  .glossario__busca { flex-direction: column; align-items: stretch; gap: 8px; }
  .glossario__vizinhos { grid-template-columns: 1fr; text-align: left; }
  .glossario__vizinhos a[rel=next] { justify-self: start; }
  .ferramenta { padding: 18px; }
  .ferramenta__form .campo { flex: 1 1 100%; }
  .ferramenta__form .botao { width: 100%; }
  .grafico__barras { gap: 2px; height: 160px; }
  .grafico__coluna:nth-child(even) .grafico__ano { display: none; }
}

/* Destaque das ferramentas na home */
.secao--ferramentas { padding-top: clamp(28px, 4vw, 48px); padding-bottom: clamp(28px, 4vw, 48px); border-top: 1px solid var(--linha); }
.ferramentas-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.ferramenta-bloco { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 24px; border: 1px solid var(--marca-clara); border-radius: var(--r); background: var(--marca-leve); text-decoration: none; color: var(--tinta); overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.ferramenta-bloco::after { content: ""; position: absolute; right: -30px; bottom: -30px; width: 150px; height: 150px; border-radius: 50%; background: var(--marca-clara); opacity: .6; transition: transform .4s; }
.ferramenta-bloco:hover, .ferramenta-bloco:focus-visible { transform: translateY(-3px); box-shadow: var(--sombra); border-color: var(--marca); color: var(--tinta); }
.ferramenta-bloco:hover::after { transform: scale(1.15); }
.ferramenta-bloco > * { position: relative; z-index: 1; }
.ferramenta-bloco__icone { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 16px; background: var(--marca); color: var(--noite); }
.ferramenta-bloco__icone .ic { width: 34px; height: 34px; stroke-width: 1.9; }
.ferramenta-bloco__dado { font-size: 30px; font-weight: 900; letter-spacing: -.02em; color: var(--marca-tinta); line-height: 1; margin-top: 6px; }
.ferramenta-bloco__dado small { display: block; font-size: 12px; font-weight: 700; color: var(--suave); letter-spacing: .06em; text-transform: uppercase; margin-top: 4px; }
.ferramenta-bloco h3 { margin: 4px 0 0; font-size: 22px; line-height: 1.2; }
.ferramenta-bloco__chamada { margin: 0; font-size: 16px; font-weight: 600; color: var(--tinta-2); line-height: 1.45; }
.ferramenta-bloco__botao { margin-top: auto; align-self: flex-start; padding-top: 14px; }
.ferramenta-bloco .botao { min-height: 48px; }
.lateral__ferramentas { background: var(--marca-leve); border-color: var(--marca-clara); }
@media (max-width: 900px) { .ferramentas-grade { grid-template-columns: 1fr; gap: 12px; } .ferramenta-bloco { padding: 20px; } }
@media (prefers-reduced-motion: reduce) { .ferramenta-bloco, .ferramenta-bloco::after { transition: none; } }
.lista-links__icone { display: flex; gap: 10px; align-items: flex-start; }
.lista-links__icone > .ic { width: 22px; height: 22px; color: var(--marca-escura); flex: none; margin-top: 2px; }

/* Mais lidas no celular: número + miniatura + texto (regra depois da geral de .linha) */
@media (max-width: 600px) { .mais-lidas .linha--n { grid-template-columns: 28px 88px 1fr; gap: 10px; } .mais-lidas .linha--n .linha__n { font-size: 24px; width: 28px; } }

/* Bandeiras das capitais */
.bandeira { display: inline-block; height: auto; border-radius: 4px; border: 1px solid var(--linha); box-shadow: 0 1px 2px rgba(13, 42, 46, .08); background: #fff; object-fit: contain; }
.praca-bloco h3 a { display: inline-flex; align-items: center; gap: 12px; }
.praca-bloco h3 .bandeira { width: 60px; flex: none; }
.cabeca--praca { display: flex; align-items: center; gap: 28px; }
.bandeira--grande { width: 120px; flex: none; border-radius: 6px; }
.cidades-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.cidade-card { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--papel); text-decoration: none; color: var(--tinta); transition: transform .25s, box-shadow .25s, border-color .25s; }
.cidade-card:hover, .cidade-card:focus-visible { transform: translateY(-3px); box-shadow: var(--sombra); border-color: var(--marca); color: var(--tinta); }
.bandeira--card { width: 96px; }
.bandeira--vazia { display: grid; place-items: center; width: 96px; height: 64px; border-radius: 4px; background: var(--marca-leve); color: var(--marca-tinta); font-weight: 900; font-size: 20px; letter-spacing: .06em; }
.cidade-card__nome { font-weight: 800; font-size: 16px; }
.cidade-card__nome small { font-weight: 600; color: var(--suave); font-size: 12px; margin-left: 4px; }
.cidade-card__n { font-size: 13px; color: var(--suave); }
@media (max-width: 600px) { .cabeca--praca { flex-direction: column; align-items: flex-start; gap: 14px; } .bandeira--grande { width: 90px; } .cidades-grade { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

/* Carrossel da manchete (5 mais novas) */
.carrossel { position: relative; border-radius: var(--r-g); overflow: hidden; box-shadow: var(--sombra); background: var(--noite); min-height: 440px; }
.carrossel__faixa { position: relative; min-height: 440px; }
.carrossel .destaque { box-shadow: none; border-radius: 0; }
.carrossel__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .7s ease; pointer-events: none; }
.carrossel__slide.ativo { position: relative; opacity: 1; pointer-events: auto; }
.carrossel__slide:not(.ativo) img { animation: none; }
.carrossel__controles { position: absolute; right: 18px; top: 18px; z-index: 3; display: flex; align-items: center; gap: 8px; }
.carrossel__seta { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(13,42,46,.55); color: #fff; display: grid; place-items: center; cursor: pointer; transition: background .2s; }
.carrossel__seta:hover, .carrossel__seta:focus-visible { background: var(--marca); color: var(--noite); outline: none; }
.carrossel__seta .ic { width: 18px; height: 18px; }
.carrossel__pontos { display: flex; gap: 6px; padding: 0 4px; }
.carrossel__pontos button { width: 26px; height: 26px; padding: 0; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; }
.carrossel__pontos button span { display: block; width: 8px; height: 8px; border-radius: 4px; background: rgba(255,255,255,.55); transition: width .3s, background .3s; }
.carrossel__pontos button[aria-selected=true] span { width: 22px; background: var(--marca); }
.carrossel__pontos button:focus-visible span { outline: 2px solid #fff; outline-offset: 2px; }
.carrossel__barra { position: absolute; left: 0; bottom: 0; height: 3px; background: var(--marca); width: 0; z-index: 3; }
.carrossel.rodando .carrossel__barra { animation: carrossel-barra var(--carrossel-tempo, 7s) linear forwards; }
@keyframes carrossel-barra { from { width: 0; } to { width: 100%; } }
@media (max-width: 900px) { .carrossel, .carrossel__faixa { min-height: 300px; } .carrossel__controles { right: 10px; top: 10px; } .carrossel__seta { width: 34px; height: 34px; } }
@media (prefers-reduced-motion: reduce) { .carrossel__slide { transition: none; } .carrossel.rodando .carrossel__barra { animation: none; } }


/* ---------- Estética e Cirurgia Plástica: componentes próprios (fase 1) ---------- */
.suave { color: var(--suave); }
.abertura { padding: clamp(28px, 4vw, 52px) 0 10px; }
.abertura__grade { display: grid; grid-template-columns: 1fr 1.15fr; gap: 40px; align-items: center; }
.abertura__texto h2 { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.08; letter-spacing: -.02em; margin: 6px 0 14px; }
.abertura__texto > p { font-size: 18px; color: var(--tinta-2); max-width: 54ch; margin: 0 0 22px; }
.abertura__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.abertura__numeros { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; color: var(--suave); font-size: 15px; }
.abertura__numeros b { color: var(--marca-tinta); font-size: 22px; font-weight: 900; margin-right: 4px; }
.abertura__carrossel, .abertura__carrossel .carrossel__faixa { min-height: 420px; }
.destaque::after { background: linear-gradient(180deg, rgba(43, 18, 64, 0) 30%, rgba(43, 18, 64, .55) 60%, rgba(43, 18, 64, .92) 100%); }
.destaque .chip { color: #f3b6dd; }
.destaque p { color: #e6daed; }
.destaque .meta { color: #cdbfd6; }
.sub { display: flex; align-items: baseline; gap: 12px; font-size: 20px; margin: 0 0 14px; }
.sub small { font-size: 14px; font-weight: 700; }
.duas-colunas--iguais { grid-template-columns: 1fr 1fr; }
.secao-lista { padding: 28px 0 8px; }
.secao-lista > h2 { font-size: 24px; margin: 0 0 16px; }
.contagem { color: var(--suave); font-size: 14px; margin: -8px 0 16px; }
.nota-rodape { margin: 40px 0 0; padding: 20px 22px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--fundo); font-size: 15px; }
.nota-rodape h2 { font-size: 16px; margin: 0 0 8px; }
.nota-rodape p { margin: 0; color: var(--tinta-2); }
.aviso-medico { margin: 28px 0 0; padding: 16px 18px; border-left: 4px solid var(--marca); background: var(--marca-leve); font-size: 14px; color: var(--tinta-2); border-radius: 0 var(--r) var(--r) 0; }
.atencao { color: var(--alerta); font-weight: 700; }

/* procedimentos */
.proc-grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 0 0 12px; }
.proc-card { display: flex; flex-direction: column; border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; background: var(--papel); text-decoration: none; color: var(--tinta); transition: transform .25s, box-shadow .25s; }
.proc-card:hover, .proc-card:focus-visible { transform: translateY(-3px); box-shadow: var(--sombra); color: var(--tinta); }
.proc-card__capa { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--marca-clara); }
.proc-card__capa img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.proc-card:hover .proc-card__capa img { transform: scale(1.04); }
.proc-card__corpo { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 4px; }
.proc-card h3 { font-size: 18px; margin: 0; }
.proc-card p { margin: 4px 0 0; font-size: 14px; color: var(--tinta-2); }
.filtros--abas { margin-bottom: 18px; }
.link-procedimento { text-decoration: underline; text-decoration-color: var(--marca); text-underline-offset: 3px; color: inherit; }
.lista-procs { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lista-procs li a, .lista-procs li { display: inline-block; padding: 6px 12px; border: 1px solid var(--linha); border-radius: var(--r-p); text-decoration: none; color: var(--tinta); font-weight: 600; font-size: 14px; }
.lista-procs li:has(a) { padding: 0; border: 0; }
.lista-procs li a:hover { border-color: var(--marca); color: var(--marca-tinta); }

/* cirurgiões */
.cir-lista { display: grid; grid-template-columns: 1fr; gap: 12px; }
.cir-lista--grade { grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cir-card { display: grid; grid-template-columns: 72px 1fr; gap: 14px; padding: 14px 16px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--papel); transition: transform .25s, box-shadow .25s; }
.cir-card:hover { transform: translateY(-2px); box-shadow: var(--sombra); }
.cir-card--parceiro { border-color: var(--marca); background: var(--marca-leve); }
.cir-card__foto { display: block; width: 72px; height: 72px; border-radius: 50%; overflow: hidden; background: var(--marca-clara); }
.cir-card__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatar-letra { display: grid; place-items: center; width: 100%; height: 100%; font-size: 26px; font-weight: 900; color: var(--marca-tinta); background: var(--marca-clara); border-radius: 50%; }
.avatar-letra--grande { width: 160px; height: 160px; font-size: 56px; }
.cir-card h3 { font-size: 17px; margin: 0 0 2px; line-height: 1.3; }
.cir-card h3 a { color: var(--tinta); text-decoration: none; }
.cir-card h3 a:hover { color: var(--marca-tinta); }
.cir-card__registro { margin: 0; font-size: 13px; color: var(--marca-tinta); font-weight: 700; letter-spacing: .02em; }
.cir-card__procs { margin: 6px 0 0; font-size: 14px; color: var(--tinta-2); }
.cir-card__local { margin: 4px 0 0; font-size: 13px; color: var(--suave); }
.cir-card__selos, .perfil__selos { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 8px 0 0; font-size: 12.5px; }
.selo-ok { display: inline-flex; align-items: center; gap: 4px; color: var(--ok); font-weight: 700; }
.selo-ok .ic { width: 14px; height: 14px; }
.selo-parceiro { display: inline-block; padding: 2px 8px; border-radius: 4px; background: var(--marca); color: #fff; font-weight: 800; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.selo-info { display: inline-block; padding: 2px 8px; border-radius: 4px; background: var(--marca-clara); color: var(--marca-tinta); font-weight: 700; }
.selo-neutro { display: inline-block; padding: 2px 8px; border-radius: 4px; background: var(--fundo); color: var(--suave); font-weight: 600; border: 1px solid var(--linha); }
.perfil__cabeca { display: grid; grid-template-columns: 160px 1fr; gap: 28px; align-items: center; padding: 8px 0 28px; }
.perfil__foto img { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; display: block; }
.perfil__registro { margin: 0 0 8px; font-weight: 700; color: var(--marca-tinta); }
.perfil__bloco { margin: 0 0 32px; }
.perfil__bloco h2 { font-size: 22px; margin: 0 0 12px; }
.perfil__registro-publico { padding: 20px 22px; border: 1px solid var(--linha); border-radius: var(--r); background: var(--fundo); }
.perfil__registro-publico .ficha__resumo { margin-bottom: 10px; }
.lista-dados { list-style: none; margin: 0; padding: 0; }
.lista-dados li { padding: 8px 0; border-bottom: 1px solid var(--linha); }
.lista-dados li:last-child { border-bottom: 0; }
.lateral__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-weight: 700; text-decoration: none; }
.lateral__link .ic { width: 16px; height: 16px; }
.lateral__reivindicar { background: var(--fundo); }

/* instituições */
.inst-lista { display: grid; grid-template-columns: 1fr; gap: 12px; }
.inst-lista--grade { grid-template-columns: repeat(3, 1fr); gap: 16px; }
.inst-card { border: 1px solid var(--linha); border-radius: var(--r); background: var(--papel); padding: 16px 18px; transition: transform .25s, box-shadow .25s; }
.inst-card:hover { transform: translateY(-2px); box-shadow: var(--sombra); }
.inst-card--parceiro { border-color: var(--marca); background: var(--marca-leve); }
.inst-card h3 { font-size: 18px; margin: 4px 0 2px; line-height: 1.3; }
.inst-card h3 a { color: var(--tinta); text-decoration: none; }
.inst-card h3 a:hover { color: var(--marca-tinta); }
.inst-card__local { margin: 0; font-size: 13px; color: var(--suave); }
.inst-card__dados { margin: 8px 0 0; font-size: 14px; color: var(--tinta-2); }
.inst-card__notas { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 8px 0 0; font-size: 13.5px; align-items: center; }
.nota { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: var(--tinta); }
.nota small { font-weight: 600; color: var(--suave); }
.estrelas { color: #d9a300; letter-spacing: 1px; font-size: 14px; }
.ficha__resumo--4 { grid-template-columns: repeat(4, 1fr); }
.avaliacao { padding: 16px 0; border-top: 1px solid var(--linha); }
.avaliacao header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px; }
.avaliacao p { margin: 0; color: var(--tinta-2); }
.avaliacao__resposta { margin: 10px 0 0 16px; padding: 10px 14px; border-left: 3px solid var(--marca); background: var(--marca-leve); font-size: 15px; }
.avaliacao__resposta p { margin: 4px 0 0; }

/* busca */
.busca-grande { display: flex; gap: 10px; margin: 14px 0 0; max-width: 640px; }
.busca-grande input { flex: 1; height: 50px; padding: 0 16px; border: 1px solid var(--linha); border-radius: var(--r); font: inherit; font-size: 16px; }
.busca-grande input:focus { outline: 3px solid var(--marca-clara); border-color: var(--marca); }
.busca-lista { list-style: none; margin: 0; padding: 0; max-width: 820px; }
.busca-item { padding: 16px 0; border-bottom: 1px solid var(--linha); }
.busca-item h2 { font-size: 19px; margin: 4px 0 4px; }
.busca-item h2 a { color: var(--tinta); text-decoration: none; }
.busca-item h2 a:hover { color: var(--marca-tinta); }
.busca-item p { margin: 0 0 4px; color: var(--tinta-2); }
.busca-item time { font-size: 13px; color: var(--suave); }

@media (max-width: 960px) {
  .abertura__grade { grid-template-columns: 1fr; gap: 24px; }
  .abertura__carrossel, .abertura__carrossel .carrossel__faixa { min-height: 320px; }
  .proc-grade { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .cir-lista--grade, .inst-lista--grade { grid-template-columns: repeat(2, 1fr); }
  .duas-colunas--iguais { grid-template-columns: 1fr; }
  .ficha__resumo--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .proc-grade { grid-template-columns: 1fr 1fr; gap: 10px; }
  .proc-card h3 { font-size: 16px; }
  .proc-card p { display: none; }
  .cir-lista--grade, .inst-lista--grade { grid-template-columns: 1fr; }
  .perfil__cabeca { grid-template-columns: 1fr; gap: 14px; }
  .perfil__foto img, .avatar-letra--grande { width: 110px; height: 110px; font-size: 40px; }
  .ficha__resumo--4 { grid-template-columns: 1fr; }
  .busca-grande { flex-direction: column; }
}

/* ======================================================================
   Identidade editorial (06/11/2026): ajustes por componente sobre a base.
   Regra: serifa só em títulos de conteúdo; rótulos, chips, menus e botões ficam na sans.
   ====================================================================== */
.lateral__bloco h2, .rodape h3, .fontes h2, .nota-rodape h2, .tabela thead th, .ferramenta__form label, .ficha__resumo dt, .topo__nav-rotulo { font-family: var(--fonte); }
.lateral__bloco h2 { font-weight: 700; font-size: 11.5px; letter-spacing: .18em; color: var(--marca); }
.rodape h3 { font-weight: 700; font-size: 11.5px; letter-spacing: .18em; color: #f0e6ee; }
.fontes h2 { font-weight: 700; font-size: 11.5px; letter-spacing: .18em; }
.nota-rodape h2 { font-weight: 700; font-size: 15px; }
em, .italico { font-style: italic; }
h1 em, h2 em, h3 em { font-style: normal; font-weight: 700; color: var(--marca); }
strong, b { font-weight: 600; }
.secao { padding: clamp(52px, 7vw, 96px) 0; }
.secao--suave { background: var(--fundo); }
.secao__cabeca { margin-bottom: 34px; }
.secao__cabeca .mais { font-weight: 600; font-size: 15px; color: var(--marca-tinta); border-bottom: 1px solid var(--marca-borda); padding-bottom: 2px; }
.secao__cabeca .mais:hover { border-color: var(--marca); }
.sub { font-size: 21px; }
.sub small { font-family: var(--fonte); font-weight: 600; font-size: 13.5px; letter-spacing: .02em; }
.sub small a { text-decoration: none; border-bottom: 1px solid var(--marca-borda); }
a { text-decoration-color: var(--marca-borda); }
.suave { color: var(--suave); }

/* cabeçalho */
.topo__linha { gap: 28px; }
.topo__simular { min-height: 46px; padding: 8px 20px; font-size: 15px; box-shadow: none; }
.topo__simular:hover { box-shadow: 0 8px 22px rgba(165, 27, 133, .22); }
.topo__busca { border-radius: 50%; width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0; }
.topo__busca:hover { background: var(--marca-leve); color: var(--marca-tinta); }

/* abertura (home) */
.abertura { position: relative; padding: clamp(40px, 6vw, 84px) 0 clamp(24px, 4vw, 48px); background: radial-gradient(900px 520px at 90% -10%, var(--marca-clara) 0%, rgba(244, 225, 238, 0) 62%), radial-gradient(600px 400px at -10% 100%, var(--marfim) 0%, rgba(247, 241, 236, 0) 60%); }
.abertura__grade { gap: 56px; }
.abertura__texto h2 { font-size: clamp(32px, 3.6vw, 46px); line-height: 1.08; font-weight: 700; letter-spacing: -.025em; margin: 10px 0 18px; }
.abertura__texto > p { font-size: 18.5px; line-height: 1.6; color: var(--tinta-2); font-weight: 400; max-width: 50ch; margin: 0 0 28px; }
.abertura__acoes { gap: 12px; margin: 0 0 32px; }
.abertura__numeros { gap: 10px 32px; font-size: 14.5px; color: var(--suave); border-top: 1px solid var(--linha); padding-top: 20px; }
.abertura__numeros b { font-family: var(--fonte-titulo); font-weight: 800; font-size: 24px; color: var(--marca); letter-spacing: -.02em; margin-right: 6px; line-height: 1; }
.abertura__carrossel { border-radius: var(--r-g); }

/* carrossel / destaque */
.carrossel { border-radius: var(--r-g); box-shadow: var(--sombra-forte); }
.destaque h2 { font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.15; letter-spacing: -.02em; text-shadow: 0 2px 14px rgba(0, 0, 0, .25); }
.destaque .chip { color: #f3c2e1; }
.destaque__corpo { padding: 32px; }
.carrossel__seta { background: rgba(42, 20, 51, .5); border-color: rgba(255, 255, 255, .3); }
.carrossel__seta:hover, .carrossel__seta:focus-visible { background: var(--marca); color: #fff; }
.carrossel__pontos button[aria-selected=true] span { background: #fff; }

/* abas de família e filtros */
.filtros { gap: 2px 26px; }
.filtros a { font-weight: 500; font-size: 15.5px; color: var(--tinta-2); min-height: 44px; border-bottom-width: 2px; }
.filtros a[aria-current] { color: var(--marca-tinta); font-weight: 600; border-bottom-color: var(--marca); }

/* cards de matéria e linhas */
.card { border-color: var(--linha); border-radius: var(--r); background: var(--papel); }
.card:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: var(--marca-borda); }
.card h3 { font-size: 18.5px; line-height: 1.25; }
.card--grande h3 { font-size: 23px; }
.card p { font-size: 15px; color: var(--tinta-2); font-weight: 400; }
.card__corpo { padding: 18px 20px 20px; }
.linha h3 { font-size: 16.5px; line-height: 1.3; }
.linha__mini { border-radius: 10px; }
.linha__n { font-family: var(--fonte-titulo); font-weight: 800; color: var(--marca); }
.meta, .linha time { font-size: 13px; color: var(--suave); }
.manchete__lado .linha + .linha { border-color: var(--linha); }

/* procedimentos */
.proc-grade { gap: 22px; }
.proc-card { border-color: var(--linha); border-radius: var(--r); }
.proc-card:hover, .proc-card:focus-visible { border-color: var(--marca-borda); }
.proc-card__capa { aspect-ratio: 4 / 3; }
.proc-card__corpo { padding: 16px 18px 18px; }
.proc-card h3 { font-size: 18.5px; line-height: 1.2; }
.proc-card p { font-size: 14.5px; font-weight: 400; color: var(--tinta-2); margin-top: 6px; }
.lista-procs li a, .lista-procs li { border-radius: var(--pilula); font-weight: 500; padding: 7px 14px; }

/* cirurgiões e instituições */
.cir-card, .inst-card { border-color: var(--linha); border-radius: var(--r); }
.cir-card:hover, .inst-card:hover { border-color: var(--marca-borda); }
.cir-card--parceiro, .inst-card--parceiro { border-color: var(--marca-borda); background: var(--marca-leve); }
.cir-card { padding: 18px 20px; gap: 16px; }
.cir-card h3 { font-size: 18px; line-height: 1.25; }
.inst-card { padding: 18px 20px; }
.inst-card h3 { font-size: 18.5px; line-height: 1.25; }
.cir-card__registro { font-weight: 600; font-size: 13px; letter-spacing: .03em; }
.cir-card__procs, .inst-card__dados { font-weight: 400; }
.avatar-letra { font-family: var(--fonte-titulo); font-weight: 800; font-size: 26px; color: var(--marca); background: var(--marca-clara); }
.avatar-letra--grande { font-size: 56px; }
.selo-parceiro { border-radius: var(--pilula); padding: 3px 10px; font-weight: 700; font-size: 10.5px; letter-spacing: .12em; }
.selo-info, .selo-neutro { border-radius: var(--pilula); padding: 3px 10px; font-weight: 500; }
.selo-ok { font-weight: 600; }
.estrelas { color: #c99a1e; }
.perfil__cabeca { gap: 32px; padding: 12px 0 36px; }
.perfil__cabeca h1 { margin-bottom: 8px; }
.perfil__registro { font-weight: 500; font-size: 17px; }
.perfil__bloco h2 { font-size: 23px; }
.perfil__foto img { box-shadow: var(--sombra); }
.perfil__registro-publico { background: var(--marfim); border-color: transparent; }
.ficha__resumo { background: var(--papel); border-color: var(--linha); border-radius: var(--r); }
.ficha__resumo dt { font-weight: 700; font-size: 11px; letter-spacing: .16em; color: var(--marca); }
.ficha__resumo dd { font-weight: 500; }
.ficha__dado b { font-family: var(--fonte-titulo); font-weight: 800; font-size: 24px; letter-spacing: -.02em; }
.avaliacao header b { font-weight: 600; }
.aviso-medico { border-left-width: 3px; border-radius: 0 var(--r) var(--r) 0; font-weight: 400; }
.nota-rodape { background: var(--marfim); border-color: transparent; font-weight: 400; }
.nota-rodape b { font-weight: 600; }

/* editorias e mais lidas (home) */
.editoria, .praca-bloco { border-top: 1px solid var(--marca-borda); padding: 18px 0 16px; }
.editoria h3, .praca-bloco h3 { font-size: 18.5px; }
.editoria__icone { color: var(--marca); stroke-width: 1.6; }
.editoria li a, .praca-bloco li a { font-weight: 400; }
.editoria__mais { font-size: 14px; font-weight: 600; }

/* ferramentas */
.secao--ferramentas { border-top: 0; }
.ferramenta-bloco { border-color: transparent; background: var(--marfim); border-radius: var(--r-g); padding: 30px 30px 28px; }
.ferramenta-bloco::after { background: var(--marca-clara); opacity: .9; }
.ferramenta-bloco:hover, .ferramenta-bloco:focus-visible { border-color: var(--marca-borda); }
.ferramenta-bloco__icone { background: var(--papel); color: var(--marca); border-radius: 50%; box-shadow: var(--sombra); }
.ferramenta-bloco h3 { font-size: 22px; }
.ferramenta-bloco__chamada { font-weight: 400; font-size: 16px; }
.ferramenta-bloco__dado { font-family: var(--fonte-titulo); font-weight: 800; }
.ferramenta { background: var(--marfim); border-color: transparent; border-radius: var(--r-g); }
.ferramenta h2 { font-size: 23px; }

/* matéria */
.materia__cabeca h1 { font-size: clamp(28px, 3.6vw, 40px); }
.materia__cabeca .apoio { font-family: var(--fonte); font-size: 20px; font-weight: 400; line-height: 1.5; font-style: normal; color: var(--tinta-2); }
.materia__texto { font-size: 18.5px; line-height: 1.75; font-weight: 400; }
.materia__texto > p:first-of-type { font-size: 21px; }
.materia__texto h2 { font-size: clamp(22px, 2.4vw, 27px); }
.materia__texto h3 { font-size: 20px; }
.materia__texto blockquote { font-size: 19px; font-style: italic; line-height: 1.5; border-left-width: 3px; background: var(--marfim); }
.materia__texto li::marker { color: var(--marca); font-weight: 600; }
.materia__texto a { font-weight: 500; }
.sumario { background: var(--marfim); border-color: transparent; border-radius: var(--r); }
.sumario summary { font-weight: 600; }
.fontes { background: var(--marfim); border-color: transparent; }
.tags a { border-radius: var(--pilula); font-weight: 500; }
.compartilhar a, .compartilhar button { border-radius: var(--pilula); font-weight: 500; }
.autor-caixa { background: var(--marca-leve); border-color: var(--marca-borda); border-radius: var(--r-g); }
.autor-caixa .avatar { font-family: var(--fonte-titulo); font-weight: 800; }
.lateral__bloco { border-color: var(--linha); border-radius: var(--r); }
.lateral__simular { background: var(--marca-leve); border-color: var(--marca-borda); }
.lateral__simular h2 { color: var(--marca); }
.lateral__simular p { font-weight: 400; }
.lateral__reivindicar { background: var(--marfim); border-color: transparent; }
.lateral__link { font-weight: 600; }
.lateral__bloco .linha h3 { font-size: 16.5px; }
.faq details { border-radius: var(--r); }
.faq summary { font-family: var(--fonte-titulo); font-weight: 600; font-size: 17.5px; line-height: 1.35; }
.faq details > div { font-weight: 400; }

/* trilha, paginação, busca */
.trilha { font-size: 13px; letter-spacing: .01em; }
.paginacao a, .paginacao span { border-radius: var(--pilula); font-weight: 500; }
.paginacao .atual { background: var(--marca); color: #fff; }
.busca-grande input, .busca-form input, .glossario__busca input { border-radius: var(--pilula); padding: 0 20px; }
.busca-grande input:focus { outline: 3px solid var(--marca-clara); border-color: var(--marca); }
.busca-item h2 { font-size: 19px; }
.busca-menu input { border-radius: var(--pilula); }
.busca-menu button { border-radius: 50%; color: #fff; }
.cabeca { padding: 14px 0 34px; }
.cabeca h1 { margin-bottom: 12px; }
.cabeca--estreita .apoio { font-size: 19px; }

/* chamada do simulador (antes do rodapé) */
.chamada-simulador { position: relative; overflow: hidden; background: var(--noite); color: #e6d9ea; border-top: 0; padding: clamp(56px, 7vw, 96px) 0; }
.chamada-simulador::before { content: ""; position: absolute; width: 640px; height: 640px; border-radius: 50%; right: -200px; top: -320px; background: radial-gradient(circle, rgba(165, 27, 133, .55) 0%, rgba(165, 27, 133, 0) 65%); pointer-events: none; }
.chamada-simulador::after { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; left: -160px; bottom: -260px; background: radial-gradient(circle, rgba(94, 37, 144, .5) 0%, rgba(94, 37, 144, 0) 65%); pointer-events: none; }
.chamada-simulador .caixa { position: relative; z-index: 1; }
.chamada-simulador .rotulo--claro { color: #f3c2e1; opacity: 1; }
.chamada-simulador h2 { color: #fff; font-size: clamp(28px, 3.2vw, 38px); font-weight: 700; margin-bottom: 14px; }
.chamada-simulador h2 em { color: #f3c2e1; }
.chamada-simulador p { color: #e6d9ea; font-weight: 400; font-size: 18px; }
.chamada-simulador__acao small { color: #bfaec6; }
.chamada-simulador .botao { min-height: 58px; padding: 12px 30px; font-size: 17px; }

/* rodapé */
.rodape { background: var(--noite); color: #c9bbd0; border-top: 1px solid rgba(255, 255, 255, .06); padding: 64px 0 32px; }
.rodape a { color: #d9cde0; font-weight: 400; }
.rodape a:hover { color: #fff; text-decoration: none; }
.rodape__grade { border-bottom-color: rgba(255, 255, 255, .1); gap: 40px; }
.rodape__sobre p { font-weight: 400; max-width: 40ch; }
.rodape li { margin: 0 0 9px; font-size: 14.5px; }
.rodape__base { color: #a999b2; font-weight: 400; }
.rodape__base strong { color: #d9cde0; font-weight: 600; }
.topo-voltar { border-radius: 50%; }

/* seção de abertura das listagens (cirurgiões, hospitais, praça): cabeça com respiro */
.cabeca .apoio { font-size: 18.5px; line-height: 1.6; }

/* visualmente oculto preservado */
.visualmente-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (max-width: 960px) {
  .abertura__grade { gap: 32px; }
  .abertura__texto h2 { font-size: clamp(30px, 5.6vw, 40px); }
}
@media (max-width: 600px) {
  body { font-size: 16.5px; }
  h1 { font-size: clamp(28px, 7.5vw, 34px); }
  h2 { font-size: clamp(23px, 6vw, 27px); }
  .abertura { padding-top: 28px; }
  .abertura__texto h2 { font-size: 30px; }
  .abertura__texto > p { font-size: 17px; }
  .abertura__numeros b { font-size: 22px; }
  .card h3 { font-size: 17.5px; }
  .card--grande h3 { font-size: 20px; }
  .proc-card h3 { font-size: 16.5px; }
  .cir-card h3, .inst-card h3 { font-size: 17.5px; }
  .chamada-simulador h2 { font-size: 27px; }
  .materia__cabeca .apoio { font-size: 18px; }
  .materia__texto { font-size: 17.5px; }
  .destaque h2 { font-size: 21px; }
}

/* ======================================================================
   Simulador, obrigado e painel (fase 2, 06/11/2026)
   ====================================================================== */
.sim-corpo { background: var(--fundo); }
.sim-topo { background: var(--papel); border-bottom: 1px solid var(--linha); }
.sim-topo__linha { display: flex; align-items: center; justify-content: space-between; min-height: 76px; }
.sim-topo .topo__logo img { height: 56px; width: auto; }
.sim-topo__voltar { display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 500; text-decoration: none; color: var(--tinta-2); }
.sim-topo__voltar:hover { color: var(--marca-tinta); }
.sim-main { padding: clamp(28px, 5vw, 64px) 0 clamp(40px, 6vw, 80px); }
.sim-grade { display: grid; grid-template-columns: 1fr 520px; gap: clamp(28px, 5vw, 72px); align-items: start; }
.sim-lado h1 { font-size: clamp(30px, 3.4vw, 42px); margin: 6px 0 14px; }
.sim-lado .apoio { margin-bottom: 26px; }
.sim-passos { list-style: none; margin: 0 0 26px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sim-passos li { display: flex; align-items: center; gap: 14px; font-weight: 500; }
.sim-passos b, .obrigado__passos b { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--marca-clara); color: var(--marca); font-weight: 800; flex: none; }
.sim-selos { list-style: none; margin: 0 0 22px; padding: 18px 0 0; border-top: 1px solid var(--linha); display: flex; flex-direction: column; gap: 10px; font-size: 15px; color: var(--tinta-2); }
.sim-selos li { display: flex; align-items: center; gap: 10px; }
.sim-selos .ic { color: var(--marca); width: 20px; height: 20px; }
.sim-nota { font-size: 13px; color: var(--suave); margin: 0; }
.sim-card { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r-g); padding: 28px 28px 26px; box-shadow: var(--sombra); position: sticky; top: 20px; }
.sim-progresso { display: flex; gap: 6px; margin: 0 0 8px; }
.sim-progresso span { flex: 1; height: 4px; border-radius: 2px; background: var(--linha); transition: background .3s; }
.sim-progresso span.ativo { background: var(--marca); }
.sim-progresso span.feito { background: var(--marca-borda); }
.sim-etapa-rotulo { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--marca); margin: 0 0 14px; }
.sim-etapa { border: 0; margin: 0; padding: 0; min-width: 0; }
.sim-legenda { font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin: 0 0 18px; padding: 0; line-height: 1.2; }
.campo { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.campo label, .campo__titulo { font-size: 14px; font-weight: 600; color: var(--tinta); }
.campo .obrig { color: var(--marca); }
.campo .opc { font-weight: 400; color: var(--suave); font-size: 12.5px; margin-left: 4px; }
.campo input[type=text], .campo input[type=tel], .campo input[type=email], .campo input[type=password], .campo input[type=search], .campo select, .campo textarea { width: 100%; min-height: 50px; padding: 10px 14px; border: 1.5px solid var(--linha); border-radius: var(--r-p); font: inherit; font-size: 16px; color: var(--tinta); background: var(--papel); transition: border-color .2s, box-shadow .2s; }
.campo select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236e1159' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 40px; }
.campo textarea { min-height: 110px; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: 0; border-color: var(--marca); box-shadow: 0 0 0 4px var(--marca-clara); }
.campo .invalido, .campo [aria-invalid=true] { border-color: var(--alerta); }
.campo.invalido .opcao { border-color: var(--alerta-claro); }
.erro { color: var(--alerta); font-size: 13px; font-weight: 500; }
.erro--envio { background: var(--alerta-claro); border-radius: var(--r-p); padding: 10px 14px; margin: 0 0 12px; font-size: 14px; }
.opcoes { display: grid; grid-template-columns: 1fr; gap: 8px; }
.opcoes--2 { grid-template-columns: 1fr 1fr; }
.opcao { position: relative; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border: 1.5px solid var(--linha); border-radius: var(--r-p); cursor: pointer; font-size: 15px; font-weight: 500; transition: border-color .2s, background .2s; }
.opcao:hover { border-color: var(--marca-borda); background: var(--marca-leve); }
.opcao input { width: 18px; height: 18px; margin: 0; accent-color: var(--marca); flex: none; }
.opcao:has(input:checked) { border-color: var(--marca); background: var(--marca-leve); }
.opcao:has(input:focus-visible) { box-shadow: 0 0 0 4px var(--marca-clara); }
.sim-acoes { display: flex; justify-content: space-between; gap: 10px; margin-top: 22px; }
.sim-acoes .botao:only-child { margin-left: auto; }
.sim-consentimento { font-size: 13px; color: var(--suave); margin: 4px 0 12px; }
.sim-enviar.carregando { opacity: .7; pointer-events: none; }
.sim-rodape { padding: 24px 0 32px; font-size: 13px; color: var(--suave); border-top: 1px solid var(--linha); }
.sim-rodape p { max-width: 90ch; margin: 0 0 6px; }
html.sem-js .sim-etapa { display: block !important; }
html.sem-js .sim-etapa[hidden] { display: block !important; }
html.sem-js [data-prox], html.sem-js [data-ant], html.sem-js .sim-progresso, html.sem-js .sim-etapa-rotulo { display: none; }
@media (max-width: 960px) { .sim-grade { grid-template-columns: 1fr; } .sim-card { position: static; } .sim-lado .sim-passos, .sim-lado .sim-selos { display: none; } }
@media (max-width: 600px) { .sim-card { padding: 20px 16px; border-radius: var(--r); } .opcoes--2 { grid-template-columns: 1fr; } .sim-acoes { flex-direction: column-reverse; } .sim-acoes .botao { width: 100%; } }

/* obrigado */
.obrigado { max-width: 720px; text-align: center; }
.obrigado__selo { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--marca); color: #fff; margin: 0 auto 18px; box-shadow: 0 10px 28px rgba(165, 27, 133, .3); }
.obrigado__selo .ic { width: 36px; height: 36px; stroke-width: 2.4; }
.obrigado h1 { font-size: clamp(28px, 3.4vw, 40px); margin: 4px 0 12px; }
.obrigado .apoio { margin: 0 auto 30px; }
.obrigado__passos { list-style: none; margin: 0 0 30px; padding: 0; display: flex; flex-direction: column; gap: 12px; text-align: left; }
.obrigado__passos li { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r); }
.obrigado__passos strong { display: block; font-weight: 700; margin-bottom: 2px; }
.obrigado__passos span { font-size: 15px; color: var(--tinta-2); }
.obrigado__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 22px; }

/* painel */
.painel-corpo { background: var(--fundo); }
.painel-login { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; }
.painel-login__card { width: 100%; max-width: 400px; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r-g); padding: 32px 28px; box-shadow: var(--sombra); display: flex; flex-direction: column; }
.painel-login__logo { height: 64px; width: auto; margin: 0 auto 14px; }
.painel-login h1 { text-align: center; font-size: 22px; margin: 0 0 20px; }
.painel-login .botao { width: 100%; margin-top: 4px; }
.painel-login .sim-nota { text-align: center; margin-top: 16px; }
.painel-topo { background: var(--papel); border-bottom: 1px solid var(--linha); }
.painel-topo__linha { display: flex; align-items: center; gap: 18px; min-height: 68px; }
.painel-topo .topo__logo img { height: 48px; width: auto; }
.painel-topo__titulo { font-weight: 700; font-size: 17px; letter-spacing: -.01em; }
.painel-topo__acoes { margin-left: auto; display: flex; align-items: center; gap: 16px; font-size: 14px; }
.painel-topo__acoes a { display: inline-flex; align-items: center; gap: 5px; text-decoration: none; color: var(--tinta-2); font-weight: 500; }
.painel-topo__acoes a:hover { color: var(--marca-tinta); }
.painel-topo__acoes .ic { width: 16px; height: 16px; }
.painel-topo__quem { color: var(--suave); }
.painel { padding: 28px 20px 60px; }
.painel-msg { display: inline-flex; align-items: center; gap: 8px; background: var(--ok-claro); color: var(--ok); font-weight: 600; padding: 8px 14px; border-radius: var(--pilula); font-size: 14px; margin: 0 0 16px; }
.painel-resumo { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 0 0 20px; }
.painel-kpi { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r); padding: 14px 16px; }
.painel-kpi b { display: block; font-size: 28px; font-weight: 800; letter-spacing: -.02em; color: var(--marca); line-height: 1; }
.painel-kpi span { font-size: 13px; color: var(--suave); }
.painel-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.painel-filtros input, .painel-filtros select { min-height: 46px; padding: 8px 14px; border: 1.5px solid var(--linha); border-radius: var(--pilula); font: inherit; font-size: 15px; background: var(--papel); color: var(--tinta); }
.painel-filtros input { flex: 1 1 260px; }
.painel-filtros input:focus, .painel-filtros select:focus { outline: 0; border-color: var(--marca); box-shadow: 0 0 0 4px var(--marca-clara); }
.painel-filtros .botao { min-height: 46px; }
.painel .contagem { margin: 8px 0 12px; }
.tabela--leads { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; font-size: 14.5px; }
.tabela--leads th, .tabela--leads td { padding: 11px 12px; vertical-align: top; }
.tabela--leads td small { display: block; font-size: 12.5px; color: var(--suave); margin-top: 2px; }
.tabela__link { font-weight: 600; color: var(--tinta); text-decoration: none; }
.tabela__link:hover { color: var(--marca-tinta); text-decoration: underline; }
.tabela__nome { font-size: 15px; }
.tabela--leads tr.status--novo .tabela__nome::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--marca); margin-right: 7px; vertical-align: middle; }
.tabela--leads tr.status--ruim td { color: var(--suave); }
.pts { display: inline-grid; place-items: center; min-width: 38px; height: 28px; padding: 0 8px; border-radius: var(--pilula); font-weight: 800; font-size: 13px; }
.pts--alto { background: var(--ok-claro); color: var(--ok); }
.pts--medio { background: #fff3d6; color: #8a5a00; }
.pts--baixo { background: var(--fundo); color: var(--suave); }
.selo-status { display: inline-block; padding: 3px 10px; border-radius: var(--pilula); background: var(--marca-leve); color: var(--marca-tinta); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.trilha-simples { margin: 0 0 14px; font-size: 14px; }
.trilha-simples a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; font-weight: 600; }
.trilha-simples .ic { width: 16px; height: 16px; }
.lead-detalhe { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r-g); padding: 28px; }
.lead-detalhe__cabeca { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin: 0 0 22px; }
.lead-detalhe h1 { font-size: clamp(24px, 3vw, 32px); margin: 6px 0 12px; }
.lead-detalhe__contato { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.lead-detalhe__pontos { text-align: center; flex: none; padding: 12px 18px; border-radius: var(--r); background: var(--marca-leve); }
.lead-detalhe__pontos b { display: block; font-size: 34px; font-weight: 800; color: var(--marca); line-height: 1; letter-spacing: -.02em; }
.lead-detalhe__pontos span { font-size: 12px; color: var(--suave); }
.lead-detalhe .ficha__resumo { background: var(--fundo); }
.lead-detalhe .ficha__resumo dd.quebra { word-break: break-all; font-weight: 400; font-size: 14px; }
.lead-detalhe__form { display: grid; grid-template-columns: 240px 1fr; gap: 0 20px; align-items: start; margin: 8px 0 14px; }
.lead-detalhe__form .campo--largo { grid-column: 2; grid-row: 1 / span 2; }
.lead-detalhe__form .sim-acoes { grid-column: 1; margin-top: 0; }
@media (max-width: 900px) { .painel-resumo { grid-template-columns: repeat(3, 1fr); } .painel-topo__titulo { display: none; } .lead-detalhe__form { grid-template-columns: 1fr; } .lead-detalhe__form .campo--largo { grid-column: 1; grid-row: auto; } .lead-detalhe__cabeca { flex-direction: column-reverse; } }
@media (max-width: 600px) { .painel-resumo { grid-template-columns: repeat(2, 1fr); } .painel-topo__acoes { gap: 10px; font-size: 13px; } .painel-topo__quem { display: none; } .lead-detalhe { padding: 18px 16px; } .painel { padding: 18px 16px 50px; } }
/* painel no celular: cada lead vira um cartão */
@media (max-width: 700px) {
  .tabela--leads, .tabela--leads tbody, .tabela--leads tr, .tabela--leads td { display: block; }
  .tabela--leads thead { display: none; }
  .tabela--leads { border: 0; background: none; overflow: visible; }
  .tabela--leads tr { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r); padding: 12px 14px; margin: 0 0 10px; display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; }
  .tabela--leads td { padding: 2px 0; border: 0; }
  .tabela--leads td:nth-child(2) { grid-column: 1; grid-row: 1; }
  .tabela--leads td:nth-child(7) { grid-column: 2; grid-row: 1 / span 2; align-self: start; }
  .tabela--leads td:nth-child(1) { grid-column: 1; grid-row: 2; font-size: 13px; }
  .tabela--leads td:nth-child(1) .tabela__link { font-weight: 500; color: var(--suave); }
  .tabela--leads td:nth-child(1) small { display: inline; margin-left: 6px; }
  .tabela--leads td:nth-child(3), .tabela--leads td:nth-child(4), .tabela--leads td:nth-child(5), .tabela--leads td:nth-child(6) { grid-column: 1 / -1; font-size: 14px; }
  .tabela--leads td:nth-child(4) small { display: inline; margin-left: 6px; }
  .tabela--leads td:nth-child(5)::before { content: "Região: "; color: var(--suave); }
  .tabela--leads td:nth-child(6)::before { content: "Origem: "; color: var(--suave); }
  .tabela--leads td:nth-child(8) { grid-column: 1 / -1; padding-top: 8px; }
  .tabela-rolagem { overflow: visible; }
}

/* fase 4: formulários do portal (avaliar, reivindicar) e origem no simulador */
.sim-card--solta { position: static; max-width: 720px; }
.opcoes--notas .opcao small { color: var(--suave); font-weight: 400; margin-left: 6px; }
.opcoes--notas .opcao span { color: #c99a1e; letter-spacing: 1px; }
.opcao--termo { align-items: flex-start; font-size: 14px; font-weight: 400; line-height: 1.5; color: var(--tinta-2); }
.opcao--termo input { margin-top: 3px; }
.sim-ok { text-align: center; padding: 20px 0 8px; }
.sim-ok h2 { margin: 8px 0 8px; }
.sim-ok p { color: var(--tinta-2); margin: 0 0 18px; }
.sim-origem { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: var(--tinta-2); background: var(--marfim); border-radius: var(--r-p); padding: 10px 12px; margin: 0 0 16px; }
.sim-origem .ic { width: 18px; height: 18px; color: var(--marca); flex: none; margin-top: 2px; }
.lista-links li b { display: block; color: var(--marca); font-weight: 700; }
/* painel: abas e itens de moderação */
.painel-abas { display: flex; gap: 4px; margin-left: 8px; }
.painel-abas a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: var(--pilula); font-size: 14px; font-weight: 500; color: var(--tinta-2); text-decoration: none; }
.painel-abas a:hover { background: var(--marca-leve); color: var(--marca-tinta); }
.painel-abas a[aria-current] { background: var(--marca-clara); color: var(--marca-tinta); font-weight: 600; }
.painel-abas b { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--marca); color: #fff; font-size: 11.5px; }
.painel-h1 { font-size: 24px; margin: 4px 0 6px; }
.painel-item { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--r); padding: 16px 18px; margin: 0 0 12px; }
.painel-item--pendente, .painel-item--nova { border-color: var(--marca-borda); background: var(--marca-leve); }
.painel-item--rejeitada, .painel-item--recusada { opacity: .7; }
.painel-item__cabeca { font-size: 14px; color: var(--tinta-2); margin: 0 0 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.painel-item__quem { font-size: 14.5px; margin: 0 0 10px; }
.painel-item__texto { margin: 0 0 12px; padding: 10px 14px; border-left: 3px solid var(--marca-borda); background: var(--papel); border-radius: 0 var(--r-p) var(--r-p) 0; font-size: 15px; }
.painel-item .campo { margin-bottom: 10px; }
.painel-item__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.painel-item__acoes .opcao { min-height: 42px; padding: 6px 12px; font-size: 14px; }
.painel-item__acoes select { min-height: 42px; padding: 6px 36px 6px 12px; border: 1.5px solid var(--linha); border-radius: var(--pilula); font: inherit; font-size: 14px; background: var(--papel); }
.painel-item__acoes .botao { min-height: 42px; padding: 6px 18px; font-size: 14.5px; }
@media (max-width: 900px) { .painel-abas { margin-left: 0; order: 3; width: 100%; overflow-x: auto; } .painel-topo__linha { flex-wrap: wrap; } }

.painel-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 16px; }
.opcoes--chips { display: flex; flex-wrap: wrap; gap: 6px; }
.opcoes--chips .opcao { min-height: 36px; padding: 4px 12px; font-size: 13.5px; }
@media (max-width: 900px) { .painel-grade { grid-template-columns: 1fr; } }

/* perfil completo do cirurgião e ficha completa da instituição (07/11/2026) */
.perfil__cabeca--completo { grid-template-columns: 200px 1fr; }
.perfil__cabeca--completo .perfil__foto img { width: 200px; height: 200px; border-radius: 24px; object-fit: cover; box-shadow: var(--sombra); }
.perfil__cabeca--completo .avatar-letra--grande { width: 200px; height: 200px; border-radius: 24px; }
.perfil__acoes { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; }
.perfil__acoes .botao { min-height: 46px; padding: 8px 20px; font-size: 15px; }
.perfil__bio { font-size: 17.5px; }
.lista-marcas { list-style: none; margin: 0 0 14px; padding: 0; }
.lista-marcas li { position: relative; padding: 6px 0 6px 22px; border-bottom: 1px solid var(--linha); }
.lista-marcas li::before { content: ""; position: absolute; left: 4px; top: 15px; width: 8px; height: 8px; border-radius: 50%; background: var(--marca); }
.lista-marcas li:last-child { border-bottom: 0; }
.perfil__bloco h3 { font-size: 16px; margin: 14px 0 6px; color: var(--marca-tinta); }
.video-caixa { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r); overflow: hidden; background: var(--noite); }
.video-caixa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.consultorio { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--linha); font-size: 14.5px; }
.consultorio:last-child { border-bottom: 0; }
.consultorio > .ic { width: 20px; height: 20px; color: var(--marca); flex: none; margin-top: 2px; }
.consultorio b { display: block; font-weight: 600; }
.consultorio span, .consultorio a { display: block; color: var(--suave); font-size: 13.5px; }
.consultorio a { color: var(--marca-tinta); text-decoration: none; font-weight: 500; }
.consultorio__mapa { display: inline-flex !important; align-items: center; gap: 4px; margin-top: 4px; }
.consultorio__mapa .ic { width: 14px; height: 14px; }
.lista-contato li { display: flex; gap: 10px; align-items: flex-start; }
.lista-contato > li > .ic { width: 20px; height: 20px; color: var(--marca); flex: none; margin-top: 2px; }
.lista-contato li span { display: block; }
.ficha__capa { position: relative; border-radius: var(--r-g); overflow: hidden; margin: 0 0 24px; background: var(--marfim); aspect-ratio: 21 / 9; }
.ficha__capa img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ficha__logo-flutuante { position: absolute; left: 20px; bottom: 20px; background: #fff; border-radius: 14px; padding: 10px 14px; box-shadow: var(--sombra); max-width: 200px; }
.ficha__logo-flutuante img { max-height: 48px; width: auto; }
.ficha__descricao { font-size: 17.5px; }
.servicos-grade { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 18px; list-style: none; margin: 0 0 12px; padding: 0; }
.servicos-grade li { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid var(--linha); font-size: 15px; }
.servicos-grade .ic { width: 18px; height: 18px; color: var(--ok); flex: none; margin-top: 3px; }
@media (max-width: 600px) { .perfil__cabeca--completo { grid-template-columns: 1fr; } .perfil__cabeca--completo .perfil__foto img, .perfil__cabeca--completo .avatar-letra--grande { width: 140px; height: 140px; } .servicos-grade { grid-template-columns: 1fr; } }
