/*
Theme Name: Therapy Works
Theme URI: https://therapyworkscounseling.com
Author: MKT Actual
Description: Tema profesional a medida para Therapy Works Counseling. Ligero, rápido y sin Elementor. Plantillas por página editables desde el editor de temas. Diseño bilingüe (ES/EN) basado en el mockup de la clienta.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: therapyworks
*/

/* ============================================================
   THERAPY WORKS — SISTEMA DE DISEÑO
   Acento de marca: ROSA #F47A77 (antes dorado)
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100%;width:100%}
:root{
  --burgundy:#7B2D5F;
  --burgundy-dark:#5E1F48;
  --burgundy-light:#F5EAF0;
  --plum:#9B4D7D;
  --rose:#D4A0B9;
  --cream:#FFF9F5;
  --peach:#FFE8D6;
  --lavender:#EDE7F6;
  --sage:#E8F0E4;
  /* ACENTO ROSA (reemplaza el dorado) */
  --gold:#F47A77;
  --gold-dark:#D85D5A;
  --gold-light:#FDEAE9;
  --accent:#F47A77;
  --accent-dark:#D85D5A;
  --accent-light:#FDEAE9;
  --accent-rgb:244,122,119;
  --warm-white:#FEFCFA;
  --gray-900:#2D2A32;
  --gray-700:#5A5660;
  --gray-500:#8A8690;
  --gray-300:#D4D2D8;
  --gray-100:#F7F6F8;
  --white:#FFFFFF;
  --shadow-sm:0 4px 16px rgba(123,45,95,0.05);
  --shadow-md:0 8px 32px rgba(123,45,95,0.08);
  --shadow-lg:0 16px 48px rgba(123,45,95,0.12);
  --radius:16px;
  --radius-lg:24px;
  --radius-xl:32px;
  --transition:all .35s cubic-bezier(0.25,0.46,0.45,0.94);
  --anim-duration:0.7s;
  --anim-ease:cubic-bezier(0.25,0.46,0.45,0.94);
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Outfit',sans-serif;color:var(--gray-700);background:var(--warm-white);line-height:1.7;overflow-x:hidden;font-weight:400}
h1,h2,h3,h4,h5{font-family:'Outfit',sans-serif;color:var(--gray-900);line-height:1.2;font-weight:700}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;height:auto}
.container{max-width:1280px;margin:0 auto;padding:0 24px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:16px 36px;border-radius:50px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:var(--transition);font-family:'Outfit',sans-serif;position:relative;overflow:hidden;min-height:48px;letter-spacing:0.02em}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 20px rgba(var(--accent-rgb),0.3)}
.btn-primary::after{content:'';position:absolute;top:-50%;left:-75%;width:50%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transform:skewX(-25deg);transition:none}
.btn-primary:hover::after{animation:btnShimmer 0.6s ease forwards}
@keyframes btnShimmer{0%{left:-75%}100%{left:125%}}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 28px rgba(var(--accent-rgb),0.4)}
.btn-secondary{background:rgba(255,255,255,0.15);color:#fff;border:2px solid rgba(255,255,255,0.5);backdrop-filter:blur(8px)}
.btn-secondary:hover{background:rgba(255,255,255,0.25);border-color:#fff;transform:translateY(-2px)}
.btn-burgundy{background:var(--burgundy);color:#fff;box-shadow:0 4px 16px rgba(123,45,95,0.2)}
.btn-burgundy:hover{background:var(--burgundy-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(123,45,95,0.3)}
.btn-outline{background:transparent;color:var(--burgundy);border:2px solid var(--burgundy)}
.btn-outline:hover{background:var(--burgundy);color:#fff}
.btn-gold{background:var(--accent);color:#fff}
.btn-gold:hover{background:var(--accent-dark);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--gray-900);box-shadow:var(--shadow-sm)}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-sm{padding:12px 24px;font-size:.88rem}

.section-label{font-size:.78rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--burgundy);margin-bottom:14px;display:inline-block}
.section-title{font-size:2.8rem;margin-bottom:16px;font-weight:700}
.section-subtitle{font-size:1.08rem;color:var(--gray-500);max-width:560px;line-height:1.8;font-weight:400}

/* SVG ICON CONTAINERS */
.icon-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.icon-circle svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-circle-sm{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.icon-circle-sm svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* SCROLL ANIMATIONS */
.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--anim-duration) var(--anim-ease),transform var(--anim-duration) var(--anim-ease)}
.reveal.active{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-30px);transition:opacity var(--anim-duration) var(--anim-ease),transform var(--anim-duration) var(--anim-ease)}
.reveal-left.active{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(30px);transition:opacity var(--anim-duration) var(--anim-ease),transform var(--anim-duration) var(--anim-ease)}
.reveal-right.active{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(0.95);transition:opacity var(--anim-duration) var(--anim-ease),transform var(--anim-duration) var(--anim-ease)}
.reveal-scale.active{opacity:1;transform:scale(1)}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;transition:none}
  .hero-word{opacity:1!important;transform:none!important;animation:none!important}
  .hero-badge{animation:none!important}
  .blob{animation:none!important}
  .marquee-track{animation:none!important}
  .whatsapp-float{animation:none!important}
}

/* NAV */
.nav-wrapper{position:fixed;top:0;left:0;right:0;z-index:1000;transition:var(--transition)}
.nav-top{background:var(--gray-900);color:#fff;padding:8px 0;font-size:.8rem}
.nav-top .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.nav-top a{color:#fff;display:inline-flex;align-items:center;gap:6px;transition:opacity .2s}
.nav-top a:hover{opacity:.8}
.nav-top-left{display:flex;gap:20px;align-items:center}
.nav-top-right{display:flex;gap:16px;align-items:center}
.nav-main{background:rgba(254,252,250,0.95);backdrop-filter:blur(20px);padding:4px 0;transition:all 0.4s ease;border-bottom:1px solid transparent}
.nav-main .container{display:flex;justify-content:space-between;align-items:center}
.nav-logo{height:82px;cursor:pointer;display:flex;align-items:center;flex-shrink:0}
.nav-logo img{height:100%;width:auto}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0}
.nav-links a{padding:10px 16px;font-size:.9rem;font-weight:500;color:var(--gray-700);border-radius:50px;transition:var(--transition);cursor:pointer}
.nav-links a:hover,.nav-links a.active,.nav-links li.current-menu-item>a{color:var(--burgundy);background:var(--burgundy-light)}
.nav-cta{background:var(--accent);color:#fff;padding:12px 28px;border-radius:50px;font-weight:600;font-size:.88rem;transition:var(--transition);cursor:pointer;box-shadow:0 4px 16px rgba(var(--accent-rgb),0.25)}
.nav-cta:hover{background:var(--accent-dark);transform:translateY(-1px);color:#fff}
.nav-scrolled .nav-main{box-shadow:0 4px 24px rgba(0,0,0,0.06);border-bottom:1px solid rgba(0,0,0,0.04)}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--burgundy);width:46px;height:46px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:12px;transition:background .2s}
.mobile-toggle:hover{background:var(--burgundy-light)}
.mobile-toggle span{display:block;width:24px;height:2.5px;border-radius:3px;background:currentColor;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s}
.mobile-toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.mobile-toggle.open span:nth-child(2){opacity:0}
.mobile-toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
/* Drawer: en escritorio es solo un contenedor del menú (extras ocultos) */
.nav-drawer{display:flex;align-items:center}
.nav-drawer-top,.nav-drawer-cta,.nav-drawer-foot{display:none}
.nav-backdrop{display:none}

/* DECORATIVE BLOBS */
.blob{position:absolute;border-radius:50%;pointer-events:none;opacity:.5;z-index:0}
.blob-float{animation:blobFloat 8s ease-in-out infinite}
@keyframes blobFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(10px,-15px) scale(1.03)}66%{transform:translate(-8px,10px) scale(0.97)}}

/* HERO */
/* Sin max-height y con aire arriba/abajo: el contenido del hero creció (badge de dos
   líneas + tarjetas de servicios) y, centrado dentro de una altura fija, se salía por
   arriba y el nav fijo se lo comía. Ahora el hero crece con su contenido. */
.hero{margin-top:90px;position:relative;min-height:86vh;display:flex;align-items:center;overflow:hidden;padding:92px 0 56px}
.hero-bg{position:absolute;top:-22%;left:0;width:100%;height:144%;background-size:cover;background-position:center 28%;background-repeat:no-repeat;will-change:transform;transition:transform 0.1s linear;z-index:0}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(254,252,250,0.96) 0%,rgba(255,242,236,0.9) 26%,rgba(248,228,237,0.5) 58%,rgba(123,45,95,0.12) 100%)}
.hero-content{position:relative;z-index:2;width:100%;max-width:1340px;margin:0 auto;padding:0 24px}
.hero-inner{max-width:700px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.7);backdrop-filter:blur(12px);padding:10px 22px;border-radius:50px;font-size:.82rem;font-weight:600;margin-bottom:32px;border:1px solid rgba(123,45,95,0.1);color:var(--burgundy);animation:floatBadge 3s ease-in-out infinite}
@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:3.6rem;color:var(--gray-900);margin-bottom:20px;line-height:1.1;font-weight:700}
.hero h1 em{color:var(--burgundy);font-style:normal}
/* 620px = la descripción entra en dos líneas sin recortar nada del texto. */
.hero-sub{font-size:1.12rem;color:var(--gray-700);margin-bottom:26px;line-height:1.8;max-width:620px;font-weight:400}
/* Los dos servicios, visibles de entrada: terapia y evaluaciones. */
.hero-pilares{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px;max-width:680px}
.hero-pilar{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);border:1px solid rgba(123,45,95,0.10);border-radius:18px;transition:var(--transition)}
.hero-pilar:hover{background:#fff;border-color:rgba(123,45,95,0.24);transform:translateY(-3px);box-shadow:0 16px 32px -16px rgba(123,45,95,0.42)}
.hero-pilar-ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hero-pilar-ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-pilar-ico--terapia{background:var(--peach);color:var(--burgundy)}
.hero-pilar-ico--eval{background:var(--lavender);color:var(--plum)}
.hero-pilar-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.hero-pilar-body strong{font-size:.95rem;font-weight:700;color:var(--gray-900);line-height:1.25}
.hero-pilar-body small{font-size:.79rem;color:var(--gray-700);line-height:1.5;font-weight:400}
.hero-pilar-ar{width:13px;height:13px;opacity:.5;vertical-align:-1px;transition:transform .25s,opacity .25s;color:var(--burgundy)}
.hero-pilar:hover .hero-pilar-ar{transform:translateX(4px);opacity:1}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px}
.hero-trust{display:flex;align-items:center;gap:16px;font-size:.88rem;color:var(--gray-700);font-weight:500;flex-wrap:wrap}
.hero-trust-item{display:flex;align-items:center;gap:6px}
.hero-trust-item svg{width:16px;height:16px;stroke:var(--burgundy);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hero-word{display:inline-block;opacity:0;transform:translateY(16px);animation:heroWordReveal 0.5s var(--anim-ease) forwards}
@keyframes heroWordReveal{to{opacity:1;transform:translateY(0)}}

/* TRUST BAR */
.trust-bar{background:var(--cream);padding:22px 0;border-bottom:1px solid rgba(123,45,95,0.05)}
.trust-bar .container{display:flex;justify-content:center;align-items:center;gap:36px;flex-wrap:wrap}
.trust-bar-item{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--gray-700);font-weight:500}
.trust-bar-item svg{width:18px;height:18px;flex-shrink:0}
.trust-stars{color:var(--accent);letter-spacing:2px;font-size:1rem;display:inline-flex;gap:2px}
.trust-stars svg{fill:var(--accent);stroke:none}

/* TRUST STRIP */
.trust-strip{padding:48px 0;background:var(--gray-100)}
.trust-strip-title{text-align:center;font-size:.75rem;text-transform:uppercase;letter-spacing:3px;color:var(--gray-500);margin-bottom:28px;font-weight:600}
.trust-logos{display:flex;justify-content:center;align-items:center;gap:36px;flex-wrap:wrap}
.trust-logos img{height:50px;object-fit:contain;opacity:.65;transition:all .3s;filter:grayscale(30%)}
.trust-logos img:hover{opacity:1;filter:none;transform:scale(1.05)}

/* PAIN/SOLUTION */
.pain-section{padding:120px 0;background:var(--warm-white);position:relative;overflow:hidden}
.pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.pain-list{list-style:none;margin-bottom:32px}
.pain-list li{display:flex;align-items:flex-start;gap:16px;padding:18px 0;font-size:1rem;line-height:1.7}
.pain-list li:not(:last-child){border-bottom:1px solid var(--gray-100)}
.pain-icon-wrap{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.pain-icon-wrap svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pain-solution{background:var(--lavender);border-radius:var(--radius-lg);padding:32px;margin-top:24px}
.pain-solution h3{color:var(--burgundy);font-size:1.4rem;margin-bottom:12px}
.pain-solution p{line-height:1.8;color:var(--gray-700)}
.pain-img-wrap{position:relative}
.pain-img{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);position:relative;z-index:1}
.pain-img img{width:100%;height:520px;object-fit:cover}

/* SERVICES */
.services-section{padding:120px 0;background:var(--cream);position:relative;overflow:hidden}
.services-header{text-align:center;margin-bottom:60px}
.services-header .section-subtitle{margin:0 auto}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:40px}
.service-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);cursor:pointer;position:relative;border:1px solid rgba(0,0,0,0.03)}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.service-card-icon{height:100px;display:flex;align-items:center;justify-content:center;position:relative}
.service-card-icon .icon-circle{width:64px;height:64px}
.service-card-icon .icon-circle svg{width:28px;height:28px}
.service-card-body{padding:24px}
.service-card h3{font-size:1.05rem;margin-bottom:8px;font-weight:600}
.service-card p{font-size:.88rem;color:var(--gray-500);line-height:1.6;margin-bottom:16px}
.service-link{color:var(--burgundy);font-weight:600;font-size:.88rem;display:inline-flex;align-items:center;gap:6px;transition:gap .3s}
.service-link:hover{gap:10px}
.service-card.featured{border:2px solid var(--accent)}
.service-card.featured .service-link{color:var(--accent-dark)}
.services-more{text-align:center}

/* EVALUACIONES HIGHLIGHT */
.eval-section{padding:120px 0;background:linear-gradient(135deg,var(--cream) 0%,var(--peach) 50%,var(--cream) 100%);position:relative;overflow:hidden}
.eval-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;position:relative;z-index:1}
.eval-section h2{font-size:2.6rem;margin-bottom:16px}
.eval-section .section-label{color:var(--burgundy)}
.eval-desc{font-size:1.05rem;color:var(--gray-700);line-height:1.8;margin-bottom:32px}
.eval-types-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:32px}
.eval-type-tag{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(255,255,255,0.7);border-radius:var(--radius);font-size:.9rem;font-weight:500;backdrop-filter:blur(8px);border:1px solid rgba(123,45,95,0.06)}
.eval-type-tag svg{width:16px;height:16px;stroke:var(--accent);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.eval-right{text-align:center}
.eval-stat-card{background:rgba(255,255,255,0.85);border-radius:var(--radius-xl);padding:40px 32px;backdrop-filter:blur(12px);border:1px solid rgba(123,45,95,0.06);box-shadow:var(--shadow-md)}
.eval-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.eval-stat{text-align:center}
.eval-stat-num{font-size:2.8rem;font-weight:700;color:var(--burgundy)}
.eval-stat-label{font-size:.82rem;color:var(--gray-500);margin-top:4px;font-weight:500}
.eval-states{margin-top:24px;padding-top:24px;border-top:1px solid var(--gray-300)}
.eval-states-label{font-size:.72rem;text-transform:uppercase;letter-spacing:2px;color:var(--gray-500);margin-bottom:12px;font-weight:600}
.eval-states-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.eval-state-tag{background:var(--burgundy-light);color:var(--burgundy);padding:6px 14px;border-radius:50px;font-size:.78rem;font-weight:500}
.eval-process{margin-top:48px;position:relative}
.eval-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.eval-process-grid::before{content:'';position:absolute;top:28px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--rose),var(--accent));z-index:0}
.eval-process-step{text-align:center;position:relative;z-index:1}
.eval-process-num{width:56px;height:56px;border-radius:50%;background:var(--burgundy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;margin:0 auto 16px;box-shadow:0 4px 16px rgba(123,45,95,0.2)}
.eval-process-step h4{font-size:.95rem;margin-bottom:4px;font-weight:600}
.eval-process-step p{font-size:.82rem;color:var(--gray-500);line-height:1.5}

/* ===== EVALUACIONES — MAPA DE COBERTURA 48 ESTADOS ===== */
.eval-types-grid{grid-template-columns:1fr 1fr}
.eval-map-card{position:relative;background:rgba(255,255,255,0.85);border-radius:var(--radius-xl);padding:26px clamp(20px,3vw,30px) 22px;backdrop-filter:blur(12px);border:1px solid rgba(123,45,95,0.06);box-shadow:var(--shadow-md);text-align:left}
.eval-map-head{margin-bottom:4px;padding-right:92px}
.eval-map-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);font-weight:700}
.eval-map-title{font-size:clamp(1.2rem,3.4vw,1.5rem);font-weight:700;color:var(--burgundy);line-height:1.2;margin-top:4px}
.eval-map-title strong{background:linear-gradient(120deg,var(--burgundy),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.eval-map-wrap{position:relative;margin:2px 0 8px}
.eval-map{display:block;width:100%;height:auto;aspect-ratio:960/614;overflow:visible}
.eval-map .ev-states path{fill:var(--lavender);stroke:#fff;stroke-width:2.4;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .3s}
.eval-map-card:hover .ev-states path{fill:#DDD2EC}
.ev-dot{fill:var(--burgundy)}
.ev-hq{fill:var(--accent)}
.ev-hq-ring{fill:none;stroke:var(--accent);stroke-width:2.4;transform-box:fill-box;transform-origin:center;animation:evHq 2.4s ease-out infinite}
@keyframes evHq{0%{transform:scale(.7);opacity:.9}70%,100%{transform:scale(3.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.ev-hq-ring{animation:none;opacity:.4}}
.eval-map-badge{position:absolute;top:-18px;right:-14px;z-index:3;width:96px;height:96px;border-radius:50%;background:linear-gradient(140deg,var(--burgundy),var(--accent));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 12px 30px rgba(123,45,95,0.34);border:4px solid #fff;animation:evBadgeIn .6s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.25s}
.eval-map-badge-num{font-size:2rem;font-weight:800;line-height:1}
.eval-map-badge-txt{font-size:.58rem;font-weight:600;letter-spacing:.5px;line-height:1.2;margin-top:2px;text-transform:uppercase}
@keyframes evBadgeIn{0%{transform:scale(0) rotate(-25deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
.eval-map-note{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--gray-700);margin:6px 0 0;line-height:1.4}
.eval-map-note svg{color:var(--accent);flex-shrink:0}
.eval-stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;background:rgba(255,255,255,0.7);border:1px solid rgba(123,45,95,0.06);border-radius:var(--radius-xl);padding:28px 24px;backdrop-filter:blur(8px);box-shadow:var(--shadow-md);position:relative;z-index:1}
.eval-stat-pill{text-align:center;position:relative}
.eval-stat-pill:not(:last-child)::after{content:'';position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:1px;height:46px;background:linear-gradient(var(--rose),transparent)}
.eval-stat-pill .eval-stat-num{font-size:2.5rem;font-weight:800;background:linear-gradient(120deg,var(--burgundy),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.eval-stat-pill .eval-stat-label{font-size:.82rem;color:var(--gray-700);margin-top:6px;font-weight:600}

/* TESTIMONIALS */
.testimonials-section{padding:120px 0;background:var(--cream);position:relative;overflow:hidden}
.testimonials-header{text-align:center;margin-bottom:60px}
.testimonials-header .section-subtitle{margin:0 auto}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testimonial-card{background:#fff;border-radius:var(--radius-lg);padding:36px;position:relative;transition:var(--transition);border:1px solid transparent}
.testimonial-card:hover{border-color:var(--rose);transform:translateY(-6px);box-shadow:var(--shadow-md)}
.testimonial-stars{color:var(--accent);font-size:.9rem;letter-spacing:2px;margin-bottom:20px;display:flex;gap:2px}
.testimonial-stars svg{width:18px;height:18px;fill:var(--accent);stroke:none}
.testimonial-text{font-size:.95rem;line-height:1.8;font-style:italic;color:var(--gray-700);margin-bottom:24px}
.testimonial-author{display:flex;align-items:center;gap:12px}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--lavender);display:flex;align-items:center;justify-content:center;color:var(--burgundy);font-weight:700;font-size:1.1rem}
.testimonial-name{font-weight:600;font-size:.9rem;color:var(--gray-900)}
.testimonial-detail{font-size:.8rem;color:var(--gray-500)}
.testimonial-note{text-align:center;margin-top:28px;font-size:.78rem;color:var(--gray-500);font-style:italic}

/* STATS */
.stats-section{padding:80px 0;background:var(--warm-white)}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;text-align:center}
.stat-item{padding:24px}
.stat-num{font-size:3rem;font-weight:700;color:var(--burgundy);line-height:1}
.stat-label{font-size:.85rem;color:var(--gray-500);margin-top:8px;font-weight:500}

/* TEAM / FOUNDER */
.team-section{padding:120px 0;background:var(--lavender);position:relative;overflow:hidden}
.team-header{text-align:center;margin-bottom:60px}
.team-header .section-subtitle{margin:0 auto}
.team-founder{display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:center;max-width:900px;margin:0 auto 80px}
.team-founder-img{border-radius:50%;overflow:hidden;box-shadow:var(--shadow-lg);width:300px;height:300px;margin:0 auto}
.team-founder-img img{width:100%;height:100%;object-fit:cover}
.team-founder-info h3{font-size:1.8rem;margin-bottom:4px;font-weight:700}
.team-founder-info .role{color:var(--burgundy);font-weight:600;font-size:.92rem;margin-bottom:16px;display:block}
.team-founder-info p{line-height:1.8;margin-bottom:12px;font-size:.95rem}
.team-founder-info .creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.team-founder-info .cred-tag{background:rgba(255,255,255,0.7);color:var(--burgundy);padding:8px 18px;border-radius:50px;font-size:.8rem;font-weight:600;backdrop-filter:blur(8px)}
.team-message{background:rgba(255,255,255,0.6);border-left:4px solid var(--accent);padding:24px 28px;border-radius:0 var(--radius-lg) var(--radius-lg) 0;margin:20px 0;font-style:italic;line-height:1.8;color:var(--gray-700);backdrop-filter:blur(8px)}
.team-locations-title{text-align:center;margin-bottom:36px}
.team-locations{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.loc-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);cursor:pointer;box-shadow:var(--shadow-sm)}
.loc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.loc-card img{width:100%;height:170px;object-fit:cover;transition:transform 0.5s var(--anim-ease)}
.loc-card:hover img{transform:scale(1.05)}
.loc-card .loc-info{padding:20px;text-align:center}
.loc-card h4{font-size:1.05rem;margin-bottom:4px;font-weight:600}
.loc-card p{font-size:.82rem;color:var(--gray-500)}
.loc-link{color:var(--burgundy);font-weight:600;font-size:.82rem;display:inline-flex;align-items:center;gap:4px;margin-top:8px;transition:gap .3s}
.loc-link:hover{gap:8px}

/* FAQ */
.faq-section{padding:120px 0;background:var(--warm-white)}
.faq-header{text-align:center;margin-bottom:56px}
.faq-header .section-subtitle{margin:0 auto}
.faq-list{max-width:760px;margin:0 auto}
.faq-item{background:#fff;border-radius:var(--radius);margin-bottom:12px;border:1px solid var(--gray-100);overflow:hidden;transition:var(--transition)}
.faq-item:hover{border-color:var(--rose)}
.faq-question{padding:22px 28px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;font-size:.95rem;color:var(--gray-900);gap:16px;min-height:48px}
.faq-toggle{width:32px;height:32px;border-radius:50%;background:var(--burgundy-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}
.faq-toggle svg{width:14px;height:14px;stroke:var(--burgundy);fill:none;stroke-width:2.5;stroke-linecap:round;transition:transform .3s}
.faq-item.open .faq-toggle{background:var(--burgundy)}
.faq-item.open .faq-toggle svg{stroke:#fff;transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.faq-item.open .faq-answer{max-height:300px;padding:0 28px 24px}
.faq-answer p{font-size:.9rem;line-height:1.8;color:var(--gray-500)}

/* BLOG */
.blog-section{padding:120px 0;background:var(--sage)}
.blog-header{text-align:center;margin-bottom:56px}
.blog-header .section-subtitle{margin:0 auto}
/* Carrusel de blog */
.blog-carousel{position:relative}
.blog-track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 20px;-ms-overflow-style:none;scrollbar-width:none}
.blog-track::-webkit-scrollbar{display:none}
.blog-slide{flex:0 0 calc((100% - 52px)/3);scroll-snap-align:start;min-width:0}
.blog-card{background:#fff;border-radius:20px;overflow:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;display:flex;flex-direction:column;height:100%;box-shadow:0 10px 30px rgba(0,46,40,.07);text-decoration:none}
.blog-card:hover{transform:translateY(-8px);box-shadow:0 22px 48px rgba(123,45,95,.16)}
.blog-card-media{position:relative;overflow:hidden;aspect-ratio:16/10}
.blog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--anim-ease);display:block}
.blog-card:hover .blog-card-media img{transform:scale(1.06)}
.blog-card-tag{position:absolute;top:14px;left:14px;font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px;color:#fff;font-weight:700;background:rgba(123,45,95,.92);backdrop-filter:blur(3px);padding:6px 14px;border-radius:50px;box-shadow:0 6px 16px rgba(123,45,95,.28)}
.blog-card-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card-date{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}
.blog-card h3{font-size:1.12rem;line-height:1.35;font-weight:700;color:var(--gray-900);margin:0}
.blog-card p{font-size:.88rem;color:var(--gray-600);line-height:1.6;margin:0}
.blog-card-more{margin-top:auto;display:inline-flex;align-items:center;gap:7px;color:var(--burgundy);font-weight:700;font-size:.86rem;padding-top:6px}
.blog-card:hover .blog-card-more{gap:11px}
.blog-card-more svg{transition:transform .3s}
.blog-arrow{position:absolute;top:38%;transform:translateY(-50%);z-index:3;width:50px;height:50px;border-radius:50%;border:none;background:#fff;color:var(--burgundy);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(123,45,95,.18);transition:background .25s,color .25s,opacity .25s,transform .25s}
.blog-arrow svg{width:22px;height:22px}
.blog-arrow:hover{background:var(--burgundy);color:#fff}
.blog-arrow--prev{left:-22px}
.blog-arrow--next{right:-22px}
.blog-arrow[disabled]{opacity:0;pointer-events:none}
@media(max-width:1100px){.blog-slide{flex-basis:calc((100% - 26px)/2)}.blog-arrow--prev{left:-8px}.blog-arrow--next{right:-8px}}
@media(max-width:680px){.blog-slide{flex-basis:86%}.blog-arrow{display:none}}

/* CONTACT / FORM */
.contact-section{padding:120px 0;background:var(--warm-white)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact-info h2{font-size:2.2rem;margin-bottom:16px;color:var(--burgundy)}
.contact-cards{display:grid;gap:12px;margin-top:24px}
.contact-card{display:flex;gap:16px;align-items:center;padding:20px;background:#fff;border-radius:var(--radius-lg);transition:var(--transition)}
.contact-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.contact-card-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-card-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-card h4{font-size:.95rem;margin-bottom:2px;font-weight:600}
.contact-card p{font-size:.85rem;color:var(--gray-500)}
.contact-form{background:#fff;border-radius:var(--radius-xl);padding:44px;box-shadow:var(--shadow-md)}
.contact-form h3{font-size:1.5rem;margin-bottom:8px;font-weight:700}
.contact-form .form-note{font-size:.85rem;color:var(--gray-500);margin-bottom:28px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px;color:var(--gray-700)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 18px;border:1.5px solid var(--gray-300);border-radius:var(--radius);font-family:'Outfit',sans-serif;font-size:.9rem;transition:border-color .3s;background:var(--warm-white);min-height:48px}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--burgundy);box-shadow:0 0 0 3px rgba(123,45,95,0.06);background:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* --- Contact Form 7 (formulario unificado, hereda .form-group/.form-row) --- */
.contact-form .wpcf7-form{margin:0}
.contact-form .wpcf7-form-control-wrap{display:block}
.contact-form .wpcf7-submit{width:100%;justify-content:center;margin-top:4px;cursor:pointer;border:none}
.contact-form .wpcf7-submit:hover{background:var(--burgundy);transform:translateY(-2px)}
.contact-form .wpcf7-not-valid{border-color:#E11D48 !important;box-shadow:0 0 0 3px rgba(225,29,72,0.08) !important}
.contact-form .wpcf7-not-valid-tip{color:#E11D48;font-size:.78rem;font-weight:600;margin-top:5px;display:block}
.contact-form .wpcf7-response-output{margin:18px 0 0 !important;padding:13px 18px !important;border-radius:var(--radius) !important;font-size:.86rem;font-weight:500;border-width:1.5px !important}
.contact-form .wpcf7-mail-sent-ok{border-color:#86EFAC !important;background:#F0FDF4;color:#15803D}
.contact-form .wpcf7-validation-errors,.contact-form .wpcf7-mail-sent-ng,.contact-form .wpcf7-acceptance-missing{border-color:#FCA5A5 !important;background:#FEF2F2;color:#B91C1C}
.contact-form .wpcf7-spinner{margin:0 0 0 12px}
.form-badges{display:flex;gap:20px;margin-top:20px;flex-wrap:wrap}
.form-badge{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--gray-500);font-weight:500}
.form-badge svg{width:14px;height:14px;stroke:var(--gray-500);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* CTA BANNER */
.cta-banner{padding:100px 0;background:linear-gradient(135deg,var(--cream) 0%,var(--peach) 40%,var(--lavender) 100%);text-align:center;position:relative;overflow:hidden}
.cta-banner h2{font-size:2.6rem;margin-bottom:16px;position:relative;z-index:1;color:var(--gray-900)}
.cta-banner p{font-size:1.1rem;color:var(--gray-700);margin-bottom:36px;max-width:500px;margin-left:auto;margin-right:auto;position:relative;z-index:1}
.cta-banner .cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

/* COLLAB MARQUEE */
.collab-section{padding:40px 0 44px;background:var(--warm-white);border-top:1px solid var(--gray-100);overflow:hidden}
.collab-title{text-align:center;font-size:.78rem;text-transform:uppercase;letter-spacing:3px;color:var(--gray-500);margin-bottom:28px;font-weight:600}
.marquee-container{overflow:hidden;position:relative}
.marquee-container::before,.marquee-container::after{content:'';position:absolute;top:0;width:110px;height:100%;z-index:2;pointer-events:none}
.marquee-container::before{left:0;background:linear-gradient(90deg,var(--warm-white),transparent)}
.marquee-container::after{right:0;background:linear-gradient(270deg,var(--warm-white),transparent)}
.marquee-track{display:flex;align-items:center;gap:clamp(34px,4.5vw,58px);animation:marquee 36s linear infinite;width:max-content;padding:10px 0}
.marquee-track img{width:clamp(112px,11.5vw,146px);height:clamp(112px,11.5vw,146px);border-radius:50%;object-fit:cover;background:#fff;padding:0;border:1.5px solid var(--burgundy);box-shadow:0 10px 26px rgba(123,45,95,.10);opacity:1;filter:none;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;flex-shrink:0}
.marquee-track img:hover{transform:scale(1.06);box-shadow:0 18px 38px rgba(123,45,95,.20)}
/* Los colaboradores con sitio web: el logo se vuelve enlace sin cambiar de aspecto. */
.marquee-logo{display:block;flex-shrink:0;line-height:0}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(max-width:680px){.marquee-track{gap:4vw}.marquee-track img{width:20vw;height:20vw;max-width:104px;max-height:104px}.collab-section{padding:30px 0 34px}}

/* STICKY CTA */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,0.96);backdrop-filter:blur(16px);padding:8px 24px;box-shadow:0 -4px 24px rgba(0,0,0,0.08);z-index:999;transform:translateY(100%);transition:transform .4s ease;display:flex;justify-content:center;align-items:center;gap:18px;border-top:2px solid var(--accent)}
.sticky-cta.visible{transform:translateY(0)}
.sticky-cta-text{font-weight:600;font-size:.9rem;color:var(--gray-900)}
.sticky-cta-phone{color:var(--burgundy);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:6px}
.sticky-cta-phone svg{width:16px;height:16px;stroke:var(--burgundy);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* WHATSAPP FLOAT */
.whatsapp-float{position:fixed;bottom:84px;right:24px;z-index:998;width:60px;height:60px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.4);cursor:pointer;transition:var(--transition);animation:whatsappPulse 2s infinite}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,0.5)}
.whatsapp-float svg{width:28px;height:28px;fill:#fff}
@keyframes whatsappPulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.4)}50%{box-shadow:0 4px 20px rgba(37,211,102,0.4),0 0 0 14px rgba(37,211,102,0.08)}}
.whatsapp-tooltip{position:absolute;right:72px;top:50%;transform:translateY(-50%);background:#fff;padding:10px 18px;border-radius:var(--radius);box-shadow:var(--shadow-md);white-space:nowrap;font-size:.85rem;font-weight:600;color:var(--gray-900);opacity:0;pointer-events:none;transition:opacity .3s}
.whatsapp-float:hover .whatsapp-tooltip{opacity:1}

/* FOOTER */
.site-footer{background:var(--gray-900);color:#fff;padding:72px 0 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand img{height:40px;margin-bottom:20px;filter:brightness(0) invert(1);opacity:.8}
.footer-brand p{font-size:.85rem;opacity:.55;line-height:1.7;max-width:280px}
.footer-col h4{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin-bottom:20px;color:var(--accent)}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{font-size:.88rem;opacity:.55;transition:opacity .3s;cursor:pointer}
.footer-col ul li a:hover{opacity:1;color:var(--accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:24px 0;text-align:center;font-size:.78rem;opacity:.4}

/* INNER PAGES */
.inner-hero{margin-top:90px;padding:58px 0 50px;text-align:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#7B2D5F 0%,#8e3566 48%,#F47A77 120%);color:#fff}
.inner-hero.bg-cream,.inner-hero.bg-peach,.inner-hero.bg-lavender{background:linear-gradient(135deg,#7B2D5F 0%,#8e3566 48%,#F47A77 120%)}
.inner-hero::before{content:"";position:absolute;top:-45%;right:-8%;width:55%;height:190%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%);pointer-events:none}
.inner-hero::after{content:"";position:absolute;bottom:-55%;left:-10%;width:52%;height:175%;background:radial-gradient(circle,rgba(244,122,119,.38),transparent 60%);pointer-events:none}
.inner-hero>.container{position:relative;z-index:1}
.inner-hero .section-label{color:#ffd9d8}
.inner-hero h1{font-size:2.9rem;margin-bottom:14px;color:#fff;font-weight:800;line-height:1.08;letter-spacing:-.5px}
.inner-hero h1 em{color:#ffd9d8;font-style:normal}
.inner-hero p{font-size:1.1rem;color:rgba(255,255,255,.92);max-width:620px;margin:0 auto;line-height:1.6}
.services-full-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;padding:80px 0}
.service-full-card{display:flex;gap:24px;background:#fff;border-radius:var(--radius-lg);padding:32px;border:1px solid var(--gray-100);transition:var(--transition);align-items:flex-start}
.service-full-card:hover{box-shadow:var(--shadow-md);border-color:var(--rose);transform:translateY(-4px)}
.service-full-icon-wrap{flex-shrink:0}
.service-full-card h3{font-size:1.2rem;margin-bottom:8px;font-weight:600}
.service-full-card p{font-size:.9rem;color:var(--gray-500);line-height:1.7;margin-bottom:16px}
.eval-page-hero{margin-top:90px;padding:64px 0 58px;background:linear-gradient(135deg,#7B2D5F 0%,#8e3566 48%,#F47A77 120%);text-align:center;position:relative;overflow:hidden;color:#fff}
.eval-page-hero::before{content:"";position:absolute;top:-45%;right:-8%;width:55%;height:190%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%);pointer-events:none}
.eval-page-hero::after{content:"";position:absolute;bottom:-55%;left:-10%;width:52%;height:175%;background:radial-gradient(circle,rgba(244,122,119,.38),transparent 60%);pointer-events:none}
.eval-page-hero>.container{position:relative;z-index:1}
.eval-page-hero .section-label{color:#ffd9d8}
.eval-page-hero h1{font-size:3rem;margin-bottom:16px;color:#fff;font-weight:800;line-height:1.08;letter-spacing:-.5px}
.eval-page-hero h1 em{color:#ffd9d8;font-style:normal}
.eval-page-hero p{color:rgba(255,255,255,.92);font-size:1.12rem;max-width:620px;margin:0 auto 32px;line-height:1.6}
.eval-page-content{padding:80px 0}
.eval-icons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:60px}
.eval-icon-card{text-align:center;padding:36px 24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition)}
.eval-icon-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.eval-icon-card img{height:60px;margin:0 auto 16px}
.eval-icon-card h4{font-size:1rem;margin-bottom:6px;font-weight:600}
.eval-icon-card p{font-size:.82rem;color:var(--gray-500);line-height:1.5}
.about-mission{padding:80px 0}
.about-mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-mission-grid img{width:100%;height:400px;object-fit:cover;border-radius:var(--radius-xl)}
.mission-cards{display:grid;gap:20px;margin-top:24px}
.mission-card{padding:28px;background:var(--cream);border-radius:var(--radius-lg);border-left:4px solid var(--burgundy)}
.mission-card h4{margin-bottom:8px;color:var(--burgundy);font-size:1.1rem;font-weight:600}
.mission-card p{font-size:.88rem;line-height:1.7;color:var(--gray-500)}
.why-therapy{padding:80px 0;background:var(--sage)}
.why-therapy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.why-card{background:#fff;padding:36px;border-radius:var(--radius-lg);text-align:center;transition:var(--transition)}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.why-card .why-icon{margin:0 auto 20px}
.why-card h4{margin-bottom:8px;font-size:1.05rem;font-weight:600}
.why-card p{font-size:.88rem;color:var(--gray-500);line-height:1.6}
.terapeuta-section{padding:80px 0}
.terapeuta-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}
.terapeuta-grid img{width:100%;height:500px;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}
.contacto-page{padding:80px 0}

/* BOOKING */
.booking-section{margin-top:90px;padding:60px 0;min-height:80vh}
.booking-steps{display:flex;justify-content:center;gap:8px;margin-bottom:48px}
.booking-step-indicator{display:flex;flex-direction:column;align-items:center;gap:6px}
.booking-step-dot{width:40px;height:40px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--gray-500);transition:var(--transition)}
.booking-step-dot.active{background:var(--burgundy);color:#fff;box-shadow:0 4px 16px rgba(123,45,95,0.2)}
.booking-step-dot.done{background:var(--accent);color:#fff}
.booking-step-line{width:48px;height:2px;background:var(--gray-100);margin-top:20px}
.booking-step-line.active{background:var(--accent)}
.booking-step-label{font-size:.72rem;color:var(--gray-500);font-weight:500}
.booking-content{max-width:640px;margin:0 auto}
.booking-panel{display:none;animation:pageFadeIn 0.4s ease forwards}
.booking-panel.active{display:block}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.booking-panel h2{text-align:center;font-size:1.8rem;margin-bottom:8px;font-weight:700}
.booking-panel .sub{text-align:center;font-size:.9rem;color:var(--gray-500);margin-bottom:32px}
.booking-options{display:grid;gap:12px}
.booking-option{padding:20px 24px;border:2px solid var(--gray-100);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:16px;min-height:48px}
.booking-option:hover,.booking-option.selected{border-color:var(--burgundy);background:var(--burgundy-light)}
.booking-option .opt-icon-wrap{flex-shrink:0}
.booking-option h4{font-size:.95rem;margin-bottom:2px;font-weight:600}
.booking-option p{font-size:.82rem;color:var(--gray-500)}
.booking-nav{display:flex;justify-content:space-between;margin-top:32px}
.booking-confirm{text-align:center;padding:48px;background:var(--sage);border-radius:var(--radius-xl)}
.booking-confirm .confirm-icon{width:72px;height:72px;border-radius:50%;background:var(--burgundy);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.booking-confirm .confirm-icon svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.booking-confirm h3{font-size:1.5rem;margin-bottom:8px;font-weight:700}
.booking-confirm p{color:var(--gray-500);margin-bottom:24px}

/* RESPONSIVE */
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .eval-grid{grid-template-columns:1fr}
  .eval-right{max-width:520px;margin:0 auto;width:100%}
  .pain-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .team-founder{grid-template-columns:1fr;max-width:500px}
  .team-locations{grid-template-columns:repeat(2,1fr)}
  .service-full-card{flex-direction:column}
  .eval-icons-grid{grid-template-columns:repeat(2,1fr)}
  .about-mission-grid{grid-template-columns:1fr}
  .terapeuta-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .hero h1{font-size:2.6rem}
  .eval-process-grid{grid-template-columns:repeat(2,1fr)}
  .eval-process-grid::before{display:none}
}
/* Nav: hamburguesa en TABLET y móvil (≤1024px) — el nav de escritorio se apretaba */
@media(max-width:1024px){
  .nav-top{display:none}
  .mobile-toggle{display:flex}
  .nav-cta{display:none}
  /* Aquí el header se compacta (sin barra oscura y logo de 56px): el hero sube con él
     para que no quede una franja vacía entre el menú y la foto. */
  .hero{margin-top:65px}
  /* ===== Menú móvil: SIDEBAR deslizante elegante ===== */
  .nav-drawer{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(85vw,348px);background:linear-gradient(170deg,#fff 0%,var(--warm-white) 60%,var(--cream) 100%);flex-direction:column;align-items:stretch;gap:0;padding:0 0 24px;transform:translateX(105%);transition:transform .42s cubic-bezier(.16,1,.3,1);box-shadow:-24px 0 70px rgba(60,20,45,.22);z-index:1200;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav-drawer.open{transform:translateX(0)}
  .nav-drawer-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(123,45,95,.10);position:sticky;top:0;background:#fff;z-index:2}
  body.nav-open .nav-logo,body.nav-open #mobileToggle{opacity:0;pointer-events:none;transition:opacity .2s}
  /* En móvil quitamos backdrop-filter del header: así el drawer (fixed) se ancla a la
     pantalla y NO brinca al abrir. El logo del header, más pequeño en móvil. */
  .nav-main{backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav-logo{height:56px}
  .nav-drawer-logo{height:42px;width:auto}
  .nav-drawer-close{background:var(--burgundy-light);border:none;width:42px;height:42px;border-radius:12px;color:var(--burgundy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .2s}
  .nav-drawer-close:hover{background:var(--burgundy);color:#fff;transform:rotate(90deg)}
  .nav-drawer .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:18px 16px;margin:0}
  .nav-drawer .nav-links li{width:100%}
  .nav-drawer .nav-links a{display:block;width:100%;padding:14px 18px;font-size:1.02rem;font-weight:600;color:var(--gray-800);border-radius:14px}
  .nav-drawer .nav-links a:hover,.nav-drawer .nav-links li.current-menu-item>a{background:var(--burgundy-light);color:var(--burgundy);transform:translateX(4px)}
  .nav-drawer .nav-links a{transition:background .2s,color .2s,transform .25s}
  .nav-drawer-cta{display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 18px 4px;padding:15px 22px;background:linear-gradient(120deg,var(--burgundy),var(--accent));color:#fff;font-weight:700;border-radius:14px;box-shadow:0 10px 26px rgba(123,45,95,.28);transition:transform .25s,box-shadow .25s}
  .nav-drawer-cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(123,45,95,.36);color:#fff}
  .nav-drawer-foot{display:flex;flex-direction:column;gap:12px;padding:22px 26px 6px;margin-top:14px;border-top:1px solid rgba(123,45,95,.10)}
  .nav-drawer-foot a{display:inline-flex;align-items:center;gap:10px;color:var(--gray-700);font-weight:600;font-size:.92rem}
  .nav-drawer-foot a:hover{color:var(--burgundy)}
  .nav-drawer-foot svg{color:var(--burgundy)}
  .nav-drawer-loc{font-size:.8rem;color:var(--gray-500);margin-top:2px}
  .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(50,22,40,.5);backdrop-filter:blur(3px);z-index:1100;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
  .nav-backdrop.show{opacity:1;visibility:visible}
  body.nav-open{overflow:hidden}
}
@media(max-width:768px){
  .hero{min-height:auto;max-height:none;margin-top:65px;padding:56px 0}
  .hero-content{padding:0 20px}
  .hero-inner{max-width:100%}
  /* El badge dice ahora "en línea en todo el mundo y presencial en DFW": en móvil son
     dos líneas, así que se aligera y se alinea el punto con la primera línea. */
  .hero-badge{font-size:.76rem;padding:9px 16px;gap:7px;line-height:1.4;align-items:flex-start;border-radius:18px;margin-bottom:22px;text-align:left}
  .hero-badge .dot{margin-top:5px}
  .hero h1{font-size:1.92rem;line-height:1.18;max-width:100%}
  .hero-sub{font-size:.98rem;max-width:100%;margin-bottom:20px}
  /* Las tarjetas de terapia y evaluaciones, apiladas y compactas: es lo primero
     que se ve al abrir el sitio en el celular. */
  .hero-pilares{grid-template-columns:1fr;gap:10px;margin-bottom:24px;max-width:100%}
  .hero-pilar{padding:13px 14px;gap:11px;border-radius:16px}
  .hero-pilar-ico{width:34px;height:34px;border-radius:10px}
  .hero-pilar-ico svg{width:17px;height:17px}
  .hero-pilar-body strong{font-size:.9rem}
  .hero-pilar-body small{font-size:.77rem;line-height:1.45}
  .hero-trust{gap:10px 16px;font-size:.82rem}
  /* Botones del hero: lado a lado, más pequeños */
  .hero-buttons{flex-direction:row;flex-wrap:nowrap;gap:10px}
  .hero-buttons .btn{flex:1 1 0;min-width:0;padding:12px 10px;font-size:.79rem;min-height:46px;justify-content:center;text-align:center;line-height:1.2}
  .section-title{font-size:1.72rem;line-height:1.22}
  /* Servicios a 2 columnas */
  .services-grid{grid-template-columns:1fr 1fr;gap:14px}
  .service-card{padding:22px 16px}
  .service-card h3{font-size:1rem}
  /* Sin desbordamiento horizontal + blobs decorativos ocultos en móvil */
  body{overflow-x:hidden}
  .blob{display:none!important}
  .container{padding-left:18px;padding-right:18px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .trust-bar .container{gap:16px}
  .trust-bar-item{font-size:.78rem}
  .trust-logos{gap:16px}
  .trust-logos img{height:36px}
  /* 2 líneas en móvil: texto completo arriba, botón + teléfono abajo (sin cortar) */
  .sticky-cta{flex-wrap:wrap;gap:7px 14px;padding:9px 14px;justify-content:center;text-align:center}
  .sticky-cta-text{flex-basis:100%;font-size:.82rem;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}
  .sticky-cta .btn-sm{padding:10px 20px;font-size:.85rem;white-space:nowrap}
  .sticky-cta-phone{font-size:.85rem;white-space:nowrap}
  .whatsapp-float{bottom:70px;right:16px;width:54px;height:54px}
  .whatsapp-tooltip{display:none}
  .eval-types-grid{grid-template-columns:1fr 1fr;gap:10px}
  .eval-stat-grid{grid-template-columns:1fr 1fr;gap:18px}
  .eval-process-grid{grid-template-columns:1fr 1fr;gap:28px 16px}
  .eval-stats-strip{grid-template-columns:1fr 1fr;gap:24px 16px;padding:24px 18px}
  .eval-stat-pill:nth-child(2)::after{display:none}
  .eval-stat-pill .eval-stat-num{font-size:2.1rem}
  .eval-map-head{padding-right:78px}
  .eval-map-badge{width:78px;height:78px;top:-14px;right:-8px;border-width:3px}
  .eval-map-badge-num{font-size:1.6rem}
  .eval-map-badge-txt{font-size:.54rem}
  .blog-grid{grid-template-columns:1fr}
  .booking-steps{flex-wrap:wrap;gap:4px}
  .booking-step-line{width:20px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .footer-brand{grid-column:1 / -1}
  .faq-question{font-size:.88rem}
  .why-therapy-grid{grid-template-columns:1fr 1fr;gap:14px}
  .why-card{padding:22px 16px}
  .services-full-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .pain-img img{height:300px}
  .team-founder-img{width:220px;height:220px}
  .hero-overlay{background:linear-gradient(135deg,rgba(255,232,214,0.95) 0%,rgba(245,234,240,0.9) 50%,rgba(123,45,95,0.4) 100%)}
  .pain-section,.services-section,.testimonials-section,.team-section,.faq-section,.blog-section,.contact-section,.eval-section{padding:80px 0}
}

/* ============================================================
   DIRECTORIST — directorio de terapeutas (skin del tema)
   ============================================================ */
.directorist-wrapper, .directorist-wrapper *, [class^="directorist-"], [class*=" directorist-"]{font-family:'Outfit',sans-serif}
/* Variables del plugin (por si las usa) */
.directorist-wrapper, body.directorist-content-active{
  --directorist-primary-color:#F47A77;
  --directorist-button-color:#F47A77;
  --directorist-button-bg:#F47A77;
  --directorist-secondary-color:#7B2D5F;
}
/* Tarjetas */
.directorist-listing-card,.directorist-thumnail-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,0.04);transition:var(--transition)}
.directorist-listing-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.directorist-listing-title,.directorist-listing-title a{color:var(--gray-900);font-weight:700}
.directorist-listing-title a:hover{color:var(--burgundy)}
.directorist-listing-card-location,.directorist-listing-card-location-list,.directorist-info-item{color:var(--gray-500)}
/* Etiquetas de categoría → rosa */
.directorist-listing-category a,.directorist-listing-category span{background:var(--accent)!important;color:#fff!important;border-radius:50px!important;padding:4px 12px!important;font-size:.78rem!important;font-weight:600!important;border:none!important}
/* Badge POPULAR → burgundy */
.directorist-badge-popular{background:var(--burgundy)!important;color:#fff!important;border-radius:50px!important;font-weight:600!important;letter-spacing:.5px}
/* Botones → rosa / burgundy, redondeados */
.directorist-btn,.directorist-color-btn-primary-bg,.directorist-btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;border-radius:50px!important;font-weight:600!important;transition:var(--transition)}
.directorist-btn:hover,.directorist-color-btn-hover:hover{background:var(--accent-dark)!important;border-color:var(--accent-dark)!important;transform:translateY(-2px)}
.directorist-btn-dark{background:var(--burgundy)!important;border-color:var(--burgundy)!important;color:#fff!important;border-radius:50px!important}
.directorist-btn-dark:hover{background:var(--burgundy-dark)!important}
/* Favoritos / precio */
.directorist-fav,.directorist-favorite-icon,.directorist-mark-as-favorite{color:var(--accent)!important}
.directorist-listing-price,.directorist-price-ranges{color:var(--burgundy);font-weight:600}
/* Buscador y filtros */
.directorist-search-field input,.directorist-search-field select,.directorist-search-field textarea{border-radius:var(--radius)!important;border:1.5px solid var(--gray-300)!important}
.directorist-search-field input:focus,.directorist-search-field select:focus{border-color:var(--burgundy)!important;box-shadow:0 0 0 3px rgba(123,45,95,0.06)!important}
.directorist-search-form-top,.directorist-advanced-filter{border-radius:var(--radius-lg)}
/* Paginación */
.directorist-pagination span.current,.directorist-pagination a:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
/* Pestañas / encabezado de listados */
.directorist-listings-header,.directorist-viewas a.active,.directorist-sort-by{font-family:'Outfit',sans-serif}
.directorist-viewas a.active{color:var(--burgundy)!important}

/* ===== DIRECTORIST · LAYOUT (anchos y alineación) ===== */
/* Archivo/búsqueda: filtros fijos + tarjetas ocupan el resto, grid uniforme */
.directorist-contents-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}
.directorist-archive-contents{display:flex!important;gap:28px!important;align-items:flex-start!important;width:100%!important}
.directorist-archive-sidebar{flex:0 0 290px!important;width:290px!important;max-width:290px!important}
.directorist-archive-items{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important}
.directorist-archive-items .directorist-row{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important;margin:0!important;width:100%!important}
.directorist-archive-items .directorist-row > [class*="directorist-col"]{width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;padding:0!important;max-inline-size:none!important}
.directorist-archive-items .directorist-listing-card{height:100%}
/* Tarjeta: imagen uniforme y contenido alineado */
.directorist-listing-card .directorist-card-cover,.directorist-thumnail-card-front-img img{height:200px!important;object-fit:cover!important;width:100%!important}
.directorist-listing-card-location-list{flex-wrap:wrap}
.directorist-listing-category{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:1024px){.directorist-archive-items .directorist-row{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:760px){.directorist-archive-contents{flex-direction:column!important}.directorist-archive-sidebar{flex-basis:auto!important;width:100%!important;max-width:100%!important}.directorist-archive-items .directorist-row{grid-template-columns:1fr!important}}

/* Ficha individual: ancho completo + sin barra lateral de blog */
.directorist-single-wrapper,.directorist-single-contents-area{width:100%!important;max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;float:none!important}
.directorist-single-contents-area > .directorist-row,.directorist-single-contents-area .directorist-row{display:block!important;margin:0!important}
.directorist-sidebar,.directorist-single-contents-area .directorist-col-3,.directorist-single-contents-area .col-md-4{display:none!important}
.directorist-single-contents-area .directorist-col-8,.directorist-single-contents-area .col-md-8,.directorist-single-contents-area [class*="directorist-col"]{width:100%!important;max-width:100%!important;flex:0 0 100%!important;padding:0!important}
.directorist-single-listing-section,.directorist-single-listing-top{border-radius:var(--radius-lg);margin-bottom:24px}
.directorist-single-listing-header h1,.directorist-single-listing-title{font-family:'Outfit',sans-serif;color:var(--gray-900);font-weight:700}

/* ===== DIRECTORIST · sacar el contenido de la columna angosta de Elementor ===== */
body.directorist-content-active .e-con{--container-max-width:1280px!important;max-width:1280px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}
body.directorist-content-active .e-con-inner,
body.directorist-content-active .elementor-container,
body.directorist-content-active .elementor-widget-container,
body.directorist-content-active .elementor-row,
body.directorist-content-active .elementor-column-wrap,
body.directorist-content-active .elementor-element{max-width:100%!important;width:auto!important}
body.directorist-content-active .elementor-widget{width:100%!important}
/* Imagen de la ficha: que no sea gigante */
.directorist-single-listing-slider,.directorist-single-listing-slider-wrap,.directorist-single-thumbnail{max-height:460px;overflow:hidden;border-radius:var(--radius-lg)}
.directorist-single-listing-slider img,.directorist-single-thumbnail img{width:100%!important;height:100%!important;max-height:460px!important;object-fit:cover!important}

/* (Los estilos de submenú del menú principal viven en la sección
   "MENÚ PRINCIPAL · submenús desplegables" al final de este archivo.) */
.nav-links li{position:relative}

/* ============================================================
   CUESTIONARIOS · QSM (plantilla template-cuestionario.php)
   ============================================================ */
.quiz-section{padding:64px 0 80px;background:var(--warm-white)}
.quiz-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;padding:40px;box-shadow:0 10px 30px rgba(0,46,40,.08)}
.quiz-disclaimer{max-width:820px;margin:20px auto 0;text-align:center;color:var(--gray-600);font-size:14px}
@media(max-width:580px){.quiz-card{padding:24px}}
/* Estilos heredados de QSM (antes en simple-custom-css) */
.quiz-card .mlw_qmn_message_before p{font-size:22px;font-weight:700;color:var(--burgundy)}
.quiz-card .mlw_qmn_new_question{color:var(--gray-900);font-size:17px;font-weight:600;margin-top:8px}
.quiz-card .qsm-results-page{font-size:20px;color:var(--gray-900)}
.quiz-card .quiz_section,.quiz-card .qmn_question_answers{margin-bottom:18px}
.quiz-card input[type=submit],.quiz-card .qsm-submit-btn{background:var(--burgundy);color:#fff;padding:12px 32px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-family:inherit;transition:background .2s}
.quiz-card input[type=submit]:hover,.quiz-card .qsm-submit-btn:hover{background:var(--gray-900)}
@media(max-width:580px){.quiz-card .mlw_qmn_message_before p{font-size:18px}}

/* ============================================================
   GRACIAS / CONFIRMACIÓN (template-gracias.php)
   ============================================================ */
/* Hero premium con degradado de marca */
.gracias-hero{position:relative;overflow:hidden;text-align:center;color:#fff;padding:80px 0 76px;background:linear-gradient(135deg,var(--burgundy) 0%,#9a3a70 45%,var(--accent) 100%)}
.gracias-hero-glow{position:absolute;inset:0;background:radial-gradient(60% 80% at 50% -10%,rgba(255,255,255,.28),transparent 60%);pointer-events:none}
.gracias-hero .container{position:relative}
.gracias-hero h1{font-size:clamp(2rem,5vw,2.9rem);color:#fff;margin:18px 0 14px;font-weight:800}
.gracias-hero>.container>p{max-width:560px;margin:0 auto;font-size:1.06rem;line-height:1.7;color:rgba(255,255,255,.92)}
/* Check con halo animado */
.gracias-check{position:relative;width:96px;height:96px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--burgundy);box-shadow:0 16px 40px rgba(0,0,0,.18);animation:gracias-pop .6s cubic-bezier(.16,1,.3,1) both}
.gracias-check svg{width:46px;height:46px;position:relative;z-index:2}
.gracias-check-ring{position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:gracias-ring 1.8s ease-out infinite}
@keyframes gracias-ring{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.4);opacity:0}}
.gracias-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.btn-ghost-light{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.6);backdrop-filter:blur(4px)}
.btn-ghost-light:hover{background:#fff;color:var(--burgundy)}
/* Sección de pasos "¿Qué sigue?" */
.gracias-next{padding:72px 0 84px;background:var(--warm-white)}
.gracias-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:980px;margin:0 auto}
.gracias-step{position:relative;background:#fff;border:1px solid #f0e6ec;border-radius:20px;padding:40px 28px 30px;text-align:center;box-shadow:0 10px 30px rgba(123,45,95,.06);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.gracias-step:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(123,45,95,.12)}
.gracias-step-num{position:absolute;top:-22px;left:50%;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--burgundy),var(--accent));color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(123,45,95,.28)}
.gracias-step h4{font-size:1.1rem;margin:6px 0 10px;color:var(--gray-900)}
.gracias-step p{color:var(--gray-600);line-height:1.65;font-size:.94rem}
.gracias-step a{color:var(--burgundy);font-weight:600;text-decoration:none}
.gracias-step a:hover{text-decoration:underline}
.gracias-cuenta{text-align:center;margin-top:40px;font-size:15px}
.gracias-cuenta a{display:inline-flex;align-items:center;gap:6px;color:var(--burgundy);text-decoration:none;font-weight:700}
.gracias-cuenta a:hover{text-decoration:underline}
.gracias-hipaa{text-align:center;margin-top:14px;font-size:.82rem;color:var(--gray-500)}
@keyframes gracias-pop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@media(max-width:768px){.gracias-hero{padding:60px 0 56px}.gracias-steps{grid-template-columns:1fr;max-width:420px;gap:34px}.gracias-next{padding:56px 0 60px}}

/* ============================================================
   CURSOS / ÁREA DE APRENDIZAJE (template-cursos.php)
   ============================================================ */
.cursos-dashboard{padding:56px 0 10px}
.cursos-panel{max-width:980px;margin:0 auto;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;padding:32px;box-shadow:0 10px 30px rgba(0,46,40,.08)}
.cursos-catalogo{padding:64px 0 84px;background:var(--warm-white)}
.cursos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;max-width:1100px;margin:0 auto}
.curso-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(0,46,40,.07);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;display:flex;flex-direction:column}
.curso-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,46,40,.14)}
.curso-card__img{display:block;height:188px;background-size:cover;background-position:center;background-color:var(--cream)}
.curso-card__body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.curso-card__body h3{font-size:20px;line-height:1.3;color:var(--gray-900);margin:0}
.curso-card__body h3 a{color:inherit;text-decoration:none}
.curso-card__body h3 a:hover{color:var(--burgundy)}
.curso-card__body p{color:var(--gray-600);font-size:15px;line-height:1.6;margin:0}
.curso-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:8px}
.curso-card__price{font-size:20px;font-weight:700;color:var(--burgundy)}
.curso-card__price del{color:var(--gray-400);font-weight:500;font-size:15px;margin-right:6px}
.btn-sm{padding:9px 18px;font-size:14px}
@media(max-width:580px){.cursos-grid{grid-template-columns:1fr}.cursos-panel{padding:20px}}

/* ============================================================
   AGENDAR · mejoras del asistente (envío real, elegante)
   ============================================================ */
.booking-panel textarea{width:100%;border:2px solid var(--gray-100);border-radius:var(--radius-lg);padding:12px 14px;font-family:inherit;font-size:.95rem;color:var(--gray-900);resize:vertical;transition:var(--transition);background:#fff}
.booking-panel textarea:focus,.booking-panel input:focus,.booking-panel select:focus{outline:none;border-color:var(--burgundy);box-shadow:0 0 0 4px rgba(244,122,119,.14)}
.booking-option{position:relative}
.booking-option.selected{box-shadow:0 8px 24px rgba(123,45,95,.12)}
.booking-option.selected::after{content:'';position:absolute;top:14px;right:16px;width:22px;height:22px;border-radius:50%;background:var(--burgundy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/13px no-repeat;animation:gracias-pop .35s ease both}
.booking-hint{font-size:.78rem;color:var(--gray-500);margin:6px 2px 0}
.booking-error{margin-top:14px;padding:12px 16px;border-radius:12px;background:#fdecec;border:1px solid #f6c9c7;color:#b3403c;font-size:.88rem;animation:pageFadeIn .3s ease both}
.tw-spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:tw-spin .6s linear infinite}
@keyframes tw-spin{to{transform:rotate(360deg)}}
.btn.is-loading{opacity:.85;pointer-events:none}
.booking-resumen{max-width:360px;margin:6px auto 22px;text-align:left;background:#fff;border:1px solid #f0e6ec;border-radius:14px;overflow:hidden}
.resumen-row{display:flex;justify-content:space-between;gap:16px;padding:11px 18px;font-size:.9rem;border-bottom:1px solid #f6eef2}
.resumen-row:last-child{border-bottom:none}
.resumen-row span{color:var(--gray-500)}
.resumen-row strong{color:var(--gray-900);text-align:right}
/* Sub-paso oficina (aparece al elegir modalidad) */
.booking-oficinas{margin-top:26px;padding-top:26px;border-top:1px dashed var(--gray-200);animation:pageFadeIn .35s ease both}
.booking-oficinas-title{font-size:1.12rem;font-weight:700;color:var(--burgundy);margin:0 0 4px;text-align:center}
.booking-oficinas .sub{text-align:center}
.booking-options--grid{grid-template-columns:1fr 1fr;margin-top:16px}
@media (max-width:560px){.booking-options--grid{grid-template-columns:1fr}}

/* ============================================================
   BLOG — LISTADO / ARCHIVO (cuadrícula elegante)
   ============================================================ */
.blog-archive-hero{background:radial-gradient(120% 130% at 85% -10%,rgba(244,122,119,.20),transparent 55%),radial-gradient(110% 120% at 0% 0%,rgba(123,45,95,.12),transparent 50%),var(--cream);text-align:center}
.blog-archive{padding:70px 0 90px;background:var(--warm-white)}
.blog-archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.blog-archive-grid .blog-slide{flex:none;width:auto}
.blog-archive-pagination{margin-top:56px;display:flex;justify-content:center}
.blog-archive-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:static;background:none;box-shadow:none;padding:0;border:none}
.blog-archive-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 14px;border-radius:12px;background:#fff;border:1px solid #f0e6ec;color:var(--gray-700);font-weight:600;text-decoration:none;transition:all .2s}
.blog-archive-pagination .page-numbers:hover{border-color:var(--accent);color:var(--burgundy)}
.blog-archive-pagination .page-numbers.current{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}
@media(max-width:1100px){.blog-archive-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.blog-archive-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:520px){.blog-archive-grid{grid-template-columns:1fr}}

/* ============================================================
   BLOG — ENTRADA INDIVIDUAL (editorial elegante)
   ============================================================ */
.post-hero{position:relative;margin-top:90px;padding:80px 0 64px;background:var(--burgundy);background-size:cover;background-position:center;color:#fff;overflow:hidden}
.post-hero.has-img .post-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,15,30,.45) 0%,rgba(70,25,52,.72) 60%,rgba(123,45,95,.88) 100%)}
.post-hero:not(.has-img){background:linear-gradient(135deg,var(--burgundy),#9a3a70 55%,var(--accent))}
.post-hero .container{position:relative;max-width:860px;text-align:center}
.post-back{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.9);font-weight:600;font-size:.88rem;text-decoration:none;margin-bottom:22px;background:rgba(255,255,255,.14);padding:8px 16px;border-radius:50px;backdrop-filter:blur(4px);transition:background .2s}
.post-back:hover{background:rgba(255,255,255,.26)}
.post-cat{display:inline-block;background:var(--accent);color:#fff;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding:7px 16px;border-radius:50px;margin-bottom:18px}
.post-hero h1{font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.15;color:#fff;margin:0 auto;max-width:18ch}
.post-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 26px;margin-top:26px}
.post-meta span{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:rgba(255,255,255,.92);font-weight:500}
.post-meta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.post-body{padding:64px 0 30px;background:var(--warm-white)}
.post-body .container{max-width:760px}
/* Tipografía del contenido */
.tw-content{font-size:1.08rem;line-height:1.85;color:var(--gray-800)}
.tw-content>*+*{margin-top:1.5em}
.tw-content h2{font-size:1.7rem;line-height:1.3;color:var(--gray-900);margin-top:2em;font-weight:700}
.tw-content h3{font-size:1.32rem;color:var(--gray-900);margin-top:1.8em;font-weight:700}
.tw-content p{margin-top:1.3em}
.tw-content a{color:var(--burgundy);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.tw-content a:hover{color:var(--accent)}
.tw-content ul,.tw-content ol{padding-left:1.4em;margin-top:1.3em}
.tw-content li{margin-top:.6em}
.tw-content ul li::marker{color:var(--accent)}
.tw-content img{max-width:100%;height:auto;border-radius:18px;box-shadow:0 14px 38px rgba(0,46,40,.12);margin:2em 0}
.tw-content blockquote{margin:2em 0;padding:22px 28px;background:#fff;border-left:4px solid var(--accent);border-radius:0 16px 16px 0;font-style:italic;color:var(--gray-700);box-shadow:0 8px 24px rgba(123,45,95,.07)}
.tw-content h2:first-child,.tw-content h3:first-child,.tw-content p:first-child{margin-top:0}
/* Compartir */
.post-share{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:48px;padding-top:28px;border-top:1px solid #eee0e9}
.post-share>span{font-weight:700;color:var(--gray-900)}
.post-share-links{display:flex;gap:10px}
.post-share-links a{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #f0e6ec;color:var(--burgundy);transition:all .25s}
.post-share-links a:hover{background:var(--burgundy);color:#fff;transform:translateY(-3px);box-shadow:0 10px 24px rgba(123,45,95,.22)}
.post-share-links svg{width:20px;height:20px}
.post-related{padding:30px 0 80px;background:var(--warm-white)}
@media(max-width:768px){.post-hero{padding:60px 0 48px;margin-top:70px}.post-body{padding:44px 0 20px}.tw-content{font-size:1.02rem}.post-related .blog-archive-grid{grid-template-columns:1fr!important}}

/* ============================================================
   AJUSTE FINO MÓVIL — títulos a 2 líneas, números legibles
   ============================================================ */
@media(max-width:560px){
  .hero h1{font-size:1.7rem;line-height:1.2}
  .section-title{font-size:1.52rem;line-height:1.22}
  .section-subtitle{font-size:.92rem}
  .stat-num{font-size:2.1rem}
  .eval-stat-num{font-size:1.95rem}
  .eval-stat-label{font-size:.82rem}
  .eval-type-tag{font-size:.8rem;padding:11px 12px;gap:7px}
  .eval-process-step h4,.eval-process h4{font-size:1rem}
}

/* ============================================================
   MÓVIL — reducir TODOS los títulos grandes (a 2 líneas)
   ============================================================ */
@media(max-width:768px){
  .eval-section h2,.cta-banner h2{font-size:1.85rem;line-height:1.2}
  .inner-hero h1{font-size:2rem;line-height:1.2}
  .eval-page-hero h1{font-size:2.1rem;line-height:1.2}
  .contact-info h2{font-size:1.7rem;line-height:1.22}
}
@media(max-width:560px){
  .eval-section h2,.cta-banner h2{font-size:1.55rem;line-height:1.2}
  .inner-hero h1{font-size:1.72rem;line-height:1.2}
  .eval-page-hero h1{font-size:1.8rem;line-height:1.2}
  .contact-info h2{font-size:1.5rem}
  .cta-banner p,.inner-hero p{font-size:.95rem}
}

/* ============================================================
   MÓVIL — botones más pequeños, tarjetas de servicio finas,
   blog en carrusel con tarjeta pequeña y elegante
   ============================================================ */
@media(max-width:768px){
  .btn{padding:13px 24px;font-size:.87rem;min-height:46px}
  .btn-sm{padding:10px 18px;font-size:.82rem}
  /* Tarjetas de servicio: menos toscas */
  .service-card-icon{height:74px}
  .service-card-icon .icon-circle{width:50px;height:50px}
  .service-card-icon .icon-circle svg{width:22px;height:22px}
  .service-card-body{padding:18px 15px 20px}
  .service-card p{font-size:.85rem;margin-bottom:12px;line-height:1.55}
  .service-card h3{font-size:.98rem}
  .why-icon,.why-card .icon-circle{width:50px;height:50px}
  .why-card h4{font-size:1rem}
  .why-card p{font-size:.85rem}
}
@media(max-width:680px){
  /* Blog: tarjetita pequeña y elegante, carrusel con peek */
  .blog-slide{flex-basis:80%}
  .blog-card-media{aspect-ratio:16/9}
  .blog-card-body{padding:18px 18px 20px;gap:7px}
  .blog-card h3{font-size:1.02rem;line-height:1.3}
  .blog-card p{font-size:.85rem;line-height:1.55}
  .blog-card-date{font-size:.7rem}
  .blog-card-more{font-size:.82rem}
}

/* ============================================================
   CARRITO AJAX FLOTANTE (sobre WhatsApp) — elegante + responsive
   ============================================================ */
.tw-cart-fab{position:fixed;bottom:158px;right:24px;z-index:998;width:60px;height:60px;border:none;border-radius:50%;background:#fff;color:var(--burgundy);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px rgba(123,45,95,.22),0 2px 6px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s,color .25s}
.tw-cart-fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:twCartRing 2.8s ease-out infinite}
.tw-cart-fab:hover{transform:translateY(-3px) scale(1.06);color:var(--accent);box-shadow:0 14px 34px rgba(123,45,95,.3)}
.tw-cart-fab svg{width:27px;height:27px;position:relative;z-index:1}
@keyframes twCartRing{0%{transform:scale(.82);opacity:.55}70%{transform:scale(1.4);opacity:0}100%{opacity:0}}
.tw-cart-count{position:absolute;top:-3px;right:-3px;min-width:23px;height:23px;padding:0 6px;border-radius:12px;background:linear-gradient(135deg,var(--burgundy),var(--accent));color:#fff;font-size:.74rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 9px rgba(123,45,95,.4);border:2px solid #fff}
.tw-cart-count.is-empty{display:none}
.tw-cart-overlay{position:fixed;inset:0;z-index:1004;background:rgba(30,12,24,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s}
.tw-cart-overlay.is-on{opacity:1}
.tw-cart-drawer{position:fixed;top:0;right:0;z-index:1005;width:400px;max-width:92vw;height:100%;background:#fff;box-shadow:-16px 0 50px rgba(0,0,0,.2);display:flex;flex-direction:column;transform:translateX(110%);transition:transform .38s cubic-bezier(.4,0,.2,1)}
.tw-cart-drawer.is-open{transform:translateX(0)}
/* Carga: en vez de atenuar/bloquear todo el carrito (parecía trabado), solo
   se atenúa el cuerpo+pie; el encabezado y el botón cerrar siguen activos. */
.tw-cart-drawer.is-loading .tw-cart-body,.tw-cart-drawer.is-loading .tw-cart-foot{opacity:.55;pointer-events:none;transition:opacity .2s}
/* Skeleton de carga (placeholder con shimmer) */
.tw-cart-skeleton{padding:18px 22px}
.tw-cart-skeleton .sk-row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid #f3edf1}
.tw-cart-skeleton .sk-thumb{flex:0 0 64px;width:64px;height:64px;border-radius:12px}
.tw-cart-skeleton .sk-lines{flex:1;display:flex;flex-direction:column;gap:9px;padding-top:4px}
.tw-cart-skeleton .sk-line{height:12px;border-radius:6px}
.tw-cart-skeleton .sk-line.w70{width:70%}
.tw-cart-skeleton .sk-line.w40{width:40%}
.tw-cart-skeleton .sk-thumb,.tw-cart-skeleton .sk-line{background:linear-gradient(100deg,#f1e9ef 30%,#f9f4f8 50%,#f1e9ef 70%);background-size:200% 100%;animation:twSkShimmer 1.2s ease-in-out infinite}
@keyframes twSkShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.tw-cart-head{display:flex;align-items:center;gap:14px;padding:24px 22px;color:#fff;background:linear-gradient(135deg,var(--burgundy) 0%,#9a3a6b 55%,var(--accent) 100%)}
.tw-cart-head-icon{flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
.tw-cart-head-icon svg{width:23px;height:23px}
.tw-cart-head-titles{flex:1;min-width:0}
.tw-cart-head h3{margin:0;font-size:1.18rem;font-weight:700;color:#fff;line-height:1.1}
.tw-cart-hcount{font-size:.82rem;opacity:.88;font-weight:500}
.tw-cart-close{flex:0 0 auto;background:rgba(255,255,255,.16);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.55rem;line-height:1;cursor:pointer;transition:background .2s,transform .2s}
.tw-cart-close:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}
.tw-cart-body{flex:1;overflow-y:auto;padding:4px 0}
.tw-cart-items{list-style:none;margin:0;padding:0}
.tw-cart-item{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;border-bottom:1px solid #f3edf1;animation:twCartItemIn .35s ease}
@keyframes twCartItemIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.tw-ci-img{flex:0 0 66px;width:66px;height:66px;border-radius:14px;overflow:hidden;background:#faf5f8;display:block;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.tw-ci-img img{width:100%;height:100%;object-fit:cover;display:block}
.tw-ci-main{flex:1;min-width:0}
.tw-ci-name{display:block;font-weight:600;font-size:.93rem;color:var(--gray-900);text-decoration:none;line-height:1.3;margin-bottom:5px}
.tw-ci-name:hover{color:var(--accent)}
.tw-ci-line{font-weight:800;color:var(--burgundy);font-size:.95rem;margin-bottom:9px}
.tw-ci-qty{display:inline-flex;align-items:center;border:1px solid #ecdfe8;border-radius:22px;overflow:hidden;background:#fff}
.tw-qty-btn{background:#faf4f8;border:none;width:30px;height:30px;font-size:1.05rem;color:var(--burgundy);cursor:pointer;line-height:1;transition:background .15s,color .15s}
.tw-qty-btn:hover{background:var(--accent);color:#fff}
.tw-qty-n{min-width:34px;text-align:center;font-weight:700;font-size:.86rem}
.tw-ci-remove{background:none;border:none;color:#cbb8c4;font-size:1.45rem;line-height:1;cursor:pointer;padding:0 2px;align-self:flex-start;transition:color .2s,transform .2s}
.tw-ci-remove:hover{color:#e0475f;transform:scale(1.15)}
.tw-adding{opacity:.6;pointer-events:none}
.tw-cart-empty{text-align:center;padding:64px 30px;color:var(--gray-500)}
.tw-cart-empty svg{color:#e6d3df;margin-bottom:16px}
.tw-cart-empty p{margin:0 0 20px;font-weight:600;font-size:1rem;color:var(--gray-700)}
.tw-cart-foot{padding:20px 22px;border-top:1px solid #efe6ec;background:#fff;box-shadow:0 -6px 18px rgba(0,0,0,.03)}
.tw-cart-foot:empty{display:none}
.tw-cart-subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:1.02rem;font-weight:600;color:var(--gray-800)}
.tw-cart-subtotal strong{font-size:1.35rem;color:var(--burgundy);font-weight:800}
.tw-cart-note{font-size:.76rem;color:var(--gray-500);margin:0 0 14px}
.tw-cart-actions{display:flex;flex-direction:column;gap:9px}
.tw-cart-actions .btn{width:100%;justify-content:center;text-align:center}
body.tw-cart-lock{overflow:hidden}
@media(max-width:560px){
  .tw-cart-fab{bottom:134px;right:16px;width:54px;height:54px}
  .tw-cart-fab svg{width:24px;height:24px}
  .tw-cart-drawer{width:100%;max-width:100%}
  .tw-cart-head{padding:20px}
  .tw-qty-btn{width:34px;height:34px}
}

/* ============================================================
   EVALUACIONES CLÍNICAS PARA INMIGRACIÓN (#6588) — página única
   Scope: .eim / .eim-hero
   ============================================================ */
.eim-hero h1{line-height:1.12}
.eim-estados{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:22px}
.eim-estado{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:.82rem;font-weight:600;padding:7px 14px;border-radius:999px;backdrop-filter:blur(4px)}
.eim-estado svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2}
.eim-section-head{text-align:center;max-width:720px;margin:0 auto 44px}
.eim-section-head p{color:var(--gray-600);line-height:1.7;margin-top:10px}

/* Intro 2-col */
.eim-intro{padding:84px 0 72px}
.eim-intro-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:54px;align-items:center}
.eim-intro p{color:var(--gray-700);line-height:1.85;margin-bottom:16px}
.eim-types-card{background:linear-gradient(155deg,var(--burgundy),var(--plum));color:#fff;border-radius:var(--radius-xl,22px);padding:34px 32px;box-shadow:0 22px 50px rgba(123,45,95,.26)}
.eim-types-card h3{color:#fff;font-size:1.22rem;margin-bottom:18px}
.eim-types-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.eim-types-card li{position:relative;padding-left:30px;font-size:.96rem;line-height:1.5;color:rgba(255,255,255,.95)}
.eim-types-card li::before{content:"";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;background:rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat}
.eim-types-card strong{color:#fff;font-weight:700}
.eim-types-note{margin-top:20px;font-size:.84rem;color:rgba(255,255,255,.72);border-top:1px solid rgba(255,255,255,.2);padding-top:16px}

/* Proceso en pasos */
.eim-proceso{padding:78px 0;background:var(--warm-white,#fdf8fa)}
.eim-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.eim-step{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-lg,16px);padding:30px 24px;position:relative;transition:var(--transition)}
.eim-step:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(123,45,95,.12);border-color:transparent}
.eim-step-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--burgundy),var(--rose,#F47A77));color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:16px}
.eim-step h4{font-size:1.02rem;margin-bottom:8px;color:var(--gray-900)}
.eim-step p{font-size:.9rem;color:var(--gray-600);line-height:1.6}

/* Áreas de especialización */
.eim-areas{padding:84px 0}
.eim-areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.eim-area-card{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-lg,16px);padding:30px 28px;transition:var(--transition)}
.eim-area-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(123,45,95,.13);border-color:transparent}
.eim-area-icon{width:54px;height:54px;border-radius:15px;background:var(--burgundy-light,#f6e9f0);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.eim-area-icon svg{width:26px;height:26px;fill:none;stroke:var(--burgundy);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eim-area-card h4{font-size:1.08rem;margin-bottom:8px;color:var(--gray-900)}
.eim-area-card p{font-size:.9rem;color:var(--gray-600);line-height:1.65}

/* Testimonios en video */
.eim-videos{padding:84px 0;background:linear-gradient(150deg,#5E1F48 0%,var(--burgundy) 45%,var(--plum) 100%);position:relative;overflow:hidden}
.eim-videos::before{content:"";position:absolute;top:-80px;right:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(244,122,119,.35),transparent 70%)}
.eim-videos .container{position:relative;z-index:1}
.eim-videos-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:0 auto}
.eim-video{position:relative;margin:0;border-radius:var(--radius-lg,16px);overflow:hidden;cursor:pointer;background:#000;box-shadow:0 20px 48px rgba(0,0,0,.3);aspect-ratio:16/9}
.eim-video img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s}
.eim-video:hover img{transform:scale(1.05);opacity:.85}
.eim-video .eim-play{position:absolute;inset:0;margin:auto;width:68px;height:48px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));transition:transform .25s}
.eim-video:hover .eim-play{transform:scale(1.12)}
.eim-video .eim-play svg{width:68px;height:48px}
.eim-video figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;font-size:.9rem;font-weight:600;text-align:left}
.eim-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.eim-video.is-playing{cursor:default}

.eim-cta{margin-top:0}

/* Responsive */
@media(max-width:900px){
  .eim-intro-grid{grid-template-columns:1fr;gap:34px}
  .eim-steps{grid-template-columns:1fr 1fr}
  .eim-areas-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .eim-intro{padding:56px 0 48px}
  .eim-proceso,.eim-areas,.eim-videos{padding:56px 0}
  .eim-steps,.eim-areas-grid,.eim-videos-grid{grid-template-columns:1fr}
  .eim-section-head{margin-bottom:32px}
  .eim-types-card{padding:28px 24px}
}

/* ============================================================
   UNIQUE PAGES — librería de componentes reutilizables (.up-*)
   Cada página define su acento:  <div class="up" style="--up-accent:#..;--up-accent2:#..">
   ============================================================ */
.up{--up-accent:#7B2D5F;--up-accent2:#9B4D7D}
.up-pills{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:22px}
.up-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:.82rem;font-weight:600;padding:7px 14px;border-radius:999px;backdrop-filter:blur(4px)}
.up-pill svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2}
.up-section{padding:82px 0}
.up-section.alt{background:var(--warm-white,#fdf8fa)}
.up-head{text-align:center;max-width:740px;margin:0 auto 46px}
.up-head .section-label{color:var(--up-accent)}
.up-head p{color:var(--gray-600);line-height:1.75;margin-top:12px}
.up-head--light .section-label{color:#ffd9d2}
.up-head--light .section-title{color:#fff}
.up-head--light p{color:rgba(255,255,255,.85)}

/* Intro 2-col + tarjeta de acento */
.up-split{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.up-split.rev{grid-template-columns:.8fr 1.2fr}
.up-split p{color:var(--gray-700);line-height:1.85;margin-bottom:16px}
.up-card{background:linear-gradient(155deg,var(--up-accent),var(--up-accent2));color:#fff;border-radius:22px;padding:34px 32px;box-shadow:0 22px 50px rgba(123,45,95,.24)}
.up-card h3{color:#fff;font-size:1.2rem;margin-bottom:18px}
.up-card .up-checks li{color:rgba(255,255,255,.96)}
.up-card .up-checks li::before{background:rgba(255,255,255,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")center/12px no-repeat}
.up-card .up-note{margin-top:18px;font-size:.84rem;color:rgba(255,255,255,.72);border-top:1px solid rgba(255,255,255,.2);padding-top:15px}

/* Checklist */
.up-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.up-checks li{position:relative;padding-left:30px;font-size:.96rem;line-height:1.55;color:var(--gray-700)}
.up-checks li::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,var(--up-accent) 14%,#fff);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237B2D5F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}

/* Dúo de paneles (info + qué busca el clínico) */
.up-duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.up-panel{background:#fff;border:1px solid var(--gray-100);border-radius:18px;padding:34px 32px;transition:var(--transition)}
.up-panel:hover{box-shadow:0 16px 40px rgba(123,45,95,.10);border-color:transparent}
.up-panel-icon{width:50px;height:50px;border-radius:14px;background:color-mix(in srgb,var(--up-accent) 12%,#fff);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.up-panel-icon svg{width:25px;height:25px;fill:none;stroke:var(--up-accent);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.up-panel h3{font-size:1.12rem;margin-bottom:16px;color:var(--gray-900)}

/* Pasos numerados */
.up-steps{display:grid;gap:22px}
.up-steps.c3{grid-template-columns:repeat(3,1fr)}
.up-steps.c4{grid-template-columns:repeat(4,1fr)}
.up-step{background:#fff;border:1px solid var(--gray-100);border-radius:16px;padding:30px 26px;transition:var(--transition)}
.up-step:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(123,45,95,.12);border-color:transparent}
.up-step-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--up-accent),var(--up-accent2));color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:16px}
.up-step h4{font-size:1.04rem;margin-bottom:8px;color:var(--gray-900)}
.up-step p{font-size:.9rem;color:var(--gray-600);line-height:1.6}

/* Timeline vertical */
.up-timeline{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.up-tl{position:relative;padding:0 0 26px 56px}
.up-tl:not(:last-child)::after{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:color-mix(in srgb,var(--up-accent) 25%,#fff)}
.up-tl-dot{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--up-accent),var(--up-accent2));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.up-tl h4{font-size:1.06rem;margin-bottom:6px;color:var(--gray-900)}
.up-tl p{font-size:.92rem;color:var(--gray-600);line-height:1.65}

/* Tiles grid */
.up-grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}
.up-grid.c2{grid-template-columns:1fr 1fr}
.up-tile{background:#fff;border:1px solid var(--gray-100);border-radius:16px;padding:30px 28px;transition:var(--transition)}
.up-tile:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(123,45,95,.13);border-color:transparent}
.up-tile-icon{width:54px;height:54px;border-radius:15px;background:color-mix(in srgb,var(--up-accent) 12%,#fff);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.up-tile-icon svg{width:26px;height:26px;fill:none;stroke:var(--up-accent);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.up-tile h4{font-size:1.06rem;margin-bottom:8px;color:var(--gray-900)}
.up-tile p{font-size:.9rem;color:var(--gray-600);line-height:1.65}

/* Banda de cita / impacto */
.up-quote{background:linear-gradient(150deg,var(--up-accent) 0%,var(--up-accent2) 100%);color:#fff;text-align:center;padding:66px 0;position:relative;overflow:hidden}
.up-quote::before{content:"";position:absolute;top:-90px;right:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%)}
.up-quote .container{position:relative;z-index:1;max-width:820px}
.up-quote blockquote{font-size:1.45rem;line-height:1.55;font-weight:600;margin:0}
.up-quote cite{display:block;margin-top:16px;font-style:normal;font-size:.92rem;color:rgba(255,255,255,.8)}

/* Comparación 2 columnas (Visa T vs U) */
.up-compare{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.up-col{background:#fff;border:1px solid var(--gray-100);border-radius:20px;padding:36px 32px;border-top:4px solid var(--up-accent)}
.up-col h3{font-size:1.3rem;color:var(--up-accent);margin-bottom:6px}
.up-col .up-col-sub{font-size:.86rem;color:var(--gray-500);margin-bottom:18px}
.up-col p{color:var(--gray-700);line-height:1.75;margin-bottom:14px;font-size:.95rem}

/* Videos (facade compartido) */
.up-videos{padding:84px 0;background:linear-gradient(150deg,#5E1F48 0%,var(--up-accent) 48%,var(--up-accent2) 100%);position:relative;overflow:hidden}
.up-videos::before{content:"";position:absolute;top:-80px;right:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(244,122,119,.32),transparent 70%)}
.up-videos .container{position:relative;z-index:1}
.up-videos-grid{display:grid;gap:28px;max-width:980px;margin:0 auto;grid-template-columns:1fr 1fr}
.up-videos-grid.one{grid-template-columns:1fr;max-width:620px}
.up-video{position:relative;margin:0;border-radius:16px;overflow:hidden;cursor:pointer;background:#000;box-shadow:0 20px 48px rgba(0,0,0,.3);aspect-ratio:16/9}
.up-video img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s}
.up-video:hover img{transform:scale(1.05);opacity:.85}
.up-video .up-play{position:absolute;inset:0;margin:auto;width:68px;height:48px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));transition:transform .25s}
.up-video:hover .up-play{transform:scale(1.12)}
.up-video .up-play svg{width:68px;height:48px}
.up-video figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;font-size:.9rem;font-weight:600;text-align:left}
.up-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Responsive */
@media(max-width:900px){
  .up-split,.up-split.rev{grid-template-columns:1fr;gap:34px}
  .up-duo,.up-compare,.up-videos-grid{grid-template-columns:1fr}
  .up-steps.c3,.up-steps.c4{grid-template-columns:1fr 1fr}
  .up-grid,.up-grid.c2{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .up-section{padding:54px 0}
  .up-steps.c3,.up-steps.c4,.up-grid,.up-grid.c2{grid-template-columns:1fr}
  .up-head{margin-bottom:32px}
  .up-card,.up-panel,.up-col{padding:26px 24px}
  .up-quote blockquote{font-size:1.2rem}
}

/* Chips de "problemas que abordamos" (.up-tags) — para páginas de terapia */
.up-tags{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:900px;margin:0 auto}
.up-tag{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--gray-100);border-radius:999px;padding:11px 20px;font-size:.93rem;font-weight:600;color:var(--gray-800);box-shadow:0 4px 14px rgba(123,45,95,.06);transition:var(--transition)}
.up-tag:hover{border-color:transparent;box-shadow:0 10px 26px rgba(123,45,95,.13);transform:translateY(-3px)}
.up-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--up-accent);flex-shrink:0}
/* Lista de técnicas en 2 columnas */
.up-cols{max-width:880px;margin:0 auto;columns:2;column-gap:30px}
.up-cols .up-checks{gap:14px}
.up-cols li{break-inside:avoid}
@media(max-width:700px){.up-cols{columns:1}}

/* Galería de videos por año (Eventos) + etiqueta de año */
.up-videos-grid.three{grid-template-columns:repeat(3,1fr);max-width:1120px}
.up-year{display:flex;align-items:center;gap:14px;max-width:1120px;margin:0 auto 22px;color:#fff}
.up-year span{font-size:1.5rem;font-weight:800;letter-spacing:.5px}
.up-year::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.25)}
.up-yearblock{margin-bottom:44px}
.up-yearblock:last-child{margin-bottom:0}
@media(max-width:900px){.up-videos-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.up-videos-grid.three{grid-template-columns:1fr}}
/* Roles de empleo (Estamos contratando) */
.up-roles{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.up-role{background:#fff;border:1px solid var(--gray-100);border-radius:20px;padding:36px 32px;border-top:4px solid var(--up-accent)}
.up-role h3{font-size:1.25rem;color:var(--up-accent);margin-bottom:4px}
.up-role .up-role-tag{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-bottom:16px}
@media(max-width:760px){.up-roles{grid-template-columns:1fr}}

/* ============================================================
   EVENTOS — años, sub-pestañas, galería/carrusel, tarjetas polaroid
   ============================================================ */
.tw-ev-year{padding:64px 0 56px}
.tw-ev-year.alt{background:var(--warm-white,#fdf8fa)}
.tw-ev-yeartitle{text-align:center;font-size:2.4rem;font-weight:800;color:var(--up-accent);letter-spacing:1px;margin:0 0 26px}
/* Sub-pestañas */
.tw-ev-cattabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;background:#f3eef1;padding:7px;border-radius:16px;width:fit-content;max-width:100%;margin:0 auto 34px}
.tw-ev-cattab{appearance:none;border:none;background:transparent;color:var(--up-accent);font-family:inherit;font-weight:600;font-size:.95rem;padding:10px 22px;border-radius:11px;cursor:pointer;transition:var(--transition);white-space:nowrap}
.tw-ev-cattab:hover{color:var(--burgundy)}
.tw-ev-cattab.active{background:linear-gradient(135deg,var(--up-accent),var(--up-accent2));color:#fff;box-shadow:0 6px 16px rgba(123,45,95,.22)}
.tw-ev-catpanel{display:none}
.tw-ev-catpanel.active{display:block;animation:pageFadeIn .4s ease both}
/* GALERÍA (cuadrícula responsive) */
.tw-ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:24px}
/* CARRUSEL (deslizable) */
.tw-ev-carousel{position:relative;padding:6px 0}
.tw-ev-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 4px 24px;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.tw-ev-track::-webkit-scrollbar{display:none}
.tw-ev-track.dragging{cursor:grabbing;scroll-snap-type:none}
.tw-ev-track.dragging .tw-ev-card{pointer-events:none}
.tw-ev-track .tw-ev-card{flex:0 0 268px;max-width:268px;scroll-snap-align:start}
.tw-ev-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;border:none;background:#fff;color:var(--up-accent);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(123,45,95,.22);transition:var(--transition)}
.tw-ev-arrow:hover{background:var(--up-accent);color:#fff;transform:translateY(-50%) scale(1.06)}
.tw-ev-arrow.prev{left:-12px}
.tw-ev-arrow.next{right:-12px}
/* Tarjeta polaroid */
.tw-ev-card{position:relative;background:#fff;border:none;padding:14px 14px 18px;border-radius:6px;text-align:center;text-decoration:none;box-shadow:0 10px 26px rgba(123,45,95,.12);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;transform:rotate(-1deg);width:100%}
.tw-ev-card:nth-child(even){transform:rotate(1.1deg)}
a.tw-ev-card,button.tw-ev-card{cursor:pointer}
.tw-ev-card.tw-ev-static{cursor:default}
.tw-ev-card:hover{transform:rotate(0) translateY(-6px);box-shadow:0 20px 44px rgba(123,45,95,.22)}
.tw-ev-card-photo{position:relative;display:block;border-radius:4px;overflow:hidden;background:#eee;aspect-ratio:4/3}
.tw-ev-card-photo::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-3deg);width:90px;height:22px;background:rgba(244,122,119,.34);border:1px solid rgba(244,122,119,.2);z-index:2;border-radius:1px}
.tw-ev-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;user-select:none}
.tw-ev-card:not(.tw-ev-static):hover .tw-ev-card-photo img{transform:scale(1.05)}
.tw-ev-play{position:absolute;inset:0;margin:auto;width:54px;height:54px;display:flex;align-items:center;justify-content:center;z-index:3;transition:transform .25s;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}
.tw-ev-card:hover .tw-ev-play{transform:scale(1.12)}
.tw-ev-play svg{width:54px;height:54px}
.tw-ev-card-link{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;color:var(--up-accent);opacity:0;transform:translateY(-4px);transition:var(--transition);z-index:3}
.tw-ev-card:hover .tw-ev-card-link{opacity:1;transform:none}
.tw-ev-card-link svg{width:15px;height:15px}
.tw-ev-card-cap{display:block;padding:14px 6px 2px}
.tw-ev-card-cap strong{display:block;font-size:1rem;line-height:1.3;color:var(--burgundy);font-weight:700}
.tw-ev-card-cap em{display:block;margin-top:5px;font-size:.84rem;color:var(--gray-500);font-style:normal}
.tw-ev-embed{width:100%;aspect-ratio:1/1;border:0;border-radius:4px;display:block;background:#000}
@media(max-width:600px){
  .tw-ev-year{padding:46px 0 40px}
  .tw-ev-yeartitle{font-size:1.9rem}
  .tw-ev-cattabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;border-radius:13px;scrollbar-width:none}
  .tw-ev-cattabs::-webkit-scrollbar{display:none}
  .tw-ev-cattab{flex:0 0 auto;font-size:.88rem;padding:9px 16px}
  .tw-ev-grid{grid-template-columns:1fr 1fr;gap:14px}
  .tw-ev-track .tw-ev-card{flex-basis:230px;max-width:230px}
  .tw-ev-arrow{display:none}
}

/* ============================================================
   MENÚ PRINCIPAL · submenús desplegables (menú nativo de WP)
   Escritorio = dropdown al pasar el cursor · Móvil = acordeón
   ============================================================ */
@keyframes submenuIn{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.nav-links .menu-item-has-children{position:relative}
.nav-links .menu-item-has-children > a{display:inline-flex;align-items:center;gap:5px}
.nav-links .menu-item-has-children > a::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 2px;opacity:.65;transition:transform .3s,margin .3s}
.nav-links .menu-item-has-children:hover > a::after{transform:rotate(225deg);margin-top:2px}
.nav-links .submenu-toggle{display:none}
.nav-links .sub-menu{display:none;position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:10px 0;min-width:232px;z-index:1000;list-style:none;margin:0;animation:submenuIn .25s ease}
.nav-links .sub-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.nav-links .menu-item-has-children:hover > .sub-menu{display:block}
.nav-links .sub-menu li{margin:0}
.nav-links .sub-menu a{display:block;padding:10px 16px;margin:1px 8px;border-radius:10px;font-size:.88rem;font-weight:500;color:var(--gray-700);white-space:nowrap;transition:color .2s,background .2s}
.nav-links .sub-menu a:hover,.nav-links .sub-menu .current-menu-item > a{color:var(--burgundy);background:var(--burgundy-light)}

/* ============================================================
   FOOTER · horarios, redes, premios y directorios (info real)
   ============================================================ */
.footer-hours{margin-top:24px}
.footer-hours h4{font-size:.88rem;margin-bottom:8px;color:#fff}
.footer-hours p{margin:0;font-size:.82rem;line-height:1.6;opacity:.8}
.footer-extras{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:32px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);margin-top:32px}
.footer-social{display:flex;gap:12px}
.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);transition:all .3s}
.footer-social a:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}
.footer-awards{display:flex;gap:16px;align-items:center}
.footer-awards img{border-radius:8px;background:#fff;padding:4px}
.footer-directories{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.footer-directories img{opacity:.7;transition:opacity .3s;background:#fff;padding:4px;border-radius:6px}
.footer-directories a:hover img{opacity:1}

/* ============================================================
   HOME · "Problemas que atendemos" (especialidades)
   ============================================================ */
.problems-section{padding:80px 0;background:var(--warm-white)}
.problems-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start}
.problems-info h2{font-size:2rem}
.problems-list-wrap{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.problems-col{display:flex;flex-direction:column;gap:6px}
.problem-tag{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-radius:var(--radius);font-size:.88rem;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:var(--transition)}
.problem-tag:hover{box-shadow:var(--shadow-sm);transform:translateX(4px)}
@media(max-width:900px){
  .problems-grid{grid-template-columns:1fr;gap:32px}
  .problems-list-wrap{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .problems-section{padding:56px 0}
  .problems-info h2{font-size:1.7rem}
  .problems-list-wrap{grid-template-columns:1fr}
}

/* Footer extras en móvil */
@media(max-width:768px){
  .footer-extras{flex-direction:column;align-items:flex-start;gap:20px}
}

/* ============================================================
   DRAWER MÓVIL/TABLET · navegación premium (ultra elegante)
   Acordeón suave por max-height (toggle 100% fiable) + caret refinado
   ============================================================ */
@media(max-width:1024px){
  .nav-drawer .nav-links{padding:10px 14px 6px;gap:0}
  .nav-drawer .nav-links > li{width:100%;border-bottom:1px solid rgba(123,45,95,.08)}
  .nav-drawer .nav-links > li:last-child{border-bottom:none}
  .nav-drawer .nav-links > li > a{display:block;width:auto;padding:15px 16px;font-size:1.04rem;font-weight:600;letter-spacing:-.01em;color:var(--gray-800);border-radius:13px;position:relative;transition:color .25s,background .25s,padding-left .25s,transform .25s}
  .nav-drawer .nav-links > li > a:hover,.nav-drawer .nav-links > li.current-menu-item > a{color:var(--burgundy);background:var(--burgundy-light);padding-left:22px;transform:none}
  /* barrita de acento al activo/hover */
  .nav-drawer .nav-links > li > a::before{content:"";position:absolute;left:7px;top:50%;width:3px;height:0;border-radius:3px;background:var(--accent);transform:translateY(-50%);transition:height .25s}
  .nav-drawer .nav-links > li > a:hover::before,.nav-drawer .nav-links > li.current-menu-item > a::before{height:18px}

  /* Parent con submenú: enlace + caret refinado en la misma fila */
  .nav-drawer .menu-item-has-children > a::after{display:none}
  .nav-drawer .menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center}
  .nav-drawer .menu-item-has-children > a{flex:1 1 0;min-width:0}
  .nav-drawer .submenu-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 auto;margin-right:4px;background:transparent;border:1.5px solid rgba(123,45,95,.2);border-radius:50%;color:var(--burgundy);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
  .nav-drawer .submenu-toggle svg{width:13px;height:13px;transition:transform .35s cubic-bezier(.16,1,.3,1)}
  .nav-drawer .menu-item-has-children.open > .submenu-toggle{background:var(--burgundy);border-color:var(--burgundy);color:#fff}
  .nav-drawer .menu-item-has-children.open > .submenu-toggle svg{transform:rotate(180deg)}

  /* Submenú = acordeón suave (display siempre block; abre por max-height/opacity) */
  .nav-drawer .sub-menu{display:block;position:static;transform:none;box-shadow:none;border:none;border-left:2px solid var(--burgundy-light);border-radius:0;animation:none;width:100%;min-width:0;margin:0 0 6px 8px;padding:0 0 0 10px;background:transparent;max-height:0;overflow:hidden;opacity:0;transition:max-height .42s cubic-bezier(.16,1,.3,1),opacity .3s ease,margin-bottom .3s}
  .nav-drawer .menu-item-has-children.open > .sub-menu{max-height:520px;opacity:1}
  .nav-drawer .sub-menu li{width:100%}
  .nav-drawer .sub-menu a{display:block;width:auto;padding:11px 14px;font-size:.94rem;font-weight:500;color:var(--gray-600);border-radius:10px;transition:color .2s,background .2s,padding-left .2s,transform 0s}
  .nav-drawer .sub-menu a:hover,.nav-drawer .sub-menu .current-menu-item > a{background:var(--burgundy-light);color:var(--burgundy);padding-left:18px;transform:none}
}









/* ============================================================
   FIX RESPONSIVE (jun 25 2026) — grids que no bajaban a 1 col en móvil
   (incl. los grids inline de page-terapia-en-linea que pisaban media queries)
   ============================================================ */
@media(max-width:600px){
  .why-therapy-grid,.eval-types-grid{grid-template-columns:1fr !important}
}
/* Submenú: que nunca desborde el viewport en pantallas medianas */
.nav-links .sub-menu{max-width:calc(100vw - 32px)}

/* Oficinas: tarjetas a 1 columna en móvil (el contenido es rico; en 2-col se apretaba) */
@media(max-width:640px){
  .team-locations--offices{grid-template-columns:1fr;max-width:430px;margin-left:auto;margin-right:auto}
}
/* Imágenes de ubicaciones (gráficos 500x300): mostrarlas COMPLETAS en tablet y móvil
   (en escritorio el recorte cover está OK; aquí se cortaban los lados) */
@media(max-width:1024px){
  .loc-card img{height:auto;object-fit:contain}
}

/* ============================================================
   BLOG v2 (jul 2026) — hero con gradiente + vectores (texto legible),
   tarjeta destacada, y post individual con imagen COMPLETA (no de fondo).
   Ancho hasta 1440px. Súper responsive.
   ============================================================ */
.container-wide{max-width:1440px;margin:0 auto;padding:0 24px}

/* ---- HERO del listado ---- */
.blog-hero{position:relative;margin-top:90px;padding:78px 0 70px;text-align:center;overflow:hidden;color:#fff;background:linear-gradient(135deg,#5E1F48 0%,#7B2D5F 42%,#B54A6E 82%,#F47A77 122%)}
.blog-hero>.container{position:relative;z-index:2;max-width:740px}
.blog-hero .section-label{color:#ffd9d8}
.blog-hero h1{font-size:clamp(2.1rem,4.8vw,3.3rem);font-weight:800;line-height:1.07;letter-spacing:-.6px;color:#fff;margin-bottom:16px}
.blog-hero h1 em{font-style:normal;color:#ffd9d8}
.blog-hero p{font-size:1.12rem;line-height:1.6;color:rgba(255,255,255,.92);max-width:580px;margin:0 auto}

/* ---- Vectores decorativos (compartidos blog + post) ---- */
.blog-hero-deco,.post-hero-deco{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.blog-hero-deco svg,.post-hero-deco svg{position:absolute;display:block}
.blog-hero-deco .tw-blob-1,.post-hero-deco .tw-blob-1{top:-150px;right:-90px;width:440px;height:440px}
.blog-hero-deco .tw-blob-2,.post-hero-deco .tw-blob-2{bottom:-200px;left:-120px;width:480px;height:480px;opacity:.9}
.blog-hero-deco .tw-ring,.post-hero-deco .tw-ring{top:42px;left:7%;width:118px;height:118px}
.blog-hero-deco .tw-dots,.post-hero-deco .tw-dots{bottom:30px;right:6%;width:150px;height:88px}
@media(max-width:820px){.blog-hero-deco .tw-ring,.post-hero-deco .tw-ring,.blog-hero-deco .tw-dots,.post-hero-deco .tw-dots{display:none}}

/* ---- Cuadrícula uniforme de 4 columnas (elegante, responsive) ---- */
.blog-archive-grid{grid-template-columns:repeat(4,1fr);gap:26px}
.blog-archive-grid .blog-card-media{aspect-ratio:4/3}
.blog-archive-grid .blog-card-body{padding:22px 22px 24px;gap:9px}
.blog-archive-grid .blog-card-date{font-size:.7rem}
.blog-archive-grid .blog-card h3{font-size:1.04rem;line-height:1.32}
.blog-archive-grid .blog-card p{font-size:.85rem;line-height:1.58}
.blog-archive-grid .blog-card-tag{font-size:.62rem;padding:5px 12px}
.blog-archive-grid .blog-card-more{font-size:.8rem;padding-top:2px}
@media(max-width:1180px){.blog-archive-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
@media(max-width:820px){.blog-archive-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:520px){.blog-archive-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}.blog-archive-grid .blog-card h3{font-size:1.15rem}.blog-archive-grid .blog-card p{font-size:.9rem}}

/* ---- POST individual: hero SIN imagen de fondo (gradiente + vectores) ---- */
.post-hero{position:relative;margin-top:90px;padding:76px 0 64px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#5E1F48 0%,#7B2D5F 44%,#B54A6E 86%,#F47A77 124%)}
.post-hero .post-hero-overlay{display:none}
.post-hero>.container{position:relative;z-index:2;max-width:1140px;text-align:center}
.post-hero .post-back{color:rgba(255,255,255,.9)}
.post-hero h1{color:#fff;max-width:none;line-height:1.12;margin:0 auto}

/* ---- Imagen destacada: SOLO la imagen, box-shadow, sin marco, ancho 1440 ---- */
.post-featured{background:var(--warm-white)}
.post-featured .container-wide{position:relative;max-width:1040px;margin-top:-22px;z-index:3}
.post-featured-frame{margin:0;padding:0;background:none;border:none;line-height:0;border-radius:22px;overflow:hidden;box-shadow:0 26px 60px -20px rgba(123,45,95,.38),0 10px 24px -12px rgba(45,42,50,.22)}
.post-featured-frame img{display:block;width:100%;height:auto;border-radius:22px}
.post-featured + .post-body{padding-top:44px}
@media(max-width:768px){.post-featured .container-wide{margin-top:-18px}.post-featured-frame{border-radius:16px;box-shadow:0 18px 40px -16px rgba(123,45,95,.36)}.post-featured-frame img{border-radius:16px}}

/* Sección de relacionados un poco más ancha para respirar */
.post-related>.container{max-width:1200px}



/* ============================================================
   AEO — BLOQUE DE RESPUESTA DIRECTA
   Va justo debajo del hero de cada servicio: resuelve la duda de
   quien llega y es el fragmento que extraen Google y los modelos
   de IA cuando resumen la página.
   ============================================================ */
.tw-answer{position:relative;background:linear-gradient(180deg,#FBF0F5 0%,var(--warm-white) 100%);
  border-bottom:1px solid rgba(123,45,95,.08)}
.tw-answer::before{content:"";position:absolute;inset:0 0 auto;height:3px;
  background:linear-gradient(90deg,var(--burgundy),var(--accent) 55%,var(--peach))}
.tw-answer .container{padding-top:34px;padding-bottom:34px}
.tw-answer-text{max-width:820px;margin:0 auto;text-align:center;color:var(--gray-800,#3A3640);
  font-size:1.12rem;line-height:1.78;font-weight:400}
@media(max-width:768px){
  .tw-answer .container{padding-top:26px;padding-bottom:26px}
  .tw-answer-text{font-size:1rem;text-align:left}
}

/* ============================================================
   PÁGINAS POR CIUDAD (SEO local) — template-ubicacion.php
   ============================================================ */
.tw-loc-split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
@media(max-width:960px){.tw-loc-split{grid-template-columns:1fr;gap:36px}}

/* Datos de contacto: fichas con filete en degradado */
.tw-loc-datos{margin-top:26px;display:grid;gap:2px;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,rgba(123,45,95,.12),rgba(244,122,119,.12));padding:1px}
.tw-loc-dato{background:#fff;padding:16px 20px;display:grid;
  grid-template-columns:104px 1fr;gap:14px;align-items:baseline}
.tw-loc-dato:first-child{border-radius:15px 15px 0 0}
.tw-loc-dato:last-child{border-radius:0 0 15px 15px}
.tw-loc-dato-k{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--burgundy);font-weight:700}
.tw-loc-dato-v{color:var(--gray-700);line-height:1.65}
.tw-loc-dato-v a{color:var(--burgundy);font-weight:700}
.tw-loc-dato-v a:hover{color:var(--burgundy-dark)}
@media(max-width:520px){.tw-loc-dato{grid-template-columns:1fr;gap:4px}}

.tw-loc-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* Tarjeta "cómo te atendemos": el degradado de marca, como las .up-card */
.tw-loc-card{background:linear-gradient(155deg,var(--up-accent),var(--up-accent2));color:#fff;
  border-radius:22px;padding:32px 30px;box-shadow:0 22px 50px rgba(123,45,95,.24)}
.tw-loc-card h3{color:#fff;font-size:1.16rem;margin-bottom:22px}
.tw-loc-hechos{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.tw-loc-hechos li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start}
.tw-loc-hecho-ico{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.18);
  display:grid;place-items:center;color:#fff}
.tw-loc-hecho-ico svg{width:19px;height:19px}
.tw-loc-hechos b{display:block;color:#fff;font-weight:700;font-size:.98rem;line-height:1.35}
.tw-loc-hechos em{display:block;font-style:normal;color:rgba(255,255,255,.86);
  font-size:.88rem;line-height:1.55;margin-top:3px}

/* Servicios de la oficina */
.tw-loc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:8px}
.tw-loc-serv{position:relative;display:block;background:#fff;border:1px solid #EFEAF0;
  border-radius:18px;padding:28px 26px 24px;text-decoration:none;overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease}
.tw-loc-serv::before{content:"";position:absolute;inset:0 0 auto;height:3px;
  background:linear-gradient(90deg,var(--burgundy),var(--accent));
  transform:scaleX(0);transform-origin:left;transition:transform .32s ease}
.tw-loc-serv:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(123,45,95,.16)}
.tw-loc-serv:hover::before{transform:scaleX(1)}
.tw-loc-serv h3{color:var(--gray-900);font-size:1.08rem;margin-bottom:9px}
.tw-loc-serv p{color:var(--gray-600);font-size:.94rem;line-height:1.65;margin-bottom:16px}
.tw-loc-serv-link{color:var(--burgundy);font-weight:700;font-size:.88rem;
  display:inline-flex;align-items:center;gap:7px}
.tw-loc-serv:hover .tw-loc-serv-link svg{transform:translateX(3px)}
.tw-loc-serv-link svg{transition:transform .25s ease}

/* Mapa */
.tw-loc-mapa{border-radius:22px;overflow:hidden;line-height:0;padding:3px;
  background:linear-gradient(135deg,var(--burgundy),var(--accent));
  box-shadow:0 20px 46px rgba(123,45,95,.18)}
.tw-loc-mapa iframe{display:block;width:100%;border-radius:19px;background:#fff}
@media(max-width:768px){.tw-loc-mapa iframe{height:300px}}

.tw-loc-otras{text-align:center;margin-top:24px}
.tw-loc-otras a{color:var(--burgundy);font-weight:700;display:inline-flex;align-items:center;gap:8px}
.tw-loc-otras a:hover{color:var(--burgundy-dark)}

@media(prefers-reduced-motion:reduce){
  .tw-loc-serv,.tw-loc-serv::before,.tw-loc-serv-link svg{transition:none}
  .tw-loc-serv:hover{transform:none}
}

/* ============================================================
   CONTENIDO AMPLIADO DE SERVICIOS — inc/contenido-servicios.php
   Texto propio de la clínica que estaba guardado sin publicarse.
   ============================================================ */
.tw-amp-section{padding:76px 0}
.tw-amp-section.alt{background:linear-gradient(180deg,var(--warm-white),#FBF2F6)}
.tw-amp-head{text-align:center;max-width:720px;margin:0 auto 40px}
.tw-amp-head .section-title{margin-top:6px}
.tw-amp-texto{max-width:760px;margin:0 auto;display:grid;gap:18px}
.tw-amp-texto p{color:var(--gray-700);line-height:1.8;font-size:1.02rem}
.tw-amp-texto b,.tw-amp-texto strong{color:var(--gray-900);font-weight:700}

.tw-amp-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;
  max-width:980px;margin:0 auto}
.tw-amp-col{position:relative;background:#fff;border:1px solid #EFEAF0;border-radius:20px;
  padding:30px 28px;overflow:hidden}
.tw-amp-col::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;
  background:linear-gradient(180deg,var(--burgundy),var(--accent))}
.tw-amp-col h3{color:var(--gray-900);font-size:1.05rem;margin-bottom:16px}
.tw-amp-col ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.tw-amp-col li{position:relative;padding-left:26px;color:var(--gray-700);
  font-size:.96rem;line-height:1.65}
.tw-amp-col li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;
  border-radius:50%;background:var(--burgundy-light);border:2px solid var(--accent)}
@media(max-width:768px){
  .tw-amp-section{padding:56px 0}
  .tw-amp-col{padding:26px 22px}
}

/* ============================================================
   CÁPSULAS Y VIDEOS
   Tarjetas de altura uniforme (imagen o video) + detalle.
   Contenido: Escritorio → Cápsulas y videos → ✦ Editor visual.
   ============================================================ */
.tw-cap-wrap{padding:74px 0 86px;background:var(--warm-white)}

/* --- Filtros por tema --- */
.tw-cap-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 42px}
.tw-cap-filter{appearance:none;border:1.5px solid var(--gray-300);background:#fff;color:var(--burgundy);
  font-family:'Outfit',sans-serif;font-weight:600;font-size:.88rem;padding:10px 24px;border-radius:50px;
  cursor:pointer;transition:var(--transition);line-height:1.2}
.tw-cap-filter:hover{border-color:var(--plum);transform:translateY(-2px)}
.tw-cap-filter.active{background:linear-gradient(135deg,var(--burgundy),var(--plum));border-color:transparent;
  color:#fff;box-shadow:0 8px 22px rgba(123,45,95,.26)}

/* --- Rejilla: todas las tarjetas a la misma medida --- */
.tw-cap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;align-items:stretch}

/* Monitores anchos: 4 columnas (en laptop se quedan 3, para no apretar la portada). */
@media(min-width:1500px){
  .tw-cap-wrap>.container{max-width:1460px}
  .tw-cap-wrap .tw-cap-grid{grid-template-columns:repeat(4,1fr)}
}

.tw-cap-card{background:#fff;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;height:100%;
  box-shadow:0 10px 30px rgba(123,45,95,.07);transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s}
.tw-cap-card:hover{transform:translateY(-8px);box-shadow:0 22px 48px rgba(123,45,95,.16)}
.tw-cap-card[hidden]{display:none}

/* Media 16:9 — misma altura en todas */
.tw-cap-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--burgundy-light)}
.tw-cap-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--anim-ease)}
.tw-cap-card:hover .tw-cap-media img{transform:scale(1.06)}
.tw-cap-media-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--rose)}
.tw-cap-media-ph svg{width:54px;height:54px}

.tw-cap-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;
  background:rgba(255,255,255,.94);color:var(--burgundy);display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px rgba(0,0,0,.24);transition:var(--transition)}
.tw-cap-play svg{width:30px;height:30px;margin-left:3px}
.tw-cap-card:hover .tw-cap-play{transform:translate(-50%,-50%) scale(1.09);background:#fff;color:var(--accent)}

.tw-cap-tag{position:absolute;top:14px;left:14px;font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px;
  color:#fff;font-weight:700;background:rgba(123,45,95,.92);backdrop-filter:blur(3px);padding:6px 14px;
  border-radius:50px;box-shadow:0 6px 16px rgba(123,45,95,.28)}
.tw-cap-dur{position:absolute;bottom:12px;right:12px;font-size:.72rem;font-weight:700;color:#fff;
  background:rgba(0,0,0,.62);backdrop-filter:blur(3px);padding:4px 11px;border-radius:50px;letter-spacing:.3px}

/* Cuerpo: el botón siempre abajo, así las tarjetas quedan parejas */
.tw-cap-body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:11px;flex:1}
.tw-cap-title{font-size:1.14rem;line-height:1.35;font-weight:700;color:var(--gray-900);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.1em}
.tw-cap-title a{color:inherit;transition:color .25s}
.tw-cap-card:hover .tw-cap-title a{color:var(--burgundy)}
.tw-cap-desc{font-size:.9rem;color:var(--gray-700);line-height:1.62;margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.4em}
.tw-cap-btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;
  color:var(--burgundy);font-weight:700;font-size:.88rem;padding:11px 24px;border-radius:50px;
  background:var(--burgundy-light);transition:var(--transition)}
.tw-cap-btn svg{transition:transform .3s}
.tw-cap-card:hover .tw-cap-btn{background:linear-gradient(135deg,var(--burgundy),var(--plum));color:#fff;
  box-shadow:0 8px 22px rgba(123,45,95,.28)}
.tw-cap-card:hover .tw-cap-btn svg{transform:translateX(4px)}

.tw-cap-none{text-align:center;color:var(--gray-500);font-style:italic;padding:40px 0 0}
.tw-cap-empty{text-align:center;background:#fff;border-radius:var(--radius-lg);padding:64px 30px;
  box-shadow:var(--shadow-sm)}
.tw-cap-empty h2{font-size:1.7rem;color:var(--burgundy);margin-bottom:10px}
.tw-cap-empty p{margin-bottom:26px;color:var(--gray-700)}

/* --- Llamado final del listado --- */
.tw-cap-cta{padding:78px 0;background:linear-gradient(135deg,var(--burgundy) 0%,#8e3566 55%,var(--accent) 130%);
  color:#fff;text-align:center}
.tw-cap-cta h2{color:#fff;font-size:2.1rem;margin-bottom:12px}
.tw-cap-cta p{color:rgba(255,255,255,.92);max-width:600px;margin:0 auto 28px;font-size:1.02rem}
.tw-cap-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.tw-cap-cta .btn-outline{color:#fff;border-color:rgba(255,255,255,.75)}
.tw-cap-cta .btn-outline:hover{background:#fff;color:var(--burgundy);border-color:#fff}

/* --- Detalle de una cápsula --- */
.tw-cap-hero-dur{margin-top:12px !important;font-size:.85rem !important;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;color:#ffd9d8 !important}
.tw-cap-single{padding:60px 0 20px}
.tw-cap-single>.container{max-width:880px}

.tw-cap-player{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;
  background:#1a0f16;box-shadow:0 24px 60px rgba(123,45,95,.22)}
.tw-cap-player iframe,.tw-cap-player video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.tw-cap-player-btn{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;
  background:#1a0f16;display:block}
.tw-cap-player-btn img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--anim-ease),opacity .4s}
.tw-cap-player-btn:hover img{transform:scale(1.03);opacity:.88}
.tw-cap-player-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88px;height:88px;
  border-radius:50%;background:rgba(255,255,255,.95);color:var(--burgundy);display:flex;align-items:center;
  justify-content:center;box-shadow:0 14px 40px rgba(0,0,0,.34);transition:var(--transition)}
.tw-cap-player-play svg{width:44px;height:44px;margin-left:4px}
.tw-cap-player-btn:hover .tw-cap-player-play{transform:translate(-50%,-50%) scale(1.08);color:var(--accent)}

.tw-cap-figure{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 50px rgba(123,45,95,.18);margin:0}
.tw-cap-figure img{width:100%;height:auto;display:block}

.tw-cap-content{padding:44px 0 6px;font-size:1.05rem;line-height:1.85;color:var(--gray-700)}
.tw-cap-content p{margin-bottom:22px}
.tw-cap-content h2{font-size:1.6rem;margin:36px 0 14px;color:var(--gray-900)}
.tw-cap-content h3{font-size:1.28rem;margin:30px 0 12px;color:var(--burgundy)}
.tw-cap-content ul,.tw-cap-content ol{margin:0 0 22px 22px}
.tw-cap-content li{margin-bottom:9px}
.tw-cap-content a{color:var(--burgundy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.tw-cap-content img{border-radius:var(--radius);margin:22px 0}
.tw-cap-content blockquote{border-left:4px solid var(--accent);background:var(--burgundy-light);
  padding:20px 26px;border-radius:0 var(--radius) var(--radius) 0;margin:26px 0;font-style:italic}

.tw-cap-single-cta{margin:52px 0 10px;text-align:center;background:var(--burgundy-light);
  border-radius:var(--radius-lg);padding:44px 32px}
.tw-cap-single-cta h2{font-size:1.6rem;color:var(--burgundy);margin-bottom:10px}
.tw-cap-single-cta p{margin-bottom:26px;color:var(--gray-700)}

.tw-cap-more{padding:70px 0 86px;background:var(--gray-100)}
.tw-cap-more-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:34px}
.tw-cap-more-head .section-title{font-size:2rem;margin:0}
.tw-cap-more-all{display:inline-flex;align-items:center;gap:8px;color:var(--burgundy);font-weight:700;font-size:.92rem}
.tw-cap-more-all svg{transition:transform .3s}
.tw-cap-more-all:hover svg{transform:translateX(4px)}

/* --- Carrusel en móvil --------------------------------------------------
   La rejilla se vuelve un carril deslizable con "asomo" de la siguiente
   tarjeta: así se entiende solo que hay más contenido a la derecha. --- */
@media(max-width:768px){
  .tw-cap-wrap{padding:48px 0 58px}

  .tw-cap-grid{
    display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-padding-left:18px;
    /* se sale a las orillas de la pantalla, pero la 1ª tarjeta alinea con el
       texto: el -18px empata con el padding móvil de .container (línea 591) */
    margin:0 -18px;padding:4px 18px 8px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tw-cap-grid::-webkit-scrollbar{display:none}

  .tw-cap-card{flex:0 0 80%;max-width:330px;scroll-snap-align:start;height:auto}
  /* Sin efecto de "levantar" al tocar: en móvil estorba al deslizar. */
  .tw-cap-card:hover{transform:none;box-shadow:0 10px 30px rgba(123,45,95,.07)}
  .tw-cap-card:hover .tw-cap-media img{transform:none}

  /* Puntos indicadores */
  .tw-cap-dots{display:flex;justify-content:center;align-items:center;gap:8px;margin:16px 0 0;padding:0}
  .tw-cap-dots button{appearance:none;border:0;padding:0;cursor:pointer;background:var(--gray-300);
    width:8px;height:8px;border-radius:50%;transition:var(--transition)}
  .tw-cap-dots button.active{background:linear-gradient(135deg,var(--burgundy),var(--plum));
    width:26px;border-radius:50px}

  /* Aviso "desliza" — desaparece en cuanto la persona desliza */
  .tw-cap-swipe{display:flex;align-items:center;justify-content:center;gap:7px;margin:12px 0 0;
    font-size:.8rem;font-weight:600;color:var(--plum);transition:opacity .4s}
  .tw-cap-swipe[hidden]{display:none}
  .tw-cap-swipe svg{width:16px;height:16px;animation:twCapSwipe 1.5s ease-in-out infinite}
  @keyframes twCapSwipe{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}

  .tw-cap-filters{gap:8px;margin-bottom:30px;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;
    padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .tw-cap-filters::-webkit-scrollbar{display:none}
  .tw-cap-filter{flex:0 0 auto;font-size:.82rem;padding:9px 18px}
  .tw-cap-body{padding:20px 20px 22px;gap:9px}
  /* Se conservan las alturas mínimas: al deslizar, títulos y textos van alineados. */
  .tw-cap-title{font-size:1.04rem;min-height:2.8em}
  .tw-cap-desc{font-size:.86rem;min-height:4.2em;-webkit-line-clamp:3}
  .tw-cap-play{width:52px;height:52px}
  .tw-cap-play svg{width:26px;height:26px}
  .tw-cap-single{padding:38px 0 10px}
  .tw-cap-content{padding:30px 0 4px;font-size:.98rem;line-height:1.78}
  .tw-cap-player-play{width:64px;height:64px}
  .tw-cap-player-play svg{width:32px;height:32px}
  .tw-cap-cta{padding:56px 0}
  .tw-cap-cta h2{font-size:1.55rem}
  .tw-cap-single-cta{padding:34px 22px}
  .tw-cap-single-cta h2{font-size:1.32rem}
  .tw-cap-more{padding:52px 0 62px}
  .tw-cap-more-head .section-title{font-size:1.5rem}
  .tw-cap-cta-btns .btn{width:100%;justify-content:center}
}

/* ============================================================
   HEROES PEGADOS AL MENÚ (móvil y tablet)
   Hasta 1024px se oculta la barra oscura superior, así que el menú
   mide 65px y no 90. Sin este ajuste quedaba una tira blanca de 25px
   entre el menú y el hero en todas las páginas.
   Va al final del archivo a propósito: .blog-hero y .post-hero se
   declaran más abajo y de otro modo ganarían por orden de cascada.
   ============================================================ */
@media(max-width:1024px){
  .hero,.inner-hero,.eval-page-hero,.booking-section,
  .post-hero,.blog-hero,.gracias-hero{margin-top:65px}
}

/* ============================================================
   COBERTURA POR ESTADO (inicio → sección Evaluaciones)
   Buscador + lista agrupada por región, plegada para no saturar.
   Contenido: Therapy Works → Inicio: Evaluaciones.
   ============================================================ */
.eval-cob{margin:52px 0 0;background:#fff;border:1px solid rgba(123,45,95,.08);border-radius:var(--radius-lg);
  padding:40px 38px 30px;box-shadow:var(--shadow-md);position:relative;z-index:1}

.eval-cob-head{text-align:center;max-width:660px;margin:0 auto}
.eval-cob-head h3{font-size:1.85rem;margin:0 0 8px;color:var(--gray-900);line-height:1.2}
.eval-cob-sub{color:var(--gray-700);font-size:.98rem;margin:0 0 22px}

/* Buscador */
.eval-cob-search{position:relative;max-width:440px;margin:0 auto}
.eval-cob-lupa{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:19px;height:19px;
  color:var(--plum);pointer-events:none}
.eval-cob-input{width:100%;padding:16px 46px 16px 48px;border:2px solid var(--gray-300);border-radius:50px;
  font-family:'Outfit',sans-serif;font-size:1rem;color:var(--gray-900);background:var(--warm-white);
  transition:var(--transition);-webkit-appearance:none}
.eval-cob-input::placeholder{color:var(--gray-500)}
.eval-cob-input:focus{outline:none;border-color:var(--plum);background:#fff;
  box-shadow:0 0 0 4px rgba(155,77,125,.13)}
.eval-cob-input::-webkit-search-cancel-button{display:none}
.eval-cob-x{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;
  border-radius:50%;background:var(--burgundy-light);color:var(--burgundy);cursor:pointer;display:flex;
  align-items:center;justify-content:center;transition:var(--transition)}
.eval-cob-x svg{width:15px;height:15px}
.eval-cob-x:hover{background:var(--burgundy);color:#fff}
.eval-cob-x[hidden]{display:none}

/* Respuesta del buscador */
.eval-cob-res{margin:16px auto 0;font-weight:700;font-size:.95rem;line-height:1.5;max-width:520px;
  padding:11px 20px;border-radius:var(--radius);animation:evCobIn .3s ease both}
.eval-cob-res.si{background:var(--sage);color:#2c6b4a}
.eval-cob-res.no{background:var(--gold-light);color:var(--accent-dark)}
.eval-cob-res[hidden]{display:none}
@keyframes evCobIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* Lista plegable */
.eval-cob-body{max-height:0;overflow:hidden;transition:max-height .55s cubic-bezier(.16,1,.3,1);
  margin-top:0}
.eval-cob-body.abierto{max-height:1600px;margin-top:32px}

.eval-cob-regiones{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:26px 30px;
  border-top:1px solid var(--gray-300);padding-top:28px}
.eval-cob-region h4{font-size:.76rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--burgundy);
  margin:0 0 12px;display:flex;align-items:center;gap:8px;font-weight:700}
.eval-cob-region h4 span{background:var(--burgundy-light);color:var(--plum);font-size:.68rem;padding:2px 8px;
  border-radius:50px;letter-spacing:0}
.eval-cob-region ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.eval-cob-region li{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;color:var(--gray-700);
  line-height:1.45;transition:var(--transition)}
.eval-cob-region li svg{width:14px;height:14px;flex-shrink:0;margin-top:4px;stroke:var(--accent);fill:none;
  stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.eval-cob-region li.coincide{color:var(--burgundy);font-weight:700}
.eval-cob-region li.coincide svg{stroke:var(--burgundy)}
.eval-cob-region[hidden]{display:none}
.eval-cob-vacio{text-align:center;color:var(--gray-500);font-style:italic;padding:22px 0 0}

/* Botón de abrir/cerrar */
.eval-cob-toggle{display:flex;align-items:center;justify-content:center;gap:9px;margin:26px auto 0;
  appearance:none;border:1.5px solid var(--gray-300);background:#fff;color:var(--burgundy);
  font-family:'Outfit',sans-serif;font-weight:700;font-size:.9rem;padding:12px 28px;border-radius:50px;
  cursor:pointer;transition:var(--transition)}
.eval-cob-toggle:hover{border-color:var(--plum);background:var(--burgundy-light);transform:translateY(-2px)}
.eval-cob-toggle svg{width:16px;height:16px;transition:transform .35s}
.eval-cob-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}

/* Imagen de mapa subida desde el panel (sustituye al SVG) */
.eval-map-img{width:100%;height:auto;display:block;border-radius:var(--radius)}

@media(max-width:768px){
  .eval-cob{padding:30px 20px 24px;margin-top:38px;border-radius:var(--radius)}
  .eval-cob-head h3{font-size:1.4rem}
  .eval-cob-sub{font-size:.9rem;margin-bottom:18px}
  .eval-cob-input{padding:14px 42px 14px 44px;font-size:.95rem}
  .eval-cob-body.abierto{max-height:3200px;margin-top:24px}
  .eval-cob-regiones{grid-template-columns:1fr 1fr;gap:22px 18px;padding-top:22px}
  .eval-cob-region li{font-size:.85rem}
  .eval-cob-toggle{width:100%;font-size:.86rem}
}
@media(max-width:420px){
  .eval-cob-regiones{grid-template-columns:1fr}
}

/* ------------------------------------------------------------
   VARIANTE "alt" — página /evaluaciones/
   Mismos datos que el inicio, pero como panel de marca: ahí la
   cobertura es argumento principal, no una sección más.
   ------------------------------------------------------------ */
.eval-cob-alt{background:linear-gradient(135deg,#5E1F48 0%,#7B2D5F 38%,#B54A6E 78%,#F47A77 126%);
  border:0;color:#fff;position:relative;overflow:hidden;padding:56px 44px 42px;
  box-shadow:0 26px 60px rgba(123,45,95,.34);margin:64px 0 8px}
/* brillos suaves */
.eval-cob-alt::before{content:"";position:absolute;top:-45%;right:-10%;width:52%;height:180%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%);pointer-events:none}
.eval-cob-alt::after{content:"";position:absolute;bottom:-55%;left:-12%;width:50%;height:170%;
  background:radial-gradient(circle,rgba(255,216,214,.28),transparent 60%);pointer-events:none}
.eval-cob-alt>*{position:relative;z-index:1}

.eval-cob-alt .section-label{color:#ffd9d8}
.eval-cob-alt .eval-cob-head h3{color:#fff;font-size:2.1rem;font-weight:800;letter-spacing:-.4px}
.eval-cob-alt .eval-cob-sub{color:rgba(255,255,255,.9)}

/* Cifra grande: ancla visual de la promesa */
.eval-cob-cifra{display:inline-flex;align-items:center;gap:14px;margin:6px 0 16px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);
  padding:12px 24px 12px 18px;border-radius:50px}
.eval-cob-cifra-num{font-size:2.6rem;font-weight:800;line-height:1;color:#fff;
  text-shadow:0 3px 12px rgba(0,0,0,.18)}
.eval-cob-cifra-txt{font-size:.74rem;font-weight:700;line-height:1.25;text-transform:uppercase;
  letter-spacing:1.1px;color:#ffd9d8;text-align:left}

/* Buscador sobre el degradado */
.eval-cob-alt .eval-cob-search{max-width:480px}
.eval-cob-alt .eval-cob-input{background:#fff;border-color:transparent;color:var(--gray-900);
  box-shadow:0 12px 34px rgba(40,18,33,.24)}
.eval-cob-alt .eval-cob-input:focus{box-shadow:0 12px 34px rgba(40,18,33,.28),0 0 0 4px rgba(255,255,255,.4)}
.eval-cob-alt .eval-cob-lupa{color:var(--burgundy)}
.eval-cob-alt .eval-cob-x{background:var(--burgundy-light);color:var(--burgundy)}
.eval-cob-alt .eval-cob-x:hover{background:var(--burgundy);color:#fff}

.eval-cob-alt .eval-cob-res.si{background:rgba(255,255,255,.95);color:#2c6b4a}
.eval-cob-alt .eval-cob-res.no{background:rgba(255,255,255,.95);color:var(--accent-dark)}

/* La lista vive en una tarjeta clara para que se lea perfecto */
.eval-cob-alt .eval-cob-regiones{background:rgba(255,255,255,.97);border-top:0;border-radius:var(--radius-lg);
  padding:32px 30px;box-shadow:0 16px 40px rgba(40,18,33,.2)}
.eval-cob-alt .eval-cob-region h4{color:var(--burgundy)}
.eval-cob-alt .eval-cob-region h4 span{background:var(--burgundy-light);color:var(--plum)}
.eval-cob-alt .eval-cob-region li{color:var(--gray-700)}
.eval-cob-alt .eval-cob-region li.coincide{color:var(--burgundy)}
.eval-cob-alt .eval-cob-vacio{color:rgba(255,255,255,.85)}

.eval-cob-alt .eval-cob-toggle{background:#fff;border-color:transparent;color:var(--burgundy);
  box-shadow:0 10px 26px rgba(40,18,33,.22)}
.eval-cob-alt .eval-cob-toggle:hover{background:#fff;color:var(--accent-dark);transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(40,18,33,.28)}

@media(max-width:768px){
  .eval-cob-alt{padding:34px 20px 28px;margin:44px 0 4px;border-radius:var(--radius)}
  .eval-cob-alt .eval-cob-head h3{font-size:1.5rem}
  .eval-cob-cifra{padding:10px 18px 10px 14px;gap:11px;margin-bottom:14px}
  .eval-cob-cifra-num{font-size:2.1rem}
  .eval-cob-cifra-txt{font-size:.66rem}
  .eval-cob-alt .eval-cob-regiones{padding:22px 18px;border-radius:var(--radius)}
}

/* TIPOS DE EVALUACIÓN (/evaluaciones/) — nombre + una línea de qué es. Sin enlace. */
.eval-tipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:1040px;margin:0 auto 18px}
.eval-tipo{padding:20px;background:var(--cream);border:1px solid var(--rose);border-radius:var(--radius-lg)}
.eval-tipo h3{margin:0 0 6px;font-size:.98rem;font-weight:700;color:var(--burgundy);line-height:1.3}
.eval-tipo p{margin:0;font-size:.85rem;line-height:1.55;color:var(--gray-700)}
.eval-tipos-nota{max-width:1040px;margin:0 auto 60px;text-align:center;font-size:.9rem;color:var(--gray-500)}
@media(max-width:600px){.eval-tipos{grid-template-columns:1fr;max-width:440px;gap:12px}.eval-tipo{padding:16px 18px}}

/* SERVICIOS EN BENTO (inicio) — Evaluaciones ocupa toda la columna izquierda para que
   sea el centro de atención y quepa su información completa. Las otras tres conservan
   su tarjeta de siempre; solo cambian de sitio dentro de la cuadrícula. */
.svc-bento{display:grid;grid-template-columns:1.24fr 1fr 1fr;gap:22px;margin-bottom:40px;align-items:stretch}
.svc-b--eval{grid-column:1;grid-row:1/3;display:flex;flex-direction:column}
.svc-b--ind{grid-column:2;grid-row:1}
.svc-b--fam{grid-column:3;grid-row:1}
.svc-b--online{grid-column:2/4;grid-row:2}
/* Estas dos se estiran a lo alto de la tarjeta grande: el enlace baja al pie para que
   el aire sobrante quede repartido y no como un hueco al final del texto. */
.svc-b--ind,.svc-b--fam{display:flex;flex-direction:column}
.svc-b--ind .service-card-body,.svc-b--fam .service-card-body{display:flex;flex-direction:column;flex:1}
.svc-b--ind .service-link,.svc-b--fam .service-link{margin-top:auto;align-self:flex-start}

/* La tarjeta grande: icono arriba a la izquierda (no centrado) y cuerpo que crece. */
.svc-b--eval .service-card-icon{height:auto;justify-content:flex-start;padding:28px 28px 0}
.svc-b--eval .service-card-body{padding:20px 28px 28px;display:flex;flex-direction:column;flex:1}
.svc-b-eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:8px}
.svc-b--eval h3{font-size:1.45rem;line-height:1.2;margin-bottom:10px}
.svc-b--eval>.service-card-body>p{font-size:.94rem;line-height:1.65;margin-bottom:20px}

/* Tipos de evaluación: dos columnas de palomitas. */
.svc-b-tipos{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}
.svc-b-tipos li{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:500;color:var(--gray-700);line-height:1.3}
.svc-b-tipos svg{width:13px;height:13px;flex-shrink:0;color:var(--accent)}

/* Cifras, separadas por una línea fina. */
.svc-b-datos{display:flex;gap:18px;padding:18px 0 4px;margin-top:auto;border-top:1px solid rgba(123,45,95,.10)}
.svc-b-dato{display:flex;flex-direction:column;gap:2px;min-width:0}
.svc-b-dato strong{font-size:1.32rem;font-weight:700;color:var(--burgundy);line-height:1}
.svc-b-dato span{font-size:.72rem;color:var(--gray-500);line-height:1.3}
.svc-b--eval .service-link{margin-top:18px;align-self:flex-start}

/* La tarjeta ancha de abajo va en horizontal: icono, texto y datos en tres bloques. */
/* stretch (no center) para que el icono quede a la altura del título y la línea
   divisoria de los datos llegue de arriba abajo. */
.svc-b--online{display:flex;align-items:stretch;gap:0}
.svc-b--online .service-card-icon{height:auto;padding:26px 0 26px 28px;flex-shrink:0;align-items:flex-start}
.svc-b--online .service-card-body{padding:26px 24px 26px 20px;flex:1;min-width:0}
.svc-b-online-datos{list-style:none;margin:0;padding:26px 28px;display:flex;flex-direction:column;justify-content:center;gap:11px;border-left:1px solid rgba(123,45,95,.10);flex-shrink:0;max-width:300px}
.svc-b-online-datos li{display:flex;align-items:flex-start;gap:9px;font-size:.82rem;line-height:1.4;color:var(--gray-700);font-weight:500}
.svc-b-online-datos svg{width:15px;height:15px;flex-shrink:0;margin-top:1px;color:#5B7A52}

/* Iconos de las tarjetas del bento pegados a la esquina, no centrados. */
.svc-b--ind .service-card-icon,.svc-b--fam .service-card-icon{height:auto;justify-content:flex-start;padding:28px 28px 0}
.svc-b--ind .service-card-body,.svc-b--fam .service-card-body{padding:18px 28px 26px}

@media(max-width:1024px){
  .svc-bento{grid-template-columns:1fr 1fr;gap:18px}
  .svc-b--eval{grid-column:1/3;grid-row:1}
  .svc-b--ind{grid-column:1;grid-row:2}
  .svc-b--fam{grid-column:2;grid-row:2}
  .svc-b--online{grid-column:1/3;grid-row:3}
  .svc-b--eval .service-card-icon{padding:24px 24px 0}
  .svc-b--eval .service-card-body{padding:18px 24px 24px}
}
@media(max-width:640px){
  .svc-bento{grid-template-columns:1fr;gap:16px}
  .svc-b--eval,.svc-b--ind,.svc-b--fam,.svc-b--online{grid-column:1;grid-row:auto}
  .svc-b--eval h3{font-size:1.24rem}
  .svc-b-tipos{grid-template-columns:1fr 1fr;gap:8px 10px}
  .svc-b-tipos li{font-size:.8rem}
  .svc-b-datos{gap:14px}
  .svc-b-dato strong{font-size:1.15rem}
  /* En móvil la ancha se apila: icono, texto y datos uno debajo de otro. */
  .svc-b--online{display:block}
  .svc-b--online .service-card-icon{height:auto;justify-content:flex-start;padding:24px 24px 0}
  .svc-b--online .service-card-body{padding:16px 24px 20px}
  .svc-b-online-datos{max-width:100%;border-left:0;border-top:1px solid rgba(123,45,95,.10);padding:18px 24px 22px;margin:0 0 0 0}
  .svc-b--ind .service-card-icon,.svc-b--fam .service-card-icon{padding:24px 24px 0}
  .svc-b--ind .service-card-body,.svc-b--fam .service-card-body{padding:16px 24px 24px}
}

/* UBICACIONES DEL INICIO con la tarjeta «En línea» (5 en total). */
.team-locations--con-online{grid-template-columns:repeat(5,1fr);gap:18px}
/* La quinta no tiene foto de oficina: lleva un vitral de marca con el globo. */
.loc-card--online .loc-online-art{height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#fff;background:linear-gradient(145deg,var(--burgundy) 0%,var(--plum) 55%,var(--accent) 100%);position:relative;overflow:hidden}
.loc-card--online .loc-online-art::after{content:'';position:absolute;width:190px;height:190px;border-radius:50%;border:1px solid rgba(255,255,255,.20);top:-58px;right:-58px}
.loc-card--online .loc-online-art svg{width:42px;height:42px;position:relative;z-index:1}
.loc-card--online .loc-online-art span{position:relative;z-index:1;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;font-weight:700;opacity:.95}
.loc-card--online:hover .loc-online-art svg{transform:scale(1.06);transition:transform .5s var(--anim-ease)}

@media(max-width:1180px){.team-locations--con-online{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.team-locations--con-online{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.team-locations--con-online{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}}

/* Aviso de reCAPTCHA bajo los formularios (el distintivo de Google va oculto). */
.tw-recaptcha-aviso{margin:14px 0 0;font-size:.72rem;line-height:1.5;color:var(--gray-500);text-align:center}
.tw-recaptcha-aviso a{color:var(--gray-500);text-decoration:underline}
.tw-recaptcha-aviso a:hover{color:var(--burgundy)}
