/* ============================================================
   FilmSpirit · páginas del sitio (portada, entrar, legales)
   Los mismos tokens de la app (src/shell.html): perla, grafito y el naranja de la marca.
   ============================================================ */
@import url('/app/fonts/fonts.css');
:root{
  --bg:#F2F3F5; --chrome:#FFFFFF; --surface:#FFFFFF; --fill:#F0F1F3; --fill-2:#E6E8EB;
  --ink:#1E2329; --muted:#5F6977; --faint:#A3AAB5; --line:#E3E6EA;
  --accent:#DF3C13; --accent-ink:#FFFFFF; --accent-soft:#FCECE6; --accent-text:#C4320C;
  --ok:#03A66D; --ok-soft:#E1F5EC; --bad:#CF304A;
  --paper:#FFFFFF; --paper-ink:#121212;
  --sh-1:0 1px 2px rgba(16,24,40,.05); --sh-2:0 1px 2px rgba(16,24,40,.06),0 12px 32px rgba(16,24,40,.08);
  --font-ui:'Archivo',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-script:'Courier Prime','Courier New',Courier,monospace;
  --r:16px; --r-sm:10px;
  --lg-film:#DF3C13; --lg-filmdot:#131110; --lg-spirit:#131110; --lg-spiritdot:#DF3C13; --lg-pro:#DF3C13; --lg-free:#131110; --lg-mark:#131110;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#14161A; --chrome:#181A20; --surface:#1E2329; --fill:#2B3139; --fill-2:#363C45;
  --ink:#EAECEF; --muted:#9AA3B0; --faint:#5E6673; --line:#2B3139;
  --accent:#F2602C; --accent-ink:#14161A; --accent-soft:#3A2219; --accent-text:#FF7B4F;
  --ok:#0ECB81; --ok-soft:#0F2E24; --bad:#F6465D;
  --sh-1:none; --sh-2:0 12px 32px rgba(0,0,0,.45);
  --lg-filmdot:#DF3C13; --lg-spirit:#CAC8C6; --lg-spiritdot:#CAC8C6; --lg-free:#CAC8C6; --lg-mark:#CAC8C6;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#14161A; --chrome:#181A20; --surface:#1E2329; --fill:#2B3139; --fill-2:#363C45;
  --ink:#EAECEF; --muted:#9AA3B0; --faint:#5E6673; --line:#2B3139;
  --accent:#F2602C; --accent-ink:#14161A; --accent-soft:#3A2219; --accent-text:#FF7B4F;
  --ok:#0ECB81; --ok-soft:#0F2E24; --bad:#F6465D;
  --sh-1:none; --sh-2:0 12px 32px rgba(0,0,0,.45);
  --lg-filmdot:#DF3C13; --lg-spirit:#CAC8C6; --lg-spiritdot:#CAC8C6; --lg-free:#CAC8C6; --lg-mark:#CAC8C6;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--accent-text)}
img{max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{text-wrap:balance;line-height:1.12;margin:0}
.logo{height:26px;width:auto;display:block}
.logo .lg-f{fill:var(--lg-film)} .logo .lg-fd{fill:var(--lg-filmdot)} .logo .lg-s{fill:var(--lg-spirit)} .logo .lg-sd{fill:var(--lg-spiritdot)}
.logo .lg-pro{fill:var(--lg-pro)} .logo .lg-free{fill:var(--lg-free)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding-inline:20px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:650;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--fill)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.06)}
.hint{color:var(--muted);font-size:14px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}

/* ---------- entrar ---------- */
.signin{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding-block:32px;padding-inline:16px}
.signin-card{width:100%;max-width:440px;background:var(--surface);border-radius:var(--r);box-shadow:var(--sh-2);padding:36px 32px 28px;display:grid;gap:18px}
.signin-card h1{font-size:28px;font-weight:750;letter-spacing:-.01em}
.signin-card p{margin:0}
.gbtn{min-height:48px;display:flex;align-items:center;justify-content:center}
.signin-err{color:var(--bad);font-size:14px;margin:0}
.slate{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
.slate b{font-family:var(--font-script);font-weight:700;color:var(--ink);font-size:13px;letter-spacing:.04em}
.signin-foot{font-size:13px;color:var(--muted);text-align:center}
@media (max-width:480px){ .signin-card{padding:28px 20px 22px} .signin-card h1{font-size:24px} }

/* ---------- páginas legales y libro de reclamaciones ---------- */
.doc-top{border-bottom:1px solid var(--line);background:var(--chrome)}
.doc-top-in{max-width:880px;margin-inline:auto;padding-inline:20px;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.doc{max-width:760px;margin-inline:auto;padding-inline:20px;padding-block:40px 72px}
.doc h1{font-size:clamp(28px,4vw,38px);font-weight:800;letter-spacing:-.01em;margin-bottom:8px}
.doc h2{font-size:20px;font-weight:750;margin-top:34px;margin-bottom:8px}
.doc p,.doc li{color:var(--ink);max-width:68ch}
.doc .hint{color:var(--muted)}
.doc ul,.doc ol{padding-left:22px;display:grid;gap:6px}
.draft{background:var(--accent-soft);color:var(--accent-text);border-radius:var(--r-sm);padding:12px 16px;font-size:14px;margin-block:18px}
.form{display:grid;gap:14px;margin-top:20px}
.form fieldset{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 18px;display:grid;gap:12px;margin:0;background:var(--surface)}
.form legend{font-weight:700;padding-inline:6px}
.fld{display:grid;gap:5px;font-size:14px}
.fld span{color:var(--muted);font-weight:600}
.fld input,.fld select,.fld textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--fill);border:1px solid transparent;border-radius:var(--r-sm);padding:10px 12px;min-width:0;width:100%}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--accent);background:var(--surface)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.radios{display:flex;gap:18px;flex-wrap:wrap;font-size:15px}
.radios label{display:flex;gap:6px;align-items:center}
.ok-box{background:var(--ok-soft);border-radius:var(--r);padding:18px 20px;display:grid;gap:6px}
.ok-box b{font-size:18px}
@media (max-width:560px){ .two{grid-template-columns:minmax(0,1fr)} }
