/* ========================================
   styles.css — Consulta Psiquiatría
   Consolidado (sin duplicaciones)
   ======================================== */

/* --- Base --- */
:root { --header-offset: 6.5rem; --navy-900: #0f2a6b; --orange-600: #ea580c; }
body { font-family: 'Lato', sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .font-heading { font-family: 'Montserrat', sans-serif; }
input, textarea, select, button { font-family: inherit; }
html { font-size: 18px; }
main { overflow: hidden; }
a { text-decoration: none; word-break: normal; }
html { scroll-padding-top: var(--header-offset); }
html.home-anchor-settling { scroll-behavior: auto !important; }
section[id] { scroll-margin-top: var(--header-offset); }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* --- Render diferido para bloques pesados bajo el primer viewport --- */
#rutas-busqueda,
#hubs-clinicos,
#home-patient-route,
#quien-es,
#acreditaciones,
#como-funciona,
#reserva,
#orientador-inicial,
#screenings-referenciales,
#solicitudes,
#novedades,
#patologias,
#faq,
#alcance-atencion,
#enlaces-interes,
#urgencias,
.home-final-cta {
  content-visibility: auto;
  contain-intrinsic-size: 1000px;
}

html.home-anchor-settling #rutas-busqueda,
html.home-anchor-settling #hubs-clinicos,
html.home-anchor-settling #home-patient-route,
html.home-anchor-settling #quien-es,
html.home-anchor-settling #acreditaciones,
html.home-anchor-settling #como-funciona,
html.home-anchor-settling #reserva,
html.home-anchor-settling #orientador-inicial,
html.home-anchor-settling #screenings-referenciales,
html.home-anchor-settling #solicitudes,
html.home-anchor-settling #novedades,
html.home-anchor-settling #patologias,
html.home-anchor-settling #faq,
html.home-anchor-settling #alcance-atencion,
html.home-anchor-settling #enlaces-interes,
html.home-anchor-settling #urgencias,
html.home-anchor-settling .home-final-cta {
  content-visibility: visible;
}

/* --- Scrollbar oculto --- */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* --- Tipografía global desktop --- */
@media (min-width: 768px) { html { font-size: 19px; } }

/* --- Componentes reutilizables --- */
.soft-card {
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,252,.98));
  border: 1px solid rgba(226,232,240,.9);
  box-shadow: 0 16px 40px rgba(15,42,107,.06);
}
.section-eyebrow { letter-spacing:.14em; text-transform:uppercase; font-size:1.25rem; font-weight:900; color: var(--orange-600); }
.section-intro { color:#475569; font-weight:600; line-height:1.7; max-width:60rem; }
.section-intro strong { color: var(--navy-900); }
.home-section-purpose {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: fit-content;
  max-width: 100%;
  margin: .9rem 0 0;
  padding: .65rem .9rem;
  border-radius: 9999px;
  border: 1px solid rgba(15,42,107,.12);
  background: rgba(255,255,255,.8);
  color: #475569;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.45;
  box-shadow: 0 10px 24px rgba(15,42,107,.045);
}
.home-section-purpose strong {
  color: var(--navy-900);
  font-weight: 950;
}
.content-measure { max-width: 72ch; }
.soft-divider { height:1px; background:linear-gradient(90deg, rgba(226,232,240,0), rgba(226,232,240,.95), rgba(226,232,240,0)); }

.eyebrow {
  display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .85rem;
  border-radius:9999px; background:#fff; border:1px solid rgba(226,232,240,.95);
  font-size:.78rem; font-weight:900; letter-spacing:.02em; color: var(--navy-900);
  box-shadow:0 8px 22px rgba(15,42,107,.04);
}
.chip-trust {
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(255,255,255,.82); border:1px solid rgba(226,232,240,.95);
  color: var(--navy-900); padding:.8rem 1rem; border-radius:9999px;
  font-weight:800; box-shadow:0 6px 22px rgba(15,42,107,.05);
}
.trust-chip {
  display:inline-flex; align-items:center; gap:.42rem; padding:.58rem .82rem;
  border-radius:9999px; background:#fff; border:1px solid rgba(226,232,240,.95);
  box-shadow:0 6px 18px rgba(15,42,107,.04); font-weight:800; color: var(--navy-900); font-size:.82rem;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, background-color .18s ease;
}
a.trust-chip:hover,
a.trust-chip:focus-visible {
  color: var(--orange-600);
  border-color: rgba(251,146,60,.55);
  background: #fffaf5;
  box-shadow: 0 12px 28px rgba(15,42,107,.09);
  transform: translateY(-1px);
}
.cta-inline { display:inline-flex; align-items:center; gap:.55rem; font-weight:900; color: var(--navy-900); }
.cta-inline:hover { color: var(--orange-600); }
.bg-instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }

.home-topic-strip {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.home-access-shell {
  padding: 1.25rem;
  border-radius: 2rem;
}
.home-access-intro {
  display: grid;
  gap: .9rem;
  margin-bottom: 1rem;
}
.home-access-title {
  max-width: none;
  margin-bottom: 0;
}
.home-access-summary {
  max-width: none;
}
.home-access-figure-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
}
.home-access-figure {
  width: 100%;
  max-width: none;
  justify-self: stretch;
  padding: .85rem;
}
.home-topic-header {
  display: grid;
  gap: 1rem;
  align-items: start;
}
.home-topic-copy {
  max-width: 58rem;
}
.home-access-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.home-decision-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
  margin-top: .2rem;
}
.home-decision-grid--orientador {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.home-decision-card {
  display: grid;
  gap: .18rem;
  min-height: 5.2rem;
  align-content: center;
  padding: .9rem 1rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(226,232,240,.95);
  background: linear-gradient(180deg, #fff, #f8fafc);
  color: var(--navy-900);
  box-shadow: 0 10px 24px rgba(15,42,107,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.home-decision-card span {
  font-weight: 950;
  line-height: 1.1;
}
.home-decision-card small {
  color: #64748b;
  font-weight: 800;
  line-height: 1.25;
}
.home-decision-card:hover,
.home-decision-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(251,146,60,.75);
  background: linear-gradient(135deg, #ffedd5 0%, #fff7ed 100%);
  color: #9a3412;
  box-shadow: 0 18px 34px rgba(234,88,12,.18);
}
.home-decision-card:hover small,
.home-decision-card:focus-visible small {
  color: #7c2d12;
}
.home-decision-card--primary {
  border-color: #c2410c;
  background: linear-gradient(135deg, var(--orange-600) 0%, #c2410c 100%);
  color: #fff;
}
.home-decision-card--primary small {
  color: rgba(255,255,255,.86);
}
.home-decision-card--urgent {
  border-color: rgba(220,38,38,.28);
  background: linear-gradient(180deg, #fff, #fff1f2);
}
.home-decision-card[data-orientador-tone] {
  border-color: rgba(var(--orientador-rgb, 29,78,216), .24);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--orientador-rgb, 29,78,216), .12), transparent 42%),
    linear-gradient(180deg, #fff, rgba(var(--orientador-rgb, 29,78,216), .05));
}
.home-decision-card[data-orientador-tone]:hover,
.home-decision-card[data-orientador-tone]:focus-visible {
  border-color: rgba(var(--orientador-rgb, 29,78,216), .62);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--orientador-rgb, 29,78,216), .22), transparent 42%),
    linear-gradient(180deg, #fff, rgba(var(--orientador-rgb, 29,78,216), .14));
  color: var(--orientador-solid, #1d4ed8);
  box-shadow: 0 18px 34px rgba(var(--orientador-rgb, 29,78,216), .16);
}
.home-decision-card[data-orientador-tone]:hover small,
.home-decision-card[data-orientador-tone]:focus-visible small {
  color: #334155;
}
.home-decision-card[data-orientador-tone="teal"] { --orientador-rgb: 15,118,110; --orientador-solid: #0f766e; }
.home-decision-card[data-orientador-tone="orange"] { --orientador-rgb: 194,65,12; --orientador-solid: #c2410c; }
.home-decision-card[data-orientador-tone="blue"] { --orientador-rgb: 37,99,235; --orientador-solid: #2563eb; }
.home-decision-card[data-orientador-tone="indigo"] { --orientador-rgb: 67,56,202; --orientador-solid: #4338ca; }
.home-decision-card[data-orientador-tone="red"] { --orientador-rgb: 220,38,38; --orientador-solid: #dc2626; }
.home-decision-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem .75rem;
  padding: .85rem 1rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(251,146,60,.26);
  background: linear-gradient(135deg, rgba(255,247,237,.9), rgba(255,255,255,.96));
  color: #334155;
  font-size: .92rem;
  font-weight: 750;
  box-shadow: 0 10px 24px rgba(234,88,12,.07);
}
.home-decision-note strong {
  color: #9a3412;
  font-weight: 950;
}
.home-decision-note span {
  flex: 1 1 18rem;
}
.home-decision-note a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: .55rem .8rem;
  border-radius: 9999px;
  border: 1px solid rgba(251,146,60,.32);
  background: #fff;
  color: #9a3412;
  font-weight: 950;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease;
}
.home-decision-note a:hover,
.home-decision-note a:focus-visible {
  transform: translateY(-1px);
  border-color: #c2410c;
  background: linear-gradient(135deg, var(--orange-600), #c2410c);
  color: #fff;
  box-shadow: 0 12px 24px rgba(234,88,12,.2);
}
.home-search-console-bridge {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: 1rem;
  align-items: stretch;
  padding: 1rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(37,99,235,.16);
  background:
    radial-gradient(circle at 0% 0%, rgba(37,99,235,.1), transparent 36%),
    linear-gradient(135deg, rgba(248,250,252,.98), rgba(255,247,237,.88));
  box-shadow: 0 14px 30px rgba(15,42,107,.07);
}
.home-search-console-copy {
  display: grid;
  gap: .35rem;
  align-content: center;
  min-width: 0;
}
.home-search-console-copy strong {
  color: var(--navy-900);
  font-family: 'Montserrat', sans-serif;
  font-size: 1.02rem;
  font-weight: 950;
  line-height: 1.1;
}
.home-search-console-copy span {
  color: #475569;
  font-size: .88rem;
  font-weight: 750;
  line-height: 1.45;
}
.home-search-console-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}
.home-search-console-links a {
  display: grid;
  gap: .18rem;
  min-width: 0;
  padding: .75rem .85rem;
  border-radius: 1rem;
  border: 1px solid rgba(226,232,240,.95);
  background: rgba(255,255,255,.9);
  color: var(--navy-900);
  box-shadow: 0 8px 18px rgba(15,42,107,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.home-search-console-links a span {
  font-size: .86rem;
  font-weight: 950;
  line-height: 1.14;
}
.home-search-console-links a small {
  color: #64748b;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.24;
}
.home-search-console-links a:hover,
.home-search-console-links a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(251,146,60,.72);
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
  color: #9a3412;
  box-shadow: 0 16px 30px rgba(234,88,12,.16);
}
.home-search-console-links a:hover small,
.home-search-console-links a:focus-visible small {
  color: #7c2d12;
}
.home-next-step-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: .9rem;
  align-items: stretch;
  padding: .95rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(234,88,12,.22);
  background:
    radial-gradient(circle at 100% 0%, rgba(251,146,60,.16), transparent 36%),
    linear-gradient(135deg, rgba(255,247,237,.95), rgba(255,255,255,.98));
  box-shadow: 0 16px 34px rgba(234,88,12,.08);
}
.home-next-step-copy {
  display: grid;
  gap: .35rem;
  align-content: center;
}
.home-next-step-copy strong {
  color: #7c2d12;
  font-family: 'Montserrat', sans-serif;
  font-size: .98rem;
  font-weight: 950;
  line-height: 1.16;
}
.home-next-step-copy span {
  color: #475569;
  font-size: .86rem;
  font-weight: 750;
  line-height: 1.45;
}
.home-next-step-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .6rem;
}
.home-next-step-actions a {
  display: grid;
  gap: .2rem;
  min-height: 4.6rem;
  align-content: center;
  padding: .8rem .9rem;
  border-radius: 1.05rem;
  border: 1px solid rgba(251,146,60,.24);
  background: rgba(255,255,255,.92);
  color: var(--navy-900);
  box-shadow: 0 8px 18px rgba(15,42,107,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.home-next-step-actions a span {
  color: #9a3412;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.home-next-step-actions a strong {
  font-family: 'Montserrat', sans-serif;
  font-size: .95rem;
  font-weight: 950;
  line-height: 1.12;
}
.home-next-step-actions a:hover,
.home-next-step-actions a:focus-visible {
  transform: translateY(-2px);
  border-color: #ea580c;
  background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%);
  color: #fff;
  box-shadow: 0 18px 34px rgba(234,88,12,.22);
}
.home-next-step-actions a:hover span,
.home-next-step-actions a:focus-visible span {
  color: #fff7ed;
}
.home-next-step-actions a[data-home-next-step="urgent"] {
  border-color: rgba(220,38,38,.28);
}
.home-next-step-actions a[data-home-next-step="urgent"] span {
  color: #b91c1c;
}
.home-next-step-actions a[data-home-next-step="urgent"]:hover,
.home-next-step-actions a[data-home-next-step="urgent"]:focus-visible {
  border-color: #dc2626;
  background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);
}
@media (max-width: 920px) {
  .home-decision-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-decision-grid--orientador {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-search-console-bridge {
    grid-template-columns: 1fr;
  }
  .home-next-step-panel {
    grid-template-columns: 1fr;
  }
  .home-search-console-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-next-step-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .home-decision-grid {
    grid-template-columns: 1fr;
  }
  .home-decision-grid--orientador {
    grid-template-columns: 1fr;
  }
  .home-decision-card {
    min-height: 4.4rem;
  }
  .home-decision-note {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    padding: .75rem;
    font-size: .86rem;
  }
  .home-decision-note strong,
  .home-decision-note span {
    grid-column: 1 / -1;
  }
  .home-decision-note span {
    line-height: 1.45;
  }
  .home-decision-note a {
    min-height: 2.15rem;
    padding: .48rem .55rem;
    font-size: .78rem;
  }
  .home-search-console-links {
    grid-template-columns: 1fr;
  }
  .home-next-step-actions {
    grid-template-columns: 1fr;
  }
  .home-search-console-bridge,
  .home-next-step-panel {
    padding: .85rem;
    border-radius: 1.15rem;
  }
  .home-search-console-copy span,
  .home-next-step-copy span {
    font-size: .8rem;
    line-height: 1.42;
  }
  .home-search-console-links a {
    min-height: 0;
    padding: .68rem .75rem;
  }
  .home-search-console-links a small {
    display: none;
  }
}
.home-topic-cta {
  position: relative;
  overflow: hidden;
  justify-self: start;
  justify-content: center;
  border-color: rgba(226,232,240,.95);
  box-shadow: 0 10px 24px rgba(15,42,107,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease;
}
.home-topic-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.22), transparent 62%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}
.home-topic-cta:hover,
.home-topic-cta:focus-visible,
.home-topic-cta.is-pointer-hover {
  transform: translateY(-2px) scale(1.02) !important;
  background: linear-gradient(135deg, var(--orange-600) 0%, #c2410c 100%) !important;
  border-color: #c2410c !important;
  color: #fff !important;
  box-shadow:
    0 16px 30px rgba(234,88,12,.24),
    0 0 0 1px rgba(234,88,12,.18),
    0 0 24px rgba(234,88,12,.16) !important;
}
.home-topic-cta:hover::after,
.home-topic-cta:focus-visible::after,
.home-topic-cta.is-pointer-hover::after {
  opacity: 1;
}
.home-topic-cta:hover i,
.home-topic-cta:focus-visible i,
.home-topic-cta.is-pointer-hover i {
  color: #fff !important;
  transform: translateX(1px);
}
.home-topic-cta--primary {
  background: linear-gradient(135deg, var(--orange-600) 0%, #c2410c 100%) !important;
  border-color: #c2410c !important;
  color: #fff !important;
  box-shadow:
    0 16px 30px rgba(234,88,12,.2),
    0 0 0 1px rgba(234,88,12,.16);
}
.home-topic-cta--primary:hover,
.home-topic-cta--primary:focus-visible,
.home-topic-cta--primary.is-pointer-hover {
  background: linear-gradient(135deg, #fb923c 0%, var(--orange-600) 52%, #9a3412 100%) !important;
  box-shadow:
    0 18px 34px rgba(234,88,12,.3),
    0 0 0 1px rgba(234,88,12,.2),
    0 0 32px rgba(234,88,12,.22) !important;
}
.home-high-signal-details {
  margin-top: .95rem;
  border: 1px solid rgba(251,146,60,.2);
  border-radius: 1.35rem;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,247,237,.74));
  box-shadow: 0 12px 28px rgba(15,42,107,.05);
  overflow: hidden;
}
.home-high-signal-details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .9rem;
  padding: .9rem 1rem;
  color: var(--navy-900);
  font-weight: 900;
}
.home-high-signal-details summary::-webkit-details-marker {
  display: none;
}
.home-high-signal-details summary::after {
  content: "+";
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: rgba(251,146,60,.14);
  color: #c2410c;
  font-size: 1.2rem;
  line-height: 1;
  transition: transform .18s ease, background-color .18s ease, color .18s ease;
}
.home-high-signal-details[open] summary::after {
  content: "-";
  transform: rotate(180deg);
  background: #c2410c;
  color: #fff;
}
.home-high-signal-details summary:focus-visible {
  outline: 3px solid rgba(234,88,12,.26);
  outline-offset: 3px;
}
.home-high-signal-details summary span,
.home-high-signal-details summary small {
  display: block;
}
.home-high-signal-summary-copy {
  min-width: 0;
}
.home-high-signal-details summary small {
  color: #64748b;
  font-size: .76rem;
  font-weight: 800;
  margin-top: .12rem;
}
.home-high-signal-details[open] {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,237,.92));
  border-color: rgba(251,146,60,.34);
}
.home-high-signal-details[open] .home-high-signal-links {
  margin-top: 0;
  padding: 0 1rem 1rem;
}
.home-high-signal-links {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .9rem;
}
.home-high-signal-links a {
  --signal-rgb: 251, 146, 60;
  --signal-solid: #c2410c;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--signal-rgb), .24);
  background: rgba(var(--signal-rgb), .1);
  color: var(--signal-solid);
  border-radius: 9999px;
  padding: .62rem .9rem;
  font-size: .82rem;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(var(--signal-rgb), .08);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.home-high-signal-links a:hover,
.home-high-signal-links a:focus-visible {
  transform: translateY(-2px);
  background: linear-gradient(135deg, rgba(var(--signal-rgb), .92) 0%, var(--signal-solid) 100%);
  border-color: var(--signal-solid);
  color: #fff;
  box-shadow: 0 16px 30px rgba(var(--signal-rgb), .24);
}
.home-high-signal-links a:nth-child(4n+2) {
  --signal-rgb: 37, 99, 235;
  --signal-solid: #1d4ed8;
}
.home-high-signal-links a:nth-child(4n+3) {
  --signal-rgb: 5, 150, 105;
  --signal-solid: #047857;
}
.home-high-signal-links a:nth-child(4n) {
  --signal-rgb: 190, 18, 60;
  --signal-solid: #be123c;
}
.home-access-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin-top: 1rem;
}
.home-access-review {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .58rem .82rem;
  border-radius: 9999px;
  border: 1px solid rgba(251,146,60,.35);
  background: #fff7ed;
  color: #9a3412;
  font-size: .82rem;
  font-weight: 800;
  box-shadow: 0 6px 18px rgba(15,42,107,.04);
}
.home-topic-box {
  margin-top: 1.15rem;
}
.home-topic-row-head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .9rem;
}
.home-topic-row-copy {
  max-width: 46rem;
}
.home-topic-row-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.55rem;
  padding: .62rem .9rem;
  border-radius: 9999px;
  border: 1px solid rgba(251,146,60,.34);
  background: #fff7ed;
  color: #9a3412;
  font-size: .84rem;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(15,42,107,.05);
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.home-topic-row-link:hover,
.home-topic-row-link:focus-visible {
  transform: translateY(-2px);
  background: #ea580c;
  border-color: #c2410c;
  color: #fff;
  box-shadow: 0 16px 30px rgba(234,88,12,.2);
  outline: none;
}
.home-topic-scroller {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .85rem;
  overflow: visible;
  padding-bottom: 0;
  scroll-snap-type: none;
}
.home-topic-scroller.home-topic-scroller--compact:not(.show-all-topics) .home-topic-card:nth-of-type(n+9) {
  display: none;
}
.home-topic-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin-top: 1rem;
}
.home-topic-actions a,
.home-topic-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .7rem 1rem;
  border-radius: 9999px;
  border: 1px solid rgba(251,146,60,.38);
  background: #fff7ed;
  color: #9a3412;
  font-size: .85rem;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(15,42,107,.06);
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.home-topic-actions a {
  background: var(--navy-900);
  border-color: var(--navy-900);
  color: #fff;
}
.home-topic-actions a:hover,
.home-topic-actions a:focus-visible,
.home-topic-actions button:hover,
.home-topic-actions button:focus-visible {
  transform: translateY(-2px);
  background: #ea580c;
  border-color: #c2410c;
  color: #fff;
  box-shadow: 0 16px 32px rgba(234,88,12,.2);
  outline: none;
}
.home-topic-card {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-height: 8.8rem;
  padding: 1rem 1.05rem;
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(226,232,240,.95);
  color: var(--navy-900);
  box-shadow: 0 10px 22px rgba(15,42,107,.05);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, color .22s ease;
}
.home-topic-rank {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: .36rem .58rem;
  border-radius: 9999px;
  background: rgba(15,42,107,.06);
  color: var(--navy-900);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.home-topic-card-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.15;
}
.home-topic-card-copy {
  color: #475569;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.45;
}
.home-topic-card:hover {
  transform: translateY(-3px);
  border-color: rgba(251,146,60,.88);
  background: linear-gradient(180deg, #fffdf8 0%, #fff7ed 100%);
  color: #c2410c;
  box-shadow:
    0 18px 34px rgba(15,42,107,.08),
    0 0 0 1px rgba(251,146,60,.16),
    0 0 32px rgba(251,146,60,.22);
}
.home-topic-card:hover .home-topic-card-title,
.home-topic-card:focus-visible .home-topic-card-title {
  color: #9a3412;
}
.home-topic-card:hover .home-topic-card-copy,
.home-topic-card:focus-visible .home-topic-card-copy {
  color: #7c2d12;
}
.home-topic-card:hover .home-topic-rank,
.home-topic-card:focus-visible .home-topic-rank {
  background: rgba(251,146,60,.14);
  color: #9a3412;
}
.home-topic-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(251,146,60,.88);
  background: linear-gradient(180deg, #fffdf8 0%, #fff7ed 100%);
  box-shadow:
    0 18px 34px rgba(15,42,107,.08),
    0 0 0 1px rgba(251,146,60,.16),
    0 0 32px rgba(251,146,60,.22);
}

/* --- Rutas de alta intención: hover más marcado en links --- */
.home-route-card {
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease;
}
.home-route-card:hover,
.home-route-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(251,146,60,.72);
  background: linear-gradient(180deg, #ffedd5 0%, #fff7ed 100%);
  box-shadow:
    0 22px 46px rgba(15,42,107,.1),
    0 0 0 1px rgba(251,146,60,.2),
    0 0 38px rgba(251,146,60,.28);
}
.home-route-link {
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(15,42,107,.05);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease,
    filter .18s ease;
}
.home-route-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.24), transparent 58%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}
.home-route-link:hover,
.home-route-link:focus-visible,
.home-route-link.is-pointer-hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow:
    0 14px 26px rgba(15,42,107,.1),
    0 0 0 1px rgba(251,146,60,.18),
    0 0 22px rgba(251,146,60,.18) !important;
}
.home-route-link:hover::after,
.home-route-link:focus-visible::after,
.home-route-link.is-pointer-hover::after {
  opacity: 1;
}
.home-route-link--primary:hover,
.home-route-link--primary:focus-visible,
.home-route-link--primary.is-pointer-hover {
  background: #c2410c !important;
  border-color: #c2410c !important;
  color: #fff !important;
}
.home-route-link:not(.home-route-link--primary):hover,
.home-route-link:not(.home-route-link--primary):focus-visible,
.home-route-link:not(.home-route-link--primary).is-pointer-hover {
  background: linear-gradient(135deg, #fb923c 0%, var(--orange-600) 58%, #c2410c 100%) !important;
  border-color: #c2410c !important;
  color: #fff !important;
  box-shadow:
    0 16px 30px rgba(234,88,12,.26),
    0 0 0 1px rgba(234,88,12,.18),
    0 0 28px rgba(234,88,12,.22) !important;
}
.home-route-card:hover .home-route-link:not(:hover):not(:focus-visible),
.home-route-card:focus-within .home-route-link:not(:hover):not(:focus-visible) {
  border-color: rgba(234,88,12,.42) !important;
  background: #fff7ed !important;
  color: #9a3412 !important;
}
.home-route-priority-note {
  display: inline-flex;
  align-items: center;
  margin: 1rem 0 0;
  padding: .75rem 1rem;
  border: 1px solid rgba(251,146,60,.24);
  border-radius: 999px;
  background: rgba(255,247,237,.82);
  color: #9a3412;
  font-size: .88rem;
  font-weight: 850;
  line-height: 1.45;
}
#rutas-busqueda.routes-compact:not(.show-all-routes) .home-route-card:nth-of-type(n+5) {
  display: none;
}
.home-route-toggle-wrap {
  display: flex;
  justify-content: center;
  margin-top: 1.35rem;
}
.home-route-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .85rem 1.25rem;
  border-radius: 9999px;
  border: 1px solid rgba(251,146,60,.38);
  background: #fff7ed;
  color: #9a3412;
  font-size: .9rem;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(15,42,107,.06);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.home-route-toggle:hover,
.home-route-toggle:focus-visible {
  transform: translateY(-2px);
  background: linear-gradient(135deg, #fb923c, #ea580c);
  color: #fff;
  box-shadow: 0 16px 32px rgba(234,88,12,.22);
  outline: none;
}

/* --- Hubs de portada: contraste, jerarquia y separacion compacta --- */
#hubs-clinicos .grid[aria-label="Hubs clinicos principales"] {
  align-items: stretch;
}
#hubs-clinicos [data-home-hub] {
  --hub-accent-rgb: 29, 78, 216;
  --hub-accent-solid: #1d4ed8;
  --hub-title: #0f172a;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-height: 100%;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--hub-accent-rgb), .14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,1));
  border-color: rgba(var(--hub-accent-rgb), .22) !important;
  box-shadow: 0 16px 40px rgba(15,42,107,.07);
}
#hubs-clinicos [data-home-hub]::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: .42rem;
  background: linear-gradient(90deg, rgba(var(--hub-accent-rgb), .92), rgba(var(--hub-accent-rgb), .42));
  opacity: .95;
}
#hubs-clinicos [data-home-hub] > * {
  position: relative;
  z-index: 1;
}
#hubs-clinicos [data-home-hub] > span:first-child {
  width: fit-content;
  background: rgba(var(--hub-accent-rgb), .1) !important;
  color: var(--hub-accent-solid) !important;
  border-color: rgba(var(--hub-accent-rgb), .18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
#hubs-clinicos [data-home-hub] h3 {
  color: var(--hub-title) !important;
  font-size: 1.32rem;
  line-height: 1.2;
  letter-spacing: -.015em;
  text-wrap: balance;
  margin-top: .05rem !important;
  margin-bottom: .2rem !important;
}
#hubs-clinicos [data-home-hub] p {
  color: #334155 !important;
  font-weight: 700 !important;
  margin-bottom: 0 !important;
}
#hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 {
  margin-top: 0;
  row-gap: .55rem;
}
#hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 > a {
  white-space: normal;
  line-height: 1.25;
  box-shadow: 0 8px 20px rgba(15,42,107,.05);
}
#hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 > a:first-child {
  background: var(--hub-accent-solid) !important;
  color: #fff !important;
  border-color: rgba(var(--hub-accent-rgb), .92) !important;
  box-shadow: 0 10px 24px rgba(var(--hub-accent-rgb), .22);
}
#hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 > a:first-child:hover,
#hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 > a:first-child:focus-visible {
  background: var(--hub-accent-solid) !important;
  color: #fff !important;
  filter: brightness(.94);
}
#hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 > a:not(:first-child) {
  border-color: rgba(var(--hub-accent-rgb), .16) !important;
  background: rgba(255,255,255,.95) !important;
  color: #0f172a !important;
}
#hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 > a:not(:first-child):hover,
#hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 > a:not(:first-child):focus-visible {
  border-color: rgba(var(--hub-accent-rgb), .38) !important;
  background: rgba(var(--hub-accent-rgb), .08) !important;
  color: var(--hub-accent-solid) !important;
}
#hubs-clinicos .home-hub-toggle {
  display: none;
}
#hubs-clinicos [data-home-hub]:hover,
#hubs-clinicos [data-home-hub]:focus-within {
  transform: translateY(-4px);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--hub-accent-rgb), .22), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,1), rgba(var(--hub-accent-rgb), .085));
  box-shadow:
    0 22px 48px rgba(15,42,107,.12),
    0 0 0 1px rgba(var(--hub-accent-rgb), .14),
    0 0 46px rgba(var(--hub-accent-rgb), .18);
  border-color: rgba(var(--hub-accent-rgb), .44) !important;
}
#hubs-clinicos [data-home-hub]:hover h3,
#hubs-clinicos [data-home-hub]:focus-within h3 {
  color: color-mix(in srgb, var(--hub-accent-solid) 82%, #0f172a) !important;
}
#hubs-clinicos [data-home-hub]:hover p,
#hubs-clinicos [data-home-hub]:focus-within p {
  color: #1e293b !important;
}
#hubs-clinicos [data-home-hub]:hover .flex.flex-wrap.gap-2 > a:not(:hover):not(:focus-visible),
#hubs-clinicos [data-home-hub]:focus-within .flex.flex-wrap.gap-2 > a:not(:hover):not(:focus-visible) {
  border-color: rgba(var(--hub-accent-rgb), .3) !important;
  background: rgba(var(--hub-accent-rgb), .08) !important;
}
#hubs-clinicos [data-home-hub="neurodesarrollo"] {
  --hub-accent-rgb: 37, 99, 235;
  --hub-accent-solid: #1d4ed8;
}
#hubs-clinicos [data-home-hub="ansiedad"] {
  --hub-accent-rgb: 5, 150, 105;
  --hub-accent-solid: #047857;
}
#hubs-clinicos [data-home-hub="animo"] {
  --hub-accent-rgb: 234, 88, 12;
  --hub-accent-solid: #c2410c;
}
#hubs-clinicos [data-home-hub="sueno-somatico"] {
  --hub-accent-rgb: 51, 65, 85;
  --hub-accent-solid: #1e293b;
}
#hubs-clinicos [data-home-hub="urgencias-medico"] {
  --hub-accent-rgb: 220, 38, 38;
  --hub-accent-solid: #b91c1c;
}
#hubs-clinicos [data-home-hub="personalidad-vinculos"] {
  --hub-accent-rgb: 109, 40, 217;
  --hub-accent-solid: #6d28d9;
}
#hubs-clinicos [data-home-hub="adicciones-conductas"] {
  --hub-accent-rgb: 190, 24, 93;
  --hub-accent-solid: #be185d;
}
#hubs-clinicos [data-home-hub="sexualidad-salud-mental"] {
  --hub-accent-rgb: 219, 39, 119;
  --hub-accent-solid: #be185d;
}
#hubs-clinicos [data-home-hub="tests"] {
  --hub-accent-rgb: 79, 70, 229;
  --hub-accent-solid: #4338ca;
}

/* --- Hover / Lift --- */
.hover-lift { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.hover-lift:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(15,42,107,.08); }

/* --- Focus visible (accesibilidad) --- */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid rgba(234,88,12,.35);
  outline-offset: 3px;
}

/* --- Imágenes patologías --- */
.pathology-img { filter: grayscale(35%); transition: all 0.5s ease; transform: scale(1); }
.group:hover .pathology-img { filter: grayscale(0%); transform: scale(1.04); }
.pathology-question-link { color: #c2410c; }
.pathology-question-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* --- Mini header sticky --- */
#miniHeader { transform: translateY(-120%); transition: transform 0.35s cubic-bezier(.4,0,.2,1); position:fixed; top:0; left:0; right:0; z-index:60; }
#miniHeader.visible { transform: translateY(0); }
#miniHeader .font-heading { color: var(--navy-900); }
#miniHeader a { font-size:.78rem; }
#miniHeader img { display:block; }

/* --- Navbar --- */
.nav-link.active { background-color: var(--navy-900) !important; color: #fff !important; }

/* --- Carrusel dots --- */
.c-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.4); transition:all .3s ease; cursor:pointer; border:none; padding:0; }
.c-dot.active { width:24px; border-radius:4px; background:#fff; }

/* --- FAQ accordion --- */
.faq-body { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.faq-body.open { max-height:500px; }
.faq-icon { transition:transform .3s ease; display:inline-block; }
.faq-icon.open { transform:rotate(180deg); }
.faq-q { scroll-margin-top: 6rem; }

/* --- Skip nav (accesibilidad) --- */
.skip-nav { position:absolute; left:-9999px; top:4px; z-index:9999; background: var(--navy-900); color:#fff; padding:8px 16px; border-radius:4px; font-weight:700; text-decoration:none; }
.skip-nav:focus { left:4px; }

/* --- Contadores animados --- */
.count-animated { transition:color .3s ease; }
@keyframes fadeInUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.stat-card { opacity:1; }

/* --- Copiar al portapapeles --- */
.copy-ok { color: #16a34a !important; }

/* --- Telemedicina/Online steps --- */
.tele-step { transition: transform .3s ease, box-shadow .3s ease; }

/* --- SVG semánticos y layouts editoriales --- */
.section-split,
.test-hero-grid,
.urgency-layout {
  display: grid;
  gap: 1.5rem;
  align-items: center;
}
.section-illustration {
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.98));
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 2rem;
  box-shadow: 0 14px 36px rgba(15,42,107,.06);
  margin: 0;
  padding: 1rem;
  aspect-ratio: 4 / 3;
  min-height: 12rem;
  display: grid;
  place-items: center;
}
.section-illustration--danger {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(254,242,242,.98));
  border-color: rgba(252,165,165,.55);
}
.section-illustration img,
.svg-badge img,
.tele-step-icon img,
.mini-info-icon img,
.link-card-icon img,
.stat-card-icon img,
.inline-badge-icon img {
  width: 100%;
  height: auto;
  display: block;
}
.section-illustration--xs { width: min(100%, 17rem); max-width: 17rem; margin-inline: auto; }
.section-illustration--sm { width: min(100%, 21rem); max-width: 21rem; margin-inline: auto; }
.svg-badge,
.tele-step-icon,
.mini-info-icon,
.link-card-icon,
.stat-card-icon,
.inline-badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(226,232,240,.95);
}
.svg-badge {
  width: 3rem;
  height: 3rem;
  min-width: 3rem;
  border-radius: 1rem;
  padding: .3rem;
  box-shadow: 0 8px 18px rgba(15,42,107,.05);
}
.tele-step-icon {
  width: 4.5rem;
  height: 4.5rem;
  margin: 0 auto 1rem;
  border-radius: 1.25rem;
  padding: .55rem;
  box-shadow: 0 10px 24px rgba(15,42,107,.06);
}
.mini-info-card { position: relative; }
.mini-info-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1.1rem;
  padding: .45rem;
  margin-bottom: 1rem;
  box-shadow: 0 10px 22px rgba(15,42,107,.05);
}
#reserva .mini-info-icon {
  width: 7rem;
  height: 7rem;
  border-radius: 1.9rem;
  padding: .9rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 16px 34px rgba(15,42,107,.09);
}
.link-card-icon {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 1.25rem;
  padding: .55rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 10px 24px rgba(15,42,107,.08);
}
.stat-card-icon {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 1rem;
  padding: .45rem;
  margin: 0 auto .85rem;
  background: linear-gradient(180deg, rgba(239,246,255,.85), rgba(255,247,237,.8));
  box-shadow: 0 10px 24px rgba(15,42,107,.05);
}
.inline-badge-icon {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: .8rem;
  padding: .15rem;
  background: rgba(255,255,255,.72);
}
.prebooking-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  margin: 0 auto 1.2rem;
  text-align: left;
}
.prebooking-card {
  position: relative;
  overflow: hidden;
  min-height: 10.5rem;
  padding: 1rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(251,146,60,.24);
  background:
    radial-gradient(circle at 100% 0%, rgba(251,146,60,.14), transparent 44%),
    linear-gradient(180deg, #ffffff, #fff7ed);
  color: #334155;
  box-shadow: 0 12px 28px rgba(15,42,107,.06);
}
.prebooking-card strong {
  display: block;
  margin: .35rem 0 .45rem;
  color: var(--navy-900);
  font-size: 1.08rem;
  font-weight: 950;
  line-height: 1.15;
}
.prebooking-card p {
  color: #64748b;
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.45;
}
.prebooking-card--price {
  border-color: rgba(194,65,12,.4);
  background:
    radial-gradient(circle at 100% 0%, rgba(234,88,12,.2), transparent 44%),
    linear-gradient(180deg, #fff7ed, #ffffff);
}
.prebooking-card--price strong {
  color: #c2410c;
  font-size: 1.35rem;
}
.prebooking-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 1.75rem;
  padding: .35rem .6rem;
  border-radius: 9999px;
  background: rgba(255,255,255,.72);
  color: #9a3412;
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(251,146,60,.2);
}
.prebooking-fit-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
  margin: 0 auto 1.1rem;
  text-align: left;
}
.prebooking-fit-column {
  position: relative;
  overflow: hidden;
  min-height: 11rem;
  padding: 1rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(15,42,107,.12);
  background:
    radial-gradient(circle at 100% 0%, rgba(59,130,246,.1), transparent 42%),
    linear-gradient(180deg, #ffffff, #f8fafc);
  box-shadow: 0 12px 28px rgba(15,42,107,.06);
}
.prebooking-fit-column--warning {
  border-color: rgba(239,68,68,.2);
  background:
    radial-gradient(circle at 100% 0%, rgba(248,113,113,.12), transparent 44%),
    linear-gradient(180deg, #fff, #fff7ed);
}
.prebooking-fit-column strong {
  display: block;
  margin: .45rem 0 .45rem;
  color: var(--navy-900);
  font-size: 1.08rem;
  font-weight: 950;
  line-height: 1.18;
}
.prebooking-fit-column--warning strong {
  color: #991b1b;
}
.prebooking-fit-column p {
  color: #64748b;
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.5;
}
.prebooking-fit-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: .85rem;
  padding: .7rem .9rem;
  border-radius: 9999px;
  background: #fff7ed;
  color: #9a3412;
  font-size: .82rem;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(251,146,60,.24);
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.prebooking-fit-link:hover,
.prebooking-fit-link:focus-visible {
  transform: translateY(-1px);
  background: #ea580c;
  color: #fff;
  outline: none;
}
.booking-decision-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
  margin: 0 auto 1.15rem;
  text-align: left;
}
.booking-decision-strip a {
  display: grid;
  gap: .25rem;
  min-height: 5.25rem;
  padding: .9rem 1rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(251,146,60,.28);
  background: #fff;
  color: var(--navy-900);
  box-shadow: 0 10px 24px rgba(15,42,107,.06);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.booking-decision-strip a span {
  color: #9a3412;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.booking-decision-strip a strong {
  font-size: .98rem;
  font-weight: 950;
  line-height: 1.2;
}
.booking-decision-strip a:hover,
.booking-decision-strip a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(194,65,12,.62);
  background: linear-gradient(135deg, #fb923c, #ea580c);
  color: #fff;
  box-shadow: 0 18px 34px rgba(234,88,12,.22);
  outline: none;
}
.booking-decision-strip a:hover span,
.booking-decision-strip a:focus-visible span {
  color: #fff7ed;
}
@media (max-width: 960px) {
  .prebooking-fit-card {
    grid-template-columns: 1fr;
  }
  .booking-decision-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .prebooking-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .prebooking-panel {
    grid-template-columns: 1fr;
  }
  .prebooking-card {
    min-height: auto;
  }
  .prebooking-fit-column {
    min-height: auto;
  }
  .booking-decision-strip {
    grid-template-columns: 1fr;
  }
  .booking-decision-strip a {
    min-height: auto;
  }
}

/* --- Ticker --- */
#tickerContent { will-change:transform; }
#tickerContent:hover { animation-play-state: paused; }

/* --- Home helpers --- */
@supports (content-visibility: auto) {
  #screenings-referenciales,
  #solicitudes,
  #novedades,
  #patologias,
  #faq,
  #alcance-atencion,
  #enlaces-interes,
  #urgencias {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
  }
}

/* Keep legacy trust/request sections immediately available for anchors and text rendering. */
#quien-es,
#acreditaciones,
#solicitudes {
  content-visibility: visible !important;
}
#headerSearchForm { overflow: hidden; }
#headerSearchForm button { right: .5rem; left: auto; }
.hero-action-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .7rem;
  margin-top: 1.05rem;
}
.hero-action-row--guided {
  align-items: stretch;
}
.hero-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 2.65rem;
  padding: .74rem 1rem;
  border-radius: 9999px;
  font-size: .86rem;
  font-weight: 900;
  line-height: 1.1;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease,
    color .18s ease;
}
.hero-action-row--guided .hero-action {
  flex: 1 1 12.5rem;
  max-width: 15.8rem;
  min-height: 4rem;
  justify-content: flex-start;
  border-radius: 1.15rem;
  text-align: left;
}
.hero-action-copy {
  display: grid;
  gap: .18rem;
}
.hero-action-copy strong,
.hero-action-copy small {
  display: block;
}
.hero-action-copy small {
  font-size: .72rem;
  font-weight: 800;
  opacity: .82;
}
.hero-action--primary {
  color: #fff;
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  border: 1px solid rgba(251,146,60,.76);
  box-shadow: 0 14px 30px rgba(234,88,12,.28);
}
.hero-action--secondary {
  color: #e0f2fe;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.hero-action--followup {
  color: #dcfce7;
  background: rgba(22,163,74,.14);
  border: 1px solid rgba(134,239,172,.28);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.hero-action:hover,
.hero-action:focus-visible {
  transform: translateY(-2px);
}
.hero-action--primary:hover,
.hero-action--primary:focus-visible {
  background: linear-gradient(135deg, #fb923c 0%, #c2410c 100%);
  box-shadow: 0 18px 34px rgba(234,88,12,.36);
}
.hero-action--secondary:hover,
.hero-action--secondary:focus-visible {
  color: #fff;
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.34);
}
.hero-action--followup:hover,
.hero-action--followup:focus-visible {
  color: #fff;
  background: rgba(22,163,74,.26);
  border-color: rgba(134,239,172,.42);
}
.home-hero-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  margin-top: 1rem;
  text-align: left;
}
.home-hero-proof span {
  display: grid;
  gap: .2rem;
  min-width: 0;
  padding: .78rem .86rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.home-hero-proof strong {
  color: #fff;
  font-size: .94rem;
  font-weight: 950;
  line-height: 1.05;
}
.home-hero-proof small {
  color: rgba(219,234,254,.86);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.25;
}
.home-hero-doctor-card__chips {
  display: grid;
  grid-template-columns: 1fr;
  gap: .35rem;
  margin-top: .6rem;
}
.home-hero-doctor-card {
  display: block;
}
.home-hero-doctor-card img,
.home-mobile-doctor-card img {
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
}
.home-hero-doctor-card__chips span {
  display: block;
  border-radius: 999px;
  border: 1px solid rgba(15,42,107,.10);
  background: #f8fafc;
  color: var(--navy-900);
  font-size: .66rem;
  font-weight: 950;
  line-height: 1;
  padding: .45rem .55rem;
  text-align: center;
}
.home-mobile-doctor-card__meta {
  display: block;
  margin-top: .18rem;
  color: rgba(219,234,254,.82);
  font-size: .68rem;
  font-weight: 850;
}
.home-hero-trust-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem;
  margin: .85rem auto 0;
}
.home-hero-trust-links a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: .42rem .72rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 9999px;
  background: rgba(255,255,255,.10);
  color: #eff6ff;
  font-size: .74rem;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(15,23,42,.12);
  transition: background-color .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}
.home-hero-trust-links a:hover,
.home-hero-trust-links a:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.45);
  background: #fff;
  color: var(--navy-900);
  outline: none;
}
.home-hero-route-map {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem;
  margin-top: .85rem;
}
.home-hero-route-map span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(219,234,254,.92);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1;
  padding: .52rem .7rem;
}
.home-hero-route-map b {
  color: #fff;
  font-weight: 950;
}
.credential-gallery-intro,
.request-groups-strip,
.carousel-context-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}
.credential-gallery-intro {
  justify-content: space-between;
  margin-bottom: 1.35rem;
  padding: 1rem;
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 8% 0%, rgba(251,146,60,.16), transparent 34%),
    linear-gradient(135deg, #fff 0%, #f8fafc 100%);
}
.credential-gallery-intro div {
  display: grid;
  gap: .22rem;
  min-width: 16rem;
  flex: 1 1 26rem;
}
.credential-gallery-intro span,
.carousel-context-row > span {
  color: #ea580c;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.credential-gallery-intro strong {
  color: var(--navy-900);
  font-size: 1.05rem;
  font-weight: 950;
}
.credential-gallery-intro p {
  margin: 0;
  color: #475569;
  font-weight: 650;
  line-height: 1.55;
}
.credential-gallery-intro a,
.carousel-context-row a,
.request-groups-strip a {
  text-decoration: none;
}
.credential-gallery-intro a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(234,88,12,.24);
  background: #fff7ed;
  color: #9a3412;
  font-size: .85rem;
  font-weight: 950;
  padding: .7rem 1rem;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.credential-gallery-intro a:hover,
.credential-gallery-intro a:focus-visible {
  transform: translateY(-1px);
  background: #ffedd5;
  box-shadow: 0 12px 24px rgba(234,88,12,.14);
}
.request-groups-strip {
  margin: -.35rem 0 1.25rem;
}
.request-groups-strip a {
  display: grid;
  gap: .15rem;
  flex: 1 1 10.5rem;
  min-width: min(100%, 10.5rem);
  padding: .88rem 1rem;
  border: 1px solid rgba(226,232,240,.96);
  border-radius: 1rem;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 24px rgba(15,42,107,.04);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.request-groups-strip a:hover,
.request-groups-strip a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(251,146,60,.56);
  box-shadow: 0 16px 30px rgba(234,88,12,.12);
}
.request-groups-strip a.request-group-featured {
  order: -1;
  border-color: rgba(245,158,11,.62);
  background:
    radial-gradient(circle at 10% 0%, rgba(251,146,60,.22), transparent 38%),
    linear-gradient(135deg, #fff7ed 0%, #fffbeb 62%, #fff 100%);
  box-shadow:
    0 16px 32px rgba(245,158,11,.12),
    0 0 0 1px rgba(245,158,11,.14);
}
.request-groups-strip a.request-group-featured span::after {
  content: "Más usado";
  display: inline-flex;
  margin-left: .5rem;
  padding: .18rem .45rem;
  border-radius: 999px;
  background: #fef3c7;
  color: #92400e;
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
  vertical-align: middle;
}
.request-groups-strip span {
  color: var(--navy-900);
  font-size: .92rem;
  font-weight: 950;
}
.request-groups-strip small {
  color: #64748b;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.25;
}
.carousel-context-row {
  margin-bottom: 1.5rem;
}
.carousel-context-row a {
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 999px;
  background: #fff;
  color: var(--navy-900);
  font-size: .84rem;
  font-weight: 950;
  padding: .55rem .9rem;
  box-shadow: 0 8px 18px rgba(15,42,107,.04);
  transition: transform .2s ease, border-color .2s ease, color .2s ease;
}
.carousel-context-row a:hover,
.carousel-context-row a:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(251,146,60,.52);
  color: #c2410c;
}
@media (max-width: 820px) {
  .home-hero-doctor-card {
    display: none !important;
  }
  .home-hero-proof {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .credential-gallery-intro {
    align-items: flex-start;
  }
}
@media (max-width: 520px) {
  .home-hero-proof {
    grid-template-columns: 1fr;
  }
  .home-hero-proof span {
    padding: .72rem .8rem;
  }
  .home-hero-route-map {
    align-items: stretch;
    flex-direction: column;
  }
  .home-hero-route-map span {
    justify-content: center;
  }
  .request-groups-strip a {
    flex-basis: 100%;
  }
  .home-reserve-card {
    padding: .75rem !important;
    border-radius: 2rem !important;
  }
  #reserva a[data-home-origin="reserva_principal"] {
    width: 100%;
    max-width: none;
  }
}
#requestsGrid > div { min-width: 0; width: 100%; box-sizing: border-box; }
#requestsGrid > div > .flex-1 { min-width: 0; }
#requestsGrid h4,
#requestsGrid p,
#requestsGrid a { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.home-final-cta {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 10%, rgba(234,88,12,.16), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(15,42,107,.12), transparent 34%),
    linear-gradient(135deg, #fff7ed 0%, #ffffff 47%, #eff6ff 100%);
  color: var(--navy-900);
}
.home-final-cta::before {
  content: "";
  position: absolute;
  inset: 1rem;
  border: 1px solid rgba(251,146,60,.22);
  border-radius: 2.5rem;
  pointer-events: none;
}
.home-final-cta > div {
  position: relative;
  z-index: 1;
}
.home-final-cta h2 {
  color: var(--navy-900);
  text-wrap: balance;
}
.home-final-cta__eyebrow {
  color: #c2410c;
}
.home-final-cta__lead {
  color: #334155;
}
.home-final-cta__actions {
  width: min(100%, 40rem);
  margin-inline: auto;
}
.home-final-cta__primary {
  position: relative;
  min-width: min(100%, 17rem);
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
  box-shadow: 0 18px 38px rgba(249,115,22,.28);
  animation: home-final-cta-nudge 2.8s ease-in-out infinite;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease,
    filter .22s ease;
}
.home-final-cta__primary i {
  transition: transform .22s ease;
}
.home-final-cta__primary:hover,
.home-final-cta__primary:focus-visible {
  animation-play-state: paused;
  transform: translateY(-4px) scale(1.02);
  background: linear-gradient(135deg, #fb923c 0%, #f97316 100%);
  box-shadow: 0 26px 48px rgba(249,115,22,.34);
  filter: saturate(1.06);
}
.home-final-cta__primary:hover i,
.home-final-cta__primary:focus-visible i {
  transform: translateX(3px);
}
.home-final-cta__secondary {
  min-width: min(100%, 15rem);
  color: var(--navy-900);
  border: 1px solid rgba(15,42,107,.14);
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 24px rgba(15,42,107,.06);
}
.home-final-cta__secondary:hover,
.home-final-cta__secondary:focus-visible {
  color: #c2410c;
  border-color: rgba(251,146,60,.7);
  background: #fff;
}

@keyframes home-final-cta-nudge {
  0%, 100% {
    top: 0;
  }
  50% {
    top: -5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-final-cta__primary {
    animation: none;
  }
  .home-final-cta__primary:hover,
  .home-final-cta__primary:focus-visible,
  .home-final-cta__primary:hover i,
  .home-final-cta__primary:focus-visible i {
    transform: none;
  }
}

/* --- Secciones de texto --- */
#sesiones .prose p { margin-bottom:1rem; }
#quien-es .space-y-4 p, #sesiones .prose p, #screenings-referenciales p, #faq p { overflow-wrap:anywhere; }

/* --- Private form page polish --- */
.form-page {
  background:
    radial-gradient(circle at 88% 6%, rgba(234,88,12,.12), transparent 30%),
    linear-gradient(180deg, #f8fafc 0%, #fff7ed 100%);
}
.form-page.form-page--blue {
  background:
    radial-gradient(circle at 88% 6%, rgba(37,99,235,.13), transparent 30%),
    linear-gradient(180deg, #f8fafc 0%, #eff6ff 100%);
}
.form-page #main-content {
  border-color: rgba(255,255,255,.86);
  box-shadow: 0 24px 70px rgba(15,42,107,.10);
}
.form-page .form-section {
  border-radius: 1.75rem;
  border-color: rgba(226,232,240,.96);
  box-shadow: 0 14px 36px rgba(15,42,107,.07);
}
.form-page .form-section h2 {
  line-height: 1.25;
}
.form-page .form-section h2 .section-icon {
  box-shadow: inset 0 0 0 1px rgba(251,146,60,.18);
}
.form-page.form-page--blue .form-section h2 .section-icon {
  box-shadow: inset 0 0 0 1px rgba(96,165,250,.20);
}
.form-page .progress-bar-container {
  background: rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(226,232,240,.95);
  padding: 10px 16px;
}
.form-page .progress-text {
  color: #475569;
  font-weight: 800;
}
.form-page .form-btn-submit:disabled {
  background: #94a3b8;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}
.form-page .error-msg.visible {
  display: block;
}
.form-page :is(input, select, textarea) {
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.form-page :is(input, select, textarea):focus {
  outline: none;
  border-color: rgba(234,88,12,.85) !important;
  box-shadow: 0 0 0 4px rgba(251,146,60,.16) !important;
}
.form-page input[type="checkbox"],
.form-page input[type="radio"] {
  accent-color: #ea580c;
}
.form-page .quick-links {
  align-items: center;
}
.form-page .quick-link {
  min-height: 40px;
  box-shadow: 0 8px 18px rgba(15,42,107,.06);
}
.form-page .quick-link:hover,
.form-page .quick-link:focus-visible {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
  border-color: #c2410c !important;
  color: #fff !important;
  box-shadow: 0 16px 30px rgba(234,88,12,.22);
}
.form-page .quick-link:focus-visible {
  outline: 3px solid rgba(251,146,60,.3);
  outline-offset: 2px;
}
.form-page .loading-card,
.form-page .auto-save-indicator {
  border-radius: 1rem;
}
@media (max-width: 760px) {
  .home-final-cta::before {
    inset: .5rem;
    border-radius: 1.6rem;
  }
  .form-page #main-content {
    margin-top: 0;
    border-radius: 0;
  }
  .form-page .form-section {
    border-radius: 1.35rem;
    padding: 1rem;
  }
  .form-page .form-section h2 {
    font-size: 1rem;
  }
  .form-page .form-btn-submit {
    justify-content: center;
    text-align: center;
    width: 100%;
  }
  .form-page .quick-links {
    gap: .5rem;
  }
  .form-page .quick-link {
    flex: 1 1 100%;
    justify-content: center;
    text-align: center;
  }
}

/* --- Private form support strip --- */
.form-support-strip {
  width: min(1200px, calc(100% - 2rem));
  margin: 0 auto 2rem;
}
.form-support-strip > summary {
  list-style: none;
}
.form-support-strip > summary::-webkit-details-marker {
  display: none;
}
.form-support-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .45rem .8rem;
  align-items: center;
  padding: .85rem 1rem;
  border: 1px solid rgba(226,232,240,.96);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 100% 0, rgba(234,88,12,.08), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,247,237,.82));
  box-shadow: 0 12px 30px rgba(15,42,107,.07);
  cursor: pointer;
}
.form-support-summary span {
  color: var(--orange-600);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.form-support-summary strong {
  color: var(--navy-900);
  font-size: clamp(.98rem, .9rem + .35vw, 1.16rem);
  line-height: 1.18;
}
.form-support-summary em {
  grid-row: 1 / span 2;
  grid-column: 2;
  justify-self: end;
  align-self: center;
  border-radius: 999px;
  padding: .5rem .72rem;
  background: #fff;
  border: 1px solid rgba(251,146,60,.35);
  color: #c2410c;
  font-size: .76rem;
  font-style: normal;
  font-weight: 950;
}
.form-support-summary em::after {
  content: " +";
}
.form-support-strip[open] .form-support-summary {
  border-radius: 1.35rem 1.35rem .85rem .85rem;
  border-color: rgba(251,146,60,.48);
}
.form-support-strip[open] .form-support-summary em::after {
  content: " -";
}
.form-support-strip__inner {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.45fr);
  gap: 1rem;
  align-items: stretch;
  margin-top: .75rem;
  padding: clamp(1.1rem, 2.2vw, 1.6rem);
  border: 1px solid rgba(226,232,240,.96);
  border-radius: 2rem;
  background:
    radial-gradient(circle at 100% 0, rgba(234,88,12,.10), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,237,.9));
  box-shadow: 0 18px 42px rgba(15,42,107,.08);
}
.form-support-strip__copy {
  display: grid;
  align-content: center;
  gap: .55rem;
}
.form-support-strip__copy p {
  margin: 0;
  color: var(--orange-600);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.form-support-strip__copy h2 {
  margin: 0;
  color: var(--navy-900);
  font-size: clamp(1.25rem, 1rem + .8vw, 1.8rem);
  line-height: 1.1;
  font-weight: 900;
}
.form-support-strip__copy span {
  color: #475569;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.55;
}
.form-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.form-support-card {
  display: grid;
  gap: .35rem;
  min-width: 0;
  padding: .95rem 1rem;
  border: 1px solid rgba(226,232,240,.95);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.86);
  color: var(--navy-900);
  box-shadow: 0 10px 24px rgba(15,42,107,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.form-support-card:hover,
.form-support-card:focus-visible {
  color: #c2410c;
  border-color: rgba(251,146,60,.75);
  box-shadow: 0 16px 32px rgba(15,42,107,.09);
  transform: translateY(-1px);
}
.form-support-card strong {
  font-family: 'Montserrat', sans-serif;
  font-size: .96rem;
  font-weight: 900;
  line-height: 1.18;
}
.form-support-card span {
  color: #64748b;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 760px) {
  .form-support-strip {
    width: calc(100% - 1rem);
    margin-bottom: 1rem;
  }
  .form-support-summary {
    grid-template-columns: 1fr;
    border-radius: 1.1rem;
    padding: .82rem;
  }
  .form-support-summary em {
    grid-row: auto;
    grid-column: auto;
    justify-self: stretch;
    text-align: center;
  }
  .form-support-strip__inner {
    grid-template-columns: 1fr;
    border-radius: 1.35rem;
    padding: 1rem;
  }
  .form-support-grid {
    grid-template-columns: 1fr;
  }
}

/* --- Hero KPIs --- */
.hero-kpis { display:flex; flex-wrap:wrap; gap:.55rem; justify-content:center; margin-top:1rem; }
.hero-kpis span {
  display:inline-flex; align-items:center; gap:.38rem; padding:.55rem .82rem; border-radius:9999px;
  background:rgba(255,255,255,.92); border:1px solid rgba(226,232,240,.9); color: var(--navy-900);
  font-weight:800; box-shadow:0 6px 18px rgba(15,42,107,.04); font-size:.82rem; line-height:1.15;
}

/* --- Floating dock (desktop) --- */
.floating-dock {
  position:fixed; z-index:70;
  background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid rgba(226,232,240,.9); box-shadow:0 14px 36px rgba(15,42,107,.10);
  padding:.35rem; max-width:calc(100vw - 2rem);
}
.floating-dock-left {
  left:max(14px, env(safe-area-inset-left));
  bottom:14px;
  border-radius:1rem;
  box-shadow:0 18px 42px rgba(15,42,107,.13), 0 0 0 1px rgba(251,146,60,.08);
}
.floating-dock-right {
  right:max(14px, env(safe-area-inset-right));
  bottom:14px;
  border-radius:9999px;
}
.floating-dock a {
  display:inline-flex; align-items:center; gap:.35rem; padding:.55rem .65rem;
  border-radius:9999px; font-weight:900; font-size:.75rem;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.floating-dock a svg, .floating-dock a i { width:14px; height:14px; }
.floating-dock a:hover { transform: translateY(-1px); }
.floating-dock a:focus-visible { outline: 3px solid rgba(234,88,12,.28); outline-offset: 3px; }
/* --- Floating dock buttons (desktop) — cada canal con identidad visual propia --- */
.floating-dock a.dock-reservar { background: var(--orange-600); color:#fff; }
.floating-dock a.dock-reservar:hover { background:#c2410c; }
.floating-dock a.dock-whatsapp { background:#22c55e; color:#fff; }
.floating-dock a.dock-whatsapp:hover { background:#16a34a; }
.floating-dock a.dock-email {
  position:relative;
  isolation:isolate;
  min-height:2.55rem;
  padding:.6rem .78rem;
  background:#fff7ed;
  color:#c2410c;
  border:1px solid rgba(251,146,60,.4);
  box-shadow:0 10px 22px rgba(234,88,12,.12);
  overflow:hidden;
}
.floating-dock a.dock-email::after {
  content:"";
  position:absolute;
  inset:-45% auto auto -25%;
  width:52%;
  height:190%;
  z-index:-1;
  background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.72) 48%, transparent 100%);
  transform:rotate(16deg) translateX(-120%);
  transition:transform .46s ease;
}
.floating-dock a.dock-email:hover,
.floating-dock a.dock-email:focus-visible {
  transform:translateY(-2px);
  background:linear-gradient(135deg,#ea580c,#f97316);
  color:#fff;
  border-color:rgba(234,88,12,.72);
  box-shadow:0 16px 32px rgba(234,88,12,.24);
}
.floating-dock a.dock-email:hover::after,
.floating-dock a.dock-email:focus-visible::after {
  transform:rotate(16deg) translateX(285%);
}

@media (min-width: 768px) {
  .floating-dock-left,
  .floating-dock-right {
    display: flex !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-dock a.dock-email,
  .floating-dock a.dock-email::after {
    transition:none;
  }
}

/* --- Mobile action bar buttons — diferenciados --- */
.mobile-action-bar a.mob-reservar { background: var(--orange-600); color:#fff; }
.mobile-action-bar a.mob-sobrecupo { background:#2563eb; color:#fff; }
.mobile-action-bar a.mob-solicitudes { background:#047857; color:#fff; }
.mobile-action-bar a.mob-online { background:#0f172a; color:#fff; }
.mobile-action-bar a.mob-urgencia { background:#b91c1c; color:#fff; }

/* --- Mobile action bar --- */
.mobile-action-bar {
  position:fixed; left:0; right:0; bottom:0; z-index:80;
  display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.45rem;
  padding:.42rem .55rem calc(.42rem + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.97); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border-top:1px solid rgba(226,232,240,.95); box-shadow:0 -10px 30px rgba(15,42,107,.08);
  min-height: calc(4.25rem + env(safe-area-inset-bottom));
}
.mobile-action-bar a.mob-reservar {
  grid-column: auto;
  flex-direction: row; gap:.5rem;
  padding:.72rem .75rem; border-radius:9999px;
  font-size:.82rem; font-weight:900;
  background: var(--orange-600); color:#fff;
  box-shadow: 0 4px 14px rgba(234,88,12,.3);
  justify-content: center;
}
.mobile-action-bar a {
  min-width:0; display:inline-flex; flex-direction:row; align-items:center; justify-content:center;
  gap:.38rem; padding:.7rem .5rem; border-radius:9999px; font-weight:900; font-size:.74rem;
  white-space:nowrap; line-height:1.1; text-align:center;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.mobile-action-bar a.mob-sobrecupo,
.mobile-action-bar a.mob-solicitudes,
.mobile-action-bar a.mob-online,
.mobile-action-bar a.mob-urgencia {
  grid-column: auto;
  flex-direction: row;
  justify-content: center;
  gap: .3rem;
  padding: .68rem .36rem;
  font-size: .68rem;
  box-shadow: 0 4px 14px rgba(15,23,42,.12);
}
.mobile-action-bar a:hover { transform: translateY(-1px); }
.mobile-action-bar a:focus-visible { outline: 3px solid rgba(234,88,12,.28); outline-offset: 3px; }
.mobile-action-bar a:active { transform: translateY(1px); }
.mobile-action-bar a.primary { background: var(--orange-600); color:#fff; }
.mobile-action-bar a.secondary { background:#f8fafc; color: var(--navy-900); border:1px solid rgba(226,232,240,.95); }

/* --- Scope cards (alcance de atención) --- */
.scope-grid { display:grid; gap:1rem; }
.scope-card {
  background: rgba(255,255,255,.96); border: 1px solid rgba(226,232,240,.95);
  border-radius: 1.75rem; padding: 1.4rem; box-shadow: 0 10px 28px rgba(15,42,107,.05);
}
.scope-card h3 { color: var(--navy-900); font-weight:900; margin-bottom:.6rem; font-size:1.05rem; }
.scope-card p { color:#475569; line-height:1.7; font-weight:600; }

/* --- Screening cards --- */
.screening-card-clickable {
  cursor:pointer;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display:flex;
  flex-direction:column;
  min-height: 19rem;
  gap: .35rem;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,1));
  border-color: rgba(226,232,240,.95) !important;
  box-shadow: 0 10px 26px rgba(15,42,107,.05);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, background-color .22s ease, color .22s ease;
}
.screening-card-clickable::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,247,237,.94) 0%, rgba(255,237,213,.98) 100%);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
}
.screening-card-clickable::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 60%);
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}
.screening-card-clickable > * {
  position: relative;
  z-index: 1;
}
.screening-card-clickable p {
  margin-bottom:auto;
  color: #475569 !important;
}
.screening-card-clickable h3 {
  color: var(--navy-900) !important;
  text-wrap: balance;
  transition: color .2s ease;
}
.screening-card-clickable > div:first-child {
  width: fit-content;
  padding: .38rem .65rem;
  border-radius: 9999px;
  background: rgba(251,146,60,.12);
  color: #c2410c !important;
  border: 1px solid rgba(251,146,60,.18);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.screening-card-cta {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: .55rem;
  margin-top: 1.25rem;
  padding: .75rem 1rem;
  border-radius: 9999px;
  border: 1px solid rgba(226,232,240,.95);
  background: #fff;
  color: var(--navy-900);
  font-size: .92rem;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(15,42,107,.05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease;
}
.screening-card-clickable:hover,
.screening-card-clickable:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(251,146,60,.88) !important;
  background: linear-gradient(180deg, #ffedd5 0%, #fed7aa 100%) !important;
  box-shadow:
    0 18px 34px rgba(15,42,107,.08),
    0 0 0 1px rgba(251,146,60,.3),
    0 0 42px rgba(251,146,60,.34);
}
.screening-card-clickable:hover::before,
.screening-card-clickable:focus-visible::before {
  opacity: 1;
}
.screening-card-clickable:hover::after,
.screening-card-clickable:focus-visible::after {
  opacity: 1;
}
.screening-card-clickable:hover h3,
.screening-card-clickable:focus-visible h3 {
  color: #9a3412 !important;
}
.screening-card-clickable:hover p,
.screening-card-clickable:focus-visible p {
  color: #7c2d12 !important;
}
.screening-card-clickable:hover > div:first-child,
.screening-card-clickable:focus-visible > div:first-child {
  background: rgba(251,146,60,.16);
  color: #9a3412 !important;
  border-color: rgba(251,146,60,.28);
}
.screening-card-clickable:hover .screening-card-cta,
.screening-card-clickable:focus-visible .screening-card-cta {
  transform: translateY(-1px);
  background: linear-gradient(135deg, var(--orange-600) 0%, #c2410c 100%);
  border-color: #c2410c;
  color: #fff;
  box-shadow:
    0 14px 28px rgba(234,88,12,.22),
    0 0 0 1px rgba(234,88,12,.16);
}

.home-compact-toggle-wrap {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
.home-compact-toggle-wrap[hidden] {
  display: none !important;
}
.home-compact-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  width: min(100%, 22rem);
  padding: .8rem 1rem;
  border: 1px solid rgba(251,146,60,.42);
  border-radius: 999px;
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
  color: #9a3412;
  font-weight: 950;
  font-size: .9rem;
  box-shadow: 0 12px 26px rgba(15,42,107,.08), 0 0 0 1px rgba(251,146,60,.08);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.home-compact-toggle:hover,
.home-compact-toggle:focus-visible {
  transform: translateY(-2px);
  outline: none;
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
  color: #fff;
  box-shadow: 0 18px 34px rgba(234,88,12,.22), 0 0 0 1px rgba(234,88,12,.16);
}

@media (max-width: 640px) {
  .screening-card-clickable {
    min-height: 0;
    padding: 1.2rem !important;
  }

  .screening-card-cta {
    width: 100%;
    justify-content: center;
  }

  #screenings-referenciales .grid {
    gap: 1rem;
  }
}

@media (hover: none) {
  .screening-card-clickable:active,
  #solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:active,
  #requestsGrid > div:active {
    border-color: rgba(251,146,60,.82) !important;
    background: linear-gradient(180deg, #ffedd5 0%, #fed7aa 100%) !important;
    box-shadow:
      0 14px 28px rgba(15,42,107,.08),
      0 0 0 1px rgba(251,146,60,.24),
      0 0 30px rgba(251,146,60,.24) !important;
  }
}

/* --- Pacientes en seguimiento: tarjetas y CTA con hover naranja --- */
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a,
#requestsGrid > div {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,250,252,1));
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease,
    background-color .22s ease,
    color .22s ease;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a::before,
#requestsGrid > div::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,247,237,.94) 0%, rgba(255,237,213,.98) 100%);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a::after,
#requestsGrid > div::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 60%);
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a > *,
#requestsGrid > div > * {
  position: relative;
  z-index: 1;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:hover,
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:focus-visible,
#requestsGrid > div:hover,
#requestsGrid > div:focus-within {
  transform: translateY(-3px) !important;
  border-color: rgba(251,146,60,.88) !important;
  background: linear-gradient(180deg, #ffedd5 0%, #fed7aa 100%) !important;
  box-shadow:
    0 18px 34px rgba(15,42,107,.08),
    0 0 0 1px rgba(251,146,60,.3),
    0 0 42px rgba(251,146,60,.34) !important;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:hover::before,
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:focus-visible::before,
#requestsGrid > div:hover::before,
#requestsGrid > div:focus-within::before {
  opacity: 1;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:hover::after,
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:focus-visible::after,
#requestsGrid > div:hover::after,
#requestsGrid > div:focus-within::after {
  opacity: 1;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a h3,
#requestsGrid > div h4 {
  transition: color .2s ease;
}
#requestsGrid > div .flex-1 h4 {
  color: var(--navy-900) !important;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a p,
#requestsGrid > div p {
  transition: color .2s ease;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:hover h3,
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:focus-visible h3,
#requestsGrid > div:hover h4,
#requestsGrid > div:focus-within h4 {
  color: #9a3412 !important;
}
#requestsGrid > div:hover .flex-1 h4,
#requestsGrid > div:focus-within .flex-1 h4 {
  color: #9a3412 !important;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:hover p,
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:focus-visible p,
#requestsGrid > div:hover p,
#requestsGrid > div:focus-within p {
  color: #7c2d12 !important;
}
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:hover span,
#solicitudes .mb-8.grid.gap-4.md\:grid-cols-3 > a:focus-visible span {
  background: rgba(251,146,60,.16) !important;
  color: #9a3412 !important;
  border-color: rgba(251,146,60,.28) !important;
}
#requestsGrid > div .flex-1 {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}
#requestsGrid > div .flex-1 p {
  margin-bottom: auto;
}
#requestsGrid > div .flex-1 > a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: .45rem;
  margin-top: 1rem;
  padding: .72rem 1rem;
  border-radius: 9999px;
  border: 1px solid rgba(226,232,240,.95);
  background: #fff;
  color: var(--navy-900) !important;
  -webkit-text-fill-color: var(--navy-900);
  box-shadow: 0 10px 22px rgba(15,42,107,.05);
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease,
    background-color .2s ease,
    color .2s ease;
}
#requestsGrid > div:hover .flex-1 > a,
#requestsGrid > div:focus-within .flex-1 > a {
  transform: translateY(-1px);
  background: linear-gradient(135deg, var(--orange-600) 0%, #c2410c 100%);
  border-color: #c2410c;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  box-shadow:
    0 14px 28px rgba(234,88,12,.22),
    0 0 0 1px rgba(234,88,12,.16);
}
#requestsGrid > div:hover .flex-1 > a,
#requestsGrid > div:hover .flex-1 > a *,
#requestsGrid > div:focus-within .flex-1 > a,
#requestsGrid > div:focus-within .flex-1 > a * {
  color: #fff !important;
  fill: currentColor;
  stroke: currentColor;
}
#requestsGrid > div.request-card-featured {
  order: -1;
  border-color: rgba(245,158,11,.72) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(251,146,60,.20), transparent 38%),
    linear-gradient(135deg, #fff7ed 0%, #fffbeb 60%, #fff 100%) !important;
  box-shadow:
    0 18px 38px rgba(245,158,11,.14),
    0 0 0 1px rgba(245,158,11,.16) !important;
}
#requestsGrid > div.request-card-featured h4::after {
  content: "Más usado";
  display: inline-flex;
  margin-left: .55rem;
  transform: translateY(-.08rem);
  padding: .2rem .5rem;
  border-radius: 999px;
  background: #fef3c7;
  border: 1px solid rgba(245,158,11,.76);
  color: #92400e;
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  vertical-align: middle;
}

/* --- Pathology cards --- */
.card-surface {
  content-visibility: auto;
  contain-intrinsic-size: 420px;
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(248,250,252,.99));
  border: 1px solid rgba(226,232,240,.9);
  border-radius: 2rem;
  box-shadow: 0 8px 30px rgba(15,42,107,.05);
}
.card-surface:hover { border-color: rgba(59,130,246,.2); box-shadow: 0 16px 40px rgba(15,42,107,.09); }
.pathology-explorer-shell {
  display: grid;
  gap: 1rem;
  align-items: center;
}
.pathology-explorer-copy {
  display: grid;
  gap: .55rem;
}
.pathology-explorer-note {
  color: #475569;
  font-weight: 600;
  line-height: 1.7;
}
.pathology-search-status {
  width: fit-content;
  max-width: 100%;
  padding: .5rem .8rem;
  border-radius: 9999px;
  background: #fff7ed;
  color: #9a3412;
  font-size: .84rem;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(251,146,60,.24);
}
.pathology-explorer-actions-row {
  display: grid;
  gap: 1rem;
}
.pathology-explorer-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.cat-filter {
  --path-accent-solid: var(--navy-900);
  --path-accent-rgb: 15,42,107;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(226,232,240,.95) !important;
  background: #fff;
  color: #334155;
  box-shadow: 0 8px 18px rgba(15,42,107,.05);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease;
}
.cat-filter::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.2), transparent 62%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}
.cat-filter:hover,
.cat-filter:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(var(--path-accent-rgb), .54) !important;
  background: linear-gradient(135deg, rgba(var(--path-accent-rgb), .96), var(--path-accent-solid));
  color: #fff !important;
  box-shadow:
    0 14px 28px rgba(15,42,107,.08),
    0 0 0 1px rgba(var(--path-accent-rgb), .18),
    0 0 28px rgba(var(--path-accent-rgb), .22);
}
.cat-filter:hover::after,
.cat-filter:focus-visible::after {
  opacity: 1;
}
.cat-filter.is-active {
  background: linear-gradient(135deg, rgba(var(--path-accent-rgb), .95), var(--path-accent-solid)) !important;
  border-color: var(--path-accent-solid) !important;
  color: #fff !important;
  box-shadow:
    0 12px 26px rgba(var(--path-accent-rgb), .24),
    0 0 0 1px rgba(var(--path-accent-rgb), .18);
}
.cat-filter.cat-all {
  --path-accent-solid: var(--navy-900);
  --path-accent-rgb: 15,42,107;
}
.cat-filter[data-cat-slug="alimentacion"],
.pathology-feature-card[data-cat-slug="alimentacion"],
.pathology-directory-card[data-cat-slug="alimentacion"] {
  --path-accent-solid: #d97706;
  --path-accent-rgb: 217,119,6;
}
.cat-filter[data-cat-slug="animo"],
.pathology-feature-card[data-cat-slug="animo"],
.pathology-directory-card[data-cat-slug="animo"] {
  --path-accent-solid: #c2410c;
  --path-accent-rgb: 194,65,12;
}
.cat-filter[data-cat-slug="ansiedad"],
.pathology-feature-card[data-cat-slug="ansiedad"],
.pathology-directory-card[data-cat-slug="ansiedad"] {
  --path-accent-solid: #0f766e;
  --path-accent-rgb: 15,118,110;
}
.cat-filter[data-cat-slug="consumo"],
.pathology-feature-card[data-cat-slug="consumo"],
.pathology-directory-card[data-cat-slug="consumo"] {
  --path-accent-solid: #be123c;
  --path-accent-rgb: 190,18,60;
}
.cat-filter[data-cat-slug="disociativo"],
.pathology-feature-card[data-cat-slug="disociativo"],
.pathology-directory-card[data-cat-slug="disociativo"] {
  --path-accent-solid: #0891b2;
  --path-accent-rgb: 8,145,178;
}
.cat-filter[data-cat-slug="estres"],
.pathology-feature-card[data-cat-slug="estres"],
.pathology-directory-card[data-cat-slug="estres"] {
  --path-accent-solid: #ca8a04;
  --path-accent-rgb: 202,138,4;
}
.cat-filter[data-cat-slug="interfase"],
.pathology-feature-card[data-cat-slug="interfase"],
.pathology-directory-card[data-cat-slug="interfase"] {
  --path-accent-solid: #0284c7;
  --path-accent-rgb: 2,132,199;
}
.cat-filter[data-cat-slug="neurocognitivo"],
.pathology-feature-card[data-cat-slug="neurocognitivo"],
.pathology-directory-card[data-cat-slug="neurocognitivo"] {
  --path-accent-solid: #334155;
  --path-accent-rgb: 51,65,85;
}
.cat-filter[data-cat-slug="neurodesarrollo"],
.pathology-feature-card[data-cat-slug="neurodesarrollo"],
.pathology-directory-card[data-cat-slug="neurodesarrollo"] {
  --path-accent-solid: #2563eb;
  --path-accent-rgb: 37,99,235;
}
.cat-filter[data-cat-slug="otros"],
.pathology-feature-card[data-cat-slug="otros"],
.pathology-directory-card[data-cat-slug="otros"] {
  --path-accent-solid: #6366f1;
  --path-accent-rgb: 99,102,241;
}
.cat-filter[data-cat-slug="personalidad"],
.pathology-feature-card[data-cat-slug="personalidad"],
.pathology-directory-card[data-cat-slug="personalidad"] {
  --path-accent-solid: #7c3aed;
  --path-accent-rgb: 124,58,237;
}
.cat-filter[data-cat-slug="psicosis"],
.pathology-feature-card[data-cat-slug="psicosis"],
.pathology-directory-card[data-cat-slug="psicosis"] {
  --path-accent-solid: #a21caf;
  --path-accent-rgb: 162,28,175;
}
.cat-filter[data-cat-slug="riesgo"],
.pathology-feature-card[data-cat-slug="riesgo"],
.pathology-directory-card[data-cat-slug="riesgo"] {
  --path-accent-solid: #dc2626;
  --path-accent-rgb: 220,38,38;
}
.cat-filter[data-cat-slug="sexualidad"],
.pathology-feature-card[data-cat-slug="sexualidad"],
.pathology-directory-card[data-cat-slug="sexualidad"] {
  --path-accent-solid: #db2777;
  --path-accent-rgb: 219,39,119;
}
.cat-filter[data-cat-slug="sindromes"],
.pathology-feature-card[data-cat-slug="sindromes"],
.pathology-directory-card[data-cat-slug="sindromes"] {
  --path-accent-solid: #65a30d;
  --path-accent-rgb: 101,163,13;
}
.cat-filter[data-cat-slug="sueno"],
.pathology-feature-card[data-cat-slug="sueno"],
.pathology-directory-card[data-cat-slug="sueno"] {
  --path-accent-solid: #4338ca;
  --path-accent-rgb: 67,56,202;
}
.cat-filter[data-cat-slug="toc"],
.pathology-feature-card[data-cat-slug="toc"],
.pathology-directory-card[data-cat-slug="toc"] {
  --path-accent-solid: #6d28d9;
  --path-accent-rgb: 109,40,217;
}
.cat-filter[data-cat-slug="trauma"],
.pathology-feature-card[data-cat-slug="trauma"],
.pathology-directory-card[data-cat-slug="trauma"] {
  --path-accent-solid: #b45309;
  --path-accent-rgb: 180,83,9;
}
#pathologyDirectory.home-directory-compact:not(.show-all-directory) .pathology-directory-card:nth-of-type(n+7) {
  display: none;
}
.pathology-directory-home-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin-top: 1.25rem;
}
.pathology-directory-home-actions a,
.pathology-directory-home-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: .75rem 1rem;
  border-radius: 9999px;
  border: 1px solid rgba(251,146,60,.36);
  background: #fff7ed;
  color: #9a3412;
  font-size: .86rem;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(15,42,107,.06);
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.pathology-directory-home-actions a {
  background: var(--navy-900);
  border-color: var(--navy-900);
  color: #fff;
}
.pathology-directory-home-actions a:hover,
.pathology-directory-home-actions a:focus-visible,
.pathology-directory-home-actions button:hover,
.pathology-directory-home-actions button:focus-visible {
  transform: translateY(-2px);
  background: #ea580c;
  border-color: #c2410c;
  color: #fff;
  box-shadow: 0 16px 32px rgba(234,88,12,.2);
  outline: none;
}
.pathology-utility-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .9rem 1.25rem;
  border-radius: 9999px;
  border: 1px solid rgba(203,213,225,.95);
  background: #fff;
  color: var(--navy-900);
  font-size: .84rem;
  font-weight: 900;
  letter-spacing: .01em;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.pathology-utility-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(15,42,107,.08);
  border-color: rgba(59,130,246,.28);
}
.pathology-utility-btn--primary {
  background: var(--navy-900);
  border-color: var(--navy-900);
  color: #fff;
}
.pathology-utility-btn--link {
  background: #fff7ed;
  border-color: rgba(251,146,60,.38);
  color: #9a3412;
}
.pathology-utility-btn--link:hover,
.pathology-utility-btn--link:focus-visible {
  background: #ea580c;
  border-color: #c2410c;
  color: #fff;
  outline: none;
}
.pathology-section-copy {
  max-width: 62rem;
}
.pathology-feature-grid {
  display: grid;
  gap: 1.5rem;
}
.pathology-feature-card {
  --path-accent-solid: #1d4ed8;
  --path-accent-rgb: 29,78,216;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, background-color .22s ease;
}
.pathology-feature-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--path-accent-rgb), .16), transparent 36%),
    linear-gradient(180deg, rgba(var(--path-accent-rgb), .12) 0%, rgba(var(--path-accent-rgb), .06) 100%);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
}
.pathology-feature-card > * {
  position: relative;
  z-index: 1;
}
.pathology-feature-card:hover,
.pathology-feature-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(var(--path-accent-rgb), .52) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--path-accent-rgb), .2), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(var(--path-accent-rgb), .1));
  box-shadow:
    0 18px 38px rgba(15,42,107,.08),
    0 0 0 1px rgba(var(--path-accent-rgb), .18),
    0 0 32px rgba(var(--path-accent-rgb), .2);
}
.pathology-feature-card:hover::before,
.pathology-feature-card:focus-visible::before {
  opacity: 1;
}
.pathology-feature-card:focus-visible {
  outline: none;
}
.pathology-feature-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f8fafc;
  border-bottom: 1px solid rgba(var(--path-accent-rgb), .14);
}
.pathology-feature-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,247,237,.04) 0%, rgba(251,146,60,.24) 100%);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
}
.pathology-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease, filter .28s ease;
}
.pathology-feature-emoji {
  position: absolute;
  top: 1rem;
  right: 1rem;
  min-width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 24px rgba(15,42,107,.15);
  backdrop-filter: blur(8px);
}
.pathology-feature-body {
  display: grid;
  gap: .9rem;
  padding: 1.35rem;
  min-width: 0;
  transition: background-color .22s ease;
}
.pathology-feature-topline {
  display: grid;
  gap: .45rem;
}
.pathology-feature-cat {
  width: fit-content;
  padding: .38rem .68rem;
  border-radius: 9999px;
  background: rgba(var(--path-accent-rgb), .1);
  border: 1px solid rgba(var(--path-accent-rgb), .16);
  color: var(--path-accent-solid);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pathology-feature-title {
  color: var(--navy-900);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.2;
}
.pathology-feature-question {
  margin: 0;
  color: #c2410c;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.45;
}
.pathology-feature-question:hover {
  color: var(--path-accent-solid);
}
.pathology-feature-preview {
  color: #475569;
  font-size: .97rem;
  font-weight: 600;
  line-height: 1.7;
}
.pathology-feature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: auto;
}
.pathology-feature-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.9rem;
  padding: .78rem 1rem;
  border-radius: 1rem;
  font-size: .82rem;
  font-weight: 900;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
}
.pathology-feature-link:hover {
  transform: translateY(-1px);
}
.pathology-feature-link--guide {
  background: rgba(var(--path-accent-rgb), .08);
  border: 1px solid rgba(var(--path-accent-rgb), .18);
  color: var(--path-accent-solid);
  box-shadow: 0 10px 22px rgba(var(--path-accent-rgb), .08);
}
.pathology-feature-link--guide:hover,
.pathology-feature-card:hover .pathology-feature-link--guide,
.pathology-feature-card:focus-visible .pathology-feature-link--guide {
  background: linear-gradient(135deg, rgba(var(--path-accent-rgb), .94), var(--path-accent-solid));
  border-color: var(--path-accent-solid);
  color: #fff;
  box-shadow:
    0 14px 28px rgba(var(--path-accent-rgb), .22),
    0 0 0 1px rgba(var(--path-accent-rgb), .14);
}
.pathology-feature-card:hover .pathology-feature-title,
.pathology-feature-card:focus-visible .pathology-feature-title {
  color: var(--path-accent-solid);
}
.pathology-feature-card:hover .pathology-feature-question,
.pathology-feature-card:focus-visible .pathology-feature-question {
  color: color-mix(in srgb, var(--path-accent-solid) 82%, #0f172a);
}
.pathology-feature-card:hover .pathology-feature-preview,
.pathology-feature-card:focus-visible .pathology-feature-preview {
  color: #1e293b;
}
.pathology-feature-card:hover .pathology-feature-emoji,
.pathology-feature-card:focus-visible .pathology-feature-emoji {
  box-shadow:
    0 12px 24px rgba(15,42,107,.14),
    0 0 0 1px rgba(var(--path-accent-rgb), .14),
    0 0 24px rgba(var(--path-accent-rgb), .16);
}
.pathology-feature-card:hover .pathology-feature-media::after,
.pathology-feature-card:focus-visible .pathology-feature-media::after {
  opacity: 1;
}
.pathology-feature-card:hover .pathology-feature-media img,
.pathology-feature-card:focus-visible .pathology-feature-media img {
  transform: scale(1.02);
  filter: saturate(.9) contrast(1.02);
}
.pathology-feature-link--cta {
  background: var(--orange-600);
  border: 1px solid var(--orange-600);
  color: #fff;
  box-shadow: 0 10px 24px rgba(234,88,12,.22);
}
.pathology-catalog-grid {
  display: grid;
  gap: 2rem;
}
.pathology-directory-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  margin-top: 1rem;
  padding: .75rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(226,232,240,.9);
  background: rgba(248,250,252,.86);
}
.pathology-directory-toolbar span {
  flex: 1 1 18rem;
  color: #475569;
  font-size: .9rem;
  font-weight: 800;
}
.pathology-directory-toolbar button,
.pathology-directory-toolbar-link {
  min-height: 2.25rem;
  padding: .45rem .75rem;
  border-radius: 9999px;
  border: 1px solid rgba(251,146,60,.36);
  background: #fff;
  color: #9a3412;
  font-size: .8rem;
  font-weight: 950;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.pathology-directory-toolbar button:hover,
.pathology-directory-toolbar button:focus-visible,
.pathology-directory-toolbar-link:hover,
.pathology-directory-toolbar-link:focus-visible {
  transform: translateY(-1px);
  border-color: #c2410c;
  background: linear-gradient(135deg, #ea580c, #c2410c);
  color: #fff;
  box-shadow: 0 12px 24px rgba(234,88,12,.18);
  outline: none;
}
.pathology-directory-grid {
  display: grid;
  gap: 1rem;
}
.pathology-directory-card {
  --path-accent-solid: #1d4ed8;
  --path-accent-rgb: 29,78,216;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(226,232,240,.96);
  border-radius: 1.65rem;
  padding: 1.2rem;
  box-shadow: 0 12px 28px rgba(15,42,107,.05);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease, background-color .22s ease;
}
.pathology-directory-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--path-accent-rgb), .18), transparent 38%),
    linear-gradient(180deg, rgba(var(--path-accent-rgb), .10), rgba(var(--path-accent-rgb), .04));
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events: none;
}
.pathology-directory-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 100% 0%, rgba(var(--path-accent-rgb), .08), transparent 42%);
  pointer-events: none;
}
.pathology-directory-card > * {
  position: relative;
  z-index: 1;
}
.pathology-directory-card:hover,
.pathology-directory-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(var(--path-accent-rgb), .6);
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--path-accent-rgb), .2), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(var(--path-accent-rgb), .14)),
    rgba(255,255,255,.98);
  box-shadow:
    0 16px 34px rgba(15,42,107,.07),
    0 0 0 1px rgba(var(--path-accent-rgb), .18),
    0 0 34px rgba(var(--path-accent-rgb), .22);
}
.pathology-directory-card:hover::before,
.pathology-directory-card:focus-within::before {
  opacity: 1;
}
.pathology-directory-card:hover .pathology-directory-title,
.pathology-directory-card:focus-within .pathology-directory-title {
  color: var(--path-accent-solid);
}
.pathology-directory-card:hover .pathology-directory-count,
.pathology-directory-card:focus-within .pathology-directory-count {
  color: rgba(var(--path-accent-rgb), .9);
}
.pathology-directory-card:hover .pathology-directory-icon,
.pathology-directory-card:focus-within .pathology-directory-icon {
  background: linear-gradient(135deg, rgba(var(--path-accent-rgb), .92), var(--path-accent-solid));
  border-color: rgba(var(--path-accent-rgb), .24);
  color: #fff;
  box-shadow:
    0 12px 24px rgba(var(--path-accent-rgb), .18),
    0 0 0 1px rgba(var(--path-accent-rgb), .12);
}
.pathology-directory-heading {
  display: flex;
  gap: .85rem;
  align-items: center;
  margin-bottom: 1rem;
  cursor: pointer;
  border-radius: 1rem;
  outline: none;
}
.pathology-directory-heading:focus-visible {
  box-shadow: 0 0 0 4px rgba(var(--path-accent-rgb), .18);
}
.pathology-directory-heading > div {
  min-width: 0;
}
.pathology-directory-card.is-collapsed .pathology-directory-heading {
  margin-bottom: 0;
}
.pathology-directory-toggle {
  margin-left: auto;
  padding: .38rem .6rem;
  border-radius: 9999px;
  background: rgba(var(--path-accent-rgb), .09);
  color: var(--path-accent-solid);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: inset 0 0 0 1px rgba(var(--path-accent-rgb), .12);
}
.pathology-directory-icon {
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--path-accent-rgb), .08);
  color: var(--path-accent-solid);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .08em;
  flex: 0 0 auto;
  box-shadow: inset 0 0 0 1px rgba(var(--path-accent-rgb), .08);
}
.pathology-directory-title {
  color: var(--path-accent-solid);
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.2;
}
.pathology-directory-count {
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-top: .18rem;
}
.pathology-directory-list {
  display: grid;
  gap: .45rem;
}
.pathology-directory-list[hidden] {
  display: none;
}
.pathology-directory-card.is-open .pathology-directory-list {
  animation: pathologyDirectoryReveal .18s ease both;
}
@keyframes pathologyDirectoryReveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.pathology-directory-list li {
  list-style: none;
}
.pathology-directory-list a {
  display: block;
  position: relative;
  overflow: hidden;
  padding: .6rem .75rem;
  border-radius: .95rem;
  border: 1px solid rgba(226,232,240,.95);
  background: linear-gradient(180deg, #f8fafc, rgba(255,255,255,.98));
  color: #0f172a;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.45;
  box-shadow: 0 6px 16px rgba(15,42,107,.03);
  transition: border-color .18s ease, background .18s ease, background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.pathology-directory-list a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 62%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}
.pathology-directory-list a:hover,
.pathology-directory-list a:focus-visible {
  transform: translateX(2px) translateY(-1px);
  border-color: rgba(var(--path-accent-rgb), .54);
  background: linear-gradient(135deg, rgba(var(--path-accent-rgb), .96), var(--path-accent-solid));
  color: #fff;
  box-shadow:
    0 12px 22px rgba(var(--path-accent-rgb), .18),
    0 0 0 1px rgba(var(--path-accent-rgb), .14),
    0 0 24px rgba(var(--path-accent-rgb), .14);
}
.pathology-directory-list a:hover::before,
.pathology-directory-list a:focus-visible::before {
  opacity: 1;
}

/* --- Urgencias: tarjeta completa y accesos rápidos iluminados --- */
.home-urgent-card {
  cursor: pointer;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background-color .22s ease;
}
.home-urgent-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}
.home-urgent-card__overlay:focus-visible {
  outline: none;
}
.home-urgent-card:hover,
.home-urgent-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(239,68,68,.34) !important;
  background: linear-gradient(180deg, #fffdfd 0%, #fff1f2 100%) !important;
  box-shadow:
    0 20px 40px rgba(15,42,107,.08),
    0 0 0 1px rgba(239,68,68,.14),
    0 0 30px rgba(239,68,68,.14);
}
.home-urgent-linkcard {
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(15,42,107,.04);
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease,
    background-color .2s ease,
    color .2s ease;
}
.home-urgent-linkcard::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 62%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}
.home-urgent-linkcard > * {
  position: relative;
  z-index: 1;
}
.home-urgent-linkcard:hover,
.home-urgent-linkcard:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(239,68,68,.32) !important;
  background: linear-gradient(135deg, #fff1f2 0%, #ffe4e6 100%) !important;
  box-shadow:
    0 14px 28px rgba(239,68,68,.14),
    0 0 0 1px rgba(239,68,68,.1);
}
.home-urgent-linkcard:hover::after,
.home-urgent-linkcard:focus-visible::after {
  opacity: 1;
}
.home-urgent-linkcard:hover span:first-child,
.home-urgent-linkcard:focus-visible span:first-child {
  color: #dc2626 !important;
}
.home-urgent-linkcard:hover span:last-child,
.home-urgent-linkcard:focus-visible span:last-child {
  color: #991b1b !important;
}

/* --- FAQ container hover --- */
#faqList > div { transition: border-color .2s ease, box-shadow .2s ease; }
#faqList > div:hover { border-color: rgba(59,130,246,.25); box-shadow: 0 6px 20px rgba(15,42,107,.06); }

/* --- Footer --- */
.footer-links-strong a { color:#334155; }
.footer-links-strong a:hover { color: var(--orange-600); }

/* --- Enlaces de interés cards — hover mejorado --- */
#enlaces-interes .grid > a { transition: transform .3s ease, box-shadow .3s ease, filter .3s ease; }
#enlaces-interes .grid > a:hover { box-shadow: 0 24px 50px rgba(0,0,0,.25); filter: brightness(1.08); }

/* ========================================
   Contraste WCAG mejorado
   ======================================== */
footer .text-slate-300 { color: #cbd5e1 !important; }

/* ========================================
   Responsive — Mobile
   ======================================== */
@media (max-width: 767px) {
  :root { --header-offset: 5.5rem; }
  html { font-size: 17px; }
  main { padding-bottom: 5.35rem !important; }
  #rutas-busqueda,
  #hubs-clinicos,
  #screenings-referenciales,
  #solicitudes,
  #patologias {
    padding-top: 3.25rem !important;
    padding-bottom: 3.25rem !important;
  }
  #rutas-busqueda .section-split,
  #hubs-clinicos .section-split,
  #screenings-referenciales .section-split,
  #solicitudes .section-split,
  #patologias .section-split {
    margin-bottom: 1.45rem !important;
  }
  .content-measure { max-width: 100%; }
  .section-intro { font-size: 1rem; }
  main,
  main section,
  .soft-card,
  .home-urgent-card,
  .home-reserve-card,
  .section-split,
  .test-hero-grid,
  .urgency-layout,
  .credential-gallery-intro,
  .home-access-intro,
  .pathology-directory-heading {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  .section-split,
  .test-hero-grid,
  .urgency-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .credential-gallery-intro {
    align-items: stretch;
  }
  .credential-gallery-intro div {
    min-width: 0;
    flex-basis: 100%;
  }
  .credential-gallery-intro a {
    width: 100%;
  }
  #quien-es .grid > *,
  #sesiones .flex > *,
  #urgencias .urgency-layout > *,
  #acreditaciones .section-split > * {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .home-final-cta__actions {
    width: 100%;
  }
  .home-final-cta__primary,
  .home-final-cta__secondary {
    width: 100%;
    justify-content: center;
  }
  .home-topic-strip {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .home-access-shell {
    padding: 1rem;
  }
  .home-access-intro {
    margin-bottom: .85rem;
  }
  .home-access-figure-group {
    gap: .65rem;
    max-width: 24rem;
  }
  .home-access-figure {
    padding: .7rem;
  }
  .home-access-meta {
    gap: .55rem;
  }
  .home-access-actions {
    flex-direction: column;
  }
  .home-access-actions > a {
    width: 100%;
    justify-content: center;
  }
  .home-topic-scroller {
    grid-template-columns: 1fr;
    gap: .7rem;
  }
  .home-topic-card {
    min-height: 0;
    padding: .9rem;
  }
  .home-topic-card-title {
    font-size: .98rem;
  }
  .home-topic-card-copy {
    font-size: .82rem;
  }
  #rutas-busqueda .home-route-card,
  #hubs-clinicos [data-home-hub],
  .screening-card-clickable,
  #requestsGrid > div,
  .pathology-feature-card,
  .pathology-directory-card {
    border-radius: 1.45rem !important;
  }
  #rutas-busqueda .home-route-card,
  #hubs-clinicos [data-home-hub] {
    padding: 1.05rem !important;
    gap: .75rem;
  }
  #hubs-clinicos [data-home-hub] {
    gap: .45rem !important;
  }
  #rutas-busqueda .home-route-card h3,
  #hubs-clinicos [data-home-hub] h3 {
    font-size: 1.08rem !important;
    line-height: 1.22;
    margin-top: .55rem !important;
  }
  #rutas-busqueda .home-route-card p,
  #hubs-clinicos [data-home-hub] p {
    font-size: .88rem !important;
    line-height: 1.55 !important;
    margin-bottom: .75rem !important;
  }
  #hubs-clinicos [data-home-hub] p {
    margin-bottom: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  #hubs-clinicos .home-hub-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    width: 100%;
    min-height: 44px;
    margin-top: .15rem;
    padding: .72rem .9rem;
    border: 1px solid rgba(var(--hub-accent-rgb), .28);
    border-radius: 999px;
    background: rgba(var(--hub-accent-rgb), .08);
    color: var(--hub-accent-solid);
    font-weight: 950;
    font-size: .88rem;
    text-align: left;
    box-shadow: 0 8px 18px rgba(15,42,107,.06);
  }
  #hubs-clinicos .home-hub-toggle::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 999px;
    background: #fff;
    color: var(--hub-accent-solid);
    font-size: 1.05rem;
    line-height: 1;
  }
  #hubs-clinicos .home-hub-toggle[aria-expanded="true"] {
    background: var(--hub-accent-solid);
    color: #fff;
    border-color: rgba(var(--hub-accent-rgb), .72);
  }
  #hubs-clinicos .home-hub-toggle[aria-expanded="true"]::after {
    content: "-";
    color: var(--hub-accent-solid);
  }
  #rutas-busqueda .home-route-card .flex.flex-wrap.gap-2,
  #hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: .55rem !important;
    width: 100%;
  }
  #hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2.home-hub-links[hidden],
  #hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2.home-hub-links.is-collapsed {
    display: none !important;
  }
  #hubs-clinicos .home-hub-links[hidden],
  #hubs-clinicos .home-hub-links.is-collapsed {
    display: none !important;
  }
  #hubs-clinicos [data-home-hub] .home-hub-links[hidden],
  #hubs-clinicos [data-home-hub] .home-hub-links.is-collapsed {
    display: none !important;
  }
  #rutas-busqueda .home-route-link,
  #hubs-clinicos [data-home-hub] .flex.flex-wrap.gap-2 > a {
    width: 100%;
    justify-content: center;
    min-height: 44px;
    padding: .75rem .9rem !important;
    text-align: center;
  }
  #catFilters {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem !important;
  }
  #catFilters .cat-filter {
    width: 100%;
    justify-content: center;
    min-height: 42px;
    padding-inline: .7rem;
    text-align: center;
  }
  .pathology-explorer-actions-row {
    grid-template-columns: 1fr;
  }
  .pathology-explorer-cta-group {
    flex-direction: column;
  }
  .pathology-utility-btn {
    width: 100%;
  }
  .pathology-feature-body {
    padding: 1.1rem;
  }
  .pathology-feature-media {
    aspect-ratio: 16 / 9;
  }
  .pathology-feature-title {
    font-size: 1.15rem;
  }
  .pathology-feature-question {
    font-size: 1rem;
  }
  .pathology-feature-preview,
  .screening-card-clickable p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .screening-card-clickable h3,
  .pathology-feature-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .pathology-directory-card {
    padding: 1rem;
  }
  .floating-dock { display:none !important; }
  .hero-kpis { justify-content:flex-start; }
  .hero-kpis span { width:100%; justify-content:flex-start; }
  .mobile-action-bar a span.label-short { display:none; }
  .mobile-action-bar a span.label-full { display:inline; }
  .mobile-action-bar i { flex: 0 0 auto; }
  #navLinks {
    padding-bottom: .1rem;
    scroll-padding-inline: 1.25rem;
    gap: .35rem;
  }
  #navLinks .nav-link {
    flex: 0 0 auto;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
  }
  #miniHeader .container { gap:.5rem; }
  #miniHeader .font-heading { font-size:.82rem; }
  #miniHeader .container > div:last-child { gap:.35rem; }
  #miniHeader .container > div:last-child a { padding-left:.65rem; padding-right:.65rem; }
  #headerSearchForm button { padding:.65rem .85rem; font-size:.78rem; }
  #headerSearchInput {
    padding-top: .85rem !important;
    padding-bottom: .85rem !important;
    font-size: .98rem !important;
  }
  header .container { align-items:center; }
  header > .container {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    gap: .85rem !important;
  }
  header .w-36, header .w-44 {
    margin-inline:auto;
    width: 6.75rem !important;
  }
  header .bg-navy-900.text-white {
    padding: 1.15rem .95rem !important;
    border-radius: 1.45rem !important;
    margin-bottom: .8rem !important;
  }
  header h1 {
    font-size: 2rem !important;
    line-height: 1.05 !important;
    margin-bottom: .55rem !important;
  }
  header h1 + p {
    font-size: .9rem !important;
    line-height: 1.38 !important;
    margin-bottom: .7rem !important;
  }
  header .text-blue-100.font-bold {
    font-size: 1.22rem !important;
    gap: .45rem !important;
  }
  header .text-blue-100.font-bold span {
    font-size: .68rem !important;
    padding: .38rem .65rem !important;
  }
  .floating-dock-left, .floating-dock-right { display:none !important; }
  #como-funciona .grid > div, #sesiones .flex, #quien-es .grid, #acreditaciones .flex, #screenings-referenciales .grid, #patologias article { min-width:0; }
  #como-funciona p, #como-funciona h3, #quien-es p, #sesiones p, #screenings-referenciales p { word-break:break-word; overflow-wrap:anywhere; }
  #patologias article .min-w-0 { min-width:0; }
  #requestsGrid > div { gap:1rem; padding:1.1rem; }
  #requestsGrid > div .w-16 { width:3.75rem; height:3.75rem; }
  #requestsGrid h4 { font-size:1rem; line-height:1.2; }
  #requestsGrid p, #requestsGrid a { font-size:.82rem; line-height:1.45; }
  /* Solicitudes: no grayscale en mobile (no hay hover) */
  #requestsGrid img { filter: none !important; }
  footer a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    min-width: 36px;
    justify-content: center;
    padding-block: .12rem;
  }
  /* Acreditaciones: bullets más pequeños en mobile */
  #acreditaciones .space-y-4 span { font-size: 1rem !important; }
  /* Sesiones: foto flexible en mobile */
  #sesiones img.w-72 { width: 14rem; height: 14rem; }
  /* Cookie consent: subir encima de action bar */
  .cookie-consent { bottom: 4.35rem; border-radius: .75rem .75rem 0 0; }
  /* Mobile action bar: tap targets más grandes */
  .mobile-action-bar a { min-height: 44px; }
  .section-illustration { padding: .75rem; }
  .svg-badge { width: 2.75rem; height: 2.75rem; min-width: 2.75rem; }
  .tele-step-icon { width: 4rem; height: 4rem; }
}
@media (max-width: 560px) {
  .hero-action-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    margin-top: .7rem;
  }
  .hero-action {
    width: 100%;
    gap: .3rem;
    font-size: .74rem;
  }
  .hero-action-row--guided .hero-action {
    max-width: none;
    min-height: 2.9rem;
    padding: .56rem .35rem;
    border-radius: .9rem;
    justify-content: center;
    text-align: center;
  }
  .hero-action svg {
    width: 15px;
    height: 15px;
  }
  .hero-action-copy small {
    display: none;
  }
  .home-access-figure-group {
    grid-template-columns: 1fr;
    max-width: 18rem;
  }
  #catFilters {
    grid-template-columns: 1fr;
  }
  #miniHeader .container {
    flex-wrap: wrap;
    justify-content: center;
  }
  #miniHeader .container > div:first-child,
  #miniHeader .container > div:last-child {
    width: 100%;
    justify-content: center;
  }
}

/* Responsive — Tablet+ */
@media (min-width: 768px) {
  .mobile-action-bar { display:none !important; }
  .pathology-explorer-shell {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  }
  .pathology-explorer-actions-row {
    justify-items: end;
  }
  .pathology-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pathology-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-access-actions {
    align-items: center;
  }
  .scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-split { grid-template-columns: minmax(0, 1.35fr) minmax(240px, .85fr); }
  .section-split--compact { grid-template-columns: minmax(0, 1.3fr) minmax(220px, .75fr); }
  .test-hero-grid { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); }
  .urgency-layout { grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr); }
}
@media (min-width: 1280px) {
  .pathology-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pathology-directory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .home-topic-scroller {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ========================================
   Print
   ======================================== */
@media print {
  #miniHeader, .fixed, nav, footer, #imageModal, .floating-dock, .trust-strip, .mobile-action-bar { display:none !important; }
  main { box-shadow:none !important; border-radius:0 !important; margin:0 !important; }
  .hover-lift:hover { transform:none !important; box-shadow:none !important; }
}

/* ========================================
   Btn-agendar hover (tests miniHeader)
   ======================================== */
.btn-agendar:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(234,88,12,.3); }

/* ========================================
   Reduced motion (accesibilidad)
   ======================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ========================================
   Cookie Consent Banner
   ======================================== */
.cookie-consent {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:100;
  padding:.75rem 1rem; background:rgba(15,42,107,.97); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-top:1px solid rgba(255,255,255,.1); align-items:center; justify-content:center;
}
.cookie-consent-inner {
  max-width:1100px; width:100%; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:center; gap:.75rem;
}
.cookie-consent-text { color:#e2e8f0; font-size:.82rem; font-weight:600; flex:1; min-width:240px; text-align:center; }
.cookie-consent-actions { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; justify-content:center; }
.cookie-btn-accept {
  background:#ea580c; color:#fff; border:none; padding:.5rem 1.2rem; border-radius:9999px;
  font-weight:900; font-size:.78rem; cursor:pointer; transition:background .2s;
}
.cookie-btn-accept:hover { background:#c2410c; }
.cookie-btn-reject {
  background:transparent; color:#94a3b8; border:1px solid rgba(148,163,184,.3); padding:.5rem 1.2rem;
  border-radius:9999px; font-weight:700; font-size:.78rem; cursor:pointer; transition:all .2s;
}
.cookie-btn-reject:hover { color:#fff; border-color:rgba(255,255,255,.4); }
.cookie-link { color:#93c5fd; font-size:.75rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.cookie-link:hover { color:#fff; }

@media (max-width: 767px) {
  .cookie-consent {
    bottom: calc(4.65rem + env(safe-area-inset-bottom));
    left: 50%;
    right: auto;
    width: calc(100% - .9rem);
    transform: translateX(-50%);
    border-radius: .9rem;
    padding: .42rem .48rem;
    box-shadow: 0 14px 30px rgba(2, 6, 23, .28);
  }
  .cookie-consent-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .32rem;
    align-items: center;
  }
  .cookie-consent-text {
    flex: none;
    min-width: 0;
    margin: 0;
    font-size: .64rem;
    line-height: 1.2;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .cookie-consent-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .28rem;
    width: 100%;
  }
  .cookie-btn-accept,
  .cookie-btn-reject {
    padding: .28rem .36rem;
    font-size: .62rem;
    min-height: 32px;
  }
  .cookie-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    font-size: .62rem;
    white-space: nowrap;
  }
}
@media (max-width: 340px) {
  .cookie-consent {
    width: calc(100% - .55rem);
    padding: .35rem;
  }
  .cookie-consent-text {
    font-size: .61rem;
  }
  .cookie-btn-accept,
  .cookie-btn-reject,
  .cookie-link {
    min-height: 30px;
    padding: .25rem .28rem;
    font-size: .6rem;
  }
}

/* ========================================
   Skeleton Loading
   ======================================== */
@keyframes shimmer { 0% { background-position: -400px 0; } 100% { background-position: 400px 0; } }
.skeleton {
  background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
  background-size: 800px 100%;
  animation: shimmer 1.5s ease infinite;
  border-radius: 1rem;
}

@media (hover: none), (pointer: coarse) {
  html,
  html.scroll-smooth {
    scroll-behavior: auto !important;
  }

  :is(
    .hero-action,
    .home-decision-card,
    .home-topic-cta,
    .home-topic-card,
    .home-topic-row-link,
    .home-topic-actions a,
    .home-route-card,
    .home-route-link,
    .home-route-toggle,
    .home-next-step-actions a,
    .home-search-console-links a,
    .home-high-signal-links a,
    .screening-card-clickable,
    .request-groups-strip a,
    .booking-decision-strip a,
    .credential-gallery-intro a,
    .carousel-context-row a,
    .home-final-cta__primary,
    .home-final-cta__secondary,
    .mobile-action-bar a,
    .floating-dock a
  ) {
    transition-property: background-color, color, border-color, opacity !important;
  }

  :is(
    .hero-action,
    .home-decision-card,
    .home-topic-cta,
    .home-topic-card,
    .home-topic-row-link,
    .home-topic-actions a,
    .home-route-card,
    .home-route-link,
    .home-route-toggle,
    .home-next-step-actions a,
    .home-search-console-links a,
    .home-high-signal-links a,
    .screening-card-clickable,
    .request-groups-strip a,
    .booking-decision-strip a,
    .credential-gallery-intro a,
    .carousel-context-row a,
    .home-final-cta__primary,
    .home-final-cta__secondary,
    .mobile-action-bar a,
    .floating-dock a
  ):hover {
    transform: none !important;
  }
}
