@font-face{font-family:'Anton';src:url('fonts/Anton-400-7ba6556ad3.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-400-32499b6d31.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-700-f760002679.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-400i-dbdcf13733.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Courier Prime';src:url('fonts/CourierPrime-400-742a88813b.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{
  --fondo:#F5EDE0;
  --fondo2:#E9E1D5;
  --tarjeta:#F5EDE0;
  --tinta:#1C1A17;
  --tenue:#59554F;
  --linea:#D2CBC0;
  --detalle:#E65F11;
  --compra:#FFD60A;
  --compra-texto:#1C1A17;
  --hero-fondo:#2E4A2B;
  --hero-tinta:#F5EDE0;
  --hero-tenue:#CDCCBC;
  --hero-linea:#5A6E53;
  --oscuro:#1C1A17;
  --detalle-texto:#A3430C;
  --hero-detalle:#EFB48D;
  --trama:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M-6 30L30 -6' stroke='%23F5EDE0' stroke-opacity='0.14'/%3E%3C/svg%3E");
  --r:6px;
  --s1:0 1px 2px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.06);
  --s2:0 8px 24px rgba(0,0,0,.14),0 24px 48px rgba(0,0,0,.14);
  --f-tit:'Anton',sans-serif;
  --f-txt:'Source Serif 4',serif;
  --f-mono:'Courier Prime',monospace;
  --tit-trans:uppercase;
  --tit-esp:.01em;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--tinta);font:400 18px/1.55 var(--f-txt);-webkit-font-smoothing:antialiased}
body.con-barra{padding-bottom:80px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-tit);font-weight:700;line-height:1.1;margin:0;text-transform:var(--tit-trans);letter-spacing:var(--tit-esp)}
h2{font-size:32px}
h3{font-size:24px}
p{margin:0 0 16px}
ul,ol{margin:0;padding:0;list-style:none}
.cont{max-width:1200px;margin:0 auto;padding:0 16px}
.cont-est{max-width:800px}

/* cabecera */
.cab{background:var(--hero-fondo);color:var(--hero-tinta);border-bottom:1px solid var(--hero-linea)}
.cab .cont{display:flex;align-items:center;justify-content:space-between;height:48px}
.marca{display:flex;align-items:center;gap:10px;font:700 18px/1 var(--f-tit);text-transform:var(--tit-trans);letter-spacing:.04em;text-decoration:none}
.marca picture{display:contents}
.marca-cara{width:36px;height:36px;border-radius:50%;border:2px solid var(--hero-tinta);object-fit:cover}

/* botones: el color de compra vive solo aquí */
.btn{display:flex;align-items:center;justify-content:center;min-height:56px;padding:12px 24px;border-radius:var(--r);background:var(--compra);color:var(--compra-texto);font:700 20px/1.1 var(--f-txt);text-decoration:none;text-align:center;box-shadow:var(--s1);transition:filter .15s,transform .15s}
.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.btn-cab{display:none}
.btn-sec{background:transparent;color:var(--tinta);border:2px solid var(--tinta);box-shadow:none;min-height:48px;font-size:18px;padding:8px 16px}

/* primera vista: piezas comunes */
.hero{position:relative;background:var(--hero-fondo);color:var(--hero-tinta);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:var(--trama);pointer-events:none}
.hero-int{position:relative;max-width:1200px;margin:0 auto;padding:0 16px}
.kicker{font:500 16px/1.3 var(--f-mono);letter-spacing:.02em;margin:0 0 8px;color:var(--hero-detalle)}
.hero h1{font-size:40px;line-height:1.04;text-wrap:balance}
.hero h1[data-largo="medio"]{font-size:36px}
.hero h1[data-largo="largo"]{font-size:30px}
.sub{color:var(--hero-tenue);font-size:18px;margin:0}
.precio{display:flex;align-items:center;gap:12px}
.importe{font:700 40px/1 var(--f-tit)}
.nota-precio{font-size:16px;line-height:1.25;color:var(--hero-tenue)}
.entrada{margin:.6em 0 0;font-size:1rem;line-height:1.3}.entrada a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.sec-final .entrada{text-align:center}
.ancla{text-decoration-thickness:2px}
.solo-set{display:block}
.hero .solo-set{display:none}   /* en el móvil no cabe: «Vol. I and II alone» ya lo da a entender y la sección de libros lo dice */
.confianza{display:flex;flex-wrap:wrap;gap:0 12px;font-size:16px;line-height:1.5;color:var(--hero-tenue)}
.confianza li{display:inline-flex;align-items:center;gap:4px}
.ico{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.portadas{display:flex}
.portada{display:block;text-decoration:none;flex:none;transition:transform .15s}
.portada img{border-radius:3px;box-shadow:var(--s2);width:100%;outline:1px solid var(--hero-linea);outline-offset:-1px}
.portada:hover{transform:translateY(-4px)}
.personaje{position:relative;pointer-events:none}
.personaje picture{display:contents}
.personaje img{object-fit:contain;object-position:bottom}

/* barra fija en móvil */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--tarjeta);border-top:1px solid var(--linea);box-shadow:0 -4px 16px rgba(0,0,0,.14)}
.barra[hidden]{display:none}
.barra .btn{flex:1;min-height:48px;font-size:17px;padding:8px}
.barra .importe{font-size:26px}
.minis{display:inline-flex;flex:none}
.minis img{width:32px;border-radius:2px;box-shadow:var(--s1)}
.minis picture+picture{margin-left:-10px}

/* secciones */
.sec{padding:48px 0}
.sec-alt{background:var(--fondo2)}
.sec-cab{margin-bottom:32px;max-width:760px}
.sec-cab p{margin:8px 0 0;color:var(--tenue);font-size:20px}
.subt{color:var(--tenue);font-size:18px;margin:8px 0 16px}
.lista li{display:flex;gap:8px;margin-bottom:8px}
.lista .ico{width:24px;height:24px;margin-top:2px;color:var(--detalle)}
.lista-no .ico{color:var(--tenue)}

/* libros */
.libros{display:grid;gap:24px}
.libro{display:flex;flex-direction:column;background:var(--tarjeta);border-radius:var(--r);padding:24px;box-shadow:var(--s1)}
.libro-tapa{display:block}
.libro-tapa img{margin:0 auto 16px;max-width:220px;border-radius:3px;box-shadow:var(--s2)}
.pack img{max-width:100%;box-shadow:none;border-radius:0}
.vol{font:500 16px/1 var(--f-mono);color:var(--tenue);margin:0 0 8px}
.libro-pie{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:16px}
.suelto{font:700 28px/1 var(--f-tit)}
.libro-set{order:-1;outline:3px solid var(--detalle);box-shadow:var(--s2)}
.libro-set .precio{margin:8px 0 16px}
.libro-set .importe{font-size:48px}
.libro-set .nota-precio{color:var(--tenue)}
.etiqueta{align-self:flex-start;background:var(--detalle-texto);color:var(--tarjeta);font:700 16px/1 var(--f-mono);padding:8px 12px;border-radius:var(--r);margin:0 0 16px}
.abanico{display:flex;justify-content:center;padding:8px 40px 24px}
.abanico picture{flex:0 0 44%;margin:0 -7%}
.abanico picture:nth-child(1){transform:rotate(-6deg) translateY(8px)}
.abanico picture:nth-child(2){position:relative;z-index:1}
.abanico picture:nth-child(3){transform:rotate(6deg) translateY(8px)}
.abanico img{border-radius:3px;box-shadow:var(--s2)}

/* método */
.pasos{display:grid;gap:16px;margin-bottom:48px}
.pasos>li{background:var(--tarjeta);border-radius:var(--r);padding:24px;box-shadow:var(--s1)}
.pasos p{margin:8px 0 0}
.pasos h3{font-size:22px}
/* paso con pasos numerados dentro («1. … 2. …»): fila entera y lista de verdad, no un párrafo corrido */
.pasos>li.paso-lista{grid-column:1/-1}
.sub-pasos{list-style:decimal;margin:8px 0 0;padding-left:28px;columns:2 300px;column-gap:40px}
.sub-pasos li{break-inside:avoid;padding:0 0 8px 4px}
.sub-pasos li::marker{font-weight:700;color:var(--detalle)}
.num{display:block;font:700 32px/1 var(--f-tit);color:var(--detalle-texto);margin-bottom:8px}
.tomo3{display:grid;gap:24px;align-items:start}
.tomo3 .libro-tapa img{max-width:280px;margin:0 auto}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:24px}
.cta .minis img{width:56px}
.cta .minis picture+picture{margin-left:-20px}
.cta-col{display:contents}
.cta .btn{flex:1 0 100%}
.cta .nota-precio{color:var(--tenue)}

/* para quién */
.para{display:grid;gap:32px}
.lista-si,.para-no{background:var(--tarjeta);border-radius:var(--r);padding:24px;box-shadow:var(--s1)}
.para-no{background:transparent;box-shadow:none;border:1px solid var(--linea)}
.para-no h3{margin-bottom:16px}

/* autor */
.sec-autor{background:var(--hero-fondo);color:var(--hero-tinta);overflow:hidden}
.sec-autor .subt,.sec-autor .cita{color:var(--hero-tenue)}
.autor{display:grid;gap:24px}
.autor-foto img{max-height:440px;width:auto;margin:0 auto}
.libro h3{margin-bottom:8px}
.autor h2{margin-bottom:0}
.cita{margin:24px 0 0;padding-left:16px;border-left:4px solid var(--hero-detalle);font-style:italic;font-size:20px}
.cita p{margin:0}

/* carta firmada y fotos del autor */
.carta{display:grid;gap:32px;max-width:1040px}
.carta-texto{background:var(--tarjeta);border-radius:var(--r);padding:32px 24px;box-shadow:var(--s1)}
.carta-texto h2{margin-top:0}
.carta-texto p{margin:0 0 16px}
.carta-foto{margin:0}
.carta-foto img,.autor-galeria img{width:100%;height:auto;border-radius:var(--r);box-shadow:var(--s2)}
.firma{display:grid;gap:8px;margin:24px 0 0;padding-top:16px;border-top:1px solid var(--linea, rgba(0,0,0,.15));font-style:italic}
.firma-nombre{font-weight:700;font-size:22px;line-height:1.3;color:var(--detalle-texto)}
.autor-galeria{display:grid;gap:16px}
.autor-galeria figure{margin:0}
.autor-fotos{align-items:center}

/* garantía */
.garantia{display:flex;gap:24px;align-items:center;flex-direction:column;text-align:center}
.garantia p{margin:8px 0 0}
.sello{position:relative;width:120px;height:120px;flex:none;display:grid;place-items:center;color:var(--detalle)}
.sello .ico{position:absolute;inset:0;width:100%;height:100%;stroke-width:1}
.sello strong{font:700 32px/1 var(--f-tit);color:var(--tinta)}

/* preguntas */
.faq details{border-top:1px solid var(--linea)}
.faq details:last-child{border-bottom:1px solid var(--linea)}
.faq summary{cursor:pointer;font-weight:700;padding:16px 32px 16px 0;position:relative;list-style:none;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:700 28px/1.2 var(--f-tit);color:var(--detalle-texto)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 16px}

/* cierre y pie */
.sec-final{text-align:center;background:var(--fondo2)}
.sec-final h2{font-size:36px;margin-bottom:8px}
.sec-final .cta{max-width:520px;margin:24px auto 16px;text-align:left}
.sec-final .confianza{justify-content:center;color:var(--tenue)}
.pie{padding:32px 0 40px;font-size:16px;color:var(--tenue);border-top:1px solid var(--linea)}
.pie nav{display:flex;gap:24px;margin-bottom:16px}
.pie p{margin:0 0 8px}
.comentarios{display:grid;gap:16px}
.comentario{margin:0;background:var(--tarjeta);padding:24px;border-radius:var(--r);box-shadow:var(--s1)}
.comentario cite{font-size:16px;color:var(--tenue)}
.legal h1{font-size:36px;color:var(--tinta)}
.legal h2{font-size:24px;margin:32px 0 8px}

@media(min-width:760px){
  body{font-size:20px}
  h2{font-size:40px}
  .sec{padding:80px 0}
  .cont{padding:0 32px}
  .hero-int{padding:0 32px}
  .cab .cont{height:56px}
  .btn-cab{display:flex;min-height:40px;font-size:17px;padding:8px 16px}
  .kicker{font-size:17px;margin-bottom:16px}
  .hero .solo-set{display:block}
  .hero h1{font-size:64px}
  .hero h1[data-largo="medio"]{font-size:56px}
  .hero h1[data-largo="largo"]{font-size:48px}
  .sub{font-size:20px}
  .importe{font-size:48px}
  .confianza{font-size:16px;gap:0 20px}
  .barra{display:none}
  body.con-barra{padding-bottom:0}
  .libros{grid-template-columns:1fr 1.25fr 1fr;align-items:stretch}
  .libro-set{order:0;transform:translateY(-16px)}
  .pasos{grid-template-columns:repeat(2,1fr)}
  .tomo3{grid-template-columns:320px 1fr}
  .para{grid-template-columns:1.2fr 1fr}
  .autor{grid-template-columns:400px 1fr;align-items:end}
  .autor-foto img{margin-bottom:-80px}
  .autor-fotos{grid-template-columns:1fr 1fr;align-items:center}
  .carta.con-foto{grid-template-columns:380px 1fr;align-items:start}
  .carta-foto{position:sticky;top:80px}
  .carta-texto{padding:48px}
  .cta{flex-wrap:nowrap}
  .cta-col{display:grid;gap:8px;flex:1;min-width:0}
  .garantia{flex-direction:row;text-align:left}
  .comentarios{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
  .sec-final h2{font-size:48px}
}
@media(min-width:960px){
  .pasos{grid-template-columns:repeat(var(--cols,3),1fr)}
}

/* estructura adaptable (landing/estructura.json): densidad = aire entre secciones; letra grande = nunca más pequeña */
.dens-compacta .sec{padding:36px 0}
.dens-compacta .sec-cab{margin-bottom:24px}
.dens-aireada .sec{padding:72px 0}
.dens-aireada .sec-cab{margin-bottom:40px}
body.letra-grande{font-size:20px;line-height:1.6}
.letra-grande .sub,.letra-grande .sec-cab p{font-size:21px}
.letra-grande .nota-precio,.letra-grande .kicker{font-size:18px}
.letra-grande .faq summary{font-size:21px}

/* G2 · sección opcional «video» (vídeo del autor; estructura.json → video.activo) */
.video-venta{text-align:center}
.video-marco{position:relative;display:block;margin:0 auto;max-width:960px;width:100%;height:auto;border-radius:10px;overflow:hidden}
.video-marco img{display:block;width:100%;height:auto}
.video-play{position:absolute;left:20px;bottom:20px;width:84px;height:84px;border-radius:50%;   /* en una esquina: no tapa la cara */
  background:rgba(0,0,0,.68);color:#fff;font-size:38px;line-height:84px;padding-left:6px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.video-pie{margin-top:.8em}
.video-pie span{white-space:nowrap}
/* G3: primer capítulo dentro de la página (secciones/muestra.html.j2) */
.muestra-extracto{margin:0 0 20px;padding:20px 22px;background:var(--papel,#fff);border:1px solid var(--linea);border-radius:6px}
.muestra-extracto figcaption{font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:var(--detalle-texto);margin:0 0 10px}
.muestra-tit{font:700 1.15em/1.25 var(--f-tit);margin:0 0 .6em}
.muestra-extracto p{margin:0 0 .8em}
.muestra-paginas{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);margin:0 0 24px}
.muestra-paginas summary{cursor:pointer;font-weight:700;padding:16px 32px 16px 0;position:relative;list-style:none;min-height:56px}
.muestra-paginas summary::-webkit-details-marker{display:none}
.muestra-paginas summary::after{content:"+";position:absolute;right:4px;top:12px;font:700 28px/1.2 var(--f-tit);color:var(--detalle-texto)}
.muestra-paginas[open] summary::after{content:"–"}
.muestra-pags{display:grid;gap:14px;margin:4px 0 12px}
.muestra-pags img{width:100%;height:auto;display:block;box-shadow:0 1px 6px rgba(0,0,0,.18)}
.muestra-fin{text-align:center;font-style:italic;margin:4px 0 16px}
@media(min-width:900px){.muestra-pags{grid-template-columns:1fr 1fr}}
/* estante: los libros en el centro del escenario; todo centrado */
.hero-estante .hero-int{display:grid;gap:8px;padding-top:12px;padding-bottom:16px;text-align:center}
.hero-estante .sub{order:9;display:none}
.hero-estante .h-escena{position:relative;display:flex;justify-content:flex-end;align-items:flex-end;height:232px;border-bottom:4px solid var(--hero-linea);margin:0 -16px;padding:0 12px}
.hero-estante .personaje{position:absolute;left:0;bottom:0;width:150px;height:232px}
.hero-estante .personaje img{width:100%;height:100%}
/* con cara medida (--pj-w del generador): en móvil se pinta al ancho que da a la cara su alto mínimo, centrado en ella y desde arriba */
.hero-estante .personaje[style*="--pj-w"]{overflow:hidden}
.hero-estante .personaje[style*="--pj-w"] img{position:absolute;top:0;left:50%;width:var(--pj-w);max-width:none;height:auto;transform:translateX(calc(-1 * var(--pj-cx, 50%)))}
.hero-estante .portadas{gap:6px;align-items:flex-end;position:relative;z-index:1}
.hero-estante .portada{width:80px}
.hero-estante .portada-2{width:112px}
.hero-estante .portada-1,.hero-estante .portada-3{margin-bottom:0}
.hero-estante .h-compra{display:grid;gap:8px;justify-items:center;padding-top:8px}
.hero-estante .btn{width:100%}
.hero-estante .confianza{justify-content:center}
.fam-estante .sec-cab{margin-left:auto;margin-right:auto;text-align:center}
.fam-estante .libro{text-align:center}
.fam-estante .lista li{text-align:left}
.fam-estante .libro-pie{justify-content:center}
.fam-estante .etiqueta{align-self:center}
.fam-estante .libro-set .precio{justify-content:center;text-align:left}
@media(min-width:760px){
  .hero-estante .hero-int{grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"texto texto" "escena compra";gap:24px 40px;padding-top:32px;padding-bottom:32px}
  .hero-estante .h-texto{grid-area:texto}
  .hero-estante .h-escena{grid-area:escena;height:420px;margin:0;padding:0 16px}
  .hero-estante .personaje{width:300px;height:420px;left:-24px}
  .hero-estante .personaje[style*="--pj-w"]{overflow:visible}
  .hero-estante .personaje[style*="--pj-w"] img{position:static;width:100%;height:100%;max-width:100%;transform:none}
  .hero-estante .portadas{gap:12px}
  .hero-estante .portada{width:172px}
  .hero-estante .portada-2{width:220px}
  .hero-estante .h-compra{grid-area:compra;align-content:center;justify-items:start;text-align:left;gap:16px}
  .hero-estante .confianza{flex-direction:column;justify-content:flex-start}
}
