/* =========================================================================
   Nada que no estés dispuesto a perder · Página de la novela
   ========================================================================= */

@font-face{font-family:"XP Display";src:url("../fonts/big-shoulders-800.woff") format("woff");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"XP Display";src:url("../fonts/big-shoulders-600.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"XP Mono";src:url("../fonts/plex-mono-400.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"XP Serif";src:url("../fonts/source-serif-400.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"XP Serif";src:url("../fonts/source-serif-400-italic.woff") format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"XP Serif";src:url("../fonts/source-serif-600.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}

:root{
	--xp-fondo:#0a0a0c;
	--xp-fondo-alt:#131316;
	--xp-linea:#2a2a30;
	--xp-texto:#ece8e1;
	--xp-suave:#a9a49b;
	--xp-acento:#d19a1a;
	--xp-acento-hover:#e3ad2c;
	--xp-display:"XP Display","Arial Narrow","Helvetica Neue",Arial,sans-serif;
	--xp-serif:"XP Serif",Georgia,"Times New Roman",serif;
	--xp-mono:"XP Mono",ui-monospace,Menlo,Consolas,monospace;
	--xp-ancho:1120px;
	--xp-lectura:40rem;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body.xp-novela{
	margin:0;background:var(--xp-fondo);color:var(--xp-texto);
	font-family:var(--xp-serif);font-size:1.125rem;line-height:1.65;
	-webkit-font-smoothing:antialiased;
}
.xp-novela img{max-width:100%;height:auto;display:block}
.xp-novela a{color:var(--xp-acento)}
.xp-novela a:hover{color:var(--xp-acento-hover)}
.xp-novela :focus-visible{outline:3px solid var(--xp-acento);outline-offset:3px}
.xp-novela p{margin:0 0 1.1em}
.xp-novela em{font-style:italic}

.xp-ancho{width:100%;max-width:var(--xp-ancho);margin:0 auto;padding:0 1.5rem}
.xp-lectura{max-width:var(--xp-lectura)}
.xp-ancho.xp-lectura{max-width:calc(var(--xp-lectura) + 3rem)}

.xp-saltar{position:absolute;left:-9999px;top:0;background:var(--xp-acento);color:var(--xp-fondo);padding:.75rem 1rem;z-index:100}
.xp-saltar:focus{left:1rem;top:1rem}

/* Barra superior */
.xp-barra{position:sticky;top:0;z-index:50;background:rgba(10,10,12,.92);border-bottom:1px solid var(--xp-linea);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.xp-barra__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.xp-marca{font-family:var(--xp-display);font-weight:600;font-size:1.35rem;letter-spacing:.25em;text-transform:uppercase;text-decoration:none;color:var(--xp-texto)!important}

/* Botones y enlaces */
.xp-boton{
	display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.6rem;
	background:var(--xp-acento);color:var(--xp-fondo)!important;text-decoration:none;
	font-family:var(--xp-display);font-weight:600;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;
	border:2px solid var(--xp-acento);border-radius:2px;transition:background .15s,border-color .15s;
}
.xp-boton:hover{background:var(--xp-acento-hover);border-color:var(--xp-acento-hover)}
.xp-boton--fino{min-height:44px;padding:.45rem 1rem;font-size:1rem}
.xp-boton--secundario{background:transparent;color:var(--xp-texto)!important;border-color:var(--xp-texto)}
.xp-boton--secundario:hover{background:var(--xp-texto);color:var(--xp-fondo)!important;border-color:var(--xp-texto)}
.xp-enlace{font-family:var(--xp-mono);font-size:.95rem;letter-spacing:.04em;text-underline-offset:.25em}

/* Cabecera principal */
.xp-hero{padding:4.5rem 0 5rem;background:
	linear-gradient(115deg,transparent 0 22%,rgba(255,255,255,.035) 22% 46%,transparent 46%),var(--xp-fondo)}
.xp-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;align-items:center}
.xp-etiqueta{font-family:var(--xp-mono);font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;color:var(--xp-suave);margin-bottom:1.25rem!important}
.xp-titulo{font-family:var(--xp-display);font-weight:800;text-transform:uppercase;font-size:clamp(3rem,7.2vw,6.2rem);line-height:.9;margin:0 0 1.25rem;letter-spacing:.01em}
.xp-acento{color:var(--xp-acento)}
.xp-autor{font-family:var(--xp-display);font-weight:600;font-size:1.6rem;letter-spacing:.35em;text-transform:uppercase;margin-bottom:2rem!important}
.xp-hero__gancho{font-size:1.25rem;max-width:32rem}
.xp-hero__pregunta{font-family:var(--xp-display);font-weight:600;font-size:1.7rem;letter-spacing:.02em;color:var(--xp-acento);margin-bottom:2rem!important}
.xp-acciones{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem}
.xp-hero__portada{margin:0;justify-self:center;max-width:400px;width:100%}
.xp-hero__portada img{width:100%;box-shadow:0 30px 60px rgba(0,0,0,.6),0 0 0 1px #26262c}

/* Secciones */
.xp-seccion{padding:5rem 0;border-top:1px solid var(--xp-linea)}
.xp-seccion--alt{background:var(--xp-fondo-alt)}
.xp-h2{font-family:var(--xp-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:1;margin:0 0 1.75rem;letter-spacing:.01em}
.xp-destacado{font-size:1.4rem;line-height:1.45;color:var(--xp-texto);font-style:italic}
.xp-intro{color:var(--xp-suave);max-width:var(--xp-lectura)}
.xp-nota{font-family:var(--xp-mono);font-size:.85rem;color:var(--xp-suave);margin-top:1.5rem}

/* Fragmento del prólogo */
.xp-fragmento{margin:0 0 1.75rem;padding:2rem 2rem 1rem;background:#f2eee6;color:#1b1a18;border-radius:2px}
.xp-fragmento p{font-size:1.15rem}
.xp-fragmento__lugar{font-family:var(--xp-mono);font-size:.85rem!important;letter-spacing:.05em;color:#5b574f}

/* Reseñas */
.xp-resenas{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.5rem}
.xp-resena{margin:0;padding:1.75rem;border:1px solid var(--xp-linea);background:var(--xp-fondo)}
.xp-resena blockquote{margin:0}
.xp-resena p{font-style:italic}
.xp-resena figcaption{font-family:var(--xp-mono);font-size:.85rem;letter-spacing:.08em;color:var(--xp-acento)}

/* Autor */
.xp-autor-bloque{display:grid;grid-template-columns:180px 1fr;gap:2.5rem;align-items:start}
.xp-autor-bloque__foto{width:100%;border:1px solid var(--xp-linea);filter:contrast(1.02)}

/* Opciones de compra */
.xp-opciones{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;margin:2rem 0}
.xp-opcion{padding:2rem;border:1px solid var(--xp-linea);background:var(--xp-fondo);display:flex;flex-direction:column;align-items:flex-start}
.xp-opcion--principal{border-color:var(--xp-acento)}
.xp-opcion__titulo{font-family:var(--xp-display);font-weight:800;text-transform:uppercase;font-size:1.8rem;margin:0 0 .25rem}
.xp-opcion__precio{font-family:var(--xp-display);font-weight:600;font-size:2.6rem;line-height:1;color:var(--xp-acento);margin-bottom:1rem!important}
.xp-opcion__sub{color:var(--xp-suave)}
.xp-opcion .xp-boton{margin-top:auto}
.xp-lista{margin:0 0 1.75rem;padding-left:1.2rem}
.xp-lista li{margin-bottom:.6rem}
.xp-pronto{font-family:var(--xp-mono);font-size:.9rem;color:var(--xp-suave);margin-top:auto!important}

/* Captación */
.xp-captacion{background:var(--xp-fondo)}
.xp-formulario{margin:1.5rem 0}
.xp-aviso-admin{padding:1rem 1.25rem;border:1px dashed var(--xp-acento);font-family:var(--xp-mono);font-size:.9rem}

/* Ajustes para el formulario incrustado de Brevo */
.xp-formulario .sib-form,.xp-formulario #sib-form-container,.xp-formulario #sib-container{background:transparent!important;border:0!important;padding:0!important;max-width:none!important;text-align:left!important}
.xp-formulario label,.xp-formulario .entry__label{color:var(--xp-texto)!important;font-family:var(--xp-mono)!important;font-size:.85rem!important;letter-spacing:.05em}
.xp-formulario input[type="text"],.xp-formulario input[type="email"]{
	width:100%;min-height:52px;padding:.75rem 1rem!important;background:#17171b!important;color:var(--xp-texto)!important;
	border:1px solid #3a3a42!important;border-radius:2px!important;font-family:var(--xp-serif)!important;font-size:1.05rem!important}
.xp-formulario input:focus{border-color:var(--xp-acento)!important;outline:none}
.xp-formulario button,.xp-formulario .sib-form-block__button{
	min-height:52px;padding:.8rem 1.6rem!important;background:var(--xp-acento)!important;color:var(--xp-fondo)!important;border:0!important;border-radius:2px!important;
	font-family:var(--xp-display)!important;font-weight:600!important;font-size:1.2rem!important;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.xp-formulario button:hover{background:var(--xp-acento-hover)!important}
.xp-formulario .sib-text-form-block p,.xp-formulario .sib-form-message-panel{color:var(--xp-texto)!important;font-family:var(--xp-serif)!important}

/* Preguntas frecuentes */
.xp-faq{border-bottom:1px solid var(--xp-linea);padding:1.1rem 0}
.xp-faq summary{cursor:pointer;font-family:var(--xp-display);font-weight:600;font-size:1.35rem;letter-spacing:.02em;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.xp-faq summary::-webkit-details-marker{display:none}
.xp-faq summary::after{content:"+";color:var(--xp-acento);font-size:1.6rem;line-height:1}
.xp-faq[open] summary::after{content:"–"}
.xp-faq p{margin:1rem 0 .25rem;color:var(--xp-texto)}

/* Cierre y pie */
.xp-cierre{padding:6rem 0;text-align:center;border-top:1px solid var(--xp-linea)}
.xp-cierre__frase{font-family:var(--xp-display);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.02;max-width:52rem;margin:0 auto 2.5rem!important}
.xp-pie{border-top:1px solid var(--xp-linea);padding:2rem 0;font-family:var(--xp-mono);font-size:.85rem;color:var(--xp-suave)}
.xp-pie__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.xp-pie p{margin:0}
.xp-pie nav{display:flex;flex-wrap:wrap;gap:1.25rem}
.xp-pie a{color:var(--xp-suave)}
.xp-pie a:hover{color:var(--xp-texto)}

/* Móvil */
@media (max-width:900px){
	.xp-hero{padding:2.5rem 0 3.5rem}
	.xp-hero__grid{grid-template-columns:1fr;gap:2.5rem}
	.xp-hero__portada{max-width:240px;order:-1}
	.xp-resenas,.xp-opciones{grid-template-columns:1fr}
	.xp-autor-bloque{grid-template-columns:1fr;gap:1.75rem}
	.xp-autor-bloque__foto{max-width:150px}
	.xp-seccion{padding:3.5rem 0}
	.xp-barra .xp-boton--fino{font-size:.9rem;padding:.4rem .8rem}
}
@media (max-width:420px){
	.xp-marca{font-size:1.1rem;letter-spacing:.18em}
	.xp-fragmento{padding:1.5rem 1.25rem .5rem}
}

/* Página de descarga */
.xp-descargas{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;margin-top:1rem}
.xp-descarga{max-width:18rem}
.xp-descarga .xp-nota{margin-top:.75rem}

/* Mensajes de éxito y error del formulario de Brevo.
   Brevo los pinta con fondo claro en línea; aquí se adaptan a la página oscura. */
.xp-formulario .sib-form-message-panel,
.xp-formulario #success-message,
.xp-formulario #error-message{
	background:#17171b!important;border:1px solid var(--xp-acento)!important;border-radius:2px!important;
	color:var(--xp-texto)!important;max-width:none!important;margin:0 0 1.25rem!important;padding:1rem 1.25rem!important;
	font-family:var(--xp-serif)!important;font-size:1.05rem!important;text-align:left!important}
.xp-formulario #error-message{border-color:#e0675a!important}
.xp-formulario .sib-form-message-panel *,
.xp-formulario #success-message *,
.xp-formulario #error-message *{color:var(--xp-texto)!important;font-family:var(--xp-serif)!important}
.xp-formulario .sib-form-message-panel svg{fill:var(--xp-acento)!important;color:var(--xp-acento)!important}

/* Tras enviar: fuera el formulario, dentro un mensaje propio */
.xp-enviado .xp-formulario,
.xp-enviado .xp-captacion__intro,
.xp-enviado .xp-captacion__nota{display:none}
.xp-exito[hidden]{display:none}
.xp-exito{margin:1.5rem 0 0;padding:2rem 2rem 1.5rem;border-left:3px solid var(--xp-acento);background:var(--xp-fondo-alt);outline:none;animation:xp-aparece .35s ease-out}
.xp-exito .xp-etiqueta{margin-bottom:.5rem!important;color:var(--xp-acento)}
.xp-exito__titulo{font-family:var(--xp-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.4rem);line-height:1;margin:0 0 1rem!important}
.xp-exito__dir{color:var(--xp-acento);word-break:break-all}
.xp-exito strong{font-weight:600}
.xp-exito .xp-nota{margin-top:.5rem}
.xp-exito__otra{margin-top:1.25rem;padding:0;background:none;border:0;color:var(--xp-suave);font-family:var(--xp-mono);font-size:.85rem;text-decoration:underline;text-underline-offset:.25em;cursor:pointer}
.xp-exito__otra:hover{color:var(--xp-texto)}
@keyframes xp-aparece{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.xp-exito{animation:none}}

/* Páginas de texto (legales y similares) */
.xp-pagina__cuerpo{border-top:0;padding-top:4rem}
.xp-texto{font-size:1.05rem}
.xp-texto h2{font-family:var(--xp-display);font-weight:600;text-transform:uppercase;font-size:1.5rem;letter-spacing:.03em;margin:2.5rem 0 1rem;line-height:1.1}
.xp-texto h3{font-family:var(--xp-serif);font-weight:600;font-size:1.15rem;margin:1.75rem 0 .6rem}
.xp-texto ul{padding-left:1.25rem;margin:0 0 1.1em}
.xp-texto li{margin-bottom:.45rem}
.xp-texto strong{font-weight:600}
.xp-texto a{text-underline-offset:.2em}
.xp-pagina .xp-barra .xp-enlace{color:var(--xp-suave)}
.xp-pagina .xp-barra .xp-enlace:hover{color:var(--xp-texto)}
@media (max-width:420px){.xp-pie nav{gap:.75rem 1.1rem}}

/* Fecha de salida (antes del lanzamiento) */
.xp-salida{display:inline-block;font-family:var(--xp-mono);font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:var(--xp-texto);border:1px solid var(--xp-acento);padding:.45rem .9rem;margin:0 0 1.75rem!important}
.xp-salida--centro{margin:0 auto 2rem!important}
