/* ==========================================================================
   Lectores de Banda Oriental — lectores.bandaoriental.com.uy
   Sistema visual: rojo y amarillo del imagotipo de la colección, papel cálido,
   serif editorial para títulos y la "etiqueta" de las tapas como recurso gráfico.
   ========================================================================== */

/* ---------- Tipografías (subconjunto latino, servidas desde el propio sitio) ---------- */
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/serif-600.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/serif-700.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/serif-italic-400.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/sans-400.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/sans-600.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sans-700.woff2) format('woff2')}
@font-face{font-family:'Roboto Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/condensed-700.woff2) format('woff2')}

/* ---------- Variables ---------- */
:root{
  color-scheme: light;
  --rojo:#E40613; --rojo-osc:#B5040F; --rojo-suave:#FDE7E8;
  --amarillo:#FFCC03; --amarillo-claro:#FFD83D;
  --tinta:#171412; --tinta-2:#4A433C; --tinta-3:#766D63;
  --papel:#FBF7F0; --papel-2:#F4EDE1; --linea:#E6DCCB; --linea-osc:#CFC3AE;
  --azul:#3D59A6; --verde:#2E7A4D; --verde-suave:#E6F3EA;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans:'Source Sans 3', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --cond:'Roboto Condensed', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  --radio:10px; --radio-chico:6px;
  --sombra:0 1px 2px rgba(23,20,18,.05), 0 10px 30px -8px rgba(23,20,18,.14);
  --sombra-libro:0 2px 4px rgba(0,0,0,.16), 0 22px 40px -14px rgba(0,0,0,.5);
  --ancho:1180px;
  --gutter:clamp(16px, 4.5vw, 40px);
  --cab-alto:64px;
  --curva:cubic-bezier(.2,.8,.2,1);
}
@media (min-width:900px){ :root{ --cab-alto:76px; } }

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--cab-alto) + 16px)}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.012em;margin:0 0 .5em;text-wrap:balance}
h2{font-size:clamp(1.9rem, 1.2rem + 2.5vw, 3rem)}
h3{font-size:clamp(1.4rem, 1.2rem + .8vw, 1.75rem);line-height:1.15}
p{margin:0 0 1em}
a{color:inherit}
button{font:inherit}
::selection{background:var(--amarillo);color:var(--tinta)}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:2px}

.contenedor{width:100%;max-width:calc(var(--ancho) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.visual-oculto{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.solo-desktop{display:none}
@media (min-width:900px){ .solo-desktop{display:inline} }
.saltar{position:absolute;left:12px;top:-80px;z-index:100;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:var(--radio-chico);text-decoration:none;font-weight:600}
.saltar:focus{top:12px}

.seccion{padding-block:clamp(64px, 3.5rem + 4vw, 128px)}
.cab-seccion{max-width:760px;margin-bottom:clamp(28px, 1.5rem + 2vw, 48px)}
.cab-seccion h2{margin-bottom:0}

/* Sobretítulo con el trazo rojo de las tapas */
.sup{display:flex;align-items:center;gap:.7em;margin:0 0 .9rem;font:700 .8125rem/1.2 var(--cond);letter-spacing:.13em;text-transform:uppercase;color:var(--rojo)}
.sup::before{content:"";flex:none;width:28px;height:3px;background:currentColor}
.lead{font-size:clamp(1.125rem, 1.05rem + .35vw, 1.3rem);line-height:1.55;color:var(--tinta-2)}

/* ---------- Botones ---------- */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.7em 1.35em;border:2px solid transparent;border-radius:var(--radio-chico);font:700 1.0625rem/1.15 var(--sans);text-decoration:none;text-align:center;cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, transform .15s, box-shadow .2s;-webkit-tap-highlight-color:transparent}
.boton svg{flex:none;transition:transform .25s var(--curva)}
.boton:hover svg{transform:translateX(3px)}
.boton:active{transform:translateY(1px)}
.boton--rojo{background:var(--rojo);color:#fff}
.boton--rojo:hover{background:var(--rojo-osc)}
.boton--amarillo{background:var(--amarillo);color:var(--tinta);box-shadow:0 6px 18px -8px rgba(0,0,0,.45)}
.boton--amarillo:hover{background:var(--amarillo-claro);box-shadow:0 10px 24px -10px rgba(0,0,0,.55)}
.boton--borde{background:transparent;border-color:var(--tinta);color:var(--tinta)}
.boton--borde:hover{background:var(--tinta);color:#fff}
.boton--grande{min-height:58px;padding-inline:1.6em;font-size:1.125rem}
.boton--chico{min-height:40px;padding:.45em 1.05em;font-size:.975rem}
.boton--ancho{width:100%}

/* ---------- Cabecera ---------- */
.cabecera{position:sticky;top:0;z-index:50;background:rgba(251,247,240,.94);-webkit-backdrop-filter:saturate(1.5) blur(10px);backdrop-filter:saturate(1.5) blur(10px);border-bottom:1px solid transparent;transition:border-color .25s, box-shadow .25s}
.cabecera.is-scrolled{border-color:var(--linea);box-shadow:0 6px 24px -16px rgba(0,0,0,.35)}
.cabecera__in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--cab-alto)}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--tinta);min-width:0}
.marca__logo{width:auto;height:40px}
.marca__sep{flex:none;width:1px;height:34px;background:var(--linea-osc)}
.marca__txt{display:flex;flex-direction:column;line-height:1;gap:3px}
.marca__col{font:700 .6875rem var(--cond);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-3)}
.marca__nom{font:700 1.4rem var(--cond);letter-spacing:.05em;text-transform:uppercase;color:var(--rojo)}
.cabecera__ayuda{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;font-weight:600;font-size:.975rem;text-decoration:none;color:var(--tinta-2)}
.cabecera__ayuda svg{color:#1e9e55}
.cabecera__ayuda:hover{color:var(--tinta)}
@media (min-width:900px){
  .marca__logo{height:50px}
  .marca__sep{height:40px}
  .marca__nom{font-size:1.6rem}
}

/* ==========================================================================
   LANDING
   ========================================================================== */

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--papel)}
.hero__foto img{width:100%;height:min(42svh, 440px);object-fit:cover;object-position:50% 30%}
.hero__contenido{position:relative;margin-top:-56px;padding-bottom:clamp(28px, 6vw, 48px)}

/* La etiqueta: el recuadro de color de las tapas de Lectores */
.etiqueta{position:relative;background:var(--rojo);color:#fff;padding:18px 20px 20px;border-radius:3px;box-shadow:var(--sombra-libro)}
.etiqueta__sup{margin:0 0 .6rem;font:700 .75rem/1.2 var(--cond);letter-spacing:.15em;text-transform:uppercase;color:var(--amarillo)}
.etiqueta__tit{margin:0;color:#fff;font-size:clamp(1.95rem, 1.1rem + 3.9vw, 4.1rem);line-height:1.02}
.etiqueta__bajada{margin:.8rem 0 0;padding-top:.8rem;border-top:2px solid rgba(255,255,255,.5);font:italic 400 clamp(1.15rem, 1.05rem + .6vw, 1.5rem)/1.3 var(--serif)}
.etiqueta__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:1.2rem}
.etiqueta__acciones .boton{flex:1 1 100%}
.etiqueta__precio{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .45em;margin:0;line-height:1.25;font-size:.95rem}
.etiqueta__precio strong{font:700 1.1rem/1.2 var(--serif)}
@media (min-width:480px){
  .etiqueta__acciones .boton{flex:0 0 auto}
  .etiqueta__precio{flex-direction:column;gap:0}
  .etiqueta__precio strong{font-size:1.2rem}
}

@media (min-width:900px){
  .hero{display:flex;align-items:center;min-height:calc(min(100svh, 880px) - var(--cab-alto))}
  .hero__foto{position:absolute;inset:0}
  .hero__foto img{height:100%;object-position:68% 38%}
  .hero__contenido{margin:0;padding-block:72px}
  .etiqueta--hero{max-width:540px;padding:36px 38px 38px}
  .etiqueta__sup{margin-bottom:.8rem;font-size:.8rem}
  .etiqueta__bajada{margin-top:1rem;padding-top:1rem}
  .etiqueta__acciones{margin-top:1.6rem}
}

/* ---------- Intro + abanico de tapas ---------- */
.intro__grid{display:grid;gap:clamp(40px, 6vw, 72px);align-items:center}
.intro__texto{max-width:600px}
.intro__dato{display:flex;align-items:center;gap:18px;margin:32px 0 0;padding-top:26px;border-top:1px solid var(--linea);color:var(--tinta-2);font-size:1rem;line-height:1.45}
.intro__num{flex:none;font:700 clamp(2.8rem, 2rem + 2vw, 3.6rem)/1 var(--serif);color:var(--rojo);letter-spacing:-.03em}
@media (min-width:900px){ .intro__grid{grid-template-columns:1.05fr 1fr} }

.abanico{position:relative;width:100%;max-width:560px;aspect-ratio:1.3/1;margin-inline:auto}
.abanico__tapa{--x:0%;--y:0%;--r:0deg;position:absolute;left:50%;top:50%;width:35%;transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--r));transition:transform 1s var(--curva)}
.abanico__tapa img{width:100%;aspect-ratio:360/612;object-fit:cover;border-radius:2px 5px 5px 2px;box-shadow:var(--sombra-libro)}
.abanico__tapa--1{--x:-66%;--y:7%;--r:-14deg;z-index:1}
.abanico__tapa--2{--x:-34%;--y:-1%;--r:-7deg;z-index:2}
.abanico__tapa--3{--x:0%;--y:-5%;--r:0deg;z-index:3}
.abanico__tapa--4{--x:34%;--y:-1%;--r:7deg;z-index:2}
.abanico__tapa--5{--x:66%;--y:7%;--r:14deg;z-index:1}
.js .abanico:not(.is-visible) .abanico__tapa{--x:0%;--y:4%;--r:0deg}
.js .abanico:not(.is-visible) .abanico__tapa--2{--r:-2deg}
.js .abanico:not(.is-visible) .abanico__tapa--4{--r:2deg}
@media (hover:hover){
  .abanico__tapa:hover{transform:translate(-50%,-50%) translate(var(--x),calc(var(--y) - 6%)) rotate(var(--r));z-index:5}
}

/* ---------- Pasos ---------- */
.pasos{background:var(--papel-2)}
.pasos__lista{list-style:none;margin:0;padding:0;display:grid;gap:48px}
.paso__foto img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radio)}
.paso__texto{position:relative;padding:0 4px;max-width:520px}
.paso__num{position:relative;display:inline-grid;place-items:center;width:60px;height:60px;margin:-30px 0 16px 20px;border-radius:50%;background:var(--rojo);color:#fff;font:700 1.9rem/1 var(--serif);box-shadow:0 8px 20px -8px rgba(228,6,19,.7);border:3px solid var(--papel-2)}
.paso p{color:var(--tinta-2);margin:0}
@media (min-width:760px){
  .pasos__lista{grid-template-columns:1fr 1fr;gap:clamp(28px, 4vw, 56px)}
  .paso__foto img{aspect-ratio:5/4}
}

/* ---------- Membresía ---------- */
.membresia__grid{display:grid;gap:36px;align-items:center}
.membresia__foto img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radio)}
.tarjeta-precio{position:relative;padding:clamp(26px, 4vw, 46px);background:#fff;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra)}
.tarjeta-precio::before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--rojo);border-radius:var(--radio) var(--radio) 0 0}
.precio{display:flex;align-items:baseline;margin:0;font-family:var(--serif);line-height:.9}
.precio__moneda{align-self:flex-start;margin-top:.35rem;font-size:2.2rem;font-weight:600}
.precio__num{font-size:clamp(4.6rem, 3.4rem + 5vw, 6.6rem);font-weight:700;letter-spacing:-.04em}
.precio__per{margin-left:10px;font:600 1.3rem var(--sans);color:var(--tinta-2)}
.precio__nota{display:inline-block;margin:.9rem 0 1.6rem;padding:.38em .75em;background:var(--amarillo);font:700 .8125rem/1 var(--cond);letter-spacing:.11em;text-transform:uppercase}
.beneficios{list-style:none;display:grid;gap:14px;margin:0 0 30px;padding:0}
.beneficios li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;line-height:1.45}
.beneficios svg{width:28px;height:28px;padding:4px;border-radius:50%;background:var(--rojo-suave);color:var(--rojo)}
.tarjeta-precio__pie{margin:14px 0 0;text-align:center;font-size:.9375rem;color:var(--tinta-3)}
@media (min-width:900px){
  .membresia__grid{grid-template-columns:1fr 1fr;gap:64px}
}

/* ---------- La colección (carrusel) ---------- */
.coleccion{--sangria:max(var(--gutter), calc((100vw - var(--ancho)) / 2));background:var(--tinta);color:#fff;overflow:hidden}
.coleccion .sup{color:var(--amarillo)}
.coleccion h2{color:#fff;max-width:24ch;margin:0}
.coleccion__cab{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(28px, 4vw, 44px)}
.carrusel__nav{display:none;gap:10px}
.carrusel__btn{display:grid;place-items:center;width:52px;height:52px;padding:0;border:1.5px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:background-color .2s, color .2s, opacity .2s}
.carrusel__btn:hover:not(:disabled){background:#fff;color:var(--tinta)}
.carrusel__btn:disabled{opacity:.3;cursor:default}
.carrusel{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--sangria);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.carrusel::-webkit-scrollbar{display:none}
.carrusel:focus-visible{outline-offset:-3px}
.carrusel__pista{display:flex;gap:clamp(14px, 2vw, 22px);width:max-content;margin:0;padding:0 var(--sangria) 6px;list-style:none}
.libro{width:min(70vw, 300px);scroll-snap-align:start}
.libro img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radio-chico);transition:transform .45s var(--curva)}
.libro__tit{margin:14px 0 3px;font:600 1.125rem/1.25 var(--serif)}
.libro__aut{margin:0;font:700 .78rem/1.3 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--amarillo)}
@media (hover:hover){ .libro:hover img{transform:translateY(-6px)} }
@media (min-width:900px){ .carrusel__nav{display:flex} }

/* ---------- Testimonios ---------- */
.testimonios__grid{display:grid;gap:clamp(40px, 6vw, 80px);align-items:center}
.testimonios__foto{position:relative;margin:0 16px 16px 0;max-width:460px}
.testimonios__foto::before{content:"";position:absolute;inset:18px -16px -16px 18px;background:var(--amarillo);border-radius:var(--radio);z-index:-1}
.testimonios__foto img{width:100%;aspect-ratio:640/775;object-fit:cover;border-radius:var(--radio)}
.testimonios__texto{isolation:isolate}
.citas{list-style:none;display:grid;margin:8px 0 0;padding:0}
.cita{padding:22px 0;border-top:1px solid var(--linea)}
.cita:last-child{border-bottom:1px solid var(--linea)}
.cita blockquote{position:relative;margin:0;padding-left:52px}
.cita blockquote::before{content:"“";position:absolute;left:-2px;top:-12px;font:700 4.6rem/1 var(--serif);color:var(--rojo)}
.cita p{margin:0;font:italic 400 clamp(1.15rem, 1.05rem + .45vw, 1.35rem)/1.48 var(--serif);color:var(--tinta)}
.testimonios .contenedor{position:relative;z-index:0}
@media (min-width:900px){ .testimonios__grid{grid-template-columns:.85fr 1.15fr} }

/* ---------- CTA final ---------- */
.cta-final{position:relative;background:var(--rojo);color:#fff;overflow:hidden}
.cta-final__in{display:flex;flex-direction:column-reverse;gap:8px;padding-top:clamp(56px, 7vw, 88px)}
.cta-final__lector{width:clamp(130px, 30vw, 300px);height:auto;align-self:flex-start;margin-bottom:-2px}
.cta-final__texto{max-width:620px}
.cta-final h2{color:#fff;font-size:clamp(2rem, 1.15rem + 3.4vw, 3.6rem);line-height:1.04}
.cta-final p{font-size:1.125rem;opacity:.95;margin-bottom:1.6rem;max-width:46ch}
.cta-final p strong{white-space:nowrap}
.js .cta-final__lector{transform:translateX(-36%);opacity:0;transition:transform 1.6s var(--curva), opacity 1s ease}
.js .cta-final.is-visible .cta-final__lector{transform:none;opacity:1}
@media (min-width:760px){
  .cta-final__in{flex-direction:row;align-items:flex-end;gap:clamp(32px, 6vw, 88px)}
  .cta-final__texto{padding-bottom:clamp(56px, 7vw, 88px);align-self:center}
}

/* ---------- Procesión de lectores (franja amarilla animada) ---------- */
.procesion{position:relative;height:64px;overflow:hidden;background:var(--amarillo)}
.procesion::before{content:"";position:absolute;top:0;bottom:0;left:-370px;right:0;background:url(../img/procesion-lectores.webp) repeat-x 0 50% / 370px 64px;animation:marcha 30s linear infinite;will-change:transform}
@keyframes marcha{to{transform:translateX(370px)}}

/* ---------- Barra fija de suscripción (móvil) ---------- */
.barra-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--linea);box-shadow:0 -10px 30px -14px rgba(0,0,0,.3);transform:translateY(110%);transition:transform .4s var(--curva);visibility:hidden}
.barra-cta.is-visible{transform:none;visibility:visible}
.barra-cta__precio{display:flex;flex-direction:column;margin:0;line-height:1.15}
.barra-cta__precio strong{font:700 1.3rem var(--serif)}
.barra-cta__precio span{font-size:.8125rem;color:var(--tinta-3)}
.barra-cta .boton{min-height:50px;padding-inline:1.6em}
@media (min-width:900px){ .barra-cta{display:none} }

/* ---------- Pie ---------- */
.pie{background:var(--tinta);color:rgba(255,255,255,.74);padding:56px 0 calc(24px + env(safe-area-inset-bottom));font-size:.9375rem;line-height:1.55}
.pie__grid{display:grid;gap:32px}
.pie__marca img{width:104px;margin-bottom:16px}
.pie__marca p{max-width:34ch;margin:0}
.pie__tit{margin:0 0 12px;font:700 .8125rem var(--cond);letter-spacing:.13em;text-transform:uppercase;color:#fff}
.pie ul{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.pie a{color:#fff;text-decoration:none;text-underline-offset:3px}
.pie a:hover{text-decoration:underline}
.pie__redes a{display:inline-flex;align-items:center;gap:8px}
.pie__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.8125rem;color:rgba(255,255,255,.5)}
@media (min-width:760px){ .pie__grid{grid-template-columns:1.5fr 1fr 1.1fr .9fr} }

/* ---------- Animación de aparición ---------- */
.js .revelar{opacity:0;transform:translateY(22px);transition:opacity .8s ease, transform .8s var(--curva)}
.js .revelar.is-visible{opacity:1;transform:none}
.js .abanico.revelar{transform:none}

/* ==========================================================================
   INSCRIPCIÓN
   ========================================================================== */
.ins-hero{position:relative;background:var(--papel)}
.ins-hero__foto img{width:100%;height:clamp(150px, 34vw, 230px);object-fit:cover;object-position:50% 22%}
.ins-hero__in{position:relative;padding-block:26px 6px}
.ins-hero h1{font-size:clamp(1.95rem, 1.2rem + 3vw, 3.5rem);max-width:17ch;margin-bottom:.45em}
.ins-hero__bajada{max-width:60ch;color:var(--tinta-2);font-size:1.0625rem}
.ins-hero__bajada-extra{display:none}
@media (min-width:900px){
  .ins-hero{display:flex;align-items:center;min-height:460px}
  .ins-hero__foto{position:absolute;inset:0}
  .ins-hero__foto img{height:100%;object-position:72% 32%}
  .ins-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(251,247,240,.97) 0%, rgba(251,247,240,.92) 36%, rgba(251,247,240,.35) 56%, rgba(251,247,240,0) 66%)}
  .ins-hero__in{z-index:1;padding-block:64px}
  .ins-hero__in > *{max-width:580px}
  .ins-hero__bajada-extra{display:inline}
}

.ins-cuerpo{padding:clamp(16px, 3vw, 40px) 0 clamp(64px, 8vw, 104px)}
.ins-grid{display:grid;gap:20px}
@media (min-width:1000px){
  .ins-grid{grid-template-columns:minmax(0, 1fr) 360px;gap:48px;align-items:start}
  .form-caja{order:1}
  .resumen{order:2;position:sticky;top:calc(var(--cab-alto) + 24px)}
}

/* Resumen de la membresía */
.resumen{position:relative;overflow:hidden;padding:20px 20px 0;background:var(--rojo);color:#fff;border-radius:var(--radio);box-shadow:var(--sombra)}
.resumen .sup{color:var(--amarillo);margin-bottom:.6rem}
.resumen__cab{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}
.resumen__cab .sup{width:100%}
.resumen__precio{margin:0;font:600 1.15rem var(--sans)}
.resumen__precio span{font:700 2.5rem/1 var(--serif);letter-spacing:-.02em}
.resumen__envio{margin:0;font-size:.95rem;opacity:.92}
.resumen{padding-bottom:18px}
.resumen__lista{display:none;list-style:none;gap:9px;margin:16px 0 20px;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.3);font-size:.95rem;line-height:1.4}
@media (min-width:600px){ .resumen__lista{display:grid} .resumen{padding-bottom:0} }
.resumen__lista li{display:grid;grid-template-columns:22px 1fr;gap:10px}
.resumen__lista svg{color:var(--amarillo);margin-top:1px}
.resumen__tapas{display:none}
@media (min-width:1000px){
  .resumen{padding:28px 28px 0}
  .resumen__tapas{display:flex;justify-content:center;height:150px;margin:0 -10px}
  .resumen__tapas img{width:104px;margin:0 -8px;border-radius:2px 4px 4px 2px;box-shadow:var(--sombra-libro);transform:translateY(14px) rotate(-6deg)}
  .resumen__tapas img:nth-child(2){transform:translateY(0) rotate(0);z-index:1}
  .resumen__tapas img:nth-child(3){transform:translateY(14px) rotate(6deg)}
}

/* Caja del formulario */
.form-caja{padding:clamp(20px, 4vw, 44px);background:#fff;border:1px solid var(--linea);border-radius:var(--radio);box-shadow:var(--sombra)}
.form__tit{font-size:clamp(1.6rem, 1.25rem + 1.3vw, 2.15rem);margin-bottom:.3em}
.form__intro{margin-bottom:26px;color:var(--tinta-3);font-size:.975rem}
.form__grupo{min-width:0;margin:0 0 26px;padding:0;border:0}
.form__grupo + .form__grupo{padding-top:24px;border-top:1px solid var(--linea)}
.form__grupo legend{float:left;width:100%;display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:0;font:600 1.3rem/1.2 var(--serif)}
.form__grupo legend + *{clear:both}
.form__paso{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--tinta);color:#fff;font:700 .9rem/1 var(--sans)}

.campos{display:grid;column-gap:16px}
@media (min-width:340px){ .campos--nombre{grid-template-columns:1fr 1fr;column-gap:12px} }
@media (min-width:600px){ .campos--2{grid-template-columns:1fr 1fr;column-gap:16px} }
.campo{margin-bottom:16px;min-width:0}
.campo__etiqueta{display:block;margin-bottom:6px;font-weight:600;font-size:.9688rem}
.campo__control{display:block;width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--linea-osc);border-radius:var(--radio-chico);background:var(--papel);color:var(--tinta);font:400 1.0625rem/1.3 var(--sans);transition:border-color .15s, box-shadow .15s, background-color .15s;-webkit-appearance:none;appearance:none}
.campo__control::placeholder{color:#9b9187}
.campo__control:hover{border-color:#B8AA92}
.campo__control:focus{outline:none;border-color:var(--tinta);background:#fff;box-shadow:0 0 0 4px rgba(228,6,19,.13)}
textarea.campo__control{min-height:100px;resize:vertical;line-height:1.45}
.campo__select{position:relative}
.campo__select::after{content:"";position:absolute;right:16px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid var(--tinta-2);border-bottom:2px solid var(--tinta-2);transform:rotate(45deg);pointer-events:none}
.campo__select select{padding-right:40px;cursor:pointer}
.campo__select select:invalid{color:#8c8278}
.campo__ayuda{margin:6px 0 0;font-size:.8438rem;line-height:1.4;color:var(--tinta-3)}
.campo__error{margin:6px 0 0;font-size:.875rem;line-height:1.35;font-weight:600;color:var(--rojo-osc)}
.campo__error:empty{display:none}
.campo.is-invalido .campo__control{border-color:var(--rojo);background:#FFF8F8}
.campo.is-invalido .campo__ayuda{display:none}
.campo.is-valido .campo__control:not(select):not(textarea){padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232E7A4D' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' d='m5 12.5 4.2 4.2L19 7'/%3E%3C/svg%3E") no-repeat right 14px center / 18px}
.campo__aviso{margin:8px 0 0;padding:8px 10px;border-radius:var(--radio-chico);background:#FFF5D1;color:#6E5200;font-size:.875rem;line-height:1.4}
.sugerencia{display:inline;padding:0;border:0;background:none;color:var(--azul);font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* Formas de pago */
.opciones-pago{display:grid;gap:12px}
@media (min-width:600px){ .opciones-pago{grid-template-columns:1fr 1fr} }
.opcion{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.opcion input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.opcion__caja{display:grid;grid-template-columns:24px 1fr;gap:5px 12px;height:100%;padding:16px 16px 17px;border:1.5px solid var(--linea-osc);border-radius:var(--radio);background:var(--papel);transition:border-color .15s, background-color .15s, box-shadow .15s}
.opcion:hover .opcion__caja{border-color:#B8AA92}
.opcion__marca{grid-row:span 2;width:22px;height:22px;margin-top:1px;border:2px solid #B8AA92;border-radius:50%;background:#fff;transition:all .15s}
.opcion__tit{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-weight:700;line-height:1.25}
.opcion__desc{grid-column:2;font-size:.9rem;line-height:1.4;color:var(--tinta-2)}
.opcion input:checked + .opcion__caja{border-color:var(--rojo);background:#fff;box-shadow:0 0 0 3px rgba(228,6,19,.12)}
.opcion input:checked + .opcion__caja .opcion__marca{border-color:var(--rojo);background:radial-gradient(circle, var(--rojo) 0 5px, #fff 5.5px)}
.opcion input:focus-visible + .opcion__caja{outline:3px solid var(--azul);outline-offset:2px}
.insignia{padding:.28em .55em;border-radius:3px;background:var(--amarillo);color:var(--tinta);font:700 .6875rem/1 var(--cond);letter-spacing:.08em;text-transform:uppercase}
.nota-envio{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 14px;border-radius:var(--radio-chico);background:var(--papel-2);color:var(--tinta-2);font-size:.9375rem;line-height:1.45}
.nota-envio svg{flex:none;color:var(--rojo);margin-top:1px}
.nota-envio[hidden]{display:none}

/* Comentario opcional */
.form__extra{margin:0 0 24px;padding-top:18px;border-top:1px solid var(--linea)}
.form__extra summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:600;color:var(--tinta-2);list-style:none}
.form__extra summary::-webkit-details-marker{display:none}
.form__extra summary::before{content:"+";flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border:1.5px solid var(--linea-osc);border-radius:50%;font:600 1.1rem/1 var(--sans)}
.form__extra[open] summary::before{content:"–"}
.form__extra summary .opc{font-weight:400;color:var(--tinta-3)}
.form__extra .campo{margin:10px 0 0}

/* Enviar */
.form__enviar{position:relative;margin-top:4px}
.form__enviar[aria-busy="true"]{pointer-events:none;opacity:.9}
.form__enviar[aria-busy="true"] svg{display:none}
.form__enviar[aria-busy="true"]::after{content:"";width:20px;height:20px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.form__legal{display:flex;justify-content:center;align-items:center;gap:6px;margin:14px 0 0;text-align:center;font-size:.8438rem;color:var(--tinta-3)}
.form__legal svg{flex:none}

.aviso{margin:0 0 20px;padding:14px 16px;border-radius:var(--radio-chico);font-weight:600;line-height:1.45}
.aviso--error{background:#FFF1F1;border:1.5px solid #F4B9BC;color:var(--rojo-osc)}
.aviso[hidden]{display:none}

/* Éxito */
.exito{padding:clamp(12px, 3vw, 28px) 4px;text-align:center}
.exito:focus{outline:none}
.exito__icono{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 20px;border-radius:50%;background:var(--verde-suave);color:var(--verde)}
.exito__icono svg{width:40px;height:40px}
.exito h2{font-size:clamp(1.75rem, 1.25rem + 2vw, 2.5rem)}
.exito p{max-width:46ch;margin-inline:auto;color:var(--tinta-2)}
.exito .boton{margin-top:8px}
.exito__progreso{height:4px;max-width:260px;margin:22px auto 8px;border-radius:4px;background:var(--papel-2);overflow:hidden}
.exito__progreso span{display:block;height:100%;width:0;background:var(--rojo);animation:avanza 2.6s linear forwards}
@keyframes avanza{to{width:100%}}
.exito__chico{font-size:.875rem;color:var(--tinta-3)}

/* Grilla de libros */
.ins-libros{background:var(--papel-2)}
.grilla-libros{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px;margin:0;padding:0;list-style:none}
.grilla-libros img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radio-chico)}
@media (min-width:760px){ .grilla-libros{grid-template-columns:repeat(3, 1fr);gap:20px} }

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .procesion::before{animation:none}
  .js .revelar,.js .cta-final__lector{opacity:1;transform:none}
}
