/* Estilos de las paginas simples (gracias, 404, legal).
   Aislados por clase en <body> porque sus selectores colisionan entre si. */

/* Reset global: debe incluir al body (si se scopea, el body queda sin border-box
   y su padding se suma al min-height: 100vh). */
*, *::before, *::after { box-sizing: border-box; }

/* --- gracias.html --- */
body.p-gracias *, body.p-gracias *::before, body.p-gracias *::after { box-sizing: border-box; }
body.p-gracias { margin: 0; min-height: 100vh; display: grid; place-items: center; background: linear-gradient(160deg, #C4210A, #14110E 70%); color: #fff; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body.p-gracias h1 { font-family: 'Sora', system-ui, sans-serif; margin: 0; }
body.p-gracias a { color: inherit; }
body.p-gracias .card { max-width: 480px; margin: 24px; padding: clamp(32px,6vw,48px); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.16); border-radius: 24px; text-align: center; display: grid; gap: 18px; }
/* CRO-10: era un monograma "S" que no coincidia con el logo del sol. */
body.p-gracias .logo { width: 56px; height: 56px; object-fit: contain; margin: 0 auto; }
body.p-gracias .pasos { text-align: left; display: grid; gap: 10px; margin: 0; padding-left: 20px; }
body.p-gracias .pasos li { line-height: 1.55; color: #C6DCEC; font-size: 15px; }
body.p-gracias .horario { font-size: 13.5px; color: #A8C4DA; border-top: 1px solid rgba(255,255,255,0.16); padding-top: 16px; }
body.p-gracias .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 22px; border-radius: 999px; background: #fff; color: #14110E; font-weight: 600; text-decoration: none; }
body.p-gracias .btn.ghost { background: transparent; border: 1px solid rgba(255,255,255,0.35); color: #fff; }
body.p-gracias .row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
body.p-gracias p { line-height: 1.6; color: #C6DCEC; }

/* --- 404.html --- */
body.p-404 *, body.p-404 *::before, body.p-404 *::after { box-sizing: border-box; }
body.p-404 { margin: 0; min-height: 100vh; display: grid; place-items: center; background: #FAF8F5; color: #14110E; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; padding: 24px; }
body.p-404 h1 { font-family: 'Sora', system-ui, sans-serif; margin: 0; }
body.p-404 a { color: #C4210A; text-decoration: none; }
body.p-404 a:focus-visible, body.p-404 button:focus-visible { outline: 3px solid #C4210A; outline-offset: 2px; }
body.p-404 .card { max-width: 560px; padding: clamp(28px,5vw,44px); background: #fff; border: 1px solid #E7E0D5; border-radius: 24px; text-align: center; display: grid; gap: 18px; }
body.p-404 .code { font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 0.14em; color: #C4210A; }
body.p-404 h1 { font-size: 28px; letter-spacing: -0.02em; }
body.p-404 p { margin: 0; font-size: 15.5px; line-height: 1.6; color: #6E655B; }
body.p-404 .links { display: grid; gap: 10px; margin-top: 6px; }
body.p-404 .links a { padding: 13px 20px; border-radius: 999px; font-weight: 600; font-size: 15px; }
body.p-404 .primary { background: #14110E; color: #fff; }
body.p-404 .secondary { background: #FBF1DA; color: #14110E; }

/* --- terminosycondiciones.html --- */
body.p-legal *, body.p-legal *::before, body.p-legal *::after { box-sizing: border-box; }
body.p-legal { margin: 0; background: #FAF8F5; color: #14110E; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body.p-legal a { color: #C4210A; text-decoration: none; }
body.p-legal a:focus-visible { outline: 3px solid #C4210A; outline-offset: 2px; }
body.p-legal h1, body.p-legal h2 { font-family: 'Sora', system-ui, sans-serif; margin: 0; }
body.p-legal .wrap { max-width: 760px; margin: 0 auto; padding: clamp(32px,6vw,64px) clamp(16px,5vw,24px) 80px; }
body.p-legal .notice { background: #FBF1DA; border: 1px solid #D8CDBD; color: #5C544B; border-radius: 14px; padding: 16px 20px; font-size: 13.5px; line-height: 1.6; margin-bottom: 32px; }
body.p-legal h1 { font-size: clamp(28px,4vw,38px); letter-spacing: -0.02em; margin-bottom: 8px; }
body.p-legal .updated { font-size: 13px; color: #6E655B; margin-bottom: 32px; }
body.p-legal h2 { font-size: 20px; margin-top: 36px; margin-bottom: 12px; }
body.p-legal p, body.p-legal li { font-size: 15px; line-height: 1.7; color: #5C544B; }
body.p-legal ul { padding-left: 20px; }
body.p-legal a.back { display: inline-block; margin-bottom: 24px; font-weight: 600; }

/* --- Skip link (comun a las 3; base.css no se carga aqui) --- */
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--ink, #14110E); color: #fff; padding: 12px 20px; border-radius: 0 0 10px 0; font-weight: 600; font-size: 14px; }
.skip-link:focus { left: 0; }
