/* UI sada 15 base tokens (plan 2026-09-24-ui-sada-15-vlna3, W3-0).
   Loaded only when ui15 is on. Adds what tokens.css does not have yet;
   existing tokens (navy, ink, surface, fit good/ok/no) stay the source. */
:root[data-ui15] {
  --shadow-pop: 0 12px 32px -8px rgba(16, 24, 40, .18), 0 4px 10px -4px rgba(16, 24, 40, .08);
  --ease-ui15: cubic-bezier(.2, .8, .2, 1);
  --ui15-bar-h: 64px;
}
:root[data-ui15] .ui15-ico { display: inline-block; flex: none; vertical-align: middle; }
@media (max-width: 760px) {
  :root[data-ui15] { --ui15-bar-h: 56px; }
}

/* W3-F: "Proč sedí" card, icon 44 | text (README § H). */
:root[data-ui15] .ui15-why-grid { display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start; }

/* ── One type system on every page (owner 2026-09-25) ──────────────────────
   The owner asked for the new look's type "everywhere, the same". What
   "Kola pro mě" (k2-page.css) and the new bar render, and the rest of the
   site did not (inventory: tests/web/test_ui15_chrome_everywhere.py):
     1. Every heading is Inter (README § 2: Inter 400/500/600/700, Space
        Grotesk ONLY for big prices and numbers). Landing, onboarding, the
        funnel, teaser, paywall, detail, guides, legal pages and the 404 set
        h1/h2 in Space Grotesk 600/800 through five different routes
        (--display, --font-display, --hp-disp, per-page rules, one
        !important), so the family is forced on the heading ELEMENT instead
        of remapping a variable: remapping --font-display would also turn
        every price into Inter and break the funnel's digit roll, whose box
        metrics are calibrated to Space Grotesk (hp.css --hp-roll-*).
        Numbers inside a heading (.num, .roll, .price) keep their own rule.
     2. Every h1 is 700 with -.02em tracking, like `.k2-head h1` and the
        prototype's .phead/.prof-h/.dt-top h1 (pages ranged 400 to 800).
     3. No tracked all-caps eyebrows: the prototype has zero uppercase
        (prototype/ui15/ui15.css). Only page-content labels are listed; the
        site footer is the same chrome on every page, "Kola pro mě"
        included, and keeps its column heads. Shop-initial avatars keep
        their capital on purpose (.oshop__ava is an initial, not a label).
   font-feature-settings "cv05","ss01" is already on <body> (tokens.css)
   and inherited everywhere; nothing on these pages resets it. */
:root[data-ui15] :is(h1, h2, h3, h4, h5, h6),
:root[data-ui15] :is(h1, h2, h3, h4, h5, h6) :not(.num, .roll, .roll *, .price, svg, svg *),
:root[data-ui15] :is(.t-display-1, .t-display-2, .fn-title, .gd-pull, .cn-awv, .cn-mech, .cn-k3-q, .ls-footer .brand) {
  font-family: var(--font-sans) !important;
}
/* !important for the same reason as the family: page h1 rules sit at up to
   (0,3,1) (`:root[data-ui-mode] .hp h1`) and set 600 or 800 per page. */
:root[data-ui15] h1 {
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}
/* Space Grotesk 800 model names (the funnel detail hero) read heavy in Inter. */
:root[data-ui15] .hp .hero h1 :is(.bnd, .mdl) {
  font-weight: 700;
}
/* /pravne uses the legal pages' h1 class but never shipped its style block
   (only podmienky/sukromie/vratenie inline it), so its title rendered at
   14px. Same size as the sibling legal pages; the family/weight come above. */
:root[data-ui15] .su-legal-h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.05;
}
/* /porovnani (owner 2026-09-25): the title sat glued to the box under it,
   0 px on the redesigned page (.pagehead has no bottom margin and neither
   the empty card nor the teaser has a top one) and 8 px on the classic one
   (the h1's mb-2). Leave the ~20 px the other ui15 heads leave ("Kola pro
   mě" 18, Profily 20). The paid recommendation banner brings its own 16 px
   top margin; zero it so it lands on the same 20 px, not 36. */
:root[data-ui15] .cmp-page .pagehead {
  margin-bottom: 20px;
}
:root[data-ui15] .cmp-page .pagehead + .rec {
  margin-top: 0;
}
:root[data-ui15] h1.text-h1 + .empty {
  margin-top: 20px;
}
/* The footer wordmark follows the bar's logo: Inter 700, tight tracking. */
:root[data-ui15] .ls-footer .brand {
  letter-spacing: -.02em;
}
:root[data-ui15] :is(.cn-eyebrow, .cn-awlab, .cn-bchip, .cn-ktag-open, .gv-eyebrow, .fstrip dt,
  .hp .pw-h, .hp .blk h2, .hp .badge.solid, .hp .cap, .hp .hero h1 .bnd, .dhero__name .bnd,
  .dstat .k, .otag, .osize .k, .sz-pop__sep, .vk-capbadge, .idband__k, .uni-profile .who .eye) {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
