/* Estilos propios del pre-lanzamiento de El Trono. Complementa styles.css,
   hero.css y motion.css del sistema de diseño aprobado; no los reemplaza. */

.empty-throne{display:flex;justify-content:center;margin:0 auto;width:min(220px,60%)}
.empty-throne svg{width:100%;height:auto;filter:drop-shadow(0 10px 24px #06152c88)}

.countdown{display:flex;flex-direction:column;align-items:center;gap:4px;margin:14px 0}
.countdown-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffe09a}
.countdown-clock{font:700 clamp(28px,4vw,44px)/1 'Bricolage Grotesque',sans-serif;color:#ffdc7e;font-variant-numeric:tabular-nums;text-shadow:0 3px #80521f}

.reserve-form{display:grid;gap:16px;max-width:640px;margin-top:24px;background:var(--paper,#fffcf4);border:1px solid var(--line,#d8d2c3);border-radius:16px;padding:24px;box-shadow:var(--shadow,0 14px 40px -20px #0b1b3a40)}
.reserve-form .field-row{display:grid;gap:6px}
.reserve-form label{font-weight:700;font-size:14px}
.reserve-form .optional{font-weight:400;color:var(--muted,#536077)}
.reserve-form input[type=text],.reserve-form input[type=email],.reserve-form input[type=tel],.reserve-form select{min-height:48px;padding:0 14px;border:1px solid var(--line,#d8d2c3);border-radius:10px;background:#fff;font-size:16px;color:var(--ink,#0b1b3a)}
.reserve-form .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.reserve-form .consent{font-size:13px;color:var(--muted,#536077)}
.reserve-form .checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:400}
.reserve-form .checkbox input{width:20px;height:20px;flex-shrink:0;margin-top:2px}
.reserve-form button[type=submit]{justify-self:start;min-height:48px}
.reserve-form .field-row.invalid input,.reserve-form .field-row.invalid select{border-color:var(--red-text,#b52332)}
.reserve-form .field-error{color:var(--red-text,#b52332);font-size:12px;min-height:1.2em}
.reserve-form .field-error:empty{display:none}
.reserve-form .field-hint{font-size:12px;color:var(--muted,#536077);margin:0}
.reserve-form .maps-howto{font-size:13px;background:#f6f1e2;border:1px solid var(--line,#d8d2c3);border-radius:10px}
.reserve-form .maps-howto summary{min-height:auto;padding:10px 14px;font-size:13px;font-weight:600;gap:8px}
.reserve-form .maps-howto summary .icon{width:14px;height:14px}
.reserve-form .maps-howto ol{margin:0;padding:0 16px 14px 30px;color:var(--muted,#536077)}
.reserve-form .maps-howto li+li{margin-top:4px}
#reserva-status{font-weight:700;min-height:1.4em}
#reserva-status[data-state=ok]{color:var(--green,#146445)}
#reserva-status[data-state=error]{color:var(--red-text,#b52332)}

.province-pin{background:none;border:1px solid var(--line,#d8d2c3);border-radius:999px;padding:6px 12px;font-size:13px;display:inline-flex;align-items:center;gap:6px}
.province-pin:before{content:'';width:10px;height:10px;border-radius:50%;background:var(--pin,#034ea2)}
.map-help{margin-top:8px;font-size:13px;color:var(--muted,#536077)}
#province-panel-title{margin-top:6px}

.wall .stamp.locked{opacity:.85}
.wall .stamp small{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--muted,#536077)}

.how-note{background:#fff3d0;border:1px solid #e9c877;border-radius:14px;padding:16px 20px;margin:24px 0}
.rules-list{display:grid;gap:10px;padding-left:20px;margin:16px 0}
.rules-list li{max-width:70ch}
.rules-disclaimer{font-size:13px;color:var(--muted,#536077);margin:24px 0}
.legal-page h2{margin-top:32px;font-size:22px}
.legal-page p,.legal-page li{max-width:76ch}
.legal-table{width:100%;border-collapse:collapse;margin:16px 0}
.legal-table th,.legal-table td{text-align:left;border-bottom:1px solid var(--line,#d8d2c3);padding:8px 10px;font-size:14px}
.steps-page{margin-top:28px}
.how-page h2{margin-top:8px}
.musica-page .badge{margin-bottom:12px}

@media(max-width:767px){
  .reserve-form{padding:18px;border-radius:12px}
}
/* Prelaunch copy is longer than the demo headline; retain the same hero footprint. */
.hero-night h1{font-size:clamp(38px,4vw,58px)}
.hero-night h1 br{display:block}
.hero-night .night-heading{max-width:1280px;margin-inline:auto}
.hero-night .countdown{margin:12px 0 20px}
.hero-night .countdown-clock{font-size:22px;line-height:1.25}
.hero-night .hero-bird{color:#ffd100;left:auto;right:-40px;top:-60px}
.wall .stamp.locked{opacity:1}
.wall .stamp.locked:first-child{background:var(--yellow);color:var(--ink);border:7px dotted var(--ink)}
.wall .stamp.locked:nth-child(2){background:var(--fuchsia);color:var(--cream);border:7px dotted var(--cream)}
.wall .stamp.locked small{color:inherit}
.wall .stamp.locked:after{top:12px}
#provincias:not([data-enhanced]) .atlas-panel,#provincias:not([data-enhanced]) .atlas-list{display:block}
.reserve-form .checkbox{display:block;line-height:1.7}
.reserve-form .checkbox input{vertical-align:middle;margin-right:8px}
@media(max-width:767px){
 .hero-night h1{font-size:32px;line-height:1.02}
 .hero-night .night-heading>p{max-width:320px;margin-inline:auto}
 .hero-night .countdown{margin:12px 0 18px}
 .hero-night .countdown-clock{font-size:20px}
 .hero-night .hero-bird{right:8px;top:-50px}
 .hero-night .champion-total small{letter-spacing:.14em}
}
/* The longer prelaunch badge must fit above the prototype's disclosure strip. */
@media(max-width:767px){body[data-page=home]>.demo-strip{font-size:9px}body[data-page=home]>.demo-strip .badge{font-size:8px}}
