/* ============================================================
   Vitality Pathfinder — main.css
   Architektúra: ITCSS rétegek · Névadás: SMACSS · Egységek: clamp()
   fingerprint: 23c90705…
   ------------------------------------------------------------
   01 SETTINGS   — téma-változók
   02 GENERIC    — opinionated reset
   03 ELEMENTS   — nyers elemek
   04 OBJECTS    — l-* elrendezés
   05 COMPONENTS — m-* modulok + szekciók
   06 MODULE     — mobile-menu (slide-top) — beágyazott
   07 TRUMPS     — állapotok, reszponzív
   ============================================================ */


/* ==========================================================
   01 SETTINGS — theme-system
   ========================================================== */

:root,
:root[data-theme="day"] {
  --c-bg:            #ffffff;
  --c-surface:       #f2f4f7;
  --c-surface-deep:  #e6e9ef;
  --c-ink:           #14171d;
  --c-ink-soft:      #565d6b;
  --c-ink-faint:     #8b93a1;
  --c-line:          #d8dce4;

  --c-primary:       #2b3a67;
  --c-primary-deep:  #1c2748;
  --c-accent:        #d1552b;
  --c-accent-deep:   #a93f1c;
  --c-ok:            #1f6b4a;
  --c-bad:           #a02020;

  --c-shade:         rgba(20, 23, 29, 0.72);
  --c-veil:          rgba(20, 23, 29, 0.55);

  --font-head: "Oswald", "Roboto Condensed", "Archivo Narrow", "Arial Narrow", Impact, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, monospace;

  /* condensed-impact hierarchia, clamp egységekkel */
  --t-h1:   clamp(2.1rem, 1.35rem + 3.4vw, 4.15rem);
  --t-h2:   clamp(1.6rem, 1.15rem + 1.9vw, 2.6rem);
  --t-h3:   clamp(1.15rem, 1rem + 0.6vw, 1.45rem);
  --t-h4:   clamp(1rem, 0.94rem + 0.28vw, 1.15rem);
  --t-body: clamp(1rem, 0.96rem + 0.18vw, 1.075rem);
  --t-small: clamp(0.8rem, 0.77rem + 0.12vw, 0.875rem);

  /* tight spacing rhythm */
  --s-3xs: clamp(0.2rem, 0.18rem + 0.1vw, 0.28rem);
  --s-2xs: clamp(0.35rem, 0.32rem + 0.14vw, 0.45rem);
  --s-xs:  clamp(0.55rem, 0.5rem + 0.2vw, 0.7rem);
  --s-sm:  clamp(0.8rem, 0.72rem + 0.3vw, 1rem);
  --s-md:  clamp(1.1rem, 0.95rem + 0.5vw, 1.5rem);
  --s-lg:  clamp(1.6rem, 1.3rem + 1vw, 2.3rem);
  --s-xl:  clamp(2.2rem, 1.7rem + 1.9vw, 3.4rem);
  --s-2xl: clamp(3rem, 2.2rem + 2.9vw, 4.8rem);
  --s-3xl: clamp(4rem, 2.8rem + 4.4vw, 6.6rem);

  --radius:    clamp(6px, 0.35vw + 4px, 10px);
  --radius-lg: clamp(12px, 0.7vw + 8px, 18px);
  --step:      40px;

  --shell: 1220px;
  --head-h: clamp(60px, 4.4vw + 42px, 78px);

  --shadow-flat: 0 1px 0 var(--c-line);
  --shadow-lift: 0 4px 14px rgba(20, 23, 29, 0.07);
  --shadow-deep: 0 24px 64px rgba(0, 0, 0, 0.5), 0 4px 16px rgba(0, 0, 0, 0.3);
}

:root[data-theme="night"] {
  --c-bg:            #0f1116;
  --c-surface:       #161a22;
  --c-surface-deep:  #1e232d;
  --c-ink:           #eef1f5;
  --c-ink-soft:      #a8b0bd;
  --c-ink-faint:     #737b89;
  --c-line:          #2a303b;

  --c-primary:       #8fa4dd;
  --c-primary-deep:  #6b83c4;
  --c-accent:        #ec7a4e;
  --c-accent-deep:   #cf5f34;

  --c-shade:         rgba(0, 0, 0, 0.78);
  --c-veil:          rgba(0, 0, 0, 0.7);

  --shadow-flat: 0 1px 0 var(--c-line);
  --shadow-lift: 0 4px 14px rgba(0, 0, 0, 0.4);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="day"]) {
    --c-bg:           #0f1116;
    --c-surface:      #161a22;
    --c-surface-deep: #1e232d;
    --c-ink:          #eef1f5;
    --c-ink-soft:     #a8b0bd;
    --c-ink-faint:    #737b89;
    --c-line:         #2a303b;
    --c-primary:      #8fa4dd;
    --c-primary-deep: #6b83c4;
    --c-accent:       #ec7a4e;
    --c-accent-deep:  #cf5f34;
    --c-shade:        rgba(0, 0, 0, 0.78);
    --c-veil:         rgba(0, 0, 0, 0.7);
  }
}


/* ==========================================================
   02 GENERIC — opinionated reset
   ========================================================== */

*, *::before, *::after { box-sizing: border-box; }

* { margin: 0; padding: 0; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: auto;
}

body {
  min-height: 100vh;
  background: var(--c-bg);
  color: var(--c-ink);
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img, svg, video { display: block; max-width: 100%; height: auto; }

input, button, textarea, select { font: inherit; color: inherit; }

button { background: none; border: none; cursor: pointer; }

ul, ol { list-style: none; }

a { color: var(--c-accent); text-decoration: none; }
a:hover { text-decoration: underline; }

:focus-visible {
  outline: 3px solid var(--c-accent);
  outline-offset: 2px;
}


/* ==========================================================
   03 ELEMENTS — typography (condensed-impact)
   ========================================================== */

h1, h2, h3, h4 {
  font-family: var(--font-head);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -0.012em;
  text-transform: none;
}

h1 { font-size: var(--t-h1); letter-spacing: -0.026em; }
h2 { font-size: var(--t-h2); letter-spacing: -0.018em; }
h3 { font-size: var(--t-h3); }
h4 { font-size: var(--t-h4); }

p + p { margin-top: var(--s-sm); }

code {
  font-family: var(--font-mono);
  font-size: 0.9em;
  background: var(--c-surface-deep);
  padding: 0.1em 0.35em;
  border-radius: 4px;
}


/* ==========================================================
   04 OBJECTS — layout (flexbox-row-wrap)
   ========================================================== */

.l-page { display: flex; flex-direction: column; min-height: 100vh; }

.l-container {
  width: 100%;
  max-width: var(--shell);
  margin-inline: auto;
  padding-inline: var(--s-md);
}

.l-main { flex: 1 0 auto; padding-top: var(--head-h); }

.m-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--c-primary);
  color: #fff;
  padding: var(--s-xs) var(--s-sm);
  z-index: 2000;
}
.m-skip:focus { left: var(--s-sm); top: var(--s-sm); }


/* ---------- Header (navigation_type: top-fixed) ---------- */

.l-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1200;
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-line);
}

.l-header-inner { width: 100%; }

.l-header-bar {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-sm);
  min-height: var(--head-h);
}

.l-header-brand {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--s-xs);
  color: var(--c-ink);
  text-decoration: none;
}
.l-header-brand:hover { text-decoration: none; }

.l-header-mark { width: 34px; height: 34px; }

.l-header-wordmark { display: flex; flex-direction: column; }

.l-header-name {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(1.02rem, 0.9rem + 0.5vw, 1.25rem);
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--c-primary);
}

.l-header-slogan {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-ink-faint);
  line-height: 1.4;
}

.l-header-toggle span { background: var(--c-ink); }

.l-header-list { display: flex; flex-flow: row wrap; align-items: center; }

.l-header-link {
  font-family: var(--font-head);
  font-weight: 500;
  font-size: clamp(0.9rem, 0.86rem + 0.16vw, 0.98rem);
  letter-spacing: 0.02em;
  color: var(--c-ink-soft);
  border-bottom: 2px solid transparent;
}
.l-header-link:hover { color: var(--c-ink); text-decoration: none; }
.l-header-link.is-current { color: var(--c-primary); border-bottom-color: var(--c-accent); }

.l-header-item--split { margin-left: var(--s-sm); }

.l-header-link--quiet { color: var(--c-ink-faint); }

.l-header-link--cta {
  background: var(--c-accent);
  color: #fff;
  transform: skewX(-10deg);
  font-weight: 700;
  border-bottom: none;
}
.l-header-link--cta > span { display: inline-block; transform: skewX(10deg); }
.l-header-link--cta:hover { background: var(--c-accent-deep); color: #fff; }


/* ---------- Footer (footer_design: accordion-mobile) ---------- */

.l-footer {
  flex-shrink: 0;
  background: var(--c-primary-deep);
  color: #c8cee0;
  padding-block: var(--s-xl) var(--s-md);
  margin-top: var(--s-2xl);
}

.l-footer a { color: #eaf0ff; }

.l-footer-cols {
  display: flex;
  flex-flow: row wrap;
  gap: var(--s-lg);
}

.l-footer-col { flex: 1 1 180px; min-width: 0; }
.l-footer-col--brand { flex: 1.6 1 260px; }

.l-footer-brandline {
  display: flex;
  align-items: center;
  gap: var(--s-2xs);
  color: #fff;
  font-family: var(--font-head);
  font-size: 1.12rem;
}

.l-footer-tagline {
  margin-top: var(--s-2xs);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8f9ac0;
}

.l-footer-blurb { margin-top: var(--s-sm); font-size: var(--t-small); line-height: 1.65; }

.l-footer-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: var(--s-sm);
}

.l-footer-chev { display: none; }

.l-footer-list { display: flex; flex-direction: column; gap: var(--s-2xs); }
.l-footer-list li { font-size: var(--t-small); }

.l-footer-linkbtn {
  color: #eaf0ff;
  font-size: var(--t-small);
  text-align: left;
  text-decoration: underline;
}

.l-footer-company {
  margin-top: var(--s-xl);
  padding-top: var(--s-md);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.l-footer-legal { font-size: 0.8rem; color: #9aa3bd; line-height: 1.7; }

.l-footer-base {
  margin-top: var(--s-md);
  padding-top: var(--s-sm);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-flow: row wrap;
  gap: var(--s-xs) var(--s-md);
  justify-content: space-between;
}

.l-footer-copy,
.l-footer-fine { font-size: 0.78rem; color: #8f9ac0; }


/* ==========================================================
   05 COMPONENTS
   ========================================================== */

/* ---------- Szekciók alaptérköze ---------- */

.promo, .counters, .voices, .channels, .highlights,
.plans, .crew, .queries, .signal, .reach, .brief,
.steps, .pay, .journal, .entry, .portal, .ledger {
  padding-block: var(--s-2xl);
}

.rounded-step {
  border-radius: var(--step) var(--step) 0 0;
  margin-top: calc(var(--step) * -1);
  position: relative;
  background: var(--c-surface);
}

.sec-head { max-width: 720px; margin: 0 auto var(--s-lg); text-align: center; }
.sec-head--left { margin-inline: 0; text-align: left; }

.sec-head__kicker {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-accent);
  font-weight: 700;
  margin-bottom: var(--s-2xs);
}

.sec-head__title { color: var(--c-ink); }

.sec-head__lead { margin-top: var(--s-sm); color: var(--c-ink-soft); }


/* ---------- Gombok (button_style: skew-parallelogram) ---------- */

.m-btn {
  display: inline-block;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.03em;
  padding: var(--s-xs) var(--s-md);
  transform: skewX(-10deg);
  border: 2px solid transparent;
}
.m-btn > span { display: inline-block; transform: skewX(10deg); }
.m-btn:hover { text-decoration: none; }

.m-btn--primary { background: var(--c-accent); color: #fff; }
.m-btn--primary:hover { background: var(--c-accent-deep); color: #fff; }

.m-btn--ghost {
  background: transparent;
  color: var(--c-primary);
  border-color: var(--c-primary);
}
.m-btn--ghost:hover { background: var(--c-primary); color: #fff; }

:root[data-theme="night"] .m-btn--ghost:hover { color: var(--c-bg); }


/* ---------- Hero (hero_design: search-hero) ---------- */

.showcase { text-align: center; padding-block: var(--s-3xl) var(--s-xl); }

.showcase__inner { max-width: 880px; margin-inline: auto; }

.showcase__eyebrow {
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--c-ink-faint);
  margin-bottom: var(--s-sm);
}

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

.showcase__lead {
  margin-top: var(--s-md);
  font-size: clamp(1.02rem, 0.95rem + 0.4vw, 1.2rem);
  color: var(--c-ink-soft);
  max-width: 640px;
  margin-inline: auto;
}

.m-search {
  display: flex;
  flex-flow: row nowrap;
  max-width: 620px;
  margin: var(--s-lg) auto 0;
}

.m-search__label {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.m-search__input {
  flex: 1 1 auto;
  min-width: 0;
  padding: var(--s-sm) var(--s-md);
  border: 1px solid var(--c-line);
  border-right: none;
  border-radius: 999px 0 0 999px;
  background: var(--c-bg);
}

.m-search__btn {
  flex: 0 0 auto;
  border-radius: 0 999px 999px 0;
  padding-inline: var(--s-md);
  background: var(--c-primary);
  color: #fff;
  font-family: var(--font-head);
  font-weight: 700;
}
.m-search__btn:hover { background: var(--c-primary-deep); }

:root[data-theme="night"] .m-search__btn { color: var(--c-bg); }

.showcase__tags {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: var(--s-2xs) var(--s-xs);
  margin-top: var(--s-md);
}
.showcase__tags a {
  display: inline-block;
  border: 1px solid var(--c-line);
  border-radius: 999px;
  padding: var(--s-3xs) var(--s-sm);
  font-size: var(--t-small);
  color: var(--c-ink-soft);
}
.showcase__tags a:hover { border-color: var(--c-accent); color: var(--c-accent); text-decoration: none; }

.showcase__trust {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: var(--s-xs) var(--s-lg);
  margin-top: var(--s-lg);
  font-size: var(--t-small);
  color: var(--c-ink-faint);
}
.showcase__trust li::before { content: "— "; color: var(--c-accent); }


/* ---------- Promó sáv (video_layout: tv-channel) ---------- */

.promo { padding-top: 0; }

.promo__frame {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: min(580px, 55vh);
  display: flex;
  align-items: flex-end;
  cursor: pointer;
}

.promo__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.promo__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
}

.promo__body {
  position: relative;
  z-index: 1;
  padding: var(--s-lg);
  max-width: 640px;
  color: #fff;
}

.promo__label {
  display: inline-block;
  background: var(--c-accent);
  color: #fff;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  padding: var(--s-3xs) var(--s-xs);
  margin-bottom: var(--s-xs);
}

.promo__title { color: #fff; font-size: var(--t-h1); }

.promo__meta { margin-top: var(--s-2xs); font-size: var(--t-small); color: #cdd2da; }

.promo__synopsis { margin-top: var(--s-sm); color: #e2e5ea; max-width: 520px; }

.promo__body .m-btn { margin-top: var(--s-md); }

.promo__count {
  position: absolute;
  top: var(--s-sm);
  right: var(--s-sm);
  z-index: 1;
  background: rgba(0, 0, 0, 0.62);
  color: #fff;
  font-size: var(--t-small);
  padding: var(--s-3xs) var(--s-xs);
  border-radius: var(--radius);
}


/* ---------- Metrikák ---------- */

.counters__row {
  display: flex;
  flex-flow: row wrap;
  gap: var(--s-md);
}

.m-stat {
  flex: 1 1 180px;
  text-align: center;
  padding: var(--s-md) var(--s-sm);
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius);
}

.m-stat__num {
  display: block;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.6rem);
  letter-spacing: -0.03em;
  color: var(--c-primary);
}

.m-stat__label {
  display: block;
  margin-top: var(--s-3xs);
  font-size: var(--t-small);
  color: var(--c-ink-faint);
  letter-spacing: 0.04em;
}


/* ---------- Vélemények ---------- */

.voices__grid { display: flex; flex-flow: row wrap; gap: var(--s-md); }

.m-quote {
  flex: 1 1 300px;
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  padding: var(--s-lg) var(--s-md);
  box-shadow: var(--shadow-lift);
}

.m-quote blockquote {
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--c-ink);
}

.m-quote__by { margin-top: var(--s-md); font-size: var(--t-small); }
.m-quote__by strong { display: block; color: var(--c-ink); font-weight: 700; }
.m-quote__by span { color: var(--c-ink-faint); }


/* ---------- Csatornák / videósorok ---------- */

.m-tabs {
  display: flex;
  flex-flow: row wrap;
  gap: var(--s-2xs);
  justify-content: center;
  margin-bottom: var(--s-lg);
}

.m-tab {
  border: 1px solid var(--c-line);
  border-radius: 999px;
  padding: var(--s-2xs) var(--s-md);
  font-family: var(--font-head);
  font-weight: 500;
  font-size: 0.92rem;
  color: var(--c-ink-soft);
  background: var(--c-bg);
}
.m-tab:hover { border-color: var(--c-primary); color: var(--c-primary); }
.m-tab.is-active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }

:root[data-theme="night"] .m-tab.is-active { color: var(--c-bg); }

.channels__row + .channels__row { margin-top: var(--s-xl); }

.channels__rowhead {
  display: flex;
  flex-flow: row wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-xs);
  margin-bottom: var(--s-md);
}

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

.channels__rowsub { font-size: var(--t-small); color: var(--c-ink-faint); margin-top: var(--s-3xs); }

.channels__all { font-size: var(--t-small); color: var(--c-accent); font-weight: 600; }

.channels__grid { display: flex; flex-flow: row wrap; gap: var(--s-md); }

.channels__empty {
  text-align: center;
  color: var(--c-ink-faint);
  padding: var(--s-lg) 0;
}

.m-tile {
  flex: 1 1 calc(25% - var(--s-md));
  min-width: 220px;
  cursor: pointer;
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius);
  overflow: hidden;
}
.m-tile:hover { border-color: var(--c-primary); }

.m-tile__thumb { position: relative; aspect-ratio: 16 / 9; background: var(--c-surface-deep); }

.m-tile__thumb .thumbnail-img { width: 100%; height: 100%; object-fit: cover; }

.m-tile__dur {
  position: absolute;
  right: var(--s-2xs);
  bottom: var(--s-2xs);
  background: rgba(0, 0, 0, 0.78);
  color: #fff;
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
}

.m-tile__lock {
  position: absolute;
  right: var(--s-2xs);
  top: var(--s-2xs);
  font-size: 0.85rem;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
}

.m-badge {
  position: absolute;
  left: var(--s-2xs);
  top: var(--s-2xs);
  background: var(--c-accent);
  color: #fff;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.15rem 0.4rem;
  border-radius: 3px;
}

.m-tile__meta { padding: var(--s-sm); }

.m-tile__ep {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-ink-faint);
  font-variant-numeric: tabular-nums;
}

.m-tile__title { margin-top: var(--s-3xs); font-size: 1rem; color: var(--c-ink); line-height: 1.25; }


/* ---------- Kártyák (card_style: icon-top-center) ---------- */

.highlights__grid,
.pay__grid,
.portal__grid {
  display: flex;
  flex-flow: row wrap;
  gap: var(--s-md);
}

.m-card {
  flex: 1 1 300px;
  text-align: center;
  padding: var(--s-lg) var(--s-md);
  border-radius: 14px;
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  box-shadow: var(--shadow-lift);
}

.m-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto var(--s-sm);
  background: var(--c-surface-deep);
  color: var(--c-primary);
  font-size: 1.5rem;
  line-height: 1;
}

.m-card__title { color: var(--c-ink); }

.m-card__text { margin-top: var(--s-xs); font-size: var(--t-small); color: var(--c-ink-soft); line-height: 1.65; }

.m-card .m-btn { margin-top: var(--s-md); }


/* ---------- Csomagok ---------- */

.plans__grid { display: flex; flex-flow: row wrap; gap: var(--s-md); align-items: stretch; }

.m-plan {
  flex: 1 1 240px;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--s-lg) var(--s-md);
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
}

.m-plan--featured { border-color: var(--c-accent); border-width: 2px; }

.m-plan__flag {
  position: absolute;
  top: calc(var(--s-xs) * -1);
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-accent);
  color: #fff;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.2rem 0.6rem;
  border-radius: 3px;
  white-space: nowrap;
}

.m-plan__name { color: var(--c-ink); }

.m-plan__price {
  margin-top: var(--s-2xs);
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2.05rem);
  color: var(--c-primary);
  letter-spacing: -0.02em;
}
.m-plan__price span { font-size: 0.85rem; font-weight: 400; color: var(--c-ink-faint); letter-spacing: 0; }

.m-plan__list { margin: var(--s-md) 0; flex: 1 1 auto; display: flex; flex-direction: column; gap: var(--s-2xs); }
.m-plan__list li { font-size: var(--t-small); color: var(--c-ink-soft); padding-left: 1.1em; position: relative; }
.m-plan__list li::before { content: "✓"; position: absolute; left: 0; color: var(--c-accent); font-weight: 700; }

.m-plan .m-btn { align-self: flex-start; }

.plans__note {
  margin-top: var(--s-lg);
  font-size: var(--t-small);
  color: var(--c-ink-faint);
  text-align: center;
  max-width: 760px;
  margin-inline: auto;
}


/* ---------- Lemondás lépései ---------- */

.steps__list { display: flex; flex-flow: row wrap; gap: var(--s-md); }

.m-step {
  flex: 1 1 220px;
  display: flex;
  gap: var(--s-sm);
  align-items: flex-start;
  padding: var(--s-md);
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius);
}

.m-step__num {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--c-primary);
  color: #fff;
  font-family: var(--font-head);
  font-weight: 700;
}

.m-step p { font-size: var(--t-small); color: var(--c-ink-soft); }

.steps__note {
  margin-top: var(--s-md);
  text-align: center;
  font-size: var(--t-small);
  color: var(--c-ink-faint);
}


/* ---------- Szerkesztőség ---------- */

.crew__grid { display: flex; flex-flow: row wrap; gap: var(--s-lg); }

.m-person {
  flex: 1 1 260px;
  text-align: center;
}

.m-person__photo {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--radius-lg);
  background: var(--c-surface-deep);
}

.m-person__name { margin-top: var(--s-sm); color: var(--c-ink); }

.m-person__role {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-top: var(--s-3xs);
}

.m-person__bio { margin-top: var(--s-xs); font-size: var(--t-small); color: var(--c-ink-soft); }


/* ---------- GYIK (faq_design: inline-expand) ---------- */

.faq-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 1.25rem;
  justify-content: center;
}

.faq-pills button {
  border: 1px solid var(--c-line);
  border-radius: 999px;
  padding: 0.5rem 1rem;
  background: var(--c-bg);
  cursor: pointer;
  font-size: var(--t-small);
  color: var(--c-ink-soft);
  text-align: left;
}
.faq-pills button:hover { border-color: var(--c-primary); color: var(--c-primary); }
.faq-pills button.active { background: var(--c-accent); color: #fff; border-color: transparent; }

.faq-panel {
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: 12px;
  padding: 1.5rem;
  max-width: 860px;
  margin-inline: auto;
}

.faq-panel__q { color: var(--c-ink); font-size: var(--t-h3); }

.faq-panel__a { margin-top: var(--s-xs); color: var(--c-ink-soft); }


/* ---------- Lead sáv ---------- */

.signal__box {
  text-align: center;
  max-width: 720px;
  margin-inline: auto;
  padding: var(--s-xl) var(--s-md);
  background: var(--c-primary);
  border-radius: var(--radius-lg);
  color: #fff;
}

.signal__title { color: #fff; }

.signal__lead { margin-top: var(--s-sm); color: #ccd3e8; }

.signal__box .m-btn { margin-top: var(--s-md); }

.signal__fine { margin-top: var(--s-sm); font-size: var(--t-small); color: #a7b1cd; }
.signal__fine a, .signal__box .m-note a { color: #fff; }

.signal__box .m-note { color: #a7b1cd; margin-top: var(--s-md); }

:root[data-theme="night"] .signal__box { color: var(--c-bg); }
:root[data-theme="night"] .signal__title { color: var(--c-bg); }


/* ---------- Elérhetőség ---------- */

.reach__grid { display: flex; flex-flow: row wrap; gap: var(--s-xl); }

.reach__col { flex: 1 1 340px; min-width: 0; }

.reach__col--action {
  align-self: center;
  padding: var(--s-lg);
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
}

.reach__h2 { color: var(--c-ink); margin-bottom: var(--s-md); }

.reach__text { color: var(--c-ink-soft); margin-bottom: var(--s-md); }

.reach__actionlead { color: var(--c-ink-soft); margin-bottom: var(--s-md); }

.reach__list { display: flex; flex-direction: column; gap: var(--s-xs); }

.reach__list li {
  display: flex;
  flex-flow: row wrap;
  gap: var(--s-2xs) var(--s-sm);
  font-size: var(--t-small);
  color: var(--c-ink);
  padding-bottom: var(--s-xs);
  border-bottom: 1px solid var(--c-line);
}

.reach__list span {
  flex: 0 0 140px;
  color: var(--c-ink-faint);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.7rem;
  padding-top: 0.15em;
}


/* ---------- Jogi megjegyzés (diszkrét) ---------- */

.m-note { margin-top: var(--s-md); font-size: 0.78rem; color: var(--c-ink-faint); }


/* ---------- Belső oldalfej ---------- */

.lead-in { padding-block: var(--s-2xl) var(--s-xl); text-align: center; }

.lead-in__inner { max-width: 800px; margin-inline: auto; }

.lead-in__kicker {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-accent);
  font-weight: 700;
  margin-bottom: var(--s-2xs);
}

.lead-in__title { color: var(--c-ink); }

.lead-in__lead { margin-top: var(--s-md); color: var(--c-ink-soft); }


/* ---------- Rólunk ---------- */

.brief__grid { display: flex; flex-flow: row wrap; gap: var(--s-xl); align-items: flex-start; }

.brief__media { flex: 1 1 320px; }
.brief__media img { width: 100%; border-radius: var(--radius-lg); object-fit: cover; }

.brief__body { flex: 1.4 1 380px; }

.brief__title { color: var(--c-ink); margin-top: var(--s-lg); margin-bottom: var(--s-sm); }
.brief__body > .brief__title:first-child { margin-top: 0; }

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

.brief__list { margin-top: var(--s-sm); display: flex; flex-direction: column; gap: var(--s-xs); }
.brief__list li { color: var(--c-ink-soft); padding-left: 1.1em; position: relative; font-size: var(--t-small); }
.brief__list li::before { content: "▸"; position: absolute; left: 0; color: var(--c-accent); }
.brief__list strong { color: var(--c-ink); }


/* ---------- Blog lista ---------- */

.journal__grid { display: flex; flex-flow: row wrap; gap: var(--s-md); }

.m-post {
  flex: 1 1 300px;
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.m-post:hover { border-color: var(--c-primary); }

.m-post__link { display: block; color: inherit; }
.m-post__link:hover { text-decoration: none; }

.m-post__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--c-surface-deep); }

.m-post__body { padding: var(--s-md); }

.m-post__meta {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--s-2xs) var(--s-xs);
  font-size: 0.74rem;
  color: var(--c-ink-faint);
}

.m-post__tag {
  background: var(--c-surface-deep);
  color: var(--c-primary);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.64rem;
  padding: 0.15rem 0.45rem;
  border-radius: 3px;
}

.m-post__title { margin-top: var(--s-xs); color: var(--c-ink); font-size: var(--t-h3); }

.m-post__excerpt { margin-top: var(--s-xs); font-size: var(--t-small); color: var(--c-ink-soft); }

.m-post__more { display: inline-block; margin-top: var(--s-sm); font-size: var(--t-small); font-weight: 700; color: var(--c-accent); }


/* ---------- Blog bejegyzés ---------- */

.entry__head { max-width: 780px; margin-inline: auto; text-align: center; }

.entry__meta {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: var(--s-xs);
  font-size: 0.76rem;
  color: var(--c-ink-faint);
}

.entry__title { margin-top: var(--s-sm); color: var(--c-ink); }

.entry__lead { margin-top: var(--s-md); color: var(--c-ink-soft); font-size: 1.08rem; }

.entry__hero {
  width: 100%;
  max-width: 960px;
  margin: var(--s-lg) auto 0;
  border-radius: var(--radius-lg);
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.entry__body { max-width: 720px; margin: var(--s-xl) auto 0; }

.entry__body h2 { margin-top: var(--s-lg); margin-bottom: var(--s-sm); color: var(--c-ink); }

.entry__body p { color: var(--c-ink-soft); line-height: 1.75; }

.entry__body strong { color: var(--c-ink); }

.entry__close {
  margin-top: var(--s-lg);
  padding-top: var(--s-md);
  border-top: 1px solid var(--c-line);
  font-style: italic;
}

.entry__foot { max-width: 720px; margin: var(--s-lg) auto 0; }

.entry__back { font-weight: 700; font-size: var(--t-small); }


/* ---------- Auth / fiók ---------- */

.portal__box {
  max-width: 480px;
  margin-inline: auto;
  padding: var(--s-xl) var(--s-lg);
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lift);
}

.portal__box--wide { max-width: 920px; }

.portal__kicker {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-accent);
  font-weight: 700;
}

.portal__title { margin-top: var(--s-2xs); color: var(--c-ink); }

.portal__lead { margin-top: var(--s-sm); color: var(--c-ink-soft); font-size: var(--t-small); }

.portal__grid { margin-top: var(--s-lg); }

.portal__alt { margin-top: var(--s-md); font-size: var(--t-small); color: var(--c-ink-faint); }


/* ---------- Jogi oldalak ---------- */

.ledger__inner { max-width: 780px; margin-inline: auto; }

.ledger__inner--plain { max-width: 640px; }

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

.ledger__updated { margin-top: var(--s-2xs); font-size: var(--t-small); color: var(--c-ink-faint); }

.ledger__inner h2 { margin-top: var(--s-lg); margin-bottom: var(--s-xs); color: var(--c-ink); font-size: var(--t-h3); }
.ledger__inner h3 { margin-top: var(--s-md); margin-bottom: var(--s-2xs); color: var(--c-ink); font-size: var(--t-h4); }

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

.ledger__inner ul { margin-top: var(--s-xs); display: flex; flex-direction: column; gap: var(--s-2xs); }
.ledger__inner li { color: var(--c-ink-soft); padding-left: 1.1em; position: relative; font-size: var(--t-small); }
.ledger__inner li::before { content: "—"; position: absolute; left: 0; color: var(--c-ink-faint); }
.ledger__inner strong { color: var(--c-ink); }

.ledger__inner--plain p { font-size: 1.05rem; line-height: 1.8; }

.ledger__contact { margin-top: var(--s-lg); padding-top: var(--s-md); border-top: 1px solid var(--c-line); font-size: var(--t-small); }


/* ---------- Űrlapok ---------- */

.m-form { margin-top: var(--s-md); display: flex; flex-direction: column; gap: var(--s-md); }

.m-form__trap { position: absolute; left: -9999px; opacity: 0; }

.m-field { display: flex; flex-direction: column; gap: var(--s-3xs); }

.m-field__label { font-size: var(--t-small); font-weight: 600; color: var(--c-ink); }

.m-field__opt { font-weight: 400; color: var(--c-ink-faint); }

.m-field__input {
  padding: var(--s-xs) var(--s-sm);
  border: 1px solid var(--c-line);
  border-radius: var(--radius);
  background: var(--c-bg);
  color: var(--c-ink);
}
.m-field__input:focus { border-color: var(--c-primary); }

.m-field__input--area { resize: vertical; min-height: 120px; }

.m-field__hint { font-size: 0.74rem; color: var(--c-ink-faint); }

.m-field--check { flex-direction: row; align-items: flex-start; gap: var(--s-xs); }
.m-field--check input { margin-top: 0.3em; flex: 0 0 auto; }
.m-field--check label { font-size: var(--t-small); color: var(--c-ink-soft); }

.m-form__submit { align-self: flex-start; }

.m-alert {
  margin-top: var(--s-md);
  padding: var(--s-sm) var(--s-md);
  border-radius: var(--radius);
  font-size: var(--t-small);
  border-left: 4px solid;
}
.m-alert--ok  { background: rgba(31, 107, 74, 0.09);  border-color: var(--c-ok);  color: var(--c-ok); }
.m-alert--bad { background: rgba(160, 32, 32, 0.09); border-color: var(--c-bad); color: var(--c-bad); }
.m-alert a { color: inherit; }


/* ---------- Lead modális (cta_logic + form_placement: modal-popup) ---------- */

.m-modal {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  padding: var(--s-md);
}
.m-modal[hidden] { display: none; }

.m-modal__backdrop { position: absolute; inset: 0; background: var(--c-veil); }

.m-modal__box {
  position: relative;
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  background: var(--c-bg);
  border-radius: var(--radius-lg);
  padding: var(--s-xl) var(--s-lg);
  box-shadow: var(--shadow-deep);
}

.m-modal__x {
  position: absolute;
  top: var(--s-xs);
  right: var(--s-sm);
  font-size: 1.9rem;
  line-height: 1;
  color: var(--c-ink-faint);
}
.m-modal__x:hover { color: var(--c-ink); }

.m-modal__title { color: var(--c-ink); }

.m-modal__lead { margin-top: var(--s-xs); font-size: var(--t-small); color: var(--c-ink-soft); }


/* ---------- Videó lejátszó modális (video_player_modal: minimal-card) ---------- */

.video-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: var(--s-md);
}

.video-modal-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.65); }

.video-modal-player {
  position: relative;
  width: 100%;
  max-width: 800px;
  background: #111 center / cover no-repeat;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0,0,0,0.5), 0 4px 16px rgba(0,0,0,0.3);
  animation: vp-rise 240ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

@keyframes vp-rise {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

.video-modal-stage {
  position: relative;
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  border-radius: 12px 12px 0 0;
  background: inherit;
}

.video-modal-play-btn {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--c-primary, #1a73e8);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  padding-left: 4px;
}
.video-modal-play-btn:hover { background: var(--c-primary-deep, #1558b0); }

.video-modal-title {
  position: absolute;
  left: 16px;
  top: 14px;
  color: #fff;
  font-family: var(--font-head);
  font-size: 1.05rem;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
  max-width: 70%;
}

.video-modal-controls {
  height: 48px;
  background: #1a1a1a;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 0 0 12px 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding-inline: 14px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.video-modal-track {
  flex: 1 1 auto;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.15);
  position: relative;
}
.video-modal-track::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  background: var(--c-primary, #1a73e8);
  border-radius: 2px;
}

.video-modal-close {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #333;
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  font-size: 0.95rem;
}
.video-modal-close:hover { background: #555; }


/* ---------- Cookie consent ---------- */

.m-cc {
  position: fixed;
  left: var(--s-sm);
  right: var(--s-sm);
  bottom: var(--s-sm);
  z-index: 1500;
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-deep);
  max-width: 980px;
  margin-inline: auto;
  padding: var(--s-md);
}
.m-cc[hidden] { display: none; }

.m-cc__inner { display: flex; flex-flow: row wrap; align-items: center; gap: var(--s-md); }

.m-cc__text { flex: 1 1 380px; }

.m-cc__title { font-size: var(--t-h4); color: var(--c-ink); }

.m-cc__text p { margin-top: var(--s-3xs); font-size: var(--t-small); color: var(--c-ink-soft); }

.m-cc__actions { flex: 0 1 auto; display: flex; flex-flow: row wrap; gap: var(--s-2xs); }

.m-cc__btn {
  border: 1px solid var(--c-primary);
  background: var(--c-bg);
  color: var(--c-primary);
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 0.9rem;
  padding: var(--s-xs) var(--s-md);
  border-radius: var(--radius);
}
.m-cc__btn:hover { background: var(--c-primary); color: #fff; }

.m-cc__btn--link { border-color: transparent; color: var(--c-ink-faint); text-decoration: underline; }
.m-cc__btn--link:hover { background: transparent; color: var(--c-ink); }

.m-cc__panel {
  margin-top: var(--s-md);
  padding-top: var(--s-md);
  border-top: 1px solid var(--c-line);
  display: flex;
  flex-flow: row wrap;
  gap: var(--s-sm);
}
.m-cc__panel[hidden] { display: none; }

.m-cc__group {
  flex: 1 1 200px;
  border: 1px solid var(--c-line);
  border-radius: var(--radius);
  padding: var(--s-sm);
  position: relative;
}
.m-cc__group legend { font-size: 0.76rem; font-weight: 700; color: var(--c-ink); padding-inline: var(--s-3xs); }
.m-cc__group p { font-size: 0.74rem; color: var(--c-ink-faint); margin-top: var(--s-3xs); }
.m-cc__group input { margin-top: var(--s-xs); }

.m-cc__panel .m-cc__btn { flex: 1 1 100%; }


/* ==========================================================
   06 MODULE — mobile-menu: slide-top (funkcionális CSS, változatlanul)
   ========================================================== */

[data-mm-header]{--mm-bg:#ffffff;--mm-text:#333333;--mm-primary:#2563eb;--mm-overlay-bg:rgba(0,0,0,0.5);--mm-transition:0.3s ease}[data-mm-header]{position:relative}[data-mm-toggle]{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}[data-mm-toggle] span{display:block;width:24px;height:2px;background:var(--mm-text);transition:var(--mm-transition)}[data-mm-menu]{position:fixed;top:0;left:0;width:100%;background:var(--mm-bg);transform:translateY(-100%);transition:transform var(--mm-transition);z-index:1100;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:60px 24px 24px;box-shadow:0 4px 20px rgba(0,0,0,0.1)}[data-mm-menu].mm-open{transform:translateY(0)}[data-mm-menu] ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}[data-mm-menu] ul li a{display:block;padding:14px 0;color:var(--mm-text);text-decoration:none;font-size:16px;border-bottom:1px solid rgba(0,0,0,0.08);transition:color var(--mm-transition)}[data-mm-menu] ul li a:hover{color:var(--mm-primary)}[data-mm-close]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--mm-text);padding:4px 8px}[data-mm-overlay]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--mm-overlay-bg);opacity:0;visibility:hidden;transition:opacity var(--mm-transition),visibility var(--mm-transition);z-index:1050}[data-mm-overlay].mm-visible{opacity:1;visibility:visible}@media(min-width:768px){[data-mm-toggle]{display:none!important}[data-mm-menu]{position:static!important;width:auto!important;height:auto!important;background:transparent!important;transform:none!important;padding:0!important;overflow:visible!important;flex-direction:row!important;box-shadow:none!important}[data-mm-menu] ul{flex-direction:row;gap:0;align-items:center}[data-mm-menu] ul li a{padding:8px 16px;border-bottom:none;font-size:inherit}[data-mm-close]{display:none!important}[data-mm-overlay]{display:none!important}}@media(prefers-reduced-motion:reduce){[data-mm-menu],[data-mm-overlay],[data-mm-toggle] span{transition:none!important}}

/* A modul színváltozóinak illesztése az oldal palettájához */
[data-mm-header] {
  --mm-bg: var(--c-bg);
  --mm-text: var(--c-ink-soft);
  --mm-primary: var(--c-accent);
  --mm-overlay-bg: var(--c-veil);
}


/* ==========================================================
   07 TRUMPS — állapotok és reszponzív viselkedés
   ========================================================== */

.is-hidden { display: none !important; }

/* mobile_behavior: fullscreen-mobile */
@media (max-width: 767px) {
  [data-mm-menu] { height: 100vh; height: 100dvh; justify-content: center; }
  [data-mm-menu] ul li a { font-size: 1.15rem; padding: 16px 0; }

  .l-header-item--split { margin-left: 0; }
  .l-header-link--cta { transform: none; text-align: center; }
  .l-header-link--cta > span { transform: none; }
  .l-header-slogan { display: none; }

  .m-tile { flex: 1 1 100%; }
  .m-search { flex-flow: row nowrap; }
  .m-search__input { font-size: 16px; }

  .promo__frame { min-height: 420px; }
  .promo__count { display: none; }

  .reach__list li { flex-direction: column; }
  .reach__list span { flex: 1 1 auto; }

  .video-modal-close { top: 8px; right: 8px; }

  .l-footer-chev {
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
  }
  .l-footer-col[data-acc] .l-footer-title { cursor: pointer; margin-bottom: 0; padding-block: var(--s-xs); }
  .l-footer-col[data-acc] .l-footer-list { display: none; padding-top: var(--s-xs); }
  .l-footer-col[data-acc].is-open .l-footer-list { display: flex; }
  .l-footer-col[data-acc].is-open .l-footer-chev { transform: rotate(-135deg); }
  .l-footer-col[data-acc] + .l-footer-col[data-acc] { border-top: 1px solid rgba(255,255,255,0.1); }

  .m-cc__actions { flex: 1 1 100%; }
  .m-cc__btn { flex: 1 1 100%; text-align: center; }
}

@media (min-width: 768px) {
  .l-header-list { gap: var(--s-3xs); flex-wrap: nowrap; }
  .l-header-link { white-space: nowrap; font-size: 0.9rem; }
  .m-tile { flex: 1 1 calc(50% - var(--s-md)); }
}

@media (min-width: 1024px) {
  .m-tile { flex: 1 1 calc(25% - var(--s-md)); max-width: calc(25% - var(--s-md)); }
  .highlights__grid .m-card,
  .pay__grid .m-card { flex: 1 1 calc(33.333% - var(--s-md)); max-width: calc(33.333% - var(--s-md)); }
}

.m-form__done {
  padding: var(--s-sm) 0;
  font-weight: 600;
  color: var(--c-primary);
}

@media print {
  .l-header, .l-footer, .m-cc, .m-modal, .signal { display: none !important; }
}
