/* ============================================================
   Psicóloga Zuliana Ramírez | Sálvame — Bogotá
   Paleta extraída del logo: petróleo, púrpura, rosa, aqua, lavanda
   ============================================================ */
:root{
  --petroleo:#0A4A68;
  --petroleo-oscuro:#073A54;
  --purpura:#7B3FA6;
  --lila:#A868C8;
  --rosa:#E86090;
  --aqua:#88C0D0;
  --aqua-claro:#EDF6F9;
  --lavanda:#F5EFF9;
  --lavanda-media:#E9DCF3;
  --tinta:#2B3440;
  --gris:#5D6B7A;
  --blanco:#FFFFFF;
  --whatsapp:#25D366;
  --whatsapp-oscuro:#1DA851;
  --sombra:0 12px 34px rgba(10,74,104,.12);
  --sombra-suave:0 6px 18px rgba(123,63,166,.10);
  --radio:18px;
  --transicion:all .3s ease;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--tinta);
  background:var(--blanco);
  line-height:1.7;
  font-size:16.5px;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
h1,h2,h3,.display{font-family:'Cormorant Garamond',serif;color:var(--petroleo);line-height:1.2;font-weight:600}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:clamp(1.25rem,2.2vw,1.6rem)}
.contenedor{width:min(1180px,92%);margin-inline:auto}
section{padding:78px 0}
.centrado{text-align:center}

/* Eyebrow / kicker */
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--purpura);font-weight:700;margin-bottom:14px;
}
.kicker::before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--purpura),var(--rosa));border-radius:2px}

/* ===================== NAVBAR ===================== */
.navbar{
  position:fixed;inset:0 0 auto 0;z-index:1000;
  background:rgba(255,255,255,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(123,63,166,.10);
  transition:var(--transicion);
}
.navbar .contenedor{display:flex;align-items:center;justify-content:space-between;height:78px}
.marca{display:flex;align-items:center;gap:12px}
.marca img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.marca-texto strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.22rem;color:var(--petroleo);line-height:1.1}
.marca-texto span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--purpura);font-weight:600}
.menu{display:flex;align-items:center;gap:26px}
.menu>li{position:relative}
.menu a{font-size:.93rem;font-weight:600;color:var(--tinta);transition:var(--transicion)}
.menu a:hover{color:var(--purpura)}
.submenu{
  position:absolute;top:135%;left:-14px;min-width:300px;
  background:var(--blanco);border-radius:14px;box-shadow:var(--sombra);
  padding:12px;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:var(--transicion);border-top:3px solid var(--purpura);
}
.menu li:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{display:block;padding:9px 12px;border-radius:9px;font-size:.88rem}
.submenu a:hover{background:var(--lavanda);color:var(--purpura)}
.submenu .sub-titulo{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rosa);font-weight:700;padding:8px 12px 2px}
.btn-nav{
  background:var(--whatsapp);color:#fff!important;padding:11px 22px;border-radius:40px;
  font-weight:700;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 16px rgba(37,211,102,.35);
}
.btn-nav:hover{background:var(--whatsapp-oscuro);transform:translateY(-2px)}
.hamburguesa{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburguesa span{width:26px;height:3px;background:var(--petroleo);border-radius:3px;transition:var(--transicion)}

/* ===================== HERO ===================== */
.hero{
  padding:150px 0 90px;
  background:
    radial-gradient(60% 80% at 85% 20%, rgba(136,192,208,.28), transparent 60%),
    radial-gradient(50% 70% at 10% 90%, rgba(232,96,144,.14), transparent 60%),
    linear-gradient(160deg,var(--lavanda) 0%, var(--aqua-claro) 100%);
  position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  border:1.5px solid rgba(123,63,166,.16);right:-140px;top:-140px;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative;z-index:2}
.hero h1 span{color:var(--purpura);font-style:italic}
.hero p.lead{font-size:1.12rem;color:var(--gris);margin:20px 0 30px;max-width:560px}
.hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}
.badge{
  background:var(--blanco);border:1px solid rgba(123,63,166,.18);border-radius:40px;
  padding:8px 18px;font-size:.85rem;font-weight:600;color:var(--petroleo);
  display:inline-flex;align-items:center;gap:8px;box-shadow:var(--sombra-suave);
}
.badge i{color:var(--rosa)}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px}
.hero-foto{position:relative}
.hero-foto .marco{
  border-radius:200px 200px 26px 26px;overflow:hidden;
  border:6px solid var(--blanco);box-shadow:var(--sombra);
  background:linear-gradient(180deg,var(--aqua),var(--lila));
}
.hero-foto img{width:100%;height:540px;object-fit:cover;object-position:top}
.hero-foto .sello{
  position:absolute;bottom:26px;left:-24px;background:var(--blanco);
  border-radius:16px;box-shadow:var(--sombra);padding:14px 20px;
  display:flex;align-items:center;gap:12px;
}
.sello .estrellas{color:#F4B942;font-size:.95rem;letter-spacing:2px}
.sello strong{display:block;color:var(--petroleo);font-size:.95rem}
.sello small{color:var(--gris)}

/* ===================== BOTONES ===================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 32px;border-radius:50px;font-weight:700;font-size:1rem;
  transition:var(--transicion);cursor:pointer;border:none;
}
.btn-wa{background:var(--whatsapp);color:#fff;box-shadow:0 10px 26px rgba(37,211,102,.38)}
.btn-wa:hover{background:var(--whatsapp-oscuro);transform:translateY(-3px)}
.btn-linea{background:transparent;color:var(--petroleo);border:2px solid var(--petroleo)}
.btn-linea:hover{background:var(--petroleo);color:#fff}
.btn-purpura{background:linear-gradient(120deg,var(--purpura),var(--rosa));color:#fff;box-shadow:0 10px 26px rgba(123,63,166,.32)}
.btn-purpura:hover{transform:translateY(-3px)}

/* ===================== TARIFAS ===================== */
.tarifas{background:var(--blanco)}
.tabla-envoltura{overflow-x:auto;border-radius:var(--radio);box-shadow:var(--sombra);margin-top:36px}
.tabla-tarifas{width:100%;border-collapse:collapse;min-width:760px;background:#fff}
.tabla-tarifas th{
  background:linear-gradient(120deg,var(--petroleo),var(--purpura));color:#fff;
  padding:16px 14px;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;
}
.tabla-tarifas td{padding:15px 14px;text-align:center;border-bottom:1px solid var(--lavanda-media);font-weight:600;color:var(--tinta)}
.tabla-tarifas td:first-child{background:var(--lavanda);color:var(--purpura);font-weight:800;text-align:left;padding-left:22px}
.tabla-tarifas tr:hover td{background:var(--aqua-claro)}
.tabla-tarifas tr:hover td:first-child{background:var(--lavanda-media)}
.nota-tarifas{margin-top:22px;background:var(--lavanda);border-left:4px solid var(--purpura);border-radius:12px;padding:18px 24px;color:var(--gris);font-size:.95rem}

/* ===================== TARJETAS ===================== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:44px}
.tarjeta{
  background:var(--blanco);border-radius:var(--radio);overflow:hidden;
  box-shadow:var(--sombra-suave);transition:var(--transicion);
  border:1px solid rgba(123,63,166,.08);display:flex;flex-direction:column;
}
.tarjeta:hover{transform:translateY(-8px);box-shadow:var(--sombra)}
.tarjeta img{height:220px;width:100%;object-fit:cover}
.tarjeta-cuerpo{padding:28px;flex:1;display:flex;flex-direction:column}
.tarjeta-cuerpo h3{margin-bottom:12px}
.tarjeta-cuerpo p{color:var(--gris);font-size:.95rem;flex:1}
.tarjeta-cuerpo .enlace{margin-top:18px;color:var(--purpura);font-weight:700;display:inline-flex;align-items:center;gap:8px}
.tarjeta-cuerpo .enlace:hover{gap:14px;color:var(--rosa)}
.lista-servicios-mini{margin:14px 0 4px}
.lista-servicios-mini li{padding:7px 0;border-bottom:1px dashed var(--lavanda-media);font-size:.92rem;color:var(--tinta)}
.lista-servicios-mini li i{color:var(--rosa);margin-right:9px}

/* ===================== SECCIÓN ALTERNA ===================== */
.alterna{background:linear-gradient(160deg,var(--lavanda),var(--aqua-claro))}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{border-radius:var(--radio);box-shadow:var(--sombra);width:100%;height:440px;object-fit:cover}

/* ===================== PASOS ===================== */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px}
.paso{background:var(--blanco);border-radius:var(--radio);padding:32px 26px;box-shadow:var(--sombra-suave);position:relative;transition:var(--transicion)}
.paso:hover{transform:translateY(-6px)}
.paso .num{
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(120deg,var(--purpura),var(--rosa));color:#fff;
  font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700;margin-bottom:18px;
}
.paso h3{font-size:1.2rem;margin-bottom:8px}
.paso p{color:var(--gris);font-size:.92rem}

/* ===================== JAEN / EQUIPO ===================== */
.perfil-pro{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}
.perfil-pro .foto{position:relative}
.perfil-pro .foto img{border-radius:26px;box-shadow:var(--sombra);width:100%;height:520px;object-fit:cover;object-position:top}
.perfil-pro .foto::before{
  content:"";position:absolute;inset:-16px auto auto -16px;width:120px;height:120px;
  border-radius:26px;background:linear-gradient(120deg,var(--aqua),var(--lila));z-index:-1;
}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px}
.chip{background:var(--lavanda);color:var(--purpura);border-radius:40px;padding:7px 16px;font-size:.83rem;font-weight:700}
.credenciales li{padding:9px 0;border-bottom:1px dashed var(--lavanda-media);color:var(--tinta);font-size:.95rem}
.credenciales li i{color:var(--purpura);margin-right:10px}

/* ===================== TESTIMONIOS ===================== */
.testimonios{background:var(--petroleo);position:relative;overflow:hidden}
.testimonios::before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(123,63,166,.25);filter:blur(90px);top:-100px;right:-100px}
.testimonios h2,.testimonios .kicker{color:#fff}
.testimonios .kicker::before{background:var(--aqua)}
.carrusel{position:relative;max-width:820px;margin:44px auto 0;z-index:2}
.testimonio{display:none;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:var(--radio);padding:40px;text-align:center;backdrop-filter:blur(6px)}
.testimonio.activo{display:block;animation:aparecer .5s ease}
@keyframes aparecer{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.testimonio .estrellas{color:#F4B942;font-size:1.1rem;letter-spacing:3px;margin-bottom:16px}
.testimonio p{color:#E8F1F5;font-size:1.05rem;font-style:italic}
.testimonio strong{display:block;margin-top:18px;color:var(--aqua);letter-spacing:.08em}
.carrusel-controles{display:flex;justify-content:center;gap:12px;margin-top:26px}
.punto{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:var(--transicion)}
.punto.activo{background:var(--rosa);transform:scale(1.25)}

/* ===================== FAQ ===================== */
.faq-item{background:var(--blanco);border-radius:14px;box-shadow:var(--sombra-suave);margin-bottom:14px;overflow:hidden;border:1px solid rgba(123,63,166,.08)}
.faq-pregunta{
  width:100%;background:none;border:none;cursor:pointer;text-align:left;
  padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:700;color:var(--petroleo);
}
.faq-pregunta i{color:var(--purpura);transition:var(--transicion)}
.faq-item.abierto .faq-pregunta i{transform:rotate(180deg);color:var(--rosa)}
.faq-respuesta{max-height:0;overflow:hidden;transition:max-height .4s ease;padding:0 26px}
.faq-item.abierto .faq-respuesta{max-height:400px;padding-bottom:24px}
.faq-respuesta p{color:var(--gris);font-size:.96rem}

/* ===================== BARRIOS ===================== */
.barrios{background:var(--aqua-claro)}
.nube-barrios{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:36px}
.nube-barrios span{
  background:var(--blanco);border:1px solid rgba(10,74,104,.14);border-radius:40px;
  padding:9px 20px;font-size:.9rem;font-weight:600;color:var(--petroleo);transition:var(--transicion);
}
.nube-barrios span:hover{background:var(--petroleo);color:#fff;transform:translateY(-3px)}

/* ===================== MAPA ===================== */
.mapa-marco{border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);margin-top:40px}
.mapa-marco iframe{width:100%;height:440px;border:0;display:block}

/* ===================== CTA FINAL ===================== */
.cta-final{
  background:linear-gradient(120deg,var(--petroleo) 0%,var(--purpura) 70%,var(--rosa) 130%);
  text-align:center;position:relative;overflow:hidden;
}
.cta-final::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;border:1.5px solid rgba(255,255,255,.14);left:-80px;bottom:-80px}
.cta-final h2{color:#fff}
.cta-final p{color:rgba(255,255,255,.85);max-width:620px;margin:16px auto 32px}

/* ===================== CONTENIDO SEO / PÁGINAS INTERNAS ===================== */
.hero-interno{
  padding:150px 0 70px;
  background:linear-gradient(160deg,var(--lavanda),var(--aqua-claro));
  position:relative;overflow:hidden;
}
.hero-interno::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;border:1.5px solid rgba(123,63,166,.16);right:-100px;top:-100px}
.migas{display:flex;flex-wrap:wrap;gap:8px;font-size:.86rem;color:var(--gris);margin-bottom:18px;position:relative;z-index:2}
.migas a{color:var(--purpura);font-weight:600}
.migas a:hover{color:var(--rosa)}
.migas span::before{content:"›";margin-right:8px;color:var(--gris)}
.contenido-seo h2{margin:44px 0 16px}
.contenido-seo h3{margin:30px 0 12px;color:var(--purpura)}
.contenido-seo p{margin-bottom:16px;color:var(--tinta)}
.contenido-seo ul{margin:0 0 18px 6px}
.contenido-seo ul li{padding:7px 0 7px 30px;position:relative;color:var(--tinta)}
.contenido-seo ul li::before{
  content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;left:0;color:var(--rosa);
}
.destacado{
  background:var(--lavanda);border-left:4px solid var(--purpura);
  border-radius:12px;padding:22px 26px;margin:26px 0;color:var(--tinta);
}
.cta-inline{
  background:linear-gradient(120deg,var(--aqua-claro),var(--lavanda));
  border-radius:var(--radio);padding:36px;text-align:center;margin:40px 0;
  border:1px solid rgba(123,63,166,.14);
}
.cta-inline h3{margin-bottom:10px}
.cta-inline p{color:var(--gris);margin-bottom:22px}

/* ===================== FOOTER ===================== */
.footer{background:var(--petroleo-oscuro);color:#C9D8E2;padding:70px 0 0}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:44px;padding-bottom:50px}
.footer h4{color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.3rem;margin-bottom:18px}
.footer p,.footer a,.footer li{font-size:.92rem;color:#C9D8E2}
.footer a:hover{color:var(--aqua)}
.footer li{padding:6px 0}
.footer .marca img{width:56px;height:56px}
.footer .marca-texto strong{color:#fff}
.footer .marca-texto span{color:var(--aqua)}
.footer-redes{display:flex;gap:12px;margin-top:18px}
.footer-redes a{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;font-size:1.05rem;transition:var(--transicion);
}
.footer-redes a:hover{background:var(--purpura);color:#fff;transform:translateY(-3px)}
.footer-legal{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;text-align:center;font-size:.85rem;color:#8FA6B5}

/* ===================== WHATSAPP FLOTANTE ===================== */
.wa-flotante{
  position:fixed;bottom:26px;right:26px;z-index:1100;
  width:64px;height:64px;border-radius:50%;background:var(--whatsapp);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;
  box-shadow:0 12px 30px rgba(37,211,102,.5);animation:pulso 2.4s infinite;
}
.wa-flotante:hover{background:var(--whatsapp-oscuro)}
@keyframes pulso{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}
  70%{box-shadow:0 0 0 20px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}
.wa-flotante .tooltip{
  position:absolute;right:76px;background:var(--petroleo);color:#fff;white-space:nowrap;
  padding:9px 16px;border-radius:10px;font-size:.85rem;font-weight:600;
  opacity:0;visibility:hidden;transition:var(--transicion);
}
.wa-flotante:hover .tooltip{opacity:1;visibility:visible}

/* ===================== RESPONSIVE ===================== */
@media (max-width:1024px){
  .hero-grid,.split,.perfil-pro{grid-template-columns:1fr;gap:44px}
  .pasos{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .hero-foto img{height:460px}
}
@media (max-width:768px){
  section{padding:58px 0}
  .hamburguesa{display:flex}
  .menu{
    position:fixed;top:78px;right:-100%;width:min(340px,86%);height:calc(100vh - 78px);
    background:var(--blanco);flex-direction:column;align-items:flex-start;
    padding:34px 28px;gap:6px;transition:right .35s ease;box-shadow:-10px 0 30px rgba(0,0,0,.12);
    overflow-y:auto;
  }
  .menu.abierto{right:0}
  .menu>li{width:100%}
  .menu>li>a{display:block;padding:13px 0;border-bottom:1px solid var(--lavanda-media);font-size:1rem}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:4px 0 4px 14px;min-width:0;display:none}
  .menu li.sub-abierto .submenu{display:block}
  .btn-nav{margin-top:16px;justify-content:center;width:100%}
  .grid-3,.grid-2,.pasos{grid-template-columns:1fr}
  .hero{padding:120px 0 64px}
  .hero-interno{padding:118px 0 54px}
  .hero-foto .sello{left:12px}
  .footer-grid{grid-template-columns:1fr}
  .tabla-tarifas th,.tabla-tarifas td{font-size:.82rem;padding:12px 10px}
  .wa-flotante{width:58px;height:58px;font-size:1.8rem;bottom:20px;right:20px}
}
