/* Wenova Academy v2 (A irány: "Éjszakai stúdió"). Design: docs/design/claude-design/, WEN-476/478.
   Tokenek a vászonról. A régi style.css a még nem redesignolt oldalakon marad. */

@font-face { font-family: 'Geist'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/geist-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/geist-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/fraunces-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Fraunces'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/fraunces-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/jetbrains-mono-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/jetbrains-mono-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --bg: #07081a; --bg-2: #0a0c24; --surface: #0e1030; --surface-2: #0b0d28; --ink-2: #1b1f4a;
  --text: #eef1fa; --text-2: #d6dbee; --muted: #b4bcd6; --faint: #9aa3c0;
  --accent: #ff7a2f; --accent-ink: #07081a; --accent-soft: rgba(255,122,47,0.14); --accent-line: rgba(255,122,47,0.35); --accent-text: #ffb088;
  --hl: #a5b4fc; --hl-2: #c7d2fe; --hl-soft: rgba(165,180,252,0.12); --hl-line: rgba(165,180,252,0.25);
  --ok: #86efac; --ok-soft: rgba(134,239,172,0.14); --ok-line: rgba(134,239,172,0.35);
  --bad: #fca5a5; --bad-soft: rgba(248,113,113,0.14); --bad-line: rgba(248,113,113,0.45);
  --line: rgba(255,255,255,0.08); --line-2: rgba(255,255,255,0.16); --line-3: rgba(255,255,255,0.22);
  --grad: linear-gradient(90deg, #4f8cf7, #8b5cf6);
  --r-sm: 10px; --r: 14px; --r-lg: 20px; --r-xl: 24px; --pill: 999px;
  --wrap: 1200px; --gutter: 120px;
  --f-sans: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-serif: 'Fraunces', Georgia, serif;
  --f-mono: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.v2 { margin: 0; background: var(--bg); color: var(--text); font-family: var(--f-sans); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.v2 a { color: var(--hl-2); text-decoration: none; }
.v2 a:hover { color: #fff; }
.v2 :focus-visible { outline: 2px solid var(--hl); outline-offset: 2px; border-radius: 6px; }
.v2 img { max-width: 100%; }
.v2 .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.wrap { width: 100%; max-width: calc(var(--wrap) + 2 * 24px); margin: 0 auto; padding: 0 24px; }

/* Header */
.v2-header { border-bottom: 1px solid var(--line); }
.v2-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; }
.v2-brand { display: inline-flex; align-items: center; gap: 12px; }
.v2-brand img { height: 18px; width: auto; display: block; }
.v2-brand .edu { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--faint); }
.v2-nav { display: flex; align-items: center; gap: 24px; font-size: 15px; }
.v2-nav .lang { font-family: var(--f-mono); font-size: 13px; color: var(--faint); }
.v2-secure { display: inline-flex; gap: 8px; align-items: center; color: var(--faint); font-size: 14px; }

/* Typography helpers */
.eyebrow { font-family: var(--f-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--hl); }
.v2 h1 { margin: 0; font-size: clamp(30px, 4vw, 50px); line-height: 1.06; font-weight: 600; letter-spacing: -0.03em; }
.v2 h2 { margin: 0; font-weight: 600; letter-spacing: -0.02em; }
.serif-i { font-family: var(--f-serif); font-style: italic; font-weight: 400; color: var(--hl); }
.lead { margin: 0; font-size: 18px; line-height: 1.55; color: var(--muted); }
.mono { font-family: var(--f-mono); }
.muted { color: var(--faint); }

/* Buttons */
.btn2 { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: var(--pill); font: inherit; font-weight: 600; font-size: 16px; cursor: pointer; border: 1px solid transparent; text-align: center; }
.btn2-primary { background: var(--accent); color: var(--accent-ink) !important; }
.btn2-primary:hover { filter: brightness(1.06); }
.btn2-primary[disabled] { opacity: .6; cursor: progress; }
.btn2-ghost { background: transparent; color: var(--text) !important; border-color: var(--line-3); font-weight: 500; }
.btn2-ghost:hover { border-color: var(--hl); }
.btn2-lg { min-height: 56px; padding: 0 30px; font-size: 17px; }
.btn2-block { display: flex; width: 100%; }

/* Badges */
.badge2 { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: var(--pill); font-size: 14px; font-weight: 600; }
.badge2 .dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.badge2--pending { background: var(--accent-soft); color: var(--accent-text); }
.badge2--overdue { background: var(--bad-soft); color: var(--bad); }
.badge2--paid, .badge2--confirmed_unpaid { background: var(--ok-soft); color: var(--ok); }
.badge2--waitlist, .badge2--cancelled, .badge2--refunded { background: var(--hl-soft); color: var(--hl-2); }

/* Cards */
.card2 { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); }
.card2--accent { border-color: var(--accent-line); }
.card2--hl { border-color: rgba(165,180,252,0.2); }
.card2--ok { border-color: var(--ok-line); }
.card2--bad { border-color: var(--bad-line); }
.card2-strip { height: 6px; background: var(--grad); border-radius: var(--r-lg) var(--r-lg) 0 0; }
.card2-dashed { border: 1px dashed rgba(165,180,252,0.3); border-radius: var(--r-lg); background: transparent; }

/* Steps */
.steps2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.steps2 li { display: flex; gap: 12px; align-items: center; padding: 14px 16px; border-radius: var(--r); border: 1px solid var(--line); opacity: .75; }
.steps2 li .num { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%; border: 1px solid var(--line-2); color: var(--faint); font-family: var(--f-mono); font-size: 13px; }
.steps2 li .t { font-size: 14px; font-weight: 600; }
.steps2 li .s { font-size: 13px; color: var(--faint); display: block; }
.steps2 li.is-current { opacity: 1; border-color: var(--accent); background: rgba(255,122,47,0.08); }
.steps2 li.is-current .num { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.steps2 li.is-done { opacity: 1; border-color: var(--ok-line); background: rgba(134,239,172,0.06); }
.steps2 li.is-done .num { background: var(--ok); color: var(--bg); border-color: var(--ok); }

/* Layout: main + aside */
.split { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.stack { display: flex; flex-direction: column; gap: 20px; }
.page { padding: 28px 0 96px; }

/* Forms */
.form2 { display: flex; flex-direction: column; gap: 20px; }
.fs2 { margin: 0; padding: 28px; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.fs2 legend { float: left; width: 100%; padding: 0; display: flex; gap: 12px; align-items: center; font-size: 20px; font-weight: 600; margin-bottom: 4px; }
.fs2 legend .n { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; background: var(--hl-soft); color: var(--hl-2); font-family: var(--f-mono); font-size: 13px; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grid-addr { display: grid; grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.v2 .form-group { display: flex; flex-direction: column; gap: 8px; margin: 0; min-width: 0; }
.v2 .form-group > label { font-size: 14px; font-weight: 500; color: var(--text-2); }
.v2 .form-group .hint { font-size: 13px; color: var(--faint); }
.v2 input[type=text], .v2 input[type=email], .v2 input[type=tel] { min-height: 50px; width: 100%; padding: 0 16px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--bg); color: var(--text); font: inherit; font-size: 16px; }
.v2 input::placeholder { color: #5d6484; }
.v2 input:focus { border-color: var(--hl); outline: none; }
.v2 input.field-invalid { border-color: var(--bad); }
.v2 .field-error { margin: 0; color: var(--bad); font-size: 13px; }
.choice2 { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border-radius: var(--r); border: 1px solid rgba(255,255,255,0.12); background: var(--bg); cursor: pointer; }
.choice2:has(input:checked) { background: rgba(165,180,252,0.08); border-color: rgba(165,180,252,0.45); }
.choice2 input, .check2 input { width: 20px; height: 20px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--hl); }
.choice2 .t { font-size: 15px; font-weight: 600; display: block; }
.choice2 .s { font-size: 13px; color: var(--faint); display: block; }
.check2 { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--text-2); }
.check2.opt { color: var(--muted); }
.check2--accent { padding: 16px 18px; border-radius: var(--r); background: rgba(255,122,47,0.08); border: 1px solid rgba(255,122,47,0.3); }
.check2--accent input { accent-color: var(--accent); }
.v2 [hidden] { display: none !important; }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; opacity: 0; }
.form-foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
#signupError { margin: 0; color: var(--bad); font-size: 14px; }

/* Summary / cart */
.sum2 { overflow: hidden; }
.sum2-body { display: flex; flex-direction: column; gap: 18px; padding: 26px; }
.sum2-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.sum2-title { font-size: 22px; line-height: 1.2; font-weight: 600; letter-spacing: -0.015em; }
.sum2-meta { display: flex; flex-direction: column; gap: 4px; font-size: 15px; color: var(--muted); }
.sum2-lines { display: flex; flex-direction: column; gap: 10px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 15px; }
.sum2-line { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); }
.sum2-line.is-disc { color: var(--accent-text); }
.sum2-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sum2-total .v { font-size: 30px; font-weight: 600; letter-spacing: -0.02em; }
.coupon2 { display: flex; gap: 8px; }
.coupon2 input { min-height: 46px !important; font-family: var(--f-mono) !important; font-size: 14px !important; text-transform: uppercase; }
.coupon2 button { min-height: 46px; padding: 0 18px; border-radius: 12px; border: 1px solid var(--line-3); background: transparent; color: var(--text); font: inherit; font-weight: 500; cursor: pointer; }
.coupon-msg { margin: 0; font-size: 13px; }
.after2 { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.after2 li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.after2 li .n { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(165,180,252,0.35); color: var(--hl-2); font-family: var(--f-mono); font-size: 12px; }
.after2 li strong { color: var(--text); font-weight: 600; }
.contact2 { display: flex; gap: 14px; align-items: center; padding: 18px 22px; }
.contact2 img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.contact2 .q { font-size: 15px; font-weight: 600; display: block; }
.contact2 .l { font-size: 14px; color: var(--muted); }
.note2 { display: flex; gap: 12px; align-items: flex-start; padding: 18px 22px; border-radius: var(--r-lg); background: rgba(79,140,247,0.06); border: 1px solid rgba(165,180,252,0.2); font-size: 14px; line-height: 1.55; color: var(--text-2); }

/* Transfer details */
.xfer-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 20px 26px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.xfer-head h2 { font-size: 20px; }
.xfer-deadline { font-size: 14px; font-weight: 600; color: var(--accent-text); }
.xfer-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 26px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.xfer-row .k { font-size: 14px; color: var(--faint); }
.xfer-row .v { font-size: 16px; font-weight: 500; overflow-wrap: anywhere; }
.xfer-row .v.mono { font-family: var(--f-mono); }
.xfer-row .v.big { font-size: 22px; font-weight: 600; }
.xfer-row.is-hl { background: rgba(255,122,47,0.05); }
.xfer-row.is-hl .v { color: var(--accent-text); }
.copy-btn { min-height: 44px; padding: 0 14px; border-radius: var(--r-sm); border: 1px solid var(--line-2); background: transparent; color: var(--hl-2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.copy-btn.is-copied { background: var(--ok-soft); color: var(--ok); border-color: var(--ok-line); }
.xfer-note { display: flex; gap: 12px; align-items: flex-start; padding: 16px 26px; background: rgba(255,122,47,0.07); font-size: 14px; line-height: 1.55; color: var(--text-2); }
/* WEN-473 (UI-SELF 1.1.0): online fizetés, visszatérő állapotok (a QR szünetel, DOM-PAY 1.7.0 P-19) */
.pay2 { display: grid; gap: 14px; padding: 22px 26px; }
.pay2 h2 { font-size: 20px; }
.pay2-sub { display: block; text-align: center; font-size: 13px; color: var(--muted); }
.pay2-err { display: block; font-size: 14px; color: var(--bad); }
.pay2-err[hidden] { display: none; }
.pay2-alt { border-top: 1px solid var(--line); padding-top: 6px; }
.pay2-alt > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; color: var(--hl-2); }
.pay2-alt .xfer { margin-top: 8px; }
.reg-banner { display: flex; align-items: center; gap: 12px; padding: 16px 22px; font-weight: 600; }
.reg-banner--ok { border-color: var(--ok-line); background: var(--ok-soft); color: var(--ok); }
.reg-banner--info, .reg-banner--neutral { border-color: var(--line-2); }
.spin2 { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--line-2); border-top-color: var(--accent); animation: spin2 .9s linear infinite; flex-shrink: 0; }
@keyframes spin2 { to { transform: rotate(360deg); } }

/* Status history */
.hist2 { margin: 0 0 0 6px; padding: 0; list-style: none; border-left: 1px solid rgba(255,255,255,0.14); }
.hist2 li { position: relative; padding: 0 0 18px 22px; display: flex; flex-direction: column; gap: 2px; }
.hist2 li::before { content: ''; position: absolute; left: -6px; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--hl); }
.hist2 li .t { font-size: 15px; font-weight: 500; }
.hist2 li .w { font-size: 13px; color: var(--faint); }

/* Footer */
.v2-footer { border-top: 1px solid var(--line); font-size: 13px; color: var(--faint); }
.v2-footer .wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 28px; padding-bottom: 28px; }
.v2-footer nav { display: flex; gap: 20px; flex-wrap: wrap; }

/* Env banner (site.js) */
#envBanner { background: #7c2d12; color: #fff; text-align: center; font-size: 13px; padding: 6px 12px; }

/* Mobile */
@media (max-width: 960px) {
  .split { grid-template-columns: minmax(0, 1fr); }
  .aside-first-mobile { order: -1; }
}
@media (max-width: 720px) {
  .wrap { padding: 0 16px; }
  .v2-nav .hide-m { display: none; }
  .steps2 { display: flex; gap: 4px; }
  .steps2 li { flex: 1; padding: 0; border: none; height: 4px; border-radius: 4px; background: rgba(255,255,255,0.14); opacity: 1; }
  .steps2 li.is-current { background: var(--accent); }
  .steps2 li.is-done { background: var(--ok); }
  .steps2 li > * { display: none; }
  .steps-caption { display: flex !important; }
  .fs2 { padding: 18px; }
  .grid2 { grid-template-columns: minmax(0, 1fr); }
  .grid-addr { grid-template-columns: 110px minmax(0, 1fr); }
  .grid-addr .form-group:last-child { grid-column: 1 / -1; }
  .xfer-row { grid-template-columns: minmax(0, 1fr) auto; padding: 12px 18px; }
  .xfer-row .k { grid-column: 1 / -1; font-size: 12px; }
  .xfer-head, .xfer-note { padding-left: 18px; padding-right: 18px; }
  .pay2 { padding: 18px; }
  .form-foot .btn2 { width: 100%; }
  .check2 input, .choice2 input { width: 22px; height: 22px; }
}
.steps-caption { display: none; justify-content: space-between; font-size: 13px; margin-bottom: 8px; }

/* Süti-sáv (consent.js) a v2 oldalakon: a style.css nélkül is stílusos, 44 px-es gombokkal. */
.v2 .cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; padding: 16px 20px; background: rgba(10,12,36,0.97); border-top: 1px solid var(--line-2); box-shadow: 0 -8px 24px rgba(0,0,0,0.35); }
.v2 .cookie-text { margin: 0; max-width: 760px; font-size: 14px; line-height: 1.6; color: var(--text-2); }
.v2 .cookie-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.v2 .cookie-actions .btn { min-height: 44px; padding: 0 18px; border-radius: var(--pill); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; border: 1px solid var(--line-3); background: transparent; color: var(--text); }
.v2 .cookie-actions .btn-primary { background: var(--accent); border-color: var(--accent); color: #1a0a00; }
@media (max-width: 640px) { .v2 .cookie-banner { flex-direction: column; align-items: stretch; text-align: center; } .v2 .cookie-actions { justify-content: center; } }
.v2 .stack > .badge2 { align-self: flex-start; }

/* Hiányzó kötelező jelölő: a sor kiemelése + hibaszöveg alatta. */
.v2 .check2:has(input.field-invalid) { outline: 1px solid var(--bad); outline-offset: 4px; border-radius: 8px; }
.v2 .check2 + .field-error { margin-top: -6px; }

/* WEN-528 önkiszolgálás (UI-SELF 4.1-4.3, SP-4): blokkonkénti szerkesztés, hozzájárulások, háromlépéses lemondás. */
.badge2--done { background: var(--hl-soft); color: var(--hl-2); }
.me2 { padding: 22px 26px; display: flex; flex-direction: column; gap: 4px; }
.me2 > h2 { font-size: 20px; margin: 0 0 8px; }
.me-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.me2 > h2 + .me-row { border-top: 0; }
.me-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.me-main .k { font-size: 13px; color: var(--faint); }
.me-main .v { overflow-wrap: anywhere; }
.me-hint { font-size: 13px; color: var(--faint); }
.me-act .btn2 { min-height: 44px; padding: 0 16px; font-size: 14px; }
.me-act .btn2[hidden] { display: none; }
.me-write { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.me-form { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 12px; padding-top: 4px; }
.me-form[hidden] { display: none; }
.me-radios { display: flex; gap: 10px; flex-wrap: wrap; }
.me-radios .choice2 { flex: 1 1 140px; min-height: 44px; align-items: center; }
.me-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.me-actions .btn2 { flex: 1 1 160px; min-height: 48px; }
.me-actions .btn2[disabled] { opacity: .5; cursor: not-allowed; }
.me-msg { margin: 0; font-size: 14px; }
.me-msg[hidden] { display: none; }
.me-msg.ok { color: var(--ok); }
.me-msg.bad { color: var(--bad); }
.me-consent { min-height: 44px; align-items: center; padding: 6px 0; }
#cancelFlow { margin-top: 12px; }
#cancelFlow > .btn2 { min-height: 44px; font-size: 14px; color: var(--muted) !important; }
.cancel2 { display: flex; flex-direction: column; gap: 12px; padding: 18px; border: 1px solid var(--bad-line); border-radius: var(--r); background: var(--bad-soft); }
.cancel2 h3 { margin: 0; font-size: 18px; }
.cancel2 p { margin: 0; }
.v2 select { min-height: 50px; width: 100%; padding: 0 12px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--bg); color: var(--text); font: inherit; font-size: 16px; }
.link2 { max-width: 560px; padding: 28px; }
@media (max-width: 720px) { .me2, .link2 { padding: 18px; } }

/* WEN-541: a fizetési tájékoztató (UI-SELF 2.1) és a fázis-jelzés a jelentkezési űrlapon */
.pay-info { margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
.live-phase { margin: 0; font-weight: 600; color: #fbbf24; }
