/*
Theme Name: Grupo Reagir
Theme URI: https://gruporeagir.com.br/
Author: Grupo Reagir
Description: Tema institucional, responsivo e orientado a conversão para o Grupo Reagir.
Version: 3.2.9
Text Domain: grupo-reagir
*/

/* =========================================================
   1. Variáveis, base e acessibilidade
   ========================================================= */
:root {
  --primary: #0B2B5C;
  --primary-dark: #082247;
  --secondary: #E89F2A;
  --text: #263238;
  --muted: #65717c;
  --bg: #f7f9fb;
  --white: #fff;
  --line: #e4e9ee;
  --wa: #25D366;
  --radius: 16px;
  --shadow: 0 10px 30px rgba(8,34,71,.08);
  --container: 1180px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  background: #fff;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: var(--primary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button,
input,
select,
textarea {
  font: inherit;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
}

.skip-link:focus {
  left: 12px;
  top: 12px;
  z-index: 9999;
  background: #fff;
  padding: 10px;
  border: 2px solid var(--primary);
}

.container {
  width: min(var(--container), calc(100% - 32px));
  margin-inline: auto;
}

/* =========================================================
   2. Cabeçalho e navegação
   ========================================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 4px 18px rgba(0,0,0,.04);
}

.header-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 76px;
}

.brand {
  display: flex;
  align-items: center;
  min-width: 180px;
}

.custom-logo-link {
  display: flex;
  align-items: center;
}

.custom-logo {
  width: auto;
  max-height: 52px;
}

.brand-text {
  color: var(--primary);
  font-size: 1.1rem;
  font-weight: 800;
}

.nav-toggle {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  margin-left: auto;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}

.nav-toggle span:not(.screen-reader-text) {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--primary);
}

.main-nav {
  display: none;
  flex: 1;
}

.main-nav ul,
.mobile-nav ul,
.footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-nav > div > ul,
.main-nav > ul {
  display: flex;
  align-items: center;
  gap: 2px;
}

.main-nav li {
  position: relative;
}

.main-nav a {
  display: flex;
  align-items: center;
  padding: 12px 9px;
  border-radius: 8px;
  color: var(--primary);
  font-weight: 650;
}

.main-nav a:hover,
.main-nav a:focus {
  background: var(--bg);
  text-decoration: none;
}

.main-nav .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  min-width: 250px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--shadow);
}

.main-nav li:hover > .sub-menu,
.main-nav li:focus-within > .sub-menu {
  display: block;
}

.header-cta {
  display: none;
}

.mobile-panel {
  border-top: 1px solid var(--line);
  background: #fff;
}

.mobile-nav ul {
  padding: 8px 0;
}

.mobile-nav li {
  border-bottom: 1px solid #eef1f4;
}

.mobile-nav a {
  display: block;
  padding: 14px 0;
  color: var(--primary);
  font-weight: 650;
}

/* =========================================================
   3. Botões e WhatsApp
   ========================================================= */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px;
  border: 2px solid var(--primary);
  border-radius: 10px;
  background: var(--primary);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.btn:hover {
  background: var(--primary-dark);
  color: #fff;
  text-decoration: none;
}

.btn.whatsapp {
  border-color: var(--wa);
  background: var(--wa);
  color: #073b1a;
}

.btn.small {
  padding: 10px 14px;
  font-size: .92rem;
}

.btn-outline {
  border-color: var(--primary);
  background: #fff;
  color: var(--primary);
}

.btn-outline:hover {
  background: var(--bg);
  color: var(--primary-dark);
}

.gr-wa-icon {
  display: block;
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
}

.floating-wa {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1200;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--wa);
  color: #073b1a;
  box-shadow: 0 10px 25px rgba(0,0,0,.2);
}

.floating-wa .gr-wa-icon {
  width: 30px;
  height: 30px;
}

/* =========================================================
   4. Estrutura geral de páginas, conteúdo e rodapé
   ========================================================= */
.page-header {
  padding: 42px 0 20px;
  background: var(--bg);
}

.page-header h1 {
  margin: 0;
  color: var(--primary);
  font-size: clamp(2rem,5vw,3rem);
}

.breadcrumbs {
  padding: 14px 0;
  color: var(--muted);
  font-size: .9rem;
}

.breadcrumbs a {
  color: var(--primary);
}

.section {
  padding: 64px 0;
}

.content {
  max-width: 860px;
}

.content h2,
.content h3 {
  color: var(--primary);
}

.content h2 {
  margin-top: 38px;
}

.content h3 {
  margin-top: 28px;
}

.content p,
.content li {
  font-size: 1.03rem;
}

.content a:not(.btn),
.page-content-wrap a:not(.btn) {
  color: var(--primary);
  font-weight: 700;
  text-decoration: none;
}

.content a:not(.btn):hover,
.page-content-wrap a:not(.btn):hover {
  color: var(--primary-dark);
}

.entry-meta {
  color: var(--muted);
}

.post-thumbnail {
  margin: 20px 0;
}

.post-thumbnail img {
  border-radius: var(--radius);
}

.grid {
  display: grid;
  gap: 18px;
}

.cards-3 {
  grid-template-columns: 1fr;
}

.card {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.card h2 {
  margin-top: 0;
  color: var(--primary);
}

.media-slot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px dashed #b8c3cf;
  border-radius: var(--radius);
  background: #eef2f6;
}

.media-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.media-placeholder {
  padding: 22px;
  color: #687786;
  font-size: .92rem;
  text-align: center;
}

.media-placeholder strong {
  display: block;
  margin-bottom: 5px;
  color: var(--primary);
}

.media-placeholder small {
  color: #84919d;
}

.site-footer {
  padding: 48px 0 18px;
  background: #071d38;
  color: #dce6f1;
}

.site-footer h2,
.site-footer h3 {
  color: #fff;
}

.footer-grid {
  display: grid;
  gap: 28px;
}

.site-footer a {
  color: #fff;
}

.footer-menu li {
  margin: 8px 0;
}

.footer-bottom {
  margin-top: 30px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.15);
  font-size: .88rem;
}

.footer-note {
  color: #aebed0;
}

.footer-emergency {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.footer-emergency h2,
.footer-emergency h3 {
  margin-top: 0;
  color: #fff;
}

.footer-links {
  margin-top: 18px;
}

.footer-column > p:last-child {
  margin-bottom: 0;
}

.text-center {
  text-align: center;
}

/* =========================================================
   5. Página inicial e componentes institucionais
   ========================================================= */
.home-hero {
  background: linear-gradient(180deg,#f7f9fb 0%,#fff 100%);
}

.home-hero-grid,
.home-split,
.home-feature-grid,
.home-cta-block,
.page-header-grid {
  display: grid;
  align-items: center;
  gap: 34px;
}

.home-hero-grid,
.home-split,
.home-feature-grid,
.page-header-grid {
  grid-template-columns: 1fr;
}

.home-hero h1 {
  margin: 0 0 18px;
  color: var(--primary);
  font-size: clamp(2.2rem,5vw,4rem);
  line-height: 1.08;
}

.eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--secondary);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.lead {
  max-width: 780px;
  color: var(--muted);
  font-size: 1.12rem;
}

.home-actions,
.home-cta-row {
  margin-top: 24px;
}

.home-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.home-actions .btn {
  margin: 0;
}

.section-alt {
  background: var(--bg);
}

.section-heading {
  margin-bottom: 28px;
}

.section-heading h2,
.home-split h2,
.home-cta-block h2 {
  margin: 0 0 12px;
  color: var(--primary);
  font-size: clamp(1.8rem,4vw,2.5rem);
}

.section-heading.center {
  max-width: 850px;
  margin-inline: auto;
  text-align: center;
}

.section-heading.center p {
  color: var(--muted);
}

.home-service-cards {
  grid-template-columns: 1fr;
}

.home-feature-media .media-slot {
  height: 100%;
  min-height: 320px;
}

.check-list,
.approved-check-list {
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

.check-list li,
.approved-check-list li {
  position: relative;
  margin: 11px 0;
  padding-left: 31px;
}

.check-list li::before {
  position: absolute;
  left: 0;
  content: "✓";
  color: #1a8f4b;
  font-weight: 900;
}

.approved-check-list li::before {
  position: absolute;
  top: .05em;
  left: 0;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #1a8f4b;
  color: #fff;
  content: "✓";
  font-size: .78rem;
  font-weight: 900;
}

.steps {
  padding-left: 24px;
}

.steps li {
  padding: 8px 0;
}

.steps strong,
.steps span {
  display: block;
}

.steps span {
  margin-top: 2px;
  color: var(--muted);
}

.home-cta-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 24px;
  border-radius: var(--radius);
  background: var(--primary);
  color: #fff;
}

.home-cta-block h2 {
  color: #fff;
}

.home-cta-block p {
  color: #e4edf6;
}

.home-cta-block .eyebrow,
.final-cta-card .eyebrow {
  color: #ffd48a;
}

.home-cta-action {
  flex: 0 0 auto;
}

.page-header-grid--single {
  grid-template-columns: 1fr !important;
}

.page-header-grid--contact {
  grid-template-columns: 1fr;
}

.page-header-media .media-slot,
.home-hero-media .media-slot {
  max-width: 760px;
  margin-inline: auto;
}

.home-media-4x3 .media-slot,
.home-split--approved .media-slot {
  aspect-ratio: 4 / 3 !important;
}

.home-hero-copy {
  max-width: 760px;
}

.page-content-wrap {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(24px,4vw,48px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.page-content-wrap h1 {
  color: var(--primary);
  font-size: clamp(2rem,5vw,3rem);
  line-height: 1.1;
}

.page-content-wrap h2 {
  scroll-margin-top: 100px;
}

.page-content-servicos,
.page-content-tratamentos,
.page-content-internacao,
.page-content-internacao-voluntaria,
.page-content-internacao-involuntaria,
.page-content-remocao,
.page-content-casa-de-repouso,
.page-content-sobre {
  max-width: 1080px;
}

.page-content-contato {
  max-width: 980px;
}

.page-content-convenios {
  max-width: 1080px;
}

.page-content-tratamento-dependencia-quimica {
  max-width: 1080px;
}

.page-content-wrap a[href*="wa.me"],
.page-content-wrap a[href*="api.whatsapp.com"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 220px;
  min-height: 48px;
  margin: 10px 8px 0 0;
  padding: 13px 20px;
  border: 2px solid var(--wa);
  border-radius: 10px;
  background: var(--wa);
  color: #073b1a !important;
  font-weight: 800;
  text-decoration: none !important;
}

.page-content-wrap a[href*="wa.me"]:hover,
.page-content-wrap a[href*="api.whatsapp.com"]:hover {
  filter: brightness(.94);
}

.page-content-wrap a:not(.btn):not(.whatsapp):not([href*="wa.me"]):not([href*="api.whatsapp.com"]):not([href^="mailto:"]):not([href^="tel:"]) {
  border-radius: 6px;
  color: var(--primary);
  font-weight: 750;
  text-decoration: none !important;
}

.page-content-wrap a:not(.btn):not(.whatsapp):not([href*="wa.me"]):not([href*="api.whatsapp.com"]):not([href^="mailto:"]):not([href^="tel:"]):hover,
.page-content-wrap a:not(.btn):not(.whatsapp):not([href*="wa.me"]):not([href*="api.whatsapp.com"]):not([href^="mailto:"]):not([href^="tel:"]):focus-visible {
  background: #eef3f8;
  color: var(--primary-dark);
}

.page-content-servicos a[href$="/contato/"],
.page-content-servicos a[href$="/como-funciona/"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 10px 10px 0 0;
  padding: 12px 20px;
  border: 2px solid var(--primary);
  border-radius: 10px;
  background: #fff;
  color: var(--primary) !important;
  font-weight: 800;
  text-decoration: none !important;
}

.page-content-servicos a[href$="/contato/"]:hover,
.page-content-servicos a[href$="/como-funciona/"]:hover {
  background: var(--primary);
  color: #fff !important;
}

.page-content-servicos a[href*="wa.me"],
.page-content-servicos a[href*="api.whatsapp.com"] {
  border-color: var(--wa);
  background: var(--wa);
  color: #073b1a !important;
}

/* =========================================================
   6. Cartões, listas, passos e links internos
   ========================================================= */
.card-symbol {
  display: block;
  margin-bottom: 8px;
  color: var(--secondary);
  font-size: 1.5rem;
  font-weight: 900;
}

.service-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.service-card {
  display: block;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.service-card h3 {
  margin: 0 0 8px;
  color: var(--primary);
}

.service-card h3 a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.service-card p {
  margin: 0;
  color: var(--muted);
}

.service-card:hover,
.service-card:focus-within {
  transform: translateY(-2px);
  border-color: #c7d2dd;
  box-shadow: 0 14px 34px rgba(8,34,71,.12);
}

.service-card--all {
  background: var(--bg);
}

.approved-link-list {
  margin: 22px 0;
  padding: 0;
  list-style: none;
}

.approved-link-list li {
  margin: 13px 0;
}

.approved-link-list a {
  display: inline-block;
  padding: 1px 3px;
  border-radius: 6px;
  color: var(--primary);
  font-weight: 800;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease;
}

.approved-link-list a:hover,
.approved-link-list a:focus-visible {
  background: #eef3f8;
  color: var(--primary-dark);
}

.approved-steps {
  list-style: none !important;
  list-style-type: none !important;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.approved-steps > li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.approved-steps li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.approved-steps li > span {
  display: grid;
  flex: 0 0 42px;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-weight: 900;
}

.approved-steps h3 {
  margin: 0 0 5px;
  color: var(--primary);
}

.approved-steps p {
  margin: 0;
  color: var(--muted);
}

.internal-link-box {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin: 28px 0;
}

.internal-link-box a {
  display: block;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--primary);
  box-shadow: var(--shadow);
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.internal-link-box a:hover,
.internal-link-box a:focus-visible {
  transform: translateY(-2px);
  border-color: #c7d2dd;
  color: var(--primary-dark);
  box-shadow: 0 14px 34px rgba(8,34,71,.12);
}

.gr-clickable-card {
  cursor: pointer;
}

.gr-clickable-card:hover,
.gr-clickable-card:focus-within {
  transform: translateY(-3px);
  border-color: #c7d2dd;
  box-shadow: 0 14px 34px rgba(8,34,71,.12);
}

.gr-clickable-card:focus-visible {
  outline: 3px solid rgba(232,159,42,.55);
  outline-offset: 3px;
}

.btn-link-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 116px;
  padding: 22px 24px;
  border: 2px solid var(--primary);
  border-radius: 12px;
  background: #fff;
  color: var(--primary);
  box-shadow: var(--shadow);
  font-weight: 800;
  text-decoration: none !important;
}

.btn-link-card span {
  color: var(--muted);
  font-weight: 500;
}

.btn-link-card:hover,
.btn-link-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--primary-dark);
  background: #f7f9fb;
  color: var(--primary-dark);
  box-shadow: 0 14px 34px rgba(8,34,71,.12);
}

.dependency-buttons {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}

.hub-shortcuts-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--shadow);
}

.hub-shortcuts-inner strong {
  margin-right: 4px;
  color: var(--primary);
}

.hub-shortcuts-inner a,
.filter-chip {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #f0f4f8;
  color: var(--primary);
  font-weight: 750;
  text-decoration: none;
}

.hub-shortcuts-inner a:hover,
.filter-chip:hover {
  background: #e3ebf3;
  color: var(--primary-dark);
}

.filter-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.institution-filters {
  padding-top: 34px;
  padding-bottom: 34px;
}

.institution-thumb {
  display: block;
  overflow: hidden;
  margin: -24px -24px 20px;
}

.institution-thumb img {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.blog-essential-grid .card h3 {
  margin-top: 0;
}

.blog-empty-state {
  max-width: 900px;
  margin-inline: auto;
}

/* =========================================================
   7. Chamadas para ação e blocos editoriais
   ========================================================= */
.final-cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 30px;
  border-radius: var(--radius);
  background: var(--primary);
  color: #fff;
}

.final-cta-card h2 {
  margin: 0 0 8px;
  color: #fff;
}

.final-cta-card p {
  margin: 0 0 8px;
  color: #e4edf6;
}

.cta-secondary-link {
  display: inline-block;
  margin-top: 8px;
  color: #fff;
  font-weight: 700;
  text-decoration: none !important;
}

.cta-secondary-link:hover,
.cta-secondary-link:focus-visible {
  text-decoration: underline !important;
}

.home-cta-block--simple {
  display: flex;
}

.section-lead {
  max-width: 760px;
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 1.06rem;
}

.contact-layout {
  display: grid;
  gap: 24px;
}

.contact-info-card,
.contact-emergency {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.contact-info-card {
  padding: clamp(24px,4vw,42px);
}

.contact-info-card h2,
.contact-emergency h2 {
  margin-top: 0;
  color: var(--primary);
}

.contact-info-card p {
  max-width: 720px;
}

.contact-info-card .btn,
.contact-primary-cta {
  margin-top: 8px;
}

.contact-emergency {
  border-left: 4px solid var(--secondary);
  background: #fff8ed;
}

.contact-hero-media {
  order: -1;
}

.contact-hero-media .media-slot {
  aspect-ratio: 16 / 9;
}

.final-cta-card .btn,
.home-cta-action .btn {
  margin-top: 8px;
}

.section-compact {
  padding: 26px 0;
}

/* =========================================================
   8. Formulários
   ========================================================= */
.grs-contact-form-wrap {
  width: 100%;
  max-width: 900px;
  margin: 40px auto 0;
  padding: 32px;
}

.grs-lead-form input[type="text"],
.grs-lead-form input[type="tel"],
.grs-lead-form input[type="email"],
.grs-lead-form select,
.grs-lead-form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  margin-top: 7px;
  padding: 12px 14px;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  font-size: 16px;
}

.grs-lead-form textarea {
  min-height: 140px;
}

.grs-lead-form button[type="submit"] {
  min-height: 48px;
  padding: 12px 28px;
  border: 0;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.grs-form-success,
.grs-form-error {
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 6px;
}

.grs-privacy-note {
  padding: 12px 14px;
  border-left: 4px solid var(--secondary);
  border-radius: 8px;
  background: #fff8ed;
  color: var(--muted);
}

.grs-contact-form-wrap .grs-privacy-note {
  margin: 14px 0 18px;
}

.page-content-contato .grs-contact-form-wrap {
  max-width: 100%;
  margin-top: 34px;
}

/* =========================================================
   9. Cabeçalhos de páginas com imagem
   ========================================================= */
.page-header--textual {
  padding-bottom: 34px;
}

.page-header--textual .page-header-grid--single {
  grid-template-columns: 1fr;
}

.page-header-grid--right {
  grid-template-columns: minmax(0,1fr) minmax(0,1.12fr);
  gap: 52px;
}

.page-header-grid--left {
  grid-template-columns: minmax(0,1.12fr) minmax(0,1fr);
  gap: 52px;
}

.page-header-grid--right .page-header-media {
  order: 2;
  min-width: 0;
}

.page-header-grid--left .page-header-media {
  order: 0;
  min-width: 0;
}

.page-header-grid--right > div:first-child,
.page-header-grid--left > div:first-child {
  min-width: 0;
}

.page-header-grid--right h1,
.page-header-grid--left h1 {
  max-width: 700px;
}

.page-header-media .media-slot {
  width: 100%;
  aspect-ratio: 16 / 9 !important;
}

.page-header--care-landing,
.page-header--split-hero {
  padding: clamp(34px,5vw,64px) 0 30px;
  background: var(--bg);
}

.page-header--care-landing .page-header-grid,
.page-header--split-hero .page-header-grid {
  align-items: center;
  gap: clamp(28px,4vw,52px);
}

.page-header--care-landing .page-header-copy,
.page-header--split-hero .page-header-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.page-header--care-landing h1,
.page-header--split-hero h1 {
  max-width: 650px;
  margin: 0 0 18px;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.page-header--care-landing .page-hero-intro,
.page-header--split-hero .page-hero-intro {
  max-width: 620px;
  margin: 0 0 24px;
  color: var(--text);
  font-size: clamp(1rem,1.3vw,1.12rem);
  line-height: 1.75;
}

.page-header--care-landing .page-header-media,
.page-header--split-hero .page-header-media {
  width: 100%;
  min-width: 0;
}

.page-header--care-landing .page-header-media .media-slot,
.page-header--split-hero .page-header-media .media-slot {
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9 !important;
  border: 0;
  box-shadow: var(--shadow);
}

.page-header--care-landing .page-header-media .media-slot img,
.page-header--split-hero .page-header-media .media-slot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-header--care-landing .page-hero-eyebrow {
  margin: 0 0 10px;
  color: var(--secondary);
  font-size: .84rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.page-header--care-landing .page-hero-actions,
.page-header--split-hero .page-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  margin: 0;
}

.page-header--care-landing .page-hero-actions .btn,
.page-header--split-hero .page-hero-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  max-width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 13px 18px;
  text-align: center;
  line-height: 1.3;
  text-decoration: none !important;
}

.page-header--care-landing .page-hero-actions .btn-secondary,
.page-header--split-hero .page-hero-actions .btn-secondary {
  border: 2px solid var(--primary);
  background: #fff;
  color: var(--primary);
}

.page-header--care-landing .page-hero-actions .btn-secondary:hover,
.page-header--care-landing .page-hero-actions .btn-secondary:focus-visible,
.page-header--split-hero .page-hero-actions .btn-secondary:hover,
.page-header--split-hero .page-hero-actions .btn-secondary:focus-visible {
  background: var(--primary);
  color: #fff;
}

.page-header--care-landing .page-hero-actions .btn:focus-visible,
.page-header--split-hero .page-hero-actions .btn:focus-visible,
.gr-inline-cta .btn:focus-visible {
  outline: 3px solid rgba(232,159,42,.75);
  outline-offset: 3px;
}

/* =========================================================
   10. Página de Dependência Química: conteúdo e opções
   ========================================================= */
.dependency-hero-image {
  width: 100%;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--bg);
}

.dependency-hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  object-position: center;
}

.dependency-guidance {
  max-width: 1080px;
}

.dependency-guidance .approved-steps {
  margin-top: 28px;
}

.page-content-tratamento-dependencia-quimica h2 + ol,
.page-content-tratamento-dependencia-quimica h2 + ul,
.gr-treatment-options ul,
.gr-treatment-options ol {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
  margin: 22px 0 30px;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

.page-content-tratamento-dependencia-quimica h2 + ol li,
.page-content-tratamento-dependencia-quimica h2 + ul li,
.gr-treatment-options li {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(8,34,71,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.page-content-tratamento-dependencia-quimica h2 + ol li::marker,
.page-content-tratamento-dependencia-quimica h2 + ul li::marker,
.gr-treatment-options li::marker {
  content: "";
  font-size: 0;
}

.page-content-tratamento-dependencia-quimica h2 + ol li::before,
.page-content-tratamento-dependencia-quimica h2 + ul li::before {
  display: none !important;
  content: none !important;
}

.page-content-tratamento-dependencia-quimica h2 + ol li:has(a:only-of-type),
.page-content-tratamento-dependencia-quimica h2 + ul li:has(a:only-of-type),
.gr-treatment-options li:has(a:only-of-type) {
  cursor: pointer;
}

.page-content-tratamento-dependencia-quimica h2 + ol li:has(a:only-of-type) a:only-of-type,
.page-content-tratamento-dependencia-quimica h2 + ul li:has(a:only-of-type) a:only-of-type,
.gr-treatment-options li:has(a:only-of-type) a:only-of-type {
  position: static;
  display: block;
  color: var(--primary);
  font-weight: 800;
  text-decoration: none !important;
}

.page-content-tratamento-dependencia-quimica h2 + ol li:has(a:only-of-type) a:only-of-type::after,
.page-content-tratamento-dependencia-quimica h2 + ul li:has(a:only-of-type) a:only-of-type::after,
.gr-treatment-options li:has(a:only-of-type) a:only-of-type::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  content: "";
}

.page-content-tratamento-dependencia-quimica h2 + ol li:has(a:only-of-type):hover,
.page-content-tratamento-dependencia-quimica h2 + ul li:has(a:only-of-type):hover,
.page-content-tratamento-dependencia-quimica h2 + ol li:has(a:only-of-type) a:focus-visible,
.page-content-tratamento-dependencia-quimica h2 + ul li:has(a:only-of-type) a:focus-visible,
.gr-treatment-options li:has(a:only-of-type):hover,
.gr-treatment-options li:has(a:only-of-type) a:focus-visible {
  transform: translateY(-3px);
  border-color: var(--secondary);
  box-shadow: 0 14px 30px rgba(8,34,71,.11);
  outline: none;
}

.page-content-tratamento-dependencia-quimica h2 + ol li:has(a:only-of-type) a:focus-visible::after,
.page-content-tratamento-dependencia-quimica h2 + ul li:has(a:only-of-type) a:focus-visible::after,
.gr-treatment-options li:has(a:only-of-type) a:focus-visible::after {
  outline: 3px solid rgba(232,159,42,.7);
  outline-offset: 3px;
}

.gr-treatment-options {
  margin: 30px 0;
}

.gr-treatment-options > h2 {
  margin-top: 0;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links {
  margin: 28px 0;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links .internal-link-box {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links .btn-link-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links .btn-link-card strong,
.page-content-tratamento-dependencia-quimica .dependency-internacao-links .btn-link-card span {
  display: block;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links .btn-link-card span {
  font-weight: 500;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links .btn-link-card:hover,
.page-content-tratamento-dependencia-quimica .dependency-internacao-links .btn-link-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--secondary);
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links p:has(a[href*="/internacao-voluntaria/"]) {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
  margin: 24px 0;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links a[href*="/internacao-voluntaria/"],
.page-content-tratamento-dependencia-quimica .dependency-internacao-links a[href*="/internacao-involuntaria/"] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  min-height: 120px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
  font-weight: 800;
  text-decoration: none !important;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links a[href*="/internacao-voluntaria/"]:hover,
.page-content-tratamento-dependencia-quimica .dependency-internacao-links a[href*="/internacao-involuntaria/"]:hover {
  transform: translateY(-2px);
  border-color: var(--secondary);
}

.page-content-tratamento-dependencia-quimica .grdq-card__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.page-content-tratamento-dependencia-quimica .grdq-card__link h3 {
  color: inherit;
}

.page-content-tratamento-dependencia-quimica .grdq-card__link:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
  border-radius: 4px;
}

/* =========================================================
   11. Componentes editoriais da página de tratamento
   ========================================================= */
.gr-family-section {
  margin: 40px 0 34px;
}

.gr-family-section > h2,
.gr-guidance-section > h2,
.gr-modality-section > h2 {
  margin: 0 0 20px;
  color: var(--primary);
  text-align: left;
  line-height: 1.2;
}

.gr-family-grid,
.gr-modality-grid,
.gr-guidance-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}

.gr-family-card,
.gr-guidance-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(8,34,71,.055);
}

.gr-family-card h3,
.gr-guidance-card h3 {
  margin: 0 0 9px;
  color: var(--primary);
  font-size: 1.06rem;
  line-height: 1.35;
}

.gr-family-card p,
.gr-guidance-card p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}

.gr-inline-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 34px 0;
  padding: clamp(24px,4vw,38px);
  border: 1px solid #dbe5ef;
  border-left: 5px solid var(--secondary);
  border-radius: 14px;
  background: var(--bg);
}

.gr-inline-cta-copy {
  max-width: 690px;
}

.gr-inline-cta h2 {
  margin: 0 0 10px;
  color: var(--primary);
  font-size: clamp(1.4rem,2.4vw,1.9rem);
  line-height: 1.25;
}

.gr-inline-cta p {
  margin: 0;
  color: var(--text);
}

.gr-inline-cta .btn {
  flex: 0 0 auto;
  min-width: 220px;
  min-height: 50px;
  margin: 0;
}

.gr-modality-section {
  margin: 38px 0;
  padding: clamp(24px,4vw,34px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.gr-modality-section > p,
.gr-guidance-section > p {
  max-width: none;
  margin: 0 0 14px;
  text-align: left;
}

.gr-modality-grid,
.gr-guidance-grid {
  margin-top: 24px;
}

.gr-modality-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  min-height: 112px;
  padding: 22px 24px;
  border: 1px solid #d6e0ea;
  border-radius: 12px;
  background: #f8fafc;
  color: var(--primary);
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.gr-modality-card span {
  color: var(--muted);
  font-size: .94rem;
  font-weight: 500;
  line-height: 1.5;
}

.gr-modality-card:hover,
.gr-modality-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--secondary);
  background: #fff;
  box-shadow: 0 12px 28px rgba(8,34,71,.1);
}

.gr-modality-card:focus-visible {
  outline: 3px solid rgba(232,159,42,.65);
  outline-offset: 3px;
}

.gr-guidance-section {
  margin: 38px 0;
}

.gr-guidance-section > p {
  margin-bottom: 16px;
}

.gr-guidance-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.gr-guidance-card:hover {
  transform: translateY(-2px);
  border-color: #c7d2dd;
  box-shadow: 0 12px 26px rgba(8,34,71,.09);
}

.gr-resistance-section {
  max-width: 980px;
  margin: 38px auto;
  padding: clamp(24px,4vw,36px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f7f9fc;
  box-shadow: 0 5px 18px rgba(8,34,71,.055);
  text-align: left;
}

.gr-resistance-section h2 {
  margin: 0 0 16px !important;
  text-align: left !important;
  line-height: 1.25;
}

.gr-resistance-section p {
  margin: 0 0 16px;
  text-align: left;
  line-height: 1.75;
}

.gr-resistance-section ul {
  margin: 0;
  padding-left: 1.25rem;
  text-align: left;
}

.gr-resistance-section li {
  margin: 8px 0;
  padding-left: 4px;
  line-height: 1.6;
}

/* =========================================================
   12. Página de convênios
   ========================================================= */
.page-content-convenios ul,
.page-content-convenios ol {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

.page-content-convenios li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 76px;
  margin: 0;
  padding: 18px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--primary);
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 4px 14px rgba(8,34,71,.045);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.page-content-convenios li:hover {
  transform: translateY(-3px);
  border-color: var(--secondary);
  background: #f9fbfd;
  box-shadow: 0 12px 26px rgba(8,34,71,.10);
}

.page-content-convenios li img {
  width: auto;
  max-height: 52px;
  object-fit: contain;
}

/* =========================================================
   13. Segurança de remoção e conteúdo complementar
   ========================================================= */
.gr-removal-safety {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: center;
  gap: clamp(24px,4vw,42px);
  margin: 38px 0;
  padding: clamp(20px,3vw,30px);
  border-radius: 16px;
  background: var(--bg);
}

.gr-removal-safety .home-media-4x3 {
  min-width: 0;
}

.gr-removal-safety .media-slot {
  width: 100%;
  aspect-ratio: 4 / 3 !important;
  border: 0;
  box-shadow: var(--shadow);
}

.gr-removal-safety h2 {
  margin: 0 0 12px;
  text-align: left;
  line-height: 1.25;
}

.gr-removal-safety p {
  margin: 0;
  text-align: left;
  line-height: 1.75;
}

.dependency-internacao-links {
  margin: 28px 0;
}

/* =========================================================
   14. Formatação exclusiva da página Dependência Química
   ========================================================= */
.page-content-tratamento-dependencia-quimica {
  width: 100%;
  min-width: 0;
  max-width: 1080px;
  margin-inline: auto;
  text-align: left;
}

.page-content-tratamento-dependencia-quimica .grdq-page {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  color: var(--text);
  text-align: left;
}

.page-content-tratamento-dependencia-quimica .grdq-section {
  width: 100%;
  min-width: 0;
  padding: 64px 0;
}

.page-content-tratamento-dependencia-quimica .grdq-section--alt,
.page-content-tratamento-dependencia-quimica .grdq-section--soft {
  background: var(--bg);
}

.page-content-tratamento-dependencia-quimica .grdq-container {
  width: calc(100% - 48px);
  max-width: 1080px;
  min-width: 0;
  margin-right: auto;
  margin-left: auto;
}

.page-content-tratamento-dependencia-quimica .grdq-section > .grdq-container {
  width: calc(100% - 48px);
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0;
  padding-left: 0;
}

.page-content-tratamento-dependencia-quimica .grdq-hero {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: clamp(34px,5vw,64px) 0;
  background: linear-gradient(180deg,#f7f9fb 0%,#fff 100%);
}

.page-content-tratamento-dependencia-quimica .grdq-hero__content {
  width: 100%;
  max-width: 620px;
  min-width: 0;
}

.page-content-tratamento-dependencia-quimica .grdq-hero h1 {
  margin: 0 0 18px;
  color: var(--primary);
  font-size: clamp(2rem,5vw,3.4rem);
  line-height: 1.12;
}

.page-content-tratamento-dependencia-quimica .grdq-hero .grdq-lead {
  max-width: 760px;
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 1.08rem;
}

.page-content-tratamento-dependencia-quimica .grdq-hero .grdq-image-slot--hero {
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin-top: 24px;
  aspect-ratio: 16 / 9;
}

.page-content-tratamento-dependencia-quimica .grdq-hero .grdq-image-slot--hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-content-tratamento-dependencia-quimica .grdq-section h2 {
  margin: 0 0 16px;
  color: var(--primary);
  text-align: left;
}

.page-content-tratamento-dependencia-quimica .grdq-section--soft > .grdq-container.grdq-two-col {
  display: block;
}

.page-content-tratamento-dependencia-quimica .grdq-page .grdq-image-slot:not(.grdq-image-slot--hero) {
  display: none !important;
}

.page-content-tratamento-dependencia-quimica .grdq-cards,
.page-content-tratamento-dependencia-quimica .grdq-grid {
  min-width: 0;
}

.page-content-tratamento-dependencia-quimica .grdq-cards {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}

.page-content-tratamento-dependencia-quimica .grdq-card {
  min-width: 0;
  padding: 24px;
  overflow-wrap: anywhere;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.page-content-tratamento-dependencia-quimica .grdq-card h3 {
  margin: 0 0 10px;
  color: var(--primary);
}

.page-content-tratamento-dependencia-quimica .grdq-list {
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

.page-content-tratamento-dependencia-quimica .grdq-list li {
  position: relative;
  margin: 11px 0;
  padding-left: 28px;
}

.page-content-tratamento-dependencia-quimica .grdq-list li::before {
  position: absolute;
  left: 0;
  color: #1a8f4b;
  content: "✓";
  font-weight: 900;
}

.page-content-tratamento-dependencia-quimica .grdq-note {
  margin: 24px 0;
  padding: 18px 20px;
  border-left: 4px solid var(--secondary);
  border-radius: 8px;
  background: #fff8ed;
}

.page-content-tratamento-dependencia-quimica .grdq-cta {
  padding: 42px 24px;
  border-radius: var(--radius);
  background: var(--primary);
  color: #fff;
  text-align: center;
}

.page-content-tratamento-dependencia-quimica .grdq-cta h2 {
  color: #fff;
  text-align: center;
}

.page-content-tratamento-dependencia-quimica .grdq-faq {
  max-width: 900px;
}

.page-content-tratamento-dependencia-quimica .grdq-faq details {
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
}

.page-content-tratamento-dependencia-quimica .grdq-faq summary {
  color: var(--primary);
  font-weight: 750;
  cursor: pointer;
}

.page-content-tratamento-dependencia-quimica .grdq-disclaimer {
  margin-top: 34px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fafc;
  color: #66737e;
  font-size: .9rem;
}

.page-content-tratamento-dependencia-quimica .grdq-btn:focus-visible,
.page-content-tratamento-dependencia-quimica .grdq-faq summary:focus-visible,
.page-content-tratamento-dependencia-quimica a:focus-visible,
.page-content-tratamento-dependencia-quimica button:focus-visible {
  outline: 3px solid rgba(232,159,42,.55);
  outline-offset: 3px;
}

.page-content-tratamento-dependencia-quimica .grdq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 12px 18px;
  border: 2px solid var(--primary);
  border-radius: 10px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.page-content-tratamento-dependencia-quimica .grdq-btn--primary {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
}

.page-content-tratamento-dependencia-quimica .grdq-btn--secondary {
  border-color: var(--primary);
  background: #fff;
  color: var(--primary);
}

.page-content-tratamento-dependencia-quimica .grdq-btn--whatsapp {
  border-color: var(--wa);
  background: var(--wa);
  color: #073b1a;
}

.page-content-tratamento-dependencia-quimica .grdq-btn--whatsapp svg {
  width: 21px !important;
  height: 21px !important;
  max-width: 21px !important;
  max-height: 21px !important;
}

/* =========================================================
   15. Ajustes de páginas auxiliares e links
   ========================================================= */
.contact-emergency {
  border-left: 4px solid var(--secondary);
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links .btn-link-card {
  height: 100%;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links p:has(a[href*="/internacao-voluntaria/"]) {
  width: 100%;
}

.page-content-tratamento-dependencia-quimica .dependency-internacao-links a[href*="/internacao-voluntaria/"],
.page-content-tratamento-dependencia-quimica .dependency-internacao-links a[href*="/internacao-involuntaria/"] {
  overflow-wrap: anywhere;
}

.home-hero-grid--approved {
  grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
}

.home-hero-grid--approved .home-hero-media {
  order: 2;
  min-width: 0;
}

.home-hero-grid--approved .home-hero-copy {
  max-width: 620px;
  min-width: 0;
}

.home-hero-grid--approved .home-hero-media .media-slot {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.home-split--approved > div:first-child,
.home-split--approved > div:last-child {
  min-width: 0;
}

.page-content-wrap .card,
.page-content-wrap article,
.page-content-wrap .service-card,
.internal-link-box a {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.text-link {
  color: var(--primary);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.home-hero-grid--approved .home-hero-media .media-slot {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.home-cta-block .eyebrow {
  color: #ffd48a;
}

/* =========================================================
   16. Responsividade Geral
   ========================================================= */
@media (min-width: 760px) {
  .container {
    width: min(var(--container),calc(100% - 48px));
  }

  .main-nav {
    display: block;
  }

  .nav-toggle,
  .mobile-panel {
    display: none !important;
  }

  .header-cta {
    display: inline-flex;
    margin-left: auto;
    white-space: nowrap;
  }

  .header-inner {
    gap: 24px;
  }

  .cards-3 {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .footer-grid {
    grid-template-columns: 1.45fr 1.15fr 1fr 1.2fr;
  }

  .home-hero-grid,
  .home-hero-grid--approved {
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    gap: 52px;
  }

  .home-hero-grid--approved .home-hero-media {
    order: 2;
  }

  .home-split {
    grid-template-columns: 1fr 1fr;
  }

  .home-split--approved {
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    gap: 52px;
  }

  .home-feature-grid {
    grid-template-columns: .75fr 1.25fr;
  }

  .home-service-cards {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .home-cta-block {
    grid-template-columns: .9fr 1.1fr;
    padding: 38px 42px;
  }

  .page-header-grid {
    grid-template-columns: 1fr .75fr;
  }

  .page-header-grid--contact {
    grid-template-columns: 1fr 1fr;
  }

  .page-header-grid--right {
    grid-template-columns: minmax(0,1fr) minmax(0,1.12fr);
  }

  .page-header-grid--left {
    grid-template-columns: minmax(0,1.12fr) minmax(0,1fr);
  }

  .contact-layout {
    grid-template-columns: 1fr 1fr;
    gap: 34px;
  }

  .contact-hero-media {
    order: 0;
  }

  .service-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .approved-steps {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .internal-link-box {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .final-cta-card {
    padding: 34px 38px;
  }

  .home-cta-block {
    padding: 38px 42px;
  }

  .grdq-cards {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .page-content-convenios ul,
  .page-content-convenios ol {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .gr-removal-safety {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }
}

@media (min-width: 1000px) {
  .grdq-cards--3 {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .grdq-cards--4 {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }
}

@media (max-width: 759px) {
  .grs-contact-form-wrap {
    padding: 24px 16px;
  }

  .home-hero-grid--approved {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .home-hero-grid--approved .home-hero-media {
    order: -1;
  }

  .home-actions .btn {
    width: 100%;
  }

  .page-header-grid--right,
  .page-header-grid--left {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .page-header-grid--right .page-header-media,
  .page-header-grid--left .page-header-media {
    order: -1;
  }

  .page-header--care-landing .page-header-grid,
  .page-header--split-hero .page-header-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .page-header--care-landing .page-header-media,
  .page-header--split-hero .page-header-media {
    order: -1;
  }

  .page-header--care-landing .page-header-copy,
  .page-header--split-hero .page-header-copy {
    align-items: flex-start;
  }

  .page-header--care-landing .page-hero-actions,
  .page-header--split-hero .page-hero-actions {
    width: 100%;
    flex-direction: column;
  }

  .page-header--care-landing .page-hero-actions .btn,
  .page-header--split-hero .page-hero-actions .btn {
    width: 100%;
    min-width: 0;
  }

  .page-content-wrap a[href*="wa.me"],
  .page-content-wrap a[href*="api.whatsapp.com"] {
    width: 100%;
    margin-right: 0;
  }

  .final-cta-card,
  .home-cta-block {
    display: block;
  }

  .final-cta-card .btn,
  .home-cta-action .btn {
    width: 100%;
    margin-top: 18px;
  }

  .hub-shortcuts-inner {
    align-items: stretch;
  }

  .hub-shortcuts-inner strong {
    width: 100%;
  }

  .home-hero-media {
    order: -1;
  }

  .contact-hero-media {
    order: -1;
  }

  .contact-layout {
    grid-template-columns: 1fr;
  }

  .internal-link-box {
    grid-template-columns: 1fr;
  }

  .dependency-buttons,
  .page-content-tratamento-dependencia-quimica h2 + ol,
  .page-content-tratamento-dependencia-quimica h2 + ul,
  .gr-treatment-options ul,
  .gr-treatment-options ol,
  .gr-family-grid,
  .gr-modality-grid,
  .gr-guidance-grid {
    grid-template-columns: 1fr;
  }

  .page-content-tratamento-dependencia-quimica .dependency-internacao-links .internal-link-box {
    grid-template-columns: 1fr;
  }

  .page-content-tratamento-dependencia-quimica .dependency-internacao-links p:has(a[href*="/internacao-voluntaria/"]) {
    grid-template-columns: 1fr;
  }

  .gr-inline-cta {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }

  .gr-inline-cta .btn {
    width: 100%;
  }

  .page-content-convenios ul,
  .page-content-convenios ol {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .gr-removal-safety {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .page-content-convenios ul,
  .page-content-convenios ol {
    grid-template-columns: 1fr;
  }

  .page-content-wrap {
    padding: 22px 18px;
  }
}

/* =========================================================
   17. Movimento reduzido
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* =========================================================
   SEÇÃO 18: AJUSTE FINO DE LARGURA - IGUALANDO À HERO
   ========================================================= */

/* 1. Remove a caixa branca padrão (1080px) para permitir a largura exata da Hero */
.page-content-wrap.page-content-tratamento-dependencia-quimica {
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* 2. Aplica a largura exata da Hero (1180px) nas seções do bloco HTML (rdq-secao) */
.rdq-secao {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 40px !important;
  color: var(--text) !important;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.65 !important;
  box-sizing: border-box !important;
}

/* 3. Aplica a largura exata da Hero nas seções injetadas automaticamente pelo page.php (gr-...) */
.page-content-tratamento-dependencia-quimica .gr-family-section,
.page-content-tratamento-dependencia-quimica .gr-modality-section,
.page-content-tratamento-dependencia-quimica .gr-guidance-section,
.page-content-tratamento-dependencia-quimica .gr-inline-cta {
  max-width: min(1180px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(16px, 4vw, 48px) !important;
  padding-right: clamp(16px, 4vw, 48px) !important;
}

@media (min-width: 760px) {
  .rdq-secao,
  .page-content-tratamento-dependencia-quimica .gr-family-section,
  .page-content-tratamento-dependencia-quimica .gr-modality-section,
  .page-content-tratamento-dependencia-quimica .gr-guidance-section,
  .page-content-tratamento-dependencia-quimica .gr-inline-cta {
    width: min(1180px, calc(100% - 48px)) !important;
  }
}

/* 4. Ajustes de padding interno para as caixas coloridas (rdq-fundo-soft, rdq-cta, etc) */
.rdq-fundo-soft {
  background: var(--bg) !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
  padding-left: clamp(16px, 4vw, 48px) !important;
  padding-right: clamp(16px, 4vw, 48px) !important;
  border-radius: 16px !important;
}

.rdq-inline-cta {
  background: var(--bg) !important;
  border: 1px solid #dbe5ef !important;
  border-left: 5px solid var(--secondary) !important;
  padding: clamp(24px, 4vw, 38px) clamp(16px, 4vw, 48px) !important;
  border-radius: 14px !important;
  text-align: left !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.rdq-inline-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(8, 34, 71, 0.07);
}

.rdq-inline-cta h2 {
  margin-bottom: 10px !important;
}

.rdq-inline-cta p {
  margin-bottom: 20px !important;
}

.rdq-cta {
  padding-top: clamp(36px, 5vw, 56px) !important;
  padding-bottom: clamp(36px, 5vw, 56px) !important;
  padding-left: clamp(16px, 4vw, 48px) !important;
  padding-right: clamp(16px, 4vw, 48px) !important;
  background: var(--primary) !important;
  border-radius: 16px !important;
  text-align: center;
}

.rdq-disclaimer {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  padding-left: clamp(16px, 4vw, 48px) !important;
  padding-right: clamp(16px, 4vw, 48px) !important;
  background: #f8fafc !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
}

/* TIPOGRAFIA E CORES */
.rdq-secao *,
.rdq-secao *::before,
.rdq-secao *::after {
  box-sizing: border-box !important;
}

.rdq-secao h1, .rdq-secao h2, .rdq-secao h3 {
  color: var(--primary) !important;
  line-height: 1.25 !important;
  margin-top: 0 !important;
}

.rdq-secao h1 { font-size: clamp(2rem, 5vw, 3rem) !important; margin-bottom: 18px !important; }
.rdq-secao h2 { font-size: clamp(1.55rem, 3vw, 2.15rem) !important; margin-bottom: 18px !important; }
.rdq-secao h3 { font-size: 1.15rem !important; margin-bottom: 10px !important; }
.rdq-secao p { font-size: 1.03rem !important; margin-bottom: 18px !important; }
.rdq-secao li { font-size: 1.03rem !important; }
.rdq-secao strong { color: var(--text) !important; }

.rdq-eyebrow {
  display: inline-block;
  margin-bottom: 10px !important;
  color: var(--secondary) !important;
  font-size: 0.84rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.rdq-text-link {
  display: inline-block;
  color: var(--primary) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-top: 8px !important;
  transition: color 0.2s ease;
}

.rdq-text-link:hover {
  color: var(--primary-dark) !important;
}

.rdq-hero {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  margin-bottom: 20px !important;
}

/* BOTÕES E CTAs */
.rdq-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px !important;
  margin: 24px 0 !important;
}

.rdq-whatsapp-btn,
.rdq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px !important;
  min-height: 48px !important;
  padding: 13px 22px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.rdq-whatsapp-btn {
  background: var(--wa) !important;
  color: #073b1a !important;
  border: 2px solid var(--wa) !important;
}

.rdq-whatsapp-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.3);
}

.rdq-btn-secondary {
  background: #fff !important;
  color: var(--primary) !important;
  border: 2px solid var(--primary) !important;
}

.rdq-btn-secondary:hover {
  background: var(--primary) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(8, 34, 71, 0.15);
}

/* LISTAS */
.rdq-list {
  margin: 22px 0 !important;
  padding-left: 1.4rem !important;
}

.rdq-list li {
  margin-bottom: 12px !important;
  line-height: 1.7 !important;
}

.rdq-list--check li::marker {
  content: "✓ ";
  color: #1a8f4b;
  font-weight: 900;
}

.rdq-list--bullets li::marker {
  color: var(--secondary) !important;
}

/* GRIDS */
.rdq-grid {
  display: grid !important;
  gap: 18px !important;
  margin: 26px 0 !important;
}

.rdq-grid--cards,
.rdq-grid--features {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.rdq-grid--steps {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* CARDS CLICÁVEIS */
.rdq-card {
  min-width: 0 !important;
  padding: 24px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(8, 34, 71, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
}

.rdq-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(8, 34, 71, 0.08);
  border-color: var(--secondary) !important;
}

.rdq-card__icon {
  display: block;
  margin-bottom: 12px !important;
  color: var(--secondary) !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
}

.rdq-card p {
  color: var(--muted) !important;
  margin: 0 !important;
}

.rdq-note {
  margin: 26px 0 0 !important;
  padding: 18px 20px !important;
  border-left: 4px solid var(--secondary) !important;
  border-radius: 8px !important;
  background: #fff8ed !important;
  line-height: 1.7 !important;
}

.rdq-feature {
  min-width: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(8, 34, 71, 0.04);
}

.rdq-feature strong {
  display: block;
  margin-bottom: 8px !important;
  color: var(--primary) !important;
}

.rdq-feature p {
  margin: 0 !important;
  color: var(--muted) !important;
}

.rdq-step {
  min-width: 0 !important;
  padding: 22px !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  text-align: center;
  transition: transform 0.2s ease;
}

.rdq-step:hover {
  transform: translateY(-3px);
}

.rdq-step__number {
  display: inline-grid;
  place-items: center;
  width: 40px !important;
  height: 40px !important;
  margin-bottom: 16px !important;
  border-radius: 50% !important;
  background: var(--primary) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.rdq-step p {
  color: var(--muted) !important;
  margin: 0 !important;
  font-size: 0.95rem !important;
}

.rdq-faq {
  max-width: 100% !important;
  border-top: 1px solid var(--line) !important;
}

.rdq-faq details {
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--line) !important;
}

.rdq-faq summary {
  font-weight: 700 !important;
  color: var(--primary) !important;
  cursor: pointer;
  list-style-position: inside;
  font-size: 1.05rem !important;
}

.rdq-faq details p {
  margin: 14px 0 0 !important;
  color: var(--muted) !important;
  padding-left: 5px;
}

.rdq-cta h2 {
  color: #fff !important;
  margin-bottom: 14px !important;
}

.rdq-cta p {
  max-width: 680px;
  margin: 0 auto 24px !important;
  color: #e4edf6 !important;
}

.rdq-eyebrow--light {
  color: #ffd48a !important;
}

.rdq-disclaimer p {
  font-size: 0.9rem !important;
  color: #66737e !important;
  margin-bottom: 10px !important;
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
  .rdq-grid--cards,
  .rdq-grid--features,
  .rdq-grid--steps,
  .rdq-grid--internacao-links {
    grid-template-columns: 1fr !important;
  }
  
  .rdq-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  
  .rdq-whatsapp-btn,
  .rdq-btn {
    width: 100% !important;
  }
}
/* Contato sem imagem: cartão ocupa a largura disponível em todas as telas. */
.contact-layout--no-image { grid-template-columns: minmax(0, 1fr) !important; }


/* Grupo Reagir 3.2.5 — Contato: cartão compacto abaixo do hero alinhado. */
.contact-info-card--compact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 42px;
  padding: 20px clamp(20px, 3vw, 32px);
}
.contact-info-card--compact p { margin: 0; }
.contact-info-card--compact strong { color: var(--primary); }
@media (max-width: 759px) {
  .contact-info-card--compact { align-items: flex-start; flex-direction: column; gap: 14px; }
}


/* =========================================================
   15. Correções de conversão — Dependência Química e Convênios
   ========================================================= */
.page-content-tratamento-dependencia-quimica .dependency-internacao-links,
.page-content-tratamento-dependencia-quimica .gr-dependency-internacao-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 28px 0;
}
.page-content-tratamento-dependencia-quimica .gr-dependency-internacao-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
  min-height: 142px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.page-content-tratamento-dependencia-quimica .gr-dependency-internacao-card:hover,
.page-content-tratamento-dependencia-quimica .gr-dependency-internacao-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--secondary);
  box-shadow: 0 12px 26px rgba(8,34,71,.10);
}
.gr-dependency-internacao-card strong { color: var(--primary); font-size: 1.08rem; }
.gr-dependency-internacao-card span { color: var(--muted); font-size: .96rem; font-weight: 500; }
.page-content-convenios ul,
.page-content-convenios ol {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}
.page-content-convenios li {
  flex-direction: column;
  gap: 12px;
  min-height: 116px;
  padding: 20px 14px;
  overflow-wrap: anywhere;
}
.page-content-convenios li img {
  width: auto;
  max-width: 100%;
  max-height: 48px;
  margin-inline: auto;
}
.page-content-convenios li a { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; }
@media (max-width: 900px) {
  .page-content-convenios ul, .page-content-convenios ol { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .page-content-convenios ul, .page-content-convenios ol,
  .page-content-tratamento-dependencia-quimica .gr-dependency-internacao-cards,
  .page-content-tratamento-dependencia-quimica .dependency-internacao-links { grid-template-columns: 1fr; }
  .page-content-convenios li { min-height: 100px; }
}
