/* ============================================================
   Miolu — public legal pages
   Calm, minimal, privacy-first. No tracking, no external calls.
   Self-hosted fonts. RTL, mobile-first, accessible.
   ============================================================ */

/* ---------- Self-hosted fonts (Hebrew+Latin in single files) ---------- */
@font-face {
  font-family: "Assistant";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("assets/fonts/assistant-400.woff2") format("woff2");
}
@font-face {
  font-family: "Assistant";
  font-style: normal; font-weight: 600; font-display: swap;
  src: url("assets/fonts/assistant-600.woff2") format("woff2");
}

/* ---------- Palette ---------- */
:root {
  --bg:        #faf8f3;
  --surface:   #ffffff;
  --surface-2: #f5f3ec;
  --border:    #e7e2d6;
  --ink:       #38322c;   /* primary text — strong contrast on bg */
  --ink-soft:  #6c645b;   /* secondary text */
  --gold:      #8a6a45;   /* brand, headings rule, links */
  --gold-deep: #6d5234;   /* link hover / active */
  --rose:      #c98792;   /* sparing accent */
  --rose-soft: #f7eef0;
  --focus:     #8a6a45;

  --maxw: 920px;
  --radius: 16px;
  --shadow: 0 1px 2px rgba(56,50,44,.04), 0 8px 28px rgba(56,50,44,.06);
}

/* ---------- Base ---------- */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "Assistant", "Segoe UI", system-ui, sans-serif;
  font-size: 1.05rem;
  line-height: 1.85;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* subtle warm atmosphere, no heavy effects */
body::before {
  content: "";
  position: fixed; inset: 0;
  background:
    radial-gradient(1200px 500px at 100% -10%, rgba(201,135,146,.06), transparent 60%),
    radial-gradient(900px 500px at 0% 0%, rgba(138,106,69,.05), transparent 55%);
  pointer-events: none; z-index: 0;
}

.wrap { position: relative; z-index: 1; max-width: var(--maxw); margin: 0 auto; padding: 0 20px; }

/* ---------- Skip link (accessibility) ---------- */
.skip {
  position: absolute; right: -9999px; top: 0;
  background: var(--gold); color: #fff; padding: 10px 16px;
  border-radius: 0 0 10px 10px; z-index: 50; font-weight: 600;
}
.skip:focus { right: 16px; }

/* ---------- Header ---------- */
.site-header {
  position: relative; z-index: 1;
  padding: 40px 0 8px; text-align: center;
}
.site-header .logo { display: inline-block; }
.site-header .logo img { height: 64px; width: auto; }
.site-header .tagline {
  margin: 14px 0 0; color: var(--ink-soft);
  font-family: "Assistant", system-ui, sans-serif;
  font-size: 1.05rem; font-weight: 500; letter-spacing: .2px;
}

/* ---------- Primary nav ---------- */
.site-nav { position: relative; z-index: 1; margin: 22px auto 0; }
.site-nav ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
}
.site-nav a {
  display: inline-block; padding: 8px 16px;
  border: 1px solid var(--border); border-radius: 999px;
  color: var(--ink-soft); text-decoration: none; font-size: .95rem;
  background: var(--surface); transition: all .18s ease;
}
.site-nav a:hover { color: var(--gold-deep); border-color: var(--gold); }
.site-nav a[aria-current="page"] {
  color: var(--gold-deep); border-color: var(--gold);
  background: var(--surface-2); font-weight: 600;
}

/* ---------- Main card ---------- */
main { position: relative; z-index: 1; }
.doc {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: clamp(24px, 5vw, 56px);
  margin: 28px auto 40px;
}
.doc-head { margin-bottom: 8px; }
.doc h1 {
  font-family: "Assistant", system-ui, sans-serif;
  font-weight: 700; font-size: clamp(1.7rem, 5vw, 2.3rem);
  line-height: 1.3; margin: 0 0 6px; color: var(--ink);
}
.doc h1::after {
  content: ""; display: block; width: 54px; height: 3px;
  background: var(--gold); border-radius: 3px; margin-top: 14px;
}
.updated { color: var(--ink-soft); font-size: .92rem; margin: 0 0 24px; }

.doc h2 {
  font-family: "Assistant", system-ui, sans-serif;
  font-weight: 700; font-size: 1.28rem; color: var(--gold-deep);
  margin: 36px 0 10px; line-height: 1.4;
}
.doc h3 {
  font-weight: 600; font-size: 1.05rem; color: var(--ink);
  margin: 22px 0 6px;
}
.doc p { margin: 10px 0; }
.doc section > p, .doc .sub { color: var(--ink); }

/* numbered sub-clauses keep legal numbering, faithful to source */
.clause { display: flex; gap: 10px; margin: 9px 0; align-items: baseline; }
.clause .num {
  flex: 0 0 auto; color: var(--gold); font-weight: 600;
  font-variant-numeric: tabular-nums; min-width: 2.4em;
}
.clause .txt { flex: 1 1 auto; }

.lead {
  font-size: 1.12rem; color: var(--ink); line-height: 1.8;
  border-inline-start: 3px solid var(--rose);
  background: var(--rose-soft);
  padding: 14px 18px; border-radius: 10px; margin: 0 0 26px;
}

.doc ul, .doc ol { margin: 10px 0; padding-inline-start: 1.3em; }
.doc li { margin: 6px 0; }

a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px;
    text-decoration-thickness: 1px; transition: color .15s ease; }
a:hover { color: var(--gold-deep); }

.email { font-weight: 600; white-space: nowrap; }

/* request type cards on delete page */
.options { list-style: none; padding: 0; margin: 18px 0; display: grid; gap: 12px; }
.options li {
  border: 1px solid var(--border); border-radius: 12px;
  padding: 16px 18px; background: var(--surface-2);
}
.options .opt-title { font-weight: 600; color: var(--gold-deep); display: block; margin-bottom: 2px; }

.note { color: var(--ink-soft); font-size: .95rem; margin-top: 22px; }

/* ---------- Home (index) ---------- */
.home { text-align: center; padding: 8px 0 10px; }
.home .home-logo img { height: 92px; width: auto; }
.home .home-tag {
  font-family: "Assistant", system-ui, sans-serif;
  font-size: 1.25rem; color: var(--ink-soft); margin: 18px 0 4px; font-weight: 500;
}
.home .home-sub { color: var(--ink-soft); margin: 0 0 30px; font-size: 1rem; }
.cards { display: grid; gap: 14px; grid-template-columns: 1fr; margin: 0 auto 10px; max-width: 520px; }
.card {
  display: block; text-align: start; text-decoration: none;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 14px; padding: 18px 20px; box-shadow: var(--shadow);
  transition: transform .16s ease, border-color .16s ease;
  color: var(--ink);
}
.card:hover { transform: translateY(-2px); border-color: var(--gold); }
.card .card-t { font-family: "Assistant", system-ui, sans-serif; font-weight: 700; font-size: 1.15rem; color: var(--gold-deep); }
.card .card-d { color: var(--ink-soft); font-size: .95rem; margin-top: 2px; }

/* ---------- Footer ---------- */
.site-footer {
  position: relative; z-index: 1;
  border-top: 1px solid var(--border);
  margin-top: 10px; padding: 28px 0 48px; text-align: center;
  color: var(--ink-soft); font-size: .9rem;
}
.site-footer nav ul {
  list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px;
  justify-content: center; padding: 0; margin: 0 0 14px;
}
.site-footer a { color: var(--ink-soft); }
.site-footer a:hover { color: var(--gold-deep); }
.site-footer .copy { opacity: .8; }

/* ---------- Focus states (accessibility) ---------- */
a:focus-visible, .card:focus-visible {
  outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 8px;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
  .card:hover { transform: none; }
}

/* ---------- Responsive ---------- */
@media (min-width: 620px) {
  .cards { grid-template-columns: 1fr 1fr; }
}
