/* Ajustes de publicación · Centro Elemental */
/* Subtítulo de la portada: la última línea heredaba alineación a la izquierda del texto justificado */
[data-screen="home"] .hero--editorial-human p{text-align-last:center}

/* Botón "Configurar cookies" en los pies de página */
.site-footer__nav button[data-cookie-settings],.legal-nav button[data-cookie-settings]{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:inherit}

/* Banner de consentimiento */
.ec-consent{position:fixed;inset:auto 0 0 0;z-index:2147483000;display:flex;justify-content:center;padding:16px;pointer-events:none;font-family:"Source Sans 3",Source,Maven,system-ui,sans-serif}
.ec-consent__box{pointer-events:auto;width:min(100%,720px);background:#fff;color:#202D43;border:1px solid #CBD3DF;border-radius:18px;box-shadow:0 18px 50px rgba(16,42,67,.22);padding:18px 20px;display:grid;gap:10px}
.ec-consent__title{font-size:17px}
.ec-consent__text{margin:0;font-size:15px;line-height:1.45;text-align:left}
.ec-consent__text a{color:#294B76}
.ec-consent__settings{display:grid;gap:8px;border-top:1px solid #E5EBF3;padding-top:10px}
.ec-consent__row{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer}
.ec-consent__row input{margin-top:3px;width:18px;height:18px;accent-color:#294B76}
.ec-consent__row span{display:grid}.ec-consent__row small{color:#5B6B80}
.ec-consent__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ec-btn{font:inherit;font-size:15px;font-weight:600;border-radius:999px;padding:10px 18px;cursor:pointer;min-height:44px}
.ec-btn--ghost{background:#fff;color:#294B76;border:1px solid #CBD3DF}
.ec-btn--primary{background:#294B76;color:#fff;border:1px solid #294B76}
.ec-btn:focus-visible{outline:3px solid #8fc5f5;outline-offset:2px}
html[data-visual-mode="pixel"] .ec-consent__box{border:2px solid #102a43;border-radius:0;box-shadow:5px 5px 0 #102a43}
html[data-visual-mode="pixel"] .ec-btn{border-radius:0}
@media (max-width:600px){.ec-consent{padding:10px}.ec-consent__actions{justify-content:stretch}.ec-btn{flex:1 1 auto}}
.legal-cookie-button{font:inherit;font-weight:600;color:#fff;background:#294B76;border:0;border-radius:999px;padding:10px 18px;cursor:pointer;min-height:44px}


/* ---- Science: selector Artículos / Vídeos ---- */

/* ---- Training ---- */
.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 18px}
.training-card{margin:0!important;display:grid;gap:6px;align-content:start}
.training-card h3{margin:0;font-size:18px}
.training-card p{margin:0;color:var(--muted);line-height:1.5}
.training-card svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--blue,#294B76)}
.training-status{display:inline-block;margin:6px 0 0;padding:6px 12px;border-radius:999px;background:var(--pop-soft,#fff4d6);font-weight:700;font-size:13px}
html[data-visual-mode="pixel"] .training-status{border-radius:0;border:2px solid var(--line)}
.training-next{margin:10px 0 6px}
.training-next h3{margin:0 0 6px}
.training-next p{line-height:1.6}
.training-langs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.training-langs article{padding:14px 16px;border:1px solid var(--dash,#CBD3DF);border-radius:14px;background:var(--cream,#fff)}
.training-langs h4{margin:0 0 4px}
.training-langs p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
html[data-visual-mode="pixel"] .training-langs article{border:2px solid var(--line);border-radius:0;box-shadow:3px 3px 0 var(--line)}
@media (max-width:760px){.training-grid,.training-langs{grid-template-columns:1fr}}

/* ---- Reseñas de Google en la portada ---- */
.hero-review-link{margin:14px 0 0;text-align:center;text-align-last:center}
.hero-review-link a{display:inline-flex;align-items:center;gap:6px;color:var(--ink,#202D43);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hero-review-link a span{color:#936000;text-decoration:none}
.training-card p,.training-langs p,.training-next p{text-align:left;text-align-last:auto}

/* ---- Auditoría: pies de página ---- */
.site-footer__nav{flex-wrap:wrap;row-gap:6px}
@media (max-width:1100px){
  .site-footer__bottom{grid-template-columns:1fr!important;gap:10px!important}
  .site-footer__nav{justify-content:flex-start!important;white-space:normal!important;gap:6px 16px!important}
}
@media (max-width:759px){
  .site-footer__top{grid-template-columns:1fr!important;gap:12px!important}
  .site-footer__brand span{max-width:none!important}
  .site-footer__details{grid-template-columns:1fr!important;justify-content:start!important;justify-items:start!important;text-align:left!important;gap:4px!important;font-size:13px!important}
  .site-footer__bottom small{font-size:12px!important;max-width:none!important}
  .site-footer__nav a{font-size:13px!important;padding:4px 0}
}
/* Centro: el enlace suelto duplicaba el pie */
[data-screen="center"] .legal-links{display:none!important}
/* Centro: mapa y transporte con el mismo estilo que el resto en modo serio */
html[data-visual-mode="serious"] .center-map,
html[data-visual-mode="serious"] .transport-card{border:1px solid rgba(var(--serious-shadow-rgb),.14);border-radius:18px;box-shadow:0 10px 28px rgba(var(--serious-shadow-rgb),.08);background:#fff}
html[data-visual-mode="serious"] .center-map{overflow:hidden}
/* Perfil: botones de compartir e idiomas en modo serio */
html[data-visual-mode="serious"] .profile-language,
html[data-visual-mode="serious"] [data-share-profile]{border:1px solid var(--serious-border,#CBD3DF)!important;border-radius:999px!important;box-shadow:none!important;background:#fff}
/* Psicología deportiva: la página incrustada crece con su contenido y el pie común va debajo */
.sport-screen .sport-embed{height:auto;min-height:100%}
.sport-screen .sport-footer-host{padding-top:0}

/* =====================================================================
   Revisión de diseño v2 · coherencia de botones, tipografía y espaciado
   ===================================================================== */
:root{--desktop-canvas:min(1240px,calc(100vw - clamp(48px,8vw,160px)))}

/* Botones: un único tamaño de texto, altura y forma en todas las secciones */
:is(.pill,.install-action,.profile-book,.profile-team-back,.profile-contact-actions a,.profile-actions>*,
    .psychiatry-back,.psychiatry-book,.psychiatry-profile,.booking-band a,.center-actions a){
  min-height:46px;font-size:15px!important;line-height:1.2;padding:11px 22px!important;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}
html[data-visual-mode="serious"] :is(.pill,.install-action,.profile-book,.profile-team-back,.profile-contact-actions a,
    .profile-actions>*,.psychiatry-back,.psychiatry-book,.psychiatry-profile,.booking-band a){border-radius:999px!important;font-weight:600}
html[data-visual-mode="serious"] .profile-actions>*{border:1px solid var(--serious-border,#CBD3DF)!important;background:#fff;box-shadow:none!important}
html[data-visual-mode="serious"] .profile-actions>.profile-book{border-color:transparent!important;background:var(--serious-navy,#24456F)!important;color:#fff!important}

/* Texto mínimo legible: etiquetas, chips y notas (antes 9–11 px en escritorio) */
.eyebrow{font-size:12px!important;letter-spacing:.14em}
:is(.service-tags span,.profile-tags span,.profile-areas span,.article-tag,.list-card .tag,.editorial-tag){font-size:12.5px!important}
:is(.install-card-note,.profile-license,.booking-band small){font-size:13px!important}

/* Portada: reseña de Google separada de los botones y con texto legible */
.hero-review-link{margin:22px 0 0!important}
.hero-review-link a{min-height:44px;padding:10px 18px;border-radius:999px;font-size:15px!important;text-decoration:none!important;
  background:rgba(255,255,255,.72);border:1px solid rgba(32,45,67,.14)}
.hero-review-link a:hover{border-color:rgba(32,45,67,.35)}
.hero-review-link a>span{font-size:17px}
html[data-visual-mode="pixel"] .hero-review-link a{border:2px solid var(--line);border-radius:0;box-shadow:3px 3px 0 var(--line);background:var(--paper,#fff)}

/* Bandas de "Pedir cita": mismo ancho que el contenido en todas las secciones */
.booking-band,[data-screen="home"] .booking-band,[data-screen="center"]>.content>.booking-band{width:100%!important;max-width:none!important;justify-self:stretch!important;margin-inline:0!important}

/* Centro: el pie, la banda y el transporte ocupan siempre toda la fila (en tableta el pie quedaba a media columna) */
[data-screen="center"]>.content>:is(.site-footer,.booking-band,.transport-grid,.center-map,.legal-links,.page-title){grid-column:1/-1}

/* Training: el vídeo recomendado alineado con el resto de tarjetas */
[data-screen="training"] .video-feature{width:100%!important;max-width:none!important;margin-inline:0!important}
@media (min-width:760px){[data-screen="training"] .video-feature{grid-template-columns:minmax(260px,38%) minmax(0,1fr)!important}}

/* Móvil: botones más compactos, centrados y nunca a todo lo ancho */
@media (max-width:759px){
  :is(.pill,.install-action,.profile-book,.profile-team-back,.profile-contact-actions a,.profile-actions>*,
      .psychiatry-book,.psychiatry-profile){width:auto!important;min-width:min(100%,220px);max-width:300px;justify-self:center;align-self:center;margin-inline:auto}
  .editorial-hero-ctas,.hero-actions-row{align-items:center}
  .editorial-hero-ctas .pill{width:260px!important;max-width:100%}
  .install-card-actions{justify-content:center;flex-direction:column}
  .profile-contact-actions,.profile-actions,.psychiatry-actions{display:flex!important;flex-wrap:wrap;justify-content:center;gap:10px}
  .hero-review-link a{font-size:14px!important;padding:9px 14px}
}
/* Centro: compensar el hueco de la rejilla para que el ritmo vertical sea igual que en el resto */
[data-screen="center"]>.content>.center-map{margin:0!important;width:100%!important;max-width:none!important}
[data-screen="center"]>.content>.booking-band{margin-top:8px!important}
[data-screen="center"]>.content>.site-footer{margin-top:10px!important}
.hero-review-link a{justify-content:center;text-wrap:balance}
@media (max-width:759px){.hero-review-link a{background:transparent;border-color:transparent;text-decoration:underline!important;text-underline-offset:3px;padding:8px 6px}}
.hero-review-link{display:flex;justify-content:center}
@media (max-width:759px){
  :is(.pill,.install-action,.profile-book,.profile-team-back,.profile-contact-actions a,.profile-actions>*,
      .psychiatry-book,.psychiatry-profile){width:min(100%,280px)!important;min-width:0}
  .editorial-hero-ctas .pill{width:min(100%,280px)!important}
  html[data-visual-mode] .hero-review-link a{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
  .profile-language{width:auto!important;display:inline-flex!important}
}
.hero-review-link{width:100%;align-self:stretch}
@media (max-width:759px){
  .hero-review-link a{display:inline!important;line-height:1.5}
  .profile-team-back{display:flex!important;margin-inline:auto!important}
}
.hero-review-link{max-width:none!important;margin-inline:auto!important}

/* =====================================================================
   Revisión de diseño v3 · propuestas aprobadas del plan
   ===================================================================== */
/* Portada (tableta y escritorio): valoraciones en su propia fila y los dos botones iguales */
@media (min-width:760px){
  [data-screen="home"] .editorial-hero-ctas{flex-wrap:wrap;row-gap:16px}
  [data-screen="home"] .editorial-hero-ctas .hero-actions-row{display:contents}
  [data-screen="home"] .hero--editorial-human .hero-ratings{order:-1;flex:0 0 100%;justify-content:center;gap:28px}
  [data-screen="home"] .hero--editorial-human .hero-ratings a{font-size:14px}
  [data-screen="home"] .editorial-hero-ctas .pill{min-width:230px;margin:0!important}
}
/* Terapia: tarjetas de la misma fila con el enlace "Conocer el servicio" alineado abajo */
.service-stack{align-items:stretch}
.service-card,.service-card>.service-card-link{display:flex;flex-direction:column}
.service-card>.service-card-link{flex:1;color:inherit;text-decoration:none}
.service-card .service-copy{display:flex;flex:1;flex-direction:column}
.service-card .service-copy>.service-cta{margin-top:auto;padding-top:12px;font-size:14px}
.service-card--psychiatry-teaser .service-copy{min-height:0}
/* Perfil y Terapia: chips legibles */
:is(.service-tags span,.profile-tags span,.profile-areas span,#profile-areas span){font-size:13px!important}
/* Training: la etiqueta de estado como chip bajo la descripción */
.training-status{display:inline-flex!important;align-items:center;gap:6px;margin-top:12px!important}
.training-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#d98b00}
/* Bandas de cita: texto un poco mayor en escritorio */
@media (min-width:1024px){.booking-band strong{font-size:18px!important}.booking-band small{font-size:14px!important}}

/* Móvil */
@media (max-width:759px){
  /* Cabecera: idioma en un único botón desplegable */
  .appbar .language-picker{position:relative}
  .appbar .language-picker.is-compact:not(.is-open) button[aria-pressed="false"]{display:none!important}
  .appbar .language-picker.is-compact.is-open{position:absolute;z-index:60;top:calc(100% - 6px);right:58px;flex-direction:column;
    box-shadow:0 12px 28px rgba(15,30,50,.18);background:#fff}
  .appbar .language-picker.is-compact.is-open button{min-width:52px}
  /* Terapia: imágenes de servicio más bajas */
  .service-card img{aspect-ratio:16/9;width:100%;height:auto!important;object-fit:cover}
  /* Pie: datos de contacto en dos columnas */
  .site-footer__details{grid-template-columns:1fr 1fr!important;column-gap:12px!important}
  .site-footer__details{grid-auto-flow:row dense}
  .site-footer__details>a:first-child,.site-footer__details a[href^="mailto:"]{grid-column:1/-1}
  /* Instalar la app: solo a partir de la segunda visita */
  html.ec-first-visit [data-screen="home"] .install-card{display:none}
}


/* ---- Science: selector Artículos / Vídeos grande y explicado ---- */
.science-block{margin:6px 0 26px}
.science-lead{margin:0 0 12px!important;color:var(--muted,#59697E);font-size:16px!important;line-height:1.45;text-align:left!important}
.science-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:720px}
.science-switch a{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 18px;border:1px solid var(--serious-border,#CBD3DF);border-radius:18px;background:#fff;color:var(--ink,#202D43);text-decoration:none;transition:background .15s,border-color .15s}
.science-switch a:hover{border-color:var(--serious-action,#24456F)}
.science-switch svg{flex:none;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.science-switch strong{display:block;font-size:20px;line-height:1.1}
.science-switch small{display:block;margin-top:3px;font-size:14px;color:inherit;opacity:.78}
.science-switch a[aria-current="page"]{border-color:transparent;background:var(--serious-action,#24456F);color:#fff;box-shadow:0 10px 24px rgba(36,69,111,.22)}
html[data-visual-mode="pixel"] .science-switch a{border:2px solid var(--line);border-radius:0;box-shadow:3px 3px 0 var(--line);font-weight:800}
html[data-visual-mode="pixel"] .science-switch a[aria-current="page"]{background:var(--yellow);color:var(--ink);box-shadow:4px 4px 0 var(--line)}
@media (max-width:759px){.science-switch{gap:8px}.science-switch a{min-height:64px;padding:10px 12px;gap:10px}.science-switch svg{width:24px;height:24px}.science-switch strong{font-size:17px}.science-switch small{font-size:12.5px}}

/* ---- Portada móvil compacta: la foto del equipo sube y los botones van bajo su texto ---- */
.experience-ctas{display:none}
@media (max-width:759px){
  [data-screen="home"] .hero--editorial-human{padding:22px 18px 18px!important;min-height:0!important}
  [data-screen="home"] .hero--editorial-human .eyebrow{font-size:11px!important;letter-spacing:.12em}
  [data-screen="home"] .hero--editorial-human h1{font-size:27px!important;line-height:1.08!important;margin:8px 0 8px!important}
  [data-screen="home"] .hero--editorial-human .hero-copy>p:not(.hero-review-link){font-size:15px!important;line-height:1.45!important;margin:0!important}
  [data-screen="home"] .editorial-hero-ctas{margin-top:12px!important}
  [data-screen="home"] .editorial-hero-ctas>.pill,[data-screen="home"] .editorial-hero-ctas .hero-actions-row>.pill{display:none!important}
  [data-screen="home"] .hero--editorial-human .hero-ratings{margin-top:0!important}
  [data-screen="home"] .hero-review-link{margin-top:8px!important}
  [data-screen="home"] .hero-review-link a{min-height:36px;padding:4px 6px!important}
  [data-screen="home"] .editorial-experience{margin-top:14px!important}
  .experience-ctas{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px}
  .experience-ctas .pill{width:min(100%,280px)!important;min-height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:15px!important;text-decoration:none}
  html[data-visual-mode="serious"] .experience-ctas .pill{color:#fff;background:var(--serious-action,#24456F);border:0}
  html[data-visual-mode="serious"] .experience-ctas .editorial-hero-secondary{color:var(--ink);background:#fff;border:1px solid var(--serious-border,#CBD3DF)}
  html[data-visual-mode="pixel"] .experience-ctas .pill{border:2px solid var(--line);border-radius:0;box-shadow:3px 3px 0 var(--line);background:var(--mint);color:var(--ink);font-weight:800}
  html[data-visual-mode="pixel"] .experience-ctas .editorial-hero-secondary{background:var(--paper,#fff)}
}

/* ---- Pantalla de carga en modo serio: sin estilo pixel ---- */
html[data-visual-mode="serious"] .intro-mark{border:0!important;border-radius:24px;overflow:hidden;box-shadow:0 16px 36px rgba(36,69,111,.18)!important;animation:ec-intro-soft .55s cubic-bezier(.2,.8,.2,1) both}
html[data-visual-mode="serious"] .intro-mark img{image-rendering:auto}
html[data-visual-mode="serious"] .intro-inner strong{font-family:"Source Sans 3",Source,system-ui,sans-serif;font-weight:600;letter-spacing:.01em;color:var(--ink,#202D43)}
html[data-visual-mode="serious"] .intro-inner small{font-family:"Source Sans 3",Source,system-ui,sans-serif;font-weight:600;color:var(--muted,#59697E)}
html[data-visual-mode="serious"] .intro-dots i{border:0!important;border-radius:50%;width:8px;height:8px;background:var(--serious-action,#24456F)!important;opacity:.35;animation:ec-intro-dot 1s ease-in-out infinite}
html[data-visual-mode="serious"] .intro-dots i:nth-child(2){animation-delay:.15s}
html[data-visual-mode="serious"] .intro-dots i:nth-child(3){animation-delay:.3s}
html[data-visual-mode="serious"] .app-intro{animation-timing-function:ease!important}
@keyframes ec-intro-soft{from{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}
@keyframes ec-intro-dot{0%,100%{opacity:.25;transform:none}50%{opacity:1;transform:translateY(-4px)}}
