/* ===================================================================
   Recenzia.cz – Marketing design systém v7 (UI Kit)
   Sdílená navigace + patička pro celý marketing web, plný vzhled
   homepage. Třídy se zásahem mimo marketing jsou prefixované `rz-`,
   sekce homepage žijí pod wrapperem `.rz-home`.
   =================================================================== */

:root {
  --rz-bg: #FAFAF7;
  --rz-bg-alt: #F4F2EC;
  --rz-bg-soft: #EFEDE8;
  --rz-bg-dark: #0F1A2E;
  --rz-bg-dark-2: #1A2438;
  --rz-white: #FFFFFF;
  --rz-text: #0F1A2E;
  --rz-text-muted: #5A6275;
  --rz-text-on-dark: #E8EAEF;
  --rz-text-on-dark-mute: #A4ABB8;
  --rz-green: #3A8259;
  --rz-green-2: #72B58E;
  --rz-green-light: #E3F1E8;
  --rz-amber: #FFC23C;
  --rz-amber-2: #FF9F1C;
  --rz-amber-light: #FFF2D4;
  --rz-amber-text: #8C6300;
  --rz-red: #E8344E;
  --rz-red-light: #FFE6EA;
  --rz-blue: #1A73E8;
  --rz-blue-light: #E8F0FE;
  --rz-border: #E8E5DD;
  --rz-border-soft: #EFEDE8;
  --rz-container: 1216px;
  --rz-radius-sm: 12px;
  --rz-radius: 16px;
  --rz-radius-lg: 24px;
  --rz-radius-xl: 32px;
  --rz-shadow-card: 0 2px 6px rgba(15,26,46,0.04), 0 12px 32px rgba(15,26,46,0.05);
  --rz-shadow-soft: 0 1px 2px rgba(15,26,46,0.04);
  --rz-shadow-strong: 0 12px 36px rgba(15,26,46,0.12);
}

/* ---------- Scoped reset ---------- */
.rz-home *,
.rz-nav *,
.rz-footer *,
.rz-auth * { box-sizing: border-box; margin: 0; padding: 0; }

.rz-home,
.rz-nav,
.rz-footer,
.rz-auth {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.rz-home {
  font-size: 16px;
  line-height: 1.55;
  color: var(--rz-text);
  background: var(--rz-bg);
}
.rz-home h1,
.rz-home h2,
.rz-home h3,
.rz-home h4 {
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--rz-text);
}
.rz-home p { color: var(--rz-text-muted); }
.rz-home a { color: inherit; text-decoration: none; }
.rz-home button { font: inherit; border: none; cursor: pointer; }
.rz-nav a,
.rz-footer a { text-decoration: none; color: inherit; }

.rz-container { max-width: var(--rz-container); margin: 0 auto; padding: 0 32px; }

/* ========== NAV ========== */
.rz-nav {
  background: rgba(250,250,247,0.92);
  border-bottom: 1px solid transparent;
  position: sticky;
  top: 0;
  z-index: 50;
  /* Lighter blur radius – 6px is visually indistinguishable from 12px once
     the layer is sticky, but ~50% cheaper to repaint on each scroll frame.
     Combined with the higher background alpha (.92 vs .85) the bar still
     feels frosted but doesn't tax the GPU as the hero scrolls underneath. */
  backdrop-filter: saturate(160%) blur(6px);
  -webkit-backdrop-filter: saturate(160%) blur(6px);
}
.rz-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}

/* UX audit 2026-05-29 P2 #12: skinned nav na auth pages (login/register/forgot/
   reset). Plné nav (Produkt / Pro koho / Ceník / Zdroje / Kontakt / 2× CTA)
   nabízí 8 kompetitivních klikatelných cílů — odvádí pozornost od jediné akce
   v hero. Skin = logo + jeden alt CTA (opposite auth flow). */
.rz-nav--auth { box-shadow: none; }
.rz-nav--auth .rz-nav__inner { justify-content: space-between; }
.rz-nav__auth-cta { display: inline-flex; align-items: center; }
.rz-nav__auth-cta .rz-nav__login {
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  color: var(--rz-text, #0f1a2e);
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--rz-border, rgba(15, 35, 70, 0.14));
  background: rgba(255, 255, 255, 0.7);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.rz-nav__auth-cta .rz-nav__login:hover {
  background: #ffffff;
  border-color: rgba(15, 35, 70, 0.28);
  color: var(--rz-text, #0f1a2e);
}
/* `body.landing-template` prefix: Bootstrapův reset `body.landing-template a`
   (font-weight:normal) jinak ztenčí wordmark z 800 na 400. */
body.landing-template .rz-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 20px;
  letter-spacing: -0.02em;
}
.rz-logo__mark {
  height: 32px;
  width: auto;
  flex: none;
  display: block;
}
.rz-logo__full {
  height: 36px;
  width: auto;
  flex: none;
  display: block;
}
body.landing-template .rz-logo__text { color: var(--rz-text); font-weight: 800; }
.rz-logo__dot { width: 5px; height: 5px; border-radius: 999px; background: var(--rz-amber); display: inline-block; margin-left: 1.5px; }
/* `body.landing-template` prefix: Bootstrapův reboot `body.landing-template nav`
   (display:block) jinak přebije flex a vypne `gap` – odkazy se slijí k sobě. */
body.landing-template .rz-nav__menu { display: flex; gap: 28px; align-items: center; }
body.landing-template .rz-nav__menu a {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--rz-text-muted) !important;
  transition: color 0.15s ease;
}
body.landing-template .rz-nav__menu a:hover { color: var(--rz-text) !important; }
body.landing-template .rz-nav__menu a.is-active { color: var(--rz-text) !important; }
.rz-nav__actions { display: flex; gap: 10px; align-items: center; }
body.landing-template .rz-nav__login {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--rz-text) !important;
  padding: 8px 14px;
}

/* ---- Dropdown menu (Produkt / Pro koho / Zdroje) ---- */
/* Desktop: dropdown panel "flies out" pod buttonem; mobile (≤1100px) panel je
   inline accordion uvnitř hamburger panelu (kaskáda v media query níže). */
.rz-nav__dropdown { position: relative; display: inline-flex; align-items: center; }
body.landing-template .rz-nav__dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--rz-text-muted);
  transition: color 0.15s ease;
}
body.landing-template .rz-nav__dropdown-toggle:hover,
body.landing-template .rz-nav__dropdown.is-open .rz-nav__dropdown-toggle,
body.landing-template .rz-nav__dropdown.is-active .rz-nav__dropdown-toggle {
  color: var(--rz-text);
}
.rz-nav__dropdown-caret {
  transition: transform 0.18s ease;
  color: currentColor;
}
.rz-nav__dropdown.is-open .rz-nav__dropdown-caret { transform: rotate(180deg); }
.rz-nav__dropdown-panel {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -6px);
  min-width: 260px;
  padding: 8px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 14px;
  box-shadow: 0 18px 36px -18px rgba(15, 26, 46, 0.25), 0 2px 6px rgba(15, 26, 46, 0.05);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
  z-index: 60;
}
/* Neviditelný "bridge" mezi togglem a panelem, aby hover nepřeskočil mezeru. */
.rz-nav__dropdown-panel::before {
  content: "";
  position: absolute;
  top: -10px; left: 0; right: 0;
  height: 10px;
}
.rz-nav__dropdown.is-open .rz-nav__dropdown-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 4px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0s;
}
body.landing-template .rz-nav__dropdown-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.12s ease;
}
body.landing-template .rz-nav__dropdown-item:hover,
body.landing-template .rz-nav__dropdown-item:focus-visible {
  background: var(--rz-surface-2, #f3f1ec);
  color: var(--rz-text) !important;
}
body.landing-template .rz-nav__dropdown-item.is-active {
  background: var(--rz-surface-2, #f3f1ec);
}
.rz-nav__dropdown-item-label {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--rz-text);
  letter-spacing: -0.005em;
}
.rz-nav__dropdown-item-desc {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--rz-text-muted);
  line-height: 1.35;
}

/* ========== BUTTONS ========== */
/* Prefix `body.landing-template` + !important on color/background: nutné, aby
   tlačítka přebila Bootstrapův scoped reset `body.landing-template a`
   (color/background-color:transparent) a `a:hover` (color !important)
   z bootstrap4-scoped.css. Bez toho má amber tlačítko průhledné pozadí. */
body.landing-template .rz-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 18px;
  border-radius: 999px;
  font-size: 15px; font-weight: 600;
  cursor: pointer; border: 1px solid transparent;
  text-decoration: none;
  transition: transform 0.1s ease, background 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
  letter-spacing: -0.005em;
  font-family: inherit;
}
body.landing-template .rz-btn:hover { transform: translateY(-1px); }
body.landing-template .rz-btn--primary { background: var(--rz-bg-dark) !important; color: var(--rz-white) !important; }
body.landing-template .rz-btn--primary:hover { background: var(--rz-bg-dark-2) !important; color: var(--rz-white) !important; }
body.landing-template .rz-btn--amber { background: var(--rz-amber) !important; color: var(--rz-bg-dark) !important; }
body.landing-template .rz-btn--amber:hover { background: var(--rz-amber-2) !important; color: var(--rz-bg-dark) !important; }
body.landing-template .rz-btn--sage { background: var(--rz-green) !important; color: var(--rz-white) !important; }
body.landing-template .rz-btn--sage:hover { background: var(--rz-green-2) !important; color: var(--rz-bg-dark) !important; }
body.landing-template .rz-btn--secondary { background: var(--rz-white) !important; color: var(--rz-text) !important; border-color: var(--rz-border); }
body.landing-template .rz-btn--secondary:hover { border-color: var(--rz-text-muted); color: var(--rz-text) !important; }
body.landing-template .rz-btn--ghost { background: transparent !important; color: var(--rz-text) !important; padding: 11px 14px; }
body.landing-template .rz-btn--ghost:hover { color: var(--rz-green) !important; }
body.landing-template .rz-btn--lg { padding: 14px 24px; font-size: 16px; }
.icon-arrow { stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.icon-check { stroke: var(--rz-green); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.icon-star { fill: var(--rz-amber); }

/* ===================================================================
   HOMEPAGE – vše pod .rz-home
   =================================================================== */

/* ========== HERO ========== */
.rz-home .hero {
  padding: 56px 0 96px;
  position: relative;
  overflow: hidden;
}
.rz-home .hero::before {
  content: "";
  position: absolute;
  top: -200px; right: -200px;
  width: 700px; height: 700px;
  background: radial-gradient(closest-side, rgba(255,194,60,0.18), transparent);
  pointer-events: none;
}
.rz-home .hero__inner {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 56px;
  align-items: center;
  position: relative;
}
.rz-home .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  background: var(--rz-green-light);
  color: var(--rz-green);
  font-weight: 600;
  font-size: 13px;
  border-radius: 999px;
}
.rz-home .eyebrow__dot {
  width: 8px; height: 8px;
  border-radius: 999px;
  background: var(--rz-green);
  position: relative;
}
.rz-home .eyebrow__dot::after {
  content: "";
  position: absolute; inset: -3px;
  border-radius: 999px;
  border: 2px solid var(--rz-green);
  opacity: 0.4;
  animation: rz-pulse 1.6s ease-out infinite;
}
@keyframes rz-pulse {
  0% { transform: scale(0.8); opacity: 0.6; }
  100% { transform: scale(1.5); opacity: 0; }
}
.rz-home .hero h1 {
  margin: 22px 0 24px;
  letter-spacing: -0.04em;
  font-weight: 800;
  line-height: 0.96;
  max-width: 720px;
}
.rz-home .hero h1 .h1-lead {
  display: block;
  font-size: clamp(20px, 2.7vw, 38px);
  letter-spacing: -0.035em;
  line-height: 1.05;
  margin-bottom: 6px;
  color: var(--rz-text);
}
.rz-home .hero h1 em {
  display: block;
  font-style: normal;
  font-size: 88px;
  line-height: 0.94;
  letter-spacing: -0.045em;
  color: var(--rz-green);
}
.rz-home .hero__sub {
  font-size: 17px;
  line-height: 1.5;
  color: var(--rz-text-muted);
  max-width: 480px;
  margin-bottom: 32px;
}
.rz-home .hero__ctas {
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

/* Persona switcher above the hero copy – pill-shaped tabs that swap
   the H1/sub/CTA in place via JS. URL stays /, SEO stays single-page. */
.rz-home .hero__persona-switcher {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0 0 16px;
  padding: 4px;
  border-radius: 999px;
  background: var(--rz-bg-alt);
  box-shadow: var(--rz-shadow-soft);
  align-self: flex-start;
}
.rz-home .hero__persona-tab {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--rz-text-muted);
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.rz-home .hero__persona-tab:hover {
  color: var(--rz-text);
}
.rz-home .hero__persona-tab.is-active {
  background: var(--rz-green);
  color: var(--rz-white);
}
/* Reassurance line sits between the CTAs and the trust micro-row. Reads
   "no credit card, free after trial" so the user clicks Start without
   the unspoken fear of being charged. */
.rz-home .hero__reassurance {
  margin: 0 0 18px;
  font-size: 13px;
  color: var(--rz-text-muted);
  line-height: 1.5;
}
.rz-home .hero__micro {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.rz-home .hero__micro-item {
  display: flex; align-items: center; gap: 7px;
  font-size: 13.5px;
  color: var(--rz-text-muted);
  font-weight: 500;
}
.rz-home .hero__micro-sep {
  width: 4px; height: 4px;
  border-radius: 999px;
  background: var(--rz-border);
}

/* ========== HERO VISUAL – DASHBOARD MOCK ========== */
.rz-home .hero__visual { position: relative; }
.rz-home .dash {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 22px;
  box-shadow: var(--rz-shadow-strong);
  border: 1px solid var(--rz-border-soft);
  position: relative;
}
.rz-home .dash::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: calc(var(--rz-radius-lg) + 1px);
  padding: 1px;
  background: linear-gradient(180deg, rgba(255,194,60,0.4), transparent 40%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events: none;
}
.rz-home .dash__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rz-border-soft);
  margin-bottom: 14px;
}
.rz-home .dash__title { font-weight: 700; font-size: 16px; }
.rz-home .dash__sub { font-size: 12px; color: var(--rz-text-muted); margin-top: 2px; font-weight: 500; }
.rz-home .live-badge {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 11px;
  background: var(--rz-green-light);
  color: var(--rz-green);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}
.rz-home .live-dot {
  width: 7px; height: 7px;
  border-radius: 999px;
  background: var(--rz-green);
  animation: rz-livePulse 1.4s ease-in-out infinite;
}
@keyframes rz-livePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.9); }
}
.rz-home .review-row {
  padding: 14px 0;
  border-bottom: 1px solid var(--rz-border-soft);
}
.rz-home .review-row:last-child { border-bottom: none; }
.rz-home .review-row__top {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 8px;
}
.rz-home .review-row__left { display: flex; align-items: center; gap: 10px; }
.rz-home .source-pill {
  display: inline-flex; align-items: center;
  padding: 3px 9px;
  font-size: 11px; font-weight: 700;
  border-radius: 999px;
  letter-spacing: 0.01em;
}
.rz-home .source-pill--heureka { background: var(--rz-red-light); color: var(--rz-red); }
.rz-home .source-pill--google { background: var(--rz-blue-light); color: var(--rz-blue); }
.rz-home .source-pill--seznam { background: var(--rz-bg-alt); color: var(--rz-text); }
.rz-home .source-pill--form { background: var(--rz-bg-dark); color: var(--rz-white); }
.rz-home .review-row__name { font-size: 13px; font-weight: 600; color: var(--rz-text); }
.rz-home .stars-row { display: flex; gap: 2px; align-items: center; }
.rz-home .review-row__text {
  font-size: 13.5px;
  color: var(--rz-text);
  line-height: 1.5;
  font-style: normal;
  margin-bottom: 8px;
}
.rz-home .review-row__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
}
.rz-home .status-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
}
.rz-home .status-pill--success { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .status-pill--warning { background: var(--rz-amber-light); color: var(--rz-amber-text); }
.rz-home .review-row__time { color: var(--rz-text-muted); font-weight: 500; font-size: 11.5px; }

/* ========== TRUST STRIP ========== */
.rz-home .trust {
  padding: 40px 0 56px;
  border-top: 1px solid var(--rz-border-soft);
}
.rz-home .trust__label {
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--rz-text-muted);
  margin-bottom: 28px;
}
/* Staticka rada log, vystredena v kontejneru. Zalamuje se na uzkych
   sirkach (flex-wrap), takze nepotrebuje marquee ani horizontalni scroll. */
.rz-home .trust__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px 80px;
  min-height: 56px;
}
.rz-home .trust__logo {
  display: inline-flex;
  align-items: center;
  opacity: 0.85;
  transition: opacity 0.15s ease;
}
.rz-home .trust__logo[hidden] { display: none; }
.rz-home .trust__logo:hover { opacity: 1; }
/* Pri odhaleni extra log: startuji neviditelne a jemne nabihaji,
   aby prechod nebyl skokovy. is-shown se prida az po reflow (JS). */
.rz-home .trust__logo--extra { opacity: 0; }
.rz-home .trust__logo--extra.is-shown {
  opacity: 0.85;
  transition: opacity 0.3s ease;
}
.rz-home .trust__logo--extra.is-shown:hover { opacity: 1; }
.rz-home .trust__logo img,
.rz-home .trust__logo svg { display: block; height: 42px; width: auto; }
.rz-home .trust__logo img[src*="Heurekalogo"] { height: 34px; }
.rz-home .trust__logo img[src*="Seznam"] { height: 36px; }
/* Upgates: orezana varianta SVG (upgateslogo-trim.svg) bez velkeho prazdneho
   mista v platne; mirne vyssi nez ostatni loga pro opticke vyvazeni. */
.rz-home .trust__logo img[src*="upgateslogo"] { height: 46px; }
.rz-home .trust__logo img[src*="woocommerce"] { height: 28px; }
.rz-home .trust__logo img[src*="Shoptetlogo"] { height: 30px; }

/* Tlacitko "Ukazat vsechny zdroje" pod logy */
.rz-home .trust__more {
  text-align: center;
  margin-top: 28px;
}
.rz-home .trust__more-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: var(--rz-text-muted);
  background: none;
  border: 1px solid var(--rz-border-soft);
  border-radius: 999px;
  padding: 8px 18px;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.rz-home .trust__more-btn:hover {
  color: var(--rz-text);
  border-color: var(--rz-text-muted);
}
/* Po rozbaleni tlacitko schovame – uz neni co odhalovat */
.rz-home .trust__more.is-expanded { display: none; }

/* ========== SECTION GENERIC ========== */
.rz-home .section {
  padding: 96px 0;
  position: relative;
}
.rz-home .section--dark { background: var(--rz-bg-dark); color: var(--rz-text-on-dark); }
.rz-home .section--alt { background: var(--rz-bg-alt); }
.rz-home .section__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}
.rz-home .section__overline {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--rz-green);
  margin-bottom: 16px;
}
.rz-home .section--dark .section__overline { color: var(--rz-amber); }
.rz-home .section h2 {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 18px;
}
.rz-home .section--dark h2 { color: var(--rz-white); }
.rz-home .section__lead {
  font-size: 19px;
  color: var(--rz-text-muted);
  line-height: 1.55;
}
.rz-home .section--dark .section__lead { color: var(--rz-text-on-dark-mute); }

/* ========== PRO KOHO ========== */
.rz-home .persona-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.rz-home .persona {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 32px;
  border: 1px solid var(--rz-border-soft);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.rz-home .persona:hover { transform: translateY(-3px); box-shadow: var(--rz-shadow-card); }
.rz-home .persona__icon {
  width: 48px; height: 48px;
  background: var(--rz-green-light);
  color: var(--rz-green);
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.rz-home .persona__icon--amber { background: var(--rz-amber-light); color: var(--rz-amber-text); }
.rz-home .persona__icon--dark { background: var(--rz-bg-dark); color: var(--rz-amber); }
.rz-home .persona h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.rz-home .persona p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--rz-text-muted);
}

/* Persona – scenario variants (home.php) */
.rz-home .persona--ecom,
.rz-home .persona--local,
.rz-home .persona--brand {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0 28px 22px;
  overflow: hidden;
}
.rz-home .persona--ecom  { --persona-accent: var(--rz-amber-2); }
.rz-home .persona--local { --persona-accent: var(--rz-green); }
.rz-home .persona--brand { --persona-accent: var(--rz-bg-dark); }
.rz-home .persona__cover {
  position: relative;
  margin: 0 -28px 22px;
  height: 140px;
  overflow: hidden;
  background: var(--rz-bg-alt);
  border-bottom: 3px solid var(--persona-accent);
}
.rz-home .persona__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.rz-home .persona:hover .persona__cover img { transform: scale(1.04); }
.rz-home .persona--ecom::before,
.rz-home .persona--local::before,
.rz-home .persona--brand::before {
  content: none;
}
.rz-home .persona--ecom .persona__cover,
.rz-home .persona--local .persona__cover,
.rz-home .persona--brand .persona__cover { margin-top: 0; margin-bottom: 18px; }
.rz-home .persona--ecom .persona__icon,
.rz-home .persona--local .persona__icon,
.rz-home .persona--brand .persona__icon { display: none; }
.rz-home .persona__tag { margin-top: 0; }
.rz-home .persona--ecom:hover,
.rz-home .persona--local:hover,
.rz-home .persona--brand:hover {
  transform: translateY(-4px);
  border-color: var(--persona-accent);
  box-shadow: var(--rz-shadow-card);
}
.rz-home .persona__tag {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  height: 24px;
  padding: 0 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.rz-home .persona--ecom  .persona__tag { background: var(--rz-amber-light); color: var(--rz-amber-text); }
.rz-home .persona--local .persona__tag { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .persona--brand .persona__tag { background: var(--rz-bg-soft);     color: var(--rz-text); }
.rz-home .persona--ecom .persona__icon,
.rz-home .persona--local .persona__icon,
.rz-home .persona--brand .persona__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
}
.rz-home .persona--ecom h3,
.rz-home .persona--local h3,
.rz-home .persona--brand h3 {
  margin-bottom: 12px;
}
.rz-home .persona--ecom p,
.rz-home .persona--local p,
.rz-home .persona--brand p {
  margin-bottom: 22px;
}
.rz-home .persona__chips {
  list-style: none;
  padding: 16px 0 0;
  margin: auto 0 0;
  border-top: 1px dashed var(--rz-border);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rz-home .persona__chips li {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--rz-text);
  background: var(--rz-bg-alt);
  border: 1px solid var(--rz-border-soft);
  border-radius: 999px;
  padding: 5px 10px;
  line-height: 1;
  white-space: nowrap;
}

/* CTA INLINE */
.rz-home .publish-article {
  display: grid;
  grid-template-columns: minmax(0, 320px) 1fr;
  align-items: stretch;
  gap: 0;
  margin-top: 48px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 18px 40px -28px rgba(15, 26, 46, 0.28);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.rz-home .publish-article:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 194, 60, 0.55);
  box-shadow: 0 26px 52px -26px rgba(15, 26, 46, 0.3);
}
.rz-home .publish-article__visual {
  position: relative;
  display: block;
  min-height: 200px;
  background: var(--rz-bg-soft, #f4f6fa);
}
.rz-home .publish-article__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rz-home .publish-article__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 32px 36px;
}
.rz-home .publish-article__eyebrow {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rz-green);
}
.rz-home .publish-article__title {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--rz-text);
}
.rz-home .publish-article__excerpt {
  font-size: 16px;
  line-height: 1.6;
  color: var(--rz-text-muted);
}
.rz-home .publish-article__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--rz-green);
}
.rz-home .publish-article__cta svg { stroke: currentColor; stroke-width: 2.5; transition: transform 0.2s ease; }
.rz-home .publish-article:hover .publish-article__cta svg { transform: translateX(3px); }

@media (max-width: 720px) {
  .rz-home .publish-article { grid-template-columns: 1fr; }
  .rz-home .publish-article__visual { min-height: 180px; }
  .rz-home .publish-article__body { padding: 26px 24px; }
  .rz-home .publish-article__title { font-size: 21px; }
}

/* ========== JAK TO FUNGUJE ========== */
.rz-home .steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  position: relative;
}
.rz-home .step {
  position: relative;
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 32px 28px 28px;
  border: 1px solid var(--rz-border-soft);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  isolation: isolate;
}
.rz-home .step:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 194, 60, 0.55);
  box-shadow: 0 22px 44px -22px rgba(15, 26, 46, 0.22);
}
.rz-home .step__num {
  position: absolute;
  top: -8px;
  right: 14px;
  font-size: 160px;
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.06em;
  color: rgba(255, 159, 28, 0.10);
  -webkit-text-stroke: 1.5px rgba(255, 159, 28, 0.22);
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.rz-home .step__icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--rz-amber-light) 0%, #FFFFFF 100%);
  border: 1px solid rgba(255, 194, 60, 0.45);
  color: var(--rz-amber-text);
  margin-bottom: 22px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 6px 16px -10px rgba(255, 159, 28, 0.45);
}
.rz-home .step__icon svg { width: 24px; height: 24px; }
.rz-home .step__body { position: relative; z-index: 1; }
.rz-home .step__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rz-amber-text);
  margin-bottom: 8px;
}
.rz-home .step h3 {
  font-size: 19px;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.32;
  color: var(--rz-text);
}
.rz-home .step p {
  font-size: 14.5px;
  line-height: 1.62;
  color: var(--rz-text-muted);
  margin: 0;
}
/* Chevron connectors between cards (3-col layout only) */
.rz-home .step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -22px;
  width: 14px;
  height: 14px;
  transform: translateY(-50%) rotate(45deg);
  border-top: 2.5px solid rgba(255, 159, 28, 0.55);
  border-right: 2.5px solid rgba(255, 159, 28, 0.55);
  z-index: 2;
  pointer-events: none;
}
/* Backward-compat: filled variant */
.rz-home .step--filled {
  background: var(--rz-green);
  color: var(--rz-white);
  border-color: var(--rz-green);
}
.rz-home .step--filled h3 { color: var(--rz-white); }
.rz-home .step--filled p { color: rgba(255, 255, 255, 0.92); }
.rz-home .step--filled .step__num { color: rgba(255, 255, 255, 0.14); -webkit-text-stroke-color: rgba(255, 255, 255, 0.28); }

/* HOW IT WORKS – two cards side by side */
.rz-home .how-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  align-items: stretch;
}
.rz-home .how-cards .step { height: 100%; }
.rz-home .how-cards .step:not(:last-child)::after { display: none; }

/* =========================================================
   /widgets – sekce „Nasazení" (kroky)
   Velké číslo dříve leželo jako watermark přes odstavec a text
   se přes něj ztrácel. Tady číslo přesouváme do hlavičky karty
   (velký gradientový číselník + accent linka) a obsah už pod
   ním nikdy neleží. Scopováno na .rz-home.rz-widgets, aby to
   neovlivnilo kroky na ostatních stránkách.
   ========================================================= */
.rz-home.rz-widgets .steps { gap: 24px; }
.rz-home.rz-widgets .step {
  display: flex;
  flex-direction: column;
  padding: 30px 28px 28px;
}
/* číslo: z překrývajícího watermarku → jednoduché plné číslo nahoře */
.rz-home.rz-widgets .step__num {
  position: relative;
  top: auto;
  right: auto;
  z-index: 1;
  display: block;
  width: max-content;
  font-size: 48px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  -webkit-text-stroke: 0;
  color: var(--rz-amber-2);
  margin: 0 0 18px;
}
.rz-home.rz-widgets .step h3 {
  position: relative;
  z-index: 1;
}
.rz-home.rz-widgets .step p {
  position: relative;
  z-index: 1;
}
/* zelená (poslední) karta: světlé číslo na tmavém pozadí */
.rz-home.rz-widgets .step--filled .step__num {
  color: #ffffff;
}
/* šipky mezi kartami: vycentrovat do mezery (24px) a odsadit od karet */
.rz-home.rz-widgets .step:not(:last-child)::after {
  left: calc(100% + 12px);
  right: auto;
  width: 11px;
  height: 11px;
  border-top-width: 2px;
  border-right-width: 2px;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* ASSISTED LAUNCH callout */
.rz-home .assisted-launch {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 32px 28px 28px;
  background: var(--rz-amber-light);
  border: 1px solid rgba(255, 194, 60, 0.55);
  border-radius: var(--rz-radius-lg);
}
.rz-home .assisted-launch__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--rz-white);
  border: 1px solid rgba(255, 194, 60, 0.45);
  color: var(--rz-amber-text);
  margin-bottom: 22px;
}
.rz-home .assisted-launch__icon svg { width: 24px; height: 24px; }
.rz-home .assisted-launch__body h3 {
  font-size: 19px;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.32;
  color: var(--rz-text);
}
.rz-home .assisted-launch__body p {
  font-size: 14.5px;
  line-height: 1.62;
  color: var(--rz-text-muted);
  margin: 0;
}
@media (max-width: 640px) {
  .rz-home .how-cards { grid-template-columns: 1fr; gap: 20px; }
}

/* CTA AMBER PILL */
.rz-home .cta-amber-pill {
  text-align: center;
  margin-top: 56px;
}
.rz-home .cta-amber-pill__btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 32px;
  background: var(--rz-amber);
  color: var(--rz-bg-dark);
  font-weight: 700;
  font-size: 16px;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(255,194,60,0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.rz-home .cta-amber-pill__btn:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(255,194,60,0.45); color: var(--rz-bg-dark) !important; }
.rz-home .cta-amber-pill__sub {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 500;
  color: var(--rz-text-muted);
}

/* ========== FEATURE OVERVIEW ========== */
.rz-home .fo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.rz-home .fo-cell {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 26px 28px;
  border: 1px solid var(--rz-border-soft);
  display: flex;
  align-items: flex-start;
  gap: 18px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.rz-home .fo-cell:hover { transform: translateY(-2px); box-shadow: var(--rz-shadow-card); }
.rz-home .fo-cell__icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rz-home .fo-cell__icon--green { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .fo-cell__icon--amber { background: var(--rz-amber-light); color: var(--rz-amber-text); }
.rz-home .fo-cell__icon--blue { background: var(--rz-blue-light); color: var(--rz-blue); }
.rz-home .fo-cell__icon--dark { background: var(--rz-bg-dark); color: var(--rz-amber); }
.rz-home .fo-cell__icon--neutral { background: var(--rz-bg-alt); color: var(--rz-text); }
.rz-home .fo-cell__body { flex: 1; }
.rz-home .fo-cell h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.rz-home .fo-cell p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--rz-text-muted);
}

/* ========== PUBLIKACE ========== */
.rz-home .publish-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.rz-home .publish-card {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  padding: 32px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rz-home .publish-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--rz-shadow-card);
}
.rz-home .publish-card__title {
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 8px;
}
.rz-home .publish-card__desc {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--rz-text-muted);
  margin-bottom: 24px;
  max-width: 380px;
}
.rz-home .preview {
  background: var(--rz-bg-alt);
  border-radius: var(--rz-radius);
  padding: 16px;
  position: relative;
  height: 232px;
  overflow: hidden;
  border: 1px dashed var(--rz-border);
}
.rz-home .preview__placeholder-tag {
  position: absolute;
  top: 10px; right: 10px;
  background: var(--rz-white);
  color: var(--rz-text-muted);
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: 1px solid var(--rz-border-soft);
  z-index: 2;
}
.rz-home .preview-browser {
  display: flex;
  align-items: center;
  gap: 5px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--rz-border-soft);
  margin-bottom: 12px;
}
.rz-home .preview-browser__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--rz-border);
}
.rz-home .preview-browser__url {
  flex: 1;
  font-size: 9px;
  color: var(--rz-text-muted);
  background: var(--rz-white);
  padding: 3px 8px;
  border-radius: 4px;
  margin-left: 6px;
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
}

/* ---------- Homepage hero mock ---------- */
.rz-home .preview-hero-mock {
  background: linear-gradient(180deg, #0F1A2E 0%, #182542 100%);
  border-radius: 10px;
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: calc(100% - 32px);
  position: relative;
  overflow: hidden;
}
.rz-home .preview-hero-mock::after {
  content: "";
  position: absolute;
  top: -40px; right: -40px;
  width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(255,194,60,0.18) 0%, transparent 70%);
  pointer-events: none;
}
.rz-home .preview-hero-mock__nav {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.rz-home .preview-hero-mock__logo {
  width: 28px; height: 6px;
  background: var(--rz-amber);
  border-radius: 2px;
}
.rz-home .preview-hero-mock__navdot {
  width: 16px; height: 4px;
  background: rgba(255,255,255,0.25);
  border-radius: 2px;
}
.rz-home .preview-hero-mock__navdot:last-child { margin-left: auto; width: 20px; background: rgba(255,255,255,0.45); }
.rz-home .preview-hero-mock__title {
  height: 8px;
  background: rgba(255,255,255,0.78);
  border-radius: 2px;
  margin-top: 2px;
}
.rz-home .preview-hero-mock__title--short { width: 55%; height: 6px; background: rgba(255,255,255,0.3); }
.rz-home .preview-hero-mock__trust {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--rz-white);
  border-radius: 10px;
  padding: 8px 12px;
  margin-top: auto;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
.rz-home .preview-hero-mock__trust-score {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--rz-text);
  line-height: 1;
}
.rz-home .preview-hero-mock__trust-meta { display: flex; flex-direction: column; gap: 2px; }
.rz-home .preview-hero-mock__trust-stars {
  font-size: 10px;
  letter-spacing: 1px;
  color: var(--rz-amber);
  line-height: 1;
}
.rz-home .preview-hero-mock__trust-count {
  font-size: 9px;
  color: var(--rz-text-muted);
  font-weight: 500;
}
.rz-home .preview-hero-mock__trust-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  background: var(--rz-green-light);
  color: var(--rz-green);
  font-size: 9px;
  font-weight: 700;
  padding: 4px 7px;
  border-radius: 999px;
}

/* ---------- Detail produktu ---------- */
.rz-home .preview-product {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 14px;
  height: 100%;
}
.rz-home .preview-product__img {
  background: var(--rz-white) center / cover no-repeat;
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(15,26,46,0.06);
}
.rz-home .preview-product__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.rz-home .preview-product__name {
  font-size: 13px;
  font-weight: 800;
  color: var(--rz-text);
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.rz-home .preview-product__sub {
  font-size: 10px;
  color: var(--rz-text-muted);
  font-weight: 500;
  margin-bottom: 4px;
}
.rz-home .preview-product__row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.rz-home .preview-product__price {
  font-size: 16px;
  font-weight: 800;
  color: var(--rz-text);
  letter-spacing: -0.01em;
}
.rz-home .preview-product__stars {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  color: var(--rz-text);
}
.rz-home .preview-product__star {
  color: var(--rz-amber);
  font-size: 11px;
  line-height: 1;
}
.rz-home .preview-product__count {
  color: var(--rz-text-muted);
  font-weight: 500;
  margin-left: 4px;
  font-size: 10px;
}
.rz-home .preview-product__review {
  background: var(--rz-white);
  border-radius: 8px;
  padding: 8px 9px;
  margin-top: auto;
  border: 1px solid var(--rz-border-soft);
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 8px;
  align-items: flex-start;
}
.rz-home .preview-product__avatar {
  width: 22px; height: 22px;
  background: var(--rz-bg-dark);
  color: var(--rz-white);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
}
.rz-home .preview-product__review-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rz-home .preview-product__review-stars {
  color: var(--rz-amber);
  font-size: 10px;
  letter-spacing: 1px;
  line-height: 1;
}
.rz-home .preview-product__review-text {
  font-size: 10.5px;
  color: var(--rz-text);
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rz-home .preview-product__review-author {
  font-size: 9px;
  color: var(--rz-text-muted);
  font-weight: 500;
}

/* ---------- Recenzní widgety ---------- */
.rz-home .preview-widgets {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  justify-content: center;
}
.rz-home .preview-widget {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--rz-text);
  box-shadow: 0 1px 2px rgba(15,26,46,0.03);
}
.rz-home .preview-widget--strip { padding: 9px 12px; }
.rz-home .preview-widget__score {
  font-size: 16px;
  font-weight: 800;
  color: var(--rz-text);
  letter-spacing: -0.02em;
  line-height: 1;
}
.rz-home .preview-widget__strip-meta { display: flex; flex-direction: column; gap: 2px; }
.rz-home .preview-widget__strip-stars {
  color: var(--rz-amber);
  font-size: 10px;
  letter-spacing: 1px;
  line-height: 1;
}
.rz-home .preview-widget__strip-count {
  font-size: 9px;
  color: var(--rz-text-muted);
  font-weight: 500;
}
.rz-home .preview-widget__sources {
  display: inline-flex;
  gap: 4px;
  margin-left: auto;
}
.rz-home .preview-widget__src {
  font-size: 8.5px;
  font-weight: 700;
  padding: 3px 6px;
  border-radius: 999px;
  letter-spacing: 0.02em;
}
.rz-home .preview-widget__src--heureka { background: var(--rz-red-light); color: var(--rz-red); }
.rz-home .preview-widget__src--google { background: var(--rz-blue-light); color: var(--rz-blue); }

.rz-home .preview-widget--carousel { padding: 8px; gap: 8px; }
.rz-home .preview-widget__mini {
  flex: 1;
  background: var(--rz-bg-alt);
  border-radius: 6px;
  padding: 6px 7px;
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 6px;
  align-items: center;
  min-width: 0;
}
.rz-home .preview-widget__avatar {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--rz-border) center / cover no-repeat;
}
.rz-home .preview-widget__mini-body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rz-home .preview-widget__mini-stars {
  color: var(--rz-amber);
  font-size: 8px;
  letter-spacing: 0.5px;
  line-height: 1;
}
.rz-home .preview-widget__mini-text {
  font-size: 9.5px;
  color: var(--rz-text);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rz-home .preview-widget--badge {
  background: var(--rz-bg-dark);
  color: var(--rz-white);
  border-color: var(--rz-bg-dark);
}
.rz-home .preview-widget--badge svg { stroke: var(--rz-green-2); }
.rz-home .preview-widget__badge-pill {
  margin-left: auto;
  background: rgba(255,255,255,0.1);
  color: var(--rz-text-on-dark-mute);
  font-size: 8.5px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ---------- Google Merchant ---------- */
.rz-home .preview-google {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.rz-home .preview-google__bar {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 600;
  color: var(--rz-text-muted);
  padding-bottom: 9px;
  border-bottom: 1px solid var(--rz-border-soft);
  margin-bottom: 10px;
}
.rz-home .preview-google__bar-title { color: var(--rz-text); font-weight: 700; }
.rz-home .preview-google__bar-icon {
  display: inline-flex; align-items: center; gap: 0;
}
.rz-home .preview-google__bar-icon span {
  width: 5px; height: 5px; border-radius: 50%;
}
.rz-home .preview-google__bar-icon span:nth-child(1) { background: #4285F4; }
.rz-home .preview-google__bar-icon span:nth-child(2) { background: #EA4335; margin-left: 1px; }
.rz-home .preview-google__bar-icon span:nth-child(3) { background: #FBBC04; margin-left: 1px; }
.rz-home .preview-google__bar-icon span:nth-child(4) { background: #34A853; margin-left: 1px; }
.rz-home .preview-google__cards {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 8px;
  flex: 1;
}
.rz-home .preview-google__ad {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 8px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  position: relative;
}
.rz-home .preview-google__sponsored-tag {
  position: absolute;
  top: 6px; left: 6px;
  font-size: 8px;
  font-weight: 700;
  color: var(--rz-text);
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(4px);
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.02em;
  z-index: 1;
  box-shadow: 0 1px 2px rgba(15,26,46,0.08);
}
.rz-home .preview-google__ad--ghost { opacity: 0.55; }
.rz-home .preview-google__img {
  width: 100%;
  height: 56px;
  background: var(--rz-bg-alt) center / cover no-repeat;
  border-radius: 6px;
}
.rz-home .preview-google__img--ghost { background: var(--rz-bg-alt); }
.rz-home .preview-google__ad-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.rz-home .preview-google__name {
  font-size: 10.5px;
  font-weight: 700;
  color: #1A0DAB;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rz-home .preview-google__shop {
  font-size: 8.5px;
  color: #006621;
  font-weight: 500;
}
.rz-home .preview-google__price {
  font-size: 12px;
  font-weight: 800;
  color: var(--rz-text);
  letter-spacing: -0.01em;
  margin-top: 1px;
}
.rz-home .preview-google__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 9.5px;
  color: var(--rz-text-muted);
  font-weight: 600;
}
.rz-home .preview-google__rating-stars {
  color: var(--rz-amber);
  font-size: 10px;
  letter-spacing: 0.5px;
  line-height: 1;
}
.rz-home .preview-google__rating-count { color: var(--rz-text-muted); font-weight: 500; }
.rz-home .preview-google__ghost-line {
  height: 5px;
  background: var(--rz-border);
  border-radius: 2px;
}
.rz-home .preview-google__ghost-line--short { width: 65%; }
.rz-home .preview-google__ghost-price {
  height: 9px;
  width: 50%;
  background: var(--rz-bg-soft);
  border-radius: 2px;
  margin-top: 2px;
}

/* ========== WIDGET MARQUEE ========== */
.rz-home .section--marquee .rz-container { margin-bottom: 48px; }

.rz-home .widget-marquee {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  position: relative;
}
/* Edge fade via gradient overlays – cheaper than mask-image for animations
   because it doesn't force the marquee region into a compositing layer that
   has to be re-masked every frame. */
.rz-home .widget-marquee::before,
.rz-home .widget-marquee::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.rz-home .widget-marquee::before {
  left: 0;
  background: linear-gradient(to right, var(--rz-bg-alt) 0%, rgba(245,245,240,0) 100%);
}
.rz-home .widget-marquee::after {
  right: 0;
  background: linear-gradient(to left, var(--rz-bg-alt) 0%, rgba(245,245,240,0) 100%);
}
.rz-home .widget-marquee__row {
  overflow: hidden;
  cursor: grab;
  user-select: none;
  position: relative;
  touch-action: pan-y;
  /* Isolate paints so card hover repaints don't ripple to siblings. */
  contain: layout paint;
}
.rz-home .widget-marquee__row.is-dragging { cursor: grabbing; }
.rz-home .widget-marquee__track {
  display: flex;
  gap: 18px;
  align-items: stretch;
  padding: 6px 0;
  /* Hint compositor we'll move this layer; keeps shadows on the GPU layer. */
  transform: translate3d(0, 0, 0);
}

/* ----- card frame: title + desc + preview ----- */
.rz-home .wm-card {
  flex: 0 0 auto;
  width: 360px;
  height: 400px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 18px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  /* Single-layer shadow + box-shadow only on hover. With 32 cards on a
     translating track, two-stop shadows balloon paint time per frame. */
  box-shadow: 0 4px 14px rgba(15,26,46,0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}
.rz-home .widget-marquee__row:not(.is-dragging) .wm-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(15,26,46,0.10);
}
.rz-home .wm-card--wide { width: 440px; }
.rz-home .wm-card--narrow { width: 290px; }

.rz-home .wm-card__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.rz-home .wm-card__title {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.2;
  color: var(--rz-text);
  margin: 0;
}
.rz-home .wm-card__desc {
  font-size: 13px;
  line-height: 1.5;
  color: var(--rz-text-muted);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rz-home .wm-card__preview {
  position: relative;
  flex: 1;
  background: var(--rz-bg-alt);
  border: 1px dashed var(--rz-border);
  border-radius: var(--rz-radius);
  padding: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* ----- HERO trust chip ----- */
.rz-home .wm-hero {
  background: linear-gradient(180deg, #0F1A2E 0%, #182542 100%);
  border-radius: 10px;
  padding: 12px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  position: relative;
  overflow: hidden;
}
.rz-home .wm-hero::after {
  content: "";
  position: absolute;
  top: -30px; right: -30px;
  width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(255,194,60,0.20) 0%, transparent 70%);
  pointer-events: none;
}
.rz-home .wm-hero__nav { display: flex; align-items: center; gap: 6px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.rz-home .wm-hero__logo { width: 24px; height: 5px; background: var(--rz-amber); border-radius: 2px; }
.rz-home .wm-hero__navdot { width: 14px; height: 3px; background: rgba(255,255,255,0.25); border-radius: 2px; }
.rz-home .wm-hero__navdot:last-child { margin-left: auto; width: 18px; background: rgba(255,255,255,0.45); }
.rz-home .wm-hero__title { height: 6px; background: rgba(255,255,255,0.78); border-radius: 2px; }
.rz-home .wm-hero__title--short { width: 55%; height: 5px; background: rgba(255,255,255,0.3); }
.rz-home .wm-hero__trust {
  display: flex; align-items: center; gap: 8px;
  background: var(--rz-white);
  border-radius: 8px;
  padding: 7px 9px;
  margin-top: auto;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
.rz-home .wm-hero__score { font-size: 17px; font-weight: 800; letter-spacing: -0.02em; color: var(--rz-text); line-height: 1; }
.rz-home .wm-hero__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rz-home .wm-hero__stars { font-size: 9px; color: var(--rz-amber); letter-spacing: 1px; line-height: 1; }
.rz-home .wm-hero__count { font-size: 9px; color: var(--rz-text-muted); font-weight: 500; }
.rz-home .wm-hero__verified {
  display: inline-flex; align-items: center; gap: 3px;
  margin-left: auto;
  background: var(--rz-green-light); color: var(--rz-green);
  font-size: 9px; font-weight: 700;
  padding: 4px 6px; border-radius: 999px;
  white-space: nowrap;
}

/* ----- PRODUCT chip (vertical layout for the bigger card) ----- */
.rz-home .wm-product {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.rz-home .wm-product__img {
  height: 100px;
  background: var(--rz-bg-alt) center / cover no-repeat;
  border: 1px solid var(--rz-border-soft);
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(15,26,46,0.06);
  flex-shrink: 0;
}
.rz-home .wm-product__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.rz-home .wm-product__name { font-size: 13.5px; font-weight: 800; color: var(--rz-text); line-height: 1.2; letter-spacing: -0.01em; }
.rz-home .wm-product__sub { font-size: 10.5px; color: var(--rz-text-muted); font-weight: 500; }
.rz-home .wm-product__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 2px; }
.rz-home .wm-product__price { font-size: 15px; font-weight: 800; color: var(--rz-text); letter-spacing: -0.01em; }
.rz-home .wm-product__rating { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; color: var(--rz-text); }
.rz-home .wm-product__stars { color: var(--rz-amber); font-size: 11px; letter-spacing: 0.5px; line-height: 1; }
.rz-home .wm-product__rating-count { color: var(--rz-text-muted); font-weight: 500; }
.rz-home .wm-product__review {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 7px;
  padding: 7px 8px;
  margin-top: auto;
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 7px;
  align-items: flex-start;
}
.rz-home .wm-product__avatar { width: 20px; height: 20px; background: var(--rz-bg-dark); color: var(--rz-white); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; }
.rz-home .wm-product__review-body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rz-home .wm-product__review-stars { color: var(--rz-amber); font-size: 10px; letter-spacing: 1px; line-height: 1; }
.rz-home .wm-product__review-text { font-size: 10.5px; color: var(--rz-text); line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0; }

/* ----- WALL OF LOVE ----- */
.rz-home .wm-wall {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  flex: 1;
}
.rz-home .wm-wall__card {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 9px;
  padding: 9px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rz-home .wm-wall__head { display: flex; align-items: center; gap: 6px; }
.rz-home .wm-wall__avatar { width: 22px; height: 22px; border-radius: 50%; background: var(--rz-border) center / cover no-repeat; flex-shrink: 0; }
.rz-home .wm-wall__who { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rz-home .wm-wall__who strong { font-size: 10px; color: var(--rz-text); font-weight: 700; line-height: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rz-home .wm-wall__stars { font-size: 8px; color: var(--rz-amber); letter-spacing: 0.5px; line-height: 1; }
.rz-home .wm-wall__text { margin: 0; font-size: 10px; color: var(--rz-text); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ----- SCORE pill big ----- */
.rz-home .wm-score {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1;
}
.rz-home .wm-score__big { display: inline-flex; align-items: baseline; gap: 4px; }
.rz-home .wm-score__num { font-size: 38px; font-weight: 800; letter-spacing: -0.03em; color: var(--rz-text); line-height: 1; }
.rz-home .wm-score__max { font-size: 14px; color: var(--rz-text-muted); font-weight: 600; }
.rz-home .wm-score__stars { color: var(--rz-amber); font-size: 18px; letter-spacing: 3px; line-height: 1; }
.rz-home .wm-score__count { font-size: 11px; color: var(--rz-text-muted); font-weight: 500; }
.rz-home .wm-score__sources { display: inline-flex; gap: 5px; margin-top: 6px; }
.rz-home .wm-score__src { font-size: 9px; font-weight: 700; padding: 3px 7px; border-radius: 999px; letter-spacing: 0.02em; }
.rz-home .wm-score__src--heureka { background: var(--rz-red-light); color: var(--rz-red); }
.rz-home .wm-score__src--google { background: var(--rz-blue-light); color: var(--rz-blue); }
.rz-home .wm-score__src--seznam { background: rgba(255, 122, 0, 0.12); color: #d65a00; }

/* ----- INSTAGRAM tile ----- */
.rz-home .wm-insta {
  position: relative;
  flex: 1;
  border-radius: 10px;
  overflow: hidden;
}
.rz-home .wm-insta__img { position: absolute; inset: 0; background: var(--rz-bg-alt) center / cover no-repeat; }
.rz-home .wm-insta__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(15,26,46,0) 30%, rgba(15,26,46,0.85) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 12px;
  gap: 4px;
  color: var(--rz-white);
}
.rz-home .wm-insta__stars { color: var(--rz-amber); font-size: 11px; letter-spacing: 1px; line-height: 1; }
.rz-home .wm-insta__text { margin: 0; font-size: 11px; font-weight: 600; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rz-home .wm-insta__author { font-size: 9px; color: rgba(255,255,255,0.7); font-weight: 500; }

/* ----- MEGA testimonial ----- */
.rz-home .wm-mega {
  background: linear-gradient(135deg, #FFF8EA 0%, #FFFFFF 60%);
  border: 1px solid var(--rz-amber-light);
  border-radius: 10px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  position: relative;
  overflow: hidden;
}
.rz-home .wm-mega__quote {
  position: absolute;
  top: -10px; right: 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 80px;
  font-weight: 800;
  color: rgba(255, 194, 60, 0.15);
  line-height: 1;
  pointer-events: none;
}
.rz-home .wm-mega__text {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--rz-text);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.rz-home .wm-mega__author { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.rz-home .wm-mega__avatar { width: 26px; height: 26px; border-radius: 50%; background: var(--rz-border) center / cover no-repeat; flex-shrink: 0; }
.rz-home .wm-mega__who { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.rz-home .wm-mega__who strong { font-size: 11px; color: var(--rz-text); font-weight: 700; line-height: 1; }
.rz-home .wm-mega__who span { font-size: 9.5px; color: var(--rz-text-muted); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rz-home .wm-mega__stars { color: var(--rz-amber); font-size: 10px; letter-spacing: 1px; line-height: 1; }

/* ----- HEUREKA-style badge ----- */
.rz-home .wm-heureka {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1;
  position: relative;
}
.rz-home .wm-heureka__top { display: flex; align-items: center; gap: 8px; width: 100%; justify-content: space-between; }
.rz-home .wm-heureka__logo {
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 14px; font-weight: 800;
  color: #E51937; /* Heureka red */
  letter-spacing: -0.02em;
}
.rz-home .wm-heureka__pill {
  font-size: 8px; font-weight: 700;
  background: rgba(229, 25, 55, 0.10);
  color: #E51937;
  padding: 3px 6px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.rz-home .wm-heureka__score { font-size: 36px; font-weight: 800; letter-spacing: -0.03em; color: var(--rz-text); line-height: 1; margin-top: 4px; }
.rz-home .wm-heureka__stars { color: var(--rz-amber); font-size: 17px; letter-spacing: 3px; line-height: 1; }
.rz-home .wm-heureka__count { font-size: 10px; color: var(--rz-text-muted); font-weight: 500; }
.rz-home .wm-heureka__bar { width: 100%; height: 4px; background: var(--rz-bg-alt); border-radius: 999px; margin-top: 6px; overflow: hidden; }
.rz-home .wm-heureka__bar-fill { display: block; width: 96%; height: 100%; background: linear-gradient(90deg, #E51937, #ff6a30); border-radius: 999px; }

/* ----- CAROUSEL ----- */
.rz-home .wm-carousel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.rz-home .wm-carousel__head { display: flex; align-items: center; justify-content: space-between; padding: 0 2px; }
.rz-home .wm-carousel__title { font-size: 11px; font-weight: 700; color: var(--rz-text); }
.rz-home .wm-carousel__dots { display: inline-flex; gap: 4px; }
.rz-home .wm-carousel__dots span { width: 5px; height: 5px; border-radius: 50%; background: var(--rz-border); }
.rz-home .wm-carousel__dots .is-on { background: var(--rz-amber); width: 12px; border-radius: 3px; }
.rz-home .wm-carousel__items { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.rz-home .wm-carousel__item {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 8px;
  align-items: center;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 7px;
  padding: 8px;
}
.rz-home .wm-carousel__avatar { width: 24px; height: 24px; border-radius: 50%; background: var(--rz-border) center / cover no-repeat; }
.rz-home .wm-carousel__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rz-home .wm-carousel__stars { color: var(--rz-amber); font-size: 9px; letter-spacing: 0.5px; line-height: 1; }
.rz-home .wm-carousel__text { font-size: 10.5px; color: var(--rz-text); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ----- BADGE dark ----- */
.rz-home .wm-badge {
  background: var(--rz-bg-dark);
  color: var(--rz-white);
  border-radius: 12px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.rz-home .wm-badge__top { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 700; color: var(--rz-green-2); }
.rz-home .wm-badge__top svg { stroke: var(--rz-green-2); }
.rz-home .wm-badge__score { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; line-height: 1; margin-top: 4px; }
.rz-home .wm-badge__stars { color: var(--rz-amber); font-size: 12px; letter-spacing: 2px; line-height: 1; }
.rz-home .wm-badge__count { font-size: 10px; color: rgba(255,255,255,0.6); font-weight: 500; }

/* ----- TOAST notification ----- */
/* Toast sits at the bottom-right of a mock browser-content area */
.rz-home .wm-card--toast .wm-card__preview {
  justify-content: flex-end;
  padding: 14px;
  position: relative;
}
.rz-home .wm-card--toast .wm-card__preview::before {
  content: "";
  position: absolute;
  top: 14px; left: 14px; right: 14px;
  height: 70%;
  background:
    linear-gradient(var(--rz-border), var(--rz-border)) top left / 60% 8px no-repeat,
    linear-gradient(var(--rz-border), var(--rz-border)) 0 18px / 40% 6px no-repeat,
    linear-gradient(var(--rz-border), var(--rz-border)) 0 36px / 90% 6px no-repeat,
    linear-gradient(var(--rz-border), var(--rz-border)) 0 50px / 75% 6px no-repeat,
    linear-gradient(var(--rz-border), var(--rz-border)) 0 64px / 50% 6px no-repeat;
  opacity: 0.45;
  pointer-events: none;
}
.rz-home .wm-toast {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 12px;
  padding: 12px 14px 12px 16px;
  display: grid;
  grid-template-columns: auto 32px 1fr;
  gap: 10px;
  align-items: center;
  box-shadow: 0 12px 32px rgba(15,26,46,0.12);
  position: relative;
  flex-shrink: 0;
  z-index: 1;
}
.rz-home .wm-toast::after {
  content: "";
  position: absolute;
  top: 14px; left: 6px;
  width: 3px; height: calc(100% - 28px);
  background: var(--rz-green-2);
  border-radius: 999px;
}
.rz-home .wm-toast__dot { display: none; }
.rz-home .wm-toast__avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--rz-border) center / cover no-repeat; }
.rz-home .wm-toast__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rz-home .wm-toast__title { display: flex; align-items: center; gap: 6px; }
.rz-home .wm-toast__title strong { font-size: 12px; color: var(--rz-text); font-weight: 700; }
.rz-home .wm-toast__stars { color: var(--rz-amber); font-size: 9px; letter-spacing: 0.5px; line-height: 1; }
.rz-home .wm-toast__sub { font-size: 10px; color: var(--rz-text-muted); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ----- GOOGLE shopping ----- */
.rz-home .wm-google {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.rz-home .wm-google__bar {
  display: flex; align-items: center; gap: 8px;
  font-size: 10px; font-weight: 600; color: var(--rz-text-muted);
  padding-bottom: 7px; border-bottom: 1px solid var(--rz-border-soft);
}
.rz-home .wm-google__bar-title { color: var(--rz-text); font-weight: 700; }
.rz-home .wm-google__bar-icon { display: inline-flex; align-items: center; gap: 0; }
.rz-home .wm-google__bar-icon span { width: 5px; height: 5px; border-radius: 50%; }
.rz-home .wm-google__bar-icon span:nth-child(1) { background: #4285F4; }
.rz-home .wm-google__bar-icon span:nth-child(2) { background: #EA4335; margin-left: 1px; }
.rz-home .wm-google__bar-icon span:nth-child(3) { background: #FBBC04; margin-left: 1px; }
.rz-home .wm-google__bar-icon span:nth-child(4) { background: #34A853; margin-left: 1px; }
.rz-home .wm-google__cards { display: grid; grid-template-columns: 1.35fr 1fr; gap: 8px; flex: 1; }
.rz-home .wm-google__ad { background: var(--rz-white); border: 1px solid var(--rz-border-soft); border-radius: 8px; padding: 7px; display: flex; flex-direction: column; gap: 5px; position: relative; }
.rz-home .wm-google__sponsored { position: absolute; top: 5px; left: 5px; font-size: 7.5px; font-weight: 700; color: var(--rz-text); background: rgba(255,255,255,0.92); backdrop-filter: blur(4px); padding: 2px 5px; border-radius: 4px; letter-spacing: 0.02em; z-index: 1; box-shadow: 0 1px 2px rgba(15,26,46,0.08); }
.rz-home .wm-google__ad--ghost { opacity: 0.55; }
.rz-home .wm-google__img { width: 100%; height: 48px; background: var(--rz-bg-alt) center / cover no-repeat; border-radius: 6px; }
.rz-home .wm-google__img--ghost { background: var(--rz-bg-alt); }
.rz-home .wm-google__info { display: flex; flex-direction: column; gap: 2px; }
.rz-home .wm-google__name { font-size: 10px; font-weight: 700; color: #1A0DAB; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rz-home .wm-google__shop { font-size: 8px; color: #006621; font-weight: 500; }
.rz-home .wm-google__price { font-size: 11px; font-weight: 800; color: var(--rz-text); letter-spacing: -0.01em; margin-top: 1px; }
.rz-home .wm-google__rating { display: flex; align-items: center; gap: 3px; font-size: 9px; color: var(--rz-text-muted); font-weight: 600; }
.rz-home .wm-google__rating-stars { color: var(--rz-amber); font-size: 9px; letter-spacing: 0.5px; line-height: 1; }
.rz-home .wm-google__rating-count { color: var(--rz-text-muted); font-weight: 500; }
.rz-home .wm-google__ghost-line { height: 5px; background: var(--rz-border); border-radius: 2px; }
.rz-home .wm-google__ghost-line--short { width: 65%; }
.rz-home .wm-google__ghost-price { height: 9px; width: 50%; background: var(--rz-bg-soft); border-radius: 2px; margin-top: 2px; }

/* ----- FEED ----- */
.rz-home .wm-feed {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.rz-home .wm-feed__head { display: flex; align-items: center; justify-content: space-between; padding: 0 2px 6px; border-bottom: 1px solid var(--rz-border-soft); }
.rz-home .wm-feed__head strong { font-size: 11px; color: var(--rz-text); font-weight: 700; }
.rz-home .wm-feed__live { display: inline-flex; align-items: center; gap: 4px; font-size: 9px; font-weight: 700; color: var(--rz-red); text-transform: uppercase; letter-spacing: 0.04em; }
.rz-home .wm-feed__live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--rz-red); box-shadow: 0 0 0 0 rgba(229,25,55,0.45); animation: wm-pulse 1.6s ease-out infinite; }
@keyframes wm-pulse {
  0% { box-shadow: 0 0 0 0 rgba(229,25,55,0.45); }
  70% { box-shadow: 0 0 0 6px rgba(229,25,55,0); }
  100% { box-shadow: 0 0 0 0 rgba(229,25,55,0); }
}
.rz-home .wm-feed__row { display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: center; padding: 2px 0; }
.rz-home .wm-feed__avatar { width: 22px; height: 22px; border-radius: 50%; background: var(--rz-border) center / cover no-repeat; }
.rz-home .wm-feed__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rz-home .wm-feed__line { display: flex; align-items: center; gap: 6px; }
.rz-home .wm-feed__line strong { font-size: 10px; color: var(--rz-text); font-weight: 700; }
.rz-home .wm-feed__stars { color: var(--rz-amber); font-size: 8px; letter-spacing: 0.5px; line-height: 1; }
.rz-home .wm-feed__text { font-size: 10px; color: var(--rz-text-muted); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ----- STICKY BAR ----- */
.rz-home .wm-bar-wrap {
  position: relative;
  flex: 1;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  overflow: hidden;
  padding: 14px 14px 0;
}
.rz-home .wm-bar-bg { display: flex; flex-direction: column; gap: 8px; opacity: 0.65; }
.rz-home .wm-bar-bg__line { height: 7px; background: var(--rz-border); border-radius: 3px; }
.rz-home .wm-bar-bg__line--short { width: 55%; }
.rz-home .wm-bar-bg__block { height: 36px; background: var(--rz-white); border: 1px solid var(--rz-border-soft); border-radius: 6px; }
.rz-home .wm-bar {
  position: absolute;
  bottom: 12px; left: 12px; right: 12px;
  background: var(--rz-bg-dark);
  color: var(--rz-white);
  border-radius: 999px;
  padding: 9px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 10px 28px rgba(15,26,46,0.30);
}
.rz-home .wm-bar__score { font-size: 14px; font-weight: 800; letter-spacing: -0.02em; line-height: 1; }
.rz-home .wm-bar__stars { color: var(--rz-amber); font-size: 10px; letter-spacing: 1px; line-height: 1; }
.rz-home .wm-bar__count { font-size: 10px; color: rgba(255,255,255,0.7); font-weight: 500; }
.rz-home .wm-bar__verified {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(76, 217, 100, 0.15);
  color: var(--rz-green-2);
  font-size: 9px; font-weight: 700;
  padding: 3px 7px; border-radius: 999px;
}
.rz-home .wm-bar__cta { font-size: 9.5px; font-weight: 700; color: var(--rz-amber); white-space: nowrap; }

/* ----- SEZNAM ----- */
.rz-home .wm-seznam {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.rz-home .wm-seznam__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rz-home .wm-seznam__logo { font-size: 14px; font-weight: 800; color: var(--rz-text); letter-spacing: -0.01em; }
.rz-home .wm-seznam__logo-accent { color: #ee2929; /* Seznam.cz red */ }
.rz-home .wm-seznam__pill { font-size: 8px; font-weight: 700; background: rgba(238, 41, 41, 0.10); color: #ee2929; padding: 3px 7px; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.04em; }
.rz-home .wm-seznam__row { display: flex; align-items: center; gap: 12px; }
.rz-home .wm-seznam__score { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; color: var(--rz-text); line-height: 1; }
.rz-home .wm-seznam__meta { display: flex; flex-direction: column; gap: 3px; }
.rz-home .wm-seznam__stars { color: var(--rz-amber); font-size: 13px; letter-spacing: 2px; line-height: 1; }
.rz-home .wm-seznam__count { font-size: 10px; color: var(--rz-text-muted); font-weight: 500; }
.rz-home .wm-seznam__quote { font-size: 10.5px; color: var(--rz-text); font-weight: 500; line-height: 1.4; padding: 8px 10px; background: var(--rz-bg-alt); border-radius: 7px; border-left: 2px solid #ee2929; }

/* ----- reduced motion ----- */
@media (prefers-reduced-motion: reduce) {
  .rz-home .widget-marquee__track { will-change: auto; }
  .rz-home .wm-feed__live-dot { animation: none; }
}

/* ----- responsive ----- */
@media (max-width: 768px) {
  .rz-home .widget-marquee { gap: 14px; }
  .rz-home .widget-marquee__track { gap: 14px; }
  .rz-home .wm-card { width: 300px; height: 360px; padding: 18px; gap: 12px; }
  .rz-home .wm-card--wide { width: 360px; }
  .rz-home .wm-card--narrow { width: 250px; }
  .rz-home .wm-card__title { font-size: 16px; }
  .rz-home .wm-card__desc { font-size: 12px; -webkit-line-clamp: 3; }
}

/* ========== INTEGRACE ========== */
.rz-home .integ-group { margin-bottom: 32px; }
.rz-home .integ-group__title {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.005em;
  color: var(--rz-text);
  margin-bottom: 20px;
}
.rz-home .integ-group__title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--rz-border);
}
.rz-home .integ-platforms {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
/* Skupina "Pripravujeme" ma 5 karet a vejde se na jeden radek. */
.rz-home .integ-platforms--five { grid-template-columns: repeat(5, 1fr); }
.rz-home .integ-platform {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 28px 22px 22px;
  border: 1px solid var(--rz-border-soft);
  text-align: center;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  color: inherit;
  text-decoration: none;
  display: block;
}
.rz-home a.integ-platform:hover h3 { color: var(--rz-green); }
.rz-home .integ-platform:hover {
  transform: translateY(-3px);
  box-shadow: var(--rz-shadow-card);
}
.rz-home .integ-platform__logo {
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.rz-home .integ-platform__logo img {
  max-height: 32px;
  max-width: 100%;
  width: auto;
  display: block;
}
.rz-home .integ-platform__logo img[src*="woocommerce"] { max-height: 24px; }
.rz-home .integ-platform__logo img[src*="Shoptetlogo"] { max-height: 26px; }
.rz-home .integ-platform h3 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}
.rz-home .integ-platform p {
  font-size: 13px;
  line-height: 1.55;
  color: var(--rz-text-muted);
}
.rz-home .integ-platform--soon {
  background: var(--rz-bg-muted, #f7f7f4);
  border-style: dashed;
}
.rz-home .integ-platform--soon .integ-platform__logo img {
  opacity: 0.55;
  filter: grayscale(0.65);
}
.rz-home .integ-platform--soon h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.rz-home .integ-platform__badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(255, 176, 0, 0.16);
  color: #8a5a00;
  line-height: 1.3;
}
.rz-home .integ-custom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.rz-home .integ-custom-card {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 30px 32px;
  border: 1px solid var(--rz-border-soft);
  display: flex;
  gap: 22px;
  align-items: flex-start;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rz-home .integ-custom-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--rz-shadow-card);
}
.rz-home .integ-custom-card__icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.rz-home .integ-custom-card__icon svg {
  width: 26px; height: 26px;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  stroke: currentColor;
}
.rz-home .integ-custom-card__icon--green { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .integ-custom-card__icon--amber { background: var(--rz-amber-light); color: var(--rz-amber-text); }
.rz-home .integ-custom-card__body { flex: 1; }
.rz-home .integ-custom-card h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.rz-home .integ-custom-card p {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--rz-text-muted);
  margin-bottom: 14px;
}
.rz-home .integ-custom-card ul { list-style: none; }
.rz-home .integ-custom-card li {
  font-size: 14px;
  padding: 4px 0;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  color: var(--rz-text);
  line-height: 1.45;
}
.rz-home .integ-custom-card li svg {
  flex-shrink: 0;
  margin-top: 4px;
  width: 13px; height: 13px;
  stroke: var(--rz-green);
  stroke-width: 2.6;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rz-home .integ-cta {
  margin-top: 24px;
  background: var(--rz-bg-dark);
  border-radius: var(--rz-radius-lg);
  padding: 30px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.rz-home .integ-cta__copy h3 {
  color: var(--rz-white);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.015em;
  margin-bottom: 4px;
}
.rz-home .integ-cta__copy p {
  color: var(--rz-text-on-dark-mute);
  font-size: 14.5px;
  line-height: 1.5;
}
.rz-home .integ-cta__btn {
  background: var(--rz-white);
  color: var(--rz-bg-dark);
  padding: 13px 24px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14.5px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  text-decoration: none;
  transition: transform 0.1s ease, background 0.15s ease;
}
/* color !important: přebíjí Bootstrapův `a:hover { color:#ffc200 !important }`,
   jinak by byl text na bílém tlačítku žlutý a nečitelný. */
.rz-home .integ-cta__btn,
.rz-home .integ-cta__btn:hover { color: var(--rz-bg-dark) !important; }
.rz-home .integ-cta__btn:hover { transform: translateY(-1px); background: var(--rz-bg); }

/* ========== WORKFLOW BENTO ========== */
.rz-home .bento {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
  align-items: start;
}
.rz-home .bento__col {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
.rz-home .bento__sub-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}
.rz-home .bento__tile {
  position: relative;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 20px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.rz-home .bento__tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(15,26,46,0.08);
  border-color: rgba(15,26,46,0.10);
}
.rz-home .bento__tile--hero {
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 194, 60, 0.08), transparent 50%),
    var(--rz-white);
}
.rz-home .bento__tile--export {
  grid-column: 1 / -1;
}

.rz-home .bento__head {
  margin-top: auto;
}
.rz-home .bento__title {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 0 0 6px;
  color: var(--rz-text);
}
.rz-home .bento__tile--hero .bento__title { font-size: 24px; }
.rz-home .bento__desc {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--rz-text-muted);
  margin: 0;
}

/* ---------- 01 · AI moderation hero ---------- */
.rz-home .bento-mod {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
}
.rz-home .bento-mod__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 600;
  color: var(--rz-text-muted);
  padding: 0 4px;
}
.rz-home .bento-mod__queue { letter-spacing: 0.02em; }
.rz-home .bento-mod__count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--rz-text);
  font-weight: 700;
}
.rz-home .bento-mod__count-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--rz-red);
  box-shadow: 0 0 0 0 rgba(229,25,55,0.45);
  animation: bento-pulse 1.6s ease-out infinite;
}
@keyframes bento-pulse {
  0% { box-shadow: 0 0 0 0 rgba(229,25,55,0.45); }
  70% { box-shadow: 0 0 0 6px rgba(229,25,55,0); }
  100% { box-shadow: 0 0 0 0 rgba(229,25,55,0); }
}
@media (prefers-reduced-motion: reduce) {
  .rz-home .bento-mod__count-dot { animation: none; }
}
.rz-home .bento-mod__card {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rz-home .bento-mod__card--flagged {
  border-color: rgba(229, 25, 55, 0.30);
  background: linear-gradient(180deg, rgba(229,25,55,0.04), var(--rz-white) 80%);
  box-shadow: 0 6px 20px rgba(229,25,55,0.08);
}
.rz-home .bento-mod__card-head { display: flex; align-items: center; gap: 10px; }
.rz-home .bento-mod__avatar {
  width: 34px; height: 34px;
  border-radius: 50%;
  color: var(--rz-white);
  font-size: 11px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.rz-home .bento-mod__avatar--photo {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 0 0 2px var(--rz-white), 0 2px 6px rgba(15,26,46,0.10);
}
.rz-home .bento-mod__who { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.rz-home .bento-mod__who strong { font-size: 12.5px; font-weight: 700; color: var(--rz-text); line-height: 1; }
.rz-home .bento-mod__source { font-size: 10px; color: var(--rz-text-muted); font-weight: 500; }
.rz-home .bento-mod__flag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(229, 25, 55, 0.10);
  color: var(--rz-red);
  font-size: 10px;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 999px;
  white-space: nowrap;
}
.rz-home .bento-mod__text {
  font-size: 13px;
  line-height: 1.5;
  color: var(--rz-text);
  margin: 0;
}
.rz-home .bento-mod__highlight {
  background: rgba(229,25,55,0.18);
  border-radius: 3px;
  padding: 1px 4px;
  color: var(--rz-red);
  font-weight: 600;
}
.rz-home .bento-mod__verdict {
  background: var(--rz-bg-alt);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rz-home .bento-mod__verdict-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rz-home .bento-mod__bot {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  color: var(--rz-text);
}
.rz-home .bento-mod__bot svg { color: var(--rz-green); }
.rz-home .bento-mod__confidence {
  font-size: 10px;
  font-weight: 600;
  color: var(--rz-text-muted);
  font-variant-numeric: tabular-nums;
}
.rz-home .bento-mod__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.rz-home .bento-mod__cat {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--rz-bg-alt);
  color: var(--rz-text-muted);
  border: 1px solid var(--rz-border);
  white-space: nowrap;
}
.rz-home .bento-mod__cat--hit {
  background: var(--rz-red-light);
  color: var(--rz-red);
  border-color: rgba(229, 25, 55, 0.20);
  font-weight: 700;
}
.rz-home .bento-mod__cat--hit svg { stroke: var(--rz-red); }
.rz-home .bento-mod__actions {
  display: flex;
  gap: 6px;
  margin-top: 2px;
}
.rz-home .bento-mod__btn {
  flex: 1;
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid transparent;
  font-family: inherit;
}
.rz-home .bento-mod__btn--reject {
  background: var(--rz-bg-dark);
  color: var(--rz-white);
}
.rz-home .bento-mod__btn--review {
  background: var(--rz-white);
  color: var(--rz-text);
  border-color: var(--rz-border);
}
/* ---------- 02 · Translations ---------- */
.rz-home .bento-trans {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr auto 1.2fr;
  align-items: center;
  gap: 16px;
  min-height: 0;
}
.rz-home .bento-trans__source {
  background: var(--rz-bg-alt);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rz-home .bento-trans__lang {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--rz-text);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.rz-home .bento-trans__source p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--rz-text);
  font-weight: 500;
}
.rz-home .bento-trans__arrow {
  color: var(--rz-amber);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--rz-amber-light);
  border-radius: 50%;
}
.rz-home .bento-trans__arrow svg { stroke-width: 2.5; }
.rz-home .bento-trans__targets {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.rz-home .bento-trans__target {
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: center;
  gap: 8px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 7px;
  padding: 6px 10px;
  font-size: 11.5px;
  color: var(--rz-text);
}
.rz-home .bento-trans__txt {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 500;
}
.rz-home .bento-trans__more {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--rz-amber-text, #b97a00);
  background: var(--rz-amber-light);
  padding: 5px 10px;
  border-radius: 999px;
  align-self: flex-start;
  letter-spacing: 0.02em;
  margin-top: 2px;
}
/* Flag chips – gradient backgrounds approximating each flag */
.rz-home .bento-trans__flag {
  width: 18px;
  height: 12px;
  border-radius: 2px;
  display: inline-block;
  border: 1px solid rgba(15,26,46,0.10);
  flex-shrink: 0;
  background-size: cover;
}
.rz-home .bento-trans__flag--cz {
  background: linear-gradient(180deg, #fff 50%, #d7141a 50%) no-repeat,
    linear-gradient(135deg, transparent 50%, #11457e 50%) no-repeat;
  background-size: 100% 100%, 65% 100%;
  background-position: 0 0, 0 0;
}
.rz-home .bento-trans__flag--en {
  background: #012169;
  background-image:
    linear-gradient(45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%),
    linear-gradient(-45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%),
    linear-gradient(90deg, transparent 45%, #C8102E 45%, #C8102E 55%, transparent 55%),
    linear-gradient(0deg, transparent 45%, #C8102E 45%, #C8102E 55%, transparent 55%);
}
.rz-home .bento-trans__flag--de {
  background: linear-gradient(180deg, #000 33%, #DD0000 33%, #DD0000 66%, #FFCE00 66%);
}
.rz-home .bento-trans__flag--pl {
  background: linear-gradient(180deg, #fff 50%, #DC143C 50%);
}

/* ---------- 03 · Team roles ---------- */
.rz-home .bento-team {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
  justify-content: center;
}
.rz-home .bento-team__row {
  display: grid;
  grid-template-columns: 26px 1fr auto;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  background: var(--rz-bg-alt);
  border: 1px solid var(--rz-border-soft);
  border-radius: 9px;
}
.rz-home .bento-team__avatar {
  width: 26px; height: 26px;
  border-radius: 50%;
  color: var(--rz-white);
  font-size: 10px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.rz-home .bento-team__who { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.rz-home .bento-team__who strong { font-size: 11.5px; font-weight: 700; color: var(--rz-text); line-height: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rz-home .bento-team__who span { font-size: 9.5px; color: var(--rz-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rz-home .bento-team__role {
  font-size: 9px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.rz-home .bento-team__role--owner { background: var(--rz-bg-dark); color: var(--rz-amber); }
.rz-home .bento-team__role--admin { background: rgba(124, 92, 255, 0.12); color: #5e3df4; }
.rz-home .bento-team__role--mod { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .bento-team__role--view { background: var(--rz-bg-alt); color: var(--rz-text-muted); border: 1px solid var(--rz-border); }

/* ---------- 04 · Replies ---------- */
/* ----- 03 · Replies (wide 2x1 – review left, bubble right) ----- */
.rz-home .bento-reply {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 24px 1fr;
  align-items: stretch;
  gap: 8px;
  min-height: 0;
}
.rz-home .bento-reply__review {
  background: var(--rz-bg-alt);
  border: 1px solid var(--rz-border-soft);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.rz-home .bento-reply__review-head {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: 10px;
}
.rz-home .bento-reply__avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--rz-border) center / cover no-repeat;
  flex-shrink: 0;
  box-shadow: 0 0 0 2px var(--rz-white);
}
.rz-home .bento-reply__who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rz-home .bento-reply__who strong {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--rz-text);
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rz-home .bento-reply__source {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  color: var(--rz-text-muted);
  font-weight: 500;
}
.rz-home .bento-reply__source-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--rz-text-muted);
}
.rz-home .bento-reply__source-dot--seznam { background: #ee2929; }
.rz-home .bento-reply__source-dot--google { background: #4285F4; }
.rz-home .bento-reply__source-dot--heureka { background: #E51937; }
.rz-home .bento-reply__stars {
  color: var(--rz-amber);
  font-size: 12px;
  letter-spacing: 1px;
  line-height: 1;
  white-space: nowrap;
}
.rz-home .bento-reply__review-text {
  margin: 0;
  font-size: 12.5px;
  color: var(--rz-text);
  line-height: 1.45;
  font-style: italic;
}
.rz-home .bento-reply__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rz-amber);
  background: var(--rz-amber-light);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  align-self: center;
  margin: 0 auto;
}
.rz-home .bento-reply__bubble {
  position: relative;
  background: linear-gradient(180deg, #FFF8EA 0%, #FFEFC9 100%);
  border: 1px solid rgba(255, 194, 60, 0.32);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  box-shadow: 0 6px 16px rgba(255, 194, 60, 0.10);
}
.rz-home .bento-reply__bubble-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.rz-home .bento-reply__brand {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--rz-bg-dark);
}
.rz-home .bento-reply__brand-avatar {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--rz-bg-dark);
  color: var(--rz-amber);
  font-size: 9px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.02em;
}
.rz-home .bento-reply__sync {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 9.5px;
  font-weight: 700;
  color: var(--rz-green);
  background: rgba(76, 217, 100, 0.18);
  padding: 3px 8px;
  border-radius: 999px;
  white-space: nowrap;
}
.rz-home .bento-reply__bubble-text {
  margin: 0;
  font-size: 12.5px;
  color: var(--rz-text);
  line-height: 1.45;
  font-weight: 500;
}
.rz-home .bento-reply__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 9.5px;
  color: var(--rz-text-muted);
  font-weight: 500;
  margin-top: auto;
  padding-top: 4px;
  border-top: 1px dashed rgba(15, 26, 46, 0.10);
}
.rz-home .bento-reply__published {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.rz-home .bento-reply__published::before {
  content: "";
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--rz-green);
}

/* ---------- 05 · Dashboard ---------- */
.rz-home .bento-dash {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
}
.rz-home .bento-dash__hero {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 4px;
}
.rz-home .bento-dash__hero-val {
  font-size: 42px;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--rz-text);
  line-height: 1;
}
.rz-home .bento-dash__hero-label {
  font-size: 11.5px;
  color: var(--rz-text-muted);
  font-weight: 600;
  letter-spacing: 0.01em;
}
.rz-home .bento-dash__delta {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
}
.rz-home .bento-dash__delta--up { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .bento-dash__delta--down { background: var(--rz-red-light); color: var(--rz-red); }
.rz-home .bento-dash__chart {
  width: 100%;
  flex: 1;
  min-height: 60px;
  max-height: 90px;
}

/* ---------- 06 · Exports ---------- */
.rz-home .bento-exp {
  flex: 1;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 14px;
  align-items: stretch;
  min-height: 0;
}
.rz-home .bento-exp__google {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  min-height: 0;
}
.rz-home .bento-exp__google-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  color: var(--rz-text-muted);
  font-weight: 600;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--rz-border-soft);
  margin-bottom: 4px;
}
.rz-home .bento-exp__google-icon { display: inline-flex; gap: 1px; }
.rz-home .bento-exp__google-icon span { width: 4px; height: 4px; border-radius: 50%; }
.rz-home .bento-exp__google-icon span:nth-child(1) { background: #4285F4; }
.rz-home .bento-exp__google-icon span:nth-child(2) { background: #EA4335; }
.rz-home .bento-exp__google-icon span:nth-child(3) { background: #FBBC04; }
.rz-home .bento-exp__google-icon span:nth-child(4) { background: #34A853; }
.rz-home .bento-exp__google-img {
  width: 100%;
  height: 50px;
  background: linear-gradient(135deg, #f0f0e8, #e6e6dc);
  border-radius: 6px;
}
.rz-home .bento-exp__google-name {
  font-size: 11px;
  font-weight: 700;
  color: #1A0DAB;
  margin-top: 2px;
}
.rz-home .bento-exp__google-price { font-size: 12px; font-weight: 800; color: var(--rz-text); letter-spacing: -0.01em; }
.rz-home .bento-exp__google-rating { display: flex; align-items: center; gap: 5px; font-size: 10px; color: var(--rz-text-muted); font-weight: 600; }
.rz-home .bento-exp__google-stars { color: var(--rz-amber); letter-spacing: 0.5px; }
.rz-home .bento-exp__google-pin {
  position: absolute;
  right: 8px; bottom: 8px;
  background: var(--rz-amber);
  color: var(--rz-bg-dark);
  font-size: 9.5px;
  font-weight: 800;
  padding: 4px 8px;
  border-radius: 999px;
  box-shadow: 0 4px 10px rgba(255,194,60,0.40);
  white-space: nowrap;
  letter-spacing: 0.02em;
}
.rz-home .bento-exp__files {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}
.rz-home .bento-exp__file {
  position: relative;
  background: var(--rz-bg-alt);
  border: 1px solid var(--rz-border-soft);
  border-radius: 10px;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-feature-settings: "tnum";
}
.rz-home .bento-exp__file::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--rz-green);
  flex-shrink: 0;
}
.rz-home .bento-exp__file--xml::before { background: var(--rz-amber-text, #b97a00); }
.rz-home .bento-exp__file--csv::before { background: var(--rz-green); }
.rz-home .bento-exp__file--api::before { background: #5e3df4; }
.rz-home .bento-exp__file-name {
  font-size: 12px;
  font-weight: 800;
  color: var(--rz-text);
  letter-spacing: 0.02em;
  line-height: 1;
}
.rz-home .bento-exp__file-meta {
  font-size: 10px;
  color: var(--rz-text-muted);
  font-weight: 500;
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}

/* ---------- responsive ---------- */
@media (max-width: 760px) {
  /* Reply tile: stacks review on top, arrow rotates, bubble below */
  .rz-home .bento-reply {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .rz-home .bento-reply__arrow { transform: rotate(90deg); }
}
@media (max-width: 640px) {
  .rz-home .bento {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .rz-home .bento__col {
    gap: 14px;
  }
  .rz-home .bento__sub-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .rz-home .bento__tile {
    padding: 20px;
  }
  .rz-home .bento__tile--hero .bento__title { font-size: 22px; }
  .rz-home .bento-trans { grid-template-columns: 1fr; gap: 10px; }
  .rz-home .bento-trans__arrow { transform: rotate(90deg); }
  .rz-home .bento-exp { grid-template-columns: 1fr; }
}

/* ========== FEATURES GRID ========== */
.rz-home .features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.rz-home .feature {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  padding: 32px 28px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  position: relative;
}
.rz-home .feature:hover {
  transform: translateY(-4px);
  box-shadow: var(--rz-shadow-card);
  border-color: transparent;
}
.rz-home .feature__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}
.rz-home .feature__icon svg {
  width: 24px; height: 24px;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  stroke: currentColor;
}
.rz-home .feature__icon--green { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .feature__icon--amber { background: var(--rz-amber-light); color: var(--rz-amber-text); }
.rz-home .feature__icon--dark { background: var(--rz-bg-dark); color: var(--rz-amber); }
.rz-home .feature h3 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin-bottom: 8px;
}
.rz-home .feature p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--rz-text-muted);
}

/* CTA BANNER */
.rz-home .cta-banner {
  margin: 0 auto;
  max-width: var(--rz-container);
  padding: 0 32px;
}
.rz-home .cta-banner__inner {
  background: linear-gradient(120deg, var(--rz-bg-dark) 0%, #18243C 100%);
  border-radius: var(--rz-radius-xl);
  padding: 48px 56px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 40px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.rz-home .cta-banner__inner::before {
  content: "";
  position: absolute;
  top: -100px; right: -100px;
  width: 380px; height: 380px;
  background: radial-gradient(closest-side, rgba(255,194,60,0.25), transparent);
  pointer-events: none;
}
.rz-home .cta-banner__copy { position: relative; }
.rz-home .cta-banner__overline {
  font-size: 12px; font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--rz-amber);
  margin-bottom: 14px;
}
.rz-home .cta-banner__copy h3 {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: var(--rz-white);
  margin-bottom: 10px;
}
.rz-home .cta-banner__copy p {
  font-size: 16px;
  color: var(--rz-text-on-dark-mute);
  line-height: 1.55;
  max-width: 440px;
}
.rz-home .cta-banner__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  position: relative;
}
.rz-home .cta-banner__btn {
  background: var(--rz-amber);
  color: var(--rz-bg-dark);
  padding: 16px 28px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.rz-home .cta-banner__sub {
  font-size: 13px;
  color: var(--rz-text-on-dark-mute);
  font-weight: 500;
}

/* ========== KPI ========== */
.rz-home .kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.rz-home .kpi {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 32px 28px;
  border: 1px solid var(--rz-border-soft);
}
.rz-home .kpi__num {
  font-size: 52px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  background: linear-gradient(120deg, var(--rz-green) 0%, var(--rz-green-2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: 12px;
}
.rz-home .kpi__label {
  font-size: 14px;
  color: var(--rz-text-muted);
  font-weight: 500;
  line-height: 1.5;
}

/* CTA TEXT LINK */
.rz-home .cta-link {
  text-align: center;
  margin-top: 40px;
  font-size: 15px;
  color: var(--rz-text-muted);
}
.rz-home .cta-link a {
  color: var(--rz-text);
  font-weight: 700;
  border-bottom: 1.5px solid var(--rz-text);
  padding-bottom: 1px;
}
.rz-home .cta-link a:hover { color: var(--rz-green); border-color: var(--rz-green); }

/* ========== PRICING ========== */
.rz-home .pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: stretch;
}
.rz-home .price-card {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 32px 28px;
  border: 1px solid var(--rz-border-soft);
  display: flex;
  flex-direction: column;
  position: relative;
}
.rz-home .price-card--featured {
  background: var(--rz-bg-dark);
  color: var(--rz-text-on-dark);
  border-color: var(--rz-bg-dark);
  transform: translateY(-12px);
  box-shadow: var(--rz-shadow-strong);
}
.rz-home .price-card--featured h3 { color: var(--rz-white); }
.rz-home .price-card--featured .price-card__price { color: var(--rz-white); }
.rz-home .price-card--featured .price-card__features li { color: var(--rz-text-on-dark-mute); }
.rz-home .price-card--featured .price-card__features li svg { stroke: var(--rz-amber); }
.rz-home .price-card__badge {
  position: absolute;
  top: -12px; left: 50%;
  transform: translateX(-50%);
  background: var(--rz-amber);
  color: var(--rz-bg-dark);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 5px 14px;
  border-radius: 999px;
  white-space: nowrap;
}
.rz-home .price-card__name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.rz-home .price-card__name {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--rz-text-muted);
}
.rz-home .price-card--featured .price-card__name { color: var(--rz-amber); }
.rz-home .price-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  white-space: nowrap;
}
.rz-home .price-card__tag--free { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .price-card__tag--trial { background: var(--rz-blue-light); color: var(--rz-blue); }
.rz-home .price-card__tag--popular { background: var(--rz-amber-light); color: var(--rz-amber-text); }
.rz-home .price-card__tag--teams { background: var(--rz-bg-alt); color: var(--rz-text); }
.rz-home .price-card--featured .price-card__tag--popular { background: rgba(255,194,60,0.18); color: var(--rz-amber); }
.rz-home .price-card__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 6px;
}
.rz-home .price-card__price-main {
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}
.rz-home .price-card__price-unit {
  font-size: 14px;
  color: var(--rz-text-muted);
  font-weight: 500;
}
.rz-home .price-card--featured .price-card__price-unit { color: var(--rz-text-on-dark-mute); }
.rz-home .price-card__intro {
  font-size: 13.5px;
  color: var(--rz-text-muted);
  line-height: 1.5;
  margin-bottom: 20px;
  min-height: 40px;
}
.rz-home .price-card--featured .price-card__intro { color: var(--rz-text-on-dark-mute); }
.rz-home .price-card__features {
  list-style: none;
  margin-bottom: 24px;
  flex: 1;
}
.rz-home .price-card__features li {
  font-size: 13.5px;
  padding: 7px 0;
  color: var(--rz-text);
  display: flex;
  align-items: flex-start;
  gap: 9px;
  line-height: 1.45;
}
.rz-home .price-card__features li svg {
  flex-shrink: 0;
  margin-top: 3px;
  stroke: var(--rz-green);
  stroke-width: 2.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rz-home .price-card__cta {
  display: block;
  text-align: center;
  padding: 13px 18px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14.5px;
  border: 1px solid var(--rz-border);
  color: var(--rz-text);
  background: var(--rz-white);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.rz-home .price-card__cta:hover { border-color: var(--rz-text); color: var(--rz-text) !important; }
.rz-home .price-card--featured .price-card__cta {
  background: var(--rz-amber);
  color: var(--rz-bg-dark) !important;
  border-color: var(--rz-amber);
}
.rz-home .price-card--featured .price-card__cta:hover { background: var(--rz-amber-2); border-color: var(--rz-amber-2); color: var(--rz-bg-dark) !important; }

/* ========== PŘEHLED TARIFŮ (kompaktní) ========== */
.rz-home .plan-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: stretch;
}
.rz-home .plan-overview-card {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  padding: 24px 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-decoration: none;
  color: var(--rz-text);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.rz-home .plan-overview-card:hover {
  border-color: var(--rz-border);
  box-shadow: var(--rz-shadow-soft);
  transform: translateY(-3px);
}
.rz-home .plan-overview-card--featured {
  border-color: var(--rz-amber);
  box-shadow: 0 0 0 1px var(--rz-amber);
}
.rz-home .plan-overview-card__name {
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--rz-text-muted);
}
.rz-home .plan-overview-card__price {
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.rz-home .plan-overview-card__price-main {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}
.rz-home .plan-overview-card__price-unit {
  font-size: 13px;
  color: var(--rz-text-muted);
  font-weight: 500;
}
.rz-home .plan-overview-card__points {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;
}
.rz-home .plan-overview-card__points li {
  font-size: 13px;
  color: var(--rz-text-muted);
  line-height: 1.5;
  padding: 2px 0;
}
.rz-home .plan-overview-card__tag {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  background: var(--rz-bg-alt);
  color: var(--rz-text);
}
.rz-home .plan-overview-card__tag--free { background: var(--rz-green-light); color: var(--rz-green); }

/* Inline CTA pod sekcemi (přehled tarifů, benefity) – vycentrované výrazné tlačítko */
.rz-home .cta-inline {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}
.rz-home .cta-inline a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: 999px;
  background: var(--rz-green);
  color: var(--rz-white);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(58,130,89,0.25);
  transition: transform 0.1s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.rz-home .cta-inline a:hover {
  background: var(--rz-green-2);
  color: var(--rz-bg-dark);
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(58,130,89,0.3);
}
.rz-home .cta-inline a svg {
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

/* ========== FAQ ========== */
.rz-home .faq {
  max-width: 880px;
  margin: 0 auto;
}
.rz-home .faq__item {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius);
  padding: 22px 26px;
  margin-bottom: 12px;
  cursor: pointer;
}
.rz-home .faq__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  font-size: 16.5px;
  letter-spacing: -0.005em;
  gap: 16px;
}
.rz-home .faq__icon {
  width: 28px; height: 28px;
  border-radius: 999px;
  background: var(--rz-bg-alt);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700;
  flex-shrink: 0;
  color: var(--rz-text);
}
.rz-home .faq__answer {
  display: none;
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--rz-text-muted);
}
.rz-home .faq__item--open .faq__answer { display: block; }
.rz-home .faq__item--open .faq__icon { background: var(--rz-green); color: var(--rz-white); }

/* CTA FAQ */
.rz-home .cta-faq {
  text-align: center;
  margin-top: 40px;
  font-size: 15px;
  color: var(--rz-text-muted);
}
.rz-home .cta-faq a {
  color: var(--rz-green);
  font-weight: 600;
  border-bottom: 1.5px solid transparent;
  padding-bottom: 1px;
}
.rz-home .cta-faq a:hover { border-color: var(--rz-green); }

/* ========== FINAL CTA ========== */
.rz-home .cta-final {
  margin: 0 auto;
  max-width: var(--rz-container);
  padding: 0 32px;
}
.rz-home .cta-final__inner {
  background: var(--rz-bg-dark);
  border-radius: var(--rz-radius-xl);
  padding: 80px 64px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rz-home .cta-final__inner::before {
  content: "";
  position: absolute;
  top: -160px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px;
  background: radial-gradient(closest-side, rgba(255,194,60,0.15), transparent);
  pointer-events: none;
}
.rz-home .cta-final__overline {
  font-size: 12px; font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--rz-amber);
  margin-bottom: 18px;
  position: relative;
}
.rz-home .cta-final h2 {
  font-size: 56px;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: var(--rz-white);
  margin-bottom: 18px;
  line-height: 1.05;
  position: relative;
}
.rz-home .cta-final p {
  font-size: 19px;
  color: var(--rz-text-on-dark-mute);
  max-width: 560px;
  margin: 0 auto 32px;
  position: relative;
  line-height: 1.55;
}
.rz-home .cta-final__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}
.rz-home .cta-final__actions .rz-btn--secondary {
  background: transparent !important;
  border-color: rgba(255,255,255,0.2);
  color: var(--rz-white) !important;
}
.rz-home .cta-final__actions .rz-btn--secondary:hover {
  border-color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.05) !important;
  color: var(--rz-white) !important;
}

/* ===================================================================
   FOOTER – sdílené pro celý marketing web
   =================================================================== */
.rz-footer {
  background: var(--rz-bg-alt);
  padding: 80px 0 32px;
  font-size: 16px;
  color: var(--rz-text);
}
.rz-footer__top {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 56px;
}
.rz-footer__brand .rz-logo { margin-bottom: 16px; }
.rz-footer__brand p {
  font-size: 11px;
  max-width: 280px;
  line-height: 1.55;
  color: var(--rz-text-muted);
}
.rz-footer__col h4 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 18px;
  color: var(--rz-text);
}
.rz-footer__col ul { list-style: none; }
.rz-footer__col li {
  margin-bottom: 10px;
  font-size: 14.5px;
}
body.landing-template .rz-footer__col a {
  color: var(--rz-text-muted) !important;
  font-weight: 500;
  transition: color 0.15s ease;
}
body.landing-template .rz-footer__col a:hover { color: var(--rz-green) !important; }
.rz-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 28px;
  border-top: 1px solid var(--rz-border);
  font-size: 13px;
  color: var(--rz-text-muted);
  flex-wrap: wrap;
  gap: 16px;
}
.rz-footer__legal { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.rz-footer__legal a { color: var(--rz-text-muted); text-decoration: underline; text-underline-offset: 2px; }
.rz-footer__legal a:hover { color: var(--rz-text); }

/* ===================================================================
   RESPONSIVE
   =================================================================== */
@media (max-width: 1280px) {
  :root { --rz-container: 1100px; }
}
@media (max-width: 1100px) {
  .rz-home .hero__inner { grid-template-columns: 1fr; }
  .rz-home .features-grid { grid-template-columns: 1fr 1fr; }
  .rz-home .pricing-grid { grid-template-columns: repeat(2, 1fr); }
  .rz-home .plan-overview-grid { grid-template-columns: repeat(2, 1fr); }
  .rz-home .kpis { grid-template-columns: repeat(2, 1fr); }
  .rz-footer__top { grid-template-columns: 1fr 1fr; }
  .rz-home .hero h1 em { font-size: 64px; }
  .rz-home .cta-final h2 { font-size: 44px; }
  .rz-home .steps { grid-template-columns: 1fr 1fr; }
  .rz-home .step:not(:last-child)::after { display: none; }
  .rz-home .step__num { font-size: 140px; }
  .rz-home .persona-grid { grid-template-columns: 1fr; }
  .rz-home .integ-platforms { grid-template-columns: repeat(2, 1fr); }
  .rz-home .price-card--featured { transform: none; }
}
/* Default state: hamburger hidden, panel acts as a normal flex row. */
.rz-nav__toggle { display: none; }
.rz-nav__panel {
  display: flex;
  align-items: center;
  gap: 32px;
  flex: 1;
  justify-content: flex-end;
}

/* Hamburger breakpoint: the full horizontal nav has 8 menu items + login +
   primary CTA. It needs ~1200px to fit without overflowing the viewport, but
   the old breakpoint was 860px – leaving a 340px dead zone where the nav
   pushed body.scrollWidth past the viewport and the whole page (incl. this
   marketing demo) appeared "stretched" and required horizontal scrolling.
   Triggering the hamburger earlier eliminates that dead zone. */
@media (max-width: 1100px) {
  .rz-nav__inner { height: 64px; }
  .rz-nav__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px; height: 42px;
    border-radius: 12px;
    border: 1px solid var(--rz-border);
    background: var(--rz-white);
    cursor: pointer;
    padding: 0;
    color: var(--rz-text);
    transition: background 0.15s ease, border-color 0.15s ease;
  }
  .rz-nav__toggle:hover { border-color: var(--rz-text-muted); }
  .rz-nav__toggle:focus-visible {
    outline: 2px solid var(--rz-green);
    outline-offset: 2px;
  }
  .rz-nav__toggle-bars {
    position: relative;
    display: inline-block;
    width: 18px; height: 14px;
  }
  .rz-nav__toggle-bars span {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: transform 0.2s ease, opacity 0.15s ease, top 0.2s ease;
  }
  .rz-nav__toggle-bars span:nth-child(1) { top: 0; }
  .rz-nav__toggle-bars span:nth-child(2) { top: 6px; }
  .rz-nav__toggle-bars span:nth-child(3) { top: 12px; }
  .rz-nav.is-open .rz-nav__toggle-bars span:nth-child(1) { top: 6px; transform: rotate(45deg); }
  .rz-nav.is-open .rz-nav__toggle-bars span:nth-child(2) { opacity: 0; }
  .rz-nav.is-open .rz-nav__toggle-bars span:nth-child(3) { top: 6px; transform: rotate(-45deg); }

  .rz-nav__panel {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--rz-white);
    border-bottom: 1px solid var(--rz-border-soft);
    box-shadow: 0 18px 36px -20px rgba(15, 26, 46, 0.25);
    padding: 12px 0 18px;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s linear 0.2s;
  }
  .rz-nav.is-open .rz-nav__panel {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    transition: transform 0.2s ease, opacity 0.2s ease, visibility 0s linear 0s;
  }
  body.landing-template .rz-nav__menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    padding: 0 18px;
  }
  body.landing-template .rz-nav__menu > .rz-nav__link {
    display: block;
    padding: 12px 6px;
    border-bottom: 1px solid var(--rz-border-soft);
    font-size: 16px;
  }
  body.landing-template .rz-nav__menu > .rz-nav__link:last-child { border-bottom: 0; }

  /* Mobile dropdowns = inline accordion (vertical list). Vznášecí desktop
     positioning se ruší, panel se rozbalí inline pod buttonem. */
  .rz-nav__dropdown {
    display: block;
    border-bottom: 1px solid var(--rz-border-soft);
  }
  .rz-nav__dropdown:last-child { border-bottom: 0; }
  body.landing-template .rz-nav__dropdown-toggle {
    width: 100%;
    justify-content: space-between;
    padding: 12px 6px;
    font-size: 16px;
    color: var(--rz-text);
  }
  .rz-nav__dropdown-panel {
    position: static;
    transform: none;
    min-width: 0;
    width: 100%;
    padding: 0 0 8px 14px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: none;
    max-height: 0;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
    transition: max-height 0.22s ease, padding 0.22s ease;
  }
  .rz-nav__dropdown-panel::before { display: none; }
  .rz-nav__dropdown.is-open .rz-nav__dropdown-panel {
    transform: none;
    max-height: 800px;
    padding-bottom: 8px;
  }
  body.landing-template .rz-nav__dropdown-item {
    padding: 9px 10px;
  }
  .rz-nav__dropdown-item-desc { display: none; }
  .rz-nav__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 14px 18px 4px;
    border-top: 1px solid var(--rz-border-soft);
    margin-top: 8px;
  }
  body.landing-template .rz-nav__login {
    padding: 10px 6px;
    text-align: center;
  }
  body.landing-template .rz-nav__actions .rz-btn {
    justify-content: center;
    width: 100%;
  }
}
@media (max-width: 760px) {
  .rz-container { padding: 0 18px; }
  .rz-home .publish-grid,
  .rz-home .integ-custom,
  .rz-home .fo-grid { grid-template-columns: 1fr; }
  .rz-home .features-grid { grid-template-columns: 1fr; }
  .rz-home .pricing-grid { grid-template-columns: 1fr; }
  .rz-home .plan-overview-grid { grid-template-columns: 1fr; }
  .rz-home .kpis { grid-template-columns: 1fr; }
  .rz-home .steps { grid-template-columns: 1fr; gap: 20px; }
  .rz-home .step { padding: 28px 24px 24px; }
  .rz-home .step__num { font-size: 120px; top: -4px; right: 10px; }
  .rz-home .integ-platforms { grid-template-columns: 1fr 1fr; }
  .rz-footer__top { grid-template-columns: 1fr 1fr; }
  .rz-home .section { padding: 64px 0; }
  .rz-home .section h2 { font-size: 32px; }
  .rz-home .hero h1 em { font-size: 52px; }
  .rz-home .cta-final__inner { padding: 56px 28px; }
  .rz-home .cta-final h2 { font-size: 34px; }
  .rz-home .cta-banner__inner { grid-template-columns: 1fr; padding: 36px 28px; }
  .rz-home .cta-banner__actions { align-items: flex-start; }
  .rz-home .integ-cta { padding: 26px 28px; }
}
@media (max-width: 520px) {
  .rz-footer__top { grid-template-columns: 1fr; gap: 32px; }
  .rz-home .hero h1 em { font-size: 44px; }
}

/* ===================================================================
   AUTH – registracni stranka (/register), pod .rz-auth
   =================================================================== */
.rz-auth {
  background: var(--rz-bg);
  color: var(--rz-text);
  font-size: 16px;
  line-height: 1.55;
  padding: 52px 0 88px;
}
.rz-auth .rz-auth__inner { max-width: 1080px; }

/* --- header --- */
.rz-auth .rz-auth__head { text-align: center; max-width: 620px; margin: 0 auto 32px; }
.rz-auth .eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; margin-bottom: 18px;
  background: var(--rz-green-light); color: var(--rz-green);
  font-weight: 600; font-size: 10.5px; border-radius: 999px;
}
.rz-auth .eyebrow__dot { width: 5px; height: 5px; border-radius: 999px; background: var(--rz-green); }
.rz-auth .rz-auth__title {
  /* UX audit 2026-05-29 P2 #13: 40px h1 byl dominantní na page kde reálná akce
     (form) má 5-6 polí pod ním – tlačil submit button přesně na fold u 720px-vh
     laptopu. Clamp se škáluje s viewportem a drží h1 vizuálně silnější než form
     fields, ale neukrádá ne-vh polovinu obrazovky. */
  font-size: clamp(26px, 3.4vw, 32px);
  font-weight: 800; letter-spacing: -0.03em;
  line-height: 1.1; color: var(--rz-text); margin: 0 0 12px;
}
.rz-auth .rz-auth__lead { font-size: 17px; color: var(--rz-text-muted); line-height: 1.55; margin: 0; }
.rz-auth .rz-auth__alt { font-size: 14px; color: var(--rz-text-muted); margin: 14px 0 0; }
.rz-auth .rz-auth__alt a { color: var(--rz-green); font-weight: 700; }
.rz-auth .rz-auth__alt a:hover { color: var(--rz-green) !important; }

/* --- error / success --- */
.rz-auth .rz-auth__error {
  max-width: 880px; margin: 0 auto 20px;
  background: var(--rz-red-light); color: var(--rz-red);
  border: 1px solid var(--rz-sc-red-soft, #F6B2BC); border-radius: var(--rz-radius);
  padding: 14px 18px; font-size: 14px; font-weight: 600;
}
.rz-auth .rz-auth__success {
  max-width: 880px; margin: 0 auto 20px;
  background: var(--rz-green-light); color: var(--rz-green);
  border: 1px solid rgba(58,130,89,0.25); border-radius: var(--rz-radius);
  padding: 14px 18px; font-size: 14px; font-weight: 600;
}

/* Password-match inline feedback (reset_password.php). P1 #6 (audit 2026-05-29):
   dříve byly barvy v JS přes el.style.color = '#3a8259' / '#a04400'; teď žijí
   v token-aware classách aby drželi konzistenci s --rz-green / --rz-red. */
.rz-auth .rz-auth__match { font-weight: 600; }
.rz-auth .rz-auth__match.is-match { color: var(--rz-green); }
.rz-auth .rz-auth__match.is-mismatch { color: var(--rz-red); }

/* --- form / cards --- */
.rz-auth .rz-auth__form { display: flex; flex-direction: column; gap: 20px; }
.rz-auth .rz-auth__card {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  box-shadow: var(--rz-shadow-card);
  padding: 30px 32px;
}
.rz-auth .rz-auth__section + .rz-auth__section {
  margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--rz-border-soft);
}
.rz-auth .rz-auth__section-title {
  font-size: 18px; font-weight: 800; letter-spacing: -0.01em;
  color: var(--rz-text); margin: 0 0 18px;
  display: flex; align-items: center; gap: 10px;
}
.rz-auth .rz-auth__section-opt {
  font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--rz-text-muted); background: var(--rz-bg-alt);
  padding: 3px 9px; border-radius: 999px;
}
.rz-auth .rz-auth__section-help {
  font-size: 13.5px; color: var(--rz-text-muted); line-height: 1.6; margin: -6px 0 18px;
}
.rz-auth .rz-auth__section-help a { color: var(--rz-green); font-weight: 600; }
.rz-auth .rz-auth__section-help a:hover { color: var(--rz-green) !important; }
.rz-auth .rz-auth__section-lead {
  font-size: 13.5px; color: var(--rz-text-muted); line-height: 1.55;
  margin: -10px 0 18px;
}

/* --- business-type radio cards (register step 0) --- */
.rz-auth .rz-auth__business-types {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.rz-auth .rz-business-type {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  padding: 14px 16px;
  border: 1.5px solid var(--rz-border-soft);
  border-radius: 14px;
  background: var(--rz-bg);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.1s ease;
}
.rz-auth .rz-business-type:hover {
  border-color: color-mix(in srgb, var(--rz-green) 60%, var(--rz-border-soft));
  background: color-mix(in srgb, var(--rz-green) 4%, var(--rz-bg));
}
.rz-auth .rz-business-type.is-selected {
  border-color: var(--rz-green);
  background: color-mix(in srgb, var(--rz-green) 8%, var(--rz-bg));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rz-green) 18%, transparent);
}
.rz-auth .rz-business-type__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.rz-auth .rz-business-type__input:focus-visible + .rz-business-type__label {
  outline: 2px solid var(--rz-green);
  outline-offset: 2px;
  border-radius: 4px;
}
.rz-auth .rz-business-type__label {
  font-size: 14px;
  font-weight: 700;
  color: var(--rz-text);
}
.rz-auth .rz-business-type__hint {
  font-size: 12.5px;
  color: var(--rz-text-muted);
  line-height: 1.4;
}

/* Social sign-in block – sits below the main email/password form. Only
   rendered when GOOGLE_OAUTH_CLIENT_ID env is configured (server-side
   gate); when missing the whole section stays hidden. */
.rz-auth__social {
  margin-top: 20px;
  display: grid;
  gap: 16px;
}
.rz-auth__social-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--rz-text-muted);
  font-size: 12.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.rz-auth__social-divider::before,
.rz-auth__social-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--rz-border-soft);
}
.rz-btn.rz-btn--google {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 18px;
  border-radius: 12px;
  background: var(--rz-bg);
  color: var(--rz-text) !important;
  font-weight: 600;
  border: 1.5px solid var(--rz-border-soft);
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.rz-btn.rz-btn--google:hover {
  border-color: var(--rz-text);
  background: color-mix(in srgb, var(--rz-text) 4%, var(--rz-bg));
}

/* --- fields --- */
.rz-auth .rz-auth__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rz-auth .rz-field { display: flex; flex-direction: column; gap: 7px; }
.rz-auth .rz-field--wide { grid-column: 1 / -1; }
.rz-auth .rz-field__label {
  font-size: 12.5px; font-weight: 700; color: var(--rz-text);
  display: flex; align-items: center; gap: 8px;
}
/* Optional below-input hint, used when a field needs context (e.g. why we
   ask for it) without bloating the label itself. */
.rz-auth .rz-field__hint {
  font-size: 12px;
  color: var(--rz-text-muted);
  line-height: 1.4;
}
.rz-auth .rz-field__input {
  font-family: inherit;
  /* UX audit 2026-05-29 P1 #9: 16 px je minimum, pod kterým iOS Safari při
     focusu automaticky zoomuje – klávesnice "skočí" a uživatel ztrácí kontext.
     Předchozí 15 px byl jedním z hlavních friction bodů v mobilním auth flow. */
  font-size: 16px;
  color: var(--rz-text);
  background: var(--rz-white);
  border: 1px solid var(--rz-border);
  border-radius: var(--rz-radius-sm);
  padding: 12px 14px; width: 100%;
  /* Slightly slower transition (0.2s) reads as a deliberate focus state rather
     than a flicker; previous 0.15s felt twitchy on keyboard navigation. */
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.rz-auth .rz-field__input:hover { border-color: var(--rz-text-muted); }
.rz-auth .rz-field__input:focus {
  outline: none; border-color: var(--rz-green);
  box-shadow: 0 0 0 3px rgba(58,130,89,0.14);
}
/* High-contrast / forced-colors fallback: the box-shadow ring above is
   stripped in forced-colors mode, so render an explicit outline instead so
   keyboard users do not lose focus visibility. */
@media (forced-colors: active) {
  .rz-auth .rz-field__input:focus {
    outline: 2px solid CanvasText;
    outline-offset: 1px;
  }
}

/* --- plan picker --- */
.rz-auth .rz-plan-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rz-auth .rz-plan-option { display: block; position: relative; }
.rz-auth .rz-plan-radio {
  position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0; pointer-events: none;
}
.rz-auth .rz-plan-pill {
  display: flex; flex-direction: column; gap: 10px; height: 100%; cursor: pointer;
  background: var(--rz-white);
  border: 1.5px solid var(--rz-border);
  border-radius: var(--rz-radius);
  padding: 16px 16px 14px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.rz-auth .rz-plan-pill:hover { border-color: var(--rz-text-muted); }
.rz-auth .rz-plan-pill__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rz-auth .rz-plan-pill__name {
  font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--rz-text);
}
.rz-auth .rz-plan-pill__badge {
  font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--rz-text-muted); background: var(--rz-bg-alt);
  padding: 3px 7px; border-radius: 999px; white-space: nowrap;
}
.rz-auth .rz-plan-pill.is-featured .rz-plan-pill__badge {
  background: var(--rz-amber-light); color: var(--rz-amber-text);
}
.rz-auth .rz-plan-pill__price {
  font-size: 18px; font-weight: 800; letter-spacing: -0.02em; color: var(--rz-text);
}
.rz-auth .rz-plan-pill__price small { font-size: 12px; font-weight: 500; color: var(--rz-text-muted); }
.rz-auth .rz-plan-radio:checked + .rz-plan-pill {
  border-color: var(--rz-bg-dark);
  box-shadow: 0 0 0 3px rgba(15,26,46,0.08);
  background: var(--rz-bg);
}
.rz-auth .rz-plan-radio:focus-visible + .rz-plan-pill {
  outline: 2px solid var(--rz-green); outline-offset: 2px;
}

/* --- plan cards (po kliknuti na tarif se zobrazi vsechny 4 karticky, vse svetle) --- */
.rz-auth .rz-plan-cards {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  align-items: stretch;
}
.rz-auth .rz-plan-cards[hidden] { display: none; }
.rz-auth .rz-price-card {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  border: 1px solid var(--rz-border-soft);
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.rz-auth .rz-price-card.is-selected {
  border-color: var(--rz-green);
  box-shadow: 0 0 0 1px var(--rz-green);
}
.rz-auth .rz-price-card__name {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--rz-text-muted);
  margin-bottom: 10px;
}
.rz-auth .rz-price-card__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 6px;
}
.rz-auth .rz-price-card__price-main {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--rz-text);
}
.rz-auth .rz-price-card__price-unit {
  font-size: 13px;
  color: var(--rz-text-muted);
  font-weight: 500;
}
.rz-auth .rz-price-card__intro {
  font-size: 12px;
  color: var(--rz-text-muted);
  line-height: 1.5;
  margin: 8px 0 16px;
  min-height: 36px;
}
.rz-auth .rz-price-card__features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.rz-auth .rz-price-card__features li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13px;
  color: var(--rz-text);
  line-height: 1.45;
}
.rz-auth .rz-price-card__features li svg {
  flex: none;
  margin-top: 3px;
  color: var(--rz-green);
}

/* --- payment note --- */
.rz-auth .rz-auth__pay-note {
  background: var(--rz-amber-light); border-radius: var(--rz-radius);
  padding: 14px 18px; margin-bottom: 18px;
}
.rz-auth .rz-auth__pay-title {
  display: block; font-size: 14px; font-weight: 800; color: var(--rz-amber-text); margin-bottom: 3px;
}
.rz-auth .rz-auth__pay-copy { font-size: 13px; color: var(--rz-amber-text); line-height: 1.5; margin: 0; }

/* --- plan summary --- */
.rz-auth .rz-plan-summary {
  margin-top: 18px;
  background: var(--rz-bg-alt);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius);
  padding: 18px 20px;
}
.rz-auth .rz-plan-summary__row {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  font-size: 14px; color: var(--rz-text-muted); padding: 5px 0;
}
.rz-auth .rz-plan-summary__row strong { color: var(--rz-text); font-weight: 700; }
.rz-auth .rz-plan-summary__row--discount,
.rz-auth .rz-plan-summary__row--discount strong { color: var(--rz-green); }
.rz-auth .rz-plan-summary__row--total {
  border-top: 1px solid var(--rz-border); margin-top: 6px; padding: 12px 0 0;
}
.rz-auth .rz-plan-summary__row--total span { font-size: 15px; font-weight: 700; color: var(--rz-text); }
.rz-auth .rz-plan-summary__row--total strong { font-size: 22px; letter-spacing: -0.02em; }
.rz-auth .rz-plan-summary__note {
  font-size: 12.5px; color: var(--rz-text-muted); line-height: 1.55; margin: 4px 0 0;
}
.rz-auth .rz-plan-summary__note:empty { display: none; }

/* --- legal consent --- */
.rz-auth .rz-auth__consent {
  margin: 8px 0 0;
}
.rz-auth .rz-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(7, 24, 58, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.85);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--rz-text-muted, #475569);
  cursor: pointer;
}
.rz-auth .rz-consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #1d4ed8;
  cursor: pointer;
}
.rz-auth .rz-consent a {
  color: var(--rz-text, #0b1f44);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.rz-auth .rz-consent--optional {
  margin-top: 8px;
  background: rgba(248, 250, 252, 0.6);
  border-style: dashed;
}

/* --- actions --- */
.rz-auth .rz-auth__actions { text-align: center; margin-top: 4px; }
.rz-auth .rz-auth__actions .rz-btn { width: 100%; max-width: 420px; justify-content: center; }
.rz-auth .rz-auth__actions-note {
  font-size: 13px; font-weight: 500; color: var(--rz-text-muted); margin: 14px 0 0;
}

/* --- login varianta (uzsi sloupec, link "zapomenute heslo" v labelu) --- */
.rz-auth.rz-auth--login .rz-auth__inner--narrow,
.rz-auth.rz-auth--forgot .rz-auth__inner--narrow { max-width: 520px; }
.rz-auth.rz-auth--login .rz-auth__form,
.rz-auth.rz-auth--forgot .rz-auth__form { gap: 18px; }
.rz-auth .rz-field__label--with-link { justify-content: space-between; }
.rz-auth .rz-auth__inline-link {
  font-size: 12.5px; font-weight: 600; color: var(--rz-green); text-decoration: none;
}
.rz-auth .rz-auth__inline-link:hover { color: var(--rz-green) !important; text-decoration: underline; }

@media (max-width: 960px) {
  .rz-auth .rz-plan-cards { grid-template-columns: repeat(2, 1fr); }
}

/* --- forgot varianta: tipy pod formem + centrovany doplnkovy link --- */
.rz-auth .rz-auth__points {
  list-style: none; padding: 0; margin: 18px 0 0;
  display: flex; flex-direction: column; gap: 8px;
}
.rz-auth .rz-auth__points li {
  position: relative; padding-left: 22px;
  font-size: 13.5px; line-height: 1.55; color: var(--rz-text-muted);
}
.rz-auth .rz-auth__points li::before {
  content: ""; position: absolute; left: 0; top: 7px;
  width: 6px; height: 6px; border-radius: 999px;
  background: var(--rz-green);
}
.rz-auth .rz-auth__alt--center { text-align: center; }

@media (max-width: 720px) {
  .rz-auth { padding: 36px 0 64px; }
  .rz-auth .rz-auth__card { padding: 24px 20px; }
  /* P2 #13: mobile override sjednocen s clamp() na :root scope –
     clamp(26, 3.4vw, 32) na 720 px dá ~24.5 px, což je pod minimem 26. Tady
     držíme 26 px jako explicit floor. */
  .rz-auth .rz-auth__title { font-size: 26px; }
  .rz-auth .rz-auth__grid { grid-template-columns: 1fr; }
  .rz-auth .rz-plan-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
  .rz-auth .rz-plan-grid { grid-template-columns: 1fr; }
  .rz-auth .rz-plan-cards { grid-template-columns: 1fr; }
}

/* =========================================================
   CONTACT – stranka /contact (UI Kit v7, pod .rz-home)
   ========================================================= */

/* Split shell: top spacing + container handled by .rz-container */
.rz-home .contact-shell {
  padding: 88px 0 96px;
  background: var(--rz-white);
}

/* Flash zprava (success / error) nad split blokem */
.rz-home .contact-flash {
  max-width: 1080px;
  margin: 0 auto 32px;
  padding: 16px 20px;
  border-radius: var(--rz-radius);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  border: 1px solid transparent;
}
.rz-home .contact-flash--success {
  background: var(--rz-green-light);
  color: var(--rz-green);
  border-color: rgba(0,0,0,0.04);
}
.rz-home .contact-flash--error {
  background: var(--rz-red-light);
  color: var(--rz-red);
  border-color: rgba(0,0,0,0.04);
}

/* Split layout: levy info + pravy form */
.rz-home .contact-split {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 80px;
  align-items: start;
  max-width: 1080px;
  margin: 0 auto;
}
.rz-home .contact-split__info {
  padding-top: 8px;
}
.rz-home .contact-split__title {
  font-size: clamp(44px, 5.6vw, 68px);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 16px 0 22px;
  color: var(--rz-green);
}
.rz-home .contact-split__title em {
  display: block;
  font-style: normal;
  color: var(--rz-text);
  font-weight: 800;
  font-size: clamp(26px, 3.2vw, 40px);
  letter-spacing: -0.02em;
  white-space: nowrap;
  margin-top: 6px;
}
.rz-home .contact-split__lead {
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--rz-text-muted);
  margin: 0 0 40px;
  max-width: 460px;
}

/* Jednotlivy kanal (mail s ikonou) */
.rz-home .contact-channel {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
}
.rz-home .contact-channel__icon {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rz-amber-light);
  color: var(--rz-amber-text);
}
.rz-home .contact-channel__icon--green {
  background: var(--rz-green-light);
  color: var(--rz-green);
}
.rz-home .contact-channel__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rz-home .contact-channel__label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rz-text-muted);
  letter-spacing: 0.01em;
}
.rz-home .contact-channel__value {
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: var(--rz-text);
  transition: color 0.15s ease;
}
.rz-home .contact-channel__value:hover { color: var(--rz-amber-text); }
.rz-home .contact-channel__value--static,
.rz-home .contact-channel__value--static:hover { color: var(--rz-text); cursor: default; }

/* Formular karta */
.rz-home .contact-split__form {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-xl);
  padding: 40px 36px;
  box-shadow: var(--rz-shadow-card);
}
.rz-home .contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.rz-home .contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.rz-home .contact-form__label {
  font-size: 14px;
  font-weight: 700;
  color: var(--rz-text);
  letter-spacing: -0.005em;
}
.rz-home .contact-form__label span {
  color: var(--rz-amber-text);
  margin-left: 2px;
}
.rz-home .contact-form__input,
.rz-home .contact-form__textarea {
  width: 100%;
  font: inherit;
  font-size: 15.5px;
  color: var(--rz-text);
  background: var(--rz-bg-alt);
  border: 1.5px solid transparent;
  border-radius: 12px;
  padding: 14px 16px;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  outline: none;
}
.rz-home .contact-form__input:hover,
.rz-home .contact-form__textarea:hover {
  background: var(--rz-white);
  border-color: var(--rz-border-soft);
}
.rz-home .contact-form__input:focus,
.rz-home .contact-form__textarea:focus {
  background: var(--rz-white);
  border-color: var(--rz-amber);
  box-shadow: 0 0 0 4px rgba(255, 194, 60, 0.18);
}
.rz-home .contact-form__textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.55;
}
.rz-home .contact-form__input.is-invalid,
.rz-home .contact-form__textarea.is-invalid {
  background: var(--rz-white);
  border-color: var(--rz-red);
  box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.12);
}
.rz-home .contact-form__error {
  font-size: 13px;
  font-weight: 600;
  color: var(--rz-red);
  margin-top: 2px;
}
.rz-home .contact-form__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.rz-home .contact-form__submit {
  margin-top: 8px;
  width: 100%;
  justify-content: center;
}
.rz-home .contact-form__note {
  font-size: 13px;
  color: var(--rz-text-muted);
  margin: 6px 0 0;
  line-height: 1.5;
}
.rz-home .contact-form__note a {
  color: var(--rz-green);
  font-weight: 600;
  border-bottom: 1px solid transparent;
}
.rz-home .contact-form__note a:hover { border-color: var(--rz-green); }

@media (max-width: 920px) {
  .rz-home .contact-shell { padding: 56px 0 72px; }
  .rz-home .contact-split { grid-template-columns: 1fr; gap: 48px; }
  .rz-home .contact-split__form { padding: 32px 24px; }
  .rz-home .contact-split__lead { margin-bottom: 28px; }
}

/* FAQ – native <details> varianta (bez JS) */
.rz-home .faq--native .faq__item {
  padding: 0;
  cursor: default;
}
.rz-home .faq--native details { padding: 22px 26px; }
.rz-home .faq--native details > summary {
  cursor: pointer;
  list-style: none;
}
.rz-home .faq--native details > summary::-webkit-details-marker { display: none; }
.rz-home .faq--native .faq__icon::before {
  content: "+";
  line-height: 1;
  font-size: 18px;
}
.rz-home .faq--native details[open] .faq__icon {
  background: var(--rz-green);
  color: var(--rz-white);
}
.rz-home .faq--native details[open] .faq__icon::before { content: "–"; }
.rz-home .faq--native details > .faq__answer {
  display: block;
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--rz-text-muted);
}
.rz-home .faq--native .faq__answer a {
  color: var(--rz-green);
  font-weight: 600;
  border-bottom: 1.5px solid transparent;
  padding-bottom: 1px;
}
.rz-home .faq--native .faq__answer a:hover { border-color: var(--rz-green); }

/* ===================================================================
   BLOG – marketing-page--blog redesign na UI Kitu v7
   Trida `.rz-blog` zije pod spolecnym wrapperem `.rz-home`, takze dedi
   typografii, kontejner, tlacitka i `.section/.eyebrow`. Tady jsou jen
   blog-specific bloky (hero s featured kartou, grid clanku).
   =================================================================== */

/* `body.landing-template hX` v marketing-refresh.css forcuje Sora do
   vsech nadpisu pod landing-template. Tady drzime Plus Jakarta Sans
   na vsech v7 blog-blocich. */
body.landing-template .rz-blog h1,
body.landing-template .rz-blog h2,
body.landing-template .rz-blog h3,
body.landing-template .rz-blog h4 {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
}

.rz-blog {
  position: relative;
  overflow: hidden;
}
.rz-blog::before {
  content: "";
  position: absolute;
  top: -240px; right: -160px;
  width: 620px; height: 620px;
  background: radial-gradient(closest-side, rgba(58,130,89,0.14), transparent);
  pointer-events: none;
  z-index: 0;
}
.rz-blog .blog-hero {
  padding: 72px 0 32px;
  position: relative;
}
.rz-blog .blog-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.rz-blog .blog-hero h1 {
  margin: 0 0 18px;
  font-size: clamp(40px, 5vw, 62px);
  letter-spacing: -0.035em;
  line-height: 1.02;
  font-weight: 800;
  color: var(--rz-text);
}
.rz-blog .blog-hero h1 em {
  font-style: normal;
  color: var(--rz-green);
}
.rz-blog .blog-hero__sub {
  font-size: 18px;
  line-height: 1.55;
  color: var(--rz-text-muted);
  max-width: 560px;
  margin: 0;
}

/* ---------- FEATURED (full-width hero article) ---------- */
.rz-blog .blog-feature {
  padding: 24px 0 72px;
  position: relative;
}

body.landing-template .rz-blog .blog-feature__card {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 0;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-xl);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--rz-shadow-card);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
body.landing-template .rz-blog .blog-feature__card:hover {
  transform: translateY(-3px);
  box-shadow: var(--rz-shadow-strong);
  border-color: var(--rz-border);
  color: inherit;
}

.rz-blog .blog-feature__visual {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  background:
    radial-gradient(circle at 18% 22%, rgba(58,130,89,0.28), transparent 55%),
    radial-gradient(circle at 82% 78%, rgba(114,181,142,0.32), transparent 55%),
    linear-gradient(135deg, var(--rz-green-light) 0%, #F1F7F3 100%);
}
.rz-blog .blog-feature__card[data-blog-theme="conversion"] .blog-feature__visual {
  background:
    radial-gradient(circle at 18% 22%, rgba(255,194,60,0.32), transparent 55%),
    radial-gradient(circle at 82% 78%, rgba(255,159,28,0.28), transparent 55%),
    linear-gradient(135deg, var(--rz-amber-light) 0%, #FFFAF0 100%);
}
.rz-blog .blog-feature__card[data-blog-theme="negative"] .blog-feature__visual {
  background:
    radial-gradient(circle at 18% 22%, rgba(232,52,78,0.22), transparent 55%),
    radial-gradient(circle at 82% 78%, rgba(232,52,78,0.18), transparent 55%),
    linear-gradient(135deg, var(--rz-red-light) 0%, #FFF1F3 100%);
}
.rz-blog .blog-feature__cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
body.landing-template .rz-blog .blog-feature__card:hover .blog-feature__cover {
  transform: scale(1.03);
}
.rz-blog .blog-feature__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,26,46,0) 55%, rgba(15,26,46,0.28) 100%);
  pointer-events: none;
  z-index: 1;
}
.rz-blog .blog-feature__badge {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  background: var(--rz-bg-dark);
  color: var(--rz-amber);
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(15,26,46,0.18);
}

.rz-blog .blog-feature__body {
  display: flex;
  flex-direction: column;
  padding: 56px 56px 52px;
  gap: 0;
}
.rz-blog .blog-feature__eyebrow-row {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
  font-size: 12px; font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--rz-text-muted);
  margin-bottom: 22px;
}
.rz-blog .blog-feature__cat {
  color: var(--rz-green);
}
.rz-blog .blog-feature__card[data-blog-theme="conversion"] .blog-feature__cat { color: var(--rz-amber-text); }
.rz-blog .blog-feature__card[data-blog-theme="negative"]  .blog-feature__cat { color: var(--rz-red); }
.rz-blog .blog-feature__sep {
  width: 4px; height: 4px; border-radius: 999px; background: var(--rz-border);
}
body.landing-template .rz-blog .blog-feature__title {
  font-size: clamp(28px, 2.6vw, 38px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--rz-text);
  margin: 0 0 18px;
}
body.landing-template .rz-blog .blog-feature__excerpt {
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--rz-text-muted);
  margin: 0 0 32px;
  max-width: 50ch;
}
.rz-blog .blog-feature__cta {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 15px; font-weight: 700;
  color: var(--rz-text);
  margin-top: auto;
  padding-top: 4px;
}
.rz-blog .blog-feature__cta .icon-arrow {
  transition: transform 0.2s ease;
}
body.landing-template .rz-blog .blog-feature__card:hover .blog-feature__cta { color: var(--rz-green); }
body.landing-template .rz-blog .blog-feature__card[data-blog-theme="conversion"]:hover .blog-feature__cta { color: var(--rz-amber-text); }
body.landing-template .rz-blog .blog-feature__card[data-blog-theme="negative"]:hover  .blog-feature__cta { color: var(--rz-red); }
body.landing-template .rz-blog .blog-feature__card:hover .blog-feature__cta .icon-arrow {
  transform: translateX(4px);
}

/* ---------- Library section + grid ---------- */
.rz-blog .blog-library {
  padding: 24px 0 96px;
}
.rz-blog .blog-library__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  margin-bottom: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--rz-border-soft);
}
.rz-blog .blog-library__eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--rz-green);
  margin-bottom: 10px;
}
body.landing-template .rz-blog .blog-library__title {
  font-size: clamp(28px, 2.4vw, 36px);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--rz-text);
  margin: 0;
}
.rz-blog .blog-library__hint {
  font-size: 14.5px;
  color: var(--rz-text-muted);
  max-width: 360px;
  text-align: right;
  margin: 0;
}

.rz-blog .blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 24px;
}

body.landing-template .rz-blog .blog-card {
  display: flex;
  flex-direction: column;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--rz-shadow-soft);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
body.landing-template .rz-blog .blog-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--rz-shadow-card);
  border-color: var(--rz-border);
  color: inherit;
}
.rz-blog .blog-card__visual {
  aspect-ratio: 16 / 10;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 22%, rgba(58,130,89,0.28), transparent 55%),
    radial-gradient(circle at 82% 78%, rgba(114,181,142,0.32), transparent 55%),
    linear-gradient(135deg, var(--rz-green-light) 0%, #F1F7F3 100%);
}
.rz-blog .blog-card[data-blog-theme="conversion"] .blog-card__visual {
  background:
    radial-gradient(circle at 18% 22%, rgba(255,194,60,0.32), transparent 55%),
    radial-gradient(circle at 82% 78%, rgba(255,159,28,0.28), transparent 55%),
    linear-gradient(135deg, var(--rz-amber-light) 0%, #FFFAF0 100%);
}
.rz-blog .blog-card[data-blog-theme="negative"] .blog-card__visual {
  background:
    radial-gradient(circle at 18% 22%, rgba(232,52,78,0.22), transparent 55%),
    radial-gradient(circle at 82% 78%, rgba(232,52,78,0.18), transparent 55%),
    linear-gradient(135deg, var(--rz-red-light) 0%, #FFF1F3 100%);
}
.rz-blog .blog-card__visual::after {
  content: attr(data-glyph);
  position: absolute;
  inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 56px;
  font-weight: 800;
  color: var(--rz-text);
  opacity: 0.08;
  letter-spacing: -0.04em;
}
/* Kdyz karta ma vlastni cover image, schovame decorativni glyf
   (cover ho prekryje a jinak by prosvitalo skrz). */
.rz-blog .blog-card--has-cover .blog-card__visual::after { content: none; }
.rz-blog .blog-card__cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 1;
  transition: transform 0.4s ease;
}
body.landing-template .rz-blog .blog-card:hover .blog-card__cover {
  transform: scale(1.04);
}
/* Mensi gradient overlay pres cover pro jemnou jednotnost s theme akcentem. */
.rz-blog .blog-card--has-cover .blog-card__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(15,26,46,0) 55%, rgba(15,26,46,0.18) 100%);
  pointer-events: none;
}

.rz-blog .blog-card__body {
  display: flex; flex-direction: column;
  padding: 24px 26px 26px;
  gap: 12px;
  flex: 1;
}
.rz-blog .blog-card__cat {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--rz-green);
}
.rz-blog .blog-card[data-blog-theme="conversion"] .blog-card__cat { color: var(--rz-amber-text); }
.rz-blog .blog-card[data-blog-theme="negative"]  .blog-card__cat { color: var(--rz-red); }
body.landing-template .rz-blog .blog-card__title {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--rz-text);
  margin: 0;
}
body.landing-template .rz-blog .blog-card__excerpt {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--rz-text-muted);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rz-blog .blog-card__meta {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px;
  color: var(--rz-text-muted);
  font-weight: 500;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--rz-border-soft);
}
.rz-blog .blog-card__meta-sep {
  width: 3px; height: 3px; border-radius: 999px; background: var(--rz-border);
}
.rz-blog .blog-card__meta-cta {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 700;
  color: var(--rz-text);
}
body.landing-template .rz-blog .blog-card:hover .blog-card__meta-cta { color: var(--rz-green); }
body.landing-template .rz-blog .blog-card[data-blog-theme="conversion"]:hover .blog-card__meta-cta { color: var(--rz-amber-text); }
body.landing-template .rz-blog .blog-card[data-blog-theme="negative"]:hover  .blog-card__meta-cta { color: var(--rz-red); }

/* ---------- Final CTA banner ---------- */
.rz-blog .blog-final {
  padding: 0 0 96px;
}
.rz-blog .blog-final__inner {
  background: var(--rz-bg-dark);
  color: var(--rz-text-on-dark);
  border-radius: var(--rz-radius-xl);
  padding: 56px 48px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rz-blog .blog-final__inner::before {
  content: "";
  position: absolute;
  top: -120px; right: -120px;
  width: 360px; height: 360px;
  background: radial-gradient(closest-side, rgba(255,194,60,0.22), transparent);
}
body.landing-template .rz-blog .blog-final h2 {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: var(--rz-white);
  margin: 0 0 14px;
  position: relative;
}
body.landing-template .rz-blog .blog-final p {
  font-size: 17px;
  color: var(--rz-text-on-dark-mute);
  max-width: 560px;
  margin: 0 auto 28px;
  position: relative;
}
.rz-blog .blog-final__actions {
  display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center;
  position: relative;
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .rz-blog .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .rz-blog .blog-hero { padding: 56px 0 24px; }
  .rz-blog .blog-hero h1 { max-width: 18ch; }
  .rz-blog .blog-feature { padding: 20px 0 64px; }
  body.landing-template .rz-blog .blog-feature__card {
    grid-template-columns: 1fr;
  }
  .rz-blog .blog-feature__visual { min-height: 0; aspect-ratio: 16 / 10; }
  .rz-blog .blog-feature__body { padding: 36px 32px 36px; }
  .rz-blog .blog-library { padding: 16px 0 72px; }
  .rz-blog .blog-library__head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .rz-blog .blog-library__hint { text-align: left; }
  .rz-blog .blog-final { padding: 0 0 72px; }
  .rz-blog .blog-final__inner { padding: 40px 24px; }
  body.landing-template .rz-blog .blog-final h2 { font-size: 28px; }
}

@media (max-width: 640px) {
  .rz-blog .blog-grid { grid-template-columns: 1fr; gap: 22px; }
  .rz-blog .blog-feature__body { padding: 28px 22px 30px; }
  .rz-blog .blog-feature__badge { top: 16px; left: 16px; padding: 6px 12px; font-size: 10.5px; }
  .rz-blog .blog-card__body { padding: 20px 20px 22px; }
}

/* ===================================================================
   BLOG POST DETAIL (.rz-blog-post)
   Naviguje na vlastnich .rz-* tridach (Plus Jakarta, .rz-container,
   .rz-btn), ale zustava ve scope .marketing-page--blog-post aby starsi
   styly obsahovych bloku (.blog-block-paragraph, .blog-block-table,
   .blog-block-chart, .blog-block-template-group, ...) stale platily.
   =================================================================== */

body.landing-template .rz-blog-post h1,
body.landing-template .rz-blog-post h2,
body.landing-template .rz-blog-post h3,
body.landing-template .rz-blog-post h4 {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
  color: var(--rz-text);
  letter-spacing: -0.025em;
}

/* ---------- HERO ---------- */
.rz-blog-post .blog-post-hero {
  padding: 56px 0 64px;
  position: relative;
  overflow: hidden;
}
.rz-blog-post .blog-post-hero::before {
  content: "";
  position: absolute;
  top: -180px; right: -180px;
  width: 580px; height: 580px;
  background: radial-gradient(closest-side, rgba(58,130,89,0.12), transparent);
  pointer-events: none;
  z-index: 0;
}
.rz-blog-post .blog-post-hero[data-blog-theme="conversion"]::before {
  background: radial-gradient(closest-side, rgba(255,194,60,0.18), transparent);
}
.rz-blog-post .blog-post-hero[data-blog-theme="negative"]::before {
  background: radial-gradient(closest-side, rgba(232,52,78,0.14), transparent);
}
.rz-blog-post .blog-post-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.rz-blog-post .blog-post-hero__copy { display: flex; flex-direction: column; gap: 18px; }

body.landing-template .rz-blog-post .blog-post-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rz-text-muted) !important;
  width: max-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: transparent;
  transition: color 0.15s ease, background 0.15s ease;
  text-decoration: none;
}
body.landing-template .rz-blog-post .blog-post-hero__back:hover {
  color: var(--rz-text) !important;
  background: rgba(15, 26, 46, 0.05);
}

.rz-blog-post .blog-post-hero__eyebrow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--rz-text-muted);
}
.rz-blog-post .blog-post-hero__cat { color: var(--rz-green); }
.rz-blog-post .blog-post-hero[data-blog-theme="conversion"] .blog-post-hero__cat { color: var(--rz-amber-text); }
.rz-blog-post .blog-post-hero[data-blog-theme="negative"]  .blog-post-hero__cat { color: var(--rz-red); }
.rz-blog-post .blog-post-hero__sep {
  width: 4px; height: 4px; border-radius: 999px; background: var(--rz-border);
}

body.landing-template .rz-blog-post .blog-post-hero__title {
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0;
  max-width: 16ch;
}
.rz-blog-post .blog-post-hero__lead {
  font-size: 18px;
  line-height: 1.55;
  color: var(--rz-text-muted);
  margin: 0;
  max-width: 50ch;
}
.rz-blog-post .blog-post-hero__author {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; color: var(--rz-text);
  margin-top: 6px;
}
.rz-blog-post .blog-post-hero__author-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  border-radius: 999px;
  background: var(--rz-bg-dark);
  color: var(--rz-amber);
  font-weight: 800;
  font-size: 16px;
}
.rz-blog-post .blog-post-hero__author strong { font-weight: 700; color: var(--rz-text); }

.rz-blog-post .blog-post-hero__cover {
  position: relative;
  border-radius: var(--rz-radius-xl);
  overflow: hidden;
  box-shadow: var(--rz-shadow-strong);
  aspect-ratio: 4 / 3;
  background: var(--rz-bg-soft);
}
.rz-blog-post .blog-post-hero__cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.rz-blog-post .blog-post-hero__cover::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 40%;
  background: linear-gradient(180deg, rgba(15,26,46,0) 0%, rgba(15,26,46,0.18) 100%);
  pointer-events: none;
}

/* ---------- SUMMARY BAND (TOC + TL;DR + Key facts) ---------- */
.rz-blog-post .blog-post-summary {
  padding: 24px 0 64px;
  background: var(--rz-bg-alt);
}
.rz-blog-post .blog-post-summary__inner {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 40px;
  align-items: start;
  padding-top: 56px;
  padding-bottom: 16px;
}
.rz-blog-post .blog-post-summary__body { display: flex; flex-direction: column; gap: 32px; min-width: 0; }

/* TOC */
.rz-blog-post .blog-post-toc {
  position: sticky;
  top: 96px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  padding: 22px 22px 18px;
  box-shadow: var(--rz-shadow-card);
}
.rz-blog-post .blog-post-toc__eyebrow {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--rz-green);
  margin-bottom: 14px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--rz-green-light);
}
.rz-blog-post .blog-post-toc__list { list-style: none; padding: 0; margin: 0; }
body.landing-template .rz-blog-post .blog-post-toc__link {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--rz-text) !important;
  border-bottom: 1px solid var(--rz-border-soft);
  font-weight: 500;
  transition: color 0.15s ease;
  text-decoration: none;
}
.rz-blog-post .blog-post-toc__list li:last-child .blog-post-toc__link { border-bottom: none; }
body.landing-template .rz-blog-post .blog-post-toc__link:hover { color: var(--rz-green) !important; }
.rz-blog-post .blog-post-toc__link.is-active { color: var(--rz-green) !important; font-weight: 700; }
.rz-blog-post .blog-post-toc__link > span:first-child {
  flex: none;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 11.5px;
  color: var(--rz-text-muted);
  letter-spacing: 0.04em;
  padding-top: 2px;
}
.rz-blog-post .blog-post-toc__meta {
  font-size: 12.5px;
  color: var(--rz-text-muted);
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--rz-border-soft);
}

/* TL;DR */
body.landing-template .rz-blog-post .blog-post-tldr {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  padding: 28px 30px;
  box-shadow: var(--rz-shadow-card);
}
body.landing-template .rz-blog-post .blog-post-tldr__title {
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 16px;
}
.rz-blog-post .blog-post-tldr__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}
.rz-blog-post .blog-post-tldr__list li {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 10px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--rz-text);
}
.rz-blog-post .blog-post-tldr__list .icon-check {
  stroke: var(--rz-green);
  stroke-width: 2.6;
  margin-top: 3px;
}

/* Key facts */
body.landing-template .rz-blog-post .blog-post-facts__title {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--rz-text-muted);
  margin: 0 0 16px;
}
.rz-blog-post .blog-post-facts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}
.rz-blog-post .blog-post-fact {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius);
  padding: 22px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: var(--rz-shadow-soft);
}
.rz-blog-post .blog-post-fact strong {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--rz-text);
  line-height: 1;
}
.rz-blog-post[data-blog-theme="conversion"] .blog-post-fact strong { color: var(--rz-amber-text); }
.rz-blog-post[data-blog-theme="negative"]  .blog-post-fact strong { color: var(--rz-red); }
.rz-blog-post .blog-post-fact p {
  font-size: 14px;
  color: var(--rz-text);
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
}
.rz-blog-post .blog-post-fact span {
  font-size: 12px;
  color: var(--rz-text-muted);
  font-weight: 500;
}

/* ---------- ARTICLE BODY ---------- */
.rz-blog-post .blog-post-body { padding: 64px 0 64px; }
.rz-blog-post .blog-post-body__inner {
  max-width: 760px;
  margin: 0 auto;
}

/* Lighter section cards – let the prose breathe */
body.landing-template .rz-blog-post .blog-section-card {
  display: block;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  padding: 36px 40px;
  box-shadow: var(--rz-shadow-soft);
  margin-bottom: 24px;
}
.rz-blog-post .blog-section-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rz-border-soft);
}
body.landing-template .rz-blog-post .blog-section-card__head h2 {
  font-size: 26px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
}
body.landing-template .rz-blog-post .blog-section-anchor {
  flex: none;
  width: 32px; height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rz-text-muted) !important;
  background: transparent;
  transition: background 0.15s, color 0.15s;
}
body.landing-template .rz-blog-post .blog-section-anchor:hover {
  color: var(--rz-text) !important;
  background: var(--rz-bg-alt);
}

/* Inline CTA at the end of body */
.rz-blog-post .blog-post-inline-cta {
  background: var(--rz-bg-dark);
  color: var(--rz-text-on-dark);
  border-radius: var(--rz-radius-lg);
  padding: 28px 32px;
  margin-top: 32px;
}
body.landing-template .rz-blog-post .blog-post-inline-cta strong {
  display: block;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--rz-white);
  margin-bottom: 8px;
}
.rz-blog-post .blog-post-inline-cta p {
  font-size: 15px;
  color: var(--rz-text-on-dark-mute);
  margin: 0 0 18px;
}
.rz-blog-post .blog-post-inline-cta__actions {
  display: flex; gap: 10px; flex-wrap: wrap;
}

/* ---------- FAQ ---------- */
.rz-blog-post .blog-post-faq { padding: 64px 0; background: var(--rz-bg-alt); }
.rz-blog-post .blog-post-faq__head { text-align: center; max-width: 600px; margin: 0 auto 40px; }
.rz-blog-post .blog-post-faq__eyebrow {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--rz-green);
  margin-bottom: 14px;
  padding: 5px 12px;
  background: var(--rz-green-light);
  border-radius: 999px;
}
body.landing-template .rz-blog-post .blog-post-faq__head h2 {
  font-size: 32px;
  font-weight: 800;
  margin: 0 0 12px;
}
.rz-blog-post .blog-post-faq__head p {
  font-size: 16px;
  color: var(--rz-text-muted);
  margin: 0;
}
.rz-blog-post .blog-post-faq__list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rz-blog-post .blog-post-faq__item {
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius);
  overflow: hidden;
}
.rz-blog-post .blog-post-faq__item[open] {
  border-color: var(--rz-border);
  box-shadow: var(--rz-shadow-card);
}
.rz-blog-post .blog-post-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  font-weight: 700;
  font-size: 16px;
  color: var(--rz-text);
  list-style: none;
}
.rz-blog-post .blog-post-faq__question::-webkit-details-marker { display: none; }
.rz-blog-post .blog-post-faq__chevron {
  flex: none;
  color: var(--rz-text-muted);
  transition: transform 0.2s ease;
}
.rz-blog-post .blog-post-faq__item[open] .blog-post-faq__chevron { transform: rotate(180deg); }
.rz-blog-post .blog-post-faq__answer { padding: 0 24px 22px; }
.rz-blog-post .blog-post-faq__answer p {
  font-size: 15px;
  line-height: 1.6;
  color: var(--rz-text);
  margin: 0;
}

/* ---------- RELATED ---------- */
.rz-blog-post .blog-post-related { padding: 64px 0; }
.rz-blog-post .blog-post-related__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  margin-bottom: 32px;
}
body.landing-template .rz-blog-post .blog-post-related__head h2 {
  font-size: 30px;
  font-weight: 800;
  margin: 0;
}
body.landing-template .rz-blog-post .blog-post-related__all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--rz-text) !important;
  text-decoration: none;
}
body.landing-template .rz-blog-post .blog-post-related__all:hover { color: var(--rz-green) !important; }

/* Final CTA spacing reset (.blog-final already styled by .rz-blog) */
.rz-blog-post .blog-final { padding: 0 0 96px; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .rz-blog-post .blog-post-hero { padding: 40px 0 48px; }
  .rz-blog-post .blog-post-hero__inner { grid-template-columns: 1fr; gap: 32px; }
  .rz-blog-post .blog-post-hero__cover { aspect-ratio: 16 / 9; }
  .rz-blog-post .blog-post-summary__inner { grid-template-columns: 1fr; gap: 24px; padding-top: 40px; }
  .rz-blog-post .blog-post-toc { position: static; }
  body.landing-template .rz-blog-post .blog-section-card { padding: 28px 24px; }
  .rz-blog-post .blog-post-body { padding: 48px 0 48px; }
  .rz-blog-post .blog-post-faq { padding: 48px 0; }
  .rz-blog-post .blog-post-related { padding: 48px 0; }
  .rz-blog-post .blog-post-related__head { flex-direction: column; align-items: flex-start; gap: 8px; }
  body.landing-template .rz-blog-post .blog-post-related__head h2 { font-size: 26px; }
}

@media (max-width: 560px) {
  body.landing-template .rz-blog-post .blog-section-card { padding: 24px 20px; }
  body.landing-template .rz-blog-post .blog-section-card__head h2 { font-size: 22px; }
  .rz-blog-post .blog-post-inline-cta { padding: 24px 20px; }
}

/* ===================================================================
   SHARED MARKETING PAGE BUILDING BLOCKS (v7)
   Pouziva se na strankach /features, /widgets, /integrations, /pricing.
   Zije pod wrapperem `.rz-home` (dedi typografii, kontejner, tlacitka).
   =================================================================== */

/* ---------- Hero visual: stack info karet ---------- */
.rz-home .rz-info-stack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.rz-home .rz-info-card {
  background: var(--rz-white);
  border-radius: var(--rz-radius-lg);
  padding: 20px;
  border: 1px solid var(--rz-border-soft);
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: var(--rz-shadow-soft);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rz-home .rz-info-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--rz-shadow-card);
}
.rz-home .rz-info-card__icon {
  width: 40px; height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rz-green-light);
  color: var(--rz-green);
  flex-shrink: 0;
}
.rz-home .rz-info-card__icon--green { background: var(--rz-green-light); color: var(--rz-green); }
.rz-home .rz-info-card__icon--amber { background: var(--rz-amber-light); color: var(--rz-amber-text); }
.rz-home .rz-info-card__icon--dark { background: var(--rz-bg-dark); color: var(--rz-amber); }
.rz-home .rz-info-card__body { min-width: 0; }
.rz-home .rz-info-card h3 {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin-bottom: 4px;
}
.rz-home .rz-info-card p {
  font-size: 13px;
  line-height: 1.5;
  color: var(--rz-text-muted);
}

/* ---------- Variants pro grid pocet sloupcu ---------- */
.rz-home .features-grid--quad { grid-template-columns: repeat(4, 1fr); }
.rz-home .steps--quad { grid-template-columns: repeat(4, 1fr); }
.rz-home .publish-grid--triple { grid-template-columns: repeat(3, 1fr); }

/* ---------- Hero – centred varianta (pricing) ---------- */
.rz-home .hero--centered { padding-bottom: 56px; }
.rz-home .hero__copy--centered {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}
.rz-home .hero__copy--centered h1 { margin-left: auto; margin-right: auto; }
.rz-home .hero__sub--centered {
  margin-left: auto;
  margin-right: auto;
}
.rz-home .hero__ctas--centered { justify-content: center; }

/* ---------- Pricing cycle toggle ---------- */
.rz-home .rz-cycle-toggle {
  margin: 32px auto 0;
  display: inline-flex;
  background: var(--rz-white);
  border: 1px solid var(--rz-border);
  border-radius: 999px;
  padding: 4px;
  gap: 4px;
  box-shadow: var(--rz-shadow-soft);
}
body.landing-template .rz-home .rz-cycle-toggle__option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14.5px;
  color: var(--rz-text-muted) !important;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
body.landing-template .rz-home .rz-cycle-toggle__option:hover { color: var(--rz-text) !important; }
body.landing-template .rz-home .rz-cycle-toggle__option.is-active {
  background: var(--rz-bg-dark);
  color: var(--rz-white) !important;
}
.rz-home .rz-cycle-toggle__savings {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--rz-green-light);
  color: var(--rz-green);
  text-transform: uppercase;
}
.rz-home .rz-cycle-toggle__option.is-active .rz-cycle-toggle__savings {
  background: rgba(255,194,60,0.2);
  color: var(--rz-amber);
}

/* ---------- Pricing persona toggle (E-shop / Lokál) ---------- */
.rz-home .rz-pricing-segment-toggle {
  display: inline-flex;
  align-items: center;
  margin: 18px auto 0;
  padding: 4px;
  gap: 4px;
  background: var(--rz-bg-alt);
  border-radius: 999px;
  box-shadow: var(--rz-shadow-soft);
}
body.landing-template .rz-home .rz-pricing-segment-toggle__option {
  display: inline-flex;
  align-items: center;
  padding: 9px 18px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  color: var(--rz-text-muted) !important;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
body.landing-template .rz-home .rz-pricing-segment-toggle__option:hover {
  color: var(--rz-text) !important;
}
body.landing-template .rz-home .rz-pricing-segment-toggle__option.is-active {
  background: var(--rz-green);
  color: var(--rz-white) !important;
}

/* ---------- /zakaznici case-study aggregator ---------- */
.rz-home.rz-customers .rz-customer-cases {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 22px;
}
.rz-home.rz-customers .rz-customer-case {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px;
  border-radius: 18px;
  border: 1px solid var(--rz-border-soft);
  background: var(--rz-bg);
  box-shadow: var(--rz-shadow-soft);
}
.rz-home.rz-customers .rz-customer-case__head {
  display: grid;
  gap: 4px;
}
.rz-home.rz-customers .rz-customer-case__eyebrow {
  margin: 0;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rz-green);
}
.rz-home.rz-customers .rz-customer-case__meta {
  margin: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rz-text);
}
.rz-home.rz-customers .rz-customer-case__quote {
  margin: 0;
  padding: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--rz-text);
  border: 0;
}
.rz-home.rz-customers .rz-customer-case__body {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--rz-text-muted);
}
.rz-home.rz-customers .rz-customer-case__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  list-style: none;
  margin: 4px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--rz-border-soft);
}
.rz-home.rz-customers .rz-customer-case__metric {
  display: grid;
  gap: 2px;
  text-align: center;
}
.rz-home.rz-customers .rz-customer-case__metric-value {
  font-size: 19px;
  font-weight: 800;
  color: var(--rz-green);
  letter-spacing: -0.01em;
}
.rz-home.rz-customers .rz-customer-case__metric-label {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--rz-text);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.rz-home.rz-customers .rz-customer-case__metric-caption {
  font-size: 11.5px;
  color: var(--rz-text-muted);
  line-height: 1.4;
}
.rz-home.rz-customers .rz-customer-case__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rz-green);
  text-decoration: none;
}
.rz-home.rz-customers .rz-customer-case__link:hover {
  text-decoration: underline;
}

/* ---------- Widget live demo (na /widgets) ---------- */
.rz-home .rz-widget-demo {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Bento preset grid – 4 cols, row height auto. Specific cards span 2 cols or 2
   rows (see below) so the layout reads as a curated showcase rather than a
   monotonous matrix. Render order in marketing_widgets.php is hand-tuned so
   the bento mosaic fills cleanly without gaps. */
.rz-home .rz-widget-demo__presets {
  display: grid;
  /* 9 presets in a uniform 3×3 grid. Every card is the same size, so rows stay
     aligned and no card is ever stretched into empty filler space. */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(190px, auto);
  gap: 16px;
}

@media (max-width: 1100px) {
  .rz-home .rz-widget-demo__presets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(180px, auto);
  }
}
@media (max-width: 560px) {
  .rz-home .rz-widget-demo__presets { grid-template-columns: 1fr; }
}
.rz-home .rz-widget-demo__fixture-select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.rz-home .rz-preset-card {
  position: relative;
  display: grid;
  /* Mockup takes the flexible row so any extra card height (e.g. the 2×2
     "gallery" anchor) is absorbed by a bigger preview tile, never by an empty
     gap below the body/fit pill. Body + fit then sit snug at the bottom. */
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 12px;
  padding: 18px 18px 16px;
  text-align: left;
  background: var(--rz-white);
  border: 1.5px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  box-shadow: var(--rz-shadow-soft);
  cursor: pointer;
  font-family: inherit;
  color: var(--rz-text);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.rz-home .rz-preset-card:hover {
  transform: translateY(-2px);
  border-color: rgba(58,130,89,0.45);
  box-shadow: 0 18px 38px -22px rgba(20,19,25,0.32);
}
.rz-home .rz-preset-card:focus-visible {
  outline: none;
  border-color: var(--rz-green);
  box-shadow: 0 0 0 3px rgba(58,130,89,0.18), 0 18px 38px -22px rgba(20,19,25,0.32);
}
.rz-home .rz-preset-card.is-active {
  border-color: var(--rz-green);
  background: linear-gradient(180deg, rgba(58,130,89,0.04) 0%, var(--rz-white) 60%);
  box-shadow: 0 0 0 1px var(--rz-green) inset, 0 18px 40px -22px rgba(58,130,89,0.35);
}

.rz-home .rz-preset-card__check {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--rz-border-soft);
  color: var(--rz-white);
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
}
.rz-home .rz-preset-card.is-active .rz-preset-card__check {
  opacity: 1;
  transform: scale(1);
  background: var(--rz-green);
}

.rz-home .rz-preset-card__mockup {
  display: grid;
  place-items: center;
  min-height: 96px;
  background: var(--rz-bg);
  border-radius: var(--rz-radius);
  padding: 12px;
  border: 1px solid var(--rz-border-soft);
}
.rz-home .rz-preset-card__mockup svg {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100%;
  color: rgba(20,19,25,0.18);
  fill: currentColor;
  transition: color 0.18s ease;
}
.rz-home .rz-preset-card:hover .rz-preset-card__mockup svg { color: rgba(20,19,25,0.3); }
.rz-home .rz-preset-card.is-active .rz-preset-card__mockup svg { color: var(--rz-green); }
.rz-home .rz-preset-card .rz-preset-card__shape--header { opacity: 0.55; }
.rz-home .rz-preset-card .rz-preset-card__dot { opacity: 0; transition: opacity 0.18s ease; }
.rz-home .rz-preset-card.is-active .rz-preset-card__dot { opacity: 1; fill: var(--rz-amber); }

/* Dark-gallery mockup uses dark fills regardless of card state, so the preset
   reads as "tmavá varianta" at a glance. The is-active highlighting kicks in
   via the wrapper border + check badge, not the mockup color. */
.rz-home .rz-preset-card__mockup-dark .rz-preset-card__shape--dark-bg { fill: #1a1a22; }
.rz-home .rz-preset-card__mockup-dark .rz-preset-card__shape--dark-card { fill: #2b2b36; opacity: 1; }
.rz-home .rz-preset-card__mockup-dark .rz-preset-card__shape--dark-card-img { fill: #3a3a48; opacity: 1; }
.rz-home .rz-preset-card__mockup-dark .rz-preset-card__shape--dark-line { fill: #a0a0b5; opacity: 1; }
.rz-home .rz-preset-card__mockup-dark .rz-preset-card__dot { opacity: 1; fill: var(--rz-amber); }
.rz-home .rz-preset-card.is-active .rz-preset-card__mockup-dark { opacity: 1; }
/* Override generic mockup color rules – the dark version is self-contained. */
.rz-home .rz-preset-card .rz-preset-card__mockup-dark { color: transparent; }

.rz-home .rz-preset-card__body {
  display: grid;
  gap: 4px;
}
.rz-home .rz-preset-card__title {
  display: block;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--rz-text);
}
.rz-home .rz-preset-card__desc {
  display: block;
  font-size: 13px;
  line-height: 1.45;
  color: var(--rz-text-muted);
}

/* "Fit" pill – one short line: where this preset goes on the site */
.rz-home .rz-preset-card__fit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px 6px 8px;
  border-radius: 999px;
  background: rgba(20,19,25,0.05);
  color: var(--rz-text-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -0.005em;
  align-self: start;
  transition: background 0.18s ease, color 0.18s ease;
}
.rz-home .rz-preset-card__fit svg {
  flex-shrink: 0;
  opacity: 0.8;
}
.rz-home .rz-preset-card.is-active .rz-preset-card__fit {
  background: rgba(58,130,89,0.12);
  color: var(--rz-green);
}

/* sr-only state holders (hidden but reachable to JS) */
.rz-home .rz-widget-demo__hidden-control {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Brand row – inline row below canvas: brand color picker + summary switch */
.rz-home .rz-widget-demo__brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 28px;
  padding: 16px 20px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  box-shadow: var(--rz-shadow-soft);
}
.rz-home .rz-widget-demo__brand-colors {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.rz-home .rz-widget-demo__brand-label {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--rz-text);
  letter-spacing: -0.005em;
}
.rz-home .rz-widget-demo__swatches {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.rz-home .rz-widget-demo__swatch {
  appearance: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 32px;
  height: 32px;
  background: var(--swatch, var(--rz-bg));
  border: 2px solid transparent;
  border-radius: 50%;
  cursor: pointer;
  color: var(--rz-white);
  box-shadow: 0 0 0 1px rgba(20,19,25,0.1) inset;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.rz-home .rz-widget-demo__swatch:hover {
  transform: scale(1.08);
}
.rz-home .rz-widget-demo__swatch:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(58,130,89,0.35);
}
.rz-home .rz-widget-demo__swatch.is-active {
  box-shadow: 0 0 0 2px var(--rz-white) inset, 0 0 0 2px var(--swatch, var(--rz-text));
}
.rz-home .rz-widget-demo__swatch-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.15s ease, transform 0.15s ease;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
}
.rz-home .rz-widget-demo__swatch.is-active .rz-widget-demo__swatch-check {
  opacity: 1;
  transform: scale(1);
}

/* Custom-color swatch: a pill with eyedropper icon + "Vlastní" label */
.rz-home .rz-widget-demo__swatch--custom {
  width: auto;
  height: 32px;
  padding: 0 12px 0 10px;
  gap: 6px;
  border-radius: 999px;
  background: var(--rz-white);
  color: var(--rz-text);
  box-shadow: 0 0 0 1px var(--rz-border) inset;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
}
.rz-home .rz-widget-demo__swatch--custom:hover {
  transform: none;
  box-shadow: 0 0 0 1px var(--rz-green) inset;
  color: var(--rz-green);
}
.rz-home .rz-widget-demo__swatch--custom.is-active {
  box-shadow: 0 0 0 2px var(--rz-green) inset;
  color: var(--rz-green);
}
.rz-home .rz-widget-demo__swatch--custom input[type="color"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  cursor: pointer;
}
.rz-home .rz-widget-demo__swatch-custom-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  pointer-events: none;
}
.rz-home .rz-widget-demo__swatch-custom-label {
  position: relative;
  z-index: 1;
  pointer-events: none;
}

/* Inline switch (brand row) */
.rz-home .rz-widget-demo__brand-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}
.rz-home .rz-widget-demo__brand-toggle input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.rz-home .rz-widget-demo__switch-track {
  position: relative;
  width: 42px;
  height: 24px;
  flex-shrink: 0;
  background: var(--rz-border);
  border-radius: 999px;
  transition: background 0.18s ease;
}
.rz-home .rz-widget-demo__switch-track::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: var(--rz-white);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(20,19,25,0.18);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Switch active state – both selectors apply.
   `:has(input:checked)` is semantic but some browsers (and the embedded
   preview iframe) skip a paint invalidation when an adjacent input flips
   via JS, leaving the track stuck on the previous color. The `is-on` class
   set by marketing-widgets-demo.js is a bulletproof paint trigger because
   className mutations always invalidate paint. */
.rz-home .rz-widget-demo__brand-toggle:has(input:checked) .rz-widget-demo__switch-track,
.rz-home .rz-widget-demo__brand-toggle.is-on .rz-widget-demo__switch-track { background: var(--rz-green); }
.rz-home .rz-widget-demo__brand-toggle:has(input:checked) .rz-widget-demo__switch-track::before,
.rz-home .rz-widget-demo__brand-toggle.is-on .rz-widget-demo__switch-track::before { transform: translateX(18px); }
.rz-home .rz-widget-demo__brand-toggle:has(input:focus-visible) .rz-widget-demo__switch-track {
  box-shadow: 0 0 0 3px rgba(58,130,89,0.25);
}
.rz-home .rz-widget-demo__switch-label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--rz-text);
  letter-spacing: -0.005em;
}

/* CTA below the demo – soft proof + amber button */
.rz-home .rz-widget-demo__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 22px;
  padding: 18px 22px;
  background: linear-gradient(135deg, rgba(58,130,89,0.06) 0%, rgba(255,194,60,0.06) 100%);
  border: 1px solid rgba(58,130,89,0.18);
  border-radius: var(--rz-radius-lg);
}
.rz-home .rz-widget-demo__cta-text {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--rz-text);
  line-height: 1.45;
  max-width: 60ch;
}
.rz-home .rz-widget-demo__cta .rz-btn { flex-shrink: 0; }

/* Canvas wrap – clean elevated card, no fake browser chrome */
.rz-home .rz-widget-demo__canvas-wrap {
  position: relative;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  padding: 0;
  box-shadow: 0 24px 60px -28px rgba(20,19,25,0.22);
  overflow: hidden;
  min-width: 0;
}
.rz-home .rz-widget-demo__canvas {
  min-height: 460px;
  max-height: 600px;
  margin: 0;
  background: var(--rz-white);
  padding: 36px 32px;
  /* The widget runtime renders a grid-of-grids (.rcz-modern > .rcz-shell >
     .rcz-carousel-shell > .rcz-carousel-track) and grid items default to
     min-width:auto, which means the carousel's intrinsic min-content (8 cards
     × 210px ≈ 1800 px) bursts out of the canvas and stretches the page.
     Forcing min-width:0 down the chain lets overflow-x:auto on the track
     actually clip + scroll instead of expanding parents. Scoped to the demo
     canvas so production embeds are untouched. */
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  /* Fade transition between preset switches – JS toggles .is-fading just
     before re-render so the canvas dims out, then back in. */
  transition: opacity 0.18s ease;
}
.rz-home .rz-widget-demo__canvas.is-fading { opacity: 0; }
.rz-home .rz-widget-demo__canvas > .rcz-modern,
.rz-home .rz-widget-demo__canvas .rcz-shell,
.rz-home .rz-widget-demo__canvas .rcz-carousel-shell,
.rz-home .rz-widget-demo__canvas .rcz-carousel-track {
  min-width: 0;
  max-width: 100%;
}

/* Sort <select> in the marketing preview: the runtime leaves it as a native
   select, whose browser-drawn arrow sits flush against the right edge and looks
   cramped. We can't reposition a native arrow with padding, so for the preview
   only we drop native appearance and draw our own chevron with a comfortable
   right inset. Scoped to the demo canvas – production embeds keep the native
   control untouched. */
.rz-home .rz-widget-demo__canvas .rcz-sort-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230f2140' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 34px;
}

/* Force Segoe UI in the marketing preview only. The runtime applies the
   widget's font via an inline `--rcz-font` custom property on .rcz-modern
   (default "Candara"…), so we override that variable with !important – scoped
   to the demo canvas, production embeds keep their own configured font. */
.rz-home .rz-widget-demo__canvas .rcz-modern {
  --rcz-font: "Segoe UI", system-ui, -apple-system, sans-serif !important;
}

/* Smaller review body copy in the marketing preview only. The runtime sets
   `.rcz-card p` to 0.9rem for production embeds; scoping under the demo canvas
   (higher specificity) shrinks just the showcase text without touching real
   widgets. Covers every layout – default, grid/list rows, carousel content and
   gallery/overlay captions all render the summary as a <p> inside .rcz-card. */
.rz-home .rz-widget-demo__canvas .rcz-card p {
  font-size: 0.85rem;
}

/* Reviews-list preset: cards rendered as huge empty boxes in the preview.
   Production widgets render in a shadow DOM, so the app's global grid/layout
   CSS can't reach them – but the marketing demo renders with shadow:false, so
   the app's legacy styles leak in, give the list grid a definite track height,
   and the runtime's `.rcz-card { height: 100% }` (meant to equalise heights in
   the multi-column grid layout) then inflates each single-column list card to
   that full track height, leaving the text stranded at the top of a giant box.
   Pin list cards back to their content height in the preview only. */
.rz-home .rz-widget-demo__canvas .rcz-reviews-list > .rcz-card {
  height: auto;
  align-self: start;
}

/* Reviews-grid preset: same leaked-CSS stretch as the list (giant boxes), plus
   the runtime's responsive auto-fit track packs 3 columns into the wide demo
   canvas. In the preview we want a clean, predictable showcase: always two
   reviews per row. align-content:start stops the leaked CSS from stretching the
   row tracks, so each row sizes to its tallest card's content instead of
   ballooning into giant empty boxes. */
.rz-home .rz-widget-demo__canvas .rcz-reviews-grid {
  /* Force grid back on: the leaked legacy CSS flips this container to
     display:block, which collapses it to a single full-width column. */
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
}
.rz-home .rz-widget-demo__canvas .rcz-reviews-grid > .rcz-card {
  /* Match the row-mate's height for a tidy grid, but size that height to the
     content – no forced square (it left a big empty band under shorter
     reviews). Content pinned to the top. */
  height: 100%;
  align-self: stretch;
  align-content: start;
}

/* Compact-badge preset: marketing-only canvas state that hides the review
   cards underneath the summary header, leaving only the rating + breakdown.
   The widget runtime renders the full list (reviews_list layout); we just
   visually clip to the summary. JS sets data-active-preset on the canvas. */
.rz-home .rz-widget-demo__canvas[data-active-preset="compact_badge"] .rcz-reviews-list,
.rz-home .rz-widget-demo__canvas[data-active-preset="compact_badge"] .rcz-reviews-grid {
  display: none;
}
.rz-home .rz-widget-demo__canvas[data-active-preset="compact_badge"] {
  display: flex;
  align-items: center;
  justify-content: center;
  /* The badge is just the summary header, so the canvas' 460px min-height left
     a big empty band above and below. Let it hug the content instead. */
  min-height: 0;
}
.rz-home .rz-widget-demo__canvas[data-active-preset="compact_badge"] .rcz-modern {
  max-width: 480px;
}

/* Plnoobrazové foto-pilíře (carousel_tall_pills) – marketing preview tuning:
   1) Unify every card to a rounded rectangle. The runtime uses a pill mask
      (border-radius:999px) that turns short/narrow cards into capsules/circles,
      and cards with merchant replies fall back to "rounded" – so the strip
      mixed circles and rectangles. Forcing one radius on .rcz-card-full makes
      them all consistent rectangles.
   2) Make the cards taller so they fill the canvas instead of leaving a band of
      empty space below the carousel.
   3) Guarantee legible overlay copy: white text + a stronger bottom-up scrim +
      a soft shadow, so the summary/author stay readable even over the light
      product photos (mug, plant, sunglasses on white). */
/* Make these read as actual pillars: pin the carousel columns to a narrow
   fixed width so several tall, slim cards stand side by side (instead of one
   wide photo stretched by the 1fr track), and round the corners generously so
   each column looks like a premium rounded pillar. */
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_tall_pills"] .rcz-carousel-track {
  grid-auto-columns: 200px;
}
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_tall_pills"] .rcz-card-full {
  border-radius: 30px;
  min-height: 460px;
}
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_tall_pills"] .rcz-card-overlay {
  background: linear-gradient(180deg, rgba(4,9,18,0) 0%, rgba(4,9,18,0.55) 45%, rgba(4,9,18,0.92) 100%);
  padding-top: 44px;
  color: #fff;
}
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_tall_pills"] .rcz-card-overlay .rcz-card-author,
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_tall_pills"] .rcz-card-overlay p {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,0.55);
}

/* Carousel – zaoblené karty (carousel_rounded) – make the photo cards bigger
   and squarer (fixed ~square columns with rounded corners, instead of the wide
   1fr-stretched cards), and force legible white overlay copy with a stronger
   scrim + shadow like the pillars. Preview-only. */
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_rounded"] .rcz-carousel-track {
  grid-auto-columns: 300px;
}
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_rounded"] .rcz-card-full {
  min-height: 300px;
  border-radius: 24px;
}
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_rounded"] .rcz-card-overlay {
  background: linear-gradient(180deg, rgba(4,9,18,0) 0%, rgba(4,9,18,0.55) 45%, rgba(4,9,18,0.92) 100%);
  padding-top: 44px;
  color: #fff;
}
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_rounded"] .rcz-card-overlay .rcz-card-author,
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_rounded"] .rcz-card-overlay p {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,0.55);
}

/* Carousel s recenzemi (carousel_content) – marketing preview tuning. The
   default 1fr track squeezes ~4 narrow cards into the canvas. Show exactly
   three roomier review cards with a small peek of the fourth so it's obvious
   the strip scrolls right for more. clamp() keeps it 3-up on the wide desktop
   canvas (preferred width wins) while falling back to a readable 240px column
   on narrow containers (fewer visible, still scrollable). Preview-only via the
   active-preset hook so production embeds keep their native 1fr sizing. */
.rz-home .rz-widget-demo__canvas[data-active-preset="carousel_content"] .rcz-carousel-track {
  grid-auto-columns: clamp(240px, calc((100% - 64px) / 3), 360px);
}

/* Tmavá galerie (dark_gallery) – darken the preview backdrop. The runtime's
   tone-dark shell bottoms out at a navy (rgba(9,26,49,.96)); here we push it to
   a near-black base with only a faint blue glow so the photos pop harder.
   Preview-only via the active-preset hook; production embeds keep their tone. */
.rz-home .rz-widget-demo__canvas[data-active-preset="dark_gallery"] .rcz-shell.tone-dark {
  background: radial-gradient(circle at top right, rgba(26, 64, 128, 0.20), rgba(3, 8, 16, 0.99));
}

/* Spotlight: jedna recenze (single_review) – the card body uses
   justify-items:center, so the long review text fills the column while the
   short merchant reply box stays centered and narrow. Stretch the reply to the
   full width too, and left-align it so it reads like a normal response.
   Preview-only via the active-preset hook. */
.rz-home .rz-widget-demo__canvas[data-active-preset="single_review"] .rcz-replies {
  justify-self: stretch;
  width: 100%;
  text-align: left;
}
/* Now that the reply spans full width, push the author + date to the right edge
   so they aren't crammed next to the "Odpověď prodejce" role label on the left. */
.rz-home .rz-widget-demo__canvas[data-active-preset="single_review"] .rcz-reply-author {
  margin-left: auto;
}

/* Drop the reply avatar (the lone "P"/"M" initial that sits above each reply)
   in the marketing preview – it reads as a stray letter rather than an avatar.
   Covers every preset whose reply block renders it. */
.rz-home .rz-widget-demo__canvas .rcz-reply-avatar {
  display: none;
}

/* ---------- FAQ – native <details>/<summary> varianta ---------- */
.rz-home .faq__item details,
.rz-home details.faq__item {
  cursor: pointer;
}
.rz-home details.faq__item { list-style: none; }
.rz-home details.faq__item summary { list-style: none; }
.rz-home details.faq__item summary::-webkit-details-marker { display: none; }
.rz-home details.faq__item .faq__answer {
  display: block;
  margin-top: 14px;
}
.rz-home details.faq__item:not([open]) .faq__answer {
  display: none;
}
.rz-home details.faq__item[open] .faq__icon {
  background: var(--rz-green);
  color: var(--rz-white);
  transform: rotate(45deg);
}
.rz-home details.faq__item .faq__icon {
  transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .rz-home .features-grid--quad { grid-template-columns: repeat(2, 1fr); }
  .rz-home .steps--quad { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 960px) {
  .rz-home .rz-widget-demo__brand-row { justify-content: flex-start; }
  .rz-home .rz-widget-demo__cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .rz-home .rz-widget-demo__canvas { padding: 20px 16px; }
}
@media (max-width: 760px) {
  .rz-home .rz-info-stack { grid-template-columns: 1fr; }
  .rz-home .publish-grid--triple { grid-template-columns: 1fr; }
  .rz-home .features-grid--quad { grid-template-columns: 1fr; }
  .rz-home .steps--quad { grid-template-columns: 1fr; }
  .rz-home .rz-cycle-toggle { width: 100%; }
  .rz-home .rz-cycle-toggle__option { flex: 1; justify-content: center; padding: 10px 12px; }
}

/* ==========================================================================
   /widgets – hero browser-frame mock, logo strip wrapper, embed snippet card
   ========================================================================== */
.rz-widgets .widget-hero-mock {
  position: relative;
  isolation: isolate;
}
.rz-widgets .widget-hero-mock__frame {
  background: var(--rz-white);
  border-radius: 20px;
  box-shadow: 0 30px 60px -22px rgba(15, 26, 46, 0.28), 0 8px 22px -10px rgba(15, 26, 46, 0.12);
  border: 1px solid var(--rz-border-soft);
  overflow: hidden;
  /* translate3d promotes the frame to its own GPU compositing layer so the
     wide-radius shadow + rotate don't repaint on every scroll frame as the
     sticky nav's backdrop-filter passes over it. */
  transform: translate3d(0, 0, 0) rotate(-1deg);
  transition: transform 0.4s ease;
}
.rz-widgets .widget-hero-mock:hover .widget-hero-mock__frame { transform: translate3d(0, 0, 0) rotate(0); }
.rz-widgets .widget-hero-mock__chrome {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #f4f6fa;
  border-bottom: 1px solid var(--rz-border-soft);
}
.rz-widgets .widget-hero-mock__dot {
  width: 10px; height: 10px;
  border-radius: 999px;
  background: #d6dbe3;
}
.rz-widgets .widget-hero-mock__dot:nth-child(1) { background: #ff5f57; }
.rz-widgets .widget-hero-mock__dot:nth-child(2) { background: #febc2e; }
.rz-widgets .widget-hero-mock__dot:nth-child(3) { background: #28c840; }
.rz-widgets .widget-hero-mock__url {
  margin-left: 14px;
  font-size: 12px;
  color: var(--rz-text-muted);
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
}
.rz-widgets .widget-hero-mock__body {
  padding: 20px;
  display: grid;
  gap: 16px;
}
.rz-widgets .widget-hero-mock__product {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--rz-border-soft);
  border-radius: 12px;
  background: #fafbfc;
}
.rz-widgets .widget-hero-mock__product-image {
  width: 92px; height: 80px;
  border-radius: 10px;
  background: linear-gradient(135deg, #e6eaef 0%, #ced5de 100%);
}
.rz-widgets .widget-hero-mock__product-meta { display: grid; gap: 8px; align-content: center; }
.rz-widgets .widget-hero-mock__product-name { height: 12px; width: 70%; border-radius: 4px; background: #d5dae2; }
.rz-widgets .widget-hero-mock__product-price { height: 18px; width: 38%; border-radius: 5px; background: #0f1a2e; }
.rz-widgets .widget-hero-mock__product-cta { height: 30px; width: 130px; border-radius: 999px; background: #ffc23c; }
.rz-widgets .widget-hero-mock__widget {
  padding: 16px;
  border-radius: 12px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  box-shadow: 0 0 0 4px rgba(45, 95, 151, 0.06);
}
.rz-widgets .widget-hero-mock__widget-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--rz-border-soft);
}
.rz-widgets .widget-hero-mock__rating { display: flex; align-items: center; gap: 8px; }
.rz-widgets .widget-hero-mock__rating-score { font-weight: 800; font-size: 18px; color: var(--rz-text); letter-spacing: -0.02em; }
.rz-widgets .widget-hero-mock__rating-stars { display: inline-flex; gap: 2px; color: #f6b10a; }
.rz-widgets .widget-hero-mock__rating-stars svg { fill: currentColor; }
.rz-widgets .widget-hero-mock__count { font-size: 12px; color: var(--rz-text-muted); }
.rz-widgets .widget-hero-mock__review {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 10px;
  padding: 8px 0;
}
.rz-widgets .widget-hero-mock__review + .widget-hero-mock__review { border-top: 1px solid var(--rz-border-soft); padding-top: 12px; margin-top: 4px; }
.rz-widgets .widget-hero-mock__review img {
  width: 44px; height: 44px;
  border-radius: 999px;
  object-fit: cover;
  display: block;
}
.rz-widgets .widget-hero-mock__review-name {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--rz-text);
  margin-bottom: 4px;
}
.rz-widgets .widget-hero-mock__review-name span { color: var(--rz-green); font-weight: 500; }
.rz-widgets .widget-hero-mock__review-text {
  font-size: 13px;
  line-height: 1.45;
  color: var(--rz-text-muted);
}
.rz-widgets .widget-hero-mock__badge {
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: #0f1a2e;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
  box-shadow: 0 12px 28px -10px rgba(15, 26, 46, 0.4);
  white-space: nowrap;
}
.rz-widgets .widget-hero-mock__badge svg { color: #ffc23c; }

/* ---- Logo strip wrapper ---- */
.rz-widgets .rz-widgets__logos { padding-top: 32px; padding-bottom: 32px; }
.rz-widgets .rz-widgets__logos .landing-strip-title {
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rz-text-muted);
  margin-bottom: 16px;
}

/* ---- Embed snippet card ---- */
.rz-widgets .widget-embed-snippet {
  background: #0f1a2e;
  color: #e6ecf5;
  border-radius: 16px;
  padding: 22px 24px;
  max-width: 760px;
  margin: 0 auto;
  box-shadow: 0 22px 50px -20px rgba(15, 26, 46, 0.35);
}
.rz-widgets .widget-embed-snippet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.rz-widgets .widget-embed-snippet__lang {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: rgba(255, 194, 60, 0.18);
  color: #ffc23c;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 999px;
  text-transform: uppercase;
}
.rz-widgets .widget-embed-snippet__hint {
  font-size: 12.5px;
  color: rgba(230, 236, 245, 0.6);
}
.rz-widgets .widget-embed-snippet__hint code {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
  font-size: 11.5px;
  background: rgba(255, 255, 255, 0.08);
  padding: 1px 6px;
  border-radius: 4px;
  color: #ffd47a;
}
.rz-widgets .widget-embed-snippet__code {
  margin: 0;
  padding: 16px 18px;
  background: rgba(0, 0, 0, 0.28);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
  font-size: 13px;
  line-height: 1.55;
  color: #c8d3e2;
  overflow-x: auto;
  white-space: pre;
}
.rz-widgets .widget-embed-snippet__code code { color: inherit; }
.rz-widgets .widget-embed-snippet__notes {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 16px;
  font-size: 12.5px;
  color: rgba(230, 236, 245, 0.78);
}
.rz-widgets .widget-embed-snippet__notes span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rz-widgets .widget-embed-snippet__notes svg { color: #6dd58c; }

/* ---- Pricing teaser ---- */
/* 3-card pricing teaser on the /widgets page. Replaces the legacy "Nákupní
   cesta" section. Featured (middle) card is visually emphasized – slightly
   larger, accent border, brand-color top stripe via ::before. */
.rz-widgets .widget-pricing-teaser {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
.rz-widgets .widget-pricing-teaser__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 26px 22px 24px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius-lg);
  box-shadow: var(--rz-shadow-soft);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.rz-widgets .widget-pricing-teaser__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px -22px rgba(20,19,25,0.3);
  border-color: rgba(58,130,89,0.35);
}
.rz-widgets .widget-pricing-teaser__card--featured {
  border: 1.5px solid var(--rz-green);
  box-shadow: 0 0 0 1px var(--rz-green) inset, 0 22px 48px -22px rgba(58,130,89,0.35);
  background: linear-gradient(180deg, rgba(58,130,89,0.04) 0%, var(--rz-white) 30%);
  padding-top: 36px;
}
.rz-widgets .widget-pricing-teaser__badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 14px;
  background: var(--rz-green);
  color: var(--rz-white);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 999px;
  box-shadow: 0 4px 12px -2px rgba(58,130,89,0.35);
}
.rz-widgets .widget-pricing-teaser__head {
  display: grid;
  gap: 4px;
}
.rz-widgets .widget-pricing-teaser__name {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: var(--rz-text);
}
.rz-widgets .widget-pricing-teaser__tag {
  font-size: 12.5px;
  color: var(--rz-text-muted);
  font-weight: 600;
}
.rz-widgets .widget-pricing-teaser__price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-bottom: 14px;
  border-bottom: 1px dashed var(--rz-border-soft);
}
.rz-widgets .widget-pricing-teaser__amount {
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--rz-text);
  line-height: 1;
}
.rz-widgets .widget-pricing-teaser__currency {
  font-size: 13.5px;
  color: var(--rz-text-muted);
  font-weight: 600;
}
.rz-widgets .widget-pricing-teaser__features {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1;
}
.rz-widgets .widget-pricing-teaser__features li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--rz-text);
}
.rz-widgets .widget-pricing-teaser__features svg {
  flex-shrink: 0;
  margin-top: 3px;
  color: var(--rz-green);
}
.rz-widgets .widget-pricing-teaser__cta {
  width: 100%;
  justify-content: center;
  margin-top: 4px;
}
.rz-widgets .widget-pricing-teaser__more {
  margin: 24px 0 0;
  text-align: center;
  font-size: 13.5px;
  color: var(--rz-text-muted);
}
.rz-widgets .widget-pricing-teaser__more a {
  color: var(--rz-green);
  font-weight: 700;
  text-decoration: none;
  margin-left: 4px;
}
.rz-widgets .widget-pricing-teaser__more a:hover { text-decoration: underline; }

@media (max-width: 900px) {
  .rz-widgets .widget-pricing-teaser { grid-template-columns: 1fr; }
  .rz-widgets .widget-pricing-teaser__card--featured { padding-top: 26px; }
  .rz-widgets .widget-pricing-teaser__badge {
    position: static;
    transform: none;
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: -8px;
  }
}

/* ---- Final CTA subtext link ---- */
.rz-widgets .cta-banner__sub a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---- Perf containment for below-fold sections ---- */
/* `content-visibility: auto` lets the browser skip layout, paint, and most
   style work for these sections until they approach the viewport. That single
   property delivers the biggest perceived-perf win on this long page – no JS
   required. `contain-intrinsic-size` reserves a placeholder height so the
   scrollbar stays stable and the page doesn't jump as sections rehydrate. */
/* Logo strip is a single short row (~150 px). 720 px placeholder was too
   generous and caused a visible page-height jump when the section rehydrated. */
.rz-widgets .section.rz-widgets__logos {
  content-visibility: auto;
  contain-intrinsic-size: auto 200px;
}
/* Feature/demo/pricing/FAQ sections – keep ~720 px placeholder. The new section
   IDs match the renamed sections: #features (was #templates), #widget-pricing
   (was #widget-context). */
.rz-widgets #widget-live-demo,
.rz-widgets #features,
.rz-widgets #widget-pricing,
.rz-widgets .landing-faq-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 720px;
}
/* Sections without a stable ID – embed snippet, 3-step deployment, final CTA.
   Match by structural position rather than adding wrapper classes. */
.rz-widgets > .section + .section + .section + .section + .section,
.rz-widgets > .section + .section + .section + .section + .section + .section + .section {
  content-visibility: auto;
  contain-intrinsic-size: auto 520px;
}

/* Pause logo marquee when its section is off-screen. The marketing_widgets
   view sets a data-paused flag from an IntersectionObserver; the visibility
   API + matchMedia tab-blur path is also covered by the JS in the partial. */
.rz-widgets__logos[data-paused="true"] .landing-logo-strip-track {
  animation-play-state: paused;
}

/* ---- Demo canvas safety for narrow containers (the "wall of love" case) ---- */
/* When the user picks "Galerie / mozaika" (gallery_masonry) and the canvas is
   narrow, the runtime injects `columns: 3 260px` which becomes a single tall
   tower below ~540px. Force a 2-column floor and constrain card heights so
   the masonry stays a wall, not a stack. */
.rz-widgets .rz-widget-demo__canvas .rcz-gallery {
  columns: 2 200px;
  column-gap: 12px;
}
.rz-widgets .rz-widget-demo__canvas .rcz-gallery .rcz-card {
  break-inside: avoid;
  margin: 0 0 12px;
}
.rz-widgets .rz-widget-demo__canvas .rcz-gallery .rcz-card img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ---- Responsive ---- */
@media (max-width: 960px) {
  .rz-widgets .widget-hero-mock__frame { transform: translate3d(0, 0, 0); }
  .rz-widgets .widget-hero-mock__badge { position: static; transform: none; display: inline-flex; margin: 14px auto 0; }
  .rz-widgets .widget-hero-mock { text-align: center; }
}
@media (max-width: 540px) {
  .rz-widgets .widget-hero-mock__body { padding: 14px; }
  .rz-widgets .widget-hero-mock__product { grid-template-columns: 72px 1fr; }
  .rz-widgets .widget-hero-mock__product-image { width: 72px; height: 64px; }
  .rz-widgets .widget-embed-snippet { padding: 16px; }
  .rz-widgets .widget-embed-snippet__code { font-size: 11.5px; padding: 12px; }
}

/* ==========================================================================
   /pricing – hero rebalance, trial badge, inline cycle toggle, enterprise link
   ========================================================================== */

/* Realign landing.css brand tokens to v7 brand green within the pricing page.
   Without this, .landing-price-card.is-recommended pulls #1a4a78 (blue) from
   marketing-refresh, which clashes with the green/amber v7 palette. */
body.landing-template .rz-pricing {
  --landing-brand: var(--rz-green);
  --landing-brand-rgb: 58, 130, 89;
  --landing-accent-text: var(--rz-green);
}

/* Hero: kompaktní varianta à la Trustpilot – jen H1, podtext, toggly.
   Žádné CTAs (jsou na kartách), žádné badges (přesunuto pod karty). */
.rz-pricing.rz-home .hero--compact {
  padding: 56px 0 28px;
}
.rz-pricing.rz-home .hero--compact::before { display: none; }
.rz-pricing.rz-home .hero h1 {
  margin: 0 0 14px;
  max-width: 820px;
}
.rz-pricing.rz-home .hero h1 em {
  display: block;
  font-style: normal;
  font-size: 56px;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--rz-text);
  margin-bottom: 6px;
}
.rz-pricing.rz-home .hero__sub {
  max-width: 620px;
  font-size: 17px;
  margin: 0 auto 22px;
}

/* Toggles pod podtextem – persona vlevo, billing cycle vpravo, na mobilu pod sebou. */
.rz-pricing .rz-pricing-hero-toggles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}
.rz-pricing .rz-pricing-hero-toggles .rz-pricing-segment-toggle,
.rz-pricing .rz-pricing-hero-toggles .rz-cycle-toggle {
  margin: 0;
}

@media (max-width: 760px) {
  .rz-pricing.rz-home .hero--compact { padding: 32px 0 16px; }
  .rz-pricing.rz-home .hero h1 em { font-size: 40px; }
  .rz-pricing.rz-home .hero__sub { font-size: 16px; }
}

/* Plans section dotýká hero – nepotřebuje 96px shora. */
.rz-pricing.rz-home .section--tight {
  padding: 24px 0 72px;
}
@media (max-width: 760px) {
  .rz-pricing.rz-home .section--tight { padding: 16px 0 56px; }
}

/* Trial badge – reassurance pill pod kartami tarifů (vycentrované). */
.rz-pricing .rz-trial-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 28px auto 0;
  width: fit-content;
  max-width: 640px;
  padding: 10px 18px 10px 12px;
  background: var(--rz-green-light);
  border: 1px solid rgba(58, 130, 89, 0.22);
  border-radius: 999px;
  color: var(--rz-text);
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
  box-shadow: 0 8px 22px -10px rgba(58, 130, 89, 0.25);
}
.rz-pricing .rz-trial-badge__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--rz-green);
  color: var(--rz-white);
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.01em;
  white-space: nowrap;
  flex-shrink: 0;
}
.rz-pricing .rz-trial-badge__text {
  color: #2c4a36;
}
.rz-pricing .rz-trial-badge__text strong { color: var(--rz-green); font-weight: 700; }

@media (max-width: 640px) {
  .rz-pricing .rz-trial-badge {
    flex-direction: column;
    gap: 8px;
    align-items: center;
    text-align: center;
    padding: 12px 18px 14px;
    border-radius: var(--rz-radius);
  }
}

/* Per-segment recommendation banner – shown on /pricing when the user arrives
   from a segment landing page (e.g. /pro-restauraci → /pricing?from=restaurant).
   Visual cousin of .rz-trial-badge but amber to signal "we picked this for
   you" vs the green "free trial" message above. */
.rz-pricing .rz-segment-recommend {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 720px;
  margin: 0 auto 28px;
  width: fit-content;
  padding: 12px 18px 12px 14px;
  background: var(--rz-amber-light, #fff4d6);
  border: 1px solid var(--rz-amber, #f5b400);
  border-radius: var(--rz-radius, 14px);
  color: var(--rz-text);
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
  box-shadow: 0 8px 22px -12px rgba(245, 180, 0, 0.35);
}
.rz-pricing .rz-segment-recommend__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--rz-amber, #f5b400);
  color: var(--rz-bg-dark, #0F1A2E);
  border-radius: 999px;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.01em;
  white-space: nowrap;
  flex-shrink: 0;
}
.rz-pricing .rz-segment-recommend__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rz-pricing .rz-segment-recommend__title {
  font-weight: 700;
  color: var(--rz-bg-dark, #0F1A2E);
}
.rz-pricing .rz-segment-recommend__text {
  color: var(--rz-text-muted, #4a5168);
  font-size: 13.5px;
}
@media (max-width: 640px) {
  .rz-pricing .rz-segment-recommend {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* Section head with inline toggle (toggle sits right of the section heading). */
.rz-pricing .section__head--with-toggle {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  text-align: left;
  margin-bottom: 36px;
}
.rz-pricing .section__head--with-toggle .section__head-copy {
  flex: 1 1 420px;
  min-width: 280px;
}
.rz-pricing .section__head--with-toggle h2 { margin: 6px 0 8px; }
.rz-pricing .section__head--with-toggle .section__lead { margin: 0; max-width: 56ch; }

/* Inline cycle toggle: smaller variant for use in section header. */
.rz-home .rz-cycle-toggle--inline {
  margin: 0;
  align-self: flex-end;
  flex-shrink: 0;
}

@media (max-width: 760px) {
  .rz-pricing .section__head--with-toggle { align-items: stretch; }
  .rz-home .rz-cycle-toggle--inline { width: 100%; }
}

/* Enterprise contact link – quiet line under the cards, no separate strip. */
.rz-pricing.rz-home .rz-pricing-enterprise-cta {
  margin: 40px auto 0 !important;
  text-align: center;
  font-size: 18px;
  line-height: 1.4;
}
.rz-pricing-enterprise-cta__question {
  color: var(--rz-text-muted);
  margin-right: 8px;
}
.rz-home .rz-pricing-enterprise-cta__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: #000;
  text-decoration: none;
}
.rz-home .rz-pricing-enterprise-cta__link:hover,
.rz-home .rz-pricing-enterprise-cta__link:focus-visible {
  color: #000;
}
.rz-pricing-enterprise-cta__arrow {
  display: inline-block;
  font-weight: 600;
  transition: transform 0.18s ease;
}
.rz-pricing-enterprise-cta__link:hover .rz-pricing-enterprise-cta__arrow,
.rz-pricing-enterprise-cta__link:focus-visible .rz-pricing-enterprise-cta__arrow {
  transform: translateX(4px);
}

/* Pricing page CTAs are tighter than home – wrap-friendly center alignment. */
.rz-pricing .hero__ctas--centered { margin-top: 4px; }

/* Cycle toggle: hide the inactive cycle's price rows in cards.
   Both monthly and annual blocks are server-rendered so the JS toggle can flip
   visibility client-side without a full reload. Initial state comes from the
   ?cycle= query string. */
.rz-pricing .landing-pricing-grid[data-billing-cycle="monthly"] [data-cycle="annual"] { display: none; }
.rz-pricing .landing-pricing-grid[data-billing-cycle="annual"] [data-cycle="monthly"] { display: none; }

/* Buttons inherit the same look the original anchor variant had. */
.rz-home .rz-cycle-toggle__option[type="button"] {
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}

/* Two-column FAQ for the pricing page (more questions, less vertical scroll). */
.rz-home .faq--two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 1100px;
  margin: 0 auto;
}
.rz-home .faq--two-col .faq__item { margin-bottom: 0; align-self: start; }

@media (max-width: 820px) {
  .rz-home .faq--two-col { grid-template-columns: 1fr; }
}

/* Comparison table – group headers break the 18-row wall into 3 readable
   sections. Same approach used by Stripe's pricing matrix. */
body.landing-template .rz-pricing .landing-plan-compare-group td {
  padding: 14px 14px 8px;
  background: transparent;
  border: 0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rz-green);
}
body.landing-template .rz-pricing .landing-plan-compare-table tr.landing-plan-compare-group + tr th,
body.landing-template .rz-pricing .landing-plan-compare-table tr.landing-plan-compare-group + tr td {
  border-top: 2px solid rgba(58, 130, 89, 0.18);
}

@media (max-width: 760px) {
  body.landing-template .rz-pricing .landing-plan-compare-group td {
    padding: 16px 4px 6px;
  }
  body.landing-template .rz-pricing .landing-plan-compare-table tr.landing-plan-compare-group {
    background: transparent;
    border: 0;
    padding: 0;
  }
}

/* --------------------------------------------------------------------
   Srovnávací tabulka „Co tarif skutečně mění" – sladění s UI kitem v7.
   landing.css ji dědí v původní modré paletě (#f3f7ff, #0b2a57…), což
   se na zeleno-jantarové /pricing bije. Přebarvíme na warm-neutral
   tokeny (--rz-*) a akcenty na zelenou/červenou.
   -------------------------------------------------------------------- */
body.landing-template .rz-pricing .landing-plan-compare {
  border: 1px solid var(--rz-border);
  background: var(--rz-white);
  box-shadow: var(--rz-shadow-card);
  border-radius: var(--rz-radius-xl);
}
body.landing-template .rz-pricing .landing-plan-compare-head h3 {
  color: var(--rz-text);
}
body.landing-template .rz-pricing .landing-plan-compare-head p {
  color: var(--rz-text-muted);
}
body.landing-template .rz-pricing .landing-plan-compare-table-wrap {
  border: 1px solid var(--rz-border);
  border-radius: var(--rz-radius-lg);
  background: var(--rz-white);
}
body.landing-template .rz-pricing .landing-plan-compare-table th,
body.landing-template .rz-pricing .landing-plan-compare-table td {
  border-bottom-color: var(--rz-border-soft);
  border-right-color: var(--rz-border-soft);
}
/* Hlavičky sloupců + sticky řádek „Metrika" – neutrální podklad. */
body.landing-template .rz-pricing .landing-plan-compare-metric-head,
body.landing-template .rz-pricing .landing-plan-compare-plan-head {
  background: var(--rz-bg-alt);
  color: var(--rz-text);
}
body.landing-template .rz-pricing .landing-plan-compare-plan-name {
  color: var(--rz-text);
}
/* Doporučený tarif – zelený akcent místo modrého. */
body.landing-template .rz-pricing .landing-plan-compare-plan-head.is-featured {
  background: var(--rz-green-light);
}
body.landing-template .rz-pricing .landing-plan-compare-plan-badge {
  background: var(--rz-green-light);
  color: var(--rz-green);
}
/* Sticky popisek metriky a buňky s hodnotami. */
body.landing-template .rz-pricing .landing-plan-compare-metric-label {
  background: var(--rz-bg);
  color: var(--rz-text);
}
body.landing-template .rz-pricing .landing-plan-compare-value {
  background: var(--rz-white);
  color: var(--rz-text);
}
body.landing-template .rz-pricing .landing-plan-compare-value.is-positive {
  color: var(--rz-green);
}
body.landing-template .rz-pricing .landing-plan-compare-value.is-negative {
  color: var(--rz-red);
}
body.landing-template .rz-pricing .landing-plan-note-list {
  color: var(--rz-text-muted);
}
body.landing-template .rz-pricing .landing-plan-note-list li::before {
  background: var(--rz-green);
}

/* Mobilní stacked varianta (landing.css @media 576px) – přebít modrý
   popisek tarifu u hodnot na neutrální text UI kitu. */
@media (max-width: 576px) {
  body.landing-template .rz-pricing .landing-plan-compare-value::before {
    color: var(--rz-text);
  }
}

/* ===================================================================
   FEATURES – page-specific tweaks
   Higher information density, tighter mobile hero, KPI stat strip.
   =================================================================== */

/* Stat strip: 3 plain numbers above the trust marquee. */
.rz-features .rz-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 0 0 28px;
  border-bottom: 1px solid var(--rz-border-soft);
  margin-bottom: 24px;
}
.rz-features .rz-stat { text-align: center; }
.rz-features .rz-stat__value {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--rz-green);
  line-height: 1.1;
}
.rz-features .rz-stat__label {
  margin-top: 6px;
  font-size: 13.5px;
  color: var(--rz-text-muted);
  line-height: 1.5;
}

/* Tighter section padding on features – fewer scrolls, denser layout. */
.rz-features .section { padding: clamp(56px, 7vw, 80px) 0; }

/* Mobile hero: long keyword headline needs a smaller, fluid clamp.
   Default mobile sizes (set in shared @media blocks at 760/520) are tuned
   for the homepage's shorter "Vše pro recenze" – features needs more
   aggressive shrinking to keep the H1 on two lines. */
@media (max-width: 760px) {
  .rz-features .hero h1 .h1-lead { font-size: clamp(24px, 6.5vw, 32px); }
  .rz-features .hero h1 em { font-size: clamp(36px, 10vw, 52px); }
  .rz-features .rz-stat-strip { grid-template-columns: 1fr; gap: 18px; padding-bottom: 22px; }
  .rz-features .rz-stat__value { font-size: 30px; }
}

/* ===================================================================
   /pro-lokal SMB landing – distinctive layout for cafes, salons, services
   =================================================================== */

/* Shared accent for SMB landing. Warm cream backdrop differentiates from
   home (cool white) so visitors feel they are in a different room. */
.rz-prolokal {
  --pl-cream: #FFF8EB;
  --pl-cream-2: #FBF1DA;
  --pl-amber: #FFC23C;
  --pl-amber-2: #F59E0B;
  --pl-amber-text: #8C6300;
  --pl-amber-soft: #FFF2D4;
  --pl-ink: #0F1A2E;
  --pl-ink-soft: #5A6275;
  --pl-line: #ECE4CF;
  --pl-red-soft: #FDE7E2;
  --pl-red-text: #9A2A1F;
  --pl-green: #3A8259;
  --pl-green-soft: #E3F1E8;
}

/* Generic eyebrow used across SMB landing sections. */
.rz-home.rz-prolokal .prolokal-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pl-amber-text);
  background: var(--pl-amber-soft);
  border-radius: 999px;
  padding: 6px 12px;
  margin-bottom: 16px;
}
.rz-home.rz-prolokal .prolokal-eyebrow--red {
  color: var(--pl-red-text);
  background: var(--pl-red-soft);
}

/* ---------- HERO ---------- */
.rz-home.rz-prolokal .prolokal-hero {
  position: relative;
  padding: 96px 0 88px;
  background: linear-gradient(180deg, var(--pl-cream) 0%, #FFFFFF 100%);
  overflow: hidden;
}
.rz-home.rz-prolokal .prolokal-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 8% 110%, rgba(255, 194, 60, 0.22), transparent 45%),
    radial-gradient(circle at 92% 0%, rgba(58, 130, 89, 0.10), transparent 50%);
  pointer-events: none;
}
.rz-home.rz-prolokal .prolokal-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 64px;
  align-items: center;
}
.rz-home.rz-prolokal .prolokal-hero__title {
  font-size: clamp(40px, 5.2vw, 64px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  font-weight: 800;
  margin: 14px 0 22px;
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-hero__title em {
  font-style: normal;
  background: linear-gradient(90deg, var(--pl-amber-2), var(--pl-amber));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.rz-home.rz-prolokal .prolokal-hero__sub {
  font-size: 19px;
  line-height: 1.55;
  color: var(--pl-ink-soft);
  margin: 0 0 28px;
  max-width: 520px;
}
.rz-home.rz-prolokal .prolokal-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}
.rz-home.rz-prolokal .prolokal-hero__bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  font-size: 14px;
  font-weight: 600;
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-hero__bullets li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rz-home.rz-prolokal .prolokal-hero__bullets svg {
  color: var(--pl-green);
  flex-shrink: 0;
}

/* Stage with table tent + phone mockup */
.rz-home.rz-prolokal .prolokal-hero__stage {
  position: relative;
  min-height: 460px;
}
.rz-home.rz-prolokal .prolokal-stage {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 460px;
}
.rz-home.rz-prolokal .prolokal-stage__tent {
  position: absolute;
  top: 20px;
  left: 0;
  width: 60%;
  background: #FFFFFF;
  border: 1px solid var(--pl-line);
  border-radius: 18px;
  padding: 20px 18px 16px;
  text-align: center;
  box-shadow: 0 22px 50px rgba(15, 26, 46, 0.12);
  transform: rotate(-3deg);
}
.rz-home.rz-prolokal .prolokal-stage__tent-eyebrow {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: var(--pl-green);
  margin: 0 0 6px;
}
.rz-home.rz-prolokal .prolokal-stage__tent-title {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin: 0 0 14px;
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-stage__tent-qr {
  width: 140px;
  height: 140px;
  margin: 0 auto 10px;
  padding: 8px;
  border-radius: 10px;
  background: #FFFFFF;
  border: 1px solid var(--pl-line);
}
.rz-home.rz-prolokal .prolokal-stage__tent-qr svg { width: 100%; height: 100%; }
.rz-home.rz-prolokal .prolokal-stage__tent-footer {
  font-size: 11px;
  color: var(--pl-amber-text);
  font-weight: 600;
  margin: 0;
}

.rz-home.rz-prolokal .prolokal-stage__phone {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 56%;
  background: #0F1A2E;
  border-radius: 28px;
  padding: 10px 10px 14px;
  box-shadow: 0 30px 60px rgba(15, 26, 46, 0.30);
  transform: rotate(4deg);
}
.rz-home.rz-prolokal .prolokal-stage__phone-notch {
  width: 60px;
  height: 6px;
  background: #1A2438;
  border-radius: 999px;
  margin: 4px auto 8px;
}
.rz-home.rz-prolokal .prolokal-stage__phone-screen {
  background: #FFFFFF;
  border-radius: 18px;
  padding: 16px 14px;
}
.rz-home.rz-prolokal .prolokal-stage__phone-title {
  font-size: 13px;
  color: var(--pl-ink-soft);
  margin: 0 0 8px;
}
.rz-home.rz-prolokal .prolokal-stage__phone-title strong { color: var(--pl-ink); }
.rz-home.rz-prolokal .prolokal-stage__phone-stars {
  display: flex;
  gap: 3px;
  margin-bottom: 12px;
}
.rz-home.rz-prolokal .prolokal-stage__phone-stars svg { width: 18px; height: 18px; }
.rz-home.rz-prolokal .prolokal-stage__phone-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 12px;
}
.rz-home.rz-prolokal .prolokal-stage__phone-chips span {
  font-size: 11.5px;
  font-weight: 600;
  padding: 5px 9px;
  border-radius: 999px;
  background: #F4F2EC;
  color: var(--pl-ink-soft);
  border: 1px solid var(--pl-line);
}
.rz-home.rz-prolokal .prolokal-stage__phone-chips .is-on {
  background: var(--pl-green);
  color: #FFFFFF;
  border-color: var(--pl-green);
}
.rz-home.rz-prolokal .prolokal-stage__phone-text {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--pl-ink-soft);
  margin-bottom: 14px;
  padding: 10px 11px;
  background: #FAFAF7;
  border-radius: 8px;
  border-left: 3px solid var(--pl-amber);
}
.rz-home.rz-prolokal .prolokal-stage__phone-btn {
  width: 100%;
  padding: 10px;
  background: var(--pl-amber);
  color: var(--pl-ink);
  border-radius: 10px;
  font-weight: 700;
  font-size: 13px;
}

.rz-home.rz-prolokal .prolokal-stage__beam {
  position: absolute;
  top: 36%;
  left: 38%;
  width: 24%;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--pl-amber), transparent);
  transform: rotate(8deg);
  opacity: 0.7;
  border-radius: 999px;
  filter: blur(0.5px);
}

/* ---------- PROBLEM ---------- */
.rz-home.rz-prolokal .prolokal-problem__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}
.rz-home.rz-prolokal .prolokal-problem__head h2 {
  font-size: clamp(28px, 3.5vw, 40px);
  letter-spacing: -0.02em;
  margin: 0;
}
.rz-home.rz-prolokal .prolokal-problem__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.rz-home.rz-prolokal .prolokal-pain {
  position: relative;
  padding: 28px 26px 24px;
  background: #FFFFFF;
  border: 1px solid var(--pl-line);
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(15, 26, 46, 0.03);
}
.rz-home.rz-prolokal .prolokal-pain__num {
  position: absolute;
  top: -14px;
  left: 26px;
  width: 32px; height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--pl-red-soft);
  color: var(--pl-red-text);
  border-radius: 50%;
  font-weight: 800;
  font-size: 14px;
  border: 1px solid #F5C4BA;
}
.rz-home.rz-prolokal .prolokal-pain h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 8px 0 10px;
  letter-spacing: -0.01em;
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-pain p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--pl-ink-soft);
  margin: 0;
}

/* ---------- FLOW ---------- */
.rz-home.rz-prolokal .prolokal-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 20px;
  align-items: center;
  max-width: 1080px;
  margin: 0 auto;
}
.rz-home.rz-prolokal .prolokal-flow__step {
  background: #FFFFFF;
  border: 1px solid var(--pl-line);
  border-radius: 18px;
  padding: 24px 22px;
  text-align: center;
}
.rz-home.rz-prolokal .prolokal-flow__visual {
  position: relative;
  width: 88px;
  height: 88px;
  margin: 0 auto 18px;
  border-radius: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.rz-home.rz-prolokal .prolokal-flow__visual--print { background: var(--pl-amber-soft); color: var(--pl-amber-text); }
.rz-home.rz-prolokal .prolokal-flow__visual--scan  { background: var(--pl-green-soft); color: var(--pl-green); }
.rz-home.rz-prolokal .prolokal-flow__visual--admin { background: #E7EAF1; color: var(--pl-ink); }
.rz-home.rz-prolokal .prolokal-flow__badge {
  position: absolute;
  top: -12px;
  right: -12px;
  background: var(--pl-ink);
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 999px;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.rz-home.rz-prolokal .prolokal-flow__step h3 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 8px;
}
.rz-home.rz-prolokal .prolokal-flow__step p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--pl-ink-soft);
  margin: 0;
}
.rz-home.rz-prolokal .prolokal-flow__arrow {
  color: #C8C2B0;
}
.rz-home.rz-prolokal .prolokal-flow__after {
  margin: 36px auto 0;
  max-width: 720px;
  text-align: center;
  font-size: 15px;
  color: var(--pl-ink-soft);
  padding: 14px 22px;
  background: #FFFFFF;
  border: 1px dashed var(--pl-line);
  border-radius: 14px;
}

/* ---------- CASE STUDY ---------- */
.rz-home.rz-prolokal .prolokal-case {
  background: var(--pl-ink);
  color: #E8EAEF;
}
.rz-home.rz-prolokal .prolokal-case .prolokal-eyebrow {
  background: rgba(255, 194, 60, 0.15);
  color: var(--pl-amber);
}
.rz-home.rz-prolokal .prolokal-case h2 {
  color: #FFFFFF;
  font-size: clamp(26px, 3.2vw, 36px);
  letter-spacing: -0.02em;
  line-height: 1.3;
  font-weight: 700;
  margin: 0 0 18px;
}
.rz-home.rz-prolokal .prolokal-case__inner {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}
.rz-home.rz-prolokal .prolokal-case__copy p {
  font-size: 16px;
  line-height: 1.65;
  color: #A4ABB8;
}
.rz-home.rz-prolokal .prolokal-case__quote-meta {
  font-size: 14px;
  color: var(--pl-amber);
  margin: 0 0 18px;
  font-weight: 500;
}
.rz-home.rz-prolokal .prolokal-case__quote-meta strong {
  color: #FFFFFF;
  font-weight: 700;
}
.rz-home.rz-prolokal .prolokal-case__metrics {
  display: grid;
  gap: 16px;
}
.rz-home.rz-prolokal .prolokal-metric {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 194, 60, 0.18);
  border-radius: 16px;
  padding: 20px 22px;
}
.rz-home.rz-prolokal .prolokal-metric__label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #A4ABB8;
  margin-bottom: 4px;
}
.rz-home.rz-prolokal .prolokal-metric__value {
  display: block;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pl-amber);
  line-height: 1.1;
  margin-bottom: 4px;
}
.rz-home.rz-prolokal .prolokal-metric__caption {
  display: block;
  font-size: 13px;
  color: #A4ABB8;
  line-height: 1.45;
}
.rz-home.rz-prolokal .prolokal-case__disclaimer {
  margin: 32px 0 0;
  text-align: center;
  font-size: 11.5px;
  color: #6E7686;
  letter-spacing: 0.04em;
}

/* ---------- DELIVERABLES ---------- */
.rz-home.rz-prolokal .prolokal-deliverables__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.rz-home.rz-prolokal .prolokal-deliverable {
  position: relative;
  background: #FFFFFF;
  border: 1px solid var(--pl-line);
  border-radius: 18px;
  padding: 28px 24px 22px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.rz-home.rz-prolokal .prolokal-deliverable:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(15, 26, 46, 0.10);
  border-color: var(--pl-amber);
}
.rz-home.rz-prolokal .prolokal-deliverable__tag {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.rz-home.rz-prolokal .prolokal-deliverable--print  .prolokal-deliverable__tag { background: var(--pl-amber-soft); color: var(--pl-amber-text); }
.rz-home.rz-prolokal .prolokal-deliverable--form   .prolokal-deliverable__tag { background: var(--pl-green-soft); color: var(--pl-green); }
.rz-home.rz-prolokal .prolokal-deliverable--admin  .prolokal-deliverable__tag { background: #E7EAF1; color: var(--pl-ink); }
.rz-home.rz-prolokal .prolokal-deliverable--google .prolokal-deliverable__tag { background: #FEF3C7; color: #92400E; }
.rz-home.rz-prolokal .prolokal-deliverable h3 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 8px;
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-deliverable p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--pl-ink-soft);
  margin: 0 0 14px;
}
.rz-home.rz-prolokal .prolokal-deliverable__hint {
  display: block;
  font-size: 12px;
  color: var(--pl-ink-soft);
  font-style: italic;
  padding-top: 12px;
  border-top: 1px dashed var(--pl-line);
}

/* ---------- INDUSTRIES ---------- */
.rz-home.rz-prolokal .prolokal-industries {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.rz-home.rz-prolokal .prolokal-industry {
  padding: 28px 22px 24px;
  background: #FFFFFF;
  border: 1px solid var(--pl-line);
  border-radius: 18px;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.rz-home.rz-prolokal .prolokal-industry:hover {
  border-color: var(--pl-amber);
  transform: translateY(-3px);
}
.rz-home.rz-prolokal .prolokal-industry__icon {
  display: inline-flex;
  width: 56px;
  height: 56px;
  align-items: center;
  justify-content: center;
  background: var(--pl-cream-2);
  border-radius: 16px;
  font-size: 28px;
  margin-bottom: 16px;
  line-height: 1;
}
.rz-home.rz-prolokal .prolokal-industry h3 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
}
.rz-home.rz-prolokal .prolokal-industry p {
  font-size: 14px;
  color: var(--pl-ink-soft);
  line-height: 1.5;
  margin: 0 0 14px;
}
.rz-home.rz-prolokal .prolokal-industry ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 6px;
}
.rz-home.rz-prolokal .prolokal-industry ul li {
  position: relative;
  padding-left: 18px;
  font-size: 13px;
  color: var(--pl-ink);
  line-height: 1.4;
}
.rz-home.rz-prolokal .prolokal-industry ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--pl-green);
  font-weight: 700;
}

/* /pro-lokal industries → clickable rozcestník na segmentní landing pages.
   Vizuální posun: lehčí border, výraznější CTA pod listou, hover lift. */
.rz-home.rz-prolokal .prolokal-industry--link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.rz-home.rz-prolokal .prolokal-industry--link:hover {
  border-color: var(--pl-green, #2f9e6e);
  box-shadow: 0 8px 24px -12px rgba(15, 26, 46, 0.18);
}
.rz-home.rz-prolokal .prolokal-industry__cta {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed var(--pl-line);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pl-green, #2f9e6e);
}
.rz-home.rz-prolokal .prolokal-industry__cta svg { transition: transform 0.18s ease; }
.rz-home.rz-prolokal .prolokal-industry--link:hover .prolokal-industry__cta svg { transform: translateX(3px); }
.rz-home.rz-prolokal .prolokal-industries__note {
  margin-top: 28px;
  font-size: 14px;
  color: var(--pl-ink-soft);
  text-align: center;
}
.rz-home.rz-prolokal .prolokal-industries__note a {
  color: var(--pl-green, #2f9e6e);
  font-weight: 600;
  text-decoration: none;
}
.rz-home.rz-prolokal .prolokal-industries__note a:hover { text-decoration: underline; }

/* ---------- PRICING TEASER ---------- */
.rz-home.rz-prolokal .prolokal-pricing {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}
.rz-home.rz-prolokal .prolokal-pricing__copy h2 {
  font-size: clamp(28px, 3.6vw, 42px);
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}
.rz-home.rz-prolokal .prolokal-pricing__copy p {
  font-size: 17px;
  line-height: 1.6;
  color: var(--pl-ink-soft);
  margin: 0 0 22px;
}
.rz-home.rz-prolokal .prolokal-pricing__copy strong {
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-pricing__card {
  position: relative;
  background: #FFFFFF;
  border: 2px solid var(--pl-amber);
  border-radius: 24px;
  padding: 36px 32px 30px;
  box-shadow: 0 24px 50px rgba(255, 158, 11, 0.18);
}
.rz-home.rz-prolokal .prolokal-pricing__card-badge {
  position: absolute;
  top: -14px;
  left: 32px;
  background: var(--pl-amber);
  color: var(--pl-ink);
  font-size: 11px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 999px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rz-home.rz-prolokal .prolokal-pricing__card-name {
  font-size: 22px;
  font-weight: 800;
  margin: 4px 0 14px;
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-pricing__card-price {
  margin: 0 0 22px;
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.rz-home.rz-prolokal .prolokal-pricing__card-price strong {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-pricing__card-price span {
  font-size: 14px;
  color: var(--pl-ink-soft);
}
.rz-home.rz-prolokal .prolokal-pricing__card-features {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: grid;
  gap: 10px;
}
.rz-home.rz-prolokal .prolokal-pricing__card-features li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14.5px;
  color: var(--pl-ink);
}
.rz-home.rz-prolokal .prolokal-pricing__card-features li svg {
  color: var(--pl-green);
  flex-shrink: 0;
}
.rz-home.rz-prolokal .prolokal-pricing__card-cta {
  width: 100%;
  justify-content: center;
}
.rz-home.rz-prolokal .prolokal-pricing__card-fineprint {
  font-size: 12.5px;
  color: var(--pl-ink-soft);
  text-align: center;
  margin: 12px 0 0;
}

/* ---------- FAQ ---------- */
.rz-home.rz-prolokal .prolokal-faq {
  max-width: 820px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}
.rz-home.rz-prolokal .prolokal-faq__item {
  background: #FFFFFF;
  border: 1px solid var(--pl-line);
  border-radius: 14px;
  padding: 18px 22px;
  transition: border-color 0.15s ease;
}
.rz-home.rz-prolokal .prolokal-faq__item[open] {
  border-color: var(--pl-amber);
}
.rz-home.rz-prolokal .prolokal-faq__item summary {
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  color: var(--pl-ink);
  letter-spacing: -0.005em;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.rz-home.rz-prolokal .prolokal-faq__item summary::-webkit-details-marker { display: none; }
.rz-home.rz-prolokal .prolokal-faq__item summary::after {
  content: "+";
  font-size: 20px;
  font-weight: 400;
  color: var(--pl-amber-text);
  transition: transform 0.18s ease;
}
.rz-home.rz-prolokal .prolokal-faq__item[open] summary::after {
  content: "−";
}
.rz-home.rz-prolokal .prolokal-faq__item p {
  margin: 10px 0 0;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--pl-ink-soft);
}

/* ---------- FINAL CTA ---------- */
.rz-home.rz-prolokal .prolokal-final {
  background: linear-gradient(180deg, #FFFFFF 0%, var(--pl-cream) 100%);
}
.rz-home.rz-prolokal .prolokal-final__inner {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
  padding: 24px 0 16px;
}
.rz-home.rz-prolokal .prolokal-final__inner h2 {
  font-size: clamp(32px, 4vw, 46px);
  letter-spacing: -0.025em;
  margin: 0 0 16px;
}
.rz-home.rz-prolokal .prolokal-final__inner p {
  font-size: 17px;
  color: var(--pl-ink-soft);
  margin: 0 0 26px;
  line-height: 1.55;
}
.rz-home.rz-prolokal .prolokal-final__ctas {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-bottom: 18px;
}
.rz-home.rz-prolokal .prolokal-final__note {
  font-size: 13px;
  color: var(--pl-ink-soft);
  margin: 0;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
  .rz-home.rz-prolokal .prolokal-hero__inner,
  .rz-home.rz-prolokal .prolokal-case__inner,
  .rz-home.rz-prolokal .prolokal-pricing { grid-template-columns: 1fr; gap: 40px; }
  .rz-home.rz-prolokal .prolokal-hero__stage { min-height: 420px; }
  .rz-home.rz-prolokal .prolokal-problem__grid,
  .rz-home.rz-prolokal .prolokal-deliverables__grid,
  .rz-home.rz-prolokal .prolokal-industries { grid-template-columns: repeat(2, 1fr); }
  .rz-home.rz-prolokal .prolokal-flow {
    grid-template-columns: 1fr;
  }
  .rz-home.rz-prolokal .prolokal-flow__arrow {
    transform: rotate(90deg);
    margin: 0 auto;
  }
}
@media (max-width: 720px) {
  .rz-home.rz-prolokal .prolokal-hero { padding: 60px 0 56px; }
  .rz-home.rz-prolokal .prolokal-hero__title { font-size: 38px; }
  .rz-home.rz-prolokal .prolokal-stage__tent { width: 70%; }
  .rz-home.rz-prolokal .prolokal-stage__phone { width: 64%; }
  .rz-home.rz-prolokal .prolokal-problem__grid,
  .rz-home.rz-prolokal .prolokal-deliverables__grid,
  .rz-home.rz-prolokal .prolokal-industries { grid-template-columns: 1fr; }
  .rz-home.rz-prolokal .prolokal-metric__value { font-size: 32px; }
}

/* persona__more – small in-card link to dedicated landing (eg. /pro-lokal) */
.rz-home .persona__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rz-green);
  text-decoration: none;
  align-self: flex-start;
}
.rz-home .persona--ecom .persona__more  { color: var(--rz-amber-text); }
.rz-home .persona--brand .persona__more { color: var(--rz-bg-dark); }
.rz-home .persona__more svg { transition: transform 0.18s ease; }
.rz-home .persona__more:hover svg { transform: translateX(3px); }

/* ─────────────────────────────────────────────────────────────
   segments-rail – per-vertical rozcestník pod persona-grid
   Vede na dedicated landing pages (/pro-restauraci, /pro-salon,
   /pro-sluzby, /pro-lekare). Data: SegmentLandingCatalog.
   ───────────────────────────────────────────────────────────── */
.rz-home .segments-rail {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid var(--rz-border, rgba(15, 26, 46, 0.08));
}
.rz-home .segments-rail__title {
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rz-text-muted, #6b7280);
  text-align: center;
}
.rz-home .segments-rail__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 960px) {
  .rz-home .segments-rail__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .rz-home .segments-rail__grid { grid-template-columns: 1fr; }
}
.rz-home .segment-chip {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--rz-border, rgba(15, 26, 46, 0.10));
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.rz-home .segment-chip:hover {
  border-color: var(--rz-green, #2f9e6e);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px -10px rgba(15, 26, 46, 0.18);
}
.rz-home .segment-chip__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  background: var(--rz-bg-soft, #f4f6f8);
  border-radius: 10px;
}
.rz-home .segment-chip__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rz-home .segment-chip__label {
  font-size: 14px;
  font-weight: 700;
  color: var(--rz-bg-dark, #0F1A2E);
  line-height: 1.3;
}
.rz-home .segment-chip__tagline {
  font-size: 12.5px;
  color: var(--rz-text-muted, #6b7280);
  line-height: 1.4;
}
.rz-home .segment-chip__arrow {
  flex-shrink: 0;
  color: var(--rz-green, #2f9e6e);
  transition: transform 0.18s ease;
}
.rz-home .segment-chip:hover .segment-chip__arrow { transform: translateX(3px); }

/* ========== /pro-koho – HUB ROZCESTNÍK 5 SEGMENTŮ ========== */
/* Reusuje hero compact + .section grid systém z homepage; vlastní layout
   jen pro mřížku 5 karet (1 featured = e-shop + 4 segmenty). */
.rz-pro-koho .hero--compact { padding: 56px 0 24px; }
.rz-pro-koho .hero__copy--center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}
.rz-pro-koho .pro-koho-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 8px;
}
.rz-pro-koho .pro-koho-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 28px 26px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 18px;
  text-decoration: none;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  position: relative;
  overflow: hidden;
}
.rz-pro-koho .pro-koho-card:hover {
  transform: translateY(-3px);
  border-color: var(--rz-text-muted);
  box-shadow: 0 14px 32px -22px rgba(15, 26, 46, 0.25);
}
.rz-pro-koho .pro-koho-card--featured {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(255,194,60,0.10), rgba(255,194,60,0.02));
  border-color: rgba(255,194,60,0.35);
}
.rz-pro-koho .pro-koho-card--featured:hover {
  border-color: var(--rz-amber);
}
.rz-pro-koho .pro-koho-card__icon {
  font-size: 36px;
  line-height: 1;
}
.rz-pro-koho .pro-koho-card__label {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--rz-text);
  letter-spacing: -0.015em;
}
.rz-pro-koho .pro-koho-card__tagline {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--rz-text-muted);
}
.rz-pro-koho .pro-koho-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.rz-pro-koho .pro-koho-card__chips li {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--rz-text);
  background: rgba(255,194,60,0.15);
  padding: 4px 10px;
  border-radius: 999px;
}
.rz-pro-koho .pro-koho-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 6px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--rz-green);
  letter-spacing: -0.005em;
}
.rz-pro-koho .pro-koho-card:hover .pro-koho-card__cta svg {
  transform: translateX(3px);
  transition: transform 0.18s ease;
}
@media (max-width: 860px) {
  .rz-pro-koho .pro-koho-card--featured { grid-column: auto; }
  .rz-pro-koho .pro-koho-grid { grid-template-columns: 1fr; }
}

/* ========== HOMEPAGE – SEKCE "CO TÍM ZÍSKÁTE" ========== */
/* Benefitové karty: 4 přínosy v rovnocenné mřížce. Každá karta má vlastní
   akcentní barvu (--bc-*), piktogram volně v pravém horním rohu
   a živé hover chování (zdvih, barevná záře, rostoucí horní proužek). */
.rz-home .benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.rz-home .benefit-card {
  /* fallback akcent (amber); konkrétní barvy nastavují modifikátory níže */
  --bc-accent: var(--rz-amber-2);
  --bc-accent-2: var(--rz-amber);
  --bc-soft: var(--rz-amber-light);
  --bc-ink: var(--rz-bg-dark);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 280px;
  padding: 80px 28px 34px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 18px;
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.3, 1),
              border-color 0.28s ease, box-shadow 0.28s ease;
}
.rz-home .benefit-card--amber  { --bc-accent: #FF9F1C; --bc-accent-2: #FFC23C; --bc-soft: #FFF2D4; --bc-ink: var(--rz-bg-dark); }
.rz-home .benefit-card--blue   { --bc-accent: #1A73E8; --bc-accent-2: #5B9BF0; --bc-soft: #E8F0FE; --bc-ink: #FFFFFF; }
.rz-home .benefit-card--green  { --bc-accent: #3A8259; --bc-accent-2: #72B58E; --bc-soft: #E3F1E8; --bc-ink: #FFFFFF; }
.rz-home .benefit-card--violet { --bc-accent: #7C5CFC; --bc-accent-2: #A78BFA; --bc-soft: #EEEAFF; --bc-ink: #FFFFFF; }

/* rostoucí horní akcentní proužek */
.rz-home .benefit-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--bc-accent), var(--bc-accent-2));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
/* jemná barevná záře v rohu, prosvítá při hoveru */
.rz-home .benefit-card::after {
  content: "";
  position: absolute;
  top: -45%;
  right: -35%;
  width: 75%;
  height: 85%;
  background: radial-gradient(circle, var(--bc-soft) 0%, transparent 70%);
  opacity: 0;
  z-index: -1;
  transition: opacity 0.4s ease;
}
.rz-home .benefit-card:hover {
  transform: translateY(-6px);
  border-color: var(--bc-accent);
  box-shadow: 0 24px 44px -28px rgba(15, 26, 46, 0.4);
}
.rz-home .benefit-card:hover::before { transform: scaleX(1); }
.rz-home .benefit-card:hover::after { opacity: 1; }

/* piktogram volně v pravém horním rohu, nad textem */
.rz-home .benefit-card__glyph {
  position: absolute;
  top: 22px;
  right: 22px;
  left: auto;
  color: var(--bc-accent);
  opacity: 1;
  pointer-events: none;
  z-index: 1;
  transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.3, 1);
}
.rz-home .benefit-card__glyph svg { width: 64px; height: 64px; }
.rz-home .benefit-card:hover .benefit-card__glyph {
  transform: scale(1.08) rotate(-6deg);
}

.rz-home .benefit-card__title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--rz-text);
}
.rz-home .benefit-card__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--rz-text-muted);
}

@media (prefers-reduced-motion: reduce) {
  .rz-home .benefit-card,
  .rz-home .benefit-card::before,
  .rz-home .benefit-card__glyph { transition: none; }
  .rz-home .benefit-card:hover { transform: none; }
  .rz-home .benefit-card:hover .benefit-card__glyph { transform: none; }
}

@media (max-width: 960px) {
  .rz-home .benefit-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .rz-home .benefit-grid { grid-template-columns: 1fr; }
}

/* ========== HOMEPAGE – KOMPAKTNÍ WIDGET PREVIEW GRID ==========
   Detailní live demo a všech 16+ widget variant je na /widgets. Homepage
   drží jen 6-card entry-level náhled (nahradil 458-řádkový marquee blok). */
.rz-home .widget-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 24px;
}
.rz-home .widget-preview-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px 22px;
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: 16px;
}
.rz-home .widget-preview-card__icon {
  font-size: 26px;
  line-height: 1;
  margin-bottom: 4px;
}
.rz-home .widget-preview-card h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--rz-text);
  letter-spacing: -0.01em;
}
.rz-home .widget-preview-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--rz-text-muted);
}
@media (max-width: 960px) {
  .rz-home .widget-preview-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .rz-home .widget-preview-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   /faq – kompaktní hero (nadpis + lead) + jediná karta s FAQ accordionem
   ========================================================================== */
.rz-faq .faq-hero {
  padding: 64px 0 28px;
  position: relative;
}
.rz-faq .cta-banner__sub {
  font-size: 15px;
}
.rz-faq .faq-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.rz-faq .faq-hero h1 {
  margin: 0 0 14px;
  font-size: clamp(36px, 4.4vw, 52px);
  letter-spacing: -0.03em;
  line-height: 1.05;
  font-weight: 800;
  color: var(--rz-text);
}
.rz-faq .faq-hero h1 em {
  font-style: normal;
  color: var(--rz-green);
}
.rz-faq .faq-hero__sub {
  font-size: 17px;
  line-height: 1.55;
  color: var(--rz-text-muted);
  max-width: 620px;
  margin: 0;
}
.rz-faq .faq-section {
  padding: 24px 0 88px;
}
.rz-faq .faq-card {
  max-width: 880px;
  margin: 0 auto;
}
.rz-faq .faq-card__search {
  margin-bottom: 18px;
}
.rz-faq .faq-card__search-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--rz-text-muted);
  margin-bottom: 8px;
  letter-spacing: 0.01em;
}
.rz-faq .faq-card__search-input {
  width: 100%;
  padding: 14px 18px;
  font: inherit;
  font-size: 15px;
  color: var(--rz-text);
  background: var(--rz-white);
  border: 1px solid var(--rz-border-soft);
  border-radius: var(--rz-radius);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.rz-faq .faq-card__search-input:focus {
  outline: none;
  border-color: var(--rz-green);
  box-shadow: 0 0 0 3px rgba(58, 130, 89, 0.15);
}
.rz-faq .faq-card__search-empty {
  margin: 12px 0 0;
  font-size: 14px;
  color: var(--rz-text-muted);
}
@media (max-width: 760px) {
  .rz-faq .faq-hero { padding: 44px 0 20px; }
  .rz-faq .faq-section { padding: 16px 0 64px; }
}
