:root{
  --ink:#17395f;--ink-dark:#102945;--cream:#f8f3e9;--paper:#fffdf9;
  --gold:#c9a25e;--gold-soft:#ead9b9;--sage:#75907e;--rose:#b97872;
  --text:#2d3540;--muted:#66717d;--line:#e8e1d7;
  --shadow:0 20px 60px rgba(23,57,95,.12);--radius:26px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--paper);line-height:1.6}
img{max-width:100%;display:block} a{color:inherit;text-decoration:none} button,input{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.demo-bar{min-height:38px;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 20px;background:var(--ink-dark);color:white;font-size:.78rem;letter-spacing:.02em}
.demo-bar strong{color:#f4dcae;letter-spacing:.1em;font-size:.72rem}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,253,249,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,57,95,.08)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink)}
.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--gold-soft);font-size:1.1rem}
.brand strong{display:block;font-family:"Libre Baskerville",serif;font-size:1rem}.brand small{display:block;color:var(--muted);margin-top:1px}
.main-nav{display:flex;align-items:center;gap:25px;font-size:.91rem;font-weight:600;color:#495461}.main-nav a{transition:.2s ease}.main-nav a:hover{color:var(--ink)}
.nav-cart{background:var(--ink);color:white!important;border-radius:999px;padding:10px 14px}
.nav-cart span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:4px;border-radius:50%;background:white;color:var(--ink);font-size:.72rem}
.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.hero{position:relative;overflow:hidden;padding:96px 0 105px;background:radial-gradient(circle at 15% 10%,rgba(201,162,94,.16),transparent 31%),radial-gradient(circle at 89% 15%,rgba(117,144,126,.17),transparent 28%),linear-gradient(180deg,#fffdf9 0%,#fbf6ed 100%)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:85px;align-items:center}.hero-copy{position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.eyebrow:before{content:"";width:26px;height:1px;background:currentColor}.eyebrow.light{color:#efd7aa}
h1,h2,h3{margin:0;color:var(--ink);line-height:1.16}h1,h2{font-family:"Libre Baskerville",serif}
h1{font-size:clamp(3rem,5.9vw,5.7rem);letter-spacing:-.055em;max-width:760px}h1 em{font-weight:400;color:var(--rose)}
h2{font-size:clamp(2.2rem,4vw,3.65rem);letter-spacing:-.045em}h3{font-size:1.12rem}
.lead{max-width:650px;margin:26px 0 0;font-size:1.18rem;color:#56616d}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 21px;border-radius:999px;font-weight:700;transition:.2s ease}
.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--ink);color:white;box-shadow:0 10px 25px rgba(23,57,95,.18)}
.btn-ghost{background:white;color:var(--ink);border:1px solid var(--line)}.btn-light{background:white;color:var(--ink)}
.btn-small{min-height:38px;padding:0 16px;font-size:.87rem;background:var(--ink);color:white}
.hero-note{display:flex;gap:10px;align-items:flex-start;margin-top:25px;color:var(--muted);font-size:.91rem}
.dot{width:8px;height:8px;border-radius:50%;background:var(--sage);margin-top:7px;flex:0 0 auto}
.hero-visual{position:relative;min-height:550px}.book-stage{position:relative;height:100%;min-height:550px}
.book-glow{position:absolute;width:430px;height:430px;border-radius:50%;left:55%;top:48%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#ead9b9,#dce9e0);opacity:.85}
.book-cover{position:absolute;z-index:2;width:265px;aspect-ratio:513/761;left:48%;top:47%;transform:translate(-50%,-50%) rotate(4deg);border-radius:5px 14px 14px 5px;overflow:hidden;background:#244879;box-shadow:0 38px 55px rgba(23,57,95,.3)}
.book-cover:after{content:"";position:absolute;inset:0;box-shadow:inset 11px 0 12px rgba(0,0,0,.15),inset -1px 0 rgba(255,255,255,.22);pointer-events:none}
.book-cover img{width:100%;height:100%;object-fit:cover}
.book-fallback{display:none;width:100%;height:100%;padding:28px;color:white;text-align:center;place-content:center;background:linear-gradient(180deg,#244879 0 40%,#f5f0e6 40% 83%,#244879 83%)}
.book-fallback strong{font-family:"Libre Baskerville";font-size:1.55rem;line-height:1.25;margin:10px 0}.book-fallback span{font-size:.75rem}
.current-card{position:absolute;z-index:4;right:-12px;bottom:9px;width:min(350px,78%);padding:23px;border-radius:20px;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow)}
.current-card h2{font-size:1.55rem;margin-top:9px}.current-card p{margin:6px 0 14px;color:var(--muted);font-size:.92rem}
.pill,.mini-pill{display:inline-block;border-radius:999px;background:#edf3ef;color:#587465;font-weight:700;font-size:.69rem;padding:5px 9px}.mini-pill{background:#f3ede2;color:#896c39}
.date-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.84rem}.date-row span{color:var(--muted)}
.text-link{display:inline-block;margin-top:14px;color:var(--ink);font-weight:800;font-size:.88rem}
.section{padding:100px 0}.section-head{margin-bottom:48px}.section-head.centered{text-align:center;max-width:800px;margin-left:auto;margin-right:auto}.section-head.centered .eyebrow{justify-content:center}
.section-head.centered p{margin:17px auto 0}.section-head.split{display:grid;grid-template-columns:1fr .65fr;gap:80px;align-items:end}.section-head p{margin:0;color:var(--muted);font-size:1.02rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step-card{position:relative;padding:34px;border-radius:var(--radius);background:white;border:1px solid var(--line);min-height:270px}
.step-card.featured{background:var(--ink);color:white;transform:translateY(-13px);box-shadow:var(--shadow)}.step-card.featured h3{color:white}.step-card.featured p{color:#d7e0e8}
.step-number{position:absolute;right:25px;top:22px;font-weight:800;color:#d2c9ba;font-size:.78rem}.step-icon{font-size:2rem;margin-bottom:33px}
.step-card h3{font-family:"Libre Baskerville";font-size:1.45rem;margin-bottom:8px}.step-card p{margin:0;color:var(--muted)}
.quote-strip{padding:68px 0;background:#efe5d4}.quote-grid{display:grid;grid-template-columns:auto 1fr auto;gap:35px;align-items:center}
.quote-mark{font-family:Georgia,serif;font-size:5rem;color:var(--gold);line-height:.6}blockquote{margin:0;font-family:"Libre Baskerville";font-size:clamp(1.35rem,3vw,2.2rem);color:var(--ink);line-height:1.45}
blockquote cite{display:block;font-family:"DM Sans";font-style:normal;font-size:.83rem;letter-spacing:.08em;text-transform:uppercase;color:#7f725c;margin-top:14px}.mountain-symbol{font-size:4rem;color:#b9a889}
.books-section{background:#fff}.book-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.library-card{display:grid;grid-template-columns:170px 1fr;min-height:245px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;transition:.25s ease}
.library-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(23,57,95,.09)}.library-card.current{border-color:#c8d8cf}
.library-cover{min-height:100%;padding:25px;display:flex;flex-direction:column;justify-content:space-between;color:white}.library-cover span{font-family:"Libre Baskerville";font-size:2.6rem;opacity:.62}
.library-cover strong{font-family:"Libre Baskerville";font-size:1.14rem;line-height:1.25}.library-cover small{opacity:.75}
.c7{background:linear-gradient(145deg,#244879,#163252)}.c6{background:linear-gradient(145deg,#8e6851,#4f4037)}.c5{background:linear-gradient(145deg,#698272,#3a5948)}.c4{background:linear-gradient(145deg,#b77870,#714c4d)}
.library-info{padding:28px}.library-info h3{font-family:"Libre Baskerville";font-size:1.25rem;margin:9px 0}.library-info p{color:var(--muted);font-size:.9rem}.library-info a{color:var(--ink);font-weight:800;font-size:.85rem}
.library-card.compact{grid-template-columns:70px 1fr;align-items:center;min-height:auto;padding:18px}.small-cover{width:56px;height:72px;border-radius:5px;display:grid;place-items:center;color:white;font-family:"Libre Baskerville";font-size:1.55rem}
.c3{background:#6f778e}.c2{background:#b89b65}.c1{background:#7e6d5c}.library-card.compact h3{font-size:1rem}.library-card.compact p{margin:4px 0 0;color:var(--muted);font-size:.83rem}
.media-section{background:var(--cream)}.media-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:26px}
.filter{border:1px solid #dcd2c5;background:white;color:#5e6670;border-radius:999px;padding:9px 14px;cursor:pointer;font-weight:700;font-size:.82rem}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}
.search-box{margin-left:auto;min-width:280px;display:flex;align-items:center;gap:8px;border:1px solid #dcd2c5;background:white;border-radius:999px;padding:0 15px}.search-box input{width:100%;min-height:40px;border:0;outline:0;background:transparent}
.media-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:24px}.featured-media{border-radius:23px;background:white;overflow:hidden;border:1px solid var(--line)}
.video-frame{aspect-ratio:16/9;background:#132945}.video-frame iframe{width:100%;height:100%;border:0}.featured-media-copy{padding:24px}.featured-media-copy h3{font-family:"Libre Baskerville";font-size:1.35rem;margin:9px 0}
.featured-media-copy p{color:var(--muted)}.meta{font-size:.77rem;color:#8b7f71;font-weight:700}.media-list{display:flex;flex-direction:column;gap:13px}
.media-row{display:grid;grid-template-columns:52px 1fr auto;gap:15px;align-items:center;background:white;border:1px solid var(--line);border-radius:19px;padding:18px}
.media-icon{width:50px;height:50px;border-radius:15px;background:#f4eee4;display:grid;place-items:center;font-size:1.35rem}.media-row h3{font-size:1rem;margin:4px 0}.media-row p{margin:0;color:var(--muted);font-size:.83rem}
.round-action{width:39px;height:39px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--ink);cursor:pointer;font-weight:800}.empty-state{display:none;text-align:center;padding:25px;color:var(--muted)}
.shop-section{background:#fff}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{border:1px solid var(--line);border-radius:23px;overflow:hidden;background:white}
.product-image{min-height:300px;background:#f0ece6;display:grid;place-items:center;position:relative;overflow:hidden}.book-product{background:#e8e1d7}.book-product img{height:270px;width:auto;box-shadow:0 18px 35px rgba(24,39,57,.18);z-index:2}
.placeholder-title{position:absolute;text-align:center;color:var(--ink);font-family:"Libre Baskerville";font-weight:700}.symbolic{font-family:"Libre Baskerville";font-size:7rem;color:#c8a96f;background:linear-gradient(145deg,#f4eee1,#e8dfd2)}
.symbolic.heart{color:#b97872;background:linear-gradient(145deg,#f4e8e5,#eee4d6)}.product-copy{padding:23px}.product-copy h3{font-family:"Libre Baskerville";font-size:1.25rem;margin:9px 0}.product-copy p{color:var(--muted);font-size:.9rem}
.product-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.price{font-size:.78rem;color:#8a7f72}
.cart-preview{margin-top:25px;padding:25px 28px;border-radius:22px;background:#f5f1e8;border:1px solid #e5dccf;display:flex;align-items:center;justify-content:space-between;gap:20px}
.cart-preview>div{flex:1;min-width:0}
.books-section .section-head .books-access-intro{margin:12px 0 0;max-width:620px}
.books-section .section-head .books-return-intro{font-size:1.125rem;font-weight:700;line-height:1.6}
.cart-preview>.btn{flex:0 0 auto;min-width:190px;white-space:nowrap;padding-left:28px;padding-right:28px}
@media(max-width:560px){.cart-preview>.btn{width:100%;min-width:0}}
.cart-preview h3{font-family:"Libre Baskerville";font-size:1.35rem;margin:3px 0}.cart-preview p{margin:0;color:var(--muted)}
.prayer-section{background:var(--ink);color:white;position:relative;overflow:hidden}.prayer-section:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-150px;top:-160px}
.prayer-grid{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:center;position:relative;z-index:2}.prayer-copy h2{color:white}.prayer-copy p{color:#cdd8e2;font-size:1.05rem;max-width:640px;margin:18px 0 30px}
.prayer-card{padding:42px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:rgba(255,255,255,.07)}.cross{font-size:2.2rem;color:#efd7aa}
.prayer-card p{font-family:"Libre Baskerville";font-size:1.7rem;line-height:1.5;margin:23px 0}.prayer-card small{color:#bac8d3}
.newsletter{background:#faf6ef}.newsletter-card{padding:42px;border-radius:28px;background:white;border:1px solid var(--line);display:grid;grid-template-columns:1fr .85fr;gap:55px;align-items:center;box-shadow:var(--shadow)}
.newsletter-card h2{font-size:2rem}.newsletter-card p{margin:9px 0 0;color:var(--muted)}.newsletter-form{display:flex;gap:9px}.newsletter-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:0 18px;outline:0}.newsletter-form input:focus{border-color:#9caebd}
.contact-section{background:white}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center}.contact-grid p{color:var(--muted)}.contact-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}
.contact-pills a{padding:10px 15px;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:.85rem}.contact-note{display:flex;gap:18px;padding:31px;border-radius:25px;background:var(--cream);border:1px solid var(--line)}
.contact-note>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#ead9b9;flex:0 0 auto}.contact-note strong{font-family:"Libre Baskerville";color:var(--ink);font-size:1.13rem}.contact-note p{margin:7px 0 0}
.site-footer{padding:35px 0;background:#102945;color:#bfcbd6}.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.footer-brand{color:white}.footer-brand .brand-mark{background:#fff;color:var(--ink)}.footer-brand small{color:#bfcbd6}
.site-footer p{font-size:.8rem;text-align:center}.footer-links{justify-self:end;display:flex;gap:17px;font-size:.8rem}
.toast{position:fixed;right:22px;bottom:22px;z-index:80;max-width:360px;padding:14px 18px;border-radius:14px;background:#102945;color:white;box-shadow:0 15px 35px rgba(0,0,0,.2);opacity:0;transform:translateY(14px);pointer-events:none;transition:.25s ease}
.toast.show{opacity:1;transform:translateY(0)}
@media (max-width:1020px){.main-nav{gap:14px;font-size:.82rem}.hero-grid{gap:35px}.current-card{right:0}.section-head.split{grid-template-columns:1fr;gap:18px}.products{grid-template-columns:repeat(2,1fr)}.products .product-card:last-child{grid-column:1/-1}.footer-grid{grid-template-columns:1fr}.footer-links{justify-self:start}.site-footer p{text-align:left}}
@media (max-width:820px){.demo-bar{align-items:flex-start;flex-direction:column;gap:1px}.nav-wrap{min-height:70px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:20px;right:20px;flex-direction:column;align-items:stretch;background:white;padding:18px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.hero{padding:70px 0}.hero-grid,.media-layout,.prayer-grid,.newsletter-card,.contact-grid{grid-template-columns:1fr}.hero-visual{min-height:500px}.steps{grid-template-columns:1fr}.step-card.featured{transform:none}.book-grid{grid-template-columns:1fr}.section{padding:75px 0}.media-toolbar{align-items:stretch}.search-box{order:-1;margin-left:0;width:100%}.products{grid-template-columns:1fr}.products .product-card:last-child{grid-column:auto}.newsletter-form{flex-direction:column}.newsletter-form input{min-height:48px}.quote-grid{grid-template-columns:auto 1fr}.mountain-symbol{display:none}}
@media (max-width:560px){.container{width:min(100% - 28px,1180px)}h1{font-size:3rem}h2{font-size:2.2rem}.hero-visual{min-height:475px}.book-glow{width:330px;height:330px}.book-cover{width:220px;left:50%;top:42%}.current-card{bottom:0;width:100%;right:0}.library-card{grid-template-columns:115px 1fr}.library-cover{padding:17px}.library-info{padding:20px}.library-info p{font-size:.84rem}.cart-preview{flex-direction:column;align-items:flex-start}.product-image{min-height:245px}.book-product img{height:220px}}

.newsletter-alert{margin-top:16px;padding:12px 14px;border-radius:14px;font-size:.9rem;line-height:1.45}
.newsletter-alert-success{background:#edf6ef;border:1px solid #cfe5d3;color:#315a3b}
.newsletter-alert-error{background:#fff0ef;border:1px solid #f0c9c5;color:#8b3c35}


/* HOTFIX 1.0.3.2 - cabecera compacta blanca */
.site-header{
  background:#fff;
  border-bottom:1px solid rgba(23,57,95,.10);
  box-shadow:0 6px 22px rgba(16,41,69,.12);
}
.site-header .nav-wrap{min-height:72px}
.brand-with-logo{display:flex;align-items:center;padding:0}
.brand-with-logo img{
  display:block;
  width:auto;
  height:54px;
  max-width:150px;
  object-fit:contain;
  background:#fff;
  border-radius:10px;
  padding:3px;
}
.site-header .main-nav a{color:#17395f}
.site-header .main-nav a:hover{color:#b27a58}
.site-header .nav-cart{background:#17395f;color:#fff!important}
.site-header .nav-cart span{background:#fff;color:#17395f}
.site-header .menu-toggle span{background:#17395f}
@media(max-width:820px){
  .site-header .nav-wrap{min-height:68px}
  .brand-with-logo img{height:48px;max-width:135px}
  .site-header .main-nav{background:#fff;border-color:rgba(23,57,95,.12)}
  .site-header .main-nav a{color:#17395f}
}


/* HOTFIX 1.0.3.3 - carrito visible y retirada de franja de demo */
.demo-bar{display:none!important}
.site-header .nav-cart{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:126px!important;
  padding:10px 16px!important;
  background:#17395f!important;
  color:#fff!important;
  border-radius:999px!important;
  line-height:1!important;
}
.site-header .nav-cart .nav-cart-label{
  display:inline!important;
  color:#fff!important;
  background:transparent!important;
  font-size:.91rem!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.site-header .nav-cart .nav-cart-count{
  display:inline-grid!important;
  place-items:center!important;
  min-width:23px!important;
  width:23px!important;
  height:23px!important;
  margin:0!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#17395f!important;
  font-size:.75rem!important;
  font-weight:800!important;
}
@media(max-width:820px){
  .site-header .nav-cart{width:100%!important;justify-content:space-between!important}
}


/* HOTFIX 1.0.3.4 - logo más visible y tienda editorial */
.site-header .nav-wrap{min-height:82px!important}
.brand-with-logo img,
.site-header .brand-with-logo img{
  height:68px!important;
  max-width:178px!important;
  padding:2px!important;
}
.current-product{
  position:relative;
  border-color:#d9bd83!important;
  box-shadow:0 20px 48px rgba(23,57,95,.13)!important;
  transform:translateY(-7px);
}
.current-product-badge{
  position:absolute;
  z-index:5;
  top:16px;
  right:16px;
  padding:6px 11px;
  border-radius:999px;
  background:#17395f;
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.03em;
}
.previous-book img{max-height:270px!important;object-fit:contain!important}
.materials-symbol{font-size:5.5rem!important;color:#6f8398!important;background:linear-gradient(145deg,#edf1f4,#f5efe5)!important}
.product-footer a.btn-small{background:#17395f;color:#fff}
@media(max-width:820px){
  .site-header .nav-wrap{min-height:76px!important}
  .brand-with-logo img,.site-header .brand-with-logo img{height:60px!important;max-width:158px!important}
  .current-product{transform:none}
}


/* HOTFIX 1.0.3.5 - tarjetas de tienda perfectamente alineadas */
.products{
  align-items:stretch!important;
}
.product-card{
  height:100%!important;
}
.current-product{
  transform:none!important;
  border:2px solid #d9bd83!important;
  box-shadow:0 20px 48px rgba(23,57,95,.13)!important;
  background:
    linear-gradient(180deg,rgba(248,243,233,.35),rgba(255,255,255,0) 38%),
    #fff!important;
}
.current-product-badge{
  display:none!important;
}
.current-product .product-copy{
  position:relative;
}
.current-product .product-copy:before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:3px;
  border-radius:999px;
  background:#d9bd83;
}
@media(max-width:820px){
  .current-product{transform:none!important}
}


/* v1.0.5 - portada editable */
.hero-note .hero-note-text{
  font-weight:800;
  color:#4b5a66;
}
.current-card-author{
  margin-top:5px;
  color:#8a7656;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.current-card .current-request-link{
  font-size:.98rem;
  font-weight:850;
  margin-top:16px;
}


/* v1.0.6 - ajuste visual del libro actual en portada */
@media (min-width: 1021px){
  .book-cover{
    left:44% !important;
  }
  .current-card{
    right:-8px !important;
    bottom:-14px !important;
  }
}


/* v1.0.6.1 - hero libro actual menos tapado */
@media (min-width: 1021px){
  .hero-visual,.book-stage{
    min-height:620px !important;
  }
  .book-glow{
    left:53% !important;
    top:47% !important;
  }
  .book-cover{
    left:42% !important;
    top:45% !important;
    width:255px !important;
  }
  .current-card{
    width:min(325px,72%) !important;
    right:-22px !important;
    bottom:-72px !important;
    padding:22px !important;
  }
}


/* v1.0.8 - "Un camino compartido" y tarjetas interactivas */
.intro .section-head .eyebrow{
  font-weight:900!important;
  color:#b8873e!important;
}

.flip-steps{
  align-items:stretch;
}
.step-flip{
  min-height:285px;
  perspective:1200px;
  cursor:pointer;
  outline:none;
}
.step-flip-inner{
  position:relative;
  width:100%;
  height:100%;
  min-height:285px;
  transform-style:preserve-3d;
  transition:transform .62s cubic-bezier(.2,.75,.25,1);
}
.step-flip:hover .step-flip-inner,
.step-flip:focus-visible .step-flip-inner,
.step-flip.is-flipped .step-flip-inner{
  transform:rotateY(180deg);
}
.step-face{
  position:absolute;
  inset:0;
  padding:34px;
  border-radius:var(--radius);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(23,57,95,.05);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.step-front{
  background:#fff;
  color:var(--text);
}
.step-back{
  transform:rotateY(180deg);
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
  box-shadow:var(--shadow);
}
.step-face .step-number{
  top:22px;
  right:25px;
}
.step-front .step-number{color:#d2c9ba}
.step-back .step-number{color:rgba(255,255,255,.48)}
.step-icon-svg{
  width:48px;
  height:48px;
  margin-bottom:28px;
  color:var(--ink);
}
.step-icon-svg svg{
  display:block;
  width:100%;
  height:100%;
}
.step-back .step-icon-svg{color:#fff}
.step-face h3{
  font-family:"Libre Baskerville",serif;
  font-size:1.45rem;
  margin-bottom:8px;
}
.step-front h3{color:var(--ink)}
.step-back h3{color:#fff}
.step-front p{color:var(--muted);margin:0}
.step-back p{color:#e4ebf1;margin:0}

@media (hover:none){
  .step-flip:hover .step-flip-inner{transform:none}
  .step-flip.is-flipped .step-flip-inner{transform:rotateY(180deg)}
}
@media(max-width:820px){
  .step-flip,.step-flip-inner{min-height:255px}
}


/* v1.0.9 - slider de frases */
.quote-slider{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#efe5d4;
}
.quote-slider-track{
  position:relative;
  min-height:305px;
}
.quote-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateX(3%);
  pointer-events:none;
  transition:opacity .55s ease, transform .55s ease;
}
.quote-slide.active{
  position:relative;
  opacity:1;
  transform:translateX(0);
  pointer-events:auto;
}
.quote-slide-inner{
  min-height:305px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:36px;
  align-items:center;
  padding-top:58px;
  padding-bottom:48px;
}
.quote-slide .quote-mark{
  font-family:Georgia,serif;
  font-size:5rem;
  color:var(--gold);
  line-height:.6;
}
.quote-slide blockquote{
  margin:0;
  font-family:"Libre Baskerville",serif;
  font-size:clamp(1.55rem,3vw,2.55rem);
  color:var(--ink);
  line-height:1.45;
}
.quote-slide blockquote cite{
  display:block;
  font-family:"DM Sans",sans-serif;
  font-style:normal;
  font-size:.82rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#7f725c;
  margin-top:16px;
}
.quote-slide .mountain-symbol{
  font-size:4rem;
  color:#b9a889;
}
.quote-empty{
  display:block;
  min-height:1.5em;
}
.quote-slider-controls{
  position:absolute;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  display:flex;
  gap:9px;
  z-index:5;
}
.quote-dot{
  width:34px;
  height:6px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(23,57,95,.22);
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.quote-dot:hover,
.quote-dot:focus-visible{
  background:rgba(23,57,95,.48);
  outline:none;
}
.quote-dot.active{
  background:var(--ink);
  transform:scaleX(1.1);
}
@media(max-width:820px){
  .quote-slider-track,
  .quote-slide-inner{min-height:280px}
  .quote-slide-inner{
    grid-template-columns:auto 1fr;
    gap:20px;
    padding-top:46px;
    padding-bottom:52px;
  }
  .quote-slide .mountain-symbol{display:none}
  .quote-slide blockquote{font-size:clamp(1.3rem,6vw,1.9rem)}
}


/* v1.0.10 - Nuestros libros con tarjetas uniformes y portada real */
.book-grid-uniform{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch;
}
.book-card-uniform{
  position:relative;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  min-height:330px!important;
  height:100%!important;
  overflow:hidden;
  background:#fff;
}
.book-card-cover{
  background:linear-gradient(145deg,#f1ebe1,#e8e0d4);
  display:grid;
  place-items:center;
  padding:22px;
  min-height:330px;
}
.book-card-cover img{
  display:block;
  max-width:100%;
  width:auto;
  height:270px;
  object-fit:contain;
  box-shadow:0 16px 30px rgba(23,57,95,.17);
}
.book-card-info{
  position:relative;
  padding:30px 34px 26px!important;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.book-card-info .book-number{
  position:absolute;
  top:18px;
  right:24px;
  font-family:"Libre Baskerville",serif;
  font-size:4rem;
  line-height:1;
  color:rgba(23,57,95,.12);
  font-weight:700;
}
.book-card-info .mini-pill{
  align-self:flex-start;
  margin-bottom:9px;
}
.book-card-info h3{
  font-family:"Libre Baskerville",serif;
  font-size:1.45rem;
  margin:0 58px 6px 0;
  color:var(--ink);
}
.book-author{
  color:#8a7656;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.055em;
  margin-bottom:13px;
}
.book-card-info p{
  color:var(--muted);
  margin:0;
  font-size:.93rem;
  line-height:1.65;
}
.book-card-bottom{
  margin-top:auto;
  padding-top:20px;
}
.book-card-bottom a,
.book-link-placeholder{
  color:var(--ink);
  font-weight:800;
  font-size:.88rem;
}
.book-link-placeholder{display:inline-block}
.book-date-status{
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid var(--line);
  color:#8a7f72;
  font-size:.83rem;
}
.book-date-status strong{
  color:#5d7667;
}
.book-card-uniform.current{
  border-color:#cdb478!important;
  box-shadow:0 16px 38px rgba(23,57,95,.09)!important;
}
.book-card-uniform.current:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:#c9a25e;
  z-index:3;
}
@media(max-width:980px){
  .book-grid-uniform{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  .book-card-uniform{
    grid-template-columns:125px minmax(0,1fr)!important;
    min-height:265px!important;
  }
  .book-card-cover{
    min-height:265px;
    padding:14px;
  }
  .book-card-cover img{height:220px}
  .book-card-info{padding:22px 19px 20px!important}
  .book-card-info .book-number{font-size:3rem;right:15px;top:14px}
  .book-card-info h3{font-size:1.15rem;margin-right:38px}
  .book-author{font-size:.68rem}
  .book-card-info p{font-size:.84rem}
}


/* v1.1.4 - Leer por mi cuenta */
.self-read-pill{
  background:#eef4ef!important;
  color:#5d7667!important;
}

.self-reading-band{
  padding:58px 0;
  background:linear-gradient(135deg,#17395f,#244d78);
  color:#fff;
}
.self-reading-band-inner{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:46px;
  align-items:center;
}
.self-reading-copy .eyebrow{
  color:#efd7aa;
}
.self-reading-copy h2{
  color:#fff;
  font-size:clamp(2rem,3.5vw,3rem);
}
.self-reading-copy p{
  margin:14px 0 0;
  color:#dbe5ed;
  max-width:540px;
}
.self-reading-links{
  display:grid;
  gap:9px;
}
.self-reading-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 17px;
  border-radius:14px;
  text-decoration:none;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.13);
  color:#fff;
  transition:background .2s ease, transform .2s ease;
}
.self-reading-link:hover{
  background:rgba(255,255,255,.16);
  transform:translateX(3px);
}
.self-reading-link span{
  font-family:"Libre Baskerville",serif;
  font-weight:700;
}
.self-reading-link strong{
  white-space:nowrap;
  color:#efd7aa;
  font-size:.84rem;
}

@media(max-width:820px){
  .self-reading-band-inner{grid-template-columns:1fr}
}
@media(max-width:560px){
  .self-reading-link{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
}


/* v1.1.5.1 - compensar cabecera fija en anclas */
#leer-por-mi-cuenta,
#semanas{
  scroll-margin-top:100px;
}


/* v1.1.6 - Reflexiones y recursos de la Escuela */
.resources-section{
  background:var(--cream);
}
.resources-head{
  margin-bottom:34px;
}
.resources-layout{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:24px;
  align-items:stretch;
}
.resources-featured{
  height:100%;
}
.resource-recent-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.resource-recent-title{
  color:var(--ink);
  font-family:"Libre Baskerville",serif;
  font-weight:700;
  margin-bottom:2px;
}
.resource-recent-card{
  min-height:115px;
  display:grid;
  grid-template-columns:76px 1fr auto;
  gap:15px;
  align-items:center;
  padding:13px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.resource-recent-card:hover{
  transform:translateX(3px);
  box-shadow:0 10px 25px rgba(23,57,95,.08);
}
.resource-recent-cover{
  width:70px;height:86px;
  border-radius:10px;
  background:#f1ebe2;
  display:grid;place-items:center;
  overflow:hidden;
}
.resource-recent-cover img{
  width:100%;height:100%;
  object-fit:contain;
  padding:5px;
}
.resource-recent-card h3{
  font-size:1rem;
  margin:4px 0;
}
.resource-recent-card p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
}
.resource-arrow{
  color:var(--ink);
  font-size:1.25rem;
  font-weight:800;
}

.school-search{
  margin-top:34px;
  padding:28px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(23,57,95,.045);
}
.school-search-head{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:30px;
  align-items:end;
}
.school-search-head h3{
  font-family:"Libre Baskerville",serif;
  font-size:1.55rem;
}
.school-search-box{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:0 17px;
  border-radius:999px;
  background:#fbf8f2;
  border:1px solid #dcd2c5;
}
.school-search-box input{
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  min-height:45px;
}
.school-search-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.school-search-tab{
  border:1px solid #dcd2c5;
  background:#fff;
  color:#5e6670;
  border-radius:999px;
  padding:8px 13px;
  cursor:pointer;
  font-weight:750;
  font-size:.8rem;
}
.school-search-tab.active{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.school-search-status{
  margin:18px 0 10px;
  color:var(--muted);
  font-size:.86rem;
}
.school-search-results{
  display:grid;
  gap:9px;
}
.school-result{
  display:grid;
  grid-template-columns:62px 1fr auto;
  gap:14px;
  align-items:center;
  padding:12px 13px;
  border-radius:15px;
  text-decoration:none;
  border:1px solid #ece5dc;
  background:#fff;
  transition:background .2s ease,transform .2s ease;
}
.school-result:hover{
  background:#fbf8f2;
  transform:translateX(2px);
}
.school-result-image{
  width:58px;height:68px;
  display:grid;place-items:center;
  border-radius:9px;
  background:#f1ebe2;
  color:var(--gold);
  overflow:hidden;
}
.school-result-image img{
  width:100%;height:100%;
  object-fit:contain;
  padding:4px;
}
.school-result-type{
  display:inline-block;
  font-size:.66rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#8a7656;
}
.school-result h4{
  margin:3px 0;
  color:var(--ink);
}
.school-result-meta{
  color:#77818c;
  font-size:.78rem;
}
.school-result p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.82rem;
}
.school-result-arrow{
  color:var(--ink);
  font-size:1.2rem;
  font-weight:800;
}

@media(max-width:900px){
  .resources-layout,
  .school-search-head{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .school-search{padding:20px 16px}
  .resource-recent-card{
    grid-template-columns:62px 1fr auto;
  }
  .resource-recent-cover{width:58px;height:72px}
  .school-result{
    grid-template-columns:52px 1fr;
  }
  .school-result-image{width:48px;height:58px}
  .school-result-arrow{display:none}
}


/* v1.1.7 - recursos configurables, 4 libros y buscador compacto */
.resources-layout-v2{
  grid-template-columns:1.02fr .98fr;
  align-items:stretch;
}
.resource-book-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.resource-book-card{
  min-height:112px;
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:15px;
  align-items:center;
  padding:12px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.resource-book-card:hover{
  transform:translateX(3px);
  box-shadow:0 10px 25px rgba(23,57,95,.08);
}
.resource-book-cover{
  width:68px;
  height:86px;
  display:grid;
  place-items:center;
  border-radius:9px;
  overflow:hidden;
  background:#f1ebe2;
}
.resource-book-cover img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
}
.resource-book-copy{
  min-width:0;
}
.resource-book-copy h3{
  margin:0 0 5px;
  color:var(--ink);
  font-family:"Libre Baskerville",serif;
  font-size:1.08rem;
}
.resource-book-copy p{
  margin:0 0 7px;
  color:var(--muted);
  font-size:.79rem;
  line-height:1.45;
}
.resource-week-label{
  display:inline-block;
  color:#9a713b;
  font-size:.72rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.school-search-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:14px;
}
.school-search-more{
  min-width:180px;
}
@media(max-width:900px){
  .resources-layout-v2{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .resource-book-card{
    grid-template-columns:58px 1fr auto;
  }
  .resource-book-cover{
    width:54px;
    height:70px;
  }
  .resource-book-copy h3{
    font-size:.96rem;
  }
  .resource-book-copy p{
    display:none;
  }
}


/* v1.1.9 - newsletter */
.newsletter-hp{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.newsletter-action-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:30px;
  background:#f7f3ec;
}

.newsletter-action-card{
  width:min(620px,100%);
  padding:36px;
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  text-align:center;
}

.newsletter-action-card img{
  width:110px;
  height:95px;
  object-fit:contain;
  margin-bottom:18px;
}

.newsletter-action-card .eyebrow{
  justify-content:center;
}

.newsletter-action-card h1{
  font-size:clamp(2rem,5vw,3.2rem);
  margin:10px 0 15px;
}

.newsletter-action-card p{
  color:var(--muted);
  margin-bottom:24px;
}


/* v1.1.10 - Contacto configurable y botón volver arriba */
.contact-pills-icons{
  gap:10px;
}
.contact-pill-icon{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:9px 14px!important;
  border-radius:999px;
  text-decoration:none;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-weight:750;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-pill-icon:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(23,57,95,.08);
  background:#fbf8f2;
}
.contact-icon{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  color:var(--ink);
}
.contact-icon svg{
  width:100%;
  height:100%;
  display:block;
}

.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:80;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--ink);
  color:#fff;
  font-size:1.35rem;
  font-weight:800;
  box-shadow:0 12px 30px rgba(23,57,95,.28);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease;
}
.back-to-top.visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{
  background:#244d78;
}
@media(max-width:620px){
  .back-to-top{
    right:16px;
    bottom:16px;
    width:44px;
    height:44px;
  }
}


/* v1.1.11 - WhatsApp flotante, logos y visuales */
.site-header .nav-wrap{min-height:88px!important}
.brand-with-logo img,
.site-header .brand-with-logo img{height:78px!important;max-width:205px!important;padding:2px!important}
@media(max-width:820px){
  .site-header .nav-wrap{min-height:78px!important}
  .brand-with-logo img,.site-header .brand-with-logo img{height:64px!important;max-width:170px!important}
}

.book-card-cover-link{display:block}
.book-card-cover-link img{transition:transform .22s ease,box-shadow .22s ease}
.book-card-cover-link:hover img{transform:translateY(-3px) scale(1.01)}

.contact-note-visual{
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#f7f1e7,#fffdf9);
}
.contact-note-visual img{
  display:block;
  width:100%;
  max-width:520px;
  height:auto;
  border-radius:22px;
}

.footer-brand-logo{
  width:72px;
  min-width:72px;
  height:72px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#fff;
  padding:8px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.footer-brand-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand strong{display:block}
.footer-brand small{display:block;margin-top:4px}

.floating-whatsapp{
  position:fixed;
  left:20px;
  bottom:24px;
  z-index:82;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 16px 11px 12px;
  border-radius:999px;
  background:linear-gradient(180deg,#2fd069,#20b858);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 16px 32px rgba(31,184,86,.34);
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.floating-whatsapp:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(31,184,86,.42);
}
.floating-whatsapp-icon{width:26px;height:26px;display:grid;place-items:center;color:#fff}
.floating-whatsapp-icon svg{width:100%;height:100%;display:block}
.floating-whatsapp-label{line-height:1}
@media(max-width:700px){
  .floating-whatsapp{left:14px;bottom:14px;padding:11px;border-radius:50%}
  .floating-whatsapp-label{display:none}
}


.contact-promo-card{
  padding:22px 22px 18px;
  background:linear-gradient(180deg,#f7f1e7,#fffdf9);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.contact-promo-top{
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  color:#b27a58;
}
.contact-promo-grid{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.contact-promo-figure{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.contact-promo-figure img{
  width:100%;
  max-width:180px;
  height:auto;
  display:block;
}
.contact-promo-copy h3{
  margin:0 0 6px;
  font-size:2rem;
}
.contact-promo-brand{
  font-family:"Libre Baskerville",serif;
  font-style:italic;
  font-size:2.45rem;
  line-height:1.05;
  color:var(--ink);
  margin-bottom:8px;
}
.contact-promo-copy p{
  margin:0 0 16px;
  color:var(--ink);
  font-family:"Libre Baskerville",serif;
  font-style:italic;
  font-size:1.1rem;
}
.contact-promo-logos{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.promo-logo-vive{
  width:88px;
  height:auto;
  display:block;
}
.promo-editorial-wrap{
  display:flex;
  align-items:center;
  gap:10px;
}
.promo-logo-editorial{
  width:56px;
  height:auto;
  display:block;
}
.promo-editorial-text{display:flex;flex-direction:column;gap:2px}
.promo-editorial-text strong{font-size:1rem;color:var(--ink)}
.promo-editorial-text span{font-size:.82rem;color:var(--muted)}
@media(max-width:920px){
  .contact-promo-grid{grid-template-columns:1fr;gap:10px}
  .contact-promo-figure{justify-content:flex-start}
}


/* v1.2.0.1 - Acceso y registro visibles desde la web pública */
.main-nav .nav-reader-account{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border-radius:999px;white-space:nowrap;text-decoration:none;font-size:.82rem;font-weight:850;line-height:1}
.main-nav .nav-reader-login{color:var(--ink);border:1px solid #ddd3c6;background:#fff}
.main-nav .nav-reader-login:hover{background:#f7f2ea}
.main-nav .nav-reader-register,.main-nav .nav-reader-private{color:#fff!important;background:var(--ink);border:1px solid var(--ink)}
.main-nav .nav-reader-register:hover,.main-nav .nav-reader-private:hover{background:#284f78}
@media(min-width:981px) and (max-width:1450px){.main-nav{gap:12px!important}.main-nav>a{font-size:.88rem}.main-nav .nav-reader-account{padding:7px 9px;font-size:.78rem}}
@media(max-width:980px){.main-nav .nav-reader-account{width:100%;min-height:42px;margin-top:2px}}


/* v1.2.0.2 - Menú superior más limpio */
.main-nav{
  gap:18px;
}

.main-nav .nav-reader-account{
  display:none!important;
}

.main-nav .nav-reader-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-width:88px;
  line-height:1;
  flex:0 0 auto;
}

.main-nav .nav-reader-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 13px;
  border-radius:999px;
  background:var(--ink);
  border:1px solid var(--ink);
  color:#fff!important;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
  text-decoration:none;
}

.main-nav .nav-reader-primary:hover{
  background:#284f78;
  color:#fff!important;
}

.main-nav .nav-reader-secondary{
  display:inline-block;
  padding:1px 5px;
  color:#53677e!important;
  font-size:.69rem;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:2px;
  white-space:nowrap;
}

.main-nav .nav-reader-secondary:hover{
  color:var(--ink)!important;
}

.main-nav .nav-reader-stack-private{
  min-width:auto;
}

.main-nav > a,
.main-nav .nav-reader-stack a{
  white-space:nowrap;
}

@media(min-width:981px) and (max-width:1450px){
  .main-nav{
    gap:12px!important;
  }
  .main-nav > a{
    font-size:.84rem!important;
  }
  .main-nav .nav-reader-stack{
    min-width:80px;
  }
  .main-nav .nav-reader-primary{
    min-height:32px;
    padding:6px 10px;
    font-size:.73rem;
  }
  .main-nav .nav-reader-secondary{
    font-size:.65rem;
  }
}

@media(max-width:980px){
  .main-nav .nav-reader-stack{
    width:100%;
    min-width:0;
    align-items:stretch;
    gap:7px;
    padding-top:4px;
  }
  .main-nav .nav-reader-primary{
    width:100%;
    min-height:42px;
  }
  .main-nav .nav-reader-secondary{
    text-align:center;
    padding:5px;
    font-size:.8rem;
  }
}


/* v1.2.0.3 - nuevo logo de Escuela de Lectura */
.site-header .brand-with-logo{
  width:170px;
  min-width:170px;
  height:64px;
  display:flex;
  align-items:center;
  overflow:visible;
}
.site-header .brand-with-logo img{
  width:100%;
  height:58px;
  object-fit:contain;
  object-position:left center;
}

/* Vídeo semanal entre portada e introducción */
.weekly-video-section{
  padding:56px 0 34px;
  background:linear-gradient(180deg,#fff 0%,#fbf7f0 100%);
}
.weekly-video-card{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);
  gap:34px;
  align-items:center;
  padding:24px;
  border:1px solid #eadfce;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 46px rgba(23,57,95,.07);
}
.weekly-video-frame{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:20px;
  background:#0d2035;
}
.weekly-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.weekly-video-copy h2{
  margin:10px 0 12px;
  font-size:clamp(2rem,3vw,3.35rem);
  line-height:1.02;
}
.weekly-video-copy p{
  margin:0 0 20px;
  color:#5c6d7f;
  line-height:1.7;
}
.weekly-video-link{
  display:inline-flex;
}

@media(max-width:920px){
  .site-header .brand-with-logo{
    width:135px;
    min-width:135px;
  }
  .site-header .brand-with-logo img{
    height:52px;
  }
  .weekly-video-card{
    grid-template-columns:1fr;
  }
}
@media(max-width:600px){
  .weekly-video-section{
    padding:34px 0 22px;
  }
  .weekly-video-card{
    padding:14px;
    border-radius:20px;
  }
}


/* v1.2.0.4 - imágenes de Lee / Escucha / Vive */
.step-character-image{
  width:104px;
  height:104px;
  display:grid;
  place-items:center;
  margin:0 0 16px;
}
.step-character-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.step-back .step-character-image{
  width:92px;
  height:92px;
  margin-bottom:12px;
}
@media(max-width:700px){
  .step-character-image{width:92px;height:92px;}
}


/* v1.2.3.0 - newsletter vinculada a la cuenta */
.newsletter-account-form{
  align-items:center;
}
.newsletter-account-choice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 18px;
  border:1px solid #e4d9cb;
  border-radius:18px;
  background:#fff;
  min-width:min(100%,430px);
}
.newsletter-account-choice input{
  width:20px;
  height:20px;
  margin-top:2px;
  flex:0 0 auto;
}
.newsletter-account-choice span{
  display:grid;
  gap:4px;
}
.newsletter-account-choice strong{
  color:#17395f;
}
.newsletter-account-choice small{
  color:#6b7885;
  line-height:1.4;
}


/* v1.2.3.3 - newsletter de cuenta: botón dentro del bloque */
.newsletter-account-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  width:100%;
}

.newsletter-account-choice{
  min-width:0!important;
  width:100%;
  margin:0!important;
}

.newsletter-account-form .btn{
  position:static!important;
  margin:0!important;
  align-self:center;
  white-space:nowrap;
}

@media(max-width:760px){
  .newsletter-account-form{
    grid-template-columns:1fr;
  }

  .newsletter-account-form .btn{
    width:100%;
  }
}


/* v1.2.3.4 - estado claro de newsletter */
.newsletter-account-status{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  width:100%;
  padding:18px 20px;
  border:1px solid #d8e7dc;
  border-radius:20px;
  background:#f4faf5;
}

.newsletter-status-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e2f2e6;
  color:#2e6a3e;
  font-weight:900;
  font-size:1.15rem;
}

.newsletter-status-copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.newsletter-status-copy strong{
  color:#17395f;
  font-size:1.05rem;
}

.newsletter-status-copy small{
  color:#4f6a59;
  font-weight:750;
}

.newsletter-status-copy span{
  color:#667482;
  font-size:.88rem;
  line-height:1.45;
}

.newsletter-unsubscribe-btn{
  white-space:nowrap;
}

@media(max-width:820px){
  .newsletter-account-status{
    grid-template-columns:auto 1fr;
  }
  .newsletter-account-status form{
    grid-column:1/-1;
  }
  .newsletter-account-status .btn{
    width:100%;
  }
}

/* Imagen configurable de Portada / Contacto. */
.contact-note.contact-uploaded-image{display:block;padding:0;overflow:hidden;background:transparent;align-self:center}.contact-uploaded-image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:26px}

/* v1.2.5.16: contacto compacto e imagen horizontal protagonista. */
.contact-section .contact-grid{grid-template-columns:minmax(260px,.75fr) minmax(0,1.5fr);gap:36px;align-items:center}
.contact-section .contact-grid>div{min-width:0}
.contact-section .contact-grid h2{font-size:clamp(2rem,3vw,2.7rem);line-height:1.15;margin-bottom:18px}
.contact-section .contact-grid .contact-pills-icons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:370px;gap:10px;margin-top:22px}
.contact-section .contact-pill-icon{justify-content:center;min-width:0;font-size:.82rem;text-align:center}
.contact-section .contact-pill-icon .contact-icon{flex-shrink:0}
.contact-section .contact-pill-icon span:last-child{min-width:0;overflow-wrap:anywhere}
.contact-section .contact-uploaded-image{width:100%;min-width:0}
.contact-section .contact-uploaded-image img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:820px){.contact-section .contact-grid{grid-template-columns:1fr;gap:30px}.contact-section .contact-grid h2{font-size:2.2rem}.contact-section .contact-grid .contact-pills-icons{max-width:400px}.contact-section .contact-uploaded-image{max-width:760px;margin-inline:auto}}

.footer-links{flex-wrap:wrap;justify-content:flex-end}.footer-links button{background:none;border:0;color:inherit;font:inherit;padding:0;text-decoration:underline;cursor:pointer}

/* v1.2.5.29: el nuevo enlace Participa cabe también en tablet. */
@media(min-width:821px) and (max-width:1100px){
 .site-header .menu-toggle{display:block}
 .site-header .main-nav{display:none;position:absolute;top:100%;left:20px;right:20px;flex-direction:column;align-items:stretch;background:#fff;padding:18px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
 .site-header .main-nav.open{display:flex}
 .site-header .main-nav .nav-reader-stack{align-items:stretch;width:100%}
 .site-header .main-nav .nav-reader-primary,.site-header .main-nav .nav-reader-secondary{width:100%;text-align:center}
 .site-header .main-nav .nav-cart{width:100%!important;justify-content:space-between!important}
}
