/* ============================================================================
 * theme.css — JEDINÝ soubor se vzhledem veřejných stránek Baby Name Vote.
 *
 * TENHLE SOUBOR JE URČENÝ K PŘEPSÁNÍ. Až budeš mít nativní styl
 * archistratix.eu, máš dvě možnosti:
 *
 *   A) Přepiš jen proměnné v bloku :root níže (barvy, písma, šířka).
 *      Struktura stránek zůstane, jen se přebarví — nejrychlejší cesta.
 *
 *   B) Nahraď celý tenhle soubor stylem webu. Stránky používají jen
 *      standardní sémantické značky (header, main, footer, h1, h2, p,
 *      table, ul) plus pár tříd s prefixem "bnv-", takže je globální styl
 *      webu obarví sám. Prefix "bnv-" zabraňuje kolizi s třídami webu.
 *
 * Žádná stránka nemá vlastní <style> blok ani inline styly — všechno
 * vizuální je tady.
 * ========================================================================== */

:root {
  --bnv-text: #2E2A28;
  --bnv-text-soft: #6B625C;
  --bnv-bg: #FDFBF8;
  --bnv-surface: #FFFFFF;
  --bnv-line: #E7DDD3;
  --bnv-accent: #B07A9E;
  --bnv-accent-soft: rgba(176, 122, 158, 0.10);
  --bnv-radius: 12px;
  --bnv-width: 760px;
  --bnv-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --bnv-font-head: "Playfair Display", Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--bnv-font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--bnv-text);
  background: var(--bnv-bg);
}

.bnv-wrap { max-width: var(--bnv-width); margin: 0 auto; padding: 0 20px; }

/* ---- Hlavička ---- */
.bnv-header {
  border-bottom: 1px solid var(--bnv-line);
  background: var(--bnv-surface);
  padding: 14px 0;
}
.bnv-header-inner { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.bnv-brand {
  font-family: var(--bnv-font-head);
  font-weight: 700;
  font-size: 18px;
  color: var(--bnv-text);
  text-decoration: none;
  margin-right: auto;
}
.bnv-langs { display: flex; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.bnv-langs a { color: var(--bnv-text-soft); text-decoration: none; padding: 2px 6px; border-radius: 6px; }
.bnv-langs a:hover { background: var(--bnv-accent-soft); }
.bnv-langs a[aria-current="true"] { color: var(--bnv-accent); font-weight: 700; background: var(--bnv-accent-soft); }

/* ---- Obsah ---- */
main { padding: 32px 0 56px; }
h1 { font-family: var(--bnv-font-head); font-size: 30px; line-height: 1.25; margin: 0 0 6px; }
h2 { font-family: var(--bnv-font-head); font-size: 21px; margin: 34px 0 10px; }
h3 { font-size: 17px; margin: 22px 0 8px; }
p, li { color: var(--bnv-text); }
a { color: var(--bnv-accent); }
strong { font-weight: 600; }
hr { border: 0; border-top: 1px solid var(--bnv-line); margin: 28px 0; }

.bnv-meta { color: var(--bnv-text-soft); font-size: 14px; margin: 0 0 26px; }
.bnv-note {
  background: var(--bnv-accent-soft);
  border-radius: var(--bnv-radius);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--bnv-text-soft);
  margin: 24px 0;
}

table { border-collapse: collapse; width: 100%; margin: 16px 0; font-size: 15px; display: block; overflow-x: auto; }
th, td { border: 1px solid var(--bnv-line); padding: 8px 10px; text-align: left; vertical-align: top; }
th { background: var(--bnv-accent-soft); font-weight: 600; }

/* ---- Patička ---- */
.bnv-footer {
  border-top: 1px solid var(--bnv-line);
  background: var(--bnv-surface);
  padding: 22px 0;
  font-size: 14px;
  color: var(--bnv-text-soft);
}
.bnv-footer nav { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 8px; }
.bnv-footer a { color: var(--bnv-text-soft); }

/* ---- Landing a stránky se jmény (od 3.35.0, site/marketing.py) ---- */
.bnv-hero { padding: 8px 0 6px; }
.bnv-hero h1 { font-size: 34px; }
.bnv-lead { font-size: 18px; color: var(--bnv-text-soft); margin: 10px 0 20px; }
.bnv-stores { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0 6px; }
.bnv-store {
  display: inline-block; padding: 12px 20px; border-radius: 999px; font-weight: 700;
  text-decoration: none; background: var(--bnv-accent); color: #fff; font-size: 15px;
}
.bnv-store-alt { background: var(--bnv-surface); color: var(--bnv-accent); border: 1px solid var(--bnv-accent); }
.bnv-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.bnv-feature { background: var(--bnv-surface); border: 1px solid var(--bnv-line); border-radius: var(--bnv-radius); padding: 14px 16px; }
.bnv-feature h3 { margin: 0 0 6px; font-size: 16px; }
.bnv-feature p { margin: 0; font-size: 15px; color: var(--bnv-text-soft); }
.bnv-steps li { margin: 6px 0; }
.bnv-cta { margin: 36px 0 8px; padding: 18px 20px; border-radius: var(--bnv-radius); background: var(--bnv-accent-soft); }
.bnv-cta h2 { margin-top: 0; }
.bnv-abc { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0; font-weight: 700; }
.bnv-abc a { text-decoration: none; padding: 2px 8px; border-radius: 6px; background: var(--bnv-accent-soft); }
.bnv-names { display: table; }
.bnv-names td:first-child { white-space: nowrap; }
.bnv-names td:nth-child(2) { white-space: nowrap; color: var(--bnv-text-soft); }
.bnv-names tr { scroll-margin-top: 12px; }
.bnv-lang-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 24px 0; }
.bnv-lang-card { display: block; padding: 16px; border: 1px solid var(--bnv-line); border-radius: var(--bnv-radius); background: var(--bnv-surface); text-decoration: none; color: var(--bnv-text); }
.bnv-lang-card strong { display: block; font-family: var(--bnv-font-head); font-size: 17px; margin-bottom: 6px; }
.bnv-lang-card span { font-size: 14px; color: var(--bnv-text-soft); }
article p, article li { font-size: 17px; }

@media (prefers-color-scheme: dark) {
  :root {
    --bnv-text: #E8E3DF; --bnv-text-soft: #A79E97; --bnv-bg: #16130F;
    --bnv-surface: #1E1A16; --bnv-line: #332C25; --bnv-accent: #D9A7C7;
    --bnv-accent-soft: rgba(217, 167, 199, 0.12);
  }
}
