/* ============================================================
   HEXENKRAFT s.r.o. — LEGAL DOCUMENT STYLESHEET
   Loaded after styles.css. Themes the legal pages (impressum,
   tos, privacy, odstoupeni, accessibility) with the same amber
   tokens as the rest of the site. Long-form reading first:
   wider line height, quieter chrome, no scanline overlay.
   ============================================================ */

body {
  background:var(--surface-inset);
  color:var(--text-body);
  font-family:var(--font-ui);
  font-size:16px;
  line-height:1.7;
}

a { color:var(--accent); text-underline-offset:3px; }
a:hover { color:var(--accent-hover); }

.wrap { max-width:760px; margin:0 auto; padding:3rem var(--site-pad) 4rem; }

h1 {
  font-family:var(--font-display); text-transform:uppercase;
  font-size:clamp(30px,5vw,42px); line-height:1; letter-spacing:0.01em;
  color:var(--text-strong); text-shadow:var(--glow-text-sm);
  margin:0 0 .4rem;
}

h2 {
  font-family:var(--font-mono); font-weight:700;
  font-size:1.05rem; letter-spacing:0.02em;
  color:var(--text-strong);
  margin:2.4rem 0 .6rem;
  border-top:1px solid var(--border-hairline); padding-top:1.4rem;
}
h2:first-of-type { border-top:0; padding-top:0; }

p { margin:.6rem 0; }
ul { padding-left:1.3rem; }
li { margin:.4rem 0; }
strong { color:var(--text-strong); }

.back {
  font-family:var(--font-mono); font-size:13px;
  color:var(--text-muted); text-decoration:none;
}
.back:hover { color:var(--accent); }

/* Definition lists (impressum) */
dl { margin:0; }
dt {
  font-family:var(--font-mono); font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:0.14em;
  color:var(--text-muted); margin-top:1rem;
}
dd { margin:.15rem 0 0; color:var(--text-body); }

/* Tables (privacy) */
table { width:100%; border-collapse:collapse; margin:1rem 0; font-size:.93rem; }
th, td {
  text-align:left; padding:.6rem .75rem;
  border-bottom:1px solid var(--border-hairline); vertical-align:top;
}
th {
  font-family:var(--font-mono); font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:0.12em;
  color:var(--text-muted);
}
td { color:var(--text-muted); }

/* Disclaimer callouts (tos) */
.disclaimer {
  background:var(--surface-card);
  border:1px solid var(--border-line);
  border-left:3px solid var(--accent);
  border-radius:var(--radius-sm);
  padding:1.1rem 1.3rem; margin:1rem 0 1.4rem;
}
.disclaimer p { margin:0; color:var(--text-muted); }
.disclaimer strong { color:var(--accent); }

/* Consent checkbox specimen (tos) */
.checkbox {
  font-family:var(--font-mono); font-size:.88rem; line-height:1.6;
  background:var(--surface-bg);
  border:1px solid var(--border-line);
  border-radius:var(--radius-sm);
  padding:.8rem 1rem; margin:.6rem 0;
  color:var(--text-body);
}

/* Note panel (accessibility) */
.note {
  background:var(--surface-card);
  border:1px solid var(--border-hairline);
  border-radius:var(--radius-sm);
  padding:1rem 1.2rem; margin:1rem 0;
  font-size:.92rem; color:var(--text-muted);
}

/* Withdrawal form (odstoupeni) */
.form {
  background:var(--surface-card);
  border:1px solid var(--border-line);
  border-radius:var(--radius-sm);
  padding:1.4rem 1.6rem; margin:1.2rem 0;
}
.form p { margin:.8rem 0; }
.blank { color:var(--text-faint); font-family:var(--font-mono); }

/* Footer meta line */
.muted {
  color:var(--text-muted); font-size:.9rem;
  border-top:1px solid var(--border-hairline);
  margin-top:2.5rem; padding-top:1.2rem;
}
.muted a { color:var(--text-muted); }
.muted a:hover { color:var(--accent); }
