/* Ajustes editoriales de la revisión v4. */
.spine{display:block;overflow:hidden;background:#101727;writing-mode:initial}
.spine img{display:block;width:100%;height:100%;object-fit:cover}
.video{width:min(780px,100%);margin-inline:auto;aspect-ratio:16/9}
.portrait{width:min(100%,420px);aspect-ratio:4/5}
.portrait img{object-fit:contain;object-position:center;background:#0b1020;filter:grayscale(.12)}

/* Reseña editorial: menos dominante y sin el marco de sección anterior. */
.quote{border:0;padding:32px 8% 48px;max-width:900px}
.quote>span{display:none}
.quote blockquote{margin:0 auto 18px;font-size:clamp(20px,2.2vw,28px);line-height:1.48}
.quote p{font-size:13px;letter-spacing:.055em;line-height:1.55}
.social-section{position:relative;z-index:2;padding:90px 0 120px;display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}
.social-section h2{font-size:clamp(36px,4.5vw,62px)}
.social-section>div>p:not(.eyebrow){color:var(--muted);max-width:420px}
.social-links{display:grid;border-top:1px solid var(--line)}
.social-links a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);color:var(--paper);text-decoration:none;font:500 18px var(--serif)}
.social-links a:hover{color:var(--gold)}
.social-links span{color:var(--muted);font:10px var(--mono);letter-spacing:.08em}
#videoModal{width:min(520px,calc(100% - 30px))}
@media(max-width:800px){.social-section{grid-template-columns:1fr;gap:36px;padding-block:70px}.quote{padding-inline:0}.quote p{font-size:12px}}

/* Base fluida: protege el ancho de pantalla sin modificar la composición editorial. */
html{width:100%;max-width:100%;min-height:100%;overflow-x:hidden;overflow-x:clip;background:var(--ink)}
body{width:100%;max-width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-x:clip}
body:before{width:100vw;width:100dvw;height:100vh;height:100dvh}
img,video{max-width:100%;height:auto}
main,header,footer,.shell,.hero,.section,.split,.author,.comment-grid,.heading,.social-section{min-width:0}
#cosmos{width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none}
.video video,#videoModal #modalTrailer{width:100%;height:100%;object-fit:cover}
#videoModal{max-height:calc(100dvh - 30px)}
#videoModal #modalTrailer{max-height:calc(100dvh - 30px);object-fit:contain}

@media(max-width:800px){
  .details{flex-wrap:wrap;gap:16px 28px}
  .details div{min-width:min(12rem,100%)}
  .social-links a{gap:15px}
  .social-links a span{flex:0 0 auto}
  .audio{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:none}
  .audio>div{min-width:0}
  .audio b{overflow:hidden;text-overflow:ellipsis}
}

@media(max-width:350px){
  .book-stage{height:360px}
  .book-orbit,.glow{transform:scale(.82);transform-origin:center}
}

/* Hero editorial: invitación y reseña alineadas con el libro 3D. */
.hero .copy{min-width:0}
.hero-invitation{display:flex;align-items:flex-start;gap:18px;margin:25px 0 0;color:#b5bdcb;font:11px/1.55 var(--mono);letter-spacing:.045em}
.hero-invitation:before{content:"";display:block;flex:0 0 42px;height:1px;margin-top:.7em;background:var(--gold)}
.hero-quote{max-width:640px;margin-top:30px;padding:25px 28px 21px;border:1px solid rgba(213,178,108,.48);border-left:3px solid var(--gold);background:linear-gradient(125deg,rgba(17,24,41,.86),rgba(6,9,18,.68));box-shadow:0 18px 44px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(9px)}
.hero-quote blockquote{max-width:none;margin:0 0 19px;color:#eef1f6;font:italic 500 clamp(17px,1.65vw,23px)/1.5 var(--serif);letter-spacing:-.018em}
.hero-quote p{display:grid;gap:5px;margin:0;color:var(--muted)}
.hero-quote b{color:var(--gold);font:600 14px/1.25 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.hero-quote i{font:10px/1.55 var(--mono);letter-spacing:.07em;text-transform:uppercase}

/* Selector de idioma: claro, sobrio y utilizable en todos los anchos. */
.language-switch{display:inline-flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--line);background:rgba(9,14,28,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 0 22px rgba(141,180,214,.05)}
.language-label{padding:0 5px;color:var(--muted);font:10px var(--mono);letter-spacing:.055em}
.lang{border:1px solid transparent;padding:6px 9px;color:#aeb7c6;font:10px var(--mono);letter-spacing:.045em;transition:border-color .2s,background .2s,color .2s,box-shadow .2s}
.lang:hover{border-color:rgba(213,178,108,.46);color:var(--paper);box-shadow:0 0 16px rgba(213,178,108,.12)}
.lang.active{border-color:rgba(213,178,108,.7);background:linear-gradient(135deg,rgba(213,178,108,.2),rgba(213,178,108,.06));color:#f6dfab;box-shadow:inset 0 0 14px rgba(213,178,108,.1)}

/* Reproductor de locuciones. */
.narration-player{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;overflow:hidden;padding:clamp(24px,4vw,42px);border:1px solid var(--line);background:linear-gradient(125deg,rgba(22,31,51,.9),rgba(8,12,23,.94))}
.narration-player:before{content:"";position:absolute;right:-120px;bottom:-150px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(141,180,214,.16),transparent 67%);pointer-events:none}
.narration-player-copy{position:relative;z-index:1;grid-column:1/-1}
.narration-player-copy>span{color:var(--gold);font:10px var(--mono);letter-spacing:.13em}
.narration-player h3{margin:7px 0 4px;font:500 clamp(25px,3vw,38px)/1.1 var(--serif)}
.narration-player-copy p{margin:0;color:var(--muted);font-size:14px}
.narration-toggle{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(213,178,108,.65);border-radius:50%;background:var(--gold);color:#16130c;font-size:16px;cursor:pointer;box-shadow:0 0 24px rgba(213,178,108,.2);transition:transform .2s,box-shadow .2s}
.narration-toggle:hover{transform:translateY(-2px);box-shadow:0 0 30px rgba(213,178,108,.34)}
.narration-timeline{position:relative;z-index:1;min-width:0}
.narration-progress{width:100%;height:5px;margin:0;appearance:none;border-radius:999px;outline:0;background:linear-gradient(90deg,var(--gold) 0 var(--progress,0%),rgba(141,180,214,.28) var(--progress,0%) 100%);box-shadow:0 0 12px rgba(213,178,108,.25);cursor:pointer}
.narration-progress::-webkit-slider-thumb{width:13px;height:13px;appearance:none;border:2px solid #fff6;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(213,178,108,.6)}
.narration-progress::-moz-range-thumb{width:10px;height:10px;border:2px solid #fff6;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(213,178,108,.6)}
.narration-time{display:flex;justify-content:space-between;margin-top:9px;color:var(--muted);font:10px var(--mono)}
.narration-track-list{position:relative;z-index:1;grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:7px}
.narration-track{min-width:0;padding:12px 14px;border:1px solid var(--line);background:rgba(4,7,15,.28);color:#bdc6d4;font:12px var(--sans);text-align:left;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.narration-track:hover,.narration-track.active{border-color:rgba(213,178,108,.55);background:rgba(213,178,108,.09);color:#fff1cc}

@media(max-width:800px){
  .hero-invitation{justify-content:flex-start;text-align:left}
  .hero-quote{padding:22px 20px 19px}
  .hero-quote blockquote{font-size:clamp(17px,5vw,21px)}
  .hero-quote i{font-size:9px}
  .narration-player{grid-template-columns:auto minmax(0,1fr);gap:18px;padding:24px 20px}
  .narration-track-list{grid-template-columns:1fr}
}

@media(max-width:430px){
  .nav{gap:10px}
  .brand{font-size:11px;letter-spacing:.08em}
  .brand small{display:none}
  .tools{gap:0}
  .language-switch{gap:2px;padding:3px}
  .language-label{padding:0 3px;font-size:9px}
  .lang{padding:5px 6px;font-size:9px}
}
