/* KOHI tvůrci — tokens ported from kohi-shopify c2 design system (css-variables.liquid + kohi-c2-atoms.css).
   Only this :root block may contain literal values. Components use var(--…) exclusively. */
:root {
  /* c2 palette */
  --c2-accent: #C94067; --c2-accent-press: #AF4273; --c2-wine: #862943; --c2-wine-deep: #541F36;
  --c2-plum: #91355F; --c2-rose: #B67688; --c2-rose-light: #EBC5D6; --c2-yellow: #FFD771;
  --c2-blush: #FDF3EF; --c2-peach-light: #FFEFE9; --c2-peach: #FAE1D7; --c2-peach-deep: #EDC9BB;
  --c2-beige-light: #FBF8F2; --c2-beige: #EFE6D7; --c2-beige-deep: #D7C1A2;
  --c2-text: #181513; --c2-text-secondary: #574F4B; --c2-text-tertiary: #887D76;
  --c2-text-placeholder: #A99F99; --c2-text-inverse: #FBFAF8; --c2-border-dark: #282525;
  --c2-card-pink: #F5E2EA; --c2-card-yellow: #F6E49B; --c2-card-mint: #E7F6E0; --c2-card-apricot: #FDE1C6;
  --c2-pastel-lavender: #D4CFF7; --c2-pastel-green: #DEF7CF; --c2-pastel-cream: #F7E3CF;
  --c2-hero-gradient-home: linear-gradient(180deg, rgba(255,212,224,.6) 0%, rgba(255,212,224,.3) 100%), radial-gradient(120% 120% at 50% 30%, #EFE6D7 0%, #D7C1A2 100%);
  --c2-error: #9C1006; --c2-success: #5F7F3F;
  --line: rgba(24,21,19,.1);
  /* type */
  --font-sans: "Barlow", Arial, Helvetica, sans-serif;
  --fs-eyebrow: 12px; --fs-small: 14px; --fs-body: 16px; --fs-lede: clamp(17px, 1.6vw, 20px);
  --fs-h3: clamp(22px, 2.4vw, 30px); --fs-h2: clamp(30px, 3.8vw, 48px); --fs-h1: clamp(34px, 4.5vw, 60px);
  --lh-tight: 1.15; --lh-body: 1.35; --lh-para: 1.6; --tracking-eyebrow: .16em;
  /* spacing 4pt */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-6: 24px; --sp-8: 32px; --sp-12: 48px; --sp-16: 64px; --sp-24: 96px; --sp-32: 128px;
  /* radii */
  --r-sm: 12px; --r-md: 16px; --r-lg: 20px; --r-xl: 24px; --r-pill: 999px;
  /* shadows, motion, layout */
  --shadow-soft: 0 4px 24px -8px rgba(58,42,32,.12); --shadow-lift: 0 18px 48px -16px rgba(58,42,32,.22);
  --ease-calm: cubic-bezier(.22,1,.36,1); --dur-fast: 150ms; --dur-base: 300ms; --dur-calm: 600ms;
  --max-w: 1280px; --reading: 640px; --gutter: clamp(16px, 4vw, 32px);
  --section-pt: clamp(56px, 8vw, 96px); --section-pb: clamp(56px, 8vw, 96px);
}

/* ── Base ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--c2-beige-light); color: var(--c2-text); font-family: var(--font-sans); font-size: var(--fs-body); line-height: var(--lh-para); font-weight: 400; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, p, ul, ol, figure { margin: 0; }
ul[class], ol[class] { padding: 0; list-style: none; }
:focus-visible { outline: 3px solid var(--c2-accent); outline-offset: 3px; }
.kt-skip { position: absolute; left: var(--sp-4); top: -100px; background: var(--c2-wine); color: var(--c2-text-inverse); padding: var(--sp-2) var(--sp-4); border-radius: var(--r-pill); z-index: 100; }
.kt-skip:focus { top: var(--sp-4); }
.kt-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ── Layout ───────────────────────────────────────────────────── */
.kt-container { width: min(100% - 2 * var(--gutter), var(--max-w)); margin-inline: auto; }
.kt-section { padding-top: var(--section-pt); padding-bottom: var(--section-pb); }
.kt-section--blush { background: var(--c2-blush); }
.kt-section--peach { background: var(--c2-peach-light); }
.kt-section--beige { background: var(--c2-beige); }
.kt-section--white { background: var(--c2-beige-light); }
.kt-panel { background: var(--c2-peach); border-radius: var(--r-xl); padding: clamp(28px, 4vw, 64px) clamp(20px, 3.5vw, 64px); }
.kt-head { display: flex; flex-direction: column; gap: var(--sp-3); align-items: flex-start; max-width: 760px; margin-bottom: clamp(32px, 5vw, 56px); }
.kt-head--center { align-items: center; text-align: center; margin-inline: auto; }

/* ── Type ─────────────────────────────────────────────────────── */
.kt-eyebrow { font-size: var(--fs-eyebrow); font-weight: 600; letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--c2-wine); line-height: var(--lh-tight); } /* wine, not accent: 12px accent text is < 4.5:1 on every surface */
.kt-h1, .kt-h2, .kt-h3 { font-weight: 600; line-height: var(--lh-tight); letter-spacing: 0; text-wrap: balance; color: var(--c2-wine); }
.kt-h1 { font-size: var(--fs-h1); }
.kt-h2 { font-size: var(--fs-h2); }
.kt-h3 { font-size: var(--fs-h3); }
.kt-h1 em, .kt-h2 em { font-style: italic; color: var(--c2-accent); }
.kt-lede { font-size: var(--fs-lede); line-height: var(--lh-body); color: var(--c2-text-secondary); max-width: var(--reading); }
.kt-body { color: var(--c2-text-secondary); max-width: var(--reading); }
.kt-small { font-size: var(--fs-small); color: var(--c2-text-secondary); } /* secondary, not tertiary: tertiary is < 4.5:1 on light surfaces */

/* ── Buttons (pill, Barlow Medium, sentence case) ─────────────── */
.kt-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-3); font-weight: 500; font-size: var(--fs-body); line-height: var(--lh-tight); padding: 12px 20px; border-radius: var(--r-pill); border: 2px solid transparent; text-decoration: none; cursor: pointer; transition: background-color var(--dur-base) var(--ease-calm), color var(--dur-base) var(--ease-calm), border-color var(--dur-base) var(--ease-calm), transform var(--dur-fast) var(--ease-calm); }
.kt-btn:active { transform: scale(.97); }
.kt-btn--lg { font-size: 18px; padding: 14px 24px; }
.kt-btn--primary { background: var(--c2-accent); color: var(--c2-text-inverse); border-color: var(--c2-accent); }
.kt-btn--primary:hover, .kt-btn--primary:focus-visible { background: var(--c2-accent-press); border-color: var(--c2-accent-press); }
.kt-btn--wine { background: var(--c2-wine); color: var(--c2-text-inverse); border-color: var(--c2-wine); }
.kt-btn--wine:hover, .kt-btn--wine:focus-visible { background: var(--c2-wine-deep); border-color: var(--c2-wine-deep); }
.kt-btn--ghost { background: transparent; color: var(--c2-wine); border-color: currentColor; }
.kt-btn--ghost:hover, .kt-btn--ghost:focus-visible { background: var(--c2-wine); color: var(--c2-text-inverse); }
.kt-btn[disabled], .kt-btn[aria-disabled="true"] { opacity: .6; cursor: progress; }

/* ── Chips ────────────────────────────────────────────────────── */
.kt-chip-row { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1) var(--sp-4); background: var(--c2-peach); border-radius: var(--r-pill); padding: var(--sp-1) var(--sp-4); }
.kt-chip { display: inline-flex; align-items: center; gap: var(--sp-2); padding: 7px 0; font-size: var(--fs-eyebrow); font-weight: 500; line-height: var(--lh-tight); color: var(--c2-wine); white-space: nowrap; }
.kt-chip svg { width: 14px; height: 14px; flex: 0 0 auto; }

/* ── Cards ────────────────────────────────────────────────────── */
.kt-card { background: var(--c2-card-pink); border-radius: var(--r-md); padding: clamp(20px, 2.2vw, 32px); display: flex; flex-direction: column; gap: var(--sp-4); transition: transform var(--dur-base) var(--ease-calm), box-shadow var(--dur-base) var(--ease-calm); }
.kt-card--pink { background: var(--c2-card-pink); }
.kt-card--green { background: var(--c2-pastel-green); }
.kt-card--yellow { background: var(--c2-card-yellow); }
.kt-card--apricot { background: var(--c2-card-apricot); }
.kt-card--lavender { background: var(--c2-pastel-lavender); }
.kt-card--mint { background: var(--c2-card-mint); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .kt-card--lift:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
}

/* ── Scroll reveal (JS adds .is-visible; without JS everything is visible).
   Safety net: if script.js never runs (blocked, failed, not yet shipped) the 0s animation
   after a 2.5 s delay forces the element visible — content can never stay hidden. ── */
.kt-reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .js .kt-reveal { opacity: 0; transform: translateY(16px); transition: opacity var(--dur-calm) var(--ease-calm), transform var(--dur-calm) var(--ease-calm); animation: kt-reveal-safety 0s linear 2.5s forwards; }
  .js .kt-reveal.is-visible { opacity: 1; transform: none; animation: none; }
  @keyframes kt-reveal-safety { to { opacity: 1; transform: none; } }
}

/* ── Header ───────────────────────────────────────────────────── */
.kt-header { position: sticky; top: 0; z-index: 50; background: var(--c2-beige-light); border-bottom: 1px solid var(--line); }
.kt-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); min-height: 64px; }
.kt-header__logo { display: inline-flex; align-items: center; }
.kt-header__logo img { width: 88px; height: auto; }
.kt-header__cta { font-size: var(--fs-small); padding: 10px 16px; }

/* ── Hero ─────────────────────────────────────────────────────── */
.kt-hero { background-color: var(--c2-blush); background-image: var(--c2-hero-gradient-home); overflow: hidden; }
.kt-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: center; }
.kt-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-6); max-width: 600px; }
.kt-hero__art { aspect-ratio: 1226 / 1072; }
.kt-hero__art img { width: 100%; height: 100%; object-fit: contain; }
@media (prefers-reduced-motion: no-preference) {
  .kt-hero__art img { animation: kt-float 3.5s var(--ease-calm) infinite alternate; }
  @keyframes kt-float { from { transform: translateY(0); } to { transform: translateY(-8px); } }
}
@media (max-width: 899px) {
  .kt-hero__art { max-width: 560px; margin-inline: auto; } /* keeps the fold reachable on portrait tablets */
}
@media (min-width: 900px) {
  .kt-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
}

/* ── Footer ───────────────────────────────────────────────────── */
.kt-footer { background: var(--c2-wine-deep); color: var(--c2-text-inverse); padding-block: var(--sp-12); font-size: var(--fs-small); }
.kt-footer__grid { display: grid; gap: var(--sp-6); }
.kt-footer__logo img { width: 96px; height: auto; }
.kt-footer a { color: inherit; text-underline-offset: 3px; }
.kt-footer a:hover, .kt-footer a:focus-visible { color: var(--c2-rose-light); }
.kt-footer .kt-small { color: var(--c2-rose-light); } /* tertiary grey on wine-deep fails AA (3.2:1); rose-light passes */
.kt-footer__links { display: flex; flex-wrap: wrap; gap: var(--sp-4); }
.kt-footer__link-btn { background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; }
@media (min-width: 700px) { .kt-footer__grid { grid-template-columns: 1fr 1fr; align-items: start; } }

/* ── Anchor targets clear the sticky header (64px) ─────────────── */
.kt-section { scroll-margin-top: 80px; }

/* ── Steps ────────────────────────────────────────────────────── */
.kt-steps { display: grid; gap: var(--sp-6); }
.kt-step { display: grid; grid-template-columns: 48px 1fr; column-gap: var(--sp-4); row-gap: var(--sp-2); align-items: start; }
.kt-step .kt-h3 { grid-column: 2; }
.kt-step .kt-body { grid-column: 2; }
.kt-step__num { grid-row: 1 / span 2; width: 48px; height: 48px; border-radius: 50%; background: var(--c2-yellow); color: var(--c2-wine); font-weight: 600; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; rotate: 8deg; }
@media (min-width: 700px) { .kt-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-8); } }
@media (min-width: 1100px) { .kt-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } .kt-step { grid-template-columns: 1fr; } .kt-step .kt-h3, .kt-step .kt-body { grid-column: 1; } .kt-step__num { grid-row: auto; margin-bottom: var(--sp-2); } }
.kt-mini-cta { margin-top: var(--sp-8); }
.kt-get .kt-mini-cta { margin-top: 0; }

/* ── Personas ─────────────────────────────────────────────────── */
.kt-personas { display: grid; gap: var(--sp-6); }
.kt-persona { position: relative; }
.kt-persona__tag { align-self: flex-start; border: 1px solid var(--c2-wine); border-radius: var(--r-pill); padding: 8px 14px; font-weight: 500; font-size: var(--fs-body); line-height: var(--lh-tight); color: var(--c2-wine); }
.kt-persona__media { aspect-ratio: 4 / 3; min-height: 0; display: flex; align-items: center; justify-content: center; } /* min-height: 0 — as a flex item its content minimum would override the aspect ratio */
.kt-persona__media img { width: 100%; height: 100%; object-fit: contain; }
.kt-persona .kt-body { flex: 1 1 auto; }
.kt-persona .kt-btn { align-self: flex-start; }
.kt-persona.is-selected { outline: 3px solid var(--c2-wine); outline-offset: 4px; } /* wine so it differs from the accent focus ring */
@media (min-width: 700px) { .kt-personas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ── Split (copy + media) ─────────────────────────────────────── */
.kt-split { display: grid; gap: clamp(24px, 4vw, 64px); align-items: center; }
.kt-split__media img { width: 100%; border-radius: var(--r-xl); }
.kt-split__media--round img { aspect-ratio: 1; object-fit: cover; }
@media (min-width: 900px) {
  .kt-split { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
  .kt-split--reverse .kt-split__copy { order: 2; }
  .kt-split--reverse .kt-split__media { order: 1; }
}
.kt-get { display: grid; gap: var(--sp-8); }
.kt-get .kt-head { margin-bottom: 0; }
.kt-get__media img { width: min(100%, 960px); margin-inline: auto; }
.kt-list { display: grid; gap: var(--sp-6); }
@media (min-width: 700px) { .kt-list--cols { grid-template-columns: 1fr 1fr; column-gap: var(--sp-12); } }
.kt-list__item { display: grid; gap: var(--sp-2); padding-left: var(--sp-6); border-left: 3px solid var(--c2-accent); }
.kt-checklist { display: grid; gap: var(--sp-4); color: var(--c2-text-secondary); }
.kt-checklist li { position: relative; padding-left: 36px; }
.kt-checklist li::before { content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: var(--c2-accent); }
.kt-checklist li::after { content: ""; position: absolute; left: 8px; top: 7px; width: 5px; height: 10px; border-right: 2px solid var(--c2-text-inverse); border-bottom: 2px solid var(--c2-text-inverse); transform: rotate(45deg); }

/* ── Fit / not-fit (pro koho to je) ───────────────────────────── */
.kt-fit { display: grid; gap: var(--sp-6); align-items: start; }
.kt-fit .kt-h3 { color: var(--c2-wine); }
/* Audience strip: swipeable scroll-snap row that bleeds to the screen edges below 1100px,
   one calm row of five cards above it. */
.kt-fit__types { display: grid; grid-auto-flow: column; grid-auto-columns: min(300px, 78vw); gap: var(--sp-4); margin: 0 calc(-1 * var(--gutter)) var(--sp-8); padding: var(--sp-1) var(--gutter) var(--sp-2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.kt-fit__types::-webkit-scrollbar { display: none; }
.kt-fit__type { scroll-snap-align: start; padding: var(--sp-6); gap: var(--sp-3); }
.kt-fit__icon { width: 56px; height: 56px; border-radius: 50%; background: var(--c2-text-inverse); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.kt-fit__icon img { width: 34px; height: 34px; }
.kt-fit__type-title { font-weight: 600; font-size: var(--fs-lede); line-height: var(--lh-tight); color: var(--c2-wine); }
@media (min-width: 1100px) {
  .kt-fit__types { grid-auto-flow: row; grid-auto-columns: unset; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-inline: 0; padding-inline: 0; overflow-x: visible; scroll-snap-type: none; }
}
.kt-checklist--no li::before { background: var(--c2-rose); }
.kt-checklist--no li::after { width: 10px; height: 2px; border: 0; background: var(--c2-text-inverse); left: 6px; top: 12px; transform: none; } /* minus mark instead of the tick */
@media (min-width: 900px) { .kt-fit { grid-template-columns: 1fr 1fr; } }

/* ── About ────────────────────────────────────────────────────── */
.kt-about { display: grid; gap: var(--sp-4); max-width: 760px; }

/* ── FAQ ──────────────────────────────────────────────────────── */
.kt-faq { display: grid; gap: clamp(24px, 4vw, 64px); }
.kt-faq__intro { display: grid; gap: var(--sp-4); align-content: start; }
.kt-faq__email { font-weight: 500; color: var(--c2-wine); }
.kt-faq__list { display: flex; flex-direction: column; }
.kt-faq__item { border-bottom: 1px solid var(--c2-peach-deep); }
.kt-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); padding-block: var(--sp-4); cursor: pointer; list-style: none; font-weight: 600; font-size: var(--fs-lede); line-height: var(--lh-tight); color: var(--c2-wine); }
.kt-faq__item summary::-webkit-details-marker { display: none; }
.kt-faq__item summary::after { content: ""; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--c2-wine); background: linear-gradient(var(--c2-wine), var(--c2-wine)) center / 12px 2px no-repeat, linear-gradient(var(--c2-wine), var(--c2-wine)) center / 2px 12px no-repeat; }
@media (prefers-reduced-motion: no-preference) { .kt-faq__item summary::after { transition: transform var(--dur-base) var(--ease-calm); } }
.kt-faq__item[open] summary::after { transform: rotate(45deg); }
.kt-faq__answer { padding-bottom: var(--sp-6); color: var(--c2-text-secondary); max-width: var(--reading); }
@media (min-width: 900px) { .kt-faq { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); } }

/* ── Form ─────────────────────────────────────────────────────── */
.kt-form-wrap { display: grid; gap: var(--sp-8); }
@media (min-width: 1100px) { .kt-form-wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; } .kt-form-wrap .kt-head { position: sticky; top: 88px; } }
.kt-form { background: var(--c2-beige-light); border-radius: var(--r-xl); padding: clamp(20px, 3vw, 40px); display: grid; gap: var(--sp-6); box-shadow: var(--shadow-soft); }
.kt-field { display: grid; gap: var(--sp-2); }
.kt-field-row { display: grid; gap: var(--sp-6); }
@media (min-width: 700px) { .kt-field-row { grid-template-columns: 1fr 1fr; } }
.kt-label { font-weight: 500; color: var(--c2-wine); line-height: var(--lh-tight); }
.kt-label__opt { font-weight: 400; color: var(--c2-text-secondary); } /* tertiary is < 4.5:1 on the form card */
.kt-input { width: 100%; background: var(--c2-text-inverse); border: 1px solid var(--c2-beige-deep); border-radius: var(--r-sm); padding: 12px 14px; line-height: var(--lh-body); transition: border-color var(--dur-base) var(--ease-calm), box-shadow var(--dur-base) var(--ease-calm); }
.kt-input::placeholder { color: var(--c2-text-placeholder); }
.kt-input:focus { border-color: var(--c2-accent); } /* the global :focus-visible outline stays — never remove the focus indicator */
.kt-input[aria-invalid="true"] { border-color: var(--c2-error); }
.kt-select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--c2-wine) 50%), linear-gradient(135deg, var(--c2-wine) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 40px; }
.kt-textarea { resize: vertical; min-height: 140px; }
.kt-fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: var(--sp-2); }
.kt-radios { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.kt-radio { position: relative; }
.kt-radio input { position: absolute; opacity: 0; inset: 0; }
.kt-radio span { display: inline-flex; align-items: center; padding: 10px 16px; border-radius: var(--r-pill); border: 1px solid var(--c2-wine); color: var(--c2-wine); font-weight: 500; cursor: pointer; transition: background-color var(--dur-base) var(--ease-calm), color var(--dur-base) var(--ease-calm); }
.kt-radio input:checked + span { background: var(--c2-wine); color: var(--c2-text-inverse); }
.kt-radio input:focus-visible + span { outline: 3px solid var(--c2-accent); outline-offset: 3px; }
.kt-check { display: grid; grid-template-columns: 22px 1fr; gap: var(--sp-3); align-items: start; color: var(--c2-text-secondary); }
.kt-check input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--c2-accent); }
.kt-hint { font-size: var(--fs-small); color: var(--c2-text-secondary); }
.kt-error { font-size: var(--fs-small); color: var(--c2-error); }
.kt-error:empty { display: none; }
.kt-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.kt-form__status:empty { padding: 0; } /* stays rendered so the aria-live region announces reliably */
.kt-form__status { padding: var(--sp-3) var(--sp-4); border-radius: var(--r-sm); background: var(--c2-card-pink); color: var(--c2-error); font-weight: 500; }
.kt-form__actions { display: grid; gap: var(--sp-3); justify-items: start; }

/* ── Scroll reveal, JS-armed: once script.js observes an element it cancels the 2.5 s CSS safety net
   so below-the-fold content still fades in on scroll; without JS the safety net in Task 4's rule still fires. ── */
.js .kt-reveal.kt-reveal--armed { animation: none; }

/* ── Form status region: when empty it must stay in the accessibility tree (aria-live) but not
   occupy a grid row — absolute positioning keeps it rendered without the 24px gap. ── */
.kt-form { position: relative; }
.kt-form__status:empty { position: absolute; inset: 0 auto auto 0; }

/* ── Consent banner ───────────────────────────────────────────── */
.kt-consent { position: fixed; inset: auto 0 0 0; z-index: 90; padding: var(--sp-4); }
.kt-consent[hidden] { display: none; }
.kt-consent__box { width: min(100%, 720px); margin-inline: auto; background: var(--c2-text-inverse); border: 1px solid var(--c2-beige-deep); border-radius: var(--r-lg); box-shadow: var(--shadow-lift); padding: var(--sp-6); display: grid; gap: var(--sp-3); }
.kt-consent__title { font-weight: 600; color: var(--c2-wine); }
.kt-consent__desc { font-size: var(--fs-small); color: var(--c2-text-secondary); }
.kt-consent__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); justify-content: flex-end; }
body.kt-consent-open { padding-bottom: 200px; } /* keeps the form reachable while the fixed banner is visible */

/* ── Thank-you ────────────────────────────────────────────────── */
.kt-thanks__grid { display: grid; gap: clamp(24px, 4vw, 48px); align-items: center; }
.kt-thanks .kt-hero__art { aspect-ratio: 1782 / 390; }
.kt-thanks .kt-thanks__steps { display: grid; gap: var(--sp-3); padding-left: 1.2em; list-style: decimal; color: var(--c2-text-secondary); } /* (0,2,0) beats the ol[class] reset regardless of source order */
.kt-thanks__steps li::marker { color: var(--c2-accent); font-weight: 600; }
@media (min-width: 900px) { .kt-thanks__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/* ── Prose (legal pages) ──────────────────────────────────────── */
.kt-prose { max-width: 760px; display: grid; gap: var(--sp-4); color: var(--c2-text-secondary); }
.kt-prose .kt-h2, .kt-prose .kt-h3 { margin-top: var(--sp-4); }
.kt-prose ul { padding-left: 1.2em; display: grid; gap: var(--sp-2); }
.kt-prose code { font-family: ui-monospace, "Space Mono", Menlo, monospace; font-size: .9em; background: var(--c2-beige); padding: 0 4px; border-radius: 4px; }
.kt-prose [id] { scroll-margin-top: 80px; } /* in-prose anchor targets (#cookies, #prava) clear the sticky header */
