/* Edición Especial — el cómic: papel un poco amarillento con trama, hojas que dan la vuelta, viñetas con borde de
   tinta, cuadros de narración, globos de diálogo, onomatopeyas, la portada, las tarjetas del equipo, la
   contraportada y los formularios. Tamaños contra el marco (cqw / cqh de .app). */

/* ---------- el libro y la vuelta de página ---------- */
/* (el libro es el contenedor de tamaño de las hojas: en la vitrina es más angosto que el marco) */
.edicion .book { position: absolute; left: 0; right: 0; top: 0; bottom: calc(var(--nav-h) + var(--safe-b)); container-type: size; perspective: 1800px; perspective-origin: 0 50%; overflow: hidden; background: var(--ink); }
.edicion .page { position: absolute; inset: 0; transform-origin: 0 50%; transform-style: preserve-3d; touch-action: pan-y; }
.edicion .page.is-turning { will-change: transform; }
.edicion .page.is-off { visibility: hidden; }
.edicion .page.is-off.is-warm { visibility: visible; opacity: .006; z-index: 0 !important; pointer-events: none; } /* (prepintado, main.js) */
.edicion .page-front, .edicion .page-back { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.edicion .page-front { display: flex; flex-direction: column; gap: 2cqw; padding: 2.6cqw 2.6cqw 3cqw; overflow: hidden;
  background: radial-gradient(rgba(150, 110, 40, .1) 18%, transparent 20%) 0 0 / 7px 7px, linear-gradient(90deg, rgba(120, 80, 20, .16), transparent 5%, transparent 96%, rgba(120, 80, 20, .1)), var(--paper); }
.edicion .page-back { transform: rotateY(180deg); background: radial-gradient(rgba(150, 110, 40, .14) 18%, transparent 20%) 0 0 / 7px 7px, var(--paper-2); }
.edicion .page.is-turning .page-front::after { /* la hoja se oscurece hacia el lomo mientras gira */
  content: ""; position: absolute; inset: 0; z-index: 60; pointer-events: none;
  background: linear-gradient(90deg, rgba(22, 18, 14, calc(var(--k, 0) * .55)), rgba(22, 18, 14, calc(var(--k, 0) * .12)) 45%, rgba(255, 253, 246, calc(var(--k, 0) * .35)) 88%, rgba(22, 18, 14, calc(var(--k, 0) * .35))); }
.edicion .turn-shade { /* sombra de la hoja que gira sobre la de abajo (--edge: su borde proyectado, book.js) */
  position: absolute; inset: 0; z-index: 70; pointer-events: none; opacity: min(1, calc((1 - var(--k, 0)) * 1.6));
  background: linear-gradient(90deg, rgba(22, 18, 14, .55) 0, rgba(22, 18, 14, .55) var(--edge, 100%), rgba(22, 18, 14, .4) var(--edge, 100%), rgba(22, 18, 14, 0) calc(var(--edge, 100%) + 26%)); }
.edicion .page.is-fading { transition: opacity .22s ease; opacity: 0; }

/* ---------- piezas del cómic ---------- */
.edicion .pg-head { display: flex; align-items: center; gap: 2.4cqw; flex: none; }
.edicion .pg-num { display: grid; place-items: center; flex: none; width: 9cqw; height: 9cqw; max-width: 40px; max-height: 40px; border: 2.5px solid var(--ink); border-radius: 50%; background: var(--red); color: var(--white); font: 400 clamp(16px, 5cqw, 22px)/1 var(--font-d); }
.edicion .pg-head h2 { margin: 0; font: 400 clamp(26px, 9.6cqw, 44px)/.95 var(--font-d); letter-spacing: .03em; color: var(--yellow); -webkit-text-stroke: .08em var(--ink); paint-order: stroke fill; text-shadow: .06em .06em 0 var(--ink); }
.edicion .grid { flex: 1; min-height: 0; display: grid; gap: 2cqw; }
.edicion .panel { position: relative; min-height: 0; overflow: hidden; border: 3px solid var(--ink); background: var(--white); }
.edicion .p3d .bg, .edicion .p3d .snap, .edicion .p3d .gl, .edicion .p3d .fx { position: absolute; inset: 0; width: 100%; height: 100%; }
.edicion .p3d .snap, .edicion .p3d .gl { display: block; }
.edicion .p3d.is-live .snap { visibility: hidden; } /* (con el lienzo 3D encima, transparente, la foto no debe verse) */
.edicion .p3d .fx { pointer-events: none; z-index: 2; }
.edicion .hero-still { position: absolute; left: 50%; bottom: 0; height: 96%; transform: translateX(-50%); }

.edicion .caption { margin: 0; padding: 1.4cqw 2.6cqw; border: 2.5px solid var(--ink); background: var(--yellow); font: 700 clamp(13px, 3.7cqw, 17px)/1.2 var(--font-b); text-transform: uppercase; letter-spacing: .01em; box-shadow: 2px 2px 0 var(--ink); }
.edicion .balloon { position: absolute; z-index: 3; max-width: 64%; margin: 0; padding: 2cqw 3.2cqw; border: 2.5px solid var(--ink); border-radius: 22px; background: var(--white); font: 700 clamp(13px, 4cqw, 18px)/1.15 var(--font-b); text-transform: uppercase; text-align: center; }
.edicion .balloon::before, .edicion .balloon::after { content: ""; position: absolute; width: 0; height: 0; border-style: solid; }
.edicion .balloon[data-tail^="down"]::before { top: 100%; border-width: 16px 9px 0 9px; border-color: var(--ink) transparent transparent transparent; }
.edicion .balloon[data-tail^="down"]::after { top: calc(100% - 3px); border-width: 13px 6px 0 6px; border-color: var(--white) transparent transparent transparent; }
.edicion .balloon[data-tail="down-left"]::before { left: 22%; transform: skewX(-25deg); } .edicion .balloon[data-tail="down-left"]::after { left: calc(22% + 3px); transform: skewX(-25deg); }
.edicion .balloon[data-tail="down-right"]::before { right: 22%; transform: skewX(25deg); } .edicion .balloon[data-tail="down-right"]::after { right: calc(22% + 3px); transform: skewX(25deg); }
.edicion .balloon[data-tail="up-left"]::before { bottom: 100%; left: 18%; border-width: 0 9px 16px 9px; border-color: transparent transparent var(--ink) transparent; }
.edicion .balloon[data-tail="up-left"]::after { bottom: calc(100% - 3px); left: calc(18% + 3px); border-width: 0 6px 13px 6px; border-color: transparent transparent var(--white) transparent; }
.edicion .balloon.is-radio { border-style: dashed; background: #E3F6FF; border-radius: 8px; }
.edicion .balloon.is-radio::after { border-bottom-color: #E3F6FF; }
.edicion .sfx { position: absolute; z-index: 3; margin: 0; pointer-events: none; }
.edicion .sfx span { display: inline-block; font: 400 clamp(34px, 14cqw, 70px)/.9 var(--font-d); letter-spacing: .02em; color: var(--yellow); -webkit-text-stroke: .08em var(--ink); paint-order: stroke fill; text-shadow: .06em .07em 0 var(--red); transform: rotate(-10deg); white-space: nowrap; }

/* lo que aparece con el tiempo */
.edicion [data-at] { opacity: 0; transform: scale(.7); transition: opacity .2s ease, transform .35s cubic-bezier(.3, 1.7, .5, 1); }
.edicion [data-at].is-on { opacity: 1; transform: none; }
.edicion .sfx[data-at] { transform: scale(.2) rotate(-25deg); }
.edicion .sfx[data-at].is-on { transform: none; }
.rm.edicion [data-at] { transition: opacity .2s ease; transform: none; }

/* ---------- portada ---------- */
.edicion .cover .page-front { gap: 2cqw; padding-top: 2.2cqw; }
.edicion .mast { position: relative; flex: none; }
.edicion .mast-kick { margin: 0 0 1.4cqw; text-align: center; }
.edicion .mast-kick span { display: inline-block; padding: .8cqw 4cqw; border: 2.5px solid var(--ink); background: var(--blue); color: var(--white); font: 400 clamp(17px, 5.6cqw, 26px)/1 var(--font-d); letter-spacing: .12em; transform: skewX(-10deg); box-shadow: 3px 3px 0 var(--ink); }
.edicion .mast-row { display: flex; align-items: center; gap: 2cqw; }
.edicion .issue { flex: none; display: grid; place-items: center; width: 17cqw; padding: 1cqw 0; border: 3px solid var(--ink); background: var(--white); line-height: .9; box-shadow: 3px 3px 0 var(--ink); }
.edicion .issue small { font: 700 clamp(11px, 3.2cqw, 14px)/1 var(--font-b); }
.edicion .issue strong { font: 400 clamp(26px, 9.5cqw, 44px)/.9 var(--font-d); color: var(--red); }
.edicion .cover-name { flex: 1; min-width: 0; margin: 0; font: 400 20cqw/.86 var(--font-d); letter-spacing: .02em; white-space: nowrap; color: var(--yellow); -webkit-text-stroke: .055em var(--ink); paint-order: stroke fill; text-shadow: .045em .055em 0 var(--red), .07em .085em 0 var(--ink); }
.edicion .price { position: absolute; right: -1cqw; bottom: -22cqw; z-index: 5; width: 23cqw; height: 23cqw; margin: 0; display: grid; place-items: center; padding: 3cqw; text-align: center; font: 400 clamp(12px, 3.6cqw, 16px)/1 var(--font-d); letter-spacing: .03em; color: var(--ink); background: var(--yellow); transform: rotate(12deg);
  clip-path: polygon(50% 0%, 61% 13%, 77% 6%, 79% 23%, 96% 25%, 88% 40%, 100% 50%, 88% 60%, 96% 75%, 79% 77%, 77% 94%, 61% 87%, 50% 100%, 39% 87%, 23% 94%, 21% 77%, 4% 75%, 12% 60%, 0% 50%, 12% 40%, 4% 25%, 21% 23%, 23% 6%, 39% 13%); }
.edicion .cover .p3d { flex: 1; }
.edicion .bg-cover .bg { background: radial-gradient(circle at 50% 62%, #FFF3B0 0, transparent 46%), repeating-conic-gradient(from 4deg at 50% 62%, #FFB627 0deg 8deg, #FF8A1F 8deg 16deg); }
.edicion .bg-cover .bg::after, .edicion .bg-victory .bg::after, .edicion .bg-join .bg::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(22, 18, 14, .2) 22%, transparent 25%); background-size: 9px 9px; -webkit-mask-image: radial-gradient(circle at 50% 60%, transparent 30%, #000 75%); mask-image: radial-gradient(circle at 50% 60%, transparent 30%, #000 75%); }
.edicion .cover-tag { position: absolute; left: 2.4cqw; bottom: 2.4cqw; max-width: 58%; margin: 0; padding: 1.2cqw 2.4cqw; border: 2.5px solid var(--ink); background: var(--white); font: 700 clamp(12px, 3.6cqw, 16px)/1.15 var(--font-b); text-transform: uppercase; transform: rotate(-2deg); box-shadow: 2px 2px 0 var(--ink); }
.edicion .cover-foot { flex: none; display: flex; flex-direction: column; align-items: stretch; gap: 2cqw; }
.edicion .cover-sub { margin: 0; text-align: center; font: 400 clamp(22px, 8cqw, 38px)/1 var(--font-d); letter-spacing: .03em; color: var(--white); -webkit-text-stroke: .08em var(--ink); paint-order: stroke fill; text-shadow: .06em .06em 0 var(--blue); }
.edicion .cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 20px; border: 3px solid var(--ink); border-radius: 14px; background: var(--red); color: var(--white); font: 400 clamp(22px, 6.6cqw, 30px)/1 var(--font-d); letter-spacing: .05em; cursor: pointer; box-shadow: 4px 4px 0 var(--ink); }
.edicion .cta:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--ink); }
.edicion .seal { position: absolute; top: 2.6cqw; right: 2.6cqw; z-index: 6; margin: 0; display: flex; flex-direction: column; align-items: center; padding: .6cqw 1.6cqw; border: 2px solid var(--ink); border-radius: 6px; background: var(--white); line-height: 1; transform: rotate(4deg); }
.edicion .seal span { font: 700 clamp(8px, 2.3cqw, 10px)/1 var(--font-b); text-transform: uppercase; letter-spacing: .08em; }
.edicion .seal strong { font: 400 clamp(12px, 3.8cqw, 17px)/1 var(--font-d); letter-spacing: .06em; color: var(--blue); }

/* ---------- 1. alarma ---------- */
.edicion .pg-alarm .grid { grid-template-rows: auto minmax(0, .75fr) minmax(0, 1.6fr) auto; }
.edicion .hq { background: linear-gradient(#2C3E66, #1B2745); }
.edicion .lamp { position: absolute; left: 7%; top: 14%; width: 16cqw; height: 16cqw; border: 3px solid var(--ink); border-radius: 50% 50% 8px 8px; background: radial-gradient(circle at 40% 35%, #FFD0C8, #FF2E3C 45%, #A1121E); }
.edicion .lamp::before { content: ""; position: absolute; left: 50%; top: 50%; width: 260%; height: 260%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 60, 70, .55), rgba(255, 60, 70, 0)); transform: translate(-50%, -50%) scale(.6); opacity: 0; z-index: -1; }
.edicion .page.is-current .lamp::before { animation: ee-lamp .7s ease-in-out infinite alternate; }
@keyframes ee-lamp { to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
.edicion .screen { position: absolute; right: 6%; top: 12%; bottom: 14%; width: 46%; display: grid; place-items: center; border: 3px solid var(--ink); border-radius: 8px; background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .06) 0 2px, transparent 2px 5px), #0E5E52; }
.edicion .screen span { font: 400 clamp(20px, 7cqw, 32px)/1 var(--font-d); letter-spacing: .06em; color: #8CFFB4; }
.edicion .page.is-current .screen span { animation: ee-blink 1s steps(2) infinite; }
@keyframes ee-blink { 50% { opacity: .25; } }
.edicion .s-siren { left: 4%; bottom: 4%; } .edicion .s-siren span { font-size: clamp(24px, 9cqw, 44px); }
.edicion .bg-alarm .bg { background: radial-gradient(circle at 50% 30%, #6F86C9, #2C3E66 70%); }
.edicion .bg-alarm .bg::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .14) 22%, transparent 25%); background-size: 8px 8px; }
.edicion .page.is-current .bg-alarm .bg::before { content: ""; position: absolute; inset: 0; background: rgba(255, 46, 60, .22); animation: ee-red .7s ease-in-out infinite alternate; }
@keyframes ee-red { from { opacity: 0; } to { opacity: 1; } }
.edicion .pg-alarm .is-radio { left: 3%; top: 4%; max-width: 46%; }
.edicion .pg-alarm .balloon[data-tail="down-left"] { right: 3%; top: 4%; max-width: 40%; }

/* ---------- 2. despegue ---------- */
.edicion .pg-takeoff .grid { grid-template-rows: minmax(0, 1.8fr) minmax(0, 1fr); }
.edicion .bg-takeoff .bg { background: repeating-conic-gradient(from 0deg at 50% 70%, #7FD3F7 0deg 3deg, #4FB6EA 3deg 9deg), #4FB6EA; }
.edicion .bg-takeoff .bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 70%, rgba(255, 255, 255, .85), transparent 28%); }
.edicion .s-fiu { right: 4%; top: 8%; }
.edicion .city { background: linear-gradient(#FFB36B, #FFD9A0 60%); }
.edicion .skyline { position: absolute; left: 0; right: 0; bottom: 0; height: 62%; background:
  linear-gradient(var(--ink), var(--ink)) 0 100% / 100% 6% no-repeat,
  linear-gradient(#2C3E66, #2C3E66) 3% 100% / 12% 70% no-repeat, linear-gradient(#8E44D9, #8E44D9) 17% 100% / 10% 92% no-repeat,
  linear-gradient(#1D6FD6, #1D6FD6) 30% 100% / 13% 58% no-repeat, linear-gradient(#D7263D, #D7263D) 46% 100% / 9% 80% no-repeat,
  linear-gradient(#2BB673, #2BB673) 58% 100% / 14% 50% no-repeat, linear-gradient(#2C3E66, #2C3E66) 75% 100% / 10% 98% no-repeat,
  linear-gradient(#FF7A1A, #FF7A1A) 88% 100% / 12% 66% no-repeat; }
.edicion .skyline::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(#FFE98A 30%, transparent 34%); background-size: 11px 13px; opacity: .55; -webkit-mask-image: linear-gradient(transparent 0, #000 12%); mask-image: linear-gradient(transparent 0, #000 12%); }
.edicion .streak { position: absolute; left: -10%; top: 18%; width: 80%; height: 7%; border-radius: 999px; background: linear-gradient(90deg, transparent, var(--white) 60%, var(--yellow)); transform-origin: right center; }
.edicion .streak.is-on { transform: rotate(-8deg) translateX(18%); }
.edicion .city .c-in { position: absolute; left: 3%; right: 30%; top: 4%; }

/* ---------- 3. la misión ---------- */
.edicion .pg-mission .grid { grid-template-rows: auto minmax(0, 1fr) auto auto; }
.edicion .c-mission { font: 400 clamp(20px, 6.6cqw, 30px)/1 var(--font-d); letter-spacing: .04em; text-align: center; background: var(--red); color: var(--white); -webkit-text-stroke: .04em var(--ink); paint-order: stroke fill; }
.edicion .bg-mission .bg { background: linear-gradient(180deg, #FFC46B 0, #FF8A3D 64%, #6A3A2A 64.5%, #4A2A1F 100%); }
.edicion .bg-mission .bg::after { content: ""; position: absolute; left: 0; right: 0; top: 18%; height: 46%; background: linear-gradient(#2C3E66, #2C3E66) 6% 100% / 10% 60% no-repeat, linear-gradient(#3A2A4F, #3A2A4F) 20% 100% / 8% 85% no-repeat, linear-gradient(#2C3E66, #2C3E66) 76% 100% / 12% 72% no-repeat, linear-gradient(#3A2A4F, #3A2A4F) 90% 100% / 9% 95% no-repeat; opacity: .55; }
.edicion .s-tump { left: 4%; bottom: 6%; }
.edicion .pg-mission .balloon { right: 3%; top: 5%; max-width: 44%; }
.edicion .dossier { display: grid; grid-template-columns: 1fr 1fr; gap: 2cqw; }
.edicion .dato { padding: 1.6cqw 2.4cqw; border: 2.5px solid var(--ink); background: var(--white); box-shadow: 3px 3px 0 var(--ink); }
.edicion .d-lugar { grid-column: 1 / -1; }
.edicion .d-label { margin: 0; font: 400 clamp(13px, 4cqw, 18px)/1 var(--font-d); letter-spacing: .08em; color: var(--red); }
.edicion .d-main { margin: .4cqw 0 0; font: 400 clamp(19px, 6.4cqw, 28px)/1 var(--font-d); letter-spacing: .02em; }
.edicion .d-sub { margin: .6cqw 0 0; font: 700 clamp(12px, 3.4cqw, 15px)/1.25 var(--font-b); color: var(--ink-2); }
.edicion .d-chip { display: inline-block; margin: 1cqw 0 0; padding: .6cqw 2cqw; border: 2px solid var(--ink); border-radius: 999px; background: var(--yellow); font: 700 clamp(11px, 3.2cqw, 14px)/1.1 var(--font-b); }
.edicion .cal-row { justify-content: center; }

/* ---------- 4. victoria ---------- */
.edicion .pg-victory .grid { grid-template-rows: minmax(0, 1fr) auto auto; }
.edicion .bg-victory .bg { background: radial-gradient(circle at 50% 58%, #FFF6C2 0, transparent 42%), repeating-conic-gradient(from 0deg at 50% 58%, #FF5FA2 0deg 10deg, #FF8FC0 10deg 20deg); }
.edicion .s-yuju { left: 3%; top: 5%; }
.edicion .s-yuju span { color: var(--white); text-shadow: .06em .07em 0 var(--blue); }
.edicion .pg-victory .balloon { right: 3%; top: 24%; max-width: 42%; }
.edicion .balloon.is-big { font-size: clamp(13px, 3.9cqw, 18px); }
.edicion .big-cap { margin: 0; text-align: center; }
.edicion .big-cap span { display: inline-block; padding: 1cqw 3cqw; border: 3px solid var(--ink); background: var(--blue); color: var(--yellow); font: 400 clamp(22px, 8cqw, 38px)/1 var(--font-d); letter-spacing: .03em; -webkit-text-stroke: .05em var(--ink); paint-order: stroke fill; transform: rotate(-2deg); box-shadow: 4px 4px 0 var(--ink); }

/* ---------- 5. el equipo ---------- */
.edicion .pg-join .grid { grid-template-rows: minmax(0, 30cqh) minmax(0, 1fr) auto; }
.edicion .join-top { display: grid; grid-template-columns: 1.05fr 1fr; gap: 2cqw; min-height: 0; }
.edicion .bg-join .bg { background: repeating-conic-gradient(from 0deg at 50% 65%, #6FD0FF 0deg 9deg, #3FA9F0 9deg 18deg); }
.edicion .pg-join .balloon { left: 4%; top: 5%; max-width: 86%; }
.edicion .join-text { display: flex; flex-direction: column; justify-content: center; gap: 2cqw; min-width: 0; }
.edicion .c-join { font-size: clamp(12px, 3.3cqw, 15px); }
.edicion .deadline { margin: 0; padding: 1cqw 2cqw; border: 2px dashed var(--ink); background: var(--white); font: 700 clamp(12px, 3.3cqw, 15px)/1.2 var(--font-b); text-align: center; }
.edicion .team-box { display: flex; flex-direction: column; min-height: 0; padding: 2cqw; border: 3px solid var(--ink); background: var(--white); }
.edicion .team-box h3 { margin: 0; font: 400 clamp(18px, 5.6cqw, 26px)/1 var(--font-d); letter-spacing: .04em; }
.edicion .team-count { margin: .4cqw 0 1.4cqw; font-size: clamp(12px, 3.4cqw, 15px); color: var(--ink-2); }
.edicion .team { flex: 1; min-height: 0; overflow-y: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2cqw; align-content: start; padding: 1cqw 1cqw 2cqw; overscroll-behavior: contain; }
.edicion .tcard { position: relative; }
.edicion .tcard > span { display: block; border-radius: 7%/5%; box-shadow: 2px 2px 0 var(--ink); }
.edicion .tcard svg { display: block; width: 100%; height: auto; }
.edicion .tcard em { position: absolute; left: 50%; top: -1.6cqw; transform: translateX(-50%) rotate(-6deg); padding: .2cqw 1.6cqw; border: 2px solid var(--ink); background: var(--yellow); font: 400 clamp(11px, 3.2cqw, 14px)/1.1 var(--font-d); letter-spacing: .05em; font-style: normal; white-space: nowrap; }
.edicion .tcard.is-new { animation: ee-stamp .6s cubic-bezier(.3, 1.6, .5, 1) both; }
.edicion .tcard.is-new::after { content: "¡NUEVO RECLUTA!"; position: absolute; left: 50%; top: 42%; padding: .4cqw 1cqw; border: 2.5px solid var(--red); color: var(--red); background: rgba(255, 253, 246, .9); font: 400 clamp(10px, 3cqw, 13px)/1 var(--font-d); letter-spacing: .03em; white-space: nowrap; transform: translateX(-50%) rotate(-14deg); animation: ee-seal .5s .4s cubic-bezier(.3, 1.8, .5, 1) both; }
@keyframes ee-stamp { from { transform: scale(1.8) rotate(-12deg); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ee-seal { from { transform: translateX(-50%) rotate(-14deg) scale(2.2); opacity: 0; } to { transform: translateX(-50%) rotate(-14deg) scale(1); opacity: 1; } }
.rm.edicion .tcard.is-new, .rm.edicion .tcard.is-new::after { animation: none; }
.edicion .join-btn { flex: none; font-size: clamp(18px, 5.4cqw, 26px); }
.edicion .pg-back .pg-head h2 { font-size: clamp(22px, 8cqw, 38px); }

/* ---------- contraportada ---------- */
.edicion .pg-back .page-front { padding: 0; }
.edicion .back-scroll { height: 100%; overflow-y: auto; padding: 2.6cqw 3cqw 5cqw; display: flex; flex-direction: column; gap: 2.6cqw; overscroll-behavior: contain; }
.edicion .map { flex: none; padding: 0; }
.edicion .map svg { display: block; width: 100%; height: auto; }
.edicion .addr { margin: 0; display: flex; flex-direction: column; gap: .4cqw; }
.edicion .addr strong { font: 400 clamp(22px, 7cqw, 32px)/1 var(--font-d); letter-spacing: .03em; }
.edicion .addr span { font-size: clamp(14px, 3.9cqw, 17px); color: var(--ink-2); }
.edicion .note { margin: 0; color: var(--ink-2); }
.edicion .bbox { padding: 2.4cqw 3cqw; border: 3px solid var(--ink); background: var(--white); box-shadow: 3px 3px 0 var(--ink); }
.edicion .bbox h3 { margin: 0 0 1cqw; font: 400 clamp(20px, 6cqw, 28px)/1 var(--font-d); letter-spacing: .04em; color: var(--blue); }
.edicion .bbox p { margin: 0 0 1cqw; }
.edicion .lead { font-size: clamp(15px, 4.2cqw, 18px); }
.edicion .plan { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2cqw; }
.edicion .plan li { display: flex; gap: 2.4cqw; align-items: baseline; }
.edicion .p-time { flex: none; min-width: 19cqw; padding: .3cqw 1.4cqw; border: 2px solid var(--ink); background: var(--yellow); font: 400 clamp(14px, 4cqw, 18px)/1.1 var(--font-d); letter-spacing: .04em; text-align: center; }
.edicion .check { list-style: none; margin: 0; padding: 0; display: grid; gap: 1cqw; }
.edicion .check li { display: flex; gap: 8px; align-items: flex-start; }
.edicion .check li > span:first-child { color: var(--green); }
.edicion .gifts { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4cqw; }
.edicion .gifts li { display: flex; gap: 2cqw; align-items: center; padding: 1.4cqw 2cqw; border: 2px solid var(--ink); background: var(--paper); }
.edicion .gifts li.is-star { background: var(--yellow-2); }
.edicion .g-text { flex: 1; display: flex; flex-direction: column; }
.edicion .g-text small { font-weight: 400; color: var(--ink-2); }
.edicion .g-text em { font-style: normal; font-size: 13px; color: var(--red); }
.edicion .g-link { flex: none; display: inline-grid; place-items: center; min-width: 52px; min-height: 40px; border: 2px solid var(--ink); border-radius: 10px; background: var(--white); color: var(--ink); text-decoration: none; font-weight: 700; }
.edicion .album { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4cqw; margin-bottom: 1.4cqw; }
.edicion .album-ph { position: relative; padding: 0; border: 3px solid var(--ink); background: var(--white); cursor: pointer; aspect-ratio: 3 / 4; overflow: hidden; }
.edicion .album-ph:nth-child(odd) { transform: rotate(-1.5deg); } .edicion .album-ph:nth-child(even) { transform: rotate(1.5deg); }
.edicion .album-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.edicion .album-ph span { position: absolute; left: 0; right: 0; bottom: 0; padding: .8cqw 1.4cqw; border-top: 2px solid var(--ink); background: var(--yellow); font: 700 clamp(11px, 3.2cqw, 14px)/1.1 var(--font-b); text-transform: uppercase; }
.edicion .back-actions { justify-content: center; }
/* ya confirmó: el aviso arriba de los botones */
.edicion .back-done { margin: 0; padding: 8px 12px; border: 3px solid var(--ink); background: #E8F9EE; font-weight: 700; text-align: center; box-shadow: 3px 3px 0 var(--ink); }
.edicion .back-done[hidden] { display: none; }
.edicion .colophon { margin: 0; text-align: center; color: var(--ink-2); font-size: 14px; }

/* ---------- "Toda la información" ---------- */
.edicion .chips { display: flex; gap: 6px; overflow-x: auto; padding: 8px 0 2px; scrollbar-width: none; }
.edicion .chips::-webkit-scrollbar { display: none; }
.edicion .chip { flex: none; min-height: 36px; padding: 0 12px; border: 2px solid var(--ink); border-radius: 999px; background: var(--white); font: 700 14px/1 var(--font-b); cursor: pointer; }
.edicion .chip.is-on { background: var(--ink); color: var(--yellow); }
.edicion .dcard { margin: 0 0 14px; padding: 12px 14px; border: 2.5px solid var(--ink); background: var(--white); box-shadow: 3px 3px 0 var(--ink); }
.edicion .dcard h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font: 400 22px/1 var(--font-d); letter-spacing: .04em; }
.edicion .dic { color: var(--red); display: inline-flex; }
.edicion .dcard .big { margin: 0; font: 400 24px/1.05 var(--font-d); letter-spacing: .03em; }
.edicion .dcard .lead { margin: 4px 0 8px; }
.edicion .thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.edicion .thumb { padding: 0; border: 2px solid var(--ink); aspect-ratio: 1; overflow: hidden; cursor: pointer; background: var(--white); }
.edicion .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.edicion .faq details { border-top: 2px dashed rgba(22, 18, 14, .3); padding: 8px 0; }
.edicion .faq summary { cursor: pointer; min-height: 32px; }
.edicion .faq p { margin: 6px 0 0; font-weight: 400; }

/* ---------- formulario de la tarjeta ---------- */
.edicion .rv-top { display: flex; gap: 14px; align-items: center; margin-bottom: 8px; }
.edicion .card-preview { flex: none; width: 108px; }
.edicion .card-preview svg { display: block; filter: drop-shadow(3px 3px 0 var(--ink)); }
.edicion .rv-kick { margin: 0 0 4px; font: 400 24px/1 var(--font-d); letter-spacing: .04em; color: var(--red); }
.edicion .rv-intro p:last-child { margin: 0; font-weight: 400; }
.edicion .flabel { display: block; margin: 12px 0 6px; font: 700 15px/1.2 var(--font-b); }
.edicion .flabel .count { float: right; font-weight: 400; color: var(--ink-2); }
.edicion input[type="text"], .edicion textarea { width: 100%; min-height: 48px; padding: 10px 12px; border: 2.5px solid var(--ink); border-radius: 10px; background: var(--white); color: var(--ink); font: 700 16px/1.3 var(--font-b); }
.edicion textarea { resize: vertical; }
.edicion .opts { display: flex; flex-wrap: wrap; gap: 8px; }
.edicion .opt { min-width: 48px; min-height: 48px; padding: 0 12px; border: 2.5px solid var(--ink); border-radius: 10px; background: var(--white); cursor: pointer; }
.edicion .opt[aria-checked="true"] { background: var(--ink); color: var(--yellow); box-shadow: 0 0 0 3px var(--yellow), 0 0 0 5px var(--ink); }
.edicion .opt-title { font: 400 20px/1 var(--font-d); letter-spacing: .05em; }
.edicion .opt-sym { display: inline-grid; place-items: center; padding: 0; width: 48px; background: var(--blue); }
.edicion .opt-sym[aria-checked="true"] { background: var(--red); }
.edicion .opt-color { width: 48px; padding: 0; background: var(--c); }
.edicion .opt-color[aria-checked="true"] { background: var(--c); }
.edicion .steps { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.edicion .stepper { display: flex; flex-direction: column; gap: 6px; }
.edicion .slabel { font-weight: 700; }
.edicion .sctrl { display: flex; align-items: center; gap: 6px; }
.edicion .sctrl output { min-width: 28px; text-align: center; font: 400 26px/1 var(--font-d); }
.edicion .step { width: 48px; height: 48px; border: 2.5px solid var(--ink); border-radius: 10px; background: var(--white); font: 700 24px/1 var(--font-b); cursor: pointer; }
.edicion .step[disabled] { opacity: .35; cursor: default; }
.edicion .err { min-height: 1.2em; margin: 8px 0 0; color: var(--red-2); }
.edicion .decline { margin-top: 6px; }

/* ---------- vitrina (catálogo, pósters y OG): el cómic al centro, sin barra ---------- */
.edicion.is-showcase .book { bottom: 0; left: 50%; right: auto; width: min(100cqw, 60cqh); transform: translateX(-50%); }
.edicion.is-showcase .room { display: block; }
.edicion.is-og .book { left: auto; right: 6cqw; transform: none; width: 56cqh; }
.edicion .og-title { position: absolute; left: 5cqw; top: 50%; width: 52cqw; transform: translateY(-50%) rotate(-3deg); margin: 0; text-align: center; }
.edicion .og-title p { display: inline-block; margin: 0 0 2cqh; padding: 1cqh 3cqw; border: 4px solid var(--ink); background: var(--blue); color: var(--white); font: 400 7cqh/1 var(--font-d); letter-spacing: .1em; box-shadow: 6px 6px 0 var(--ink); }
.edicion .og-title strong { display: block; font: 400 17cqh/.9 var(--font-d); letter-spacing: .02em; color: var(--yellow); -webkit-text-stroke: .05em var(--ink); paint-order: stroke fill; text-shadow: .05em .06em 0 var(--red), .08em .09em 0 var(--ink); }
.edicion .og-title span { display: block; margin-top: 2cqh; font: 400 7.5cqh/1 var(--font-d); letter-spacing: .04em; color: var(--white); -webkit-text-stroke: .06em var(--ink); paint-order: stroke fill; }

/* ---------- pantallas bajas: menos aire ---------- */
@container (max-height: 640px) {
  .edicion .page-front { gap: 1.4cqw; padding: 2cqw 2.4cqw 2.4cqw; }
  .edicion .grid { gap: 1.4cqw; }
  .edicion .pg-head h2 { font-size: clamp(22px, 8cqw, 36px); }
  .edicion .cta { min-height: 50px; }
}
