/*
 * Pályázatközpont – ügyfélportál (onboarding, dokumentumok, ügyállapot)
 *
 * ARCULATI SZABÁLY: ez a fájl NEM vezet be új arculatot.
 * A színeket az Astra globális változóiból örökli (--ast-global-color-*),
 * a betűtípust az oldaltól. Nincs redesign.
 *
 * MOBILE-FIRST, 45+ célközönség:
 *  - nagy érintési célpontok (min. 48 px),
 *  - 16 px alatti kritikus szöveg sehol,
 *  - egy oszlop mobilon, semmi vízszintes görgetés.
 */

.pk-case {
    --pk-green: var(--ast-global-color-0, #2F7D4A);
    --pk-green-dark: var(--ast-global-color-1, #174C2F);
    --pk-green-soft: var(--ast-global-color-4, #EAF5EE);
    --pk-text: var(--ast-global-color-3, #17201B);
    --pk-heading: var(--ast-global-color-2, #174C2F);
    --pk-accent: var(--ast-global-color-8, #0E7490);
    --pk-accent-soft: #E6F4F9;
    --pk-line: #D8E5DD;
    --pk-muted: #4A5A50;
    --pk-surface: #FFFFFF;
    --pk-danger: #A32020;
    --pk-warn-bg: #FFF7E6;
    --pk-warn-line: #D9B77A;
    --pk-warn-text: #6B5115;
    --pk-radius: 12px;

    color: var(--pk-text);
    box-sizing: border-box;
}
.pk-case * { box-sizing: border-box; }

/* width, nem max-width — lásd a result.css/checkout.css indoklását. */
.pk-case__inner {
    width: min(760px, 100%);
    margin-inline: auto;
    padding: 32px 20px 64px;
}
.pk-case__inner--wide { width: min(900px, 100%); }

/* ─────────── Fejléc ─────────── */

.pk-case__head { margin-bottom: 24px; }
.pk-case__eyebrow {
    margin: 0 0 8px;
    font-size: 15px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
    color: var(--pk-accent);
}
.pk-case__title { margin: 0 0 8px; font-size: 32px; line-height: 1.25; color: var(--pk-heading); }
.pk-case__ref { margin: 0; font-size: 15px; color: var(--pk-muted); }

/* ─────────── Kártyák ─────────── */

.pk-case .pk-card {
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: 16px;
    padding: 24px 22px;
    margin-bottom: 20px;
}
.pk-case .pk-card__title { margin: 0 0 14px; font-size: 22px; line-height: 1.3; color: var(--pk-heading); }

/* ─────────── Állapotsáv ─────────── */

.pk-status {
    background: var(--pk-green-soft);
    border: 1px solid #CDE3D6;
    border-radius: 16px;
    padding: 20px 22px;
    margin-bottom: 20px;
}
.pk-status__badge {
    display: inline-block;
    padding: 7px 15px; margin-bottom: 10px;
    background: var(--pk-green); color: #fff;
    border-radius: 999px;
    font-size: 16px; font-weight: 600;
}
.pk-status__explain { margin: 0 0 16px; font-size: 17px; line-height: 1.65; }

.pk-steps { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; list-style: none; }
.pk-steps__item { display: flex; align-items: center; gap: 9px; font-size: 16px; color: var(--pk-muted); }
.pk-steps__dot {
    width: 14px; height: 14px; flex: 0 0 auto;
    border-radius: 50%; border: 2px solid #B7CFC0; background: #fff;
}
.pk-steps__item.is-done .pk-steps__dot { background: var(--pk-green); border-color: var(--pk-green); }
.pk-steps__item.is-current .pk-steps__dot { background: #fff; border-color: var(--pk-green); box-shadow: 0 0 0 4px rgba(47,125,74,.18); }
.pk-steps__item.is-current .pk-steps__label { color: var(--pk-heading); font-weight: 600; }
.pk-steps__item.is-done .pk-steps__label { color: var(--pk-green-dark); }

/* ─────────── Onboarding ─────────── */

.pk-onb__lead { margin: -4px 0 18px; font-size: 17px; line-height: 1.65; color: var(--pk-muted); }
.pk-onb__save {
    min-height: 24px; margin-bottom: 12px;
    font-size: 15px; color: var(--pk-muted);
}
.pk-onb__save.is-saved { color: var(--pk-green-dark); font-weight: 600; }
.pk-onb__save.is-error { color: var(--pk-danger); font-weight: 600; }

.pk-onb__tabs {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-bottom: 22px; padding-bottom: 16px;
    border-bottom: 1px solid var(--pk-line);
}
.pk-onb__tab {
    display: inline-flex; align-items: center; gap: 8px;
    min-height: 44px; padding: 8px 14px;
    background: #F5F9F7; border: 1px solid var(--pk-line); border-radius: 999px;
    font-family: inherit; font-size: 15px; color: var(--pk-muted); cursor: pointer;
}
.pk-onb__tab.is-current { background: var(--pk-green); border-color: var(--pk-green); color: #fff; font-weight: 600; }
.pk-onb__tab.is-done { border-color: var(--pk-green); color: var(--pk-green-dark); }
.pk-onb__tabnum {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; flex: 0 0 auto;
    background: rgba(0,0,0,.08); border-radius: 50%; font-size: 13px; font-weight: 700;
}
.pk-onb__tab.is-current .pk-onb__tabnum { background: rgba(255,255,255,.28); }

.pk-onb__steptitle { margin: 0 0 8px; font-size: 21px; color: var(--pk-heading); }
.pk-onb__stepintro { margin: 0 0 22px; font-size: 17px; line-height: 1.65; color: var(--pk-muted); }
.pk-onb__none { font-size: 16px; color: var(--pk-muted); }

.pk-onb__nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }

/* ─────────── Mezők ─────────── */

.pk-case .pk-field { margin-bottom: 26px; }
.pk-case .pk-label { display: block; margin-bottom: 8px; font-size: 17px; font-weight: 600; color: var(--pk-heading); }
.pk-case .pk-optional { font-weight: 400; font-size: 15px; color: var(--pk-muted); }
.pk-case .pk-hint { margin: 0 0 10px; font-size: 15px; line-height: 1.55; color: var(--pk-muted); }
.pk-case .pk-note { margin: 8px 0 0; font-size: 15px; color: var(--pk-green-dark); }

.pk-case .pk-input {
    width: 100%; min-height: 56px;
    padding: 14px 16px;
    font-family: inherit; font-size: 17px; color: var(--pk-text);
    background: var(--pk-surface);
    border: 2px solid var(--pk-line); border-radius: var(--pk-radius);
    -webkit-appearance: none; appearance: none;
}
.pk-case .pk-input--area { min-height: 110px; line-height: 1.6; resize: vertical; }
.pk-case .pk-input:focus { border-color: var(--pk-green); outline: 3px solid rgba(47,125,74,.25); }

.pk-case .pk-error { margin: 8px 0 0; font-size: 16px; font-weight: 600; color: var(--pk-danger); line-height: 1.5; }
.pk-case .pk-error[hidden] { display: none; }

/* Választási lehetőségek — nagy célpont, mobilon is kényelmes. */
.pk-choices { display: grid; gap: 10px; }
.pk-choice {
    display: flex; align-items: flex-start; gap: 13px;
    min-height: 56px; padding: 14px 16px;
    background: var(--pk-surface); border: 2px solid var(--pk-line); border-radius: var(--pk-radius);
    font-size: 17px; line-height: 1.5; cursor: pointer;
}
.pk-choice:hover { border-color: #A9CDBA; }
.pk-choice input { width: 24px; height: 24px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--pk-green); cursor: pointer; }
.pk-choice.is-checked { border-color: var(--pk-green); background: var(--pk-green-soft); }
.pk-choice__label { flex: 1 1 auto; }

/* ─────────── „Ezt már tudjuk" ─────────── */

.pk-known {
    padding: 18px 20px; margin-bottom: 26px;
    background: var(--pk-accent-soft); border-radius: 14px;
}
.pk-known__title { margin: 0 0 8px; font-size: 18px; color: #12414E; }
.pk-known__note { margin: 0 0 14px; font-size: 15px; line-height: 1.6; color: #12414E; }
.pk-known__list { margin: 0; }
.pk-known__row { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 7px 0; border-top: 1px solid rgba(14,116,144,.16); }
.pk-known__row:first-child { border-top: 0; }
.pk-known__row dt { flex: 0 0 40%; font-size: 15px; font-weight: 600; color: #12414E; margin: 0; }
.pk-known__row dd { flex: 1 1 55%; margin: 0; font-size: 16px; }
.pk-known__fix {
    display: inline-block; margin-left: 6px; padding: 2px 8px;
    background: var(--pk-green); color: #fff; border-radius: 999px; font-size: 15px;
}
.pk-known__correct { margin-top: 14px; }
.pk-known__correct summary { cursor: pointer; font-size: 16px; font-weight: 600; color: var(--pk-green-dark); padding: 8px 0; }
.pk-known__form { padding-top: 8px; }
.pk-known__form .pk-input { margin-bottom: 12px; }

/* ─────────── Dokumentumok ─────────── */

.pk-doc {
    padding: 18px 20px; margin-bottom: 16px;
    background: #FAFCFB; border: 1px solid var(--pk-line); border-radius: 14px;
}
.pk-doc.is-done { border-color: #A9CDBA; background: var(--pk-green-soft); }
.pk-doc.is-na { opacity: .78; }
.pk-doc__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; justify-content: space-between; }
.pk-doc__title { margin: 0 0 6px; font-size: 18px; color: var(--pk-heading); }
.pk-doc__flag {
    padding: 3px 10px; background: #E7EEEA; border-radius: 999px;
    font-size: 15px; color: var(--pk-muted); white-space: nowrap;
}
.pk-doc__desc { margin: 0 0 8px; font-size: 16px; line-height: 1.6; }
.pk-doc__why { margin: 0 0 14px; font-size: 15px; line-height: 1.6; color: var(--pk-muted); }
.pk-doc__limits { margin: 10px 0 0; font-size: 15px; color: var(--pk-muted); }
.pk-doc__ok { margin: 0; font-size: 16px; font-weight: 600; color: var(--pk-green-dark); }
.pk-doc__na { margin: 0; font-size: 16px; color: var(--pk-muted); }
.pk-doc__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

.pk-upload { display: inline-block; }
.pk-upload input[type="file"] { position: absolute; left: -9999px; width: 1px; height: 1px; }
.pk-upload__btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 52px; padding: 14px 24px;
    background: var(--pk-green); color: #fff;
    border-radius: 8px; font-size: 17px; font-weight: 600; cursor: pointer;
}
.pk-upload input:focus-visible + .pk-upload__btn { outline: 3px solid var(--pk-green-dark); outline-offset: 3px; }

.pk-docs__subtitle { margin: 22px 0 10px; font-size: 17px; color: var(--pk-heading); }
.pk-doclist { margin: 0; padding: 0; list-style: none; }
.pk-doclist__item {
    display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center;
    padding: 12px 0; border-top: 1px solid var(--pk-line);
    font-size: 16px;
}
.pk-doclist__item:first-child { border-top: 0; }
.pk-doclist__name { flex: 1 1 60%; word-break: break-word; }
.pk-doclist__status { padding: 3px 11px; border-radius: 999px; font-size: 15px; background: #E7EEEA; color: var(--pk-muted); }
.pk-doclist__status.is-accepted { background: var(--pk-green); color: #fff; }
.pk-doclist__status.is-rejected,
.pk-doclist__status.is-replacement_requested { background: #F6E3E3; color: var(--pk-danger); }
.pk-doclist__note { flex: 1 1 100%; font-size: 15px; color: var(--pk-muted); }

/* ─────────── Hiánypótlás ─────────── */

.pk-inforeq__lead { margin: -4px 0 18px; font-size: 17px; line-height: 1.65; color: var(--pk-muted); }
.pk-req {
    padding: 18px 20px; margin-bottom: 16px;
    background: #FAFCFB; border: 1px solid var(--pk-line); border-left: 4px solid var(--pk-accent);
    border-radius: 14px;
}
.pk-req__title { margin: 0 0 8px; font-size: 19px; color: var(--pk-heading); }
.pk-req__what { margin: 0 0 10px; font-size: 17px; line-height: 1.65; }
.pk-req__why {
    margin: 0 0 16px; padding: 12px 14px;
    background: var(--pk-accent-soft); border-radius: 10px;
    font-size: 15px; line-height: 1.6; color: #12414E;
}
.pk-req .pk-input { margin-bottom: 12px; }
.pk-req .pk-choices { margin-bottom: 14px; }

/* ─────────── Összegzés ─────────── */

.pk-summary__title { margin: 22px 0 10px; font-size: 18px; color: var(--pk-heading); }
.pk-summary__title:first-child { margin-top: 0; }
.pk-summary__list { margin: 0; }
.pk-summary__row { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 10px 0; border-top: 1px solid var(--pk-line); }
.pk-summary__row:first-child { border-top: 0; }
.pk-summary__row dt { flex: 0 0 45%; margin: 0; font-size: 15px; font-weight: 600; color: var(--pk-muted); }
.pk-summary__row dd { flex: 1 1 50%; margin: 0; font-size: 16px; }
.pk-summary__optional {
    margin: 18px 0 0; padding: 14px 16px;
    background: var(--pk-warn-bg); border: 1px solid var(--pk-warn-line); border-radius: 10px;
    font-size: 16px; line-height: 1.6; color: var(--pk-warn-text);
}
.pk-summary__note { margin: 18px 0 0; font-size: 16px; line-height: 1.65; color: var(--pk-muted); }

/* ─────────── Elkészült ─────────── */

.pk-ready { text-align: center; background: var(--pk-green-soft); border-color: #CDE3D6; }
.pk-ready__check { margin: 0 0 14px; }
.pk-ready__check span {
    position: relative; display: inline-block;
    width: 64px; height: 64px; background: var(--pk-green); border-radius: 50%;
}
.pk-ready__check span::after {
    content: ""; position: absolute; left: 19px; top: 22px;
    width: 24px; height: 12px;
    border-left: 4px solid #fff; border-bottom: 4px solid #fff;
    transform: rotate(-45deg);
}
.pk-ready__title { margin: 0 0 12px; font-size: 27px; line-height: 1.3; color: var(--pk-heading); }
.pk-ready__lead { margin: 0 0 22px; font-size: 18px; line-height: 1.7; }

.pk-wait p { font-size: 17px; line-height: 1.7; margin: 0 0 12px; }

/* ─────────── Gombok ─────────── */

.pk-case .pk-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 52px; padding: 14px 26px;
    font-size: 17px; font-weight: 600; font-family: inherit; line-height: 1.25;
    border: 2px solid transparent; border-radius: 8px;
    text-decoration: none; cursor: pointer; text-align: center;
}
.pk-case .pk-btn--primary { background: var(--pk-green); color: #fff; }
.pk-case .pk-btn--primary:hover, .pk-case .pk-btn--primary:focus { background: var(--pk-green-dark); color: #fff; }
.pk-case .pk-btn--ghost { background: transparent; color: var(--pk-green-dark); border-color: var(--pk-line); }
.pk-case .pk-btn--ghost:hover { border-color: var(--pk-green); }
.pk-case .pk-btn--link {
    min-height: 48px; padding: 12px 4px;
    background: none; border: 0; color: var(--pk-green-dark);
    text-decoration: underline; font-size: 16px;
}
.pk-case .pk-btn--lg { min-height: 62px; font-size: 18px; padding: 16px 28px; }
.pk-case .pk-btn[disabled], .pk-case .pk-btn.is-busy { opacity: .65; cursor: default; }
.pk-case .pk-btn:focus-visible { outline: 3px solid var(--pk-green-dark); outline-offset: 3px; }

.pk-case__help p { margin: 0; font-size: 16px; line-height: 1.65; }
.pk-case__help a { color: var(--pk-green-dark); }

/* ─────────── Töréspontok ─────────── */

@media (max-width: 560px) {
    .pk-case__inner { padding: 24px 16px 48px; }
    .pk-case__title { font-size: 26px; }
    .pk-case .pk-card { padding: 20px 17px; border-radius: 14px; }
    .pk-case .pk-card__title { font-size: 20px; }
    .pk-status { padding: 18px 17px; }
    .pk-status__explain { font-size: 16px; }
    .pk-onb__tabname { display: none; }   /* mobilon csak a sorszám */
    .pk-onb__tab.is-current .pk-onb__tabname { display: inline; }
    .pk-onb__nav .pk-btn { flex: 1 1 100%; }
    .pk-known__row dt, .pk-summary__row dt { flex: 1 1 100%; }
    .pk-known__row dd, .pk-summary__row dd { flex: 1 1 100%; }
    .pk-doc__actions .pk-upload, .pk-doc__actions .pk-upload__btn { width: 100%; }
    .pk-ready__title { font-size: 23px; }
}
