/* landing.css — «El viaje que siempre dejas para mañana» (guía → email) */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.envoltorio{max-width:1160px;margin:0 auto;padding:0 16px}
.envoltorio--estrecho{max-width:760px}
@media (min-width:600px){.envoltorio{padding:0 32px}}

p{margin:0 0 1em}
a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
strong{font-weight:700}
h2{font-size:clamp(30px,5.4vw,50px);margin:16px 0 22px;max-width:22ch}
h3{font-size:20px;line-height:1.2;letter-spacing:-0.01em;margin:28px 0 8px}
.texto{max-width:40em}
.num{font-variant-numeric:tabular-nums}

/* Barra superior */
.barra{padding-top:10px;padding-bottom:10px}

/* ---------- Fotos a color: marco negro 2 px, radio 0, sombra maciza ---------- */
.foto{margin:0;border:2px solid var(--ink);background:var(--paper-3);line-height:0}
.foto img{display:block;width:100%;height:auto}
.foto--sombra-negra{box-shadow:6px 6px 0 var(--ink)}
.foto--sombra-verde{box-shadow:6px 6px 0 var(--green)}

/* ---------- §2 · Hero ---------- */
.hero{display:grid;grid-template-columns:1fr;grid-template-areas:"foto" "texto" "portada";gap:10px;padding-top:0;padding-bottom:48px}
.hero__foto{grid-area:foto;margin-right:6px}
.hero__foto img{aspect-ratio:3/1;object-fit:cover}
.hero__texto{grid-area:texto}
.hero__portada{grid-area:portada;display:flex;justify-content:center;padding:18px 0 4px}
.hero .antetitulo{margin:4px 0 0;font-size:14px;letter-spacing:.12em;padding-bottom:4px}
.hero h1{font-size:clamp(27px,7.2vw,64px);margin:8px 0 8px;max-width:18ch}
.subtitulo{font-size:16px;line-height:1.38;max-width:38em;margin-bottom:10px}
@media (min-width:960px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"texto foto";column-gap:56px;align-items:center;padding-top:24px;padding-bottom:120px}
  .hero__foto{grid-row:1;margin:0 6px 0 0;position:relative}
  .hero__foto img{aspect-ratio:3/2}
  .hero__portada{grid-area:foto;align-self:end;justify-self:start;padding:0;margin:0 0 -150px -32px;z-index:1}
  .hero h1{margin:16px 0 18px}
  .subtitulo{font-size:19px;margin-bottom:24px}
  .barra{padding-top:24px;padding-bottom:16px}
}

/* Maqueta de portada (HU-06): girada −3°, sombra maciza */
.portada{width:210px;padding:12px 12px 14px;background:var(--paper);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);transform:rotate(-3deg);position:relative}
.portada__foto{border:2px solid var(--ink);line-height:0;margin-bottom:10px}
.portada__foto img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.portada__ante{font-family:var(--font-mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-700);margin:0 0 4px}
.portada__titulo{font-weight:700;font-size:22px;line-height:1.02;letter-spacing:-0.03em;margin:0 0 6px}
.portada__sub{font-size:14px;line-height:1.3;margin:0;padding-right:30px}
.monograma--mini{position:absolute;right:10px;bottom:10px;width:26px;height:26px;font-size:17px;box-shadow:-2px 2px 0 var(--pink)}
@media (min-width:960px){.portada{width:190px}.portada__titulo{font-size:20px}}

/* ---------- Formulario por pasos ---------- */
.alta{max-width:520px}
.alta__form{display:grid;gap:8px}
.campo{margin:0;padding:0;border:0;min-width:0}
.campo > label:not(.casilla),legend{display:block;font-weight:700;font-size:16px;margin-bottom:4px;padding:0}
.input{min-height:50px;padding:11px 14px}
.alta .btn{width:100%;margin-top:2px}
@media (min-width:600px){.alta .btn{width:auto}}
.microcopy{font-family:var(--font-mono);font-size:14px;color:var(--ink-70);margin:2px 0 0;letter-spacing:.02em}
.casilla{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:15px;line-height:1.4;cursor:pointer}
.casilla input{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin:0;border:2px solid var(--ink);background:var(--paper);cursor:pointer;display:grid;place-items:center}
.casilla input:checked{background:var(--green-700)}
.casilla input:checked::after{content:"";width:6px;height:12px;border:solid var(--paper);border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg)}
.casilla input:focus-visible{outline:var(--focus);outline-offset:3px}

/* Errores: borde negro grueso + mensaje en negro. Nunca rosa. */
.error{margin:6px 0 0;font-weight:600;font-size:15px;color:var(--ink)}
.error:empty{display:none}
.error:not(:empty)::before{content:"";display:inline-block;width:10px;height:10px;background:var(--ink);margin-right:8px;vertical-align:1px}
.input[aria-invalid="true"]{border-width:4px;padding:10px 12px}
.casilla input[aria-invalid="true"]{border-width:4px}

.trampa{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Paso 2 y confirmación */
.paso{max-width:560px;outline:none}
.paso .antetitulo{margin:0}
.paso__titular{font-size:clamp(24px,4vw,34px);line-height:1.08;letter-spacing:-0.03em;margin:12px 0 10px;outline:none}
.paso__entradilla{margin-bottom:14px}
.perfil{display:grid;gap:14px}
.opciones{display:grid;gap:8px}
@media (min-width:600px){.opciones{grid-template-columns:repeat(3,1fr)}.opciones legend{grid-column:1/-1}}
.opcion{position:relative;display:block;cursor:pointer}
.opcion input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.opcion > span{display:flex;align-items:center;gap:10px;min-height:52px;height:100%;padding:10px 14px;background:var(--paper);border:2px solid var(--ink);font-size:16px;line-height:1.25}
.opcion > span::before{content:"";flex:none;width:16px;height:16px;border:2px solid var(--ink);background:var(--paper)}
.opcion input:checked + span{background:var(--green-50);box-shadow:inset 6px 0 0 var(--green)}
.opcion input:checked + span::before{background:var(--green-700);box-shadow:inset 0 0 0 3px var(--paper)}
.opcion input:focus-visible + span{outline:var(--focus);outline-offset:3px}
.perfil__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.enlace{background:none;border:0;padding:6px 0;font:inherit;font-size:16px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.enlace:focus-visible{outline:var(--focus);outline-offset:3px}
.paso p{max-width:36em}

/* ---------- Bloques ---------- */
.bloque{padding-top:56px;padding-bottom:56px;border-top:2px solid var(--ink)}
@media (min-width:960px){.bloque{padding-top:88px;padding-bottom:88px}}
.dos-col{display:grid;gap:36px;align-items:center}
@media (min-width:960px){.dos-col{grid-template-columns:1fr 1fr;gap:64px}.dos-col--invertida > figure{order:-1}}
.dos-col .foto{margin-right:6px}
.cta{margin-top:36px}
.antetitulo--h{font-weight:400;line-height:1.5;margin:0 0 28px}

.lista__titulo{margin-top:28px}
.lista{list-style:none;margin:6px 0 0;padding:0;max-width:40em}
.lista li{position:relative;padding:10px 0 10px 26px;border-top:1px solid var(--paper-3)}
.lista li::before{content:"";position:absolute;left:0;top:20px;width:10px;height:10px;background:var(--green)}
.lista--ancha{max-width:46em;margin-bottom:40px}

/* §4 · Par de fotos de Santorini: dos columnas en escritorio, apiladas en móvil */
.par-fotos{display:grid;grid-template-columns:1fr;gap:28px}
@media (min-width:960px){.par-fotos{grid-template-columns:1fr 1fr;gap:36px}}
.par-fotos .foto{margin:0 6px 0 0}
.par-fotos .foto img{aspect-ratio:1/1;object-fit:cover}
.par-fotos__pie{font-family:var(--font-mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:20px 0 0}

/* §5 · Pasos */
.pasos{list-style:none;margin:0 0 24px;padding:0;max-width:760px}
.pasos li{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--paper-3)}
.pasos li:last-child{border-bottom:1px solid var(--paper-3)}
.pasos li p{margin:0}
.pasos__n{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--ink);font-size:22px;line-height:1;background:var(--green-50);font-weight:600}
.no-mando{max-width:36em;padding:14px 16px;border:2px solid var(--ink);background:var(--paper-2);font-size:16px}

/* §6 · CTA final */
.bloque--final{background:var(--paper-2)}
.bloque--final h2{margin-top:0}
.cierre{margin:40px 0 0;max-width:24ch;font-size:clamp(24px,3.6vw,34px);font-weight:700;line-height:1.12;letter-spacing:-0.02em;padding-left:18px;border-left:8px solid var(--green)}

/* §7 · Dudas */
.dudas{border-top:2px solid var(--ink)}
.dudas details{border-bottom:2px solid var(--ink)}
.dudas summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:700;font-size:19px;line-height:1.3}
.dudas summary::-webkit-details-marker{display:none}
.dudas summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--ink);font-family:var(--font-mono);font-weight:500;font-size:20px;line-height:1}
.dudas details[open] summary::after{content:"−";background:var(--green-50)}
.dudas summary:focus-visible{outline:var(--focus);outline-offset:3px}
.dudas details p{margin:0 0 20px;max-width:38em}

/* §10 · Pie */
.pie{border-top:2px solid var(--ink);padding:44px 0 52px}
.letra-pequena{margin-top:24px;max-width:62em;font-family:var(--font-mono);font-size:14px;line-height:1.6;color:var(--ink-70)}
.letra-pequena a{color:var(--ink)}
.letra-pequena p:last-child{margin-bottom:0}

/* Páginas del servidor (gracias, baja, enlace caducado) */
.pagina{padding-top:40px;padding-bottom:72px}
.pagina h1{font-size:clamp(32px,6vw,56px);margin:16px 0 22px}
.pagina .foto{max-width:640px;margin:0 6px 32px 0}
.pagina .foto img{aspect-ratio:39/16;object-fit:cover}

/* ---------- Email «50 puntos» ---------- */
.cta--hero{margin-top:18px}
.cta--hero .btn{width:100%;text-align:center}
@media (min-width:600px){.cta--hero .btn{width:auto}}

/* Sello del hero: «50 puntos» (la cifra en papel sobre negro; el rosa nunca es texto) */
.sello{display:grid;justify-items:center;gap:2px;width:150px;padding:16px 10px 14px;background:var(--ink);color:var(--paper);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--pink);transform:rotate(-3deg);text-align:center}
.sello__cifra{font-family:var(--font-black);font-size:56px;line-height:1}
.sello__unidad{font-family:var(--font-mono);font-size:14px;letter-spacing:.2em;text-transform:uppercase}
.sello__texto{font-family:var(--font-mono);font-size:14px;line-height:1.3;color:var(--paper);margin-top:8px;padding-top:8px;border-top:1px solid var(--ink-50)}
@media (min-width:960px){.hero__portada{margin:0 0 -64px -40px}.sello{width:170px}}

.antetitulo--lista{margin:20px 0 6px}
.lista--checks li{padding-left:34px}
.lista--checks li::before{content:"✓";top:12px;width:22px;height:22px;display:grid;place-items:center;color:var(--paper);font-size:14px;font-weight:700;line-height:1}

/* Bloque del regalo */
.bloque--regalo{background:var(--paper-2)}
.regalo{display:grid;grid-template-columns:110px 1fr;border:2px solid var(--ink);background:var(--pink-50);box-shadow:6px 6px 0 var(--ink);margin-right:6px}
.regalo__cifra{display:grid;align-content:center;justify-items:center;background:var(--ink);color:var(--paper);padding:18px 8px}
.regalo__cifra span:first-child{font-family:var(--font-black);font-size:48px;line-height:1}
.regalo__unidad{font-family:var(--font-mono);font-size:14px;letter-spacing:.2em;text-transform:uppercase;margin-top:4px}
.regalo__texto{padding:16px 18px}
.regalo__ante{font-family:var(--font-mono);font-weight:400;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-700);margin:0 0 8px}
.regalo__texto p{margin:0}
@media (min-width:600px){.regalo{grid-template-columns:140px 1fr}.regalo__texto{padding:22px 26px}.regalo__cifra span:first-child{font-size:60px}}
.bloque--final .cierre{margin-top:0}

/* ---------- Registro propio (prueba B) ---------- */
.bloque--form{background:var(--paper)}
.bloque--form h2{margin-top:12px}
.entradilla{max-width:36em;margin-bottom:24px}
.form-registro{display:grid;gap:16px}
.fila-2{display:grid;gap:16px}
@media (min-width:600px){.fila-2{grid-template-columns:1fr 1fr}}
select.input{appearance:none;-webkit-appearance:none;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M0 0h12L6 8z' fill='%23101010'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px;cursor:pointer}
.telefono{display:flex}
.telefono__prefijo{display:grid;place-items:center;min-width:64px;padding:0 10px;border:2px solid var(--ink);border-right:0;background:var(--paper-2);font-family:var(--font-mono);font-size:16px;font-variant-numeric:tabular-nums}
.telefono .input{flex:1;min-width:0}
#r-genero.opciones{gap:8px}
.enviar .btn{width:100%}
@media (min-width:600px){.enviar .btn{width:auto}}
.confirmacion{outline:none}
.confirmacion:empty{display:none}

/* Foto en retrato dentro de dos columnas */
.foto--retrato{max-width:460px;justify-self:center;width:calc(100% - 6px)}

/* Bloque del regalo con foto: foto a la izquierda en escritorio, encima en móvil */
.dos-col--regalo{align-items:center}
.dos-col--regalo .regalo{align-self:center}
