/* ==========================================================================
   NeuroEs · equipo (23-oct-2026)
   --------------------------------------------------------------------------
   Componentes del equipo: fila de retratos del héroe de la portada, tarjetas
   de terapias de la portada, /equipo/ y los perfiles, las páginas de servicio
   (fonoaudiología, terapia ocupacional, psicoterapia) y el bloque de
   profesional que se agrega a las páginas que ya existían.
   Va DESPUÉS de /ne-2026.css y usa sus tokens (--ne-*). Solo diseño claro.
   Fotos: /equipo/img/, generadas con /root/neuropsicologia/scripts/equipo-fotos.py
   ========================================================================== */

:root { color-scheme: light; --eq-blanco: #F7F7F5; }

/* ---------- botones ---------- */
.eq-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 48px; padding: 12px 22px; border-radius: 999px;
  font: 700 15px/1.2 'Plus Jakarta Sans', system-ui, sans-serif;
  text-decoration: none !important; border: 1px solid transparent;
  transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease;
  white-space: normal; text-align: center;
}
.eq-btn:hover { transform: translateY(-1px); }
.eq-btn svg { width: 19px; height: 19px; flex: none; }
.eq-btn-wa { background: var(--ne-wa, #157F41); color: #fff !important; box-shadow: 0 12px 24px -14px rgba(21,127,65,.85); }
.eq-btn-wa:hover { background: #106B36; color: #fff !important; }
.eq-btn-wa svg { fill: #fff; }
.eq-btn-pri { background: var(--ne-marca, #0A7A7E); color: #fff !important; box-shadow: 0 12px 24px -14px rgba(10,122,126,.8); }
.eq-btn-pri:hover { background: var(--ne-marca-alta, #08656A); color: #fff !important; }
.eq-btn-pri svg { stroke: #fff; }
.eq-btn-sec { background: #fff; color: var(--ne-tinta, #0E2A30) !important; border-color: var(--ne-linea, #DCE8EA); }
.eq-btn-sec:hover { border-color: var(--ne-marca, #0A7A7E); color: var(--ne-marca-alta, #08656A) !important; }
.eq-btn-sm { min-height: 42px; padding: 9px 16px; font-size: 14px; }

/* Precio: pesos primero, equivalencia en gris */
.eq-precio { display: inline; }
.eq-precio > span { white-space: nowrap; }
.eq-precio b { white-space: nowrap; font: 700 1.05em/1.2 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); letter-spacing: -.01em; }
.eq-precio span { color: var(--ne-tinta-2, #4E5F66); font-size: .92em; }

/* ==========================================================================
   PORTADA · el equipo como protagonista del héroe (ocupa el lugar de la foto sola)
   Seis retratos iguales, 3×2. La foto de grupo, si llega, va dentro de .heq-visual.
   ========================================================================== */
@media (min-width: 1025px) {
  .hero .hero-content:has(.hero-equipo) { grid-template-columns: minmax(0, 1fr) 440px !important; gap: 44px !important; }
}
.hero .hero-side > .hero-equipo { position: relative; min-width: 0; text-align: left; color: var(--ne-tinta, #0E2A30);
  padding: 18px 16px 16px; border-radius: 26px; background: rgba(255,255,255,.66); border: 1px solid rgba(255,255,255,.95);
  box-shadow: 0 2px 4px rgba(11,42,49,.05), 0 24px 48px -28px rgba(11,42,49,.38); backdrop-filter: blur(6px); }
/* Por debajo de 1025px .hero-side es display:contents: el equipo sube al principio del héroe
   (donde estaba la foto) y el texto va después. */
@media (max-width: 1024px) { .hero .hero-side > .hero-equipo { order: -1; width: 100% !important; max-width: 520px !important; margin: 0 auto 4px; } }
.hero .hero-equipo .heq-badge { position: absolute; top: -15px; right: 16px; bottom: auto !important; left: auto; z-index: 3; }
.heq-cab { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; min-height: 18px; }
.heq-titulo { font: 700 12px/1.3 var(--ne-display, 'Montserrat', sans-serif); letter-spacing: .12em; text-transform: uppercase; color: var(--ne-marca-alta, #08656A); }
.heq-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 12px; }
.heq-lista li { margin: 0; padding: 0; min-width: 0; }
.hero a.heq-card { display: block; text-align: center; text-decoration: none !important; color: inherit !important; }
.heq-foto { display: block; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; background: var(--eq-blanco);
  box-shadow: 0 1px 2px rgba(11,42,49,.06), 0 14px 26px -20px rgba(11,42,49,.45); transition: transform .25s ease, box-shadow .25s ease; }
.heq-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.heq-card:hover .heq-foto { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(11,42,49,.06), 0 22px 40px -22px rgba(11,42,49,.5); }
.heq-nombre { display: block; margin-top: 8px; font: 700 14px/1.25 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); letter-spacing: -.01em; }
.heq-rol { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.3; color: var(--ne-tinta-2, #4E5F66); }
.hero a.heq-todos { display: block; margin-top: 12px; text-align: center; font-size: 14px; font-weight: 700; color: var(--ne-marca-alta, #08656A) !important; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .hero .hero-side > .hero-equipo { padding: 16px 12px 12px; border-radius: 22px; }
  .heq-lista { gap: 12px 9px; }
  .heq-foto { border-radius: 15px; }
  .heq-nombre { font-size: 13px; margin-top: 6px; }
  .heq-rol { font-size: 11.5px; }
  .heq-titulo { font-size: 11px; }
  .hero .hero-equipo .heq-badge { top: -14px; right: 10px; }
}

/* ==========================================================================
   PORTADA · servicios: franja del eje (neuropsicología) y tarjetas de terapias
   ========================================================================== */
.eje-neuro { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin: 0 0 18px; padding: 16px 18px;
  background: #fff; border: 1px solid var(--ne-linea, #DCE8EA); border-radius: 18px; box-shadow: var(--ne-sombra); }
.eje-neuro-pro { display: flex; align-items: center; gap: 12px; text-decoration: none !important; min-width: 0; }
.eje-neuro-pro img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: var(--eq-blanco); flex: none; box-shadow: 0 0 0 3px var(--ne-marca-suave, #E6F4F4); }
.eje-neuro-pro b { display: block; font: 700 15px/1.25 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); }
.eje-neuro-pro small { display: block; font-size: 13px; color: var(--ne-marca-alta, #08656A); font-weight: 600; }
.eje-neuro-precios { flex: 1 1 320px; margin: 0 !important; font-size: 14px !important; line-height: 1.5 !important; color: var(--ne-tinta-2, #4E5F66) !important; max-width: none !important; }
.eje-neuro-precios b { color: var(--ne-tinta, #0E2A30); }
.eje-neuro .eq-btn { flex: none; }

.tera-intro { text-align: center; margin: -4px auto 18px !important; max-width: 62ch !important; font-size: 15px !important; color: var(--ne-tinta-2, #4E5F66) !important; }
.tera-intro .eq-precio { justify-content: center; }
.tera-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; text-align: left; }
@media (max-width: 760px) { .tera-grid { grid-template-columns: 1fr; } }
.otras-terapias .tera-card { display: flex; flex-direction: column; padding: 20px !important; }
.tera-eje { display: inline-block; align-self: flex-start; font: 700 11px/1.2 var(--ne-display, 'Montserrat', sans-serif); letter-spacing: .12em; text-transform: uppercase;
  color: var(--ne-marca-alta, #08656A); background: var(--ne-marca-suave, #E6F4F4); padding: 6px 10px; border-radius: 999px; margin-bottom: 12px; }
.tera-pros { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 0 0 4px; }
a.tera-pro { display: flex; align-items: center; gap: 11px; text-decoration: none !important; min-width: 0; }
.tera-pro img { width: 68px; height: 68px; border-radius: 50%; object-fit: cover; background: var(--eq-blanco); flex: none; box-shadow: 0 0 0 3px var(--ne-marca-suave, #E6F4F4); }
.tera-pro b { display: block; font: 700 14.5px/1.25 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); }
.tera-pro small { display: block; font-size: 12.5px; line-height: 1.3; color: var(--ne-tinta-2, #4E5F66); }
.tera-pro em { display: block; font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--ne-marca, #0A7A7E); margin-top: 2px; }
.otras-terapias .tera-card h3 { font-size: 19px !important; margin: 12px 0 6px !important; }
.otras-terapias .tera-card .tera-precio { margin: 12px 0 0 !important; padding: 10px 14px; border-radius: 12px; background: var(--ne-marca-suave, #E6F4F4); font-size: 14px !important; max-width: none !important; }
.tera-ctas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.tera-mas { margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--ne-marca-alta, #08656A) !important; text-decoration: underline; text-underline-offset: 3px; }
.tera-card .detalle-servicio ul { color: var(--ne-tinta-2, #4E5F66) !important; }

/* ==========================================================================
   PÁGINAS NUEVAS (/equipo/, perfiles, servicios)
   ========================================================================== */
body.eq { margin: 0; background: var(--ne-papel, #F5F9FA) !important; color: var(--ne-tinta, #0E2A30); font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; line-height: 1.6; overflow-x: hidden; }
body.eq *, body.eq *::before, body.eq *::after { box-sizing: border-box; }
body.eq img { max-width: 100%; }
.eq-c { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 44px); }
.eq-c-angosto { max-width: 860px; }
section.eq-sec { padding-top: clamp(36px, 5vw, 64px) !important; padding-bottom: clamp(36px, 5vw, 64px) !important; }
section.eq-sec-blanco { background: #fff; border-top: 1px solid var(--ne-linea, #DCE8EA); border-bottom: 1px solid var(--ne-linea, #DCE8EA); }
.eq h2 { font-size: clamp(24px, 3vw, 34px); line-height: 1.18; margin: 0 0 10px; }
.eq h3 { font-size: 18px; line-height: 1.3; margin: 0 0 6px; }
.eq p { margin: 0 0 14px; }
.eq-bajada { font-size: 16.5px; color: var(--ne-tinta-2, #4E5F66); max-width: 62ch; margin: 0 0 24px !important; }
.eq-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 12px !important; font: 700 12px/1.3 var(--ne-display, 'Montserrat', sans-serif);
  letter-spacing: .12em; text-transform: uppercase; color: var(--ne-marca-alta, #08656A); }
.eq-eyebrow::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: var(--ne-grad, #0E9CB8); flex: none; }

/* barra superior */
.nav-back.ne-barra { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding-top: 12px; padding-bottom: 12px; background: rgba(255,255,255,.94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ne-linea, #DCE8EA); }
.ne-barra-links { display: flex; align-items: center; gap: 18px; }
.ne-barra-links a { font-size: 14.5px; font-weight: 600; color: var(--ne-tinta, #0E2A30) !important; text-decoration: none; }
.ne-barra-links a:hover { color: var(--ne-marca, #0A7A7E) !important; }
.ne-barra-links .eq-btn { min-height: 40px; padding: 8px 16px; font-size: 14px; color: #fff !important; }
@media (max-width: 720px) { .ne-barra-links .ne-barra-txt { display: none; } }

/* migas */
.eq-migas { font-size: 13px; color: var(--ne-tinta-2, #4E5F66); margin: 0 0 14px; }
.eq-migas a { color: var(--ne-tinta-2, #4E5F66) !important; text-decoration: none; }
.eq-migas a:hover { color: var(--ne-marca, #0A7A7E) !important; text-decoration: underline; }
.eq-migas span { margin: 0 6px; opacity: .6; }

/* ---------- perfil: foto grande ---------- */
.pf-hero { background: radial-gradient(700px 360px at 92% 0%, rgba(16,163,226,.10), transparent 62%),
  radial-gradient(620px 320px at 0% 100%, rgba(13,150,151,.10), transparent 62%), var(--ne-papel, #F5F9FA); }
section.pf-hero { padding-top: clamp(20px, 3vw, 40px) !important; padding-bottom: clamp(32px, 4vw, 56px) !important; }
.pf-wrap { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(24px, 4.5vw, 64px); align-items: center; }
.pf-foto { position: relative; margin: 0; aspect-ratio: 4 / 5; border-radius: 30px; overflow: hidden; background: var(--eq-blanco);
  box-shadow: 0 2px 4px rgba(11,42,49,.06), 0 30px 60px -30px rgba(11,42,49,.45); }
.pf-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pf-texto h1 { font-size: clamp(34px, 4.2vw, 54px) !important; line-height: 1.06 !important; margin: 0 0 8px !important; color: var(--ne-tinta, #0E2A30) !important; }
.pf-rol { font: 600 clamp(17px, 1.7vw, 21px)/1.35 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-marca-alta, #08656A) !important; margin: 0 0 18px !important; }
.pf-resumen { font-size: 16.5px; color: var(--ne-tinta-2, #4E5F66); max-width: 54ch; }
.pf-datos { list-style: none; margin: 18px 0 22px; padding: 0; display: grid; gap: 10px; }
.pf-datos li { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 15.5px; color: var(--ne-tinta, #0E2A30); }
.pf-datos svg { width: 22px; height: 22px; flex: none; stroke: var(--ne-marca, #0A7A7E); margin-top: 1px; }
.pf-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.pf-nota { font-size: 14px; color: var(--ne-tinta-2, #4E5F66); margin: 12px 0 0 !important; }
.pf-nota a { color: var(--ne-tinta-2, #4E5F66) !important; }
@media (max-width: 900px) {
  section.pf-hero { padding-top: 0 !important; }
  .pf-wrap { grid-template-columns: 1fr; gap: 22px; }
  .pf-foto { margin: 0 calc(-1 * clamp(16px, 4vw, 44px)); border-radius: 0 0 30px 30px; aspect-ratio: 4 / 4.6; }
  .pf-foto img { object-position: 50% 18%; }
  .pf-ctas .eq-btn { flex: 1 1 100%; }
}

/* bio */
.pf-bio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: clamp(20px, 4vw, 56px); align-items: start; }
.pf-bio-texto p { font-size: 17px; line-height: 1.7; color: var(--ne-tinta, #0E2A30); max-width: 66ch; }
.pf-bio-texto p:first-child::first-letter { font: 700 1.6em/1 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-marca, #0A7A7E); }
@media (max-width: 760px) { .pf-bio { grid-template-columns: 1fr; } .pf-bio-texto p { font-size: 16px; } }

/* tarjetas de servicio */
.eq-svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 14px; }
.eq-svc { background: #fff; border: 1px solid var(--ne-linea, #DCE8EA); border-radius: 20px; padding: 20px; box-shadow: var(--ne-sombra); }
.eq-svc-ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 12px;
  background: linear-gradient(135deg, var(--ne-marca-suave, #E6F4F4), var(--ne-azul-suave, #E5F1F9)); }
.eq-svc-ico svg { width: 24px; height: 24px; stroke: var(--ne-marca, #0A7A7E); }
.eq-svc:nth-child(even) .eq-svc-ico svg { stroke: var(--ne-azul, #0A74AB); }
.eq-svc p { font-size: 15px; line-height: 1.55; margin: 0 !important; }
.eq-svc p.eq-svc-precio { margin-top: 12px !important; font-size: 15px !important; }
.eq-svc { display: flex; flex-direction: column; }
.eq-svc > .eq-btn { margin-top: auto; align-self: flex-start; }
.eq-svc > p.eq-svc-precio + .eq-btn { margin-top: 14px; }
@media (min-width: 1000px) { .eq-svc-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.eq-svc .eq-btn { margin-top: 14px; }
@media (max-width: 560px) {
  .eq-svc { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; padding: 16px; }
  .eq-svc > * { grid-column: 2; }
  .eq-svc > .eq-svc-ico { grid-column: 1; grid-row: 1 / span 2; width: 40px; height: 40px; border-radius: 12px; margin: 0; }
  .eq-svc-ico svg { width: 21px; height: 21px; }
  .eq-svc h3 { font-size: 16.5px; margin-bottom: 4px; }
  .eq-svc p { font-size: 14.5px; }
}
.eq-svc-destacado { border-color: color-mix(in srgb, var(--ne-marca) 35%, var(--ne-linea)); }

/* cómo es la atención */
.eq-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 14px; }
.eq-info { background: var(--ne-papel, #F5F9FA); border-radius: 18px; padding: 18px 20px; border: 1px solid var(--ne-linea, #DCE8EA); }
.eq-info h3 { display: flex; align-items: center; gap: 9px; font-size: 16.5px; }
.eq-info h3 svg { width: 22px; height: 22px; stroke: var(--ne-marca, #0A7A7E); flex: none; }
.eq-info p { font-size: 15px; margin: 0 !important; }
.eq-nota-clinica { margin-top: 16px !important; padding: 14px 18px; border-left: 3px solid var(--ne-azul, #0A74AB); background: var(--ne-azul-suave, #E5F1F9); border-radius: 0 14px 14px 0; font-size: 15px; color: var(--ne-tinta, #0E2A30) !important; }

/* banda de cierre */
.eq-cta { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px 28px; align-items: center; padding: clamp(20px, 3vw, 32px);
  border-radius: 28px; background: linear-gradient(135deg, var(--ne-marca-suave, #E6F4F4), var(--ne-azul-suave, #E5F1F9)); border: 1px solid var(--ne-linea, #DCE8EA); }
.eq-cta-fotos { display: flex; }
.eq-cta-fotos img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; background: var(--eq-blanco); border: 4px solid #fff; box-shadow: var(--ne-sombra); }
.eq-cta-fotos img + img { margin-left: -18px; }
.eq-cta h2 { font-size: clamp(22px, 2.4vw, 28px) !important; margin: 0 0 6px !important; }
.eq-cta p { margin: 0 !important; font-size: 15.5px; }
.eq-cta-btns { display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 860px) { .eq-cta { grid-template-columns: 1fr; text-align: center; } .eq-cta-fotos { justify-content: center; } .eq-cta-btns .eq-btn { width: 100%; } }

/* preguntas */
.eq-faq details { background: #fff; border: 1px solid var(--ne-linea, #DCE8EA); border-radius: 14px; margin: 0 0 8px; padding: 0; }
.eq-faq summary { cursor: pointer; list-style: none; padding: 15px 18px; font: 600 16px/1.35 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); display: flex; justify-content: space-between; gap: 12px; }
.eq-faq summary::-webkit-details-marker { display: none; }
.eq-faq summary::after { content: "+"; color: var(--ne-marca, #0A7A7E); font-weight: 700; font-size: 20px; line-height: 1; }
.eq-faq details[open] summary::after { content: "\2212"; }
.eq-faq details p { padding: 0 18px 16px; margin: 0 !important; font-size: 15px; }

/* rejilla del equipo (/equipo/ y «otros profesionales») */
.eq-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.eq-grid li { margin: 0; min-width: 0; }
a.eq-card { display: block; height: 100%; background: #fff; border: 1px solid var(--ne-linea, #DCE8EA); border-radius: 24px; overflow: hidden; text-decoration: none !important;
  color: inherit !important; box-shadow: var(--ne-sombra); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
a.eq-card:hover { transform: translateY(-3px); box-shadow: var(--ne-sombra-alta); border-color: color-mix(in srgb, var(--ne-marca) 30%, var(--ne-linea)); }
.eq-card-foto { display: block; aspect-ratio: 4 / 5; background: var(--eq-blanco); }
.eq-card-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.eq-card-txt { display: block; padding: 16px 18px 18px; }
.eq-card-txt b { display: block; font: 700 19px/1.25 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); }
.eq-card-txt small { display: block; margin-top: 3px; font-size: 14px; font-weight: 600; color: var(--ne-marca-alta, #08656A); }
.eq-card-txt span { display: block; margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--ne-tinta-2, #4E5F66); }
.eq-card-txt em { display: inline-block; margin-top: 10px; font-style: normal; font-size: 14px; font-weight: 700; color: var(--ne-marca, #0A7A7E); }
@media (max-width: 860px) { .eq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
  .eq-grid { gap: 12px; }
  .eq-card-txt { padding: 12px 12px 14px; }
  .eq-card-txt b { font-size: 16px; }
  .eq-card-txt small { font-size: 12.5px; }
  .eq-card-txt span { display: none; }
  .eq-card-txt em { font-size: 13px; margin-top: 6px; }
}
.eq-grid-mini { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.eq-grid-mini .eq-card-txt span { display: none; }
.eq-grid-mini .eq-card-txt b { font-size: 15px; }
.eq-grid-mini .eq-card-txt small { font-size: 12.5px; }
@media (max-width: 860px) { .eq-grid-mini { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .eq-grid-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* encabezado de /equipo/ */
.eq-cab h1 { font-size: clamp(32px, 4vw, 50px) !important; line-height: 1.08 !important; margin: 0 0 12px !important; color: var(--ne-tinta, #0E2A30) !important; }

/* ---------- página de servicio ---------- */
.sv-hero { background: radial-gradient(700px 360px at 92% 0%, rgba(16,163,226,.10), transparent 62%),
  radial-gradient(620px 320px at 0% 100%, rgba(13,150,151,.10), transparent 62%), var(--ne-papel, #F5F9FA); }
section.sv-hero { padding-top: clamp(24px, 3.4vw, 48px) !important; padding-bottom: clamp(32px, 4vw, 56px) !important; }
.sv-wrap { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(24px, 4.5vw, 64px); align-items: center; }
.sv-texto h1 { font-size: clamp(32px, 4vw, 50px) !important; line-height: 1.08 !important; margin: 0 0 14px !important; color: var(--ne-tinta, #0E2A30) !important; }
.sv-texto .sv-intro { font-size: 17px; color: var(--ne-tinta-2, #4E5F66); max-width: 54ch; }
.sv-precio { display: inline-flex; margin: 4px 0 18px !important; padding: 10px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--ne-linea, #DCE8EA); font-size: 15.5px; }
@media (min-width: 901px) { .sv-wrap:has(.sv-fotos-2) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); } }
.sv-fotos { display: grid; gap: 14px; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.sv-foto { position: relative; display: block; margin: 0; aspect-ratio: 4 / 5; border-radius: 28px; overflow: hidden; background: var(--eq-blanco);
  box-shadow: 0 2px 4px rgba(11,42,49,.06), 0 30px 60px -30px rgba(11,42,49,.45); text-decoration: none !important; }
.sv-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sv-foto figcaption, .sv-foto .sv-foto-pie { position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 10px 14px; border-radius: 16px;
  background: rgba(255,255,255,.92); backdrop-filter: blur(8px); box-shadow: 0 8px 20px -12px rgba(11,42,49,.4); }
.sv-foto b { display: block; font: 700 16px/1.2 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); }
.sv-foto small { display: block; font-size: 13px; color: var(--ne-marca-alta, #08656A); font-weight: 600; }
.sv-fotos-2 .sv-foto { border-radius: 24px; }
@media (max-width: 900px) {
  .sv-wrap { grid-template-columns: 1fr; gap: 22px; }
  .sv-texto .eq-btn { flex: 1 1 100%; }
  .sv-fotos-1 { max-width: 420px; width: 100%; margin: 0 auto; }
}
@media (max-width: 520px) { .sv-fotos-2 { gap: 10px; } .sv-fotos-2 .sv-foto figcaption { left: 6px; right: 6px; bottom: 6px; padding: 7px 9px; } .sv-fotos-2 .sv-foto b { font-size: 13.5px; } .sv-fotos-2 .sv-foto small { font-size: 11.5px; } }

/* texto largo de la página (lo que ya tenía la vista anterior) */
.eq-prosa h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 30px 0 10px; }
.eq-prosa h2:first-child { margin-top: 0; }
.eq-prosa p, .eq-prosa li { font-size: 16px; line-height: 1.7; }
.eq-prosa ul { padding-left: 20px; margin: 0 0 16px; }
.eq-prosa li { margin-bottom: 6px; }

/* ==========================================================================
   BLOQUE DE PROFESIONAL (se agrega a páginas que ya existían)
   ========================================================================== */
.pro-bloque { margin: 22px 0 26px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.pro-card, .pro-card > div { min-width: 0; }
.pro-card { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 18px; align-items: start; padding: 18px; background: #fff;
  border: 1px solid var(--ne-linea, #DCE8EA); border-radius: 22px; box-shadow: var(--ne-sombra); }
.pro-card-foto { display: block; width: 128px; height: 128px; border-radius: 50%; overflow: hidden; background: var(--eq-blanco); box-shadow: 0 0 0 4px var(--ne-marca-suave, #E6F4F4); }
.pro-card-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pro-card .pro-et { display: block; font: 700 11px/1.2 var(--ne-display, 'Montserrat', sans-serif); letter-spacing: .12em; text-transform: uppercase; color: var(--ne-marca-alta, #08656A); margin: 2px 0 6px; }
.pro-card .pro-nombre { text-decoration: none !important; display: block; font: 700 20px/1.2 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); margin: 0; }
.pro-card .pro-rol { display: block; font-size: 14px; font-weight: 600; color: var(--ne-marca-alta, #08656A); margin: 2px 0 10px; }
.pro-card p.pro-bio { font-size: 15px !important; line-height: 1.6 !important; color: var(--ne-tinta-2, #4E5F66) !important; margin: 0 0 12px !important; }
.pro-card .pro-precio { display: block; font-size: 14.5px; margin: 0 0 12px; }
.pro-card .pro-ctas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pro-card .pro-perfil { font-size: 14px; font-weight: 700; color: var(--ne-marca-alta, #08656A) !important; text-decoration: underline; text-underline-offset: 3px; margin-left: 4px; }
.pro-card-sec { grid-template-columns: 84px minmax(0, 1fr); padding: 14px 18px; box-shadow: none; }
.pro-card-sec .pro-card-foto { width: 84px; height: 84px; }
.pro-card-sec .pro-nombre { font-size: 17px; }
@media (max-width: 560px) {
  .pro-card { grid-template-columns: 1fr; text-align: left; }
  .pro-card-foto { width: 112px; height: 112px; }
  .pro-card-sec { grid-template-columns: 72px minmax(0, 1fr); }
  .pro-card-sec .pro-card-foto { width: 72px; height: 72px; }
  .pro-card .pro-ctas .eq-btn { flex: 1 1 100%; }
}
/* Dos profesionales con el mismo peso, lado a lado (psicóloga en Pereira / online) */
.pro-bloque-par .pro-card { grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 14px; }
.pro-bloque-par .pro-card > div { display: flex; flex-direction: column; align-self: stretch; }
.pro-bloque-par .pro-card .pro-ctas { margin-top: auto; }
.pro-bloque-par .pro-card-foto { width: 112px; height: 112px; }
@media (min-width: 700px) {
  .pro-bloque-par { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .pro-bloque-par .pro-card .pro-ctas .eq-btn { flex: 1 1 100%; }
  .pro-bloque-par .pro-card .pro-perfil { margin: 2px auto 0; }
}

/* pie en las páginas nuevas */
footer.eq-pie { padding: 32px 0 96px; font-size: 14px; text-align: center; }
footer.eq-pie p { margin: 0 0 8px; }
footer.eq-pie .eq-pie-links a { margin: 0 6px; display: inline-block; padding: 4px 0; }

/* <picture> llena su marco */
.heq-foto > picture, .pf-foto > picture, .sv-foto > picture, .eq-card-foto > picture, .pro-card-foto > picture { display: block; width: 100%; height: 100%; }

/* botón flotante de WhatsApp en las páginas nuevas (mismo que el resto del sitio) */
body.eq .wa-float { position: fixed; bottom: 22px; right: 18px; z-index: 998; height: 56px; border-radius: 100px; display: flex; align-items: center; gap: 10px;
  padding: 0 18px; color: #fff !important; font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; }
body.eq .wa-float svg { width: 28px; height: 28px; fill: #fff; }
@media (max-width: 520px) { body.eq .wa-float { height: 50px; padding: 0 15px; font-size: 14px; bottom: 16px; right: 14px; } body.eq .wa-float svg { width: 24px; height: 24px; } }

/* encabezado de /equipo/ y lista de la coordinación */
.eq-cab { background: radial-gradient(700px 360px at 92% 0%, rgba(16,163,226,.10), transparent 62%),
  radial-gradient(620px 320px at 0% 100%, rgba(13,150,151,.10), transparent 62%), var(--ne-papel, #F5F9FA); }
section.eq-cab { padding-top: clamp(22px, 3vw, 40px) !important; }
.pf-datos-grande { gap: 16px; }
.pf-datos-grande li { font-size: 17px; line-height: 1.55; }
.pf-datos-grande svg { width: 26px; height: 26px; }
@media (min-width: 861px) { .eq-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* ==========================================================================
   25-oct-2026 · pie y cabecera únicos (/ne-marco.css) y ajustes de las páginas eq
   ========================================================================== */
/* Perfil en celular: la foto pasa a ser una franja, así el nombre, el precio y el botón entran en la primera pantalla. */
@media (max-width: 900px) {
  .pf-foto { aspect-ratio: 16 / 9 !important; max-height: 300px; border-radius: 0 0 24px 24px !important; }
  .pf-foto img { object-position: 50% 24% !important; }
  .pf-texto h1 { font-size: clamp(30px, 8.4vw, 42px) !important; }
  .pf-rol { margin-bottom: 10px !important; }
  .pf-resumen { font-size: 15.5px; }
  .pf-datos { margin: 12px 0 16px; gap: 8px; }
  .pf-datos li { font-size: 15px; }
}
/* Escritorio: el borde izquierdo ya no salta entre secciones anchas y angostas. */
@media (min-width: 901px) { .eq-c-angosto { max-width: 1180px; } .eq-c-angosto > * { max-width: 780px; } }
/* Dos secciones seguidas del mismo fondo: sin doble relleno (dejaban ~128 px vacíos). */
section.eq-sec:not(.eq-sec-blanco) + section.eq-sec:not(.eq-sec-blanco) { padding-top: 0 !important; }
/* Antetítulo en celular: sin palabra huérfana. */
@media (max-width: 600px) { .eq-eyebrow { letter-spacing: .08em; font-size: 11px; } .eq-eyebrow::before { width: 18px; } }
/* Precio (26-oct): el «·» va pegado al primer tramo (&nbsp;) y la línea solo se parte después de él;
   en celular, el héroe y la lista del perfil muestran un tramo por línea, sin «·». */
.eq-precio .eq-sep { white-space: normal; }
@media (max-width: 600px) {
  .sv-precio .eq-precio, .pf-datos .eq-precio { display: inline-flex; flex-direction: column; gap: 1px; }
  .sv-precio .eq-precio .eq-sep, .pf-datos .eq-precio .eq-sep { display: none; }
}
/* Páginas de terapia: el problema que trae a la persona, justo debajo del H1. */
.sv-problema { font: 600 clamp(17px, 1.8vw, 20px)/1.42 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); margin: 0 0 12px !important; max-width: 46ch; letter-spacing: -.005em; }
.sv-saltos { font-size: 15px; margin: -4px 0 14px !important; color: var(--ne-tinta-2, #4E5F66); }
.sv-saltos a { font-weight: 700; color: var(--ne-marca-alta, #08656A) !important; }
@media (max-width: 600px) { .sv-texto .sv-intro { font-size: 15.5px; } }
.pf-nota .ne-si-form a, .pf-nota > a { color: var(--ne-marca-alta, #08656A) !important; font-weight: 700; }
/* Grupos «Para niños» y «Para adultos». */
.eq-grupo { font: 700 13px/1.3 var(--ne-display, 'Montserrat', sans-serif); letter-spacing: .1em; text-transform: uppercase; color: var(--ne-marca-alta, #08656A); margin: 26px 0 12px !important; }
.eq-bajada + .eq-grupo { margin-top: 4px !important; }
/* Temas de psicología dentro del texto. */
.eq-prosa .svc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 12px; margin: 16px 0 24px; }
.eq-prosa .svc-box { background: #fff; border: 1px solid var(--ne-linea, #DCE8EA); border-radius: 16px; padding: 16px 18px; }
.eq-prosa .svc-box h3 { margin: 0 0 6px; font-size: 16px; }
.eq-prosa .svc-box p { font-size: 14.5px; line-height: 1.55; margin: 0 !important; }
.eq-prosa h3 { margin: 22px 0 6px; font-size: 17px; }
.eq-prosa .highlight { padding: 14px 18px; margin: 18px 0; font-size: 15px; }
.eq-prosa a { color: var(--ne-marca-alta, #08656A); font-weight: 600; }
.eq-prosa a[href^="tel:"], .eq-prosa a[href*="wa.me"]:not(.eq-btn) { white-space: nowrap; }
/* Llamado intermedio dentro del texto. */
.eq-cta-mini { margin: 28px 0; padding: 20px 22px; border-radius: 20px; background: linear-gradient(135deg, var(--ne-marca-suave, #E6F4F4), var(--ne-azul-suave, #E5F1F9)); border: 1px solid var(--ne-linea, #DCE8EA); }
.eq-cta-mini h3 { margin: 0 0 4px !important; font-size: 18px; }
.eq-cta-mini p { margin: 0 0 12px !important; font-size: 15px; }
.eq-cta-mini .eq-btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.eq-cta-mini .eq-cta-mini-nota { margin: 10px 0 0 !important; font-size: 14px; }
/* Cierre: título h3 donde la página ya lo traía así, «Llamar» y «Prefiero que me escriban». */
.eq-cta h3 { font-size: clamp(22px, 2.4vw, 28px) !important; margin: 0 0 6px !important; }
.eq-cta .eq-cta-nota { margin-top: 8px !important; font-size: 14px; }
.eq-cta-btns a.ne-si-form { text-align: center; font-size: 14px; padding: 4px 0; }
.ne-cta-cortas { margin: 0 0 16px; }
.ne-cta-cortas .rv-cortas-cta { margin: 0; }
/* Teléfono sin partirse en las tarjetas de «Cómo es la atención». */
.eq-info a[href*="wa.me"], .eq-info a[href^="tel:"] { white-space: nowrap; }
/* Botones del héroe de servicio lado a lado en escritorio. */
@media (min-width: 901px) { .sv-texto .pf-ctas .eq-btn { flex: 0 0 auto; } }
/* «Llamar» como segundo botón del héroe. */
.pf-ctas .eq-btn-sec svg { stroke: var(--ne-marca, #0A7A7E); fill: none; }
/* Bloque de texto largo plegado (26-oct): el detalle sigue en la página para quien lo abra y para Google. */
.eq-mas { background: #fff; border: 1px solid var(--ne-linea, #DCE8EA); border-radius: 14px; margin: 0 0 8px; }
.eq-mas > summary { cursor: pointer; list-style: none; padding: 15px 18px; font: 600 16px/1.35 var(--ne-display, 'Montserrat', sans-serif); color: var(--ne-tinta, #0E2A30); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.eq-mas > summary::-webkit-details-marker { display: none; }
.eq-mas > summary::after { content: "+"; color: var(--ne-marca, #0A7A7E); font-weight: 700; font-size: 20px; line-height: 1; flex: none; }
.eq-mas[open] > summary::after { content: "\2212"; }
.eq-mas-c { padding: 2px 18px 8px; }
.eq-mas-c h2 { font-size: clamp(19px, 2vw, 22px); }
