/* ==========================================================================
   base.css — typografia a globálne štýly
   ========================================================================== */

body {
  background: var(--c-paper);
  color: var(--c-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--w-light);
  line-height: var(--lh-body);
}

/* --- Nadpisy --- */
.display,
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: var(--w-display);
  letter-spacing: var(--ls-display);
}

.display { font-size: var(--text-display); line-height: var(--lh-display); }
h1       { font-size: var(--text-h1);      line-height: var(--lh-display); }
h2       { font-size: var(--text-h2);      line-height: var(--lh-heading); }
h3       { font-size: var(--text-h3);      line-height: var(--lh-heading); letter-spacing: -0.01em;
           font-weight: var(--w-display-sm); }

/* --- Text --- */
p { max-width: var(--measure); }

.lead {
  font-size: var(--text-lead);
  line-height: 1.6;
  color: var(--c-ink-soft);
}

.muted { color: var(--c-ink-soft); }

/* --- Vertikálny rytmus (len v .rich blokoch, aby sa nebil s flex gapmi) --- */
.rich > h2 + p,
.rich > h3 + p            { margin-top: var(--space-6); }
.rich > p + p             { margin-top: var(--space-4); }

/* --- Odkazy v texte --- */
.link {
  position: relative;
  padding-bottom: 2px;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size var(--dur) var(--ease);
}
.link:hover { background-size: 0 1px; background-position: 100% 100%; }

/* Bez hero fotky pod hlavičkou musí obsah začať až pod ňou */
body[data-header="solid"] { padding-top: var(--header-h); }

/* Kotvy v stránke nesmú skončiť schované pod fixnou hlavičkou */
[id] { scroll-margin-top: calc(var(--header-h) + 1.5rem); }

/* --- Pomocné --- */

/* Odstavce, ktoré tú istú informáciu opakujú inde na stránke. Na mobile ich
   skryjeme, aby sa text nekopil — na väčších displejoch priestor je. */
@media (max-width: 767px) {
  .u-hide-mobile { display: none; }
}
.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  top: var(--space-2);
  left: var(--space-2);
  z-index: 200;
  padding: var(--space-3) var(--space-6);
  background: var(--c-ink);
  color: var(--c-on-ink);
  font-size: var(--text-sm);
  transform: translateY(-160%);
  transition: transform var(--dur) var(--ease);
}
.skip-link:focus-visible { transform: translateY(0); }

::selection { background: var(--c-ink); color: var(--c-paper); }
