/* ══════════════════════════════════════════════════════════════
   mpichlik.cz — Design Tokens
   ══════════════════════════════════════════════════════════════ */

:root {

  /* ── Barvy ──────────────────────────────────────────────── */
  --c-ink:          #1C1C1A;
  --c-ink-60:       rgba(28,28,26,.60);
  --c-ink-40:       rgba(28,28,26,.40);
  --c-ink-20:       rgba(28,28,26,.20);

  --c-paper:        #F6F3EE;
  --c-paper-dark:   #EDE9E3;
  --c-paper-60:     rgba(246,243,238,.60);
  --c-paper-40:     rgba(246,243,238,.40);

  --c-accent:       #B07D4A;      /* teplé zlato — důvěra, hodnota */
  --c-accent-light: #E8D9C5;      /* světlý tón pro BG */
  --c-accent-dark:  #8A6138;

  --c-rule:         rgba(28,28,26,.12);
  --c-rule-strong:  rgba(28,28,26,.25);

  /* ── Typografie ──────────────────────────────────────────── */
  --f-serif:  'DM Serif Display', Georgia, serif;
  --f-sans:   'DM Sans', system-ui, -apple-system, sans-serif;

  /* Scale */
  --fs-display: clamp(2.5rem, 5vw + 1rem, 4.5rem);  /* 40–72px */
  --fs-h1:      clamp(2rem, 3.5vw + .5rem, 3rem);    /* 32–48px */
  --fs-h2:      clamp(1.5rem, 2.5vw + .25rem, 2rem); /* 24–32px */
  --fs-h3:      clamp(1.1rem, 1.5vw, 1.375rem);      /* 18–22px */
  --fs-lead:    clamp(1.05rem, 1.2vw, 1.25rem);      /* 17–20px */
  --fs-body:    1.0625rem;                            /* 17px */
  --fs-small:   0.875rem;                             /* 14px */
  --fs-label:   0.6875rem;                            /* 11px */

  /* ── Spacing ─────────────────────────────────────────────── */
  --s-1:   4px;
  --s-2:   8px;
  --s-3:   12px;
  --s-4:   16px;
  --s-5:   24px;
  --s-6:   32px;
  --s-7:   48px;
  --s-8:   64px;
  --s-9:   96px;
  --s-10:  128px;

  /* Section padding */
  --sec-pad-y:     clamp(var(--s-8), 8vw, var(--s-10));
  --sec-pad-y-sm:  clamp(var(--s-7), 5vw, var(--s-8));

  /* ── Layout ──────────────────────────────────────────────── */
  --max-w:         1200px;
  --max-w-narrow:  780px;
  --max-w-text:    680px;

  /* Grid gutter */
  --gutter:        clamp(var(--s-5), 3vw, var(--s-7));

  /* ── Borders / Radii ─────────────────────────────────────── */
  --r-sm:   4px;
  --r-md:   8px;
  --r-lg:   16px;
  --r-full: 999px;

  /* ── Shadows ─────────────────────────────────────────────── */
  --shadow-sm:  0 1px 4px rgba(28,28,26,.08), 0 2px 8px rgba(28,28,26,.06);
  --shadow-md:  0 4px 16px rgba(28,28,26,.10), 0 2px 6px rgba(28,28,26,.06);
  --shadow-lg:  0 8px 32px rgba(28,28,26,.12), 0 4px 12px rgba(28,28,26,.08);

  /* ── Transitions ─────────────────────────────────────────── */
  --t-fast:   150ms ease;
  --t-normal: 250ms ease;
  --t-slow:   400ms ease;
}

/* ── Base reset ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  background: var(--c-paper);
  color: var(--c-ink);
  font-family: var(--f-sans);
  font-size: var(--fs-body);
  font-weight: 300;
  line-height: 1.7;
}

a { color: inherit; }
img, svg { display: block; max-width: 100%; }

/* ── Container ───────────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 clamp(var(--s-5), 4vw, var(--s-7));
}
.container--narrow {
  max-width: var(--max-w-narrow);
}

/* ── Typography classes ──────────────────────────────────────── */
.t-display {
  font-family: var(--f-serif);
  font-size: var(--fs-display);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: var(--c-ink);
}
.t-h1 {
  font-family: var(--f-serif);
  font-size: var(--fs-h1);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.01em;
}
.t-h2 {
  font-family: var(--f-serif);
  font-size: var(--fs-h2);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.t-h3 {
  font-family: var(--f-sans);
  font-size: var(--fs-h3);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.01em;
}
.t-lead {
  font-family: var(--f-sans);
  font-size: var(--fs-lead);
  font-weight: 300;
  line-height: 1.65;
  color: var(--c-ink-60);
}
.t-body {
  font-family: var(--f-sans);
  font-size: var(--fs-body);
  font-weight: 300;
  line-height: 1.7;
}
.t-small {
  font-family: var(--f-sans);
  font-size: var(--fs-small);
  font-weight: 300;
  line-height: 1.6;
  color: var(--c-ink-60);
}
.t-label {
  font-family: var(--f-sans);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: .09em;
  text-transform: uppercase;
  line-height: 1.4;
}
.t-quote {
  font-family: var(--f-serif);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-style: italic;
  line-height: 1.5;
  color: var(--c-ink);
}
