/* ENJOYA · estilos compartidos. Los mismos colores del diagnóstico. */
:root{
  --ground:#FBF6F1; --surface:#FFFFFF; --surface-2:#F4ECE6;
  --ink:#2A1E2C; --ink-soft:#6E5F70; --ink-faint:#9C8E9E;
  --line:#E4D8DC; --line-soft:#EFE6E7;
  --lime:#BCD92B; --lime-deep:#6E8408;
  --coral:#E85A3C; --coral-wash:#FCE7E1;
  --teal:#0E7C74; --teal-wash:#DCEFEC;
  --shadow:0 1px 2px rgba(42,30,44,.05),0 8px 24px rgba(42,30,44,.07);
  --r:14px; --medida:64ch;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#17111A; --surface:#201823; --surface-2:#2A2030;
    --ink:#F3EAF1; --ink-soft:#B4A4B6; --ink-faint:#85748A;
    --line:#362A3B; --line-soft:#2B2130;
    --lime:#C7E63B; --lime-deep:#DCF071;
    --coral:#FF7C5E; --coral-wash:#3A211B;
    --teal:#45B8AE; --teal-wash:#12312E;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  --ground:#17111A; --surface:#201823; --surface-2:#2A2030;
  --ink:#F3EAF1; --ink-soft:#B4A4B6; --ink-faint:#85748A;
  --line:#362A3B; --line-soft:#2B2130;
  --lime:#C7E63B; --lime-deep:#DCF071;
  --coral:#FF7C5E; --coral-wash:#3A211B;
  --teal:#45B8AE; --teal-wash:#12312E;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:"Newsreader",Georgia,serif;font-size:1.05rem;line-height:1.6;
  -webkit-font-smoothing:antialiased}
.disp{font-family:"Archivo","Helvetica Neue",Arial,sans-serif;font-weight:800;letter-spacing:-.024em}
.rot{font-family:"Archivo",sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-faint)}
.tnum{font-variant-numeric:tabular-nums}

.hoja{max-width:52rem;margin:0 auto;padding:clamp(1.4rem,4vw,3rem) clamp(1rem,4vw,2.2rem) 5rem;
  display:flex;flex-direction:column;gap:clamp(2rem,4vw,3rem)}
p{margin:0;max-width:var(--medida)}
h1,h2,h3{margin:0;text-wrap:balance}
a{color:var(--teal)}

.marca{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.marca .n{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:-.02em}
.marca .n em{font-style:normal;color:var(--lime-deep)}

.btn{font-family:"Archivo",sans-serif;font-weight:700;font-size:1rem;cursor:pointer;
  padding:.85rem 1.5rem;border-radius:999px;border:0;background:var(--ink);color:var(--ground);
  text-decoration:none;display:inline-block;text-align:center;transition:opacity .15s}
.btn:hover{opacity:.88}
.btn.lima{background:var(--lime);color:#241A28}
.btn.linea{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn:disabled{opacity:.45;cursor:not-allowed}
:focus-visible{outline:2.5px solid var(--teal);outline-offset:2px}

.caja{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:1.2rem 1.3rem;box-shadow:var(--shadow);display:grid;gap:.6rem}
.nota{border-left:3px solid var(--coral);background:var(--coral-wash);padding:.85rem 1rem;
  border-radius:0 8px 8px 0;font-size:.94rem;max-width:var(--medida)}
.nota .rot{color:var(--coral);display:block;margin-bottom:.2rem}

input[type=email],input[type=text],textarea,select{
  width:100%;font:inherit;font-size:1rem;padding:.8rem .9rem;color:var(--ink);
  background:var(--ground);border:1px solid var(--line);border-radius:10px}
label{display:block;font-family:"Archivo",sans-serif;font-weight:600;font-size:.88rem;
  margin-bottom:.4rem}

.pie{border-top:1px solid var(--line);padding-top:1.2rem;display:grid;gap:.7rem;
  font-size:.86rem;color:var(--ink-faint)}
.pie nav{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}
.pie a{color:var(--ink-soft)}
/* Los dos botones que exige la Disposición 954/2025. Van visibles, sin pedir
   registro, y con estos nombres exactos. */
.legales{display:flex;flex-wrap:wrap;gap:.5rem}
.legales a{font-family:"Archivo",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.06em;
  text-transform:uppercase;text-decoration:none;color:var(--ink);background:var(--surface-2);
  border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
