/* ================================================================
   DESIGN SYSTEM — Dra. Adriana Guerrero
   Réplica fiel del estilo eldivandeirene.com adaptada
   ================================================================ */

/* ---------- VARIABLES ---------- */
:root {
  --wine: #7C1C3E;
  --wine-dark: #58102a;
  --wine-light: #9B2D54;
  --rose: #EAA9B8;
  --rose-light: #F7D6DE;
  --rose-pale: #FDF0F3;
  --gold: #D4AF37;
  --gold-dark: #B59226;
  --gold-light: #F4E3A3;
  --cream: #FAF5F0;
  --cream-dark: #F0E8DF;
  --plum: #1A0910;
  --text: #2D1520;
  --text-mid: #644955;
  --text-light: #9A8490;
  --white: #FFFFFF;
  /* Antes era Garamond. Igual que en el resto del sitio: en el celular se
     leía antiguo, y los titulares modernos van en palo seco apretado. */
  --font-heading: 'DM Sans', system-ui, -apple-system, sans-serif;
  --font-body: 'DM Sans', system-ui, -apple-system, sans-serif;
  --ease: cubic-bezier(.16,1,.3,1);
  --shadow-s: 0 2px 8px rgba(45,21,32,.06);
  --shadow-m: 0 8px 30px rgba(45,21,32,.08);
  --shadow-l: 0 20px 50px rgba(45,21,32,.12);
  --radius: 20px;
  --radius-sm: 12px;
  --container: 1200px;
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;scroll-padding-top:90px}
body{font-family:var(--font-body);color:var(--text);background:var(--cream);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text);line-height:1.2;font-weight:600}
img{max-width:100%;height:auto;display:block}
a{color:var(--wine);text-decoration:none;transition:.3s var(--ease)}
a:hover{color:var(--gold-dark)}
ul,ol{list-style:none}
button,input,select,textarea{font-family:var(--font-body);border:none;outline:none;background:none}

.container{width:90%;max-width:var(--container);margin:0 auto}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 2rem;border-radius:50px;font-weight:600;font-size: 1.02rem;cursor:pointer;border:2px solid transparent;transition:.4s var(--ease);line-height:1.3;text-align:center}
.btn--primary{background:var(--wine);color:var(--white)}
.btn--primary:hover{background:var(--wine-dark);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-m)}
.btn--gold{background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--plum)}
.btn--gold:hover{background:linear-gradient(135deg,#e5c34d,var(--gold));transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,175,55,.35);color:var(--plum)}
.btn--outline{border-color:var(--wine);color:var(--wine);background:transparent}
.btn--outline:hover{background:var(--wine);color:var(--white)}
.btn--outline-light{border-color:rgba(255,255,255,.6);color:var(--white);background:transparent}
.btn--outline-light:hover{background:rgba(255,255,255,.15);border-color:var(--white);color:var(--white)}
.btn--lg{padding:1.05rem 2.6rem;font-size:1.05rem}
.btn--block{width:100%}
.btn--cta{background:var(--wine);color:var(--white);padding:.65rem 1.5rem;font-size: .96rem;border-radius:50px}
.btn--cta:hover{background:var(--wine-dark);color:var(--white);transform:translateY(-1px)}

/* ---------- SECTION LABELS ---------- */
.section-label{text-transform:uppercase;letter-spacing:3px;font-size: .9rem;font-weight:700;color:var(--gold-dark);display:block;margin-bottom:.5rem}
.section-label--center{text-align:center}
.section-title{font-size:2.8rem;margin-bottom:1rem;letter-spacing:-.5px}
.section-title--center{text-align:center}
.section-desc{text-align:center;max-width:620px;margin:0 auto 3.5rem;color:var(--text-mid);font-size:1.05rem}
.section-header{margin-bottom:3rem}

/* ================================================================
   HEADER — Replica del estilo eldivandeirene.com
   Estado 1: Transparente sobre hero, texto blanco, logo cursivo
   Estado 2 (scroll): Fondo sólido burgundy-rosa, bordes redondeados
   ================================================================ */
.header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:transparent;
  border-bottom:none;
  transition:background .5s var(--ease),padding .4s var(--ease),border-radius .4s var(--ease),box-shadow .4s var(--ease),top .4s var(--ease);
  padding:1rem 0;
}
/* Scrolled state: solid pink-burgundy bar with rounded bottom */
.header.scrolled{
  background:linear-gradient(135deg,#C2185B 0%,#AD1457 40%,var(--wine) 100%);
  padding:.65rem 0;
  border-radius:0 0 22px 22px;
  box-shadow:0 8px 30px rgba(124,28,62,.3);
  top:0;
}
.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  width:92%;max-width:var(--container);margin:0 auto;
}

/* Logo — Script/Handwriting like Irene Bedmar */
.header__logo{display:flex;flex-direction:column;gap:0;text-decoration:none;min-width:160px}
.header__logo-name{
  font-family:'Dancing Script',cursive;
  font-size:1.8rem;font-weight:700;
  color:var(--white);
  letter-spacing:.5px;line-height:1.1;
  transition:color .4s var(--ease);
}
.header__logo-sub{
  font-family:var(--font-body);
  font-size: .78rem;text-transform:uppercase;letter-spacing:2.5px;
  color:rgba(255,255,255,.65);font-weight:500;
  transition:color .4s var(--ease);
}
.header.scrolled .header__logo-name{color:var(--white)}
.header.scrolled .header__logo-sub{color:rgba(255,255,255,.75)}

/* Nav Links — White text, active gets pill border */
.header__nav{display:flex;gap:.3rem;align-items:center}
.header__link{
  font-size: .96rem;font-weight:500;
  color:rgba(255,255,255,.85);
  position:relative;
  padding:.45rem 1rem;
  border-radius:6px;
  border:2px solid transparent;
  transition:all .3s var(--ease);
  text-transform:capitalize;
  letter-spacing:.3px;
}
.header__link:hover{
  color:var(--white);
  background:rgba(255,255,255,.1);
}
/* Active link pill style — like "Inicio" on eldivandeirene */
.header__link.active{
  color:var(--white);
  border-color:var(--white);
  background:rgba(255,255,255,.08);
  border-radius:6px;
}
.header__link::after{display:none} /* Remove old underline effect */

/* «Entrar» no es una sección más de la página: es la puerta de la cuenta.
   Va perfilado en dorado para que se distinga de los enlaces de navegación
   sin robarle protagonismo al botón principal. */
.header__link--entrar{
  border-color:rgba(244,227,163,.55);
  color:#F4E3A3;
  font-weight:600;
}
.header__link--entrar:hover{
  background:rgba(244,227,163,.14);
  border-color:#F4E3A3;
  color:#fff;
}

/* Right-side icon buttons (search, user => Instagram, WhatsApp) */
.header__icon-btn{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.85);
  font-size:1.1rem;
  border-radius:50%;
  transition:all .3s var(--ease);
}
.header__icon-btn:hover{
  color:var(--white);
  background:rgba(255,255,255,.15);
}

.header__actions{display:flex;align-items:center;gap:.5rem}

/* Burger menu — white on transparent, white on scrolled */
.header__burger{display:none;width:26px;height:18px;flex-direction:column;justify-content:space-between;cursor:pointer}
.header__burger span{display:block;height:2.5px;background:var(--white);border-radius:2px;transition:.3s var(--ease);transform-origin:center}
.header__burger.open span:nth-child(1){transform:translateY(7.75px) rotate(45deg)}
.header__burger.open span:nth-child(2){opacity:0}
.header__burger.open span:nth-child(3){transform:translateY(-7.75px) rotate(-45deg)}

/* ================================================================
   HERO
   ================================================================ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  animation:heroZoomPulse 16s ease-in-out infinite alternate;
  will-change:transform;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform:translateZ(0);
}
@keyframes heroZoomPulse{
  0%{transform:scale(1)}
  100%{transform:scale(1.12)}
}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,9,16,.4) 0%,rgba(26,9,16,.35) 15%,rgba(26,9,16,.55) 50%,rgba(26,9,16,.8) 100%)}
.hero__content{position:relative;z-index:2;text-align:center;padding:6rem 1.5rem 4rem;max-width:800px}
.hero__badge{
  display:inline-flex;
  align-items:center;
  gap:1.2rem;
  color:var(--gold-light);
  font-size: .92rem;
  font-weight:600;
  letter-spacing:3px;
  text-transform:uppercase;
  margin-bottom:1.8rem;
  background:transparent;
  border:none;
  padding:0;
}
.hero__badge::before,
.hero__badge::after{
  content:'';
  display:inline-block;
  width:35px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold));
  opacity:.8;
}
.hero__badge::after{
  background:linear-gradient(90deg,var(--gold),transparent);
}
.hero__title{font-family:var(--font-heading);font-size:4rem;color:var(--white);font-weight:600;margin-bottom:1.5rem;line-height:1.1}
.hero__title em{font-style:italic;color:var(--gold)}
.hero__subtitle{color:rgba(255,255,255,.8);font-size:1.2rem;max-width:600px;margin:0 auto 2.5rem;line-height:1.7}
.hero__btns{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
.hero__scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.5);font-size: .84rem;letter-spacing:2px;text-transform:uppercase}
.hero__scroll-line{width:1px;height:40px;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);animation:scrollPulse 2s ease-in-out infinite}
/* ================================================================
   HERO STATS BAR (ESTADÍSTICAS DE IMPACTO)
   ================================================================ */
.hero-stats{
  background:var(--cream);
  padding:1.8rem 0;
  border-bottom:1px solid rgba(124,28,62,.06);
  position:relative;
  z-index:10;
  box-shadow:0 4px 15px rgba(45,21,32,.02);
}
.hero-stats__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.5rem;
  align-items:center;
  text-align:center;
}
.hero-stat__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.2rem;
  position:relative;
  transition:transform .3s var(--ease);
}
.hero-stat__item:hover{
  transform:translateY(-2px);
}
.hero-stat__item:not(:last-child)::after{
  content:'';
  position:absolute;
  right:-0.75rem;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:32px;
  background:rgba(124,28,62,.12);
}
.hero-stat__num{
  font-family:var(--font-heading);
  font-size:2.2rem;
  font-weight:700;
  color:var(--wine);
  line-height:1;
  letter-spacing:-.5px;
  display:inline-block;
}
.hero-stat__label{
  font-size: .9rem;
  font-weight:600;
  color:var(--text-mid);
  letter-spacing:.2px;
}

/* ================================================================
   ABOUT
   ================================================================ */
.about{padding:7rem 0;background:var(--white)}
.about__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:center}
.about__img-wrapper{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-l)}
.about__img-wrapper img{width:100%;height:540px;object-fit:cover;object-position:center top}
.about__img-accent{position:absolute;top:-15px;left:-15px;width:100%;height:100%;border:3px solid var(--gold);border-radius:var(--radius);z-index:-1}
.about__lead{font-size:1.15rem;color:var(--text);margin-bottom:1rem}
.about__text-col p{margin-bottom:1rem;color:var(--text-mid)}
.about__stats{display:flex;flex-direction:column;gap:1.2rem;margin:2rem 0 2.5rem}
.about__stat{display:flex;align-items:center;gap:1rem}
.about__stat-icon{width:50px;height:50px;background:var(--rose-pale);color:var(--wine);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.about__stat strong{display:block;font-size: .99rem;color:var(--text)}
.about__stat span{font-size: .9rem;color:var(--text-light)}

/* ================================================================
   SERVICES
   ================================================================ */
.services{position:relative;padding:7rem 0;overflow:hidden}
.services__bg-img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.28;
}
.services__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:2rem;position:relative}
.svc-card{
  position:relative;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  min-height:440px;
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:var(--shadow-m);
  border:1px solid rgba(255,255,255,.1);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease);
}
.svc-card:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 22px 50px rgba(26,9,16,.45);
  border-color:rgba(212,175,55,.4);
}
.svc-card--featured{
  border:2px solid var(--gold);
}
.svc-card__badge{
  position:absolute;top:18px;right:20px;z-index:4;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:var(--plum);font-size: .82rem;font-weight:700;
  padding:.35rem 1.1rem;border-radius:20px;
  text-transform:uppercase;letter-spacing:1.5px;
  box-shadow:0 4px 15px rgba(0,0,0,.3);
}
.svc-card__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(26,9,16,.45) 0%,rgba(26,9,16,.82) 45%,rgba(26,9,16,.96) 100%);
  transition:background .5s var(--ease);
}
.svc-card:hover .svc-card__overlay{
  background:linear-gradient(180deg,rgba(124,28,62,.65) 0%,rgba(26,9,16,.88) 45%,rgba(26,9,16,.98) 100%);
}
.svc-card__content{
  position:relative;z-index:2;
  padding:2.5rem 2.2rem;
  display:flex;flex-direction:column;
  flex-grow:1;
  color:var(--white);
}
.svc-card__icon{
  width:54px;height:54px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:var(--gold-light);
  border:1px solid rgba(212,175,55,.35);
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;
  margin-bottom:1.5rem;
  transition:all .4s var(--ease);
}
.svc-card:hover .svc-card__icon{
  background:var(--gold);
  color:var(--plum);
  border-color:var(--gold);
  transform:scale(1.08);
}
.svc-card__title{
  font-size:1.55rem;
  color:var(--white);
  margin-bottom:.8rem;
  font-family:var(--font-heading);
  letter-spacing:-.3px;
}
.svc-card p{
  color:rgba(255,255,255,.82);
  font-size: 1.02rem;
  line-height:1.6;
  margin-bottom:1.5rem;
}
.svc-card__list{
  margin-bottom:1.8rem;
  flex-grow:1;
}
.svc-card__list li{
  font-size: .96rem;
  color:rgba(255,255,255,.9);
  padding:.35rem 0;
  padding-left:1.4rem;
  position:relative;
}
.svc-card__list li::before{
  content:'✓';
  position:absolute;left:0;
  color:var(--gold);
  font-weight:700;
}
.svc-card__link{
  color:var(--gold-light);
  font-weight:700;
  font-size: 1.02rem;
  display:inline-flex;align-items:center;
  gap:.5rem;
  margin-top:auto;
  letter-spacing:.3px;
  transition:all .3s var(--ease);
}
.svc-card__link:hover{
  color:var(--white);
  gap:.8rem;
}

/* ================================================================
   CTA BAND
   ================================================================ */
.cta-band{position:relative;padding:6rem 0;overflow:hidden;text-align:center}
.cta-band__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.cta-band__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(124,28,62,.88),rgba(26,9,16,.9))}
.cta-band__content{position:relative;z-index:2;max-width:700px;margin:0 auto}
.cta-band__content h2{font-family:var(--font-heading);font-size:2.5rem;color:var(--white);margin-bottom:1rem}
.cta-band__content p{color:rgba(255,255,255,.8);font-size:1.1rem;margin-bottom:2rem}

/* ================================================================
   BOOKS
   ================================================================ */
.books{padding:7rem 0;background:var(--white)}
.book-row{display:grid;grid-template-columns:260px 1fr;gap:3.5rem;align-items:center;margin-bottom:5rem;padding:3rem;background:var(--cream);border-radius:var(--radius);border:1px solid rgba(124,28,62,.06)}
.book-row:last-of-type{margin-bottom:0}
.book-row--reverse{direction:rtl}
.book-row--reverse>*{direction:ltr}
.book-row__cover{position:relative}
.book-row__cover img{width:100%;border-radius:var(--radius-sm);box-shadow:0 15px 40px rgba(26,9,16,.25);transition:.4s var(--ease)}
.book-row:hover .book-row__cover img{transform:scale(1.03) rotate(-1deg)}
.book-row__badge{position:absolute;top:-10px;left:-10px;background:var(--wine);color:var(--white);font-size: .82rem;font-weight:700;padding:.35rem .9rem;border-radius:20px;text-transform:uppercase;letter-spacing:1px}
.book-row__badge--alt{background:var(--gold);color:var(--plum)}
.book-row__label{text-transform:uppercase;letter-spacing:2px;font-size: .86rem;color:var(--gold-dark);font-weight:700;display:block;margin-bottom:.4rem}
.book-row__info h3{font-size:1.8rem;margin-bottom:.6rem}
.book-row__tagline{font-style:italic;color:var(--wine-light);font-size:1rem;margin-bottom:1rem}
.book-row__info p{color:var(--text-mid);margin-bottom:1.2rem}
.book-row__tags{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.8rem}
.book-row__tags span{background:var(--rose-pale);color:var(--wine);font-size: .9rem;font-weight:600;padding:.4rem .9rem;border-radius:20px;display:inline-flex;align-items:center;gap:.4rem}
.book-row__tags i{color:var(--gold-dark);font-size: .86rem}

/* ================================================================
   TESTIMONIOS (DOCTORALIA VERIFICADOS)
   ================================================================ */
.testimonials{padding:7rem 0;background:var(--cream);overflow:hidden}
.testimonials__marquee{
  width:100%;
  overflow:hidden;
  margin-bottom:2.8rem;
  padding:1rem 0;
  mask-image:linear-gradient(to right, transparent, black 5%, black 95%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 5%, black 95%, transparent);
}
.testimonials__track{
  display:flex;
  gap:2rem;
  width:max-content;
  animation:testiMarquee 32s linear infinite;
}
.testimonials__track:hover{
  animation-play-state:paused;
}
.testi-card--doctoralia{
  width:380px;
  flex-shrink:0;
  background:var(--white);
  padding:2.2rem;
  border-radius:var(--radius);
  border:1px solid rgba(0,163,161,.18);
  box-shadow:0 6px 20px rgba(0,163,161,.05);
  transition:.4s var(--ease);
  position:relative;
  display:flex;
  flex-direction:column;
}
@keyframes testiMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.testi-card--doctoralia:hover{
  box-shadow:0 14px 35px rgba(0,163,161,.12);
  transform:translateY(-5px);
  border-color:rgba(0,163,161,.4);
}
.testi-card__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:1.2rem;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(0,163,161,.08);
}
.testi-card__doc-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background:#E6F7F7;
  color:#00A3A1;
  font-size: .86rem;
  font-weight:700;
  padding:.35rem .8rem;
  border-radius:20px;
}
.testi-card__stars{
  display:inline-flex;
  align-items:center;
  gap:.2rem;
  color:#00A3A1;
  font-size: .98rem;
}
.testi-card__score{
  font-weight:800;
  font-size: 1.02rem;
  color:#00A3A1;
  margin-right:.2rem;
}
.testi-card blockquote{
  font-style:italic;
  color:var(--text);
  font-size: 1.02rem;
  margin-bottom:1.8rem;
  line-height:1.75;
  flex-grow:1;
}
.testi-card__author{
  display:flex;
  align-items:center;
  gap:.9rem;
}
.testi-card__avatar{
  width:42px;
  height:42px;
  background:linear-gradient(135deg, #00A3A1, #007A78);
  color:var(--white);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size: .94rem;
  letter-spacing:1px;
  flex-shrink:0;
  box-shadow:0 4px 10px rgba(0,163,161,.2);
}
.testi-card__name{
  font-weight:700;
  color:var(--text);
  font-size: .99rem;
  display:block;
}
.testi-card__tag{
  font-size: .9rem;
  color:#00A3A1;
  font-weight:600;
  display:block;
}
.testimonials__cta{text-align:center}

.btn--doctoralia{
  background:#00A3A1;
  color:var(--white);
  padding:1rem 2.2rem;
  border-radius:40px;
  font-weight:700;
  font-size: 1.02rem;
  box-shadow:0 6px 20px rgba(0,163,161,.25);
  transition:all .3s var(--ease);
}
.btn--doctoralia:hover{
  background:#008785;
  color:var(--white);
  box-shadow:0 10px 28px rgba(0,163,161,.35);
  transform:translateY(-2px);
}

/* ================================================================
   MYTHS / BLOG
   ================================================================ */
.blog{padding:7rem 0;background:var(--white)}
.myths__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}
.myth-card{perspective:1000px;cursor:pointer;min-height:280px}
.myth-card__front,.myth-card__back{position:absolute;inset:0;border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;justify-content:center;backface-visibility:hidden;transition:.6s var(--ease)}
.myth-card{position:relative}
.myth-card__front{background:var(--cream);border:1px solid rgba(124,28,62,.08)}
.myth-card__back{background:var(--plum);color:var(--white);transform:rotateY(180deg)}
.myth-card.flipped .myth-card__front{transform:rotateY(-180deg)}
.myth-card.flipped .myth-card__back{transform:rotateY(0)}
.myth-card__tag{font-size: .86rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:.8rem;display:inline-flex;align-items:center;gap:.4rem}
.myth-card__tag--myth{color:#d9534f}
.myth-card__tag--truth{color:#5cb85c}
.myth-card__front h3{font-size:1.15rem;margin-bottom:1.2rem;color:var(--text)}
.myth-card__hint{font-size: .9rem;color:var(--wine);font-weight:600;margin-top:auto}
.myth-card__back p{color:rgba(255,255,255,.85);font-size: 1.02rem;line-height:1.7}

/* ================================================================
   FAQ
   ================================================================ */
.faq{
  padding:7rem 0;
  background:var(--cream);
  position:relative;
  overflow:hidden;
}
.faq::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url('assets/fondo_abstracto_decorativo.png');
  background-size:cover;
  background-position:center;
  opacity:.28;
  pointer-events:none;
}
.faq .container{
  position:relative;
  z-index:2;
}
.faq__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start}
.faq__text p{color:var(--text-mid);margin-bottom:2rem}
.faq-item{
  background:var(--white);
  border-radius:var(--radius-sm);
  margin-bottom:.8rem;
  border:1px solid rgba(124,28,62,.1);
  overflow:hidden;
  box-shadow:0 4px 15px rgba(45,21,32,.03);
  transition:all .3s var(--ease);
}
.faq-item:hover{
  border-color:rgba(124,28,62,.2);
  box-shadow:0 8px 25px rgba(45,21,32,.07);
}
.faq-item__q{width:100%;padding:1.2rem 1.5rem;text-align:left;font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--font-body)}
.faq-item__q i{color:var(--wine);transition:.3s var(--ease);flex-shrink:0}
.faq-item.open .faq-item__q i{transform:rotate(45deg)}
.faq-item__a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .4s var(--ease);padding:0 1.5rem}
.faq-item.open .faq-item__a{max-height:300px;padding:0 1.5rem 1.2rem}
.faq-item__a p{color:var(--text-mid);font-size: 1.02rem}
.faq-item__a a{color:var(--wine);text-decoration:underline}

/* ================================================================
   CONTACT
   ================================================================ */
.contact{padding:7rem 0;background:var(--white)}
.contact__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start}
.contact__info p{color:var(--text-mid);margin-bottom:2rem}
.contact__methods{display:flex;flex-direction:column;gap:1.5rem}
.contact__method{display:flex;align-items:center;gap:1rem}
.contact__method-icon{width:48px;height:48px;background:var(--rose-pale);color:var(--wine);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.contact__method strong{display:block;font-size: .98rem;color:var(--text)}
.contact__method span,.contact__method a{font-size: .96rem;color:var(--text-mid)}
.contact__card{background:var(--cream);padding:2.5rem;border-radius:var(--radius);border:1px solid rgba(124,28,62,.06);box-shadow:var(--shadow-m)}
.contact__card h3{font-size:1.6rem;margin-bottom:.5rem}
.contact__card>p{color:var(--text-mid);margin-bottom:1.8rem;font-size: .98rem}
.form-group{margin-bottom:1.2rem}
.form-group label{display:block;font-weight:600;font-size: .92rem;margin-bottom:.4rem;color:var(--text)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.85rem 1rem;border:1px solid rgba(124,28,62,.1);border-radius:var(--radius-sm);font-size: 1.02rem;background:var(--white);color:var(--text);transition:.3s var(--ease)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(124,28,62,.08)}

/* ================================================================
   FOOTER
   ================================================================ */
.footer{
  background:linear-gradient(180deg, #220B15 0%, #15050D 100%);
  color:rgba(250,245,240,.75);
  padding:0;
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(212,175,55,.15);
}
.footer__quote-banner{
  background:linear-gradient(135deg, rgba(124,28,62,.35), rgba(45,21,32,.5));
  border-bottom:1px solid rgba(212,175,55,.12);
  padding:2.8rem 0;
  text-align:center;
}
.footer__quote{
  font-family:var(--font-heading);
  font-size:1.4rem;
  font-style:italic;
  color:var(--white);
  max-width:760px;
  margin:0 auto .6rem;
  line-height:1.5;
}
.footer__quote-author{
  font-size: .9rem;
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--gold);
  font-weight:600;
}
.footer__grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:3.5rem;
  padding:4.5rem 0 3.5rem;
}
.footer__logo{
  display:inline-flex;
  flex-direction:column;
  text-decoration:none;
  margin-bottom:1rem;
}
.footer__logo-name{
  font-family:'Dancing Script',cursive;
  font-size:2.2rem;
  font-weight:700;
  color:var(--white);
  line-height:1.1;
}
.footer__logo-sub{
  font-family:var(--font-body);
  font-size: .78rem;
  text-transform:uppercase;
  letter-spacing:2.5px;
  color:var(--gold);
  font-weight:500;
}
.footer__brand p{
  font-size: .98rem;
  line-height:1.6;
  color:rgba(250,245,240,.7);
  margin-bottom:1.2rem;
  max-width:320px;
}
.footer__credentials{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-size: .92rem;
  color:var(--gold);
  font-weight:600;
  letter-spacing:.5px;
  margin-bottom:1.5rem;
}
.footer__credentials i{
  font-size: .98rem;
  color:var(--gold);
}
.footer__social{
  display:flex;
  gap:.8rem;
}
.footer__social a{
  width:42px;
  height:42px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:var(--white);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  transition:all .35s var(--ease);
}
.footer__social a:hover{
  background:var(--gold);
  color:var(--plum);
  border-color:var(--gold);
  transform:translateY(-3px);
  box-shadow:0 6px 18px rgba(212,175,55,.3);
}
.footer__col h4{
  color:var(--gold);
  font-family:var(--font-body);
  font-size: .96rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
  margin-bottom:1.4rem;
}
.footer__col a{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-size: .98rem;
  color:rgba(250,245,240,.7);
  margin-bottom:.7rem;
  transition:all .3s var(--ease);
}
.footer__col a i{
  font-size: .78rem;
  color:var(--gold);
  opacity:.6;
  transition:transform .3s var(--ease), opacity .3s var(--ease);
}
.footer__col a:hover{
  color:var(--white);
  transform:translateX(4px);
}
.footer__col a:hover i{
  opacity:1;
  transform:translateX(2px);
}
.footer__contact-item{
  display:flex;
  align-items:center;
  gap:.8rem;
  margin-bottom:.85rem;
  font-size: .98rem;
  color:rgba(250,245,240,.75);
}
.footer__contact-item i{
  color:var(--gold);
  font-size: 1.02rem;
  flex-shrink:0;
}
.footer__contact-item a{
  color:rgba(250,245,240,.75);
  margin-bottom:0;
  padding:0;
}
.footer__contact-item a:hover{
  color:var(--gold);
  transform:none;
}
.footer__bottom{
  background:rgba(15,3,9,.8);
  padding:1.5rem 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer__bottom-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:1rem;
  font-size: .9rem;
  color:rgba(250,245,240,.4);
}
.footer__legal{
  display:flex;
  gap:1.5rem;
}

/* ================================================================
   WHATSAPP WIDGET
   ================================================================ */
.wa-widget{position:fixed;bottom:25px;right:25px;z-index:1500}
.wa-widget__trigger{width:60px;height:60px;background:#25D366;color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(37,211,102,.4);transition:.3s var(--ease);position:relative;border:none}
.wa-widget__trigger:hover{transform:scale(1.08)}
.wa-widget__badge{position:absolute;top:-3px;right:-3px;background:#e82c0c;color:var(--white);font-size: .82rem;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--white)}
.wa-widget__box{display:none;position:absolute;bottom:72px;right:0;width:340px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-l);overflow:hidden;flex-direction:column;border:1px solid rgba(124,28,62,.06)}
.wa-widget__box.open{display:flex}
.wa-widget__header{background:var(--wine);color:var(--white);padding:1rem 1.2rem;display:flex;align-items:center;gap:.8rem}
.wa-widget__avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);flex-shrink:0}
.wa-widget__header strong{display:block;font-size: .98rem}
.wa-widget__header small{font-size: .84rem;color:var(--rose-light);display:flex;align-items:center;gap:.35rem}
.wa-widget__close{margin-left:auto;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;line-height:1}
.wa-widget__body{padding:1.2rem;background:var(--cream);min-height:80px}
.wa-widget__bubble{background:var(--white);padding:.9rem 1.1rem;border-radius:18px 18px 18px 4px;font-size: .96rem;box-shadow:var(--shadow-s);color:var(--text);line-height:1.5}
.wa-widget__footer{padding:.8rem 1rem;background:var(--white)}
.wa-widget__cta{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#25D366;color:var(--white);padding:.75rem;border-radius:30px;font-weight:600;font-size: .96rem;transition:.3s var(--ease)}
.wa-widget__cta:hover{background:#20BA5A;color:var(--white)}

/* ================================================================
   BACK TO TOP
   ================================================================ */
.back-to-top{position:fixed;bottom:25px;right:25px;width:42px;height:42px;background:var(--wine);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size: .98rem;opacity:0;visibility:hidden;transition:.4s var(--ease);box-shadow:var(--shadow-m);z-index:1400}
.back-to-top.visible{opacity:1;visibility:visible}
.back-to-top:hover{background:var(--wine-dark);color:var(--white);transform:translateY(-3px)}

/* ================================================================
   ANIMATIONS & DYNAMIC MOTION
   ================================================================ */
/* Button Sheen / Shimmer Effect */
.btn{position:relative;overflow:hidden}
.btn::before{
  content:'';
  position:absolute;
  top:0;left:-100%;
  width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  transform:skewX(-25deg);
  transition:left .75s var(--ease);
}
.btn:hover::before{left:130%}

/* Section Title Animated Line Accent */
.section-title{
  position:relative;
  display:block;
  font-size:2.8rem;
  margin-bottom:1rem;
  letter-spacing:-.5px;
}
.section-title--center{
  text-align:center;
}
.section-title::after{
  content:'';
  display:block;
  width:60px;
  height:3px;
  background:linear-gradient(90deg,var(--gold),var(--wine));
  margin:0.8rem 0 0;
  border-radius:2px;
  transition:width .6s var(--ease);
}
.section-title--center::after{
  margin:0.8rem auto 0;
}
.section-title:hover::after{
  width:100px;
}

/* About Photo Subtle Floating Motion */
.about__img-wrapper{
  animation:gentleFloat 6s ease-in-out infinite alternate;
}
@keyframes gentleFloat{
  0%{transform:translateY(0)}
  100%{transform:translateY(-8px)}
}

/* 3D Tilt & Glass Sheen on Cards */
.svc-card,.testi-card,.myth-card{
  will-change:transform;
}

/* AOS Advanced Scroll Reveals */
[data-aos]{
  opacity:0;
  filter:blur(4px);
  transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1), filter .85s cubic-bezier(.16,1,.3,1);
}
[data-aos="fade-up"]{transform:translateY(40px)}
[data-aos="fade-down"]{transform:translateY(-40px)}
[data-aos="fade-right"]{transform:translateX(-40px)}
[data-aos="fade-left"]{transform:translateX(40px)}
[data-aos="zoom-in"]{transform:scale(.92)}
[data-aos].aos-animate{
  opacity:1;
  filter:blur(0);
  transform:none;
}

/* ================================================================
   RESPONSIVE (TODOS LOS DISPOSITIVOS)
   ================================================================ */
@media(max-width:1200px){
  .container{max-width:960px;padding:0 1.5rem}
  .hero__title{font-size:3.5rem}
  .services__grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
}

@media(max-width:1024px){
  .container{max-width:720px}
  .about,.services,.books,.blog,.faq,.contact,.testimonials{padding:5rem 0}
  .about__grid,.faq__grid,.contact__grid{grid-template-columns:1fr;gap:3rem}
  .footer__grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .hero__title{font-size:3rem}
  .section-title{font-size:2.3rem}
  .book-row{grid-template-columns:220px 1fr;gap:2.5rem;padding:2rem}
  .book-row--reverse{direction:ltr}
}

@media(max-width:768px){
  .container{padding:0 1.2rem}
  .hero-stats{padding:.8rem 0}
  .hero-stats__grid{grid-template-columns:repeat(4,1fr);gap:0}
  .hero-stat__item:not(:last-child)::after{display:block}
  .hero-stat__num{font-size:1.1rem;letter-spacing:0}
  .hero-stat__label{font-size: .76rem;line-height:1.3}

  /* Hero Mobile — Un poco más alto verticalmente */
  .hero{
    aspect-ratio:5/4;
    min-height:unset;
    height:auto;
    display:block;
    position:relative;
    overflow:hidden;
    margin-top:58px;
  }
  .hero__bg{
    position:absolute;
    inset:0;
    background-size:cover !important;
    background-position:center top !important;
    background-color:#a69694;
    animation:none !important;
    transform:none !important;
  }
  .hero__overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(26,9,16,.15) 0%,rgba(26,9,16,.2) 30%,rgba(26,9,16,.55) 70%,rgba(26,9,16,.8) 100%);
  }
  .hero__content{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:8% 4% 5%;
    max-width:100%;
  }
  .hero__scroll-indicator{ display:none; }

  /* Header Mobile — fondo igual al color de la imagen del Hero */
  .header{
    background:#a69694 !important;
    padding:.7rem 0 !important;
    border-radius:0 !important;
    box-shadow:0 2px 12px rgba(0,0,0,.15) !important;
  }
  .header.scrolled{
    background:linear-gradient(135deg,#C2185B 0%,#AD1457 40%,var(--wine) 100%) !important;
    border-radius:0 0 22px 22px !important;
  }

  /* Header Mobile Menu */
  .header__nav{
    display:none;
    position:absolute;
    top:100%;left:0;right:0;
    background:linear-gradient(180deg,#C2185B,var(--wine));
    backdrop-filter:blur(10px);
    flex-direction:column;
    padding:1.5rem 2rem;
    box-shadow:0 14px 35px rgba(124,28,62,.35);
    gap:.4rem;
    border-radius:0 0 22px 22px;
  }
  .header__nav.open{display:flex}
  .header__nav .header__link{
    color:rgba(255,255,255,.95);
    border-color:transparent;
    padding:.7rem 1.2rem;
    font-size: 1.02rem;
    width:100%;
    text-align:center;
  }
  .header__nav .header__link.active{
    border-color:rgba(255,255,255,.5);
    background:rgba(255,255,255,.12);
  }
  .header__burger{display:flex}
  .header__icon-btn{display:none}

  /* Hero text scales to fit inside the image block */
  .hero__content{padding:8% 4% 5%}
  .hero__badge{font-size:clamp(.5rem,.9vw,.7rem);letter-spacing:1.5px;margin-bottom:1.5%}
  .hero__title{font-size:clamp(1.1rem,4.5vw,2rem);line-height:1.15;margin-bottom:1.5%}
  .hero__subtitle{font-size:clamp(.7rem,2vw,.9rem);margin-bottom:3%;line-height:1.4}
  .hero__btns{flex-direction:row;gap:2%;justify-content:center;flex-wrap:nowrap;width:100%}
  .hero__btns .btn{width:auto;padding:.5rem .9rem;font-size:clamp(.7rem,2vw,.85rem);white-space:nowrap}

  /* Sections Mobile */
  .about__img-accent{display:none}
  .about__img-wrapper img{height:360px}
  .services__grid{grid-template-columns:1fr}
  .book-row{grid-template-columns:1fr;text-align:center;padding:1.8rem}
  .book-row__cover{max-width:200px;margin:0 auto}
  .book-row__tags{justify-content:center}
  .book-row__info .btn{width:100%}
  .myths__grid{grid-template-columns:1fr}
  
  /* Footer Mobile */
  .footer__grid{grid-template-columns:1fr;gap:2rem}
  .footer__brand p{max-width:100%}
  .footer__quote{font-size:1.2rem;padding:0 1rem}
  .footer__bottom-inner{flex-direction:column;text-align:center;gap:.8rem}

  .cta-band__content h2{font-size:1.8rem}
  .wa-widget__box{width:calc(100vw - 30px);right:-10px}
  .back-to-top{right:18px;bottom:18px;width:40px;height:40px;font-size: .94rem}
}

@media(max-width:480px){
  .hero__title{font-size:1.9rem;line-height:1.15}
  .hero__subtitle{font-size: .99rem;line-height:1.6}
  .hero__btns{gap:.5rem}
  .hero__btns .btn{padding:.65rem .85rem;font-size: .9rem}
  .section-title{font-size:1.8rem}
  .section-label{font-size: .84rem;letter-spacing:2px}

  .svc-card__content{padding:1.8rem 1.4rem}
  .svc-card__title{font-size:1.5rem}

  .testi-card--doctoralia{width:295px;padding:1.5rem}
  .testi-card blockquote{font-size: .98rem}

  .contact__card{padding:1.8rem 1.2rem}
  .contact__card h3{font-size:1.4rem}

  .footer__quote-banner{padding:2rem 0}
  .footer__quote{font-size:1.1rem}
  .footer__legal{flex-direction:column;gap:.5rem;align-items:center}
}

@media(max-width:360px){
  .hero__title{font-size:1.7rem}
  .hero-stats__grid{grid-template-columns:1fr;gap:1.2rem}
  .testi-card--doctoralia{width:260px;padding:1.2rem}
}


/* ── Tarjeta «Agendar mi sesión» (sección Contacto) ──────────────────────
   Sustituye al formulario suelto que abría WhatsApp sin guardar nada: si la
   persona no llegaba a pulsar «enviar» en el chat, se perdía entera. */
.contact__puntos{list-style:none;margin:1.1rem 0 1.4rem;padding:0}
.contact__puntos li{
  position:relative;padding-left:1.6rem;margin-bottom:.6rem;
  font-size: .98rem;line-height:1.5;color:rgba(255,255,255,.82);
}
.contact__puntos li::before{
  content:"";position:absolute;left:0;top:.42em;
  width:9px;height:9px;border-radius:50%;
  background:var(--gold,#D4AF37);
}
.contact__nota{
  margin-top:.9rem;font-size: .9rem;line-height:1.55;
  color:rgba(255,255,255,.55);text-align:center;
}
.contact__nota a{color:var(--gold,#D4AF37);font-weight:600}

/* ══════════════════════════════════════════════════════════════════════════
   LA PORTADA DEL MEGA PACK: LOS DOS LIBROS
   Con una sola imagen parecía que se vendía un libro. Aquí se ve lo que es:
   dos métodos juntos, con el «+» de oro entre ellos — la misma composición
   que en la landing de /megapack/, para que se reconozca.

   Va con `aspect-ratio` y `object-fit`: las dos portadas tienen proporciones
   muy distintas y sin eso una queda mucho más alta que la otra.
   ══════════════════════════════════════════════════════════════════════════ */
/* OJO: `.pack-par` necesita ancho DEFINIDO. Sin él, el 47% de las imágenes se
   calculaba sobre un contenedor que a su vez se dimensionaba por las imágenes
   —una pescadilla que se muerde la cola— y todo colapsaba a 0 px de ancho.
   Solo se vio midiendo en el navegador; en el código parecía correcto. */
.book-row__cover--pack{width:100%}
.pack-par{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:.5rem}
/* Sin `aspect-ratio` ni `object-fit`: cada portada conserva su proporción
   natural y se pinta entera. Se probaron las dos alternativas y ninguna
   valía — con `cover` se recortaba la parte de arriba (fondo claro) y con
   `aspect-ratio` las imágenes salían en blanco en el servidor. Lo simple
   funciona: ancho fijo, alto automático, y `align-items:center` las cuadra. */
.pack-par img{flex:0 0 47%;width:47%;height:auto;max-width:none;
  border-radius:var(--radius-sm);box-shadow:0 15px 40px rgba(26,9,16,.3);transition:.4s var(--ease)}
.pack-par img:first-of-type{transform:rotate(-6deg)}
.pack-par img:last-of-type{transform:rotate(6deg);margin-top:1.8rem}
.book-row:hover .pack-par img:first-of-type{transform:rotate(-7deg) scale(1.04)}
.book-row:hover .pack-par img:last-of-type{transform:rotate(7deg) scale(1.04)}
.pack-par__mas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#E8C77E,#B08D45);color:#2A0A1C;
  font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;
  box-shadow:0 12px 28px -8px rgba(232,199,126,.85)}
/* El hover global de book-row no debe tocar estas dos: tienen el suyo. */
.book-row:hover .book-row__cover--pack img{transform:none}
.book-row:hover .book-row__cover--pack .pack-par img:first-of-type{transform:rotate(-7deg) scale(1.04)}
.book-row:hover .book-row__cover--pack .pack-par img:last-of-type{transform:rotate(7deg) scale(1.04)}
@media (max-width:900px){
  .book-row__cover--pack{max-width:320px}
  .pack-par__mas{width:40px;height:40px;font-size:1.2rem}
}
