/*
Theme Name: Alpha Laboratórios
Theme URI: https://alphalabor.com.br
Author: L9WEB
Description: Tema próprio do Alpha Laboratórios (Marau/RS) — leve, responsivo, sem page builder. Mesmo padrão do tema Mangoni (módulos em inc/, painel editável pelo cliente).
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: alpha
*/

:root {
	--cyan: #14a9df;          /* cor do logo */
	--cyan-dark: #0a78a6;     /* texto/links/botões sobre branco (contraste AA) */
	--cyan-soft: #eaf7fc;
	--navy: #2a2a3b;          /* "alpha" do logo */
	--navy-2: #1f1f2d;
	--green: #00876a;         /* resultados */
	--green-dark: #006e56;
	--text: #4a4a57;
	--muted: #6f7080;
	--line: #e3e8ee;
	--bg: #fff;
	--bg-soft: #f4f8fb;
	--radius: 14px;
	--shadow: 0 10px 30px rgba(20, 40, 70, .07);
	--shadow-lg: 0 24px 60px rgba(20, 40, 70, .14);
	--wrap: 1200px;
	--font-head: "Poppins", system-ui, Arial, sans-serif;
	--font-body: "Nunito Sans", system-ui, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
html, body { overflow-x: clip; }
body { margin: 0; font: 400 17px/1.7 var(--font-body); color: var(--text); background: var(--bg); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cyan-dark); text-decoration: none; transition: color .2s; }
a:hover { color: var(--navy); }
h1, h2, h3, h4 { font-family: var(--font-head); color: var(--navy); line-height: 1.2; margin: 0 0 .6em; font-weight: 600; }
h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
h2 strong { color: var(--cyan-dark); font-weight: 700; }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1.2em; }
.wrap { width: min(100% - 32px, var(--wrap)); margin-inline: auto; }
.center { text-align: center; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
.skip-link:focus { clip: auto; width: auto; height: auto; z-index: 999; background: #fff; padding: 10px 16px; top: 8px; left: 8px; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 2px; }

/* ---------- Botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .6em; padding: .8em 1.6em; border-radius: 999px; font: 600 .95rem var(--font-head); border: 2px solid transparent; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, color .2s; line-height: 1.2; text-align: center; }
.btn:hover { transform: translateY(-2px); }
.btn--lg { padding: 1em 1.9em; font-size: 1.02rem; }
.btn--primary { background: var(--cyan-dark); color: #fff; box-shadow: 0 8px 22px rgba(10, 120, 166, .28); }
.btn--primary:hover { background: var(--navy); color: #fff; }
.btn--outline { border-color: var(--cyan-dark); color: var(--cyan-dark); }
.btn--outline:hover { background: var(--cyan-dark); color: #fff; }
.btn--result { background: var(--green); color: #fff; box-shadow: 0 8px 22px rgba(0, 135, 106, .3); }
.btn--result:hover { background: var(--green-dark); color: #fff; }
.btn--outline-light { border-color: rgba(255, 255, 255, .7); color: #fff; }
.btn--outline-light:hover { background: #fff; color: var(--navy); }
.btn--white { background: #fff; color: var(--navy); }
.btn--white i { color: #25d366; font-size: 1.2em; }
.btn--white:hover { color: var(--cyan-dark); }
.btn--ghost { border-color: rgba(255, 255, 255, .6); color: #fff; }
.btn--ghost:hover { background: #fff; color: var(--navy); }
.btn--whats { background: #25d366; color: #fff; }
.btn--whats:hover { background: #1ebe5b; color: #fff; }
.btns { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Topo ---------- */
.topbar { background: var(--navy); color: #c9cad6; font-size: .82rem; }
.topbar .wrap { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 38px; }
.topbar__msg { margin: 0; display: flex; align-items: center; gap: 8px; }
.topbar__msg i, .topbar__links i { color: var(--cyan); }
.topbar__links { display: flex; align-items: center; gap: 20px; }
.topbar__links a { color: #fff; display: inline-flex; align-items: center; gap: 7px; }
.topbar__links a:hover { color: var(--cyan); }

.site-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--line); transition: box-shadow .3s; }
.site-header.is-scrolled { box-shadow: 0 8px 28px rgba(20, 40, 70, .08); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; min-height: 86px; gap: 20px; }
.site-logo img { height: 56px; width: auto; }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; align-items: center; }
.nav li { position: relative; }
.nav a { display: block; position: relative; padding: .8em .8em; color: var(--navy); font: 500 .93rem/1.2 var(--font-head); }
.nav a:hover, .nav .current-menu-item > a, .nav .current-menu-ancestor > a, .nav .current_page_parent > a { color: var(--cyan-dark); }
.nav > ul > li > a::before { content: ""; position: absolute; left: .8em; right: .8em; bottom: .3em; height: 2px; background: var(--cyan); border-radius: 2px; transform: scaleX(0); transition: transform .25s ease; }
.nav > ul > li > a:hover::before, .nav > ul > li:focus-within > a::before, .nav > ul > .current-menu-item > a::before, .nav > ul > .current-menu-ancestor > a::before, .nav > ul > .current_page_parent > a::before { transform: scaleX(1); }
.nav .sub-menu { position: absolute; top: calc(100% + 4px); left: 0; min-width: 250px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 18px 40px rgba(20, 40, 70, .12); padding: 8px; display: block; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; }
.nav .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--cyan); border-radius: 12px 12px 0 0; }
.nav li:hover > .sub-menu, .nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.nav .sub-menu a { font-size: .9rem; padding: .7em .9em; border-radius: 8px; }
.nav .sub-menu a:hover { background: var(--cyan-soft); }
.nav .menu-item-has-children > a::after { content: "\f107"; font: 900 .65rem "Font Awesome 6 Free"; margin-left: 5px; opacity: .6; }
.nav a.nav__whats { display: none; }
.header-cta { display: flex; gap: 10px; align-items: center; }
.header-cta .btn--result { padding: .75em 1.3em; }
.nav-toggle { display: none; background: none; border: 0; font-size: 1.6rem; color: var(--navy); cursor: pointer; padding: 6px; }

/* ---------- Resultados (home, topo e /resultados/) ---------- */
.home-resultados { position: relative; z-index: 2; margin-top: 24px; }
.resultados { background: linear-gradient(120deg, var(--navy) 0%, #23405e 55%, var(--cyan-dark) 100%); color: #dfe6f0; border-radius: 20px; box-shadow: var(--shadow-lg); overflow: hidden; }
.resultados__principal { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center; padding: clamp(24px, 4vw, 38px) clamp(22px, 4vw, 44px); }
.resultados__icone { width: 76px; height: 76px; border-radius: 20px; background: rgba(255, 255, 255, .12); display: grid; place-items: center; font-size: 2.1rem; color: #fff; }
.resultados__titulo { color: #fff; margin: 0 0 4px; font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.resultados__titulo span { color: var(--cyan); }
.resultados__txt p { margin: 0; max-width: 560px; }
.resultados__botoes { display: flex; flex-direction: column; gap: 10px; min-width: 250px; }
.resultados__nota { margin: 0; padding: 12px clamp(22px, 4vw, 44px); background: rgba(0, 0, 0, .18); font-size: .92rem; }
.resultados__nota i { color: var(--cyan); margin-right: 6px; }
.resultados__nota a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.resultados__antigos { background: #fff; color: var(--text); padding: clamp(22px, 4vw, 36px) clamp(22px, 4vw, 44px); }
.resultados__antigos h3 { margin-bottom: 4px; }
.resultados__antigos h3 i { color: var(--cyan-dark); margin-right: 6px; }
.resultados__lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-top: 14px; }
.resultado-link { display: block; border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.resultado-link:hover { border-color: var(--cyan); box-shadow: var(--shadow); transform: translateY(-2px); }
.resultado-link strong { display: block; color: var(--navy); font-family: var(--font-head); font-weight: 600; }
.resultado-link strong i { font-size: .75em; color: var(--cyan-dark); margin-left: 4px; }
.resultado-link small { display: block; color: var(--muted); font-size: .85rem; line-height: 1.45; margin-top: 4px; }
.ajuda { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; margin-top: 30px; }
.resultados__antigos { scroll-margin-top: 120px; }
.ajuda__item { background: var(--bg-soft); border-radius: var(--radius); padding: 22px; display: flex; gap: 14px; }
.ajuda__item > i { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--cyan-dark); color: #fff; display: grid; place-items: center; }
.ajuda__item h3 { font-size: 1.02rem; margin: 2px 0 4px; }
.ajuda__item p { margin: 0; font-size: .92rem; }

/* ---------- Cabeçalhos de páginas internas ---------- */
.page-hero { position: relative; color: #fff; background: radial-gradient(circle at 90% -20%, rgba(20, 169, 223, .55), transparent 55%), linear-gradient(120deg, var(--navy-2), #26324a); overflow: hidden; }
.page-hero::after { content: ""; position: absolute; right: -80px; bottom: -160px; width: 360px; height: 360px; border-radius: 50%; border: 36px solid rgba(20, 169, 223, .18); }
.page-hero .wrap { position: relative; z-index: 1; padding: clamp(40px, 6vw, 70px) 0 clamp(36px, 5vw, 60px); }
.page-hero h1 { color: #fff; margin: 0; font-size: clamp(1.8rem, 3.6vw, 2.7rem); }
.page-hero__lead { color: #d5dbe6; font-size: 1.08rem; max-width: 720px; margin: 12px 0 0; }
.breadcrumbs { font-size: .85rem; color: #aeb6c6; margin-bottom: 10px; }
.breadcrumbs a { color: #fff; }
.breadcrumbs i { font-size: .6rem; margin: 0 6px; opacity: .6; }

/* ---------- Seções ---------- */
.section { padding: clamp(56px, 7vw, 90px) 0; }
.section--tight { padding-block: clamp(36px, 5vw, 60px); }
.section--top0 { padding-top: clamp(36px, 5vw, 56px); }
.section--soft { background: var(--bg-soft); }
.section__head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.section__head p { color: var(--muted); font-size: 1.05rem; }
.eyebrow { display: inline-block; font: 600 .75rem var(--font-head); letter-spacing: .18em; text-transform: uppercase; color: var(--cyan-dark); margin-bottom: 10px; }

/* Atalhos (home) e subpáginas */
.atalhos, .subpaginas { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.atalho { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 24px; color: var(--text); transition: transform .25s, box-shadow .25s, border-color .25s; }
.atalho:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: transparent; color: var(--text); }
.atalho > i { width: 54px; height: 54px; border-radius: 16px; background: var(--cyan-soft); color: var(--cyan-dark); display: grid; place-items: center; font-size: 1.4rem; margin-bottom: 16px; transition: .25s; }
.atalho:hover > i { background: var(--cyan-dark); color: #fff; }
.atalho h2, .atalho h3 { font-size: 1.15rem; margin: 0 0 6px; }
.atalho p { font-size: .93rem; color: var(--muted); margin: 0 0 14px; flex: 1; }
.card__more { font: 600 .88rem var(--font-head); color: var(--cyan-dark); }
.card__more i { font-size: .8em; margin-left: 4px; transition: transform .2s; }
.atalho:hover .card__more i { transform: translateX(4px); }

/* Split (texto + imagem) */
.split { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 70px); align-items: center; }
.split__media img { border-radius: 20px; box-shadow: var(--shadow-lg); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.split__media:empty { display: none; }
.split:has(.split__media:empty) { grid-template-columns: 1fr; }
.checklist { list-style: none; padding: 0; margin: 20px 0 28px; display: grid; gap: 10px; }
.checklist li { display: flex; gap: 12px; align-items: flex-start; }
.checklist i { color: var(--cyan-dark); margin-top: 6px; }

/* Notícias */
.posts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 24px; margin-bottom: 30px; }
.post-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.post-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.post-card__img { aspect-ratio: 16 / 10; background: var(--cyan-soft); overflow: hidden; display: block; }
.post-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.post-card:hover .post-card__img img { transform: scale(1.05); }
.post-card__sem { display: grid; place-items: center; height: 100%; font-size: 2.4rem; color: var(--cyan); }
.post-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.post-card time { font-size: .8rem; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.post-card h3 { font-size: 1.1rem; margin: 6px 0 8px; }
.post-card h3 a { color: var(--navy); }
.post-card h3 a:hover { color: var(--cyan-dark); }
.post-card p { font-size: .92rem; color: var(--muted); flex: 1; }
.busca-noticias { display: flex; gap: 10px; max-width: 620px; margin: 0 auto 36px; }
.busca-noticias .btn { flex: none; padding-inline: 1.2em; }
.nav-links { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.nav-links .page-numbers { min-width: 42px; height: 42px; padding: 0 10px; border-radius: 999px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--navy); font-weight: 600; }
.nav-links .page-numbers.current, .nav-links a.page-numbers:hover { background: var(--cyan-dark); border-color: var(--cyan-dark); color: #fff; }
.nav-links .dots { border: 0; }
.post-meta { color: var(--muted); font-size: .9rem; }
.post-meta i { color: var(--cyan-dark); margin-right: 4px; }
.post-share { display: flex; align-items: center; gap: 10px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line); font-weight: 600; color: var(--navy); }
.post-share a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--cyan-soft); color: var(--cyan-dark); }
.post-share a:hover { background: var(--cyan-dark); color: #fff; }
.post-nav { max-width: 860px; margin: 40px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.post-nav a { display: block; height: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; color: var(--navy); font-weight: 600; line-height: 1.4; }
.post-nav a:hover { border-color: var(--cyan); }
.post-nav small { display: block; color: var(--muted); font-weight: 400; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.post-nav div:last-child { text-align: right; }

/* Logos dos convênios */
.logos { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 14px; }
.logos li { background: #fff; border: 1px solid var(--line); border-radius: 12px; height: 96px; display: grid; place-items: center; padding: 12px 16px; }
.logos img { max-height: 64px; width: auto; object-fit: contain; filter: grayscale(.2); }

/* Visite (home) */
.visite { display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; align-items: center; }
.visite .map { border-radius: 20px; overflow: hidden; box-shadow: var(--shadow); }
.visite__lista { list-style: none; padding: 0; margin: 10px 0 26px; display: grid; gap: 16px; }
.visite__lista li { display: flex; gap: 14px; align-items: flex-start; }
.visite__lista i { flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--cyan-soft); color: var(--cyan-dark); display: grid; place-items: center; }
.visite__lista strong { display: block; color: var(--navy); font-family: var(--font-head); font-weight: 600; font-size: .95rem; }

/* CTA */
.cta { background: linear-gradient(120deg, var(--navy), var(--cyan-dark)); color: #fff; border-radius: 20px; padding: clamp(28px, 5vw, 46px); display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; position: relative; overflow: hidden; }
.cta::after { content: ""; position: absolute; width: 340px; height: 340px; border-radius: 50%; border: 34px solid rgba(255, 255, 255, .07); right: -90px; top: -150px; }
.cta h2 { color: #fff; margin: 0 0 6px; font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.cta p { margin: 0; color: #d9e8f2; }
.cta__actions { display: flex; gap: 12px; flex-wrap: wrap; position: relative; z-index: 1; }

/* ---------- Conteúdo ---------- */
.content-area { padding: clamp(40px, 6vw, 70px) 0; }
.entry { max-width: 860px; margin-inline: auto; }
.entry--wide { max-width: var(--wrap); }
.entry img { border-radius: 12px; }
.entry h2 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); margin-top: 1.4em; }
.entry h3 { margin-top: 1.4em; }
.entry ul, .entry ol { padding-left: 1.3em; }
.entry li { margin-bottom: .35em; }
.entry .aligncenter, .entry img.aligncenter { margin-inline: auto; }
.entry figure { margin: 24px 0; }
.entry .wp-block-gallery { gap: 10px; }
.entry .wp-block-gallery img { border-radius: 10px; }
.entry--post img { margin: 20px auto; box-shadow: var(--shadow); }
.entry > :first-child { margin-top: 0; }
.destaque { background: var(--cyan-soft); border-left: 4px solid var(--cyan); border-radius: 0 12px 12px 0; padding: 18px 22px; margin: 0 0 24px; }
.destaque p:last-child { margin: 0; }

/* Exames A–Z */
.exames-busca { position: sticky; top: 96px; z-index: 5; background: #fff; padding: 12px 0 10px; }
.exames-busca input { font-size: 1.05rem; padding: .9em 1.2em .9em 2.8em; border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='18' height='18'%3E%3Cpath fill='%236f7080' d='M505 442.7 405.3 343c28.4-34.9 45.7-79.4 45.7-128C451 96 355 0 235.5 0S20 96 20 215.5 116 431 235.5 431c48.6 0 93.1-17.3 128-45.7l99.7 99.7c11.7 11.7 30.7 11.7 42.4 0s11.7-30.7 0-42.3zM235.5 371c-86 0-155.5-69.6-155.5-155.5S149.5 60 235.5 60 391 129.6 391 215.5 321.4 371 235.5 371z'/%3E%3C/svg%3E") no-repeat 1.1em center; }
.letras { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.letras a { display: grid; place-items: center; min-width: 34px; height: 34px; border-radius: 8px; background: var(--bg-soft); color: var(--navy); font: 600 .9rem var(--font-head); }
.letras a:hover { background: var(--cyan-dark); color: #fff; }
.exames-grupo { scroll-margin-top: 220px; }
.exames-grupo h2 { font-size: 1.5rem; color: var(--cyan-dark); border-bottom: 2px solid var(--cyan-soft); padding-bottom: 6px; margin: 30px 0 12px; }
.exames-lista { list-style: none; padding: 0 !important; margin: 0; columns: 3 260px; column-gap: 30px; }
.exames-lista li { break-inside: avoid; padding: 6px 0; border-bottom: 1px dashed var(--line); font-size: .95rem; margin: 0 !important; }
.exames-vazio { text-align: center; color: var(--muted); padding: 30px 0; }
.exames-grupo[hidden], .exames-lista li[hidden] { display: none !important; }

/* Orientações (acordeão) */
.faq { display: grid; gap: 10px; }
.faq details { border: 1px solid var(--line); border-radius: 12px; background: #fff; transition: box-shadow .2s; }
.faq details[open] { box-shadow: var(--shadow); border-color: var(--cyan); }
.faq summary { cursor: pointer; list-style: none; padding: 16px 52px 16px 20px; font: 600 1rem var(--font-head); color: var(--navy); position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "\f067"; font: 900 .8rem "Font Awesome 6 Free"; position: absolute; right: 20px; top: 50%; translate: 0 -50%; width: 26px; height: 26px; border-radius: 50%; background: var(--cyan-soft); color: var(--cyan-dark); display: grid; place-items: center; }
.faq details[open] summary::after { content: "\f068"; }
.faq .faq__resp { padding: 0 20px 16px; }
.faq .faq__resp p:last-child { margin-bottom: 0; }

/* Convênios (lista) */
.convenios-lista { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; margin: 0 0 30px; }
.convenios-lista li { background: var(--bg-soft); border-radius: 10px; padding: 12px 16px; margin: 0 !important; display: flex; gap: 10px; align-items: center; font-weight: 600; color: var(--navy); }
.convenios-lista li::before { content: "\f00c"; font: 900 .8rem "Font Awesome 6 Free"; color: var(--green); }
/* Convênios: cartões com logo + nome e busca (página Convênios) */
.convenios-busca { margin-bottom: 18px; }
.convenios-cards { list-style: none; padding: 0 !important; margin: 0 0 30px; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.convenios-cards li { margin: 0 !important; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.convenios-cards li[hidden] { display: none; }
.convenios-cards__logo { height: 72px; width: 100%; display: grid; place-items: center; }
.convenios-cards__logo img { max-height: 64px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.convenios-cards__logo.is-vazio { background: var(--bg-soft); border-radius: 8px; color: var(--cyan-dark); font-size: 1.8rem; }
.convenios-cards__nome { font-weight: 600; color: var(--navy); line-height: 1.3; }
.convenios-vazio { text-align: center; color: var(--muted); padding: 20px 0; }
@media (max-width: 600px) { .convenios-cards { grid-template-columns: repeat(2, 1fr); gap: 10px; } .convenios-cards li { padding: 10px; } .convenios-cards__nome { font-size: .9rem; } }

/* Formulários */
input[type=text], input[type=email], input[type=tel], input[type=search], input[type=url], textarea, select { width: 100%; padding: .8em 1em; border: 1px solid #cfd6de; border-radius: 10px; font: inherit; font-size: .95rem; background: #fff; transition: border-color .2s, box-shadow .2s; }
input:focus, textarea:focus, select:focus { outline: 0; border-color: var(--cyan); box-shadow: 0 0 0 4px rgba(20, 169, 223, .15); }
input[type=submit], .wpcf7-submit { background: var(--cyan-dark); color: #fff; border: 0; padding: .95em 2em; border-radius: 999px; font: 600 .95rem var(--font-head); cursor: pointer; }
input[type=submit]:hover, .wpcf7-submit:hover { background: var(--navy); }
.wpcf7 label { display: block; font: 600 .9rem var(--font-body); color: var(--navy); margin-bottom: 16px; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7 label input, .wpcf7 label textarea, .wpcf7 label select { margin-top: 6px; }
.wpcf7-acceptance { font-size: .85rem; display: block; margin-bottom: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.form-row > *, .contact-grid > *, .footer-grid > * { min-width: 0; }

.contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 32px; align-items: start; }
.contact-info { background: var(--navy); color: #c9cad6; border-radius: 20px; padding: 34px; }
.contact-info h3 { color: #fff; font-size: 1.4rem; }
.contact-info ul { list-style: none; padding: 0 !important; margin: 0 0 24px; display: grid; gap: 18px; }
.contact-info li { display: flex; gap: 16px; align-items: flex-start; margin: 0 !important; overflow-wrap: anywhere; }
.contact-info li i { width: 42px; height: 42px; flex: none; border-radius: 50%; background: var(--cyan-dark); color: #fff; display: grid; place-items: center; }
.contact-info a { color: #fff; }
.contact-info small { display: block; color: #9a9cad; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.contact-form { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--cyan); border-radius: 20px; padding: 34px; box-shadow: var(--shadow); }
.contact-form h3 { font-size: 1.4rem; }
.map { width: 100%; max-width: 1920px; margin-inline: auto; overflow: hidden; }
.section--map { padding-bottom: clamp(56px, 7vw, 90px); }
.map iframe { display: block; width: 100%; height: 400px; border: 0; }
.page .section--map:not(.section) { padding-bottom: 0; } /* só o mapa de ponta a ponta do Contato; a seção "Onde estamos" da home mantém o espaço */

/* ---------- Rodapé ---------- */
.site-footer { background: var(--navy-2); color: #a4a6b8; padding: 64px 0 0; font-size: .93rem; }
.site-footer h4 { color: #fff; font-size: 1rem; margin-bottom: 16px; }
.site-footer a { color: #d6d7e2; }
.site-footer a:hover { color: var(--cyan); }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.4fr; gap: 36px; }
.footer-grid ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.footer-contact li { display: flex; gap: 10px; }
.footer-contact i { color: var(--cyan); width: 18px; margin-top: 5px; flex: none; }
.footer-logo img { height: 58px; width: auto; margin-bottom: 16px; }
.footer-selo img { height: 54px; width: auto; background: #fff; border-radius: 8px; padding: 6px 10px; }
.footer-filiais { margin: 36px 0 0; padding: 14px 18px; border-radius: 12px; background: rgba(255, 255, 255, .05); color: #c9cad6; }
.footer-filiais i { color: var(--cyan); margin-right: 6px; }
.social { display: flex; gap: 10px; margin-top: 18px; }
.social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #33334a; color: #fff; }
.social a:hover { background: var(--cyan-dark); color: #fff; }
.footer-bottom { border-top: 1px solid #33334a; margin-top: 30px; padding: 22px 0; font-size: .82rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.footer-legal { display: flex; gap: 16px; flex-wrap: wrap; }

/* WhatsApp flutuante */
.whats-float { position: fixed; right: 20px; bottom: 20px; z-index: 60; height: 58px; min-width: 58px; border-radius: 999px; background: #25d366; color: #fff; display: flex; align-items: center; gap: 10px; padding: 0 18px 0 16px; font: 600 .95rem var(--font-head); box-shadow: 0 10px 30px rgba(37, 211, 102, .45); animation: al-pulse 2.4s infinite; }
.whats-float i { font-size: 1.8rem; }
.whats-float:hover { color: #fff; transform: scale(1.04); }
@keyframes al-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); } 50% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); } }

/* Aviso (pop-up) da home */
.aviso { border: 0; padding: 0; background: transparent; max-width: min(92vw, 520px); max-height: 90vh; overflow: visible; }
.aviso::backdrop { background: rgba(20, 22, 35, .7); }
.aviso img { max-height: 86vh; width: auto; border-radius: 14px; box-shadow: var(--shadow-lg); }
.aviso__fechar { position: absolute; top: -14px; right: -14px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: #fff; color: var(--navy); font-size: 1.5rem; line-height: 1; cursor: pointer; box-shadow: var(--shadow); z-index: 1; }

/* Animação de entrada */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; } .whats-float { animation: none; } }

/* ---------- Banner de cookies (LGPD) ---------- */
.cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 100; display: flex; justify-content: center; pointer-events: none; }
.cookies[hidden], .cookies [hidden] { display: none !important; } /* o display: grid/flex das classes não pode vencer o atributo hidden */
.cookies__caixa { pointer-events: auto; max-width: 760px; width: 100%; background: #fff; color: var(--text); border-top: 4px solid var(--cyan); border-radius: 14px; box-shadow: 0 20px 60px rgba(0, 0, 0, .25); padding: 22px 24px; font-size: .9rem; }
.cookies__titulo { font: 600 1.1rem var(--font-head); color: var(--navy); margin: 0 0 6px; }
.cookies__caixa p { margin: 0 0 12px; }
.cookies__opcoes { display: grid; gap: 10px; margin: 6px 0 16px; padding: 14px; background: var(--bg-soft); border-radius: 8px; }
.cookies__opcoes label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.cookies__opcoes input { margin-top: 4px; accent-color: var(--cyan-dark); width: 16px; height: 16px; flex: none; }
.cookies__opcoes strong { display: block; color: var(--navy); }
.cookies__botoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cookies__botoes .btn { padding: .7em 1.4em; }
.btn--link { background: none; border: 0; color: var(--cyan-dark); text-decoration: underline; text-underline-offset: 3px; padding-inline: .4em !important; box-shadow: none; }
.btn--link:hover { transform: none; color: var(--navy); }

/* ---------- Responsivo ---------- */
@media (max-width: 1180px) {
	.nav a { padding: .8em .55em; font-size: .88rem; }
	.nav > ul > li > a::before { left: .55em; right: .55em; }
	.hide-sm { display: none; }
}
@media (max-width: 1024px) {
	.footer-grid { grid-template-columns: 1fr 1fr; }
	.topbar__email { display: none !important; }
	.resultados__principal { grid-template-columns: auto 1fr; }
	.resultados__botoes { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
	.resultados__botoes .btn { flex: 1 1 220px; }
}
@media (max-width: 960px) {
	.nav-toggle { display: block; }
	.site-header .wrap { min-height: 70px; }
	.site-logo img { height: 44px; }
	.nav { position: fixed; inset: 71px 0 0 0; background: #fff; padding: 12px 20px 24px; transform: translateX(100%); transition: transform .3s, visibility .3s; overflow-y: auto; visibility: hidden; display: flex; flex-direction: column; }
	.nav.is-open { visibility: visible; transform: none; }
	.nav ul { flex-direction: column; align-items: stretch; gap: 0; }
	.nav > ul > li { border-bottom: 1px solid var(--line); }
	.nav a { font-size: 1.05rem; padding: 1em .2em; }
	.nav > ul > li > a::before { display: none; }
	.nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 10px 12px; min-width: 0; }
	.nav .sub-menu::before { display: none; }
	.nav a.nav__whats { display: flex; justify-content: center; gap: 10px; margin-top: 22px; padding: 1em; border-radius: 12px; background: #25d366; color: #fff; font-weight: 600; }
	body:has(.nav.is-open) .whats-float { display: none; }
	.split, .contact-grid, .visite { grid-template-columns: 1fr; }
	.topbar__msg { display: none; }
	.topbar .wrap { justify-content: center; }
	.exames-busca { top: 70px; }
}
@media (max-width: 600px) {
	body { font-size: 16px; }
	.topbar { display: none; }
	.footer-grid, .form-row { grid-template-columns: 1fr; }
	.contact-info, .contact-form { padding: 24px; }
	.home-resultados { margin-top: 0; }
	.home-resultados .wrap { width: 100%; }
	.resultados { border-radius: 0; }
	.resultados__principal { grid-template-columns: 1fr; text-align: center; gap: 16px; }
	.resultados__icone { margin-inline: auto; width: 62px; height: 62px; font-size: 1.7rem; }
	.resultados__botoes { flex-direction: column; min-width: 0; }
	.resultados__botoes .btn { flex: none; }
	.resultados--completo { border-radius: 16px; }
	.header-cta .btn--result { padding: .6em 1em; font-size: .85rem; }
	.header-cta .btn--result i { display: none; }
	.map iframe { height: 300px; }
	.post-nav { grid-template-columns: 1fr; }
	.post-nav div:last-child { text-align: left; }
	.whats-float span { display: none; }
	.whats-float { padding: 0; justify-content: center; width: 58px; }
	.cta, .split > div:first-child { text-align: center; }
	.cta, .btns, .cta__actions { justify-content: center; }
	.checklist { text-align: left; }
	.footer-grid { text-align: center; gap: 30px; }
	.footer-logo img, .footer-selo img { margin-inline: auto; }
	.footer-contact li { justify-content: center; }
	.social { justify-content: center; }
	.footer-bottom { flex-direction: column; align-items: center; text-align: center; }
	.footer-legal { justify-content: center; }
	.cookies { left: 8px; right: 8px; bottom: 8px; }
	.cookies__caixa { padding: 18px; max-height: 80vh; overflow-y: auto; }
	.cookies__botoes .btn { flex: 1 1 auto; justify-content: center; }
	.logos { grid-template-columns: repeat(2, 1fr); }
}

/* Galerias (ex.: Mascote) */
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 20px 0; }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery .gallery-item { margin: 0; width: auto !important; }
.gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 0 !important; border-radius: 10px; }
.gallery br { display: none; }
@media (max-width: 600px) { .gallery { grid-template-columns: repeat(2, 1fr); } }
.form-aviso { font-size: .85rem; color: var(--muted); margin: -6px 0 12px; }
.faq .wp-block-details { margin: 0; padding: 0; }
.faq .wp-block-details > :not(summary) { margin: 0; }
@media (max-width: 600px) {
	.atalhos { grid-template-columns: 1fr 1fr; gap: 12px; }
	.atalhos .atalho { padding: 18px 14px; }
	.atalhos .atalho p, .atalhos .card__more { display: none; }
	.atalhos .atalho > i { width: 44px; height: 44px; font-size: 1.15rem; margin-bottom: 10px; }
	.atalhos .atalho h2 { font-size: .98rem; margin: 0; }
}

/* =====================================================================
   Layout v2 (parts/topo-v2.php + parts/slider-v2.php) — ativo com .layout-v2 no <body>
   ===================================================================== */
.layout-v2 .site-header { border-bottom: 0; box-shadow: 0 1px 0 var(--line); }
.layout-v2 .site-header::before { content: ""; display: block; height: 4px; background: linear-gradient(90deg, var(--navy), var(--cyan) 55%, #19c3a0); }
.layout-v2 .site-header.is-scrolled { box-shadow: 0 10px 30px rgba(20, 40, 70, .1); }
.layout-v2 .site-header .wrap { min-height: 86px; gap: 24px; transition: min-height .25s; }
.layout-v2 .site-logo img { height: 58px; transition: height .25s; }
.layout-v2 .site-header.is-scrolled .wrap { min-height: 70px; }
.layout-v2 .site-header.is-scrolled .site-logo img { height: 46px; }
.layout-v2 .nav { flex: 1; display: flex; justify-content: center; }
.layout-v2 .nav ul { gap: 4px; }
.layout-v2 .nav a { font: 500 .95rem/1.2 var(--font-head); padding: .7em 1em; border-radius: 999px; color: var(--navy); }
.layout-v2 .nav > ul > li > a::before { display: none; }
.layout-v2 .nav > ul > li > a:hover, .layout-v2 .nav > ul > li:focus-within > a,
.layout-v2 .nav > ul > .current-menu-item > a, .layout-v2 .nav > ul > .current-menu-ancestor > a, .layout-v2 .nav > ul > .current_page_parent > a { background: var(--cyan-soft); color: var(--cyan-dark); }
.layout-v2 .nav .sub-menu { top: calc(100% + 10px); }
.layout-v2 .nav .sub-menu::after { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; } /* ponte do hover até o submenu */
.nav2__extra { display: none; }
.hdr2__tel, .hdr2__res { display: inline-flex; align-items: center; gap: 10px; line-height: 1.15; white-space: nowrap; }
.hdr2__tel { color: var(--navy); }
.hdr2__tel:hover { color: var(--cyan-dark); }
.hdr2__tel i { width: 40px; height: 40px; border-radius: 50%; background: var(--cyan-soft); color: var(--cyan-dark); display: grid; place-items: center; }
.hdr2__tel small, .hdr2__res small { display: block; font-size: .7rem; color: var(--muted); letter-spacing: .02em; }
.hdr2__tel strong { font: 600 .95rem var(--font-head); }
.hdr2__res { padding: 6px 20px 6px 6px; border-radius: 999px; background: linear-gradient(120deg, var(--green), #00a383); color: #fff; box-shadow: 0 10px 24px rgba(0, 135, 106, .3); transition: transform .2s, box-shadow .2s; }
.hdr2__res:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0, 135, 106, .38); }
.hdr2__res i { width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .2); display: grid; place-items: center; font-size: 1.1rem; }
.hdr2__res small { color: rgba(255, 255, 255, .85); }
.hdr2__res strong { font: 600 1rem var(--font-head); }

/* Slides v2: palco + abas com progresso */
.hero2 { background: radial-gradient(circle at 88% 0%, rgba(20, 169, 223, .16), transparent 42%), linear-gradient(180deg, var(--bg-soft), #fff 85%); padding: 28px 0 4px; }
.hero2__palco { display: grid; grid-template: 100% / 100%; aspect-ratio: 1160 / 370; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: var(--shadow-lg); }
.hero2__slide { grid-area: 1 / 1; min-height: 0; opacity: 0; visibility: hidden; transform: scale(1.03); transition: opacity .7s ease, visibility .7s, transform 1.4s ease; }
.hero2__slide.is-active { opacity: 1; visibility: visible; transform: none; }
.hero2__slide img { width: 100%; height: 100%; object-fit: cover; }
.hero2__abas { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 16px; }
.hero2__aba { display: grid; grid-template-columns: auto 1fr; gap: 0 10px; align-items: center; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; cursor: pointer; font: inherit; color: inherit; transition: border-color .2s, box-shadow .2s, transform .2s; }
.hero2__aba:hover { border-color: #b9dcee; transform: translateY(-2px); }
.hero2__aba.is-active { border-color: var(--cyan); box-shadow: var(--shadow); }
.hero2__num { font: 700 .78rem var(--font-head); color: var(--muted); }
.hero2__aba.is-active .hero2__num { color: var(--cyan-dark); }
.hero2__tit { font: 600 .86rem/1.25 var(--font-head); color: var(--navy); }
.hero2__barra { grid-column: 1 / -1; height: 3px; margin-top: 10px; border-radius: 3px; background: var(--line); overflow: hidden; }
.hero2__barra i { display: block; height: 100%; width: 0; border-radius: 3px; background: linear-gradient(90deg, var(--cyan), var(--cyan-dark)); }
.hero2__aba.is-active .hero2__barra i { animation: al-progresso 6s linear forwards; }
.hero2.is-paused .hero2__aba.is-active .hero2__barra i { animation-play-state: paused; }
@keyframes al-progresso { to { width: 100%; } }
@media (prefers-reduced-motion: reduce) {
	.hero2__slide { transition: none; transform: none; }
	.hero2__aba.is-active .hero2__barra i { animation: none; width: 100%; }
}
.layout-v2 .home-resultados { margin-top: 28px; }

@media (max-width: 1280px) { .layout-v2 .hdr2__tel { display: none; } }
@media (max-width: 1100px) {
	.layout-v2 .nav a { padding: .7em .65em; font-size: .88rem; }
	.hdr2__res small { display: none; }
}
@media (max-width: 960px) {
	.layout-v2 .site-header .wrap, .layout-v2 .site-header.is-scrolled .wrap { min-height: 68px; }
	.layout-v2 .site-logo img, .layout-v2 .site-header.is-scrolled .site-logo img { height: 42px; }
	.layout-v2 .nav { top: 72px; justify-content: flex-start; }
	.layout-v2 .nav > ul > li > a { border-radius: 0; background: none !important; padding: 1em .2em; }
	.layout-v2 .nav a.nav__whats { display: none; }
	.layout-v2 .nav2__extra { display: grid; gap: 10px; margin-top: 22px; }
	.nav2__extra .btn { padding: 1em; }
	.nav2__extra p { margin: 8px 0 0; font-size: .9rem; color: var(--muted); text-align: center; line-height: 1.8; }
	.nav2__extra p i { color: var(--cyan-dark); }
	.hdr2__res { padding: 4px 14px 4px 4px; }
	.hdr2__res i { width: 34px; height: 34px; font-size: .95rem; }
	.hdr2__res strong { font-size: .9rem; }
}
@media (max-width: 600px) {
	.hero2 { padding: 12px 0 0; }
	.hero2__palco { border-radius: 16px; }
	.hero2__abas { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 8px; margin: 12px -16px 0; padding: 0 16px 6px; scrollbar-width: none; }
	.hero2__abas::-webkit-scrollbar { display: none; }
	.hero2__aba { flex: 0 0 auto; width: 150px; scroll-snap-align: start; padding: 10px 12px; }
	.layout-v2 .home-resultados { margin-top: 18px; }
}
/* v2: o logo não encolhe; itens do menu em uma linha; telefone só como ícone no desktop */
.layout-v2 .site-logo { flex: none; }
.layout-v2 .nav a { white-space: nowrap; padding: .7em .8em; }
.layout-v2 .hdr2__tel span { display: none; }
.layout-v2 .hdr2__tel i { width: 42px; height: 42px; transition: background .2s, color .2s; }
.layout-v2 .hdr2__tel:hover i { background: var(--cyan-dark); color: #fff; }
@media (max-width: 1280px) { .layout-v2 .hdr2__tel { display: inline-flex; } }
@media (max-width: 960px) { .layout-v2 .hdr2__tel { display: none; } }
.layout-v2 .site-header .wrap { gap: 16px; }
.layout-v2 .nav a { padding: .7em .7em; }
.layout-v2 .header-cta { gap: 8px; }
/* v2 entre 961 e 1240px (tablets, notebooks pequenos): o menu completo não cabe, usa o menu lateral do celular */
@media (min-width: 961px) and (max-width: 1240px) {
	.layout-v2 .nav-toggle { display: block; }
	.layout-v2 .nav { position: fixed; top: 94px; right: 0; bottom: 0; left: auto; width: min(380px, 100%); background: #fff; padding: 12px 24px 24px; box-shadow: -20px 0 40px rgba(20, 40, 70, .12); transform: translateX(100%); transition: transform .3s, visibility .3s; overflow-y: auto; visibility: hidden; display: flex; flex-direction: column; justify-content: flex-start; }
	.layout-v2 .site-header.is-scrolled .nav { top: 78px; }
	.layout-v2 .nav.is-open { visibility: visible; transform: none; }
	.layout-v2 .nav ul { flex-direction: column; align-items: stretch; gap: 0; }
	.layout-v2 .nav > ul > li { border-bottom: 1px solid var(--line); }
	.layout-v2 .nav > ul > li > a { border-radius: 0; background: none !important; padding: 1em .2em; font-size: 1rem; }
	.layout-v2 .nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 10px 12px; min-width: 0; }
	.layout-v2 .nav .sub-menu::before { display: none; }
	.layout-v2 .nav2__extra { display: grid; gap: 10px; margin-top: 22px; }
	.layout-v2 .nav2__extra p { margin: 8px 0 0; font-size: .9rem; color: var(--muted); text-align: center; line-height: 1.8; }
	.layout-v2 .site-logo { margin-right: auto; }
}
/* Slides v2 em 100% da largura da página (30/09/2026, pedido do cliente); abas na largura do conteúdo */
.hero2 { padding: 0 0 4px; background: linear-gradient(180deg, var(--bg-soft), #fff 85%); }
.hero2__palco { width: 100%; border-radius: 0; box-shadow: none; }
.hero2__abas { margin-top: 16px; }
.hero2__aba { box-shadow: 0 8px 22px rgba(20, 40, 70, .1); }
@media (max-width: 600px) {
	.hero2 { padding: 0; }
	.hero2__palco { border-radius: 0; }
	.hero2__abas { margin-top: 10px; }
	.hero2__aba { box-shadow: none; }
}

/* =====================================================================
   Topo v2 (ajustes sobre a v1) — 30/09/2026: o cliente preferiu a estrutura da v1.
   Anula o visual "barra única/pílula" da primeira v2 e refina a v1.
   ===================================================================== */
.layout-v2 .site-header::before { display: none; }
.layout-v2 .site-header { box-shadow: 0 1px 0 var(--line); }
.layout-v2 .topbar { background: linear-gradient(90deg, var(--navy-2), var(--navy) 60%, #23405e); }
.layout-v2 .topbar__whats { background: rgba(37, 211, 102, .16); padding: 3px 10px; border-radius: 999px; }
.layout-v2 .topbar__whats i { color: #25d366 !important; }
.layout-v2 .site-header .wrap { min-height: 90px; gap: 20px; }
.layout-v2 .site-logo img { height: 60px; }
.layout-v2 .site-header.is-scrolled .wrap { min-height: 72px; }
.layout-v2 .site-header.is-scrolled .site-logo img { height: 48px; }
.layout-v2 .nav a { font: 500 .96rem/1.2 var(--font-head); padding: .8em .75em; border-radius: 0; }
.layout-v2 .nav > ul > li > a:hover, .layout-v2 .nav > ul > li:focus-within > a,
.layout-v2 .nav > ul > .current-menu-item > a, .layout-v2 .nav > ul > .current-menu-ancestor > a, .layout-v2 .nav > ul > .current_page_parent > a { background: none; color: var(--cyan-dark); }
.layout-v2 .nav > ul > li > a::before { display: block; left: .75em; right: .75em; bottom: .2em; height: 3px; }
.layout-v2 .hdr2__tel { display: none !important; }
@media (max-width: 1100px) { .layout-v2 .topbar__email { display: none; } }

/* Menu lateral (até 1240px): preso ao topo fixo (e não à janela), para funcionar com a faixa escura acima */
@media (max-width: 1240px) {
	.layout-v2 .nav-toggle { display: block; }
	.layout-v2 .nav { position: absolute; top: 100%; right: 0; bottom: auto; left: auto; width: min(380px, 100%); height: calc(100dvh - 72px); background: #fff; padding: 12px 24px 24px; box-shadow: -20px 20px 40px rgba(20, 40, 70, .12); transform: translateX(100%); transition: transform .3s, visibility .3s; overflow-y: auto; visibility: hidden; display: flex; flex-direction: column; justify-content: flex-start; }
	.layout-v2 .site-header.is-scrolled .nav { top: 100%; }
	.layout-v2 .nav.is-open { visibility: visible; transform: none; }
	.layout-v2 .nav ul { flex-direction: column; align-items: stretch; gap: 0; }
	.layout-v2 .nav > ul > li { border-bottom: 1px solid var(--line); }
	.layout-v2 .nav > ul > li > a { padding: 1em .2em; font-size: 1rem; }
	.layout-v2 .nav > ul > li > a::before { display: none; }
	.layout-v2 .nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 10px 12px; min-width: 0; }
	.layout-v2 .nav .sub-menu::before { display: none; }
	.layout-v2 .nav2__extra { display: grid; gap: 10px; margin-top: 22px; }
	.layout-v2 .nav2__extra .btn { padding: 1em; border-radius: 999px; }
	.layout-v2 .nav2__extra p { margin: 8px 0 0; font-size: .9rem; color: var(--muted); text-align: center; line-height: 1.8; }
	.layout-v2 .site-logo { margin-right: auto; }
}
@media (max-width: 960px) {
	.layout-v2 .topbar__whats { background: none; padding: 0; }
	.layout-v2 .site-header .wrap, .layout-v2 .site-header.is-scrolled .wrap { min-height: 68px; }
	.layout-v2 .site-logo img, .layout-v2 .site-header.is-scrolled .site-logo img { height: 44px; }
	.layout-v2 .nav { top: 100%; width: 100%; box-shadow: none; }
}
@media (max-width: 1240px) { body.layout-v2:has(.nav.is-open) .whats-float { display: none; } }
/* O topo muda de altura ao rolar: não serve de âncora para o ajuste automático de rolagem do navegador */
.site-header { overflow-anchor: none; }
/* Correção do "logo piscando" (30/09/2026): o topo NÃO muda mais de altura ao rolar (mudar a altura fazia o
   navegador reajustar a rolagem e o estado alternava sem parar perto do topo). Só o logo diminui, via transform. */
.layout-v2 .site-header.is-scrolled .wrap { min-height: 90px; }
.layout-v2 .site-header .wrap { transition: none; }
.layout-v2 .site-logo img, .layout-v2 .site-header.is-scrolled .site-logo img { height: 60px; transform-origin: left center; transition: transform .25s ease; }
.layout-v2 .site-header.is-scrolled .site-logo img { transform: scale(.85); }
@media (max-width: 960px) {
	.layout-v2 .site-header .wrap, .layout-v2 .site-header.is-scrolled .wrap { min-height: 68px; }
	.layout-v2 .site-logo img, .layout-v2 .site-header.is-scrolled .site-logo img { height: 44px; transform: none; }
}

/* Crédito "Desenvolvido por L9WEB" (padrão em todos os sites): logo branco com fundo transparente, para rodapé escuro */
.credito { display: inline-flex; align-items: center; gap: 8px; }
.credito img { height: 28px; width: auto; opacity: .85; transition: opacity .2s; }
.credito:hover img { opacity: 1; }
