/*
 * Olivia Lambragno — CSS del diseño aprobado.
 *
 * Origen: index.html del sitio en producción (olivialambragno.com), líneas 9-777.
 * Es el MISMO archivo, no una reconstrucción: lo que se ve en WordPress es lo que
 * el cliente aprobó. Se carga también dentro del editor de Bricks.
 *
 * Únicos cambios respecto al original, todos para convivir con WordPress:
 *   1. El reset `*` excluye #wpadminbar (con :where(), especificidad 0).
 *   2. `nav{}`    -> `nav.ol-nav{}`       — si no, alcanza los <nav> de Bricks.
 *   3. `footer{}` -> `footer.ol-footer{}` — igual, y también en el media query de 768px.
 *
 * No editar a mano para cambiar el diseño: si cambia el diseño, cambia el original.
 */

:root {
  --gold:#B8952A; --gold-light:#D4AF5A; --gold-pale:#F0E6CC;
  --dark:#1A1A18; --dark2:#2C2B28;
  --cream:#FAF8F3; --cream2:#F3EFE5;
  --text:#3A3830; --text-light:#7A7568;
}
*:where(:not(#wpadminbar, #wpadminbar *)){margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden;}

/* ── NAV ── */
nav.ol-nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 64px;
  background:rgba(250,248,243,0.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(184,149,42,0.12);
  transition:padding .3s,box-shadow .3s;
}
.nav-logo{
  font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:500;
  letter-spacing:4px;color:var(--dark);text-decoration:none;text-transform:uppercase;cursor:pointer;
}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;gap:34px;list-style:none;}
.nav-links a{
  font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--text);text-decoration:none;font-weight:500;
  transition:color .2s;cursor:pointer;
  position:relative;padding-bottom:3px;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:1px;
  background:var(--gold);transition:width .3s;
}
.nav-links a:hover{color:var(--gold);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--gold);}
.nav-cta{
  background:var(--gold);color:#fff;
  padding:11px 28px;font-size:10px;letter-spacing:2.5px;
  text-transform:uppercase;font-weight:600;text-decoration:none;
  transition:background .2s;cursor:pointer;border:none;font-family:'Jost',sans-serif;
}
.nav-cta:hover{background:var(--dark);}
/* ── LANG TOGGLE ── */
[data-lang="es"] .lang-en { display:none !important; }
[data-lang="en"] .lang-es { display:none !important; }
.lang-toggle-wrap{display:flex;align-items:center;gap:4px;}
.lang-btn{background:none;border:none;cursor:pointer;font-family:'Jost',sans-serif;
  font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:var(--text-light);font-weight:500;padding:6px 8px;transition:color .2s;}
.lang-btn.active{color:var(--gold);font-weight:600;}
.lang-sep{color:var(--gold-pale);font-size:12px;line-height:1;}


/* ── PAGE TRANSITIONS ── */
/* Las dos reglas .page del original se han retirado a propósito.
   Eran el motor de la SPA: mostraban y ocultaban los <div class="page">. En WordPress
   cada sección es una página de verdad, así que ya no hacen falta — y sobre todo:
   WordPress pone la clase `page` en el <body> de toda página, de modo que
   `.page{display:none}` ocultaba el sitio entero. La animación pageIn se conserva
   (la aplica olivia.js a las tarjetas, como hacía navigate()). */
@keyframes pageIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ── COMMON ── */
.pt-nav{padding-top:80px;}
.section{padding:100px 80px;}
.section-sm{padding:70px 80px;}
.eyebrow{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:16px;}
.sec-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,4vw,56px);font-weight:300;
  color:var(--dark);line-height:1.15;
}
.sec-title em{font-style:italic;color:var(--gold);}
.divider-gold{width:44px;height:1px;background:var(--gold);margin:24px 0;}
.body-text{font-size:15px;line-height:1.85;color:var(--text-light);}
.btn-primary{
  display:inline-block;background:var(--gold);color:#fff;
  padding:14px 34px;font-size:10px;letter-spacing:2.5px;
  text-transform:uppercase;font-weight:600;text-decoration:none;
  transition:background .2s;border:none;cursor:pointer;font-family:'Jost',sans-serif;
}
.btn-primary:hover{background:var(--dark);}
.btn-outline{
  display:inline-block;background:transparent;color:var(--dark);
  padding:14px 34px;font-size:10px;letter-spacing:2.5px;
  text-transform:uppercase;font-weight:600;text-decoration:none;
  border:1px solid var(--dark);transition:all .2s;cursor:pointer;font-family:'Jost',sans-serif;
}
.btn-outline:hover{background:var(--dark);color:#fff;}
.btn-outline-gold{
  display:inline-block;background:transparent;color:var(--gold-light);
  padding:14px 34px;font-size:10px;letter-spacing:2.5px;
  text-transform:uppercase;font-weight:600;text-decoration:none;
  border:1px solid var(--gold);transition:all .2s;cursor:pointer;font-family:'Jost',sans-serif;
}
.btn-outline-gold:hover{background:var(--gold);color:#fff;}

/* ── HERO ── */
.hero{
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  padding-top:80px;overflow:hidden;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 60px 80px 80px;
}
.hero-h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(46px,5vw,70px);font-weight:300;line-height:1.1;
  color:var(--dark);margin-bottom:6px;
}
.hero-h1 em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:16px;line-height:1.8;color:var(--text-light);max-width:420px;font-weight:300;margin-bottom:44px;}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
.hero-right{position:relative;overflow:hidden;}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.hero-right::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right,var(--cream) 0%,transparent 22%);
}

/* ── PRESS BAR ── */
.press-bar{
  background:var(--dark);padding:20px 80px;
  display:flex;align-items:center;justify-content:center;gap:60px;
}
.press-label{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.35);white-space:nowrap;}
.press-names{display:flex;gap:48px;align-items:center;flex-wrap:wrap;justify-content:center;}
.press-name{
  font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:3px;
  text-transform:uppercase;color:rgba(255,255,255,.45);transition:color .2s;cursor:default;
}
.press-name:hover{color:var(--gold-light);}

/* ── COACHING GRID ── */
.coaching-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1100px;margin:0 auto;}
.c-card{
  background:#fff;overflow:hidden;
  box-shadow:0 2px 28px rgba(0,0,0,.06);
  transition:transform .3s,box-shadow .3s;cursor:pointer;
}
.c-card:hover{transform:translateY(-6px);box-shadow:0 14px 40px rgba(0,0,0,.12);}
.c-card img{width:100%;height:230px;object-fit:cover;}
.c-card-body{padding:26px 26px 34px;border-top:3px solid transparent;transition:border-color .3s;}
.c-card:hover .c-card-body{border-color:var(--gold);}
.c-card h3{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:500;margin-bottom:10px;color:var(--dark);}
.c-card p{font-size:14px;line-height:1.7;color:var(--text-light);margin-bottom:18px;}
.learn-more{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:600;text-decoration:none;transition:color .2s;cursor:pointer;}
.learn-more:hover{color:var(--dark);}

/* ── MASC SECTION (home preview) ── */
.masc-preview{
  background:var(--dark);padding:100px 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.masc-preview .eyebrow{color:var(--gold-light);}
.masc-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,4.5vw,64px);font-weight:300;color:#fff;line-height:1.1;margin-bottom:20px;
}
.masc-title em{font-style:italic;color:var(--gold-light);}
.masc-sub{font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;color:var(--gold-light);margin-bottom:28px;line-height:1.5;}
.masc-text{font-size:15px;line-height:1.8;color:rgba(255,255,255,.6);margin-bottom:16px;}
.masc-btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px;}
.masc-img-wrap{position:relative;}
.masc-img-wrap img{width:100%;height:520px;object-fit:cover;object-position:top;}
.masc-quote-box{
  position:absolute;bottom:-20px;left:-28px;
  background:var(--gold);color:#fff;padding:22px 26px;max-width:250px;
  font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;line-height:1.5;
}

/* ── BOOK PREVIEW ── */
.book-preview{
  background:var(--cream2);padding:100px 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.book-covers{display:flex;gap:24px;align-items:flex-end;max-width:340px;margin-left:auto;}
.book-wrap{flex:1;box-shadow:8px 12px 40px rgba(0,0,0,.18);transition:transform .3s;cursor:pointer;}
.book-wrap:hover{transform:translateY(-8px) rotate(1deg);}
.book-wrap img{width:100%;display:block;}
.book-badge{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-light);text-align:center;margin-top:10px;font-weight:500;}

/* ── TESTIMONIALS ── */
.testi-section{background:var(--dark2);padding:100px 80px;}
.testi-section .eyebrow{text-align:center;color:var(--gold-light);}
.testi-section .sec-title{text-align:center;color:#fff;margin-bottom:56px;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto;}
.testi-card{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  padding:34px 30px;transition:border-color .3s,transform .3s;cursor:default;
}
.testi-card:hover{border-color:var(--gold);transform:translateY(-4px);}
.testi-q{font-family:'Cormorant Garamond',serif;font-size:56px;color:var(--gold);line-height:1;margin-bottom:-8px;}
.testi-text{font-size:15px;line-height:1.8;color:rgba(255,255,255,.7);font-style:italic;margin-bottom:22px;}
.testi-author{display:flex;align-items:center;gap:12px;}
.testi-avatar{
  width:42px;height:42px;border-radius:50%;background:var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:17px;color:#fff;
}
.testi-name{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.45);}

/* ── NEWSLETTER ── */
.newsletter{
  background:var(--gold);padding:72px 80px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
}
.newsletter h2{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:300;color:#fff;margin-bottom:6px;}
.newsletter p{font-size:14px;color:rgba(255,255,255,.8);font-weight:300;}
.nl-form{display:flex;gap:0;flex:1;max-width:540px;}
.nl-form input{
  flex:1;padding:15px 20px;border:none;outline:none;
  background:#fff;font-family:'Jost',sans-serif;font-size:13px;color:var(--dark);
}
.nl-form button{
  padding:15px 26px;background:var(--dark);color:#fff;border:none;cursor:pointer;
  font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;
  transition:background .2s;font-family:'Jost',sans-serif;
}
.nl-form button:hover{background:#000;}

/* ── FOOTER ── */
footer.ol-footer{background:var(--dark);padding:56px 80px 28px;}
.footer-top{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;
  margin-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:44px;
}
.footer-logo-text{
  font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:4px;
  color:#fff;text-transform:uppercase;margin-bottom:14px;display:block;cursor:pointer;
}
.footer-logo-text span{color:var(--gold);}
.footer-tagline{font-family:'Cormorant Garamond',serif;font-size:15px;font-style:italic;color:rgba(255,255,255,.35);line-height:1.7;}
.footer-col h4{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);margin-bottom:18px;font-weight:500;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:9px;}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;font-weight:300;cursor:pointer;}
.footer-col ul li a:hover{color:var(--gold-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;}
.footer-copy{font-size:11px;color:rgba(255,255,255,.22);}
.footer-socials{display:flex;gap:14px;}
.footer-social{
  width:34px;height:34px;border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.35);font-size:12px;text-decoration:none;
  transition:all .2s;cursor:pointer;
}
.footer-social:hover{border-color:var(--gold);color:var(--gold);}

/* ── ABOUT PAGE ── */
.about-hero{
  display:grid;grid-template-columns:1fr 1fr;min-height:80vh;
  padding-top:80px;overflow:hidden;
}
.about-hero-left{
  position:relative;overflow:hidden;
}
.about-hero-left img{width:100%;height:100%;object-fit:cover;object-position:top;}
.about-hero-right{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 80px 80px 60px;
}
.about-beliefs{border-left:2px solid var(--gold-pale);padding-left:22px;margin:24px 0;}
.about-beliefs p{
  font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;
  color:var(--text);line-height:1.6;margin-bottom:8px;
}
.stats-row{display:flex;gap:48px;margin:36px 0;flex-wrap:wrap;}
.stat{}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:300;color:var(--gold);line-height:1;}
.stat-label{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-light);margin-top:4px;}

/* ── COACHING PAGE ── */
.coaching-hero{
  background:var(--dark);padding:120px 80px 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.coaching-hero-title{
  font-family:'Cormorant Garamond',serif;font-size:clamp(44px,5vw,68px);
  font-weight:300;color:#fff;line-height:1.1;margin-bottom:20px;
}
.coaching-hero-title em{font-style:italic;color:var(--gold-light);}
.coaching-hero-text{font-size:15px;line-height:1.8;color:rgba(255,255,255,.6);}
.coaching-hero img{width:100%;height:480px;object-fit:cover;object-position:top;}
.service-block{
  padding:80px 80px;border-bottom:1px solid var(--gold-pale);
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.service-block:nth-child(even){direction:rtl;}
.service-block:nth-child(even)>*{direction:ltr;}
.service-block img{width:100%;height:400px;object-fit:cover;object-position:top;}
.service-num{
  font-family:'Cormorant Garamond',serif;font-size:80px;font-weight:300;
  color:var(--gold-pale);line-height:1;margin-bottom:-20px;
}
.service-title{
  font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:400;
  color:var(--dark);margin-bottom:16px;
}
.checklist{list-style:none;margin:20px 0;}
.checklist li{
  font-size:14px;color:var(--text-light);padding:7px 0;
  border-bottom:1px solid var(--gold-pale);display:flex;align-items:center;gap:12px;
}
.checklist li::before{content:'✔';color:var(--gold);font-size:12px;flex-shrink:0;}
.service-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}

/* ── MASCULINE PAGE ── */
.masc-page-hero{
  background:var(--dark);min-height:90vh;display:grid;
  grid-template-columns:1fr 1fr;padding-top:80px;overflow:hidden;
}
.masc-page-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 60px 80px 80px;
}
.masc-page-title{
  font-family:'Cormorant Garamond',serif;font-size:clamp(50px,5.5vw,80px);
  font-weight:300;color:#fff;line-height:1.0;margin-bottom:16px;
}
.masc-page-title em{font-style:italic;color:var(--gold-light);}
.masc-page-sub{
  font-family:'Cormorant Garamond',serif;font-size:18px;font-style:italic;
  color:var(--gold-light);margin-bottom:28px;line-height:1.5;
}
.masc-page-body{font-size:15px;line-height:1.85;color:rgba(255,255,255,.6);margin-bottom:14px;}
.masc-page-right{position:relative;overflow:hidden;}
.masc-page-right img{width:100%;height:100%;object-fit:cover;object-position:top;}
.masc-page-right::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right,var(--dark) 0%,transparent 20%);
}
.pillars-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,.08);margin:40px 0;
}
.pillar-block{
  background:var(--dark);padding:28px 24px;
  border-left:2px solid transparent;transition:border-color .3s;
}
.pillar-block:hover{border-color:var(--gold);}
.pillar-num{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:500;margin-bottom:8px;}
.pillar-name{font-family:'Cormorant Garamond',serif;font-size:20px;color:#fff;font-weight:400;margin-bottom:6px;}
.pillar-desc{font-size:13px;color:rgba(255,255,255,.45);line-height:1.6;}
.masc-options{
  background:rgba(255,255,255,.03);padding:80px 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:32px;
}
.masc-option{
  border:1px solid rgba(255,255,255,.1);padding:44px 40px;
  transition:border-color .3s,transform .3s;cursor:default;
}
.masc-option:hover{border-color:var(--gold);transform:translateY(-4px);}
.masc-option-icon{font-size:28px;margin-bottom:18px;}
.masc-option-title{font-family:'Cormorant Garamond',serif;font-size:28px;color:#fff;font-weight:300;margin-bottom:10px;}
.masc-option-text{font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;margin-bottom:24px;}

/* ── BOOK PAGE ── */
.book-hero{
  background:var(--cream2);padding:120px 80px 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.book-covers-large{display:flex;gap:32px;align-items:flex-end;}
.book-cover-l{flex:1;box-shadow:12px 16px 50px rgba(0,0,0,.22);transition:transform .3s;cursor:pointer;}
.book-cover-l:hover{transform:translateY(-10px) rotate(1.5deg);}
.book-cover-l img{width:100%;display:block;}
.book-details{margin:36px 0;}
.book-detail-row{
  display:flex;align-items:flex-start;gap:16px;padding:16px 0;
  border-bottom:1px solid var(--gold-pale);
}
.book-detail-icon{color:var(--gold);font-size:18px;flex-shrink:0;margin-top:2px;}
.book-detail-title{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text);font-weight:600;margin-bottom:3px;}
.book-detail-text{font-size:13px;color:var(--text-light);line-height:1.6;}

/* ── SPEAKING PAGE ── */
.speaking-hero{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:70vh;padding-top:80px;background:var(--dark);overflow:hidden;
}
.speaking-hero img{width:100%;height:100%;object-fit:cover;object-position:center;}
.speaking-hero::after{display:none;}
.speaking-hero-content{position:relative;z-index:1;padding:0 80px;max-width:640px;}
.speaking-hero-content h1{
  font-family:'Cormorant Garamond',serif;font-size:clamp(44px,5vw,70px);
  font-weight:300;color:#fff;line-height:1.1;margin-bottom:18px;
}
.speaking-hero-content h1 em{font-style:italic;color:var(--gold-light);}
.speaking-hero-content p{font-size:16px;line-height:1.8;color:rgba(255,255,255,.65);margin-bottom:36px;}
.topics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto;}
.topic-card{
  background:#fff;padding:36px 32px;
  box-shadow:0 2px 24px rgba(0,0,0,.06);
  border-top:3px solid var(--gold-pale);transition:border-color .3s,transform .3s;
}
.topic-card:hover{border-color:var(--gold);transform:translateY(-4px);}
.topic-icon{font-size:26px;margin-bottom:14px;}
.topic-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;color:var(--dark);margin-bottom:10px;}
.topic-text{font-size:14px;line-height:1.7;color:var(--text-light);}

/* ── CONTACT PAGE ── */
.contact-wrap{
  display:grid;grid-template-columns:1fr 1fr;min-height:100vh;padding-top:80px;
}
.contact-left{
  background:var(--dark);padding:80px;
  display:flex;flex-direction:column;justify-content:center;
}
.contact-left .eyebrow{color:var(--gold-light);}
.contact-left h2{
  font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,52px);
  font-weight:300;color:#fff;line-height:1.15;margin-bottom:20px;
}
.contact-left h2 em{font-style:italic;color:var(--gold-light);}
.contact-left p{font-size:15px;line-height:1.8;color:rgba(255,255,255,.55);margin-bottom:40px;}
.contact-info-row{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.contact-icon{
  width:44px;height:44px;border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:16px;flex-shrink:0;
}
.contact-info-text{font-size:13px;color:rgba(255,255,255,.5);}
.contact-right{background:var(--cream);padding:80px;display:flex;flex-direction:column;justify-content:center;}
.contact-right .eyebrow{}
.contact-right h2{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--dark);margin-bottom:32px;}
.form-group{margin-bottom:22px;}
.form-label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text);font-weight:500;display:block;margin-bottom:8px;}
.form-input{
  width:100%;padding:14px 16px;border:1px solid rgba(58,56,48,.15);
  background:#fff;font-family:'Jost',sans-serif;font-size:14px;color:var(--dark);
  outline:none;transition:border-color .2s;
}
.form-input:focus{border-color:var(--gold);}
.form-select{
  width:100%;padding:14px 16px;border:1px solid rgba(58,56,48,.15);
  background:#fff;font-family:'Jost',sans-serif;font-size:14px;color:var(--dark);
  outline:none;transition:border-color .2s;appearance:none;cursor:pointer;
}
.form-select:focus{border-color:var(--gold);}
textarea.form-input{resize:vertical;min-height:130px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* ── BLOG STYLES ── */
.blog-pill {
  background: transparent; border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.5); padding: 7px 18px;
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  font-weight: 500; cursor: pointer; font-family: 'Jost', sans-serif;
  transition: all .2s;
}
.blog-pill:hover, .blog-pill.active {
  background: var(--gold); border-color: var(--gold); color: #fff;
}
.blog-featured {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  cursor: pointer; background: #fff;
  box-shadow: 0 4px 40px rgba(0,0,0,.08);
  transition: transform .3s, box-shadow .3s;
  margin-bottom: 60px;
}
.blog-featured:hover { transform: translateY(-4px); box-shadow: 0 16px 50px rgba(0,0,0,.13); }
.blog-featured-img { position: relative; overflow: hidden; }
.blog-featured-img img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; object-position: top; transition: transform .5s; }
.blog-featured:hover .blog-featured-img img { transform: scale(1.03); }
.blog-featured-overlay { position: absolute; top: 24px; left: 24px; display: flex; gap: 8px; flex-wrap: wrap; }
.blog-tag {
  background: var(--gold); color: #fff;
  padding: 5px 12px; font-size: 9px; letter-spacing: 2px;
  text-transform: uppercase; font-weight: 600;
}
.blog-featured-body { padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; }
.blog-read-more {
  font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--gold); font-weight: 600; cursor: pointer;
  transition: color .2s;
}
.blog-read-more:hover { color: var(--dark); }
.blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.blog-card {
  background: #fff; overflow: hidden; cursor: pointer;
  box-shadow: 0 2px 24px rgba(0,0,0,.06);
  transition: transform .3s, box-shadow .3s;
}
.blog-card:hover { transform: translateY(-5px); box-shadow: 0 12px 36px rgba(0,0,0,.12); }
.blog-card-img-wrap { position: relative; overflow: hidden; }
.blog-card-img-wrap img { width: 100%; height: 200px; object-fit: cover; object-position: top; transition: transform .5s; }
.blog-card:hover .blog-card-img-wrap img { transform: scale(1.05); }
.blog-card-overlay { position: absolute; top: 16px; left: 16px; display: flex; gap: 6px; }
.blog-card-body { padding: 24px 24px 32px; border-top: 3px solid transparent; transition: border-color .3s; }
.blog-card:hover .blog-card-body { border-color: var(--gold); }
.blog-meta { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; font-weight: 500; }
.blog-card-title { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 500; color: var(--dark); margin-bottom: 10px; line-height: 1.3; }
.blog-card-excerpt { font-size: 13px; line-height: 1.7; color: var(--text-light); margin-bottom: 16px; }

/* Single post */
.post-hero {
  position: relative; min-height: 70vh;
  display: flex; align-items: flex-end; overflow: hidden;
  padding-top: 80px;
}
.post-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.post-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(26,26,24,.92) 40%, rgba(26,26,24,.3)); }
.post-hero-content { position: relative; z-index: 1; padding: 60px 80px; }
.post-body {
  display: grid; grid-template-columns: 1fr 340px; gap: 60px;
  padding: 80px 80px; max-width: 1200px; margin: 0 auto; width: 100%;
}
.post-content { min-width: 0; }
.post-lead {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px; font-weight: 300; line-height: 1.6;
  color: var(--dark); margin-bottom: 28px;
}
.post-content p { font-size: 16px; line-height: 1.9; color: var(--text-light); margin-bottom: 22px; }
.post-content h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 30px; font-weight: 400; color: var(--dark);
  margin: 44px 0 16px; padding-top: 44px;
  border-top: 1px solid var(--gold-pale);
}
.post-content strong { color: var(--dark); font-weight: 600; }
.post-pullquote {
  border-left: 3px solid var(--gold); padding: 20px 28px;
  margin: 40px 0; background: var(--cream2);
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px; font-style: italic; color: var(--text);
  line-height: 1.5; position: relative;
}
.post-pullquote span {
  font-size: 60px; color: var(--gold); line-height: 1;
  position: absolute; top: -10px; left: 20px;
}
.post-highlight {
  background: var(--cream2); padding: 32px 36px;
  border: 1px solid var(--gold-pale); margin: 40px 0;
  display: flex; gap: 20px; align-items: flex-start;
}
.post-highlight-icon { font-size: 22px; color: var(--gold); flex-shrink: 0; margin-top: 2px; }
.post-highlight strong { font-size: 14px; letter-spacing: 1px; text-transform: uppercase; color: var(--dark); display: block; margin-bottom: 10px; }
.post-highlight p { font-size: 14px; line-height: 1.7; color: var(--text-light); margin-bottom: 8px; }
.post-list { list-style: none; margin: 12px 0; }
.post-list li {
  font-size: 14px; color: var(--text-light); padding: 8px 0;
  border-bottom: 1px solid var(--gold-pale);
  display: flex; align-items: center; gap: 12px;
}
.post-list li::before { content: '→'; color: var(--gold); font-size: 13px; flex-shrink: 0; }
.post-sidebar { display: flex; flex-direction: column; gap: 28px; }
.sidebar-author { background: var(--cream2); overflow: hidden; }
.sidebar-author > div { padding: 0 20px 20px; }
.sidebar-book { cursor: pointer; overflow: hidden; transition: transform .3s; }
.sidebar-book:hover { transform: translateY(-4px); }
.btn-gold {
  display: inline-block; background: var(--gold); color: #fff;
  padding: 14px 34px; font-size: 10px; letter-spacing: 2.5px;
  text-transform: uppercase; font-weight: 600; text-decoration: none;
  transition: background .2s; border: none; cursor: pointer; font-family: 'Jost', sans-serif;
}
.btn-gold:hover { background: var(--gold-light); }


/* ═══════════════════════════════════════════════
   HAMBURGER
═══════════════════════════════════════════════ */
.nav-hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  cursor:pointer;background:none;border:none;padding:4px;width:32px;height:32px;
}
.nav-hamburger span{
  display:block;width:22px;height:2px;background:var(--dark);
  transition:all .3s;border-radius:2px;
}
.nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* ═══════════════════════════════════════════════
   RESPONSIVE — 768px (tablet / mobile)
═══════════════════════════════════════════════ */
@media(max-width:768px){

  /* NAV */
  #navbar{padding:16px 24px !important;box-shadow:0 2px 12px rgba(0,0,0,.07) !important;}
  .nav-hamburger{display:flex;}
  .nav-links{
    display:none;position:fixed;top:64px;left:0;right:0;
    background:#fff;flex-direction:column;gap:0;padding:8px 0 16px;
    box-shadow:0 8px 24px rgba(0,0,0,.1);z-index:998;
  }
  .nav-links.open{display:flex;}
  .nav-links li{border-bottom:1px solid var(--cream2);}
  .nav-links li a{display:block;padding:14px 24px;font-size:13px;letter-spacing:1.5px;}
  .nav-cta{display:none;}

  /* GENERAL PADDING */
  .section{padding:60px 24px;}
  .section-sm{padding:48px 24px;}

  /* HOME HERO */
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-left{padding:96px 24px 48px;}
  .hero-right{height:320px;}
  .hero-right img{object-position:top;}

  /* PRESS BAR */
  .press-bar{padding:16px 24px;gap:16px;}
  .press-names{gap:20px;}

  /* COACHING GRID (home) */
  .coaching-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto;}

  /* MASC PREVIEW (home) */
  .masc-preview{grid-template-columns:1fr;padding:60px 24px;gap:40px;}

  /* BOOK PREVIEW (home) */
  .book-preview{grid-template-columns:1fr;padding:60px 24px;gap:40px;}
  .book-covers{justify-content:center;}

  /* TESTIMONIALS */
  .testi-section{padding:60px 24px;}
  .testi-grid{grid-template-columns:1fr;}

  /* NEWSLETTER */
  .newsletter{flex-direction:column;gap:28px;padding:56px 24px;text-align:center;}
  .nl-form{flex-direction:column;max-width:100%;}
  .nl-form input{border-left:none !important;border-top:1px solid rgba(255,255,255,.3);}
  .nl-form input:first-child{border-top:none;}

  /* FOOTER */
  footer.ol-footer{padding:0;}
  .footer-top{grid-template-columns:1fr;gap:28px;padding:48px 24px 28px;}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center;padding:16px 24px 24px;}

  /* ABOUT HERO */
  .about-hero{grid-template-columns:1fr;min-height:auto;}
  .about-hero-right{padding:48px 24px 60px;}
  .stats-row{gap:24px;}

  /* COACHING / MUJERES */
  .coaching-hero{grid-template-columns:1fr;padding:96px 24px 48px;gap:32px;}
  .coaching-hero img{width:100%;height:280px;object-fit:cover;order:2;}
  .coaching-hero>div{order:1;}
  .service-block{grid-template-columns:1fr;padding:56px 24px;}
  .service-block img{width:100%;height:260px;object-fit:cover;border-radius:2px;}

  /* MASCULINE */
  .masc-page-hero{grid-template-columns:1fr;min-height:auto;padding-top:0;}
  .masc-page-left{padding:96px 24px 48px;}
  .masc-page-right{height:300px;overflow:hidden;}
  .masc-page-right img{width:100%;height:100%;object-fit:cover;}
  .pillars-grid{grid-template-columns:1fr 1fr;}
  .masc-options{grid-template-columns:1fr;padding:48px 24px;}

  /* BOOK PAGE */
  .book-hero{grid-template-columns:1fr;padding:96px 24px 48px;gap:40px;}
  .book-covers-large{flex-direction:row;justify-content:center;gap:20px;}
  .book-covers-large>div{flex:1;max-width:160px;}

  /* SPEAKING HERO */
  .speaking-hero{grid-template-columns:1fr;min-height:auto;}
  .speaking-hero-content{padding:96px 24px 48px !important;}
  .speaking-hero>div:last-child{height:300px;}
  .topics-grid{grid-template-columns:1fr;}

  /* BLOG */
  #blog-index-en>div:first-child,
  #blog-index-es>div:first-child{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding:96px 24px 48px !important;
  }
  #blog-index-en>div:first-child>div:last-child,
  #blog-index-es>div:first-child>div:last-child{height:280px;}
  #blog-index-en>div:nth-child(2),
  #blog-index-es>div:nth-child(2){padding:16px 24px !important;}
  .blog-featured{grid-template-columns:1fr;}
  .blog-featured-img{min-height:220px;}
  .blog-featured-body{padding:32px 24px !important;}
  .blog-grid{grid-template-columns:1fr;}
  section[style*="padding:80px 80px"]{padding:48px 24px !important;}
  section[style*="padding:60px 80px"]{padding:48px 24px !important;}

  /* BLOG POST */
  .post-hero{min-height:50vh;}
  .post-hero-content{padding:80px 24px 32px !important;}
  .post-body{grid-template-columns:1fr;padding:48px 24px !important;gap:0;}
  .post-sidebar{display:none;}

  /* CONTACT */
  .contact-wrap{grid-template-columns:1fr;min-height:auto;padding-top:0;}
  .contact-left{padding:96px 24px 48px;}
  .contact-right{padding:40px 24px 60px;}
  .form-row{grid-template-columns:1fr;}

  /* INLINE PADDED SECTIONS */
  [style*="padding:100px 80px"]{padding:60px 24px !important;}
  [style*="padding:80px 80px"]{padding:48px 24px !important;}
  [style*="padding:120px 80px"]{padding:96px 24px 48px !important;}
  [style*="padding:140px 80px"]{padding:96px 24px 48px !important;}
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — 480px (small phones)
═══════════════════════════════════════════════ */
@media(max-width:480px){
  .hero-right{height:240px;}
  .pillars-grid{grid-template-columns:1fr;}
  .book-covers-large{flex-direction:column;align-items:center;}
  .book-covers-large>div{max-width:220px;}
  .masc-page-right{height:240px;}
  .speaking-hero>div:last-child{height:220px;}
  #blog-index-en>div:first-child>div:last-child,
  #blog-index-es>div:first-child>div:last-child{height:200px;}
  .coaching-hero img{height:220px;}
  .service-block img{height:200px;}
}

/* ═══════════════════════════════════════════════
   BLOG GENDER TOGGLE
═══════════════════════════════════════════════ */
.blog-gender-btn{
  padding:8px 28px;border:1px solid var(--gold);background:none;
  color:var(--text-light);font-size:11px;letter-spacing:2px;
  text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:inherit;
}
.blog-gender-btn.active{background:var(--gold);color:#fff;}
.blog-gender-btn:not(.active):hover{background:var(--cream2);}
@media(max-width:768px){
  #blog-es-gender-bar{padding:16px 24px !important;}
}

@media(max-width:768px){
  #page-book section[style*="padding:100px 80px"]{padding:60px 24px !important;}
  #page-book div[style*="grid-template-columns:repeat(2,1fr)"]{grid-template-columns:1fr !important;gap:48px !important;}
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — 1024px (tablet)
═══════════════════════════════════════════════ */
@media(max-width:1024px){
  .section, .section-sm{padding:80px 40px;}
  .hero-left{padding:120px 40px 80px;}
  .press-bar{padding:18px 32px;gap:18px;}
  .press-names{gap:24px;}
  .coaching-grid{gap:20px;}
  .testi-section{padding:80px 40px;}
  .testi-grid{gap:18px;}
  .masc-preview{padding:80px 40px;gap:48px;}
  .book-preview{padding:80px 40px;gap:48px;}
  .book-covers{max-width:300px;}
  .footer-top{padding:48px 40px 28px;}
  .footer-bottom{padding:18px 40px 24px;}
  .about-hero-right{padding:80px 40px;}
  .coaching-hero{padding:120px 40px 60px;gap:48px;}
  .service-block{padding:80px 40px;gap:48px;}
  .speaking-hero-content{padding:80px 40px !important;}
  .topics-grid{gap:20px;}
  .pillars-grid{gap:18px;}
  .masc-options{padding:60px 40px;gap:40px;}
  .masc-page-left{padding:120px 40px 60px;}
  .book-hero{padding:120px 40px 60px;gap:48px;}
  .contact-left, .contact-right{padding:80px 40px;}
}

/* Tighter book covers on mobile */
@media(max-width:768px){
  .book-covers{max-width:280px;margin:0 auto;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Convivencia con WordPress + Bricks
   ═══════════════════════════════════════════════════════════════════════════
   Nada de aquí abajo estaba en el diseño original: son ajustes para que el tema
   Bricks no cambie la línea base tipográfica sobre la que se dibujó el diseño.

   Bricks fija su propia tipografía global (html a 10px y body a 1.5rem/1.7).
   El diseño de Olivia se hizo sobre los valores por defecto del navegador
   (16px / line-height normal), y todo lo que no declara su propio tamaño hereda
   de ahí: la línea pequeña de arriba, los botones, las etiquetas. Con la
   herencia de Bricks salían 3px más altos.

   El diseño no usa ni un solo rem ni em (comprobado), así que basta con
   restaurar el body; el tamaño de raíz de Bricks no afecta a nada nuestro.
   ═══════════════════════════════════════════════════════════════════════════ */
html body.brx-body{
  font-size:16px;
  line-height:normal;
}

/* Bricks normaliza `img{vertical-align:middle}`. El diseño original usa el valor por
   defecto del navegador (baseline), que deja bajo cada imagen en línea el hueco del
   descendente de la fuente. Ese hueco NO es un descuido: forma parte de las alturas
   del diseño aprobado — en el hero son los 6px que hacen la sección de 960 y no 954.
   Se restaura solo dentro de nuestros bloques (todos llevan una clase brxe-ol-*),
   para no alterar imágenes de otros elementos de Bricks. */
[class*="brxe-ol-"] img{vertical-align:baseline;}

/* Bricks impone una altura de línea a los elementos que el diseño deja sin declarar:
   `h3,h4{line-height:1.4}` y `button,input,select,textarea{line-height:1.15}`, más
   `input:not([type=submit]){line-height:40px}`. El diseño de Olivia se hizo sobre el
   valor por defecto del navegador, y con el de Bricks los títulos de las tarjetas, los
   botones de idioma y los campos del boletín salían más altos.

   Los selectores van envueltos en :where() para que NO aporten especificidad: así estas
   reglas solo mandan donde el diseño calla, y cualquier `.hero-h1{line-height:1.1}` o
   `.c-card p{line-height:1.7}` del diseño las sigue ganando. Para los campos de
   formulario se repite el :not() de Bricks, que es lo que hace falta para empatarle. */
:where([class*="brxe-ol-"]) h1,
:where([class*="brxe-ol-"]) h2,
:where([class*="brxe-ol-"]) h3,
:where([class*="brxe-ol-"]) h4,
:where([class*="brxe-ol-"]) h5,
:where([class*="brxe-ol-"]) h6,
:where([class*="brxe-ol-"]) button,
:where([class*="brxe-ol-"]) select,
:where([class*="brxe-ol-"]) textarea,
:where([class*="brxe-ol-"]) input:not([type="submit"]){
  line-height:normal;
}

/* Las tarjetas de "Dentro del Libro" cambian el borde a dorado al pasar el ratón. El
   HTML original lo resolvía con onmouseover/onmouseout en línea, escribiendo el estilo
   desde JavaScript. Aquí se hace con CSS, que es lo mismo a la vista y además funciona
   con el teclado. Los colores son exactamente los que ponía aquel JavaScript. */
.ol-tarjeta-oscura{
  border:1px solid rgba(255,255,255,.1);
  padding:36px 28px;
  transition:border-color .3s;
}
.ol-tarjeta-oscura:hover,
.ol-tarjeta-oscura:focus-within{border-color:var(--gold);}
