/* Finbit frontend v1: ONE component stylesheet for both installs (both installs). Mobile first; tokens in tokens.css.
   Class prefix fb-. No webfonts, no layout-shifting media (images carry width/height, calculator outputs reserve space). */

/* ---------- base ---------- */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 1rem; }
body { margin: 0; font-family: var(--fb-font-body); font-size: var(--fb-fs-base); line-height: var(--fb-lh-body); color: var(--fb-color-text); background: var(--fb-color-bg); overflow-wrap: break-word; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }
:where(.wp-site-blocks) :where(h1, h2, h3, h4) { font-family: var(--fb-font-head); font-weight: var(--fb-fw-head); letter-spacing: var(--fb-ls-head); line-height: var(--fb-lh-tight); text-wrap: balance; }
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--fb-color-accent); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--fb-color-accent-strong); text-decoration-thickness: 2px; }
:focus-visible { outline: var(--fb-focus); outline-offset: 2px; border-radius: 2px; }
.fb-band :focus-visible, .fb-footer :focus-visible, .fb-rgbar :focus-visible { outline-color: var(--fb-color-mark); }
::selection { background: var(--fb-color-mark); color: var(--fb-color-text); }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.fb-num, .fb-facts dd, .fb-score__num, .wp-block-table td, .fb-calc output { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* frame */
.fb-wrap, .fb-header, .fb-footer, .fb-article-head, .fb-article, .fb-related, .fb-pagehead, .fb-page, .fb-band__inner, .fb-intro, .fb-newsstrip, .fb-pillars, .fb-featured {
  box-sizing: border-box; width: 100%; max-width: var(--fb-wide); margin-inline: auto; padding-inline: var(--fb-gutter); }
.fb-main { padding-block-end: var(--fb-space-6); margin: 0; }
.fb-main > * { margin-block-start: 0; }
.fb-section__title { font-size: var(--fb-fs-lg); margin: 0 0 var(--fb-space-3); }

/* ---------- header (v1.3): one flex axis, padded, nav | divider | search; mobile = search icon + menu toggle ---------- */
.fb-site-header { background: var(--fb-color-paper); border-bottom: 1px solid var(--fb-color-line); }
.fb-header { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--fb-space-3); row-gap: 0; min-height: 64px; padding-block: var(--fb-space-2); box-sizing: border-box; }
.fb-header > * { margin: 0 !important; }
.fb-brand { display: inline-flex; align-items: center; gap: .6rem; flex: none; }
.fb-brand > * { margin: 0 !important; }
.fb-brand .wp-block-site-logo { line-height: 0; }
.fb-brand .custom-logo-link, .fb-logo { display: inline-flex; align-items: center; min-height: var(--fb-tap); }
.fb-brand .custom-logo, .fb-logo img { display: block; height: 30px; width: auto; }
@media (max-width: 22em) { .fb-brand .custom-logo { height: 26px; } }
.fb-brand__section { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: .2rem .5rem; border-radius: var(--fb-radius-pill); background: var(--fb-color-ink); color: var(--fb-color-on-ink); }
.fb-tools { display: flex; align-items: center; gap: var(--fb-space-2); margin-left: auto !important; flex: none; }
.fb-iconbtn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; box-sizing: border-box; min-width: var(--fb-tap); min-height: var(--fb-tap); padding: 0; border: 0; border-radius: var(--fb-radius-pill); background: transparent; color: var(--fb-color-text); font: inherit; font-weight: 600; font-size: var(--fb-fs-sm); text-decoration: none; cursor: pointer; }
.fb-iconbtn:hover { background: var(--fb-color-surface); color: var(--fb-color-text); }
.fb-iconbtn svg { flex: none; }
.fb-iconbtn__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.fb-menu-toggle { display: none; }
.fb-js .fb-menu-toggle { display: inline-flex; }
.fb-menu-toggle .fb-x { display: none; }
.fb-header.is-open .fb-menu-toggle .fb-x { display: block; } .fb-header.is-open .fb-menu-toggle .fb-burger { display: none; }
/* nav: mobile = panel under the bar (JS) or swipe strip (no JS) */
.fb-nav--primary { order: 3; flex: 1 0 100%; min-width: 0; }
.fb-nav--primary .fb-nav__list { display: flex; gap: .25rem; margin: 0; padding: 0 0 var(--fb-space-2); list-style: none; overflow-x: auto; scrollbar-width: none; }
.fb-nav--primary .fb-nav__list::-webkit-scrollbar { display: none; }
.fb-nav--primary li { flex: none; }
.fb-nav__link { display: inline-flex; align-items: center; min-height: var(--fb-tap); padding: 0 .85rem; border-radius: var(--fb-radius-pill); color: var(--fb-color-text-2); font-size: var(--fb-fs-sm); font-weight: 600; text-decoration: none; white-space: nowrap; box-sizing: border-box; }
.fb-nav__link:hover { background: var(--fb-color-surface); color: var(--fb-color-text); }
.fb-nav__link[aria-current="page"] { background: var(--fb-color-ink); color: var(--fb-color-on-ink); }
@media (max-width: 63.99em) {
  .fb-js .fb-nav--primary { display: none; }
  .fb-js .fb-header.is-open .fb-nav--primary { display: block; border-top: 1px solid var(--fb-color-line); margin-top: var(--fb-space-2) !important; padding-top: var(--fb-space-2); }
  .fb-js .fb-nav--primary .fb-nav__list { flex-direction: column; overflow: visible; gap: .25rem; }
  .fb-js .fb-nav__link { display: flex; border-radius: var(--fb-radius-sm); padding-inline: .75rem; }
}
@media (min-width: 64em) {
  .fb-header { flex-wrap: nowrap; column-gap: var(--fb-space-4); padding-block: .625rem; }
  .fb-nav--primary { order: 0; flex: 1 1 auto; display: block !important; }
  .fb-nav--primary .fb-nav__list { padding: 0; overflow: visible; flex-wrap: wrap; }
  .fb-nav__link { min-height: 40px; }
  .fb-js .fb-menu-toggle { display: none; }
  /* subtle divider + small, light search pill */
  .fb-tools { padding-left: var(--fb-space-4); border-left: 1px solid var(--fb-color-line); align-self: center; min-height: 32px; }
  .fb-search-btn { min-height: 36px; padding: 0 .85rem 0 .7rem; border: 1px solid var(--fb-color-line); color: var(--fb-color-text-2); font-weight: 500; }
  .fb-search-btn:hover { border-color: var(--fb-color-line-strong); background: var(--fb-color-bg); }
  .fb-search-btn .fb-iconbtn__label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
}
/* responsible-play bar (second install only) */
.fb-rgbar { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .25rem 1rem; padding: .4rem var(--fb-gutter); background: var(--fb-color-ink); color: var(--fb-color-on-ink); font-size: var(--fb-fs-xs); line-height: 1.4; }
.fb-rgbar strong { background: var(--fb-color-mark); color: var(--fb-color-text); padding: 0 .4rem; border-radius: 4px; }
.fb-rgbar a { color: var(--fb-color-on-ink); font-weight: 700; display: inline-flex; align-items: center; min-height: 32px; padding-inline: .15rem; }
.fb-site-header > .fb-rgbar + .fb-header { margin-block-start: 0; }

/* ---------- footer ---------- */
.fb-site-footer { background: var(--fb-color-ink); color: var(--fb-color-on-ink-2); margin-block-start: 0; }
.fb-footer { padding-block: var(--fb-space-5) var(--fb-space-4); font-size: var(--fb-fs-sm); }
.fb-footer > * + * { margin-block-start: var(--fb-space-4); }
.fb-footer__grid { display: grid; gap: var(--fb-space-4); }
.fb-footer__about { display: block; }
.fb-footer__about .fb-brand__section { margin-left: .6rem; vertical-align: middle; }
.fb-footer__about .fb-brand__section { background: var(--fb-color-mark); color: var(--fb-color-text); }
.fb-footer__about p { max-width: 34rem; margin: .5rem 0 0; }
.fb-nav--footer .fb-nav__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: 0 var(--fb-space-3); margin: 0; padding: 0; list-style: none; }
.fb-nav--footer .fb-nav__link { padding: 0; color: var(--fb-color-on-ink); font-weight: 500; border-radius: 0; text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); white-space: normal; }
.fb-nav--footer .fb-nav__link:hover { background: none; text-decoration-color: currentColor; color: #fff; }
.fb-nav--footer .fb-nav__link[aria-current="page"] { background: none; color: var(--fb-color-mark); }
.fb-footer__disclosure { border-top: 1px solid rgba(255,255,255,.14); padding-top: var(--fb-space-3); max-width: 60rem; }
.fb-footer__disclosure strong { color: var(--fb-color-on-ink); }
.fb-footer__copy { color: var(--fb-color-on-ink-2); margin-bottom: 0; }
.fb-rg { display: flex; gap: var(--fb-space-3); align-items: flex-start; padding: var(--fb-space-3); border: 1px solid rgba(255,255,255,.18); border-radius: var(--fb-radius); }
.fb-rg__badge { flex: none; display: grid; place-items: center; width: 3rem; height: 3rem; margin: 0; border-radius: 50%; background: var(--fb-color-mark); color: var(--fb-color-text); font-weight: 800; }
.fb-rg__h { color: var(--fb-color-on-ink); font-size: var(--fb-fs-md); margin: 0 0 .25rem; }
.fb-rg p { margin: 0 0 .5rem; }
.fb-rg__lines { margin: 0; padding-left: 1.1rem; }
.fb-rg__lines strong { color: var(--fb-color-on-ink); }
@media (min-width: 48em) { .fb-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); } }

/* ---------- shared bits ---------- */
.fb-kicker { margin: 0 0 .35rem; font-size: var(--fb-fs-xs); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--fb-color-text-2); display: flex; align-items: center; gap: .45rem; }
.fb-kicker::before { content: ""; width: .6rem; height: .6rem; border-radius: 2px; background: var(--fb-k, var(--fb-color-accent)); flex: none; }
.fb-kicker a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; min-height: var(--fb-tap); }
.fb-kicker a:hover { text-decoration: underline; }
.fb-kicker--dane { --fb-k: var(--fb-pillar-dane); } .fb-kicker--peniaze { --fb-k: var(--fb-pillar-peniaze); } .fb-kicker--bezpecnost { --fb-k: var(--fb-pillar-bezpecnost); }
.fb-kicker--nakupy { --fb-k: var(--fb-pillar-nakupy); } .fb-kicker--mzda { --fb-k: var(--fb-pillar-mzda); } .fb-kicker--spravy { --fb-k: var(--fb-pillar-spravy); }
.fb-more { display: inline-flex; align-items: center; gap: .3rem; min-height: var(--fb-tap); font-weight: 600; font-size: var(--fb-fs-sm); white-space: nowrap; }
.fb-more::after { content: "→"; text-decoration: none; display: inline-block; }
.fb-link-sm { display: inline-flex; align-items: center; min-height: var(--fb-tap); font-size: var(--fb-fs-sm); font-weight: 600; }
.fb-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: var(--fb-space-3) 0 0; padding: 0; list-style: none; }
.fb-chips a { display: inline-flex; align-items: center; min-height: var(--fb-tap); padding: 0 1rem; border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius-pill); color: var(--fb-color-text); text-decoration: none; font-weight: 600; font-size: var(--fb-fs-sm); }
.fb-chips a:hover { border-color: var(--fb-color-accent); color: var(--fb-color-accent-strong); }
.fb-demo-badge { display: inline-block; margin: 0 0 var(--fb-space-3); padding: .25rem .6rem; border: 1px dashed var(--fb-color-warn-line); border-radius: var(--fb-radius-sm); background: var(--fb-color-warn-bg); color: var(--fb-color-warn-text); font-size: var(--fb-fs-xs); font-weight: 700; }
.fb-avatar { flex: none; width: var(--fb-av, 48px); height: var(--fb-av, 48px); border-radius: 50%; object-fit: cover; }
.fb-avatar--ini { display: inline-grid; place-items: center; background: var(--fb-color-accent-soft); color: var(--fb-color-accent-strong); font-weight: 800; font-size: calc(var(--fb-av, 48px) * .36); letter-spacing: .02em; }

/* cards (one component for home, archives, related, search) */
.fb-grid { display: grid; gap: var(--fb-space-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }
.fb-card { position: relative; display: flex; flex-direction: column; padding: var(--fb-space-3); border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); background: var(--fb-color-bg); }
.fb-card:hover { border-color: var(--fb-color-line-strong); box-shadow: var(--fb-shadow); }
.fb-card__media { margin: calc(var(--fb-space-3) * -1) calc(var(--fb-space-3) * -1) var(--fb-space-3); aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--fb-radius) var(--fb-radius) 0 0; background: var(--fb-color-surface); }
.fb-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fb-card__title { margin: 0; font-size: var(--fb-fs-md); line-height: 1.3; }
.fb-card__title a { color: var(--fb-color-text); text-decoration: none; }
.fb-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--fb-radius); }
.fb-card__title a:hover { text-decoration: underline; }
.fb-card__title a:focus-visible { outline: none; }
.fb-card:has(a:focus-visible) { outline: var(--fb-focus); outline-offset: 2px; }
.fb-card__excerpt { margin: .5rem 0 0; color: var(--fb-color-text-2); font-size: var(--fb-fs-sm); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fb-card__meta { margin: auto 0 0; padding-top: .75rem; color: var(--fb-color-muted); font-size: var(--fb-fs-xs); }
.fb-card .fb-kicker { min-height: 1.5rem; }
.fb-card--lead .fb-card__title { font-size: var(--fb-fs-lg); }
.fb-card--compact { border-width: 0 0 1px; border-radius: 0; padding: var(--fb-space-3) 0; }
.fb-card--compact:hover { box-shadow: none; }
.fb-card--compact .fb-card__title { font-size: 1.0625rem; }
.fb-card--compact .fb-kicker { display: none; }
.fb-card--compact .fb-card__meta { padding-top: .35rem; }

/* ---------- homepage ---------- */
.fb-intro { padding-block: var(--fb-space-5) var(--fb-space-4); }
.fb-intro__title { font-size: var(--fb-fs-2xl); max-width: 22ch; margin: 0; }
.fb-intro__title span { color: var(--fb-color-accent); }
.fb-intro__lede { font-size: var(--fb-fs-md); color: var(--fb-color-text-2); max-width: 40rem; margin: var(--fb-space-3) 0 0; }
.fb-trust { display: flex; flex-wrap: wrap; gap: .5rem; margin: var(--fb-space-4) 0 0; padding: 0; list-style: none; font-size: var(--fb-fs-sm); font-weight: 600; }
.fb-trust li { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .8rem; background: var(--fb-color-surface); border-radius: var(--fb-radius-pill); color: var(--fb-color-text-2); }
.fb-trust li::before { content: ""; width: .5rem; height: .9rem; border: solid var(--fb-color-accent); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg) translateY(-2px); }
.fb-newsstrip { margin-block: var(--fb-space-3) var(--fb-space-5); }
.fb-newsstrip__head, .fb-pillar__head { display: flex; align-items: center; justify-content: space-between; gap: var(--fb-space-3); border-top: 3px solid var(--fb-color-text); padding-top: .4rem; margin-bottom: var(--fb-space-2); }
.fb-newsstrip__title, .fb-pillar__title { margin: 0; font-size: var(--fb-fs-lg); }
.fb-newsstrip__title::before { content: ""; display: inline-block; width: .55rem; height: .55rem; margin-right: .5rem; border-radius: 50%; background: var(--fb-color-risk-line); vertical-align: .15em; }
.fb-newsstrip__list { display: grid; gap: 0 var(--fb-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.fb-newsitem { display: flex; flex-direction: column; gap: .2rem; padding-block: .75rem; border-bottom: 1px solid var(--fb-color-line); }
.fb-newsitem time { font-size: var(--fb-fs-xs); color: var(--fb-color-muted); font-weight: 600; font-variant-numeric: tabular-nums; }
.fb-newsitem__title { margin: 0; font-size: 1rem; line-height: 1.35; }
.fb-newsitem__title a { color: var(--fb-color-text); text-decoration: none; }
.fb-newsitem__title a:hover { text-decoration: underline; }
.fb-pillars { display: grid; gap: var(--fb-space-5) var(--fb-space-5); padding-block: var(--fb-space-5); }
.fb-pillar__head { border-top-color: var(--fb-k, var(--fb-color-text)); }
.fb-pillar--dane { --fb-k: var(--fb-pillar-dane); } .fb-pillar--peniaze { --fb-k: var(--fb-pillar-peniaze); } .fb-pillar--bezpecnost { --fb-k: var(--fb-pillar-bezpecnost); }
.fb-pillar--nakupy { --fb-k: var(--fb-pillar-nakupy); } .fb-pillar--mzda { --fb-k: var(--fb-pillar-mzda); }
.fb-pillar__body { display: grid; gap: 0; }


/* ---------- dark band (pillar archive head, hub pages, overview front) ---------- */
.fb-band { background: var(--fb-color-ink); color: var(--fb-color-on-ink-2); margin-bottom: var(--fb-space-4); }
.fb-band__inner { padding-block: var(--fb-space-5); }
.fb-band__eyebrow { margin: 0 0 .35rem; font-size: var(--fb-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fb-color-accent-on-ink); }
.fb-band__title, .fb-band .fb-page__title { margin: 0; color: var(--fb-color-on-ink); font-size: var(--fb-fs-2xl); max-width: 26ch; }
.fb-band__lede, .fb-band .fb-lede { color: var(--fb-color-on-ink-2); max-width: 42rem; margin: var(--fb-space-3) 0 0; font-size: var(--fb-fs-md); }
.fb-band__meta { margin: var(--fb-space-3) 0 0; font-size: var(--fb-fs-sm); color: var(--fb-color-on-ink-2); }
.fb-band a { color: var(--fb-color-on-ink); }
.fb-band .fb-crumbs, .fb-band .fb-crumbs a { color: var(--fb-color-on-ink-2); }
.fb-band .fb-eeat { border-color: rgba(255,255,255,.18); color: var(--fb-color-on-ink-2); }
.fb-band .fb-eeat a, .fb-band .fb-eeat__date time { color: var(--fb-color-on-ink); }
.fb-band .fb-eeat__label, .fb-band .fb-eeat__role { color: var(--fb-color-on-ink-2); }
.fb-band .fb-eeat__date { background: rgba(255,255,255,.08); }
.fb-band .fb-eeat__date .fb-eeat__label { color: var(--fb-color-accent-on-ink); }
.fb-band .fb-crumbs .last { color: var(--fb-color-on-ink-2); }
.fb-band .fb-avatar--ini { background: rgba(255,255,255,.12); color: var(--fb-color-on-ink); }
.fb-band .fb-demo-badge { background: transparent; color: var(--fb-color-mark); border-color: var(--fb-color-mark); }
.fb-feature { margin-bottom: var(--fb-space-3); }
.fb-feature .fb-card--lead { background: var(--fb-color-surface); border-color: transparent; }
@media (min-width: 48em) { .fb-feature .fb-card--lead { padding: var(--fb-space-4); } .fb-feature .fb-card__title { font-size: var(--fb-fs-xl); } }
.fb-pagination { margin-top: var(--fb-space-4); }
.fb-pagination ul { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.fb-pagination a, .fb-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: var(--fb-tap); min-height: var(--fb-tap); padding: 0 .75rem; border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius-sm); text-decoration: none; font-weight: 600; box-sizing: border-box; }
.fb-pagination .current { background: var(--fb-color-ink); color: var(--fb-color-on-ink); border-color: var(--fb-color-ink); }
.fb-empty { padding: var(--fb-space-4); background: var(--fb-color-surface); border-radius: var(--fb-radius); }
.fb-empty p { margin: 0; }

/* ---------- author, search, 404 ---------- */
.fb-authorhead { display: flex; gap: var(--fb-space-4); align-items: flex-start; padding-block: var(--fb-space-5) var(--fb-space-4); border-bottom: 1px solid var(--fb-color-line); margin-bottom: var(--fb-space-4); }
.fb-authorhead .fb-band__eyebrow { color: var(--fb-color-accent); }
.fb-authorhead__name { margin: 0; font-size: var(--fb-fs-2xl); }
.fb-authorhead__role { margin: .35rem 0 0; font-weight: 600; color: var(--fb-color-text-2); }
.fb-authorhead__bio { margin: var(--fb-space-3) 0 0; max-width: 42rem; }
.fb-authorhead .fb-band__meta { color: var(--fb-color-muted); }
@media (max-width: 30em) { .fb-authorhead { flex-direction: column; gap: var(--fb-space-3); } }
.fb-searchhead { padding-block: var(--fb-space-5) var(--fb-space-4); }
.fb-searchhead__title { margin: 0 0 var(--fb-space-3); font-size: var(--fb-fs-2xl); }
.fb-searchhead .fb-band__meta { color: var(--fb-color-muted); }
.fb-search { display: flex; gap: .5rem; max-width: 36rem; margin-top: var(--fb-space-3); }
.fb-search input { flex: 1; min-width: 0; min-height: 48px; padding: 0 1rem; font: inherit; border: 2px solid var(--fb-color-line-strong); border-radius: var(--fb-radius); background: #fff; color: var(--fb-color-text); box-sizing: border-box; }
.fb-search input:focus-visible { border-color: var(--fb-color-accent); outline-offset: 1px; }
.fb-search input::placeholder { color: var(--fb-color-muted); }
.fb-search button, .fb-cta, .fb-calc button { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 48px; padding: 0 1.25rem; border: 0; border-radius: var(--fb-radius); background: var(--fb-color-accent); color: #fff; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.fb-search button:hover, .fb-cta:hover, .fb-calc button:hover { background: var(--fb-color-accent-strong); color: #fff; }
.fb-404 { padding-block: var(--fb-space-6) var(--fb-space-4); max-width: 44rem; }
.fb-404__code { margin: 0; font-size: clamp(4rem, 3rem + 6vw, 7rem); font-weight: 800; line-height: 1; letter-spacing: -.05em; color: var(--fb-color-accent); font-variant-numeric: tabular-nums; }
.fb-404__title { margin: var(--fb-space-2) 0 var(--fb-space-3); font-size: var(--fb-fs-2xl); }

/* ---------- article ---------- */
.fb-article-head { padding-block: var(--fb-space-4) var(--fb-space-3); }
.fb-article-head > * { max-width: var(--fb-measure); }
.fb-article-head > * + * { margin-block-start: 0; }
.fb-crumbs { font-size: var(--fb-fs-xs); color: var(--fb-color-muted); margin-bottom: var(--fb-space-2); }
.fb-crumbs p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; column-gap: .1rem; }
.fb-crumbs a { color: var(--fb-color-muted); display: inline-flex; align-items: center; min-height: var(--fb-tap); padding-inline: .1rem; }
.fb-crumbs .separator { padding-inline: .3rem; }
.fb-crumbs .last { color: var(--fb-color-text-2); display: none; }
@media (min-width: 48em) { .fb-crumbs .last { display: inline; } }
.fb-article__title, .fb-page__title { font-size: var(--fb-fs-2xl); margin: 0 0 var(--fb-space-3); }
.fb-lede { font-size: var(--fb-fs-md); line-height: 1.55; color: var(--fb-color-text-2); margin: 0 0 var(--fb-space-3); }
.fb-byline-part { margin: 0; }
.fb-eeat { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fb-space-3) var(--fb-space-4); padding-block: var(--fb-space-3); border-block: 1px solid var(--fb-color-line); font-size: var(--fb-fs-sm); line-height: 1.35; }
.fb-eeat p { margin: 0; }
.fb-eeat__person { display: flex; align-items: center; gap: .6rem; }
.fb-eeat__person a { font-weight: 700; color: var(--fb-color-text); display: inline-block; padding-block: .6rem; margin-block: -.6rem; }
.fb-eeat__label { display: block; font-size: var(--fb-fs-xs); color: var(--fb-color-muted); font-weight: 600; }
.fb-eeat__role { display: block; font-size: var(--fb-fs-xs); color: var(--fb-color-muted); }
.fb-eeat__date { padding: .5rem .75rem; background: var(--fb-color-accent-soft); border-radius: var(--fb-radius-sm); }
.fb-eeat__date .fb-eeat__label { color: var(--fb-color-accent-strong); }
.fb-eeat__date time { font-weight: 700; }
@media (min-width: 48em) { .fb-eeat__date { margin-left: auto; } }
.fb-featured { margin-block: 0 var(--fb-space-4); }
.fb-featured img { display: block; width: 100%; height: auto; border-radius: var(--fb-radius); }
.fb-featured figcaption { margin-top: .4rem; font-size: var(--fb-fs-xs); color: var(--fb-color-muted); }
.fb-article { display: grid; gap: var(--fb-space-5); }
.fb-article__body { min-width: 0; max-width: var(--fb-measure); }
.fb-article__body > * + * { margin-block-start: var(--fb-space-4); }
.fb-article__side { display: none; margin: 0 !important; }
@media (min-width: 72em) {
  .fb-article:has(.fb-toc--side) { grid-template-columns: minmax(0, var(--fb-measure)) minmax(14rem, 18rem); justify-content: space-between; }
  .fb-article:has(.fb-toc--side) .fb-article__side { display: block; }
  .fb-article:has(.fb-toc--side) .fb-toc--inline { display: none; }
}

/* TOC */
.fb-toc { font-size: var(--fb-fs-sm); }
.fb-toc__title { font-weight: 700; margin: 0; }
.fb-toc__list { margin: .5rem 0 0; padding: 0; list-style: none; counter-reset: fbtoc; }
.fb-toc__list li { counter-increment: fbtoc; }
.fb-toc__list a { display: flex; gap: .6rem; padding: .55rem 0; min-height: var(--fb-tap); box-sizing: border-box; color: var(--fb-color-text-2); text-decoration: none; line-height: 1.35; border-top: 1px solid var(--fb-color-line); }
.fb-toc__list a::before { content: counter(fbtoc); flex: none; min-width: 1.25rem; font-weight: 700; color: var(--fb-color-accent); font-variant-numeric: tabular-nums; }
.fb-toc__list a:hover { color: var(--fb-color-accent-strong); text-decoration: underline; }
.fb-toc--inline { border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); background: var(--fb-color-surface); padding: 0 var(--fb-space-3); }
.fb-toc--inline summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; cursor: pointer; list-style: none; }
.fb-toc--inline summary::-webkit-details-marker { display: none; }
.fb-toc--inline summary::after { content: ""; width: .55rem; height: .55rem; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); margin-right: .25rem; }
.fb-toc--inline[open] summary::after { transform: rotate(-135deg); }
.fb-toc--inline[open] { padding-bottom: var(--fb-space-2); }
.fb-toc__count { color: var(--fb-color-muted); font-weight: 600; margin-left: .25rem; margin-right: auto; }
.fb-toc--side { position: sticky; top: var(--fb-space-4); max-height: calc(100vh - 3rem); overflow: auto; padding-left: var(--fb-space-3); border-left: 3px solid var(--fb-color-accent); }
.fb-toc--side .fb-toc__title { font-size: var(--fb-fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--fb-color-muted); }

/* prose */
.fb-prose { font-size: var(--fb-fs-base); }
.fb-prose > * { margin-block: 0; }
.fb-prose > * + * { margin-block-start: 1.15em; }
.fb-prose > h2 { font-size: var(--fb-fs-xl); margin-block-start: 2.2em; scroll-margin-top: 1rem; }
.fb-prose > h3 { font-size: var(--fb-fs-lg); margin-block-start: 1.8em; }
.fb-prose > h2 + *, .fb-prose > h3 + * { margin-block-start: .6em; }
.fb-prose ul, .fb-prose ol { padding-left: 1.3rem; }
.fb-prose li + li { margin-top: .35em; }
.fb-prose li::marker { color: var(--fb-color-accent); font-weight: 700; }
.fb-prose strong { font-weight: 700; }
.fb-prose mark, .fb-prose .has-fb-mark-background-color { background: var(--fb-color-mark); color: var(--fb-color-text); padding: 0 .15em; }
.fb-prose img { border-radius: var(--fb-radius-sm); }
.fb-prose figure { margin-inline: 0; }
.fb-prose blockquote { margin-inline: 0; }
.fb-prose hr { border: 0; border-top: 1px solid var(--fb-color-line); }
.fb-prose .wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; }
.fb-prose .is-style-fb-secondary .wp-block-button__link { background: transparent; color: var(--fb-color-accent-strong); box-shadow: inset 0 0 0 2px var(--fb-color-accent); }

/* boxes (block styles on core/group) */
.is-style-fb-tip, .is-style-fb-warning, .is-style-fb-risk, .is-style-fb-note, .is-style-fb-sources, .is-style-fb-keyfacts, .is-style-fb-updated {
  padding: var(--fb-space-3) var(--fb-space-3) var(--fb-space-3) calc(var(--fb-space-3) + 4px); border-radius: var(--fb-radius); border-left: 4px solid var(--fb-bl); background: var(--fb-bb); font-size: var(--fb-fs-sm); line-height: 1.6; }
:is(.is-style-fb-tip, .is-style-fb-warning, .is-style-fb-risk, .is-style-fb-note, .is-style-fb-sources, .is-style-fb-keyfacts, .is-style-fb-updated) > * { margin-block: 0; }
:is(.is-style-fb-tip, .is-style-fb-warning, .is-style-fb-risk, .is-style-fb-note, .is-style-fb-sources, .is-style-fb-keyfacts, .is-style-fb-updated) > * + * { margin-block-start: .5em; }
:is(.is-style-fb-tip, .is-style-fb-warning, .is-style-fb-risk, .is-style-fb-note, .is-style-fb-sources, .is-style-fb-keyfacts) > :first-child { font-weight: 700; font-size: var(--fb-fs-base); display: flex; align-items: center; gap: .5rem; }
.is-style-fb-tip { --fb-bl: var(--fb-color-tip-line); --fb-bb: var(--fb-color-tip-bg); }
.is-style-fb-warning { --fb-bl: var(--fb-color-warn-line); --fb-bb: var(--fb-color-warn-bg); }
.is-style-fb-risk { --fb-bl: var(--fb-color-risk-line); --fb-bb: var(--fb-color-risk-bg); }
.is-style-fb-note, .is-style-fb-sources { --fb-bl: var(--fb-color-note-line); --fb-bb: var(--fb-color-note-bg); }
.is-style-fb-keyfacts { --fb-bl: var(--fb-color-text); --fb-bb: var(--fb-color-surface); }
.is-style-fb-tip > :first-child::before { content: "✓"; color: var(--fb-color-tip-line); }
.is-style-fb-warning > :first-child::before { content: "!"; display: inline-grid; place-items: center; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--fb-color-warn-line); color: #fff; font-size: .8rem; }
.is-style-fb-warning > :first-child { color: var(--fb-color-warn-text); }
.is-style-fb-risk > :first-child { color: var(--fb-color-risk-text); }
.is-style-fb-sources ol, .is-style-fb-sources ul { padding-left: 1.2rem; }
.is-style-fb-sources li { word-break: break-word; }
.is-style-fb-sources a { display: inline-block; padding-block: .55rem; margin-block: -.55rem; }
.is-style-fb-sources li + li { margin-top: .9em; }
.is-style-fb-updated, p.fb-updated { --fb-bl: var(--fb-color-mark-line); --fb-bb: var(--fb-color-mark-soft); font-weight: 700; }
p.fb-updated { padding: .6rem .9rem; border-left: 4px solid var(--fb-bl); background: var(--fb-bb); border-radius: var(--fb-radius-sm); font-size: var(--fb-fs-sm); }
p.fb-updated::before { content: "●"; color: var(--fb-color-mark-line); margin-right: .45rem; }
.is-style-fb-check { list-style: none; padding-left: 0 !important; }
.is-style-fb-check li { position: relative; padding-left: 1.9rem; }
.is-style-fb-check li::before { content: ""; position: absolute; left: .15rem; top: .2em; width: 1.05rem; height: 1.05rem; border: 2px solid var(--fb-color-accent); border-radius: 4px; box-sizing: border-box; }
ol.is-style-fb-steps, .is-style-fb-steps ol { list-style: none; padding-left: 0 !important; counter-reset: fbstep; }
ol.is-style-fb-steps > li, .is-style-fb-steps ol > li { counter-increment: fbstep; position: relative; padding: .1rem 0 .4rem 2.6rem; min-height: 2rem; }
ol.is-style-fb-steps > li::before, .is-style-fb-steps ol > li::before { content: counter(fbstep); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--fb-color-ink); color: #fff; font-weight: 800; font-size: .9rem; }

/* FAQ (core/details), no schema from the theme */
.is-style-fb-faq:is(.wp-block-group) > * + * { margin-block-start: 0; }
.wp-block-details.is-style-fb-faq, .is-style-fb-faq .wp-block-details { border-top: 1px solid var(--fb-color-line); padding: 0; margin: 0; }
.is-style-fb-faq:is(.wp-block-group) { border-bottom: 1px solid var(--fb-color-line); }
.wp-block-details.is-style-fb-faq summary, .is-style-fb-faq .wp-block-details summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 56px; padding: .6rem 0; font-weight: 700; cursor: pointer; list-style: none; }
:is(.wp-block-details.is-style-fb-faq, .is-style-fb-faq .wp-block-details) summary::-webkit-details-marker { display: none; }
:is(.wp-block-details.is-style-fb-faq, .is-style-fb-faq .wp-block-details) summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--fb-color-surface); font-size: 1.2rem; font-weight: 600; }
:is(.wp-block-details.is-style-fb-faq, .is-style-fb-faq .wp-block-details)[open] summary::after { content: "–"; background: var(--fb-color-accent-soft); }
:is(.wp-block-details.is-style-fb-faq, .is-style-fb-faq .wp-block-details) > :not(summary) { margin: 0 0 var(--fb-space-3); color: var(--fb-color-text-2); }

/* data tables */
.wp-block-table { overflow-x: auto; margin-inline: 0; }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: var(--fb-fs-sm); }
.wp-block-table.is-style-fb-data { border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); }
.wp-block-table.is-style-fb-data th, .wp-block-table.is-style-fb-data td { padding: .65rem .8rem; border: 0; border-bottom: 1px solid var(--fb-color-line); text-align: left; vertical-align: top; }
.wp-block-table.is-style-fb-data thead th { background: var(--fb-color-surface); font-size: var(--fb-fs-xs); text-transform: uppercase; letter-spacing: .05em; color: var(--fb-color-text-2); border-bottom: 2px solid var(--fb-color-line-strong); }
.wp-block-table.is-style-fb-data tbody tr:last-child > * { border-bottom: 0; }
.wp-block-table.is-style-fb-data tbody th { font-weight: 700; }
.wp-block-table.is-style-fb-data td { white-space: nowrap; }
.wp-block-table.is-style-fb-data td:first-child, .wp-block-table.is-style-fb-data th:first-child { white-space: normal; min-width: 8rem; }
.wp-block-table figcaption, .wp-block-table .wp-element-caption { font-size: var(--fb-fs-xs); color: var(--fb-color-muted); padding: .5rem .8rem; margin: 0; }

/* calculator (block style fb-calc on core/group + small JS) */
.is-style-fb-calc { padding: var(--fb-space-4) var(--fb-space-3); border-radius: var(--fb-radius); background: var(--fb-color-ink); color: var(--fb-color-on-ink-2); }
.is-style-fb-calc > * { margin-block: 0; }
.is-style-fb-calc > * + * { margin-block-start: var(--fb-space-3); }
.is-style-fb-calc :is(h2, h3) { color: var(--fb-color-on-ink); font-size: var(--fb-fs-lg); margin: 0; }
.is-style-fb-calc a { color: var(--fb-color-accent-on-ink); }
.fb-calc form { display: grid; gap: var(--fb-space-3); }
.fb-calc label, .fb-calc legend { display: block; font-size: var(--fb-fs-sm); font-weight: 600; color: var(--fb-color-on-ink); margin-bottom: .35rem; }
.fb-calc input[type="text"], .fb-calc input[type="number"], .fb-calc select { width: 100%; min-height: 52px; padding: 0 .9rem; box-sizing: border-box; font: inherit; font-size: 1.25rem; font-family: var(--fb-font-mono); border: 2px solid transparent; border-radius: var(--fb-radius-sm); background: #fff; color: var(--fb-color-text); }
.fb-calc input:focus-visible, .fb-calc select:focus-visible { outline: 3px solid var(--fb-color-mark); outline-offset: 2px; }
.fb-calc fieldset { border: 0; margin: 0; padding: 0; }
.fb-calc .fb-calc__opts { display: flex; flex-wrap: wrap; gap: .5rem; }
.fb-calc .fb-calc__opts label { display: inline-flex; align-items: center; gap: .5rem; min-height: var(--fb-tap); padding: 0 .9rem; margin: 0; border: 1px solid rgba(255,255,255,.3); border-radius: var(--fb-radius-pill); cursor: pointer; font-weight: 600; }
.fb-calc .fb-calc__opts input { width: 1.1rem; height: 1.1rem; accent-color: var(--fb-color-mark); margin: 0; }
.fb-calc .fb-calc__opts label:has(input:checked) { background: rgba(255,255,255,.1); border-color: var(--fb-color-mark); }
.fb-calc .fb-calc__opts label:has(input:focus-visible) { outline: 3px solid var(--fb-color-mark); outline-offset: 2px; }
.fb-calc__result { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); margin: 0; }
.fb-calc__result > div { padding: .75rem .9rem; border-radius: var(--fb-radius-sm); background: rgba(255,255,255,.07); min-height: 4.25rem; box-sizing: border-box; }
.fb-calc__result dt { font-size: var(--fb-fs-xs); text-transform: uppercase; letter-spacing: .06em; color: var(--fb-color-on-ink-2); }
.fb-calc__result dd { margin: .2rem 0 0; font-family: var(--fb-font-mono); font-size: 1.25rem; font-weight: 700; color: var(--fb-color-on-ink); white-space: nowrap; }
.fb-calc__result > div:last-child { background: var(--fb-color-mark); }
.fb-calc__result > div:last-child :is(dt, dd) { color: var(--fb-color-text); }
.fb-calc__note { font-size: var(--fb-fs-xs); }
@media (min-width: 40em) { .fb-calc form { grid-template-columns: 1fr 1fr; } .fb-calc form > .fb-calc__wide { grid-column: 1 / -1; } }

/* end-of-article */
.fb-ymyl { padding: var(--fb-space-3); border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); }
.fb-authorbox { display: grid; gap: var(--fb-space-3); padding: var(--fb-space-4) 0; border-top: 3px solid var(--fb-color-text); }
.fb-authorbox__item { display: flex; gap: var(--fb-space-3); align-items: flex-start; }
.fb-authorbox__item p { margin: 0; }
.fb-authorbox__label { font-size: var(--fb-fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--fb-color-muted); }
.fb-authorbox__name { font-weight: 750; font-size: var(--fb-fs-md); }
.fb-authorbox__name a { color: var(--fb-color-text); display: inline-flex; min-height: var(--fb-tap); align-items: center; }
.fb-authorbox__role { font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); font-weight: 600; }
.fb-authorbox__bio { font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); margin-top: .35rem !important; }
@media (min-width: 48em) { .fb-authorbox:has(.fb-authorbox__item + .fb-authorbox__item) { grid-template-columns: 1fr 1fr; } }
.fb-related { margin-top: var(--fb-space-5); padding-top: var(--fb-space-4); border-top: 1px solid var(--fb-color-line); }

/* pages */
.fb-pagehead { padding-block: var(--fb-space-4) var(--fb-space-2); }
.fb-pagehead > * { max-width: var(--fb-measure); }
.fb-page > .fb-prose, .fb-page > .fb-toc { max-width: var(--fb-measure); }
.fb-page > * + * { margin-block-start: var(--fb-space-4); }
.fb-page--wide > .fb-prose, .fb-page--hub > .fb-prose { max-width: none; }
.fb-page--wide > .fb-prose > *, .fb-page--hub > .fb-prose > * { max-width: 48rem; }
.fb-page--wide > .fb-prose > :is(.fb-toplist, .fb-offers, .fb-methods, .wp-block-table), .fb-page--hub > .fb-prose > :is(.fb-toplist, .fb-offers, .fb-methods, .wp-block-table) { max-width: none; }
.fb-page--legal .fb-prose { font-size: 1rem; }
.fb-page--legal .fb-prose > h2 { font-size: var(--fb-fs-lg); }
.fb-band--page .fb-band__inner > * + * { margin-block-start: 0; }
.fb-band--page .fb-page__title { margin-bottom: 0; }
.fb-band--page .fb-eeat { margin-top: var(--fb-space-4); }
.fb-wrap > section { margin-top: var(--fb-space-5); }
.fb-page__content { box-sizing: border-box; max-width: 60rem; margin-inline: auto; padding-inline: var(--fb-gutter); }

/* ---------- comparison + offer components (same tokens) ---------- */
.fb-disclosure { font-size: var(--fb-fs-xs); color: var(--fb-color-text-2); padding: .5rem .75rem; background: var(--fb-color-surface); border-radius: var(--fb-radius-sm); }
.fb-disclosure::before { content: "i"; display: inline-grid; place-items: center; width: 1.1rem; height: 1.1rem; margin-right: .45rem; border-radius: 50%; background: var(--fb-color-text-2); color: #fff; font-weight: 800; font-size: .7rem; font-style: italic; vertical-align: .05em; }
.fb-rgnote { display: flex; align-items: center; gap: .75rem; padding: .75rem .9rem; border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); }
.fb-rgnote__badge { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--fb-color-ink); color: var(--fb-color-mark); font-weight: 800; font-size: .85rem; }
.fb-cta { background: var(--fb-color-mark); color: var(--fb-color-text); white-space: nowrap; }
.fb-cta:hover { background: #f2c200; color: var(--fb-color-text); }
.fb-cta::after { content: "↗"; font-weight: 700; }
.fb-score { display: inline-grid; grid-template-columns: auto auto; align-items: baseline; column-gap: .2rem; }
.fb-score__num { font-size: 1.35rem; font-weight: 800; line-height: 1; }
.fb-score__max { font-size: var(--fb-fs-xs); color: var(--fb-color-muted); font-weight: 600; }
.fb-score__bar { grid-column: 1 / -1; width: 5.5rem; height: 6px; margin-top: .3rem; border-radius: 3px; background: linear-gradient(90deg, var(--fb-color-accent) var(--fb-score), var(--fb-color-surface-2) var(--fb-score)); }
.fb-score--none { font-size: var(--fb-fs-sm); color: var(--fb-color-muted); font-weight: 600; }

/* toplist: real table on wide screens, stacked cards below 48em */
.fb-toplist { margin-block: var(--fb-space-4); }
.fb-toplist__table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--fb-fs-sm); }
.fb-toplist__table caption { text-align: left; font-weight: 700; padding-bottom: .6rem; font-size: var(--fb-fs-base); }
.fb-toplist__table thead th { text-align: left; font-size: var(--fb-fs-xs); text-transform: uppercase; letter-spacing: .05em; color: var(--fb-color-text-2); padding: .6rem .75rem; background: var(--fb-color-surface); }
.fb-toplist__table td, .fb-toplist__table tbody th { padding: .9rem .75rem; border-bottom: 1px solid var(--fb-color-line); vertical-align: middle; text-align: left; }
.fb-toplist__rank { font-weight: 800; font-size: var(--fb-fs-md); color: var(--fb-color-muted); width: 2.5rem; }
.fb-toplist__name a { font-weight: 750; font-size: var(--fb-fs-base); color: var(--fb-color-text); display: inline-flex; min-height: var(--fb-tap); align-items: center; }
.fb-toplist__lic { display: block; font-weight: 500; font-size: var(--fb-fs-xs); color: var(--fb-color-muted); }
.fb-toplist__act { text-align: right !important; white-space: nowrap; }
.fb-toplist__act .fb-link-sm { margin-left: .75rem; }
.fb-toplist__note { font-size: var(--fb-fs-xs); color: var(--fb-color-muted); margin: .6rem 0 0; }
@media (max-width: 47.99em) {
  .fb-toplist__table, .fb-toplist__table tbody { display: block; }
  .fb-toplist__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .fb-toplist__table tr { display: grid; grid-template-columns: auto 1fr auto; gap: .25rem .75rem; align-items: center; padding: var(--fb-space-3); margin-bottom: var(--fb-space-3); border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); }
  .fb-toplist__table td, .fb-toplist__table tbody th { display: block; padding: 0; border: 0; }
  .fb-toplist__rank { grid-column: 1; grid-row: 1; width: auto; }
  .fb-toplist__name { grid-column: 2; grid-row: 1; }
  .fb-toplist__table td[data-label="Hodnotenie"] { grid-column: 3; grid-row: 1; }
  .fb-toplist__table td[data-label="Bonus"], .fb-toplist__table td[data-label="Min. vklad"], .fb-toplist__table td[data-label="Výplata"] { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 1rem; padding-block: .4rem; border-top: 1px solid var(--fb-color-line); }
  .fb-toplist__table td[data-label="Bonus"]::before, .fb-toplist__table td[data-label="Min. vklad"]::before, .fb-toplist__table td[data-label="Výplata"]::before { content: attr(data-label); color: var(--fb-color-muted); font-size: var(--fb-fs-xs); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
  .fb-toplist__table td[data-label="Bonus"] { font-weight: 700; }
  .fb-toplist__act { grid-column: 1 / -1; display: flex !important; align-items: center; justify-content: space-between; margin-top: .4rem; }
  .fb-toplist__act .fb-cta { flex: 1; }
}

/* offer cards + fact lists */
.fb-offers { display: grid; gap: var(--fb-space-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); margin-block: var(--fb-space-4); }
.fb-offer { display: flex; flex-direction: column; gap: .6rem; padding: var(--fb-space-3); border: 1px solid var(--fb-color-line); border-top: 4px solid var(--fb-color-mark); border-radius: var(--fb-radius); }
.fb-offer > * { margin: 0 !important; }
.fb-offer__brand { font-weight: 700; font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); }
.fb-offer__bonus { font-size: var(--fb-fs-lg); font-weight: 800; line-height: 1.25; letter-spacing: -.01em; }
.fb-offer__act { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto !important; }
.fb-offer__terms { font-size: var(--fb-fs-xs); color: var(--fb-color-muted); }
.fb-facts { margin: 0; display: grid; gap: 0; font-size: var(--fb-fs-sm); }
.fb-facts > div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-top: 1px solid var(--fb-color-line); }
.fb-facts dt { color: var(--fb-color-muted); }
.fb-facts dd { margin: 0; font-weight: 700; text-align: right; }
.fb-facts--grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); column-gap: var(--fb-space-4); }

/* rating box (review) */
.fb-rating { border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); overflow: hidden; }
.fb-rating > * { margin: 0; }
.fb-rating__top { display: flex; align-items: center; justify-content: space-between; gap: var(--fb-space-3); padding: var(--fb-space-3); background: var(--fb-color-ink); color: var(--fb-color-on-ink); }
.fb-rating__title { margin: 0; font-size: var(--fb-fs-md); color: var(--fb-color-on-ink); }
.fb-rating__top .fb-score__num { font-size: 2rem; color: var(--fb-color-mark); }
.fb-rating__top .fb-score__max { color: var(--fb-color-on-ink-2); }
.fb-rating__top .fb-score__bar { background: linear-gradient(90deg, var(--fb-color-mark) var(--fb-score), rgba(255,255,255,.18) var(--fb-score)); }
.fb-rating__top .fb-score--none { color: var(--fb-color-on-ink-2); }
.fb-rating .fb-facts { padding: var(--fb-space-2) var(--fb-space-3); }
.fb-rating .fb-facts a { display: inline-block; padding-block: .6rem; margin-block: -.6rem; }
.fb-proscons { display: grid; gap: var(--fb-space-3); padding: 0 var(--fb-space-3) var(--fb-space-3); }
.fb-proscons h3 { font-size: var(--fb-fs-sm); margin: 0 0 .4rem; text-transform: uppercase; letter-spacing: .06em; }
.fb-proscons ul { list-style: none; margin: 0; padding: 0; font-size: var(--fb-fs-sm); }
.fb-proscons li { position: relative; padding-left: 1.5rem; margin-top: .35rem; }
.fb-proscons__col--pro li::before { content: "+"; position: absolute; left: 0; font-weight: 800; color: var(--fb-color-accent); }
.fb-proscons__col--con li::before { content: "–"; position: absolute; left: 0; font-weight: 800; color: var(--fb-color-risk-text); }
.fb-proscons__col--pro h3 { color: var(--fb-color-accent-strong); } .fb-proscons__col--con h3 { color: var(--fb-color-risk-text); }
@media (min-width: 40em) { .fb-proscons { grid-template-columns: 1fr 1fr; } }
.fb-rating__foot { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; padding: var(--fb-space-3); background: var(--fb-color-surface); }
.fb-rating__terms { margin: 0; font-size: var(--fb-fs-xs); color: var(--fb-color-muted); }
.fb-main--review .fb-article__body > .fb-disclosure { margin-top: 0; }

/* section tiles (overview) + payment method cards */
.fb-tiles { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); }
.fb-tile { display: flex; align-items: center; justify-content: space-between; min-height: 56px; padding: 0 var(--fb-space-3); border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); color: var(--fb-color-text); font-weight: 700; text-decoration: none; }
.fb-tile::after { content: "→"; color: var(--fb-color-accent); }
.fb-tile:hover { border-color: var(--fb-color-accent); color: var(--fb-color-accent-strong); }
.fb-methods { display: grid; gap: var(--fb-space-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.fb-method { padding: var(--fb-space-3); border: 1px solid var(--fb-color-line); border-radius: var(--fb-radius); }
.fb-method > * { margin: 0; }
.fb-method h3 { font-size: var(--fb-fs-md); margin-bottom: .5rem; }
.fb-method a { display: inline-flex; align-items: center; min-height: var(--fb-tap); font-weight: 600; font-size: var(--fb-fs-sm); }

/* ---------- v1.1 tints, hero, bands (both installs; values in tokens.css) ---------- */
body { background: var(--fb-color-bg); }
.fb-site-header { background: var(--fb-color-paper); }
/* full-bleed zones: alternate band / base / paper for page rhythm */
.fb-zone { margin: 0; }
.fb-zone--band { background: var(--fb-color-band); border-block: 1px solid var(--fb-color-band-line); }
.fb-zone--base { background: var(--fb-color-bg); }
.fb-zone--paper { background: var(--fb-color-paper); border-bottom: 1px solid var(--fb-color-line); }
.fb-zone > .fb-wrap { padding-block: var(--fb-space-5); }
.fb-zone > .fb-wrap > section:first-child { margin-top: 0; }
.fb-zone .fb-newsstrip { margin-block: 0; padding-block: var(--fb-space-4); }
/* cards are paper on tints; the lead card gets a soft mint wash instead of grey */
.fb-card { background: var(--fb-color-paper); }
.fb-pillar .fb-card--lead, .fb-feature .fb-card--lead { background: var(--fb-color-paper); border-color: var(--fb-color-band-line); box-shadow: var(--fb-shadow); }
.fb-card--compact { background: transparent; border-color: var(--fb-color-band-line); }
.fb-zone--band .fb-pillar__head, .fb-zone--base .fb-pillar__head { border-top-width: 4px; }
/* hero: soft mesh gradient + blob shapes, CSS only (no images, no layout shift) */
.fb-hero { position: relative; background: var(--fb-hero-mesh), var(--fb-color-bg); border-bottom: 1px solid var(--fb-color-band-line); overflow: hidden; isolation: isolate; }
.fb-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--fb-hero-blobs); pointer-events: none; }
.fb-hero .fb-intro { padding-block: var(--fb-space-6) var(--fb-space-5); }
.fb-trust li { background: var(--fb-color-paper); border: 1px solid var(--fb-color-band-line); }
/* dark bands (pillar head, hub head, overview front): solid ink + soft glow */
.fb-band { background: var(--fb-ink-glow), var(--fb-color-ink); margin-bottom: 0; }
.fb-main--archive .fb-band + .fb-wrap { padding-top: var(--fb-space-4); }
/* calm reading areas: article + pages + reviews sit on white paper */
.fb-main--single, .fb-main--page { background: var(--fb-color-paper); }
.fb-main--page.fb-main--hub .fb-page, .fb-main--page .fb-page { padding-top: var(--fb-space-4); }
.fb-main--single .fb-toc--inline { background: var(--fb-color-bg); border-color: var(--fb-color-band-line); }
.fb-main--single .fb-related { max-width: none; background: var(--fb-color-band); border-top: 1px solid var(--fb-color-band-line); margin-top: var(--fb-space-5); padding-block: var(--fb-space-5); padding-inline: max(var(--fb-gutter), calc((100% - var(--fb-wide)) / 2 + var(--fb-gutter))); }
.fb-main--single, .fb-main--page { padding-block-end: 0; }
.fb-main--single .fb-article, .fb-main--page .fb-page { padding-bottom: var(--fb-space-5); }
/* author / search / 404 heads get the dotted wash too */
.fb-authorhead, .fb-searchhead, .fb-404 { position: relative; }
.fb-main--author, .fb-main--search, .fb-main--404 { background: var(--fb-hero-mesh), var(--fb-color-bg); background-repeat: no-repeat; background-size: 100% 36rem, 100% 36rem, 100% 36rem, auto; }
.fb-empty { background: var(--fb-color-paper); border: 1px solid var(--fb-color-band-line); }
/* footer: solid ink with a very soft top-down gradient */
.fb-site-footer { background: var(--fb-ink-soft); }

/* ---------- v1.2 homepage pillar grid: one shared grid, rows aligned across paired columns ---------- */
.fb-pillars { --fb-pgap: var(--fb-space-4); gap: var(--fb-space-5) var(--fb-pgap); }
.fb-pillar { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto repeat(3, auto); align-content: start; row-gap: 0; }
.fb-pillar__head { margin: 0 0 var(--fb-space-3); }
.fb-pillar .fb-card--lead { margin: 0 0 var(--fb-space-2); padding: var(--fb-space-3); }
.fb-pillar .fb-card--lead .fb-card__title { -webkit-line-clamp: 3; }
.fb-pillar .fb-card__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.fb-pillar .fb-card__excerpt { -webkit-line-clamp: 2; }
.fb-pillar .fb-card--compact { padding: var(--fb-space-3) 0; margin: 0; }
.fb-pillar .fb-card__title a::after { z-index: 1; }
@media (min-width: 48em) {
  /* paired pillars: each section spans 5 shared rows (head, lead, 3 items) via subgrid */
  .fb-pillars:not(.fb-pillars--solo) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto repeat(3, auto); align-items: stretch; }
  .fb-pillars:not(.fb-pillars--solo) > .fb-pillar { grid-row: span 5; grid-template-rows: subgrid; }
  .fb-pillars:not(.fb-pillars--solo) .fb-card--lead { align-self: stretch; }
  /* solo (first) pillar: lead left, list right, same tokens */
  .fb-pillars--solo > .fb-pillar { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); grid-template-rows: auto repeat(3, auto); column-gap: var(--fb-pgap); }
  .fb-pillars--solo .fb-pillar__head { grid-column: 1 / -1; }
  .fb-pillars--solo .fb-card--lead { grid-column: 1; grid-row: 2 / span 3; margin: 0; }
  .fb-pillars--solo .fb-card--compact { grid-column: 2; }
  .fb-pillars--solo .fb-card--lead + .fb-card--compact { padding-top: 0; }
}
@media (min-width: 64em) { .fb-search-btn { position: relative; } .fb-search-btn::before { content: ""; position: absolute; inset: -4px 0; } }

/* ---------- v1.4 footer: even link column/row aligned to the logo axis ---------- */
.fb-footer__grid { display: grid; gap: var(--fb-space-4); align-items: start; }
.fb-footer__about .fb-logo { vertical-align: top; }
.fb-footer__about p { margin: var(--fb-space-2) 0 0; }
.fb-nav--footer .fb-nav__list { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
.fb-nav--footer li { margin: 0; }
.fb-nav--footer .fb-nav__link { display: flex; align-items: center; min-height: var(--fb-tap); padding: 0; line-height: 1.3; }
@media (min-width: 48em) {
  .fb-footer__grid { grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--fb-space-5); }
  .fb-nav--footer .fb-nav__list { flex-direction: row; flex-wrap: wrap; column-gap: var(--fb-space-5); justify-content: flex-end; }
}

/* ===================== v2 refresh: modern, calm, fewer lines (overrides above; values from tokens.css) ===================== */
@media (prefers-reduced-motion: no-preference) {
  .fb-card, .fb-tile, .fb-chips a, .fb-iconbtn, .fb-nav__link, .fb-cta, .fb-search button, .wp-block-button__link, .fb-more::after { transition: transform var(--fb-dur) var(--fb-ease), box-shadow var(--fb-dur) var(--fb-ease), background-color var(--fb-dur) var(--fb-ease), color var(--fb-dur) var(--fb-ease), opacity var(--fb-dur) var(--fb-ease); }
  .fb-card:hover { transform: translateY(-2px); }
  .fb-more:hover::after { transform: translateX(3px); }
  .fb-cta:hover, .fb-search button:hover { transform: translateY(-1px); }
}
:focus-visible { outline-offset: 3px; border-radius: 6px; }
:where(.wp-site-blocks) :where(h1, h2) { letter-spacing: var(--fb-ls-head); line-height: var(--fb-lh-tight); }

/* cards: borderless editorial items; surfaces only where they help */
.fb-card { border: 0; padding: 0; background: transparent; border-radius: var(--fb-radius); }
.fb-card:hover { box-shadow: none; border-color: transparent; }
.fb-card__media { margin: 0 0 var(--fb-space-3); border-radius: var(--fb-radius); }
.fb-card__title { font-size: var(--fb-fs-md); letter-spacing: -.012em; }
.fb-card__title a:hover { text-decoration: none; color: var(--fb-color-accent-strong); }
.fb-card__meta { padding-top: .5rem; }
.fb-grid { gap: var(--fb-space-5) var(--fb-space-4); }
.fb-pillar .fb-card--lead, .fb-feature .fb-card--lead { background: var(--fb-color-paper); border: 0; border-radius: var(--fb-radius-lg); padding: var(--fb-space-4); box-shadow: var(--fb-shadow); }
.fb-pillar .fb-card--lead:hover, .fb-feature .fb-card--lead:hover { box-shadow: var(--fb-shadow-hover); }
.fb-card--compact { border: 0; padding: var(--fb-space-3) 0; }
.fb-card--compact:hover { transform: none; }
.fb-pillar__head, .fb-newsstrip__head { border-top: 0; padding-top: 0; }
.fb-pillar__title::before { content: ""; display: inline-block; width: .7rem; height: .7rem; margin-right: .6rem; border-radius: 4px; background: var(--fb-k, var(--fb-color-accent)); vertical-align: .08em; }
.fb-zone--band { border-block: 0; }
.fb-zone--paper { border-bottom: 0; }
.fb-newsitem { border-bottom: 0; padding-block: .6rem; }

/* archive (pillar/category, author, search): one container, quiet head on mint tint, no boxes */
.fb-archhead { background: linear-gradient(180deg, var(--fb-color-band) 0%, var(--fb-color-bg) 100%); }
.fb-archhead .fb-band__inner { padding-block: var(--fb-space-6) var(--fb-space-4); }
.fb-archhead .fb-band__eyebrow { color: var(--fb-color-accent-strong); }
.fb-archhead .fb-band__title { color: var(--fb-color-text); font-size: var(--fb-fs-3xl); margin: 0; max-width: 20ch; }
.fb-archhead .fb-band__lede { color: var(--fb-color-text-2); max-width: var(--fb-read); margin: var(--fb-space-3) 0 0; font-size: var(--fb-fs-md); }
.fb-archhead .fb-band__meta { color: var(--fb-color-muted); font-size: var(--fb-fs-sm); margin: var(--fb-space-2) 0 0; }
.fb-main--archive .fb-wrap { padding-top: var(--fb-space-4); }
.fb-main--archive .fb-feature { margin: 0 0 var(--fb-space-5); }
.fb-main--archive .fb-feature .fb-card--lead { background: transparent; box-shadow: none; padding: 0; }
.fb-main--archive .fb-feature .fb-card__title { font-size: var(--fb-fs-2xl); line-height: 1.1; max-width: 24ch; }
.fb-main--archive .fb-feature .fb-card__excerpt { font-size: var(--fb-fs-md); -webkit-line-clamp: 3; max-width: var(--fb-read); }
.fb-main--archive .fb-feature .fb-card__media { aspect-ratio: 21 / 9; }
.fb-grid--list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.fb-grid--list .fb-card__title { -webkit-line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.fb-grid--list .fb-card__excerpt { -webkit-line-clamp: 2; }
.fb-pagination a, .fb-pagination span { border: 0; background: var(--fb-color-paper); border-radius: var(--fb-radius-pill); }
.fb-authorhead { border-bottom: 0; }

/* single + pages: calm reading column, quiet byline, light components */
.fb-article-head { padding-block: var(--fb-space-5) var(--fb-space-3); }
.fb-article-head > *, .fb-article__body, .fb-pagehead > *, .fb-page > .fb-prose, .fb-page > .fb-toc { max-width: var(--fb-read); }
.fb-main--single .fb-kicker { display: none; }
.fb-article__title, .fb-page__title { font-size: var(--fb-fs-3xl); line-height: 1.08; letter-spacing: -.025em; }
.fb-lede { font-size: var(--fb-fs-md); color: var(--fb-color-text-2); }
.fb-eeat { border: 0; padding: var(--fb-space-2) 0 0; gap: var(--fb-space-2) var(--fb-space-4); font-size: var(--fb-fs-sm); }
.fb-eeat .fb-avatar { --fb-av: 36px; width: 36px; height: 36px; }
.fb-eeat__label { display: inline; font-size: inherit; font-weight: 400; color: var(--fb-color-muted); }
.fb-eeat__role { display: none; }
.fb-eeat__person a { font-weight: 600; }
.fb-eeat__date, .fb-band .fb-eeat__date { background: none; padding: 0; color: var(--fb-color-muted); margin-left: 0; }
.fb-eeat__date time { font-weight: 500; color: var(--fb-color-text-2); }
.fb-band .fb-eeat__date, .fb-band .fb-eeat__date time { color: var(--fb-color-on-ink-2); }
.fb-crumbs { margin-bottom: var(--fb-space-3); }
.fb-article { gap: var(--fb-space-6); }
@media (min-width: 72em) { .fb-article:has(.fb-toc--side) { grid-template-columns: minmax(0, var(--fb-read)) minmax(13rem, 16rem); justify-content: start; } }
.fb-toc--side { border-left: 0; padding-left: 0; }
.fb-toc__list a { border-top: 0; padding: .45rem 0; }
.fb-toc--inline, .fb-main--single .fb-toc--inline { border: 0; background: var(--fb-color-bg); border-radius: var(--fb-radius); }
.fb-prose { font-size: 1.125rem; line-height: 1.7; }
.fb-prose > h2 { font-size: var(--fb-fs-xl); margin-block-start: 2.4em; }
.is-style-fb-tip, .is-style-fb-warning, .is-style-fb-risk, .is-style-fb-note, .is-style-fb-sources, .is-style-fb-keyfacts, .is-style-fb-updated { border-left: 0; padding: var(--fb-space-3) var(--fb-space-4); border-radius: var(--fb-radius); font-size: var(--fb-fs-sm); }
.is-style-fb-sources, .is-style-fb-note { background: var(--fb-color-bg); }
.is-style-fb-keyfacts { background: var(--fb-color-band); }
p.fb-updated { border-left: 0; border-radius: var(--fb-radius-sm); }
.wp-block-details.is-style-fb-faq, .is-style-fb-faq .wp-block-details { border-top: 0; background: var(--fb-color-bg); border-radius: var(--fb-radius); padding: 0 var(--fb-space-3); margin-top: .5rem; }
.is-style-fb-faq:is(.wp-block-group) { border-bottom: 0; }
.wp-block-table.is-style-fb-data { border: 0; background: var(--fb-color-bg); border-radius: var(--fb-radius); }
.wp-block-table.is-style-fb-data th, .wp-block-table.is-style-fb-data td { border-bottom-color: rgba(20, 24, 31, .07); }
.wp-block-table.is-style-fb-data thead th { background: transparent; border-bottom: 1px solid var(--fb-color-line); }
.fb-ymyl { border: 0; background: var(--fb-color-bg); border-radius: var(--fb-radius); }
.fb-authorbox { border-top: 0; padding: var(--fb-space-4); background: var(--fb-color-bg); border-radius: var(--fb-radius-lg); }
.fb-main--single .fb-related { border-top: 0; }
.fb-main--single .fb-related .fb-card { background: var(--fb-color-paper); padding: var(--fb-space-3); border-radius: var(--fb-radius); }
.fb-page--legal .fb-prose { font-size: 1.0625rem; }

/* casino components follow the same surfaces */
.fb-rating, .fb-offer, .fb-method, .fb-tile, .fb-rgnote { border: 0; background: var(--fb-color-paper); box-shadow: var(--fb-shadow); border-radius: var(--fb-radius-lg); }
.fb-offer { border-top: 0; }
.fb-toplist__table td, .fb-toplist__table tbody th { border-bottom-color: rgba(20, 24, 31, .07); }
.fb-toplist__table thead th { background: transparent; border-bottom: 1px solid var(--fb-color-line); }
@media (max-width: 47.99em) { .fb-toplist__table tr { border: 0; background: var(--fb-color-paper); box-shadow: var(--fb-shadow); border-radius: var(--fb-radius-lg); } }

/* mobile refinements */
@media (max-width: 40em) {
  .fb-article__title, .fb-page__title, .fb-archhead .fb-band__title { font-size: clamp(1.875rem, 1.3rem + 3vw, 2.4rem); }
  .fb-prose { font-size: 1.0625rem; }
  .fb-main--archive .fb-feature .fb-card__title { font-size: var(--fb-fs-xl); }
}
.fb-chips--hero { margin-top: var(--fb-space-4); gap: .625rem; }
.fb-chips--hero a { background: var(--fb-color-paper); border-color: transparent; box-shadow: var(--fb-shadow); padding: 0 1.125rem; }
.fb-chips--hero a:hover { color: var(--fb-color-accent-strong); box-shadow: var(--fb-shadow-hover); }
@media (prefers-reduced-motion: no-preference) { .fb-chips--hero a:hover { transform: translateY(-1px); } }
.fb-intro__title { font-size: var(--fb-fs-3xl); max-width: 16ch; }

/* ===================== v2.1: one-row byline, calm tables, icons, image-led cards ===================== */
.fb-ic { flex: none; display: inline-block; vertical-align: middle; }
.fb-chips--hero a { gap: .5rem; }
.fb-chips--hero .fb-ic { color: var(--fb-color-accent-strong); }
.fb-more::after { content: ""; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--fb-ic-arrow) center / contain no-repeat; mask: var(--fb-ic-arrow) center / contain no-repeat; }

/* byline: avatars + one line of small text */
.fb-eeat { flex-wrap: nowrap; gap: .75rem; align-items: center; color: var(--fb-color-text-2); }
.fb-eeat__avatars { display: inline-flex; flex: none; }
.fb-eeat__avatars .fb-avatar { box-shadow: 0 0 0 2px var(--fb-color-paper); }
.fb-eeat__avatars .fb-avatar + .fb-avatar { margin-left: -10px; }
.fb-eeat__line { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .5rem; row-gap: .15rem; margin: 0; }
.fb-eeat__item { white-space: nowrap; }
.fb-eeat__item a { font-weight: 600; color: var(--fb-color-text); }
.fb-eeat__sep { color: var(--fb-color-muted); }
.fb-eeat__date { font-size: inherit; }
.fb-band .fb-eeat__avatars .fb-avatar { box-shadow: 0 0 0 2px var(--fb-color-ink, #17181b); }
.fb-band .fb-eeat__item a { color: var(--fb-color-on-ink); }
@media (max-width: 30em) { .fb-eeat { align-items: flex-start; } .fb-eeat__item { white-space: normal; } }

/* tables: every core table (styled or not) gets light rows, no grid lines, scrolls on small screens */
.fb-prose .wp-block-table, .fb-page .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--fb-color-paper); border-radius: var(--fb-radius); box-shadow: inset 0 0 0 1px rgba(20, 24, 31, .06); margin-block: var(--fb-space-4); }
.fb-prose .wp-block-table table, .fb-page .wp-block-table table { border: 0; min-width: 32rem; }
.fb-prose .wp-block-table :is(th, td), .fb-page .wp-block-table :is(th, td) { border: 0; border-bottom: 1px solid rgba(20, 24, 31, .07); padding: .75rem 1rem; text-align: left; vertical-align: top; }
.fb-prose .wp-block-table thead :is(th, td), .fb-page .wp-block-table thead :is(th, td) { border-bottom: 1px solid var(--fb-color-line); font-size: var(--fb-fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--fb-color-text-2); background: transparent; }
.fb-prose .wp-block-table tbody tr:last-child > *, .fb-page .wp-block-table tbody tr:last-child > * { border-bottom: 0; }
.fb-prose .wp-block-table tbody tr:nth-child(even), .fb-page .wp-block-table tbody tr:nth-child(even) { background: rgba(60, 45, 20, .03); }
.fb-prose .wp-block-table:focus-visible { outline: 3px solid var(--fb-color-focus, #0a7262); outline-offset: 2px; }
@media (min-width: 48em) { .fb-prose .wp-block-table table, .fb-page .wp-block-table table { min-width: 0; } }

/* soft component icons */
.is-style-fb-tip, .is-style-fb-warning, .is-style-fb-risk, .is-style-fb-sources { position: relative; padding-left: 3.25rem; }
.is-style-fb-tip > :first-child::before, .is-style-fb-warning > :first-child::before { content: none; }
.is-style-fb-tip::before, .is-style-fb-warning::before, .is-style-fb-risk::before, .is-style-fb-sources::before { content: ""; position: absolute; left: 1.1rem; top: 1.05rem; width: 1.25rem; height: 1.25rem; background: currentColor; -webkit-mask: var(--fb-ic-bulb) center / contain no-repeat; mask: var(--fb-ic-bulb) center / contain no-repeat; }
.is-style-fb-tip::before { color: var(--fb-color-tip-line, var(--fb-color-accent-strong)); }
.is-style-fb-warning::before, .is-style-fb-risk::before { -webkit-mask-image: var(--fb-ic-alert); mask-image: var(--fb-ic-alert); color: var(--fb-color-warn-line, #9a5b00); }
.is-style-fb-sources::before { -webkit-mask-image: var(--fb-ic-book); mask-image: var(--fb-ic-book); color: var(--fb-color-muted); }

/* image-led cards: media only when a featured image exists, so no empty boxes */
.fb-card--media .fb-card__media { aspect-ratio: 16 / 10; background: var(--fb-color-band); }
.fb-card--media .fb-card__media img { transition: transform 200ms var(--fb-ease); }
@media (prefers-reduced-motion: no-preference) { .fb-card--media:hover .fb-card__media img { transform: scale(1.03); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0ms !important; animation-duration: 0ms !important; } }

/* empty states and page templates: no box, reads as part of the page */
.fb-empty { border: 0; background: transparent; padding: 0; box-shadow: none; }
.fb-empty > p { font-size: var(--fb-fs-md); color: var(--fb-color-text-2); margin: 0 0 var(--fb-space-3); }
.fb-pagehead { padding-block: var(--fb-space-6) var(--fb-space-3); }
.fb-page > .fb-prose { padding-bottom: var(--fb-space-6); }

/* casino surfaces on the same refresh */
.fb-band--page { background: linear-gradient(180deg, var(--fb-color-band) 0%, var(--fb-color-bg) 100%); color: var(--fb-color-text); }
.fb-band--page .fb-page__title { color: var(--fb-color-text); max-width: 22ch; }
.fb-band--page .fb-band__eyebrow { color: var(--fb-color-accent-strong); }
.fb-band--page .fb-lede { color: var(--fb-color-text-2); }
.fb-band--page .fb-eeat, .fb-band--page .fb-eeat__item a { color: var(--fb-color-text); }
.fb-band--page .fb-eeat__date, .fb-band--page .fb-eeat__date time, .fb-band--page .fb-crumbs .last { color: var(--fb-color-text-2); }
.fb-band--page .fb-crumbs a { color: var(--fb-color-text-2); }
.fb-band--page .fb-eeat__avatars .fb-avatar { box-shadow: 0 0 0 2px var(--fb-color-paper); }
.fb-tile { border: 0; background: var(--fb-color-paper); box-shadow: var(--fb-shadow); border-radius: var(--fb-radius); }
.fb-tile:hover { box-shadow: var(--fb-shadow-hover); }
@media (prefers-reduced-motion: no-preference) { .fb-tile:hover { transform: translateY(-2px); } }
.fb-score { border-radius: var(--fb-radius-sm); }
.fb-proscons > * { border: 0; background: var(--fb-color-bg); border-radius: var(--fb-radius); }
.fb-rgnote { box-shadow: none; background: var(--fb-color-bg); }
.fb-band--page a:not(.fb-cta):not(.wp-block-button__link) { color: var(--fb-color-accent-strong); }

/* hero v2.2: smaller balanced H1, optional 55/45 visual */
.fb-intro__title { font-size: clamp(2.4rem, 1.6rem + 2.4vw, 3.2rem); text-wrap: balance; max-width: 18ch; overflow-wrap: normal; hyphens: manual; }
@media (max-width: 22.5em) { .fb-intro__title { font-size: 2.05rem; } }
.fb-intro__lede { text-wrap: pretty; max-width: 46ch; }
.fb-intro__visual { margin-top: var(--fb-space-4); border-radius: var(--fb-radius-lg); overflow: hidden; background: var(--fb-color-band); aspect-ratio: 16 / 9 !important; }
.fb-intro__visual picture, .fb-intro__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 22.49em) { .fb-intro__visual { display: none; } }
@media (min-width: 64em) {
  .fb-hero--media .fb-intro { display: grid; grid-template-columns: 55fr 45fr; gap: var(--fb-space-5); align-items: center; }
  .fb-hero--media .fb-intro__visual { margin-top: 0; aspect-ratio: auto !important; }
  .fb-hero--media .fb-intro__visual img { height: auto; }
}

/* casino footer RG block v2: compact, same left edge as logo/tagline/disclosure */
.fb-rg { display: grid; gap: .75rem var(--fb-space-5); padding: var(--fb-space-4) 0; margin: var(--fb-space-4) 0 0; border: 0; border-top: 1px solid rgba(255,255,255,.12); border-radius: 0; background: none; align-items: start; }
.fb-rg__head { display: flex; align-items: center; gap: .75rem; }
.fb-rg__badge { width: 32px; height: 32px; font-size: .75rem; font-weight: 800; margin: 0; }
.fb-rg__h { font-size: var(--fb-fs-base, 1rem); font-weight: 700; line-height: 1.3; margin: 0; letter-spacing: 0; }
.fb-rg__text { margin: 0; font-size: var(--fb-fs-sm); color: var(--fb-color-on-ink-2); max-width: 60ch; }
.fb-rg__lines { display: grid; gap: .25rem; margin: 0; font-size: var(--fb-fs-sm); }
.fb-rg__lines > div { display: grid; grid-template-columns: minmax(0, 15rem) 1fr; gap: 0 1rem; align-items: center; }
.fb-rg__lines dt { color: var(--fb-color-on-ink); font-weight: 700; }
.fb-rg__lines dd { margin: 0; color: var(--fb-color-on-ink-2); }
.fb-rg__lines a { color: var(--fb-color-on-ink); font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 64em) { .fb-rg { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); } .fb-rg__head { grid-column: 1 / -1; } .fb-rg__lines a { min-height: 32px; } }
@media (max-width: 40em) { .fb-rg__lines > div { grid-template-columns: 1fr; } }
/* hero visual blends into the mint gradient: multiply removes the light backdrop, a radial mask fades the edges */
.fb-intro__visual { aspect-ratio: auto !important; background: none; border-radius: 0; overflow: visible; margin: var(--fb-space-3) auto 0; max-width: 22rem; }
.fb-intro__visual img { height: auto; mix-blend-mode: multiply; -webkit-mask-image: radial-gradient(ellipse 72% 70% at 50% 50%, #000 62%, transparent 100%); mask-image: radial-gradient(ellipse 72% 70% at 50% 50%, #000 62%, transparent 100%); }
@media (min-width: 64em) { .fb-hero--media .fb-intro__visual { max-width: none; margin: calc(var(--fb-space-4) * -1) 0; } }

/* ===================== v2.3: sidebar, FAQ accordion, tables, content polish ===================== */
.fb-article__side { display: block; }
.fb-toc--side { display: none; }
.fb-side { display: grid; gap: var(--fb-space-4); }
.fb-side:empty { display: none; }
.fb-side__box { background: var(--fb-color-paper); border-radius: var(--fb-radius-lg); padding: var(--fb-space-3) var(--fb-space-4); box-shadow: var(--fb-shadow); }
.fb-side__title { font-size: var(--fb-fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--fb-color-muted); margin: 0 0 .5rem; font-weight: 700; }
.fb-side__list { list-style: none; margin: 0; padding: 0; }
.fb-side__list a { display: block; padding: .55rem 0; color: var(--fb-color-text); font-weight: 600; font-size: var(--fb-fs-sm); line-height: 1.35; text-decoration: none; }
.fb-side__list a:hover { color: var(--fb-color-accent-strong); }
.fb-side__tools { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.fb-tool { display: flex; gap: .75rem; align-items: center; min-height: 52px; padding: .5rem .75rem; margin: 0 -.75rem; border-radius: var(--fb-radius); color: var(--fb-color-text); text-decoration: none; }
.fb-tool:hover { background: var(--fb-color-bg); }
.fb-tool .fb-ic { color: var(--fb-color-accent-strong); }
.fb-tool strong { display: block; font-size: var(--fb-fs-sm); }
.fb-tool span span { display: block; font-size: var(--fb-fs-xs); color: var(--fb-color-muted); }
@media (min-width: 72em) {
  .fb-article { grid-template-columns: minmax(0, var(--fb-read)) minmax(15rem, 18rem); justify-content: space-between; }
  .fb-side { position: sticky; top: var(--fb-space-4); max-height: calc(100vh - 2rem); overflow: auto; overscroll-behavior: contain; padding: 2px; }
  .fb-toc--side { display: block; position: static; max-height: none; overflow: visible; }
  .fb-article:has(.fb-toc--side) .fb-toc--inline { display: none; }
}

/* FAQ accordion */
.fb-faq .rank-math-list { display: grid; gap: .5rem; }
.fb-faq__item { background: var(--fb-color-bg); border-radius: var(--fb-radius); }
.fb-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 56px; padding: .75rem 1.1rem; cursor: pointer; list-style: none; border-radius: var(--fb-radius); }
.fb-faq__q::-webkit-details-marker { display: none; }
.fb-faq__q .rank-math-question { font-size: var(--fb-fs-base, 1rem); font-weight: 700; margin: 0; line-height: 1.35; letter-spacing: 0; }
.fb-faq__ic { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--fb-color-paper); }
.fb-faq__ic::before, .fb-faq__ic::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--fb-color-accent-strong); border-radius: 2px; }
.fb-faq__ic::after { transform: rotate(90deg); }
.fb-faq__item[open] .fb-faq__ic::after { transform: rotate(0deg); }
.fb-faq__a { padding: 0 1.1rem 1rem; }
.fb-faq__a > :first-child { margin-top: 0; } .fb-faq__a > :last-child { margin-bottom: 0; }
.fb-faq__q:focus-visible { outline: 3px solid var(--fb-color-accent); outline-offset: 2px; }
@media (prefers-reduced-motion: no-preference) {
  .fb-faq__ic::after { transition: transform 180ms var(--fb-ease); }
  .fb-faq__item[open] .fb-faq__a { animation: fb-faq-in 180ms var(--fb-ease); }
  @keyframes fb-faq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
}

/* tables: mint header, zebra, scroll-shadow hint, stack <=3 cols on mobile */
.fb-prose .wp-block-table, .fb-page .wp-block-table {
  background: linear-gradient(90deg, var(--fb-color-paper) 30%, rgba(255,255,255,0)) left / 2.5rem 100% no-repeat local,
              linear-gradient(270deg, var(--fb-color-paper) 30%, rgba(255,255,255,0)) right / 2.5rem 100% no-repeat local,
              radial-gradient(farthest-side at 0 50%, rgba(15,26,30,.14), transparent) left / .9rem 100% no-repeat scroll,
              radial-gradient(farthest-side at 100% 50%, rgba(15,26,30,.14), transparent) right / .9rem 100% no-repeat scroll,
              var(--fb-color-paper); }
.fb-prose .wp-block-table thead :is(th, td), .fb-page .wp-block-table thead :is(th, td) { background: var(--fb-color-band); text-transform: none; letter-spacing: 0; font-size: var(--fb-fs-sm); font-weight: 600; color: var(--fb-color-text); border-bottom: 0; }
.fb-prose .wp-block-table td, .fb-prose .wp-block-table th { font-variant-numeric: tabular-nums; }
@media (max-width: 40em) {
  .fb-prose .fb-table--stack { background: none; box-shadow: none; overflow: visible; }
  .fb-prose .fb-table--stack table { min-width: 0; }
  .fb-prose .fb-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .fb-prose .fb-table--stack tbody, .fb-prose .fb-table--stack tr { display: block; }
  .fb-prose .fb-table--stack tr { background: var(--fb-color-paper) !important; border-radius: var(--fb-radius); box-shadow: inset 0 0 0 1px rgba(20,24,31,.06); padding: .5rem 0; margin-bottom: .5rem; }
  .fb-prose .fb-table--stack :is(td, th) { display: grid; grid-template-columns: minmax(0, 42%) 1fr; gap: .75rem; border: 0 !important; padding: .4rem 1rem; }
  .fb-prose .fb-table--stack :is(td, th)::before { content: attr(data-label); font-size: var(--fb-fs-xs); font-weight: 600; color: var(--fb-color-text-2); }
}

/* content polish: lists, quotes, callouts, sources, key facts */
.fb-prose :is(ul, ol):not([class]) { padding-left: 1.35rem; }
.fb-prose :is(ul, ol):not([class]) > li { margin-block: .4rem; padding-left: .2rem; }
.fb-prose ul:not([class]) > li::marker { color: var(--fb-color-accent); }
.fb-prose ol:not([class]) > li::marker { color: var(--fb-color-accent-strong); font-weight: 700; }
.fb-prose blockquote, .fb-prose .wp-block-quote { border: 0; margin: var(--fb-space-4) 0; padding: var(--fb-space-3) var(--fb-space-4); background: var(--fb-color-bg); border-radius: var(--fb-radius); font-size: var(--fb-fs-md); }
.fb-prose .wp-block-quote cite { display: block; margin-top: .5rem; font-size: var(--fb-fs-sm); color: var(--fb-color-muted); font-style: normal; }
.fb-prose .is-style-fb-note, .fb-prose .fb-note { border: 0; background: var(--fb-color-tip-bg); border-radius: var(--fb-radius); padding: var(--fb-space-3) var(--fb-space-4); }
.fb-prose .is-style-fb-sources, .fb-prose .fb-sources { border: 0; background: var(--fb-color-bg); border-radius: var(--fb-radius); padding: var(--fb-space-3) var(--fb-space-4); font-size: var(--fb-fs-sm); }
.fb-prose .fb-sources :is(h2, h3), .fb-prose .is-style-fb-sources :is(h2, h3) { font-size: var(--fb-fs-base, 1rem); margin-top: 0; }
.fb-prose .fb-sources a, .fb-prose .is-style-fb-sources a { overflow-wrap: anywhere; }
.fb-prose .is-style-fb-keyfacts { border: 0; border-radius: var(--fb-radius-lg); padding: var(--fb-space-4); }
.fb-prose p.fb-verified { font-size: var(--fb-fs-sm); color: var(--fb-color-muted); }

/* EXAMPLE callout: block style, pattern class and render-time fallback share one look */
.fb-example, .is-style-fb-example { position: relative; margin: var(--fb-space-4) 0; padding: 2.75rem var(--fb-space-4) var(--fb-space-3); background: var(--fb-color-tip-bg); border-radius: var(--fb-radius-lg); box-shadow: inset 4px 0 0 var(--fb-color-accent); font-size: var(--fb-fs-sm); }
.fb-example::before, .is-style-fb-example::before { content: "Príklad"; position: absolute; top: .9rem; left: var(--fb-space-4); display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .65rem .15rem .55rem; border-radius: var(--fb-radius-pill); background: var(--fb-color-paper); color: var(--fb-color-accent-strong); font-size: var(--fb-fs-xs); font-weight: 700; letter-spacing: .02em; }
.fb-example > :first-child, .is-style-fb-example > :first-child { margin-top: 0; }
.fb-example > :last-child, .is-style-fb-example > :last-child { margin-bottom: 0; }
.fb-example + .fb-example--auto { margin-top: calc(var(--fb-space-3) * -1); }
.fb-example__result { margin-top: var(--fb-space-3); padding-top: var(--fb-space-3); border-top: 1px solid var(--fb-color-band-line); font-size: var(--fb-fs-md); font-weight: 800; color: var(--fb-color-text); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }

/* Upozornenie (.fb-note) and Zdroje (.fb-sources): one quiet label-style box; heading level stays as authored */
.fb-prose :is(.fb-note, .fb-sources) { position: relative; background: var(--fb-color-bg); border: 0; border-radius: var(--fb-radius); padding: var(--fb-space-3) var(--fb-space-3) var(--fb-space-3) 3rem; margin-block: var(--fb-space-4); font-size: .9rem; line-height: 1.55; color: var(--fb-color-text-2); }
.fb-prose :is(.fb-note, .fb-sources) :is(h2, h3, h4) { font-size: 1.0625rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; margin: 0 0 .35rem; color: var(--fb-color-text); }
.fb-prose :is(.fb-note, .fb-sources) :is(p, li) { font-size: inherit; margin-block: 0 .4rem; }
.fb-prose :is(.fb-note, .fb-sources) > :last-child { margin-bottom: 0; }
.fb-prose :is(.fb-note, .fb-sources)::before { content: ""; position: absolute; left: var(--fb-space-3); top: calc(var(--fb-space-3) + .1rem); width: 1.25rem; height: 1.25rem; background: var(--fb-color-muted); -webkit-mask: var(--fb-ic-info) center / contain no-repeat; mask: var(--fb-ic-info) center / contain no-repeat; }
.fb-prose .fb-sources::before { -webkit-mask-image: var(--fb-ic-book); mask-image: var(--fb-ic-book); }
.fb-ymyl { font-size: .9rem; padding: var(--fb-space-3); }
@media (max-width: 30em) { .fb-prose :is(.fb-note, .fb-sources) { padding-left: 2.75rem; } }

/* casino RG band v3 (supersedes earlier .fb-rg rules): one compact rounded band, no heading */
.fb-footer .fb-rg { display: grid; grid-template-columns: 1fr; gap: .75rem 2rem; align-items: center; margin: var(--fb-space-4) 0 0; padding: 1rem 1.25rem; border: 0; border-radius: var(--fb-radius); background: rgba(255, 255, 255, .06); font-size: .875rem; line-height: 1.45; color: var(--fb-color-on-ink-2); }
.fb-footer .fb-rg p { margin: 0; }
.fb-rg__lead { display: flex; align-items: center; gap: .75rem; }
.fb-footer .fb-rg__badge { flex: none; display: grid; place-items: center; width: 32px; height: 32px; margin: 0; border-radius: 50%; background: var(--fb-color-mark); color: var(--fb-color-text); font-size: .7rem; font-weight: 800; }
.fb-rg__lead strong { color: var(--fb-color-on-ink); }
.fb-footer .fb-rg__lines { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; font-size: inherit; }
.fb-rg__lines li { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .4rem; }
.fb-rg__label { color: var(--fb-color-on-ink); font-weight: 600; }
.fb-footer .fb-rg__lines a { color: var(--fb-color-on-ink); font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; display: inline-flex; align-items: center; min-height: 44px; }
.fb-rg__note { white-space: nowrap; }
.fb-rg__alt { flex-basis: 100%; font-size: .8125rem; color: var(--fb-color-on-ink-2); margin-top: -.6rem; }
.fb-rg__alt a { font-weight: 600 !important; }
@media (min-width: 64em) {
  .fb-footer .fb-rg { grid-template-columns: minmax(0, 1fr) auto; }
  .fb-footer .fb-rg__lines a { min-height: 0; }
  .fb-rg__lines li { flex-wrap: nowrap; white-space: nowrap; }
  .fb-rg__alt { flex-basis: auto; margin-top: 0; margin-left: .4rem; }
}
@media (max-width: 40em) {
  .fb-rg__lines li { display: grid; grid-template-columns: auto 1fr; column-gap: .5rem; row-gap: 0; }
  .fb-rg__label { grid-column: 1 / -1; }
  .fb-rg__alt { grid-column: 1 / -1; margin-top: -.5rem; }
}

/* breadcrumb with the › separator: quiet small text, muted separator, current item plain text, clean wrapping */
.fb-crumbs { font-size: .8125rem; line-height: 1.4; color: var(--fb-color-muted); }
.fb-crumbs p { display: flex; flex-wrap: wrap; align-items: center; row-gap: 0; column-gap: 0; }
.fb-crumbs a { color: var(--fb-color-text-2); text-decoration: none; min-height: 32px; }
.fb-crumbs a:hover { color: var(--fb-color-accent-strong); text-decoration: underline; }
.fb-crumbs .separator { padding-inline: .5rem; color: var(--fb-color-muted); opacity: .8; }
.fb-crumbs .last { display: inline; color: var(--fb-color-muted); max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 40em) { .fb-crumbs a { min-height: 44px; } .fb-crumbs .separator:has(+ .last) { display: none; } .fb-crumbs .last { flex-basis: 100%; padding-bottom: .25rem; } }
/* RG band v3.1: three contact lines; foreign number as a smaller sub line; notes on their own line on mobile */
.fb-rg__sub { font-size: .8125rem; }
.fb-rg__sub .fb-rg__label { font-weight: 400; color: var(--fb-color-on-ink-2); }
.fb-footer .fb-rg__sub a { font-weight: 600; }
@media (min-width: 64em) { .fb-footer .fb-rg { grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 2.5rem; } .fb-rg__lead p { max-width: 52ch; } .fb-footer .fb-rg__lines { gap: .2rem; } .fb-rg__sub { margin-top: -.15rem; } }
@media (max-width: 40em) {
  .fb-rg__lines li { grid-template-columns: 1fr; }
  .fb-rg__note { white-space: normal; font-size: .8125rem; margin-top: -.6rem; padding-bottom: .25rem; }
  .fb-rg__note::first-letter { }
}

/* hero visual v3: whole image, real ratio, no clipping; only the outer ~4% feathered */
.fb-hero { overflow: visible; }
.fb-intro__visual, .fb-hero--media .fb-intro__visual { overflow: visible; border-radius: 0; background: none; aspect-ratio: auto !important; margin: var(--fb-space-3) auto 0; max-width: 22rem; }
.fb-intro__visual picture { display: block; overflow: visible; }
.fb-intro__visual img { display: block; width: 100%; height: auto; object-fit: contain; mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-composite: source-in; mask-image: linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 4%, #000 96%, transparent 100%); mask-composite: intersect; }
@media (min-width: 64em) { .fb-hero--media .fb-intro__visual { max-width: 520px; width: 100%; margin: 0 0 0 auto; align-self: center; } }

/* ===== casino footer v4: full-width disclosure, RG band with ring badge + two contact cards ===== */
.fb-footer .fb-footer__disclosure { max-width: none; width: 100%; }
.fb-footer .fb-rg { display: grid; grid-template-columns: 1fr; gap: 1rem 2rem; align-items: center; padding: 24px; margin: var(--fb-space-4) 0 0; border: 1px solid rgba(255, 255, 255, .10); border-radius: var(--fb-radius-lg); background: rgba(255, 255, 255, .04); font-size: .875rem; line-height: 1.45; }
.fb-footer .fb-rg__lead { display: flex; align-items: center; gap: 1rem; }
.fb-footer .fb-rg__lead p { margin: 0; color: var(--fb-color-on-ink-2); max-width: 46ch; }
.fb-footer .fb-rg__lead strong { color: var(--fb-color-on-ink); }
.fb-footer .fb-rg__badge { flex: none; display: grid; place-items: center; width: 36px; height: 36px; margin: 0; border-radius: 50%; background: transparent; border: 2px solid var(--fb-color-mark); color: var(--fb-color-mark); font-size: .75rem; font-weight: 800; letter-spacing: -.01em; }
.fb-footer .fb-rg__cards { display: grid; grid-template-columns: 1fr; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.fb-footer .fb-rg__card { display: flex; align-items: flex-start; gap: .75rem; padding: .75rem 1rem; border-radius: var(--fb-radius); background: rgba(255, 255, 255, .06); }
.fb-footer .fb-rg__ic { flex: none; margin-top: .15rem; color: var(--fb-color-mark); }
.fb-footer .fb-rg__card > div { display: flex; flex-direction: column; min-width: 0; }
.fb-footer .fb-rg__label { font-size: .75rem; font-weight: 500; color: var(--fb-color-on-ink-2); }
.fb-footer .fb-rg__num { display: inline-flex; align-items: center; min-height: 44px; margin-block: -.4rem; font-size: 1rem; font-weight: 800; color: var(--fb-color-on-ink); font-variant-numeric: tabular-nums; white-space: nowrap; text-decoration: none; }
.fb-footer .fb-rg__num:hover { text-decoration: underline; }
.fb-footer .fb-rg__note { font-size: .75rem; color: var(--fb-color-on-ink-2); white-space: normal; margin: 0; padding: 0; }
.fb-footer .fb-rg__alt { flex-basis: auto; margin: .3rem 0 0; font-size: .75rem; color: var(--fb-color-on-ink-2); }
.fb-footer .fb-rg__alt a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -.75rem; color: var(--fb-color-on-ink); font-weight: 700; white-space: nowrap; }
@media (min-width: 64em) {
  .fb-footer .fb-rg { grid-template-columns: minmax(0, 1fr) auto; }
  .fb-footer .fb-rg__cards { grid-template-columns: repeat(2, minmax(12rem, auto)); align-items: stretch; }
  .fb-footer .fb-rg__num { min-height: 32px; margin-block: -.2rem; }
  .fb-footer .fb-rg__alt a { min-height: 0; margin: 0; }
}

/* author/reviewer box v3: two equal cards, header row (avatar + meta centred), bio full width under it, clamped */
.fb-authorbox, .fb-main--single .fb-authorbox { display: grid; grid-template-columns: 1fr; gap: var(--fb-space-3); padding: 0; background: none; border: 0; border-radius: 0; margin-top: var(--fb-space-5); }
@media (min-width: 48em) { .fb-authorbox--two { grid-template-columns: 1fr 1fr; align-items: stretch; } }
.fb-authorbox__item { display: flex; flex-direction: column; align-items: stretch; gap: .75rem; padding: var(--fb-space-4); background: var(--fb-color-bg); border-radius: var(--fb-radius-lg); }
.fb-authorbox__head { display: flex; align-items: center; gap: 1rem; }
.fb-authorbox__head .fb-avatar { flex: none; width: 60px; height: 60px; --fb-av: 60px; }
.fb-authorbox__meta { min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.fb-authorbox__item p { margin: 0; }
.fb-authorbox__label { font-size: .6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--fb-color-muted); }
.fb-authorbox__name { font-size: var(--fb-fs-md); font-weight: 750; line-height: 1.25; }
.fb-authorbox__name a { min-height: 0; display: inline; color: var(--fb-color-text); }
.fb-authorbox__role { font-size: .8125rem; font-weight: 500; color: var(--fb-color-text-2); line-height: 1.35; text-wrap: balance; }
.fb-authorbox__bio { font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); line-height: 1.55; margin: 0 !important; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.fb-authorbox__more { margin-top: auto; align-self: flex-start; }

/* RG cards v5: equal columns, shared rows via subgrid (label / number / note / extra), centred against the text */
@media (min-width: 64em) {
  .fb-footer .fb-rg__cards { grid-template-columns: repeat(2, minmax(13rem, 1fr)); grid-template-rows: repeat(4, auto); column-gap: .75rem; row-gap: 0; align-items: stretch; }
  .fb-footer .fb-rg { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
}
.fb-footer .fb-rg__card { display: grid; grid-template-columns: 18px minmax(0, 1fr); column-gap: .75rem; row-gap: .1rem; align-items: baseline; }
@media (min-width: 64em) { .fb-footer .fb-rg__card { grid-row: span 4; grid-template-rows: subgrid; } }
.fb-footer .fb-rg__ic { grid-column: 1; grid-row: 1; align-self: center; margin: 0; }
.fb-footer .fb-rg__card > :not(.fb-rg__ic) { grid-column: 2; }
.fb-footer .fb-rg__label { grid-row: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fb-footer .fb-rg__num { grid-row: 2; justify-self: start; }
.fb-footer .fb-rg__note { grid-row: 3; }
.fb-footer .fb-rg__alt { grid-row: 4; min-height: 1.1em; margin-top: .15rem; }
/* hero c2: stronger radial feather (artwork has ~20% margins) + multiply, so no canvas edge shows */
.fb-intro__visual img { -webkit-mask-image: radial-gradient(closest-side, #000 70%, transparent 100%); mask-image: radial-gradient(closest-side, #000 70%, transparent 100%); -webkit-mask-composite: source-over; mask-composite: add; mix-blend-mode: multiply; }
/* RG label: below 80em the visible label shortens to 'Register vylúčených osôb' (Stefan approved); ' pri ÚRHH' stays for screen readers and in title */
@media (min-width: 40.01em) and (max-width: 79.99em) { .fb-rg__extra { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } }

/* cards v3: description, reading time, hover lift (motion-safe), focus-visible equivalent */
.fb-card__excerpt { font-size: .9375rem; line-height: 1.5; color: var(--fb-color-text-2); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; margin: .4rem 0 0; }
.fb-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .8125rem; color: var(--fb-color-muted); margin: .6rem 0 0; }
.fb-card__dot { color: var(--fb-color-muted); }
.fb-card { position: relative; border-radius: var(--fb-radius-lg); }
.fb-main--archive .fb-card:not(.fb-card--compact) { padding: .75rem; margin: -.75rem; }
.fb-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.fb-main--archive .fb-card:hover, .fb-main--archive .fb-card:focus-within, .fb-pillar .fb-card--lead:hover, .fb-pillar .fb-card--lead:focus-within { background: var(--fb-color-paper); box-shadow: var(--fb-shadow-hover); }
.fb-card--compact:hover, .fb-card--compact:focus-within { background: transparent; box-shadow: none; }
.fb-card__title a:focus-visible { outline: none; }
.fb-card:has(.fb-card__title a:focus-visible) { outline: 3px solid var(--fb-color-accent); outline-offset: 2px; }
.fb-card__media { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .fb-card { transition: transform 180ms var(--fb-ease), box-shadow 180ms var(--fb-ease), background-color 180ms var(--fb-ease); }
  .fb-card:not(.fb-card--compact):hover, .fb-card:not(.fb-card--compact):focus-within { transform: translateY(-3px); }
  .fb-card__media img { transition: transform 220ms var(--fb-ease); }
  .fb-card:hover .fb-card__media img, .fb-card:focus-within .fb-card__media img { transform: scale(1.04); }
}

/* ===== home pillars v4: lead card + list of horizontal row cards (supersedes the subgrid rows) ===== */
.fb-pillars, .fb-pillars:not(.fb-pillars--solo) { grid-template-rows: none; align-items: start; }
.fb-pillar, .fb-pillars:not(.fb-pillars--solo) > .fb-pillar, .fb-pillars--solo > .fb-pillar { display: grid; grid-template-rows: none; grid-row: auto; align-content: start; gap: var(--fb-space-3); }
.fb-pillar__head { margin: 0; }
.fb-pillar .fb-card--lead { margin: 0; align-self: start; }
.fb-pillar .fb-card--lead .fb-card__excerpt { display: -webkit-box; -webkit-line-clamp: 2; }
.fb-pillar__list { display: grid; align-content: start; gap: .5rem; }
.fb-card--row { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 1rem; align-items: start; padding: .75rem; border-radius: var(--fb-radius); background: rgba(255, 255, 255, .55); }
.fb-zone--band .fb-card--row { background: rgba(255, 255, 255, .7); }
.fb-card--row:hover, .fb-card--row:focus-within { background: var(--fb-color-paper); box-shadow: var(--fb-shadow); }
.fb-row__thumb { width: 120px; height: 80px; border-radius: var(--fb-radius-sm); overflow: hidden; background: var(--fb-color-band); }
.fb-row__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fb-row__thumb--icon { display: grid; place-items: center; color: var(--fb-k, var(--fb-color-accent-strong)); background: color-mix(in srgb, var(--fb-k, var(--fb-color-accent)) 12%, var(--fb-color-paper)); }
.fb-row__body { min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.fb-card--row .fb-card__title { font-size: 1rem; line-height: 1.3; margin: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.fb-card--row .fb-card__excerpt { font-size: .875rem; margin: 0; }
.fb-card--row .fb-card__meta { margin: .15rem 0 0; padding: 0; font-size: .75rem; }
@media (prefers-reduced-motion: no-preference) { .fb-card--row .fb-row__thumb img { transition: transform 200ms var(--fb-ease); } .fb-card--row:hover .fb-row__thumb img { transform: scale(1.04); } }
@media (min-width: 64em) {
  .fb-pillars--solo > .fb-pillar { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: var(--fb-space-4); }
  .fb-pillars--solo .fb-pillar__head { grid-column: 1 / -1; }
  .fb-pillars--solo .fb-card--lead { grid-column: 1; grid-row: 2; }
  .fb-pillars--solo .fb-pillar__list { grid-column: 2; grid-row: 2; }
}
@media (max-width: 40em) { .fb-card--row { grid-template-columns: 96px minmax(0, 1fr); gap: .75rem; padding: .6rem; } .fb-row__thumb { width: 96px; height: 64px; } }
/* Príklad label: decorative Lucide calculator icon in brand teal (background on the pseudo-element, so the label text stays as is for screen readers; fixed box size = no CLS) */
.fb-example::before, .is-style-fb-example::before { padding-left: 1.6rem; background: var(--fb-ic-calc-teal) .55rem 50% / .875rem .875rem no-repeat, var(--fb-color-paper); line-height: 1.4; }

/* ===== cards v4 (option B, chosen by the Content Manager): image runs to the card edge, text on a white-wood footer, soft warm shadow.
   One system for home (lead + row), archives, related posts and the casino install. Mobile first; images keep a fixed aspect-ratio (no CLS). */
.fb-card:not(.fb-card--compact), .fb-pillar .fb-card--lead, .fb-feature .fb-card--lead { padding: 0; border: 0; border-radius: 18px; overflow: hidden; background: var(--fb-color-wood); box-shadow: var(--fb-shadow-warm); }
.fb-card:not(.fb-card--compact):not(.fb-card--row) > :not(.fb-card__media) { margin-inline: var(--fb-space-3); }
.fb-card:not(.fb-card--compact):not(.fb-card--row) > :not(.fb-card__media):first-child, .fb-card--media > .fb-card__media + * { margin-top: var(--fb-space-3); }
.fb-card:not(.fb-card--compact):not(.fb-card--row) > .fb-card__meta { padding-bottom: var(--fb-space-3); }
.fb-card .fb-card__media, .fb-card--media .fb-card__media { margin: 0; border-radius: 0; aspect-ratio: 16 / 10; background: var(--fb-color-surface-2); }
.fb-card__title a::after { border-radius: 18px; }
.fb-card--row { padding: 0; gap: 0; border-radius: 14px; align-items: stretch; grid-template-columns: 96px minmax(0, 1fr); }
.fb-zone--band .fb-card--row { background: var(--fb-color-wood); }
.fb-row__thumb { border-radius: 0; width: 96px; height: auto; min-height: 80px; }
.fb-row__thumb--icon { background: #e3dac9; }
.fb-row__body { padding: .7rem .9rem; }
.fb-card:not(.fb-card--compact):hover, .fb-card:not(.fb-card--compact):focus-within { background: var(--fb-color-wood-2); box-shadow: var(--fb-shadow-warm-2); border-color: transparent; }
.fb-card__excerpt, .fb-card__meta { color: var(--fb-color-text-2); }
.fb-card__meta { color: #4f5763; } /* 6.1:1 on wood, 5.6:1 on hover */
@media (min-width: 40.0625em) { .fb-card--row { grid-template-columns: 120px minmax(0, 1fr); } .fb-row__thumb { width: 120px; min-height: 88px; } }
@media (min-width: 48em) { .fb-feature .fb-card--lead { padding: 0; } }
@media (prefers-reduced-motion: no-preference) {
  .fb-card:not(.fb-card--compact) { transition: background-color 180ms var(--fb-ease), box-shadow 180ms var(--fb-ease); }
  .fb-card img { transition: transform 220ms var(--fb-ease); }
  .fb-card:not(.fb-card--compact):hover img, .fb-card:not(.fb-card--compact):focus-within img { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) { .fb-card, .fb-card img { transition: none; transform: none; } }

/* author box: two equal cards, profile links on one baseline */
@media (min-width: 48em) { .fb-authorbox--two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; } }
.fb-authorbox__item { height: 100%; box-sizing: border-box; }
.fb-authorbox__more { margin-top: auto; padding-top: .25rem; }
/* feature card (archives, home): compact horizontal on desktop, normal B card stacked on mobile; no frame, fixed 16:9 image (no CLS) */
.fb-feature .fb-card--lead, .fb-pillar .fb-card--lead { padding: 0; border: 0; }
.fb-feature .fb-card--lead .fb-card__media, .fb-pillar .fb-card--lead .fb-card__media { aspect-ratio: 16 / 9; max-height: 360px; }
.fb-card__media img { width: 100%; height: 100%; object-fit: cover; }
.fb-card.fb-card--lead > .fb-card__body { margin: 0; display: flex; flex-direction: column; flex: 1; padding: var(--fb-space-3); }
.fb-card--lead > .fb-card__body > * { margin-inline: 0; }
.fb-card--lead > .fb-card__body > .fb-card__meta { padding-bottom: 0; }
@media (min-width: 60em) {
  .fb-feature .fb-card--lead.fb-card--media { display: grid; grid-template-columns: 55% minmax(0, 1fr); align-items: center; }
  .fb-feature .fb-card--lead.fb-card--media > .fb-card__media { max-height: 360px; height: 100%; }
  .fb-feature .fb-card--lead.fb-card--media > .fb-card__body { padding: var(--fb-space-4); justify-content: center; }
  .fb-feature .fb-card--lead .fb-card__meta { margin-top: .75rem; }
}
.fb-authorbox__item > :last-child:has(> .fb-authorbox__more) { margin: auto 0 0; } /* wpautop wraps the link in <p>: push the wrapper down so both links share one baseline */
/* archives use the same B cards (override the older borderless archive rules) */
.fb-main .fb-card:not(.fb-card--compact), .fb-main--archive .fb-feature .fb-card--lead { padding: 0; margin: 0; background: var(--fb-color-wood); box-shadow: var(--fb-shadow-warm); border-radius: 18px; }
.fb-main .fb-card:not(.fb-card--compact):hover, .fb-main .fb-card:not(.fb-card--compact):focus-within { background: var(--fb-color-wood-2); box-shadow: var(--fb-shadow-warm-2); }
.fb-main--archive .fb-feature .fb-card__media { aspect-ratio: 16 / 9; }
.fb-main--archive .fb-feature .fb-card__title, .fb-feature .fb-card__title { font-size: var(--fb-fs-xl); line-height: 1.15; max-width: none; }
.fb-main--archive .fb-feature .fb-card__excerpt { font-size: var(--fb-fs-sm); }
/* archive v3: smaller feature card (image 40%, max 260px), intro slot (topics, tool chips), bottom guide */
.fb-main--archive .fb-feature .fb-card__title { font-size: 1.375rem; line-height: 1.2; }
.fb-main--archive .fb-feature .fb-card__excerpt { -webkit-line-clamp: 2; }
@media (min-width: 60em) {
  .fb-main--archive .fb-feature .fb-card--lead.fb-card--media { grid-template-columns: 40% minmax(0, 1fr); }
  .fb-main--archive .fb-feature .fb-card--lead.fb-card--media > .fb-card__media { aspect-ratio: auto; height: 260px; max-height: 260px; }
  .fb-main--archive .fb-feature .fb-card__title { font-size: 1.75rem; }
}
.fb-archintro__topics ul, .fb-archintro__tools { list-style: none; margin: var(--fb-space-3) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem .75rem; }
.fb-archintro__topics a { display: inline-flex; align-items: center; min-height: 44px; color: var(--fb-color-text); font-weight: 600; text-decoration: underline; text-decoration-color: var(--fb-color-line-strong); text-underline-offset: .25em; }
.fb-archintro__topics a:hover { text-decoration-color: var(--fb-color-accent); }
.fb-archintro__tools a { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: 0 1rem; border-radius: 999px; background: var(--fb-color-wood); color: var(--fb-color-accent-strong); font-weight: 600; font-size: var(--fb-fs-sm); text-decoration: none; }
.fb-archintro__tools a:hover { background: var(--fb-color-wood-2); }
.fb-archguide { margin: var(--fb-space-5) 0 0; border-radius: 18px; background: var(--fb-color-band); }
.fb-archguide summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: var(--fb-space-3) var(--fb-space-4); font-weight: 700; font-size: var(--fb-fs-md); list-style: none; }
.fb-archguide summary::-webkit-details-marker { display: none; }
.fb-archguide summary::after { content: "+"; font-size: 1.5rem; line-height: 1; color: var(--fb-color-accent-strong); }
.fb-archguide[open] summary::after { content: "–"; }
.fb-archguide summary:focus-visible { outline: var(--fb-focus); outline-offset: 2px; border-radius: 18px; }
.fb-archguide__body { padding: 0 var(--fb-space-4) var(--fb-space-4); max-width: var(--fb-read); }
/* sticky article sidebar (desktop only): the WHOLE column travels, never clipped, no inner scroll.
   --fb-side-top is set by fb-nav.js (ResizeObserver): header offset when it fits, else viewport - height - gap (sticks by its bottom). */
@media (min-width: 72em) {
  .fb-article > :has(.fb-side) { position: sticky; top: var(--fb-side-top, calc(var(--wp-admin--admin-bar--height, 0px) + 1rem)); align-self: start; }
  .fb-side { position: static; max-height: none; overflow: visible; gap: var(--fb-space-3); }
  .fb-side__box { padding-block: 0; }
  .fb-side__list li { margin: 0; padding-block: .35rem; font-size: var(--fb-fs-sm); line-height: 1.35; }
  .fb-toc--side .fb-toc__list li { margin-block: .15rem; font-size: var(--fb-fs-sm); line-height: 1.35; }
  .fb-toc__fold > summary { cursor: pointer; list-style: none; min-height: 44px; display: flex; align-items: center; justify-content: space-between; }
  .fb-toc__fold > summary::-webkit-details-marker { display: none; }
  .fb-toc__fold > summary::after { content: "+"; color: var(--fb-color-accent-strong); font-size: 1.25rem; }
  .fb-toc__fold[open] > summary::after { content: "–"; }
  .fb-tool { min-height: 44px; padding-block: .35rem; }
}
.fb-toc__list a[aria-current="true"] { color: var(--fb-color-accent-strong); font-weight: 700; box-shadow: inset 3px 0 0 var(--fb-color-accent); padding-left: .6rem; }
@media (prefers-reduced-motion: no-preference) { html:has(.fb-toc--side) { scroll-behavior: smooth; } .fb-toc__list a { transition: color 150ms, box-shadow 150ms, padding 150ms; } }
/* author box side by side: subgrid rows (header / bio / link) so bios and links line up across both cards */
.fb-authorbox__head { min-height: 4.5rem; } /* fallback without subgrid */
@media (min-width: 48em) {
  @supports (grid-template-rows: subgrid) {
    .fb-authorbox--two { grid-template-rows: auto auto auto; row-gap: 0; column-gap: var(--fb-space-4); }
    .fb-authorbox--two > .fb-authorbox__item { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: .75rem; height: auto; }
    .fb-authorbox--two .fb-authorbox__head { min-height: 0; }
    .fb-authorbox--two .fb-authorbox__item > :last-child:has(> .fb-authorbox__more), .fb-authorbox--two .fb-authorbox__item > .fb-authorbox__more { grid-row: 3; align-self: end; margin: 0; }
  }
}
/* sidebar cards: airy B-palette boxes, 24px padding (20px mobile), 16px label gap, soft dividers */
.fb-side__box { padding: 20px; border-radius: 18px; background: var(--fb-color-band); box-shadow: none; border: 0; }
@media (min-width: 48em) { .fb-side__box { padding: 24px; } }
@media (min-width: 72em) { .fb-side__box { padding: 24px; } }
.fb-side__title { margin: 0 0 16px; }
.fb-side__list, .fb-side__tools { list-style: none; margin: 0; padding: 0; }
.fb-side__list li, .fb-side__tools li { margin: 0; padding: 12px 0; border-top: 1px solid var(--fb-color-band-line); }
.fb-side__list li:first-child, .fb-side__tools li:first-child { border-top: 0; padding-top: 0; }
.fb-side__list li:last-child, .fb-side__tools li:last-child { padding-bottom: 0; }
.fb-side__tools .fb-tool { margin: 0; padding: 0; min-height: 44px; }
.fb-side__tools .fb-tool:hover { background: none; } .fb-side__tools .fb-tool:hover strong { text-decoration: underline; }
/* home sections v5: every section full width; lead card left, up to 4 small cards right; 4 cards = repeat(4, 1fr) so edges align with the lead */
@media (min-width: 60em) {
  .fb-pillars--solo > .fb-pillar { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: var(--fb-space-4); row-gap: var(--fb-space-3); }
  .fb-pillars--solo .fb-pillar__head { grid-column: 1 / -1; grid-row: 1; }
  .fb-pillars--solo .fb-pillar > .fb-card--lead { grid-column: 1; grid-row: 2; margin: 0; align-self: stretch; }
  .fb-pillars--solo .fb-pillar__list { grid-column: 2; grid-row: 2; display: grid; gap: 12px; margin: 0; align-content: start; }
  .fb-pillars--solo .fb-pillar__list--n4 { grid-template-rows: repeat(4, 1fr); align-content: stretch; }
  .fb-pillars--solo .fb-pillar__list .fb-card--row { height: 100%; min-height: 0; box-sizing: border-box; }
  .fb-pillars--solo .fb-pillar__list--n4 .fb-card--row .fb-card__excerpt { -webkit-line-clamp: 1; }
  .fb-pillars--solo .fb-row__thumb { height: 100%; min-height: 88px; }
  .fb-pillars--solo .fb-row__thumb img { height: 100%; }
}
.fb-card--row .fb-card__title { -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
/* footer v3: Finbit (logo + tagline) / Rubriky / O Finbite / Právne */
.fb-footer__grid { display: grid; gap: var(--fb-space-4); }
.fb-footer__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fb-space-4) var(--fb-space-3); }
.fb-fcol__h { margin: 0 0 .5rem; font-size: var(--fb-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fb-color-on-ink-2); }
.fb-fcol ul { list-style: none; margin: 0; padding: 0; }
.fb-fcol a { display: inline-flex; align-items: center; min-height: 44px; color: var(--fb-color-on-ink); text-decoration: none; font-size: var(--fb-fs-sm); }
.fb-fcol a:hover { text-decoration: underline; text-underline-offset: .2em; }
@media (min-width: 48em) { .fb-fcol a { min-height: 32px; } .fb-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 64em) { .fb-footer__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); column-gap: var(--fb-space-5); align-items: start; } }
/* B cards: equal height in a row, 2-line title + excerpt, meta pinned to the bottom */
.fb-grid { align-items: stretch; }
.fb-card:not(.fb-card--row):not(.fb-card--compact) { display: flex; flex-direction: column; height: 100%; }
.fb-card:not(.fb-card--row) .fb-card__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.fb-card .fb-card__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.fb-card:not(.fb-card--row) .fb-card__meta, .fb-card--lead .fb-card__body > .fb-card__meta { margin-top: auto; }
.fb-card--lead > .fb-card__body { flex: 1; }
/* Príklad label v3: plain uppercase teal label with inline calculator icon, no pill (#075a4d on #f4f0e8 = 7.0:1) */
.fb-example::before, .is-style-fb-example::before { background: var(--fb-ic-calc-teal) 0 50% / .875rem .875rem no-repeat; padding: 0 0 0 1.25rem; border: 0; border-radius: 0; box-shadow: none; color: var(--fb-color-accent-strong); text-transform: uppercase; letter-spacing: .08em; font-size: var(--fb-fs-xs); font-weight: 700; line-height: 1.4; }
/* archive head v2: smaller H1 (40px desktop / 30px mobile), max 2 balanced lines, less top padding; legal/page H1 uses the same scale */
.fb-archhead .fb-band__inner { padding-block: var(--fb-space-4) var(--fb-space-3); }
.fb-archhead .fb-band__title, .fb-main--page .fb-page__title { font-size: clamp(30px, 2.4vw + 10px, 40px); line-height: 1.15; text-wrap: balance; max-width: 28ch; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.fb-card__title, .fb-card__title a { color: var(--fb-color-text); }
/* archive intro from the term description: lead under the H1, guide (H2 onward, incl. FAQ) as an open section below the grid */
.fb-archintro__lead { max-width: 70ch; } .fb-archintro__lead > :first-child { margin-top: 0; } .fb-archintro__lead > :last-child { margin-bottom: 0; }
.fb-archintro__lead :is(ul, ol) { margin: .5rem 0; padding-left: 1.25rem; } .fb-archintro__lead a { color: var(--fb-color-accent-strong); }
.fb-archguide--open { margin-top: var(--fb-space-6); padding: var(--fb-space-4); border-radius: 20px; background: var(--fb-color-band); }
@media (min-width: 48em) { .fb-archguide--open { padding: var(--fb-space-5); } }
.fb-archguide--open .fb-archguide__body { max-width: 70ch; padding: 0; }
.fb-archguide--open h2 { font-size: var(--fb-fs-lg); margin: var(--fb-space-4) 0 var(--fb-space-2); } .fb-archguide--open h2:first-child { margin-top: 0; }
.fb-archguide--open h3 { font-size: var(--fb-fs-md); margin: var(--fb-space-3) 0 .5rem; }
.fb-terms-box { margin: var(--fb-space-3) 0; padding: var(--fb-space-3) var(--fb-space-4); border-radius: 16px; background: var(--fb-color-wood); }
.fb-terms-box > :first-child { margin-top: 0; } .fb-terms-box > :last-child { margin-bottom: 0; }
.fb-terms-box dl { display: grid; grid-template-columns: minmax(0, max-content) minmax(0, 1fr); gap: .35rem 1rem; } .fb-terms-box dt { font-weight: 700; } .fb-terms-box dd { margin: 0; }
/* operator line: small, muted (on-ink-2 #c9d3d6 on ink = 11:1), wraps at the separators */
.fb-footer__operator { display: flex; flex-wrap: wrap; column-gap: .1rem; row-gap: .15rem; margin: var(--fb-space-3) 0 0; font-size: var(--fb-fs-xs); color: var(--fb-color-on-ink-2); line-height: 1.5; }
.fb-footer__operator > span:not(.fb-footer__sep) { white-space: normal; }
.fb-footer__operator a { color: var(--fb-color-on-ink-2); text-decoration: underline; text-underline-offset: .2em; display: inline-flex; min-height: 24px; align-items: center; }
@media (max-width: 47.99em) { .fb-footer__operator { flex-direction: column; } .fb-footer__sep { display: none; } .fb-footer__operator a { min-height: 44px; } }
/* article H1 v2: full width, smaller, balanced */
.fb-article__title { font-size: clamp(28px, 2.2vw + 12px, 40px); line-height: 1.15; max-width: none; text-wrap: balance; }
/* breadcrumb: one line, the current item truncates visually (full text stays in the DOM for screen readers; Rank Math schema untouched) */
.fb-crumbs p { flex-wrap: nowrap; min-width: 0; }
.fb-crumbs p > a, .fb-crumbs .separator { flex: none; }
.fb-crumbs .last { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* footer v4: brand + stacked address | 3 link columns; notes row; bottom bar. Neutral lighter dark (#202124). */
.fb-site-footer { background: #202124; color: #c8c9cc; }
.fb-footer { padding-block: var(--fb-space-6) 0; }
.fb-footer > * + * { margin-block-start: 0; }
.fb-footer__grid { display: grid; gap: var(--fb-space-5); align-items: start; padding-bottom: var(--fb-space-5); }
.fb-footer__about p { margin: var(--fb-space-3) 0 0; max-width: 34ch; color: #c8c9cc; }
.fb-footer__operator { display: flex; flex-direction: column; flex-wrap: nowrap; gap: .3rem; margin: var(--fb-space-4) 0 0; font-style: normal; font-size: var(--fb-fs-xs); line-height: 1.5; color: #b4b5b9; }
.fb-footer__operator a { align-self: flex-start; display: inline-flex; align-items: center; min-height: 24px; white-space: nowrap; color: #e8e8ea; text-decoration: underline; text-underline-offset: .2em; }
.fb-footer__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fb-space-4) var(--fb-space-4); align-items: start; }
.fb-fcol__h { margin: 0 0 var(--fb-space-2); line-height: 1.4; color: #b4b5b9; }
.fb-fcol a { min-height: 40px; }
.fb-footer__notes { display: grid; gap: var(--fb-space-3); padding-block: var(--fb-space-4); border-top: 1px solid rgba(255,255,255,.12); }
.fb-footer__notes:empty { display: none; }
.fb-footer .fb-footer__notes .fb-rg { margin: 0; }
.fb-footer .fb-footer__disclosure { margin: 0; padding: 0; border: 0; font-size: var(--fb-fs-xs); line-height: 1.55; color: #b4b5b9; max-width: 90ch; }
.fb-footer__bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--fb-space-2) var(--fb-space-4); padding-block: var(--fb-space-3); border-top: 1px solid rgba(255,255,255,.12); font-size: var(--fb-fs-xs); }
.fb-footer__bar .fb-footer__copy { margin: 0; color: #b4b5b9; }
@media (min-width: 48em) {
  .fb-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); column-gap: var(--fb-space-6); }
  .fb-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fb-fcol a { min-height: 32px; }
}
/* dane: H2 placed just before .fb-terms-box reads as the box header (one unit). :has() + JS class fallback (fb-nav.js) */
.fb-archguide h2:has(+ .fb-terms-box), .fb-archguide h2.fb-terms-box__h { margin: var(--fb-space-5) 0 0; padding: var(--fb-space-3) var(--fb-space-4) 0; background: var(--fb-color-wood); border-radius: 16px 16px 0 0; }
.fb-archguide h2:has(+ .fb-terms-box) + .fb-terms-box, .fb-archguide h2.fb-terms-box__h + .fb-terms-box { margin-top: 0; padding-top: var(--fb-space-2); border-radius: 0 0 16px 16px; }
/* timeline (.fb-timeline): teal line + dots, date chip, server-side is-past / is-next / is-upcoming */
.fb-timeline { --tl-dot: 14px; list-style: none; margin: var(--fb-space-3) 0; padding: 0; position: relative; }
.fb-prose .fb-timeline { padding-left: 0; }
.fb-timeline__item { position: relative; display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); column-gap: 1.75rem; padding: 0 0 var(--fb-space-4); margin: 0; }
.fb-timeline__item::before { content: ""; position: absolute; left: calc(5.5rem + .875rem - 1px); top: 0; bottom: 0; width: 2px; background: var(--fb-color-accent); opacity: .45; }
.fb-timeline__item:last-child::before { bottom: auto; height: 1.1rem; }
.fb-timeline__item::after { content: ""; position: absolute; left: calc(5.5rem + .875rem - var(--tl-dot) / 2); top: .55rem; width: var(--tl-dot); height: var(--tl-dot); box-sizing: border-box; border-radius: 50%; background: var(--fb-color-bg); border: 3px solid var(--fb-color-accent); }
.fb-timeline__item > * { grid-column: 2; margin: 0; }
.fb-timeline__date { grid-column: 1; grid-row: 1 / span 6; align-self: start; display: flex; flex-direction: column; align-items: center; padding: .4rem .5rem; border-radius: 12px; background: var(--fb-color-wood); color: var(--fb-color-text); font-weight: 800; font-size: 1.125rem; line-height: 1.15; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.fb-timeline__date span { font-size: .75rem; font-weight: 600; color: var(--fb-color-text-2); }
.fb-timeline__title { font-size: var(--fb-fs-md); line-height: 1.35; padding-top: .3rem; }
.fb-timeline__text { margin-top: .2rem !important; color: var(--fb-color-text); }
.fb-timeline__why { margin-top: .4rem !important; }
.fb-timeline__why summary { display: inline-flex; align-items: center; min-height: 24px; cursor: pointer; font-size: var(--fb-fs-sm); font-weight: 700; color: var(--fb-color-accent-ink, var(--fb-color-accent)); }
.fb-timeline__why p { margin: .35rem 0 0; font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); }
.fb-timeline__source { margin-top: .35rem !important; font-size: var(--fb-fs-xs); }
.fb-timeline__source a { display: inline-flex; align-items: center; min-height: 24px; color: var(--fb-color-text-2); }
.fb-timeline__item.is-past .fb-timeline__date { background: var(--fb-color-surface); color: var(--fb-color-text-2); }
.fb-timeline__item.is-past .fb-timeline__title, .fb-timeline__item.is-past .fb-timeline__text { color: var(--fb-color-text-2); }
.fb-timeline__item.is-past::after { background: var(--fb-color-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 10px no-repeat; --tl-dot: 18px; top: .45rem; border-width: 0; }
.fb-timeline__item.is-next .fb-timeline__date { background: var(--fb-color-accent); color: #fff; }
.fb-timeline__item.is-next .fb-timeline__date span { color: #fff; }
.fb-timeline__item.is-next::after { --tl-dot: 18px; top: .45rem; background: var(--fb-color-accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--fb-color-accent) 22%, transparent); border-width: 0; }
@media (max-width: 47.99em) {
  .fb-timeline__item { grid-template-columns: minmax(0, 1fr); column-gap: 0; padding-left: 1.75rem; padding-bottom: var(--fb-space-3); }
  .fb-timeline__item::before { left: calc(.5rem - 1px); }
  .fb-timeline__item::after { left: calc(.5rem - var(--tl-dot) / 2); top: .35rem; }
  .fb-timeline__item.is-past::after, .fb-timeline__item.is-next::after { top: .25rem; }
  .fb-timeline__item > *, .fb-timeline__date { grid-column: 1; grid-row: auto; }
  .fb-timeline__date { justify-self: start; flex-direction: row; gap: .35rem; align-items: baseline; padding: .2rem .55rem; font-size: 1rem; }
  .fb-timeline__title { padding-top: .35rem; }
}
@media (prefers-reduced-motion: no-preference) { .fb-timeline__why summary { transition: color .15s; } }
/* archive FAQ (term description .fb-faq): same accordion as articles */
.fb-archguide .fb-faq { display: grid; gap: .5rem; margin: var(--fb-space-3) 0; }
.fb-archguide .fb-faq__item { background: var(--fb-color-surface); margin: 0; }
.fb-archguide .fb-faq__qt { font-weight: 700; line-height: 1.35; }
.fb-archguide .fb-faq__q:focus-visible { outline: 3px solid var(--fb-color-accent); outline-offset: 2px; }
.fb-archguide .fb-faq__a > :first-child { margin-top: 0; } .fb-archguide .fb-faq__a > :last-child { margin-bottom: 0; }
@media (prefers-reduced-motion: no-preference) { .fb-archguide .fb-faq__ic::after { transition: transform .2s; } }
/* archive lead: full content width like the grid */
.fb-archhead .fb-band__lede, .fb-archintro__lead { max-width: none; }
/* guide v3: ONE container. No outer panel; content uses the full content width; running text keeps a measure. Old collapsible-guide "+" only on its own summary. */
.fb-archguide--open { padding: 0; background: none; border-radius: 0; }
@media (min-width: 48em) { .fb-archguide--open { padding: 0; } }
.fb-archguide--open .fb-archguide__body { max-width: none; }
.fb-archguide--open .fb-archguide__body > :is(p, ul, ol, h2, h3, h4) { max-width: 70ch; }
.fb-archguide--open .fb-archguide__body > h2:has(+ .fb-terms-box), .fb-archguide--open .fb-archguide__body > h2.fb-terms-box__h { max-width: none; }
.fb-archguide summary::after { content: none; }
.fb-archguide > summary::after { content: "+"; }
.fb-archguide .fb-faq__q { min-height: 56px; padding: .75rem 1.1rem; font-size: var(--fb-fs-base, 1rem); font-weight: 400; }
.fb-archguide .fb-timeline__why summary { padding: 0; min-height: 24px; justify-content: flex-start; font-size: var(--fb-fs-sm); }
.fb-archguide--open .fb-archguide__body > ol.fb-timeline { max-width: none; }
.fb-timeline__item > :not(.fb-timeline__date) { max-width: 70ch; }
@media (max-width: 40em) { .fb-crumbs .separator:has(+ .last) { display: inline; } .fb-crumbs .last { flex-basis: auto; padding-bottom: 0; } }
/* legal / info pages (page.html): ~70ch measure, sticky TOC (>=4 H2) on desktop, lead = first existing paragraph */
.fb-pagehead__meta { margin: var(--fb-space-2) 0 0; font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); }
.fb-page--doc { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--fb-space-4); align-items: start; }
.fb-page--doc > * + * { margin-block-start: 0; }
.fb-page--doc > .fb-prose { max-width: 70ch; }
.fb-page--doc > .fb-toc--side { max-width: 70ch; padding: 20px; border-radius: var(--fb-radius-lg); background: var(--fb-color-surface); }
@media (min-width: 64em) {
  .fb-page--doc:has(> .fb-toc--side) { grid-template-columns: minmax(0, 70ch) minmax(14rem, 18rem); column-gap: var(--fb-space-6); }
  .fb-page--doc > .fb-toc--side { grid-column: 2; grid-row: 1; position: sticky; top: calc(var(--fb-header-h, 72px) + 24px); padding: 24px; }
  .fb-page--doc > .fb-prose { grid-column: 1; grid-row: 1; }
}
.fb-page--doc > .fb-prose > p:first-child { font-size: var(--fb-fs-md); line-height: 1.6; color: var(--fb-color-text); }
.fb-page--doc .fb-prose h2 { scroll-margin-top: calc(var(--fb-header-h, 72px) + 16px); }
.fb-page--doc .fb-prose :is(table) { width: 100%; border-collapse: collapse; font-size: var(--fb-fs-sm); }
.fb-page--doc .fb-prose :is(th, td) { padding: .6rem .75rem; border-bottom: 1px solid var(--fb-color-line); text-align: left; vertical-align: top; }
.fb-page--doc .fb-prose th { background: var(--fb-color-surface); font-weight: 700; }
.fb-page--doc .fb-prose dl { display: grid; grid-template-columns: minmax(0, max-content) minmax(0, 1fr); gap: .4rem 1.25rem; }
.fb-page--doc .fb-prose dt { font-weight: 700; } .fb-page--doc .fb-prose dd { margin: 0; }
/* operator / contact list -> neutral cards */
.fb-prose ul.fb-infocards { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 12px; }
.fb-prose ul.fb-infocards > li { margin: 0; padding: 16px 20px; border-radius: var(--fb-radius-lg); background: var(--fb-color-surface); border: 1px solid var(--fb-color-line); }
.fb-prose ul.fb-infocards a[href^="mailto:"] { white-space: nowrap; display: inline-flex; align-items: center; min-height: 24px; }
/* team: real users as cards (photo or initials) */
.fb-prose ul.fb-teamcards { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 12px; }
.fb-prose ul.fb-teamcards > li.fb-teamcard { display: flex; gap: 16px; align-items: flex-start; margin: 0; padding: 20px; border-radius: var(--fb-radius-lg); background: #fff; box-shadow: var(--fb-shadow-warm); }
.fb-teamcard__av { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.fb-teamcard__av.fb-avatar--ini { display: grid; place-items: center; background: var(--fb-color-wood); color: var(--fb-color-text); font-weight: 800; }
.fb-teamcard__body { min-width: 0; font-size: var(--fb-fs-sm); line-height: 1.55; }
.fb-teamcard__body strong { display: block; font-size: var(--fb-fs-md); color: var(--fb-color-text); }
.fb-teamcard__body a { display: inline-flex; align-items: center; min-height: 24px; }
/* ===== guide components (spec: qa/guide-components.md) ===== */
.fb-archguide--open .fb-archguide__body > :is(.fb-guide-links, .fb-choice, .fb-compare, .fb-benefits, .fb-steps) { max-width: none; }
/* 1 link cards */
.fb-guide-links { list-style: none; margin: var(--fb-space-3) 0 var(--fb-space-4); padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 12px; }
.fb-guide-links > li { margin: 0; display: flex; }
.fb-guide-link { flex: 1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: #fff; box-shadow: var(--fb-shadow-warm); color: var(--fb-color-text); text-decoration: none; }
.fb-guide-link__ic { width: 40px; height: 40px; padding: 9px; box-sizing: border-box; border-radius: 12px; background: var(--fb-color-accent-soft); color: var(--fb-color-accent); }
.fb-guide-link__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fb-guide-link__title { font-weight: 700; line-height: 1.3; }
.fb-guide-link__for { font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fb-guide-link__arrow { color: var(--fb-color-accent); }
.fb-guide-link:hover .fb-guide-link__title { text-decoration: underline; text-underline-offset: .2em; }
.fb-guide-link:focus-visible, .fb-benefit:has(a:focus-visible) { outline: 3px solid var(--fb-color-accent); outline-offset: 2px; }
/* 2 decision helper */
.fb-choice { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 16px; margin: var(--fb-space-3) 0 var(--fb-space-4); }
.fb-choice__card { display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: 18px; background: #fff; box-shadow: var(--fb-shadow-warm); border-top: 4px solid var(--fb-color-accent); }
.fb-archguide .fb-choice__card > * { margin: 0; max-width: none; }
.fb-choice__title { font-size: var(--fb-fs-md) !important; }
.fb-choice__when { list-style: none; padding: 0 !important; display: grid; gap: 8px; }
.fb-choice__when li { position: relative; margin: 0; padding-left: 28px; line-height: 1.45; }
.fb-choice__when li::before { content: ""; position: absolute; left: 0; top: .15em; width: 18px; height: 18px; border-radius: 50%; background: var(--fb-color-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 10px no-repeat; }
.fb-choice__deadline { display: flex; align-items: center; gap: 10px; font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); margin-top: auto !important; }
.fb-choice__deadline .fb-timeline__date { flex-direction: row; gap: .3rem; align-items: baseline; padding: .3rem .65rem; font-size: 1rem; }
.fb-choice__cta a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; background: var(--fb-color-ink); color: #fff; font-weight: 700; text-decoration: none; }
.fb-choice__cta a:hover { background: #2c2d31; }
.fb-choice__cta a:focus-visible { outline: 3px solid var(--fb-color-accent); outline-offset: 2px; }
/* 3 compare table */
.fb-compare { margin: var(--fb-space-3) 0 var(--fb-space-4); }
.fb-compare table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: 18px; box-shadow: var(--fb-shadow-warm); overflow: hidden; font-size: var(--fb-fs-sm); }
.fb-compare caption { caption-side: top; text-align: left; padding: 0 0 10px; font-weight: 800; font-size: var(--fb-fs-md); color: var(--fb-color-text); }
.fb-compare :is(th, td) { padding: 14px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--fb-color-line); line-height: 1.45; }
.fb-compare tbody tr:last-child > * { border-bottom: 0; }
.fb-compare thead th { background: var(--fb-color-wood); font-size: var(--fb-fs-md); }
.fb-compare thead th:first-child, .fb-compare tbody th { width: 26%; color: var(--fb-color-text-2); font-weight: 600; }
.fb-compare thead th + th { border-left: 1px solid var(--fb-color-line); }
.fb-compare td { border-left: 1px solid var(--fb-color-line); }
@media (max-width: 40em) { .fb-compare :is(th, td) { padding: 10px; } .fb-compare thead th:first-child, .fb-compare tbody th { width: 30%; } }
/* 4 benefits */
.fb-benefits { list-style: none; padding: 0 !important; margin: var(--fb-space-3) 0 var(--fb-space-4); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 12px; }
.fb-benefit { position: relative; margin: 0; padding: 20px; border-radius: 16px; background: var(--fb-color-wood); display: flex; flex-direction: column; gap: 6px; }
.fb-archguide .fb-benefit > * { margin: 0; }
.fb-benefit__title { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.fb-benefit__title a { color: var(--fb-color-text); text-decoration: none; }
.fb-benefit__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.fb-benefit:hover .fb-benefit__title a { text-decoration: underline; text-underline-offset: .2em; }
.fb-benefit__ic { flex: none; color: var(--fb-color-accent); }
.fb-benefit__value { font-size: 1.5rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.fb-benefit__text { font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); line-height: 1.45; }
/* 5 steps */
.fb-steps { list-style: none; padding: 0 !important; margin: var(--fb-space-3) 0 var(--fb-space-4); counter-reset: fbstep; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 12px; }
.fb-steps > li { counter-increment: fbstep; position: relative; margin: 0; padding: 20px 20px 20px 64px; border-radius: 16px; background: #fff; box-shadow: var(--fb-shadow-warm); }
.fb-steps > li::before { content: counter(fbstep); position: absolute; left: 20px; top: 18px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--fb-color-accent); color: #fff; font-weight: 800; }
.fb-archguide .fb-steps > li > * { margin: 0; } .fb-steps > li > * + * { margin-top: 4px !important; }
.fb-steps > li > p:not(.fb-steps__title) { font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); }
@media (prefers-reduced-motion: no-preference) { .fb-guide-link, .fb-benefit { transition: box-shadow .2s, transform .2s; } .fb-guide-link:hover { transform: translateY(-2px); box-shadow: var(--fb-shadow-warm-2); } }
/* team cards v2: authors and reviewers share one component; subgrid rows for equal heights */
.fb-prose ul.fb-teamcards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 16px; }
.fb-prose ul.fb-teamcards > li.fb-teamcard { display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto auto 1fr auto; column-gap: 16px; row-gap: 4px; align-items: start; padding: 24px; font-size: var(--fb-fs-sm); line-height: 1.55; }
@supports (grid-template-rows: subgrid) { .fb-prose ul.fb-teamcards { grid-auto-rows: auto; } .fb-prose ul.fb-teamcards > li.fb-teamcard { grid-row: span 4; grid-template-rows: subgrid; } }
.fb-teamcard__av { grid-column: 1; grid-row: 1 / span 2; width: 64px; height: 64px; font-size: 1.1rem; }
.fb-teamcard__name { grid-column: 2; font-size: var(--fb-fs-md); color: var(--fb-color-text); line-height: 1.3; align-self: end; }
.fb-teamcard__sep { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fb-teamcard__role { grid-column: 2; color: var(--fb-color-accent); font-weight: 600; }
.fb-teamcard__role::first-letter { text-transform: uppercase; }
.fb-teamcard__bio { grid-column: 1 / -1; margin-top: 8px; color: var(--fb-color-text-2); }
.fb-teamcard__link { grid-column: 1 / -1; }
.fb-teamcard__link a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
/* Kontakt operator card */
.fb-opcard { font-style: normal; margin: var(--fb-space-3) 0; padding: 24px; border-radius: 18px; background: var(--fb-color-surface); border: 1px solid var(--fb-color-line); display: grid; gap: 20px; }
.fb-opcard__head { display: flex; gap: 14px; align-items: center; }
.fb-opcard__ic { flex: none; width: 48px; height: 48px; padding: 12px; box-sizing: border-box; border-radius: 14px; background: #fff; color: var(--fb-color-accent); }
.fb-opcard__name { display: block; font-size: var(--fb-fs-md); }
.fb-opcard__reg { display: block; font-size: var(--fb-fs-sm); color: var(--fb-color-text-2); }
.fb-opcard__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 16px 24px; }
.fb-opcard__cols > div { display: flex; flex-direction: column; gap: 4px; line-height: 1.55; }
.fb-opcard__lbl { font-size: var(--fb-fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fb-color-text-2); }
.fb-opcard__mail { margin: 0; display: flex; align-items: center; gap: 10px; padding-top: 16px; border-top: 1px solid var(--fb-color-line); color: var(--fb-color-accent); }
.fb-opcard__mail a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; font-weight: 700; }
/* cookie banner (CookieConsent v3, WordPress Developer's module): B palette overrides */
#cc-main { --cc-font-family: inherit; --cc-bg: #fff; --cc-primary-color: var(--fb-color-text); --cc-secondary-color: var(--fb-color-text-2);
  --cc-btn-primary-bg: var(--fb-color-ink); --cc-btn-primary-color: #fff; --cc-btn-primary-border-color: var(--fb-color-ink); --cc-btn-primary-hover-bg: #2c2d31; --cc-btn-primary-hover-color: #fff; --cc-btn-primary-hover-border-color: #2c2d31;
  --cc-btn-secondary-bg: var(--fb-color-wood); --cc-btn-secondary-color: var(--fb-color-text); --cc-btn-secondary-border-color: var(--fb-color-wood); --cc-btn-secondary-hover-bg: var(--fb-color-wood-2); --cc-btn-secondary-hover-color: var(--fb-color-text); --cc-btn-secondary-hover-border-color: var(--fb-color-wood-2);
  --cc-toggle-on-bg: var(--fb-color-accent); --cc-toggle-off-bg: #8a8f98; --cc-toggle-readonly-bg: #b9ad98; --cc-separator-border-color: var(--fb-color-line); --cc-link-color: var(--fb-color-accent);
  --cc-btn-border-radius: 999px; --cc-modal-border-radius: 20px; --cc-cookie-category-block-bg: var(--fb-color-surface); --cc-cookie-category-block-border: var(--fb-color-line); --cc-cookie-category-block-hover-bg: var(--fb-color-wood); --cc-section-category-border: var(--fb-color-line); --cc-overlay-bg: rgba(23, 24, 27, .55); }
#cc-main .cm { box-shadow: 0 24px 60px -20px rgba(40, 30, 15, .35); border: 1px solid var(--fb-color-line); }
#cc-main .cm__btn, #cc-main .pm__btn { min-height: 44px; font-weight: 700; }
#cc-main .cm__btn[data-role=show] { background: transparent; color: var(--fb-color-accent); border-color: var(--fb-color-line-strong); }
#cc-main :focus-visible { outline: 3px solid var(--fb-color-accent) !important; outline-offset: 2px; }
.fb-footer__bar .fb-cc-link { display: inline-flex; align-items: center; min-height: 24px; font-size: var(--fb-fs-xs); color: #c8c9cc; text-decoration: underline; text-underline-offset: .2em; }
.fb-footer__bar .fb-cc-link:hover { color: #fff; }
/* contact form ([fb_contact], WordPress Developer's module): B palette */
.fb-cf { max-width: 70ch; padding: clamp(20px, 3vw, 32px); border-radius: 20px; background: #fff; box-shadow: var(--fb-shadow-warm); }
.fb-cf__form { gap: 18px; }
.fb-cf label { font-weight: 700; color: var(--fb-color-text); }
.fb-cf input[type=text], .fb-cf input[type=email], .fb-cf select, .fb-cf textarea { min-height: 48px; padding: .7rem .9rem; border: 1px solid var(--fb-color-line-strong); border-radius: 12px; background: var(--fb-color-bg); color: var(--fb-color-text); font-size: 1rem; }
.fb-cf textarea { min-height: 9rem; resize: vertical; }
.fb-cf :is(input, select, textarea):hover { border-color: var(--fb-color-text-2); }
.fb-cf :is(input, select, textarea):focus-visible { outline: 3px solid var(--fb-color-accent); outline-offset: 1px; background: #fff; }
.fb-cf__hint, .fb-cf__intro { color: var(--fb-color-text-2); }
.fb-cf button[type=submit], .fb-cf input[type=submit] { justify-self: start; min-height: 48px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--fb-color-ink); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.fb-cf button[type=submit]:hover, .fb-cf input[type=submit]:hover { background: #2c2d31; }
.fb-cf__msg { border-radius: 14px; }
.fb-cf__msg--ok { background: var(--fb-color-accent-soft); }
.fb-cf__f--check input { accent-color: var(--fb-color-accent); }
.fb-cf .fb-cf__f--check label { font-weight: 400; }
/* guide link cards v2: description spans the full card width (icon + title + arrow on the first row), 3 columns max at 1280, single card capped */
.fb-guide-links { grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.fb-guide-links:has(> li:only-child) { grid-template-columns: minmax(0, 36rem); }
.fb-guide-link { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "ic t ar" "f f f"; align-items: center; row-gap: 10px; align-content: start; }
.fb-guide-link__ic { grid-area: ic; } .fb-guide-link__arrow { grid-area: ar; }
.fb-guide-link__txt { display: contents; }
.fb-guide-link__title { grid-area: t; }
.fb-guide-link__for { grid-area: f; font-size: var(--fb-fs-sm); line-height: 1.45; -webkit-line-clamp: 3; line-clamp: 3; }
/* contact form: invalid state must beat the B-palette field rule (0,3,1 > 0,2,1) */
.fb-cf .fb-cf__f :is(input, select, textarea)[aria-invalid="true"] { border: 2px solid #b3261e; background: #fff; }
.fb-cf .fb-cf__f :is(input, select, textarea)[aria-invalid="true"]:focus-visible { outline-color: #b3261e; }

/* Footer v5: 12-column grid (brand 4 + 3 equal link columns), one top line, 8px rhythm. Both installs. */
.fb-footer { --fb-fgap: var(--fb-space-4); }
.fb-footer .fb-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--fb-space-4); align-items: start; }
.fb-footer .fb-footer__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fb-space-3) var(--fb-space-3); margin: 0; }
.fb-footer .fb-fcol__h { display: flex; align-items: center; min-height: 44px; margin: 0 0 var(--fb-space-1); line-height: 1.2; }
.fb-footer .fb-fcol a { min-height: 40px; }
.fb-footer .fb-footer__operator a, .fb-footer__bar .fb-cc-link { min-height: 40px; display: inline-flex; align-items: center; }
.fb-footer .fb-rg__cards { grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: var(--fb-space-2); }
.fb-footer .fb-rg__card { height: 100%; box-sizing: border-box; padding: var(--fb-space-3); gap: var(--fb-space-2); }
.fb-footer .fb-rg__lead { padding: 0; }
.fb-footer .fb-footer__disclosure, .fb-footer .fb-footer__bar { margin-inline: 0; padding-inline: 0; }
@media (min-width: 48em) {
  .fb-footer .fb-footer__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--fb-fgap); }
  .fb-footer .fb-footer__about { grid-column: 1 / span 4; }
  .fb-footer .fb-footer__cols { grid-column: 5 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--fb-fgap); }
  .fb-footer .fb-fcol a, .fb-footer .fb-footer__operator a, .fb-footer__bar .fb-cc-link { min-height: 32px; }
  .fb-footer .fb-rg { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--fb-fgap); align-items: stretch; padding: var(--fb-space-3); }
  .fb-footer .fb-rg__lead { grid-column: 1 / span 5; align-self: center; }
  .fb-footer .fb-rg__cards { grid-column: 6 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* guide link cards v3 (category archives): full-width grid aligned to the text column, thumbnail cards, 3/2/1 columns; related guides as compact chips */
.fb-prose ul.fb-guide-links, .fb-guide-links { padding: 0; margin-inline: 0; max-width: none; }
.fb-guide-links--cards { grid-template-columns: 1fr; gap: var(--fb-space-3); }
@media (min-width: 40em) { .fb-guide-links--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .fb-guide-links--cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fb-guide-links--cards:has(> li:only-child) { grid-template-columns: 1fr; }
@media (min-width: 40em) { .fb-guide-links--cards:has(> li:only-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fb-guide-link--card { position: relative; padding: 0 0 var(--fb-space-3); overflow: hidden; border-radius: var(--fb-radius); grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "th th" "t ar" "f f"; align-items: start; align-content: start; row-gap: var(--fb-space-2); column-gap: var(--fb-space-2); }
.fb-guide-link__thumb { grid-area: th; display: block; aspect-ratio: 16 / 9; background: var(--fb-color-accent-soft); margin-bottom: var(--fb-space-1); }
.fb-guide-link__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fb-guide-link__thumb--ic { display: grid; place-items: center; color: var(--fb-color-accent); }
.fb-guide-link--card .fb-guide-link__title { grid-area: t; padding-left: var(--fb-space-3); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.fb-guide-link--card .fb-guide-link__arrow { grid-area: ar; margin: 2px var(--fb-space-3) 0 0; flex: none; }
.fb-guide-link--card .fb-guide-link__for { grid-area: f; padding-inline: var(--fb-space-3); -webkit-line-clamp: 2; line-clamp: 2; max-height: none; }
.fb-guide-link--card:hover { box-shadow: var(--fb-shadow-warm-2); }
.fb-guide-link--card:hover .fb-guide-link__title { text-decoration: underline; text-underline-offset: .2em; color: var(--fb-color-accent-strong); }
.fb-guide-link--card:focus-visible { outline: var(--fb-focus); outline-offset: 2px; }
.fb-guide-links--chips { display: flex; flex-wrap: wrap; gap: var(--fb-space-2); }
.fb-guide-links--chips > li { display: block; }
.fb-guide-links--chips .fb-guide-link { display: inline-flex; align-items: center; gap: var(--fb-space-2); min-height: 44px; padding: 6px 14px 6px 8px; border-radius: var(--fb-radius-pill); box-shadow: none; border: 1px solid var(--fb-color-line); font-size: var(--fb-fs-sm); }
.fb-guide-links--chips .fb-guide-link__ic { width: 28px; height: 28px; padding: 6px; border-radius: 50%; }
.fb-guide-links--chips .fb-guide-link__title { font-weight: 600; }
.fb-guide-links--chips .fb-guide-link__arrow { display: none; }
.fb-guide-links--chips .fb-guide-link:hover { border-color: var(--fb-color-accent); transform: none; }
.fb-guide-links--chips .fb-guide-link:hover .fb-guide-link__title { color: var(--fb-color-accent-strong); }
.fb-guide-links--chips .fb-guide-link:focus-visible { outline: var(--fb-focus); outline-offset: 2px; }
/* Footer notes: disclosure / disclaimer full width (grid 1 / -1), edges match the RG help box. Both installs. */
.fb-footer .fb-footer__notes { grid-template-columns: minmax(0, 1fr); }
.fb-footer .fb-footer__notes > .fb-footer__disclosure { grid-column: 1 / -1; max-width: none; width: auto; margin-inline: 0; padding-inline: 0; overflow-wrap: break-word; }

/* Sidebar 'Súvisiace články': 64px rounded thumbnail left of the title, one link per item; neutral tile without a featured image. */
.fb-side__list a.fb-side__rel { display: flex; align-items: center; gap: 12px; padding: 0; }
.fb-side__thumb { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; background: var(--fb-color-band-line); }
.fb-side__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fb-side__rel-t { min-width: 0; overflow-wrap: anywhere; }

/* ---- cc 2026-10-21: .fb-notice box (was unstyled) + .fb-cta-placeholder; .fb-example is already styled above, left intact ---- */
.fb-notice{background:var(--fb-color-mark-soft,#fff4cc);border:1px solid #f1d98c;border-left:4px solid var(--fb-color-mark,#f5b50a);border-radius:var(--fb-radius-sm,10px);padding:14px 16px;margin:1.25rem 0;font-size:var(--fb-fs-sm,.95rem);line-height:1.55;color:var(--fb-color-ink,#14181f)}
.fb-notice strong{color:var(--fb-color-ink,#14181f)}
.fb-notice a{color:var(--fb-color-accent,#0a7262)}
.fb-cta-placeholder{background:var(--fb-color-mark-soft,#fff4cc);border:1px dashed #e6c968;border-radius:var(--fb-radius-sm,10px);padding:12px 16px;margin:1.5rem 0;font-size:var(--fb-fs-sm,.95rem)}
