/* ==========================================================================
   ISI Coach Képzés – Minta Stílus
   820px fehér hasáb · navy topbar · Jost + Cormorant + Mulish
   ========================================================================== */

.ism-root {
    --ism-bg-1:        #ffffff;
    --ism-bg-2:        #eef1f5;
    --ism-bg-3:        #e4e9ef;
    --ism-navy:        #0e1f38;
    --ism-navy-2:      #16294a;
    --ism-ink:         #1c3a63;
    --ism-ink-soft:    #6b7686;
    --ism-accent:      #1c3a63;
    --ism-accent-lt:   #4d7fb0;
    --ism-hairline:    rgba(28,58,99,0.16);
    --ism-hairline-dk: rgba(255,255,255,0.14);

    font-family: 'Mulish', sans-serif;
    color: var(--ism-ink);
    background: var(--ism-bg-3);
    width: 100%;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}

.ism-root * { box-sizing: border-box; }
.ism-root img { max-width: 100%; display: block; }
.ism-root a { color: var(--ism-accent-lt); text-decoration: none; }
.ism-root a:hover { color: var(--ism-ink); }

/* ── FRAME ── */
.ism-frame {
    width: 100%;
    max-width: 820px;
    background: var(--ism-bg-1);
    border-left: 1px solid var(--ism-hairline);
    border-right: 1px solid var(--ism-hairline);
}

/* ── CTA GOMB ── */
.ism-root .ism-btn,
.ism-root .ism-btn:link,
.ism-root .ism-btn:visited {
    display: inline-flex;
    align-items: center;
    padding: 18px 42px;
    border-radius: 999px;
    background: var(--ism-accent);
    color: #ffffff !important;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: clamp(13px, 1.7vw, 15px);
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .15s;
}
.ism-root .ism-btn:hover,
.ism-root .ism-btn:focus { background: var(--ism-navy); color: #ffffff !important; }

.ism-root .ism-btn--sm  { padding: 17px 40px; font-size: 14px; }
.ism-root .ism-btn--lt  { background: var(--ism-accent-lt); }

/* ── TOPBAR ── */
.ism-topbar {
    width: 100%;
    background: var(--ism-navy);
    color: #fff;
    text-align: center;
    padding: 9px 20px;
    font-family: 'Jost', sans-serif;
    font-weight: 400;
    font-size: clamp(10px, 1.3vw, 11px);
    letter-spacing: .24em;
    text-transform: uppercase;
}

/* ── SZEKCIÓK ── */
.ism-section {
    padding: clamp(36px, 6vw, 48px) clamp(20px, 5vw, 40px);
    border-bottom: 1px solid var(--ism-hairline);
}
.ism-section--bg2  { background: var(--ism-bg-2); }
.ism-section--navy { background: var(--ism-navy-2); }
.ism-section--dark { background: var(--ism-navy); }

.ism-h2 {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(16px, 2.2vw, 20px);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ism-ink);
    text-align: center;
    margin: 0 0 clamp(22px, 3.5vw, 30px);
}
.ism-h2--light { color: #fff; }

/* ── HERO ── */
.ism-hero {
    padding: clamp(36px, 6vw, 52px) clamp(20px, 5vw, 40px) clamp(32px, 5vw, 44px);
    text-align: center;
    border-bottom: 1px solid var(--ism-hairline);
}

.ism-hero h1 {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(22px, 3.6vw, 30px);
    letter-spacing: .01em;
    text-transform: uppercase;
    color: var(--ism-ink);
    line-height: 1.3;
    margin: 0 0 clamp(14px, 2.5vw, 22px);
}

.ism-hero__sub {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: clamp(14px, 2.2vw, 19px);
    letter-spacing: .02em;
    text-transform: uppercase;
    color: var(--ism-accent-lt);
    line-height: 1.45;
    margin: 0 0 clamp(16px, 3vw, 26px);
}

.ism-hero__body {
    font-size: clamp(14px, 1.8vw, 16px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    line-height: 1.65;
    margin: 0 auto clamp(20px, 3.5vw, 30px);
    max-width: 600px;
}

.ism-hero__note {
    font-size: clamp(11px, 1.5vw, 13px);
    color: var(--ism-ink-soft);
    letter-spacing: .04em;
    margin-top: 10px;
}

/* ── STATS ── */
.ism-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--ism-navy);
    border-bottom: 1px solid var(--ism-hairline);
}

.ism-stat {
    padding: clamp(18px, 3vw, 26px) clamp(14px, 2.5vw, 20px);
    text-align: center;
    border-right: 1px solid var(--ism-hairline-dk);
    border-bottom: 1px solid var(--ism-hairline-dk);
}
.ism-stat:nth-child(2n) { border-right: none; }
.ism-stat:nth-child(3),
.ism-stat:nth-child(4)  { border-bottom: none; }

.ism-stat__num {
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    font-size: clamp(20px, 3.5vw, 26px);
    color: #fff;
}

.ism-stat__label {
    font-size: clamp(9px, 1.2vw, 11px);
    color: rgba(255,255,255,.6);
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-top: 6px;
}

/* ── FEATURE BOX ── */
.ism-feature-box {
    background: var(--ism-bg-2);
    border: 1px solid var(--ism-hairline);
    padding: clamp(22px, 4vw, 32px);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ism-feature-box p {
    font-size: clamp(14px, 1.8vw, 16px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    line-height: 1.65;
    margin: 0;
}

.ism-feature-box strong {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    color: var(--ism-ink);
}

/* ── CHECKLIST ── */
.ism-checklist {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ism-checklist__item {
    background: var(--ism-bg-1);
    border: 1px solid var(--ism-hairline);
    padding: clamp(16px, 2.5vw, 20px) clamp(18px, 3vw, 24px);
    font-size: clamp(14px, 1.8vw, 16px);
    font-weight: 300;
    color: var(--ism-ink);
    line-height: 1.55;
}

/* ── MODULES ── */
.ism-modules {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 3.5vw, 28px);
}

.ism-module {
    display: flex;
    gap: clamp(16px, 2.5vw, 22px);
}

.ism-module__num {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(20px, 3vw, 26px);
    color: var(--ism-accent-lt);
    line-height: 1;
    flex-shrink: 0;
    width: 38px;
}

.ism-module__title {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(13px, 1.7vw, 16px);
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ism-ink);
    margin-bottom: 8px;
    line-height: 1.4;
}

.ism-module__body {
    font-size: clamp(13.5px, 1.6vw, 15px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    line-height: 1.6;
    margin: 0;
}

/* ── MIRE KÉPES ── */
.ism-capable {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 600px;
    margin: 0 auto clamp(18px, 3vw, 26px);
}

.ism-capable__item {
    border-bottom: 1px solid var(--ism-hairline-dk);
    padding-bottom: 14px;
    font-size: clamp(14px, 1.8vw, 16px);
    font-weight: 300;
    color: rgba(255,255,255,.85);
    line-height: 1.55;
}
.ism-capable__item:last-child { border-bottom: none; padding-bottom: 0; }

.ism-capable__note {
    font-size: clamp(12px, 1.4vw, 14px);
    font-weight: 300;
    color: rgba(255,255,255,.6);
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

/* ── TESTIMONIALS MASONRY GALLÉRIA ── */
.ism-testi-intro {
    padding: 0 clamp(20px, 5vw, 40px);
    text-align: center;
    margin-bottom: clamp(24px, 4vw, 34px);
}

.ism-testi-gallery {
    width: min(1180px, calc(100vw - 48px));
    margin: 0 auto;
    column-count: 2;
    column-gap: 20px;
}

.ism-testi-card {
    background: var(--ism-bg-1);
    border: 1px solid var(--ism-hairline);
    padding: 12px;
    margin-bottom: 20px;
    break-inside: avoid;
}

.ism-testi-card img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 520px) {
    .ism-testi-gallery { column-count: 1; }
}

/* ── ÁRAZÁS ── */
.ism-price-cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ism-price-card {
    border: 1px solid var(--ism-hairline);
    background: var(--ism-bg-2);
    padding: clamp(22px, 4vw, 30px);
}

.ism-price-card--dark {
    background: var(--ism-navy);
    border: none;
}

.ism-price-card__name {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(14px, 1.8vw, 17px);
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ism-ink);
    margin-bottom: clamp(12px, 2vw, 16px);
}
.ism-price-card--dark .ism-price-card__name { color: #fff; }

.ism-price-card__desc {
    font-size: clamp(13.5px, 1.7vw, 15px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    line-height: 1.55;
    margin: 0 0 8px;
}
.ism-price-card--dark .ism-price-card__desc { color: rgba(255,255,255,.72); }

.ism-price-card__divider {
    height: 1px;
    background: var(--ism-hairline);
    margin: clamp(14px, 2.5vw, 18px) 0;
}
.ism-price-card--dark .ism-price-card__divider { background: var(--ism-hairline-dk); }

.ism-price-card__label {
    font-family: 'Jost', sans-serif;
    font-weight: 400;
    font-size: clamp(10px, 1.3vw, 12px);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ism-ink-soft);
    margin-bottom: 4px;
}
.ism-price-card--dark .ism-price-card__label { color: rgba(255,255,255,.6); }
.ism-price-card__label--accent { color: var(--ism-accent-lt); }

.ism-price-card__old {
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    font-size: clamp(20px, 2.8vw, 24px);
    color: var(--ism-ink);
    line-height: 1;
    margin-bottom: clamp(10px, 2vw, 14px);
    text-decoration: line-through;
    opacity: .55;
}
.ism-price-card--dark .ism-price-card__old { color: rgba(255,255,255,.7); opacity: .6; }

.ism-price-card__price {
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    font-size: clamp(26px, 4vw, 34px);
    color: var(--ism-accent-lt);
    line-height: 1;
    margin-bottom: clamp(10px, 2vw, 12px);
}
.ism-price-card--dark .ism-price-card__price { color: #fff; }

.ism-price-card__note {
    font-size: clamp(12.5px, 1.5vw, 14px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    margin: 0;
}
.ism-price-card--dark .ism-price-card__note { color: rgba(255,255,255,.72); }

.ism-deadline-box {
    border: 1px solid var(--ism-accent);
    padding: 16px 24px;
    margin-top: 22px;
    text-align: center;
}

.ism-deadline-box__title {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: clamp(11px, 1.4vw, 13px);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ism-accent-lt);
    margin-bottom: 6px;
}

.ism-deadline-box__dates {
    font-size: clamp(11px, 1.4vw, 13px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    letter-spacing: .04em;
}

.ism-jelentkezes {
    margin-top: clamp(20px, 3.5vw, 30px);
}

.ism-jelentkezes__title {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(13px, 1.7vw, 15px);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ism-ink);
    margin-bottom: 14px;
}

.ism-jelentkezes p {
    font-size: clamp(13.5px, 1.7vw, 15px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    line-height: 1.6;
    margin: 0 0 12px;
}
.ism-jelentkezes p:last-child { margin: 0; }

/* ── AKKREDITÁCIÓ ── */
.ism-akk-cards {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.ism-akk-card {
    background: var(--ism-bg-1);
    border: 1px solid var(--ism-hairline);
    padding: clamp(18px, 3.5vw, 26px);
}

.ism-akk-card__title {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(13px, 1.7vw, 15px);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ism-ink);
    margin-bottom: 10px;
}

.ism-akk-card p {
    font-size: clamp(13.5px, 1.7vw, 15px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    line-height: 1.6;
    margin: 0 0 10px;
}
.ism-akk-card p:last-child { margin: 0; }

/* ── GÁBOR SZEKCIÓ ── */
.ism-gabor-img {
    float: left;
    width: clamp(140px, 38%, 240px);
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: top center;
    border: 1px solid var(--ism-hairline);
    border-radius: 10px;
    margin: 0 clamp(16px, 3vw, 28px) 20px 0;
    display: block;
}

.ism-gabor-name {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(16px, 2vw, 20px);
    letter-spacing: .02em;
    color: var(--ism-ink);
    line-height: 1.4;
    margin: 0 0 16px;
}

.ism-gabor-body {
    font-size: clamp(14px, 1.8vw, 16px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    line-height: 1.65;
    margin: 0 0 16px;
}

.ism-gabor-italic {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(17px, 2.4vw, 21px);
    color: var(--ism-accent-lt);
    line-height: 1.5;
    margin: 0 0 16px;
}

.ism-gabor-box {
    clear: both;
    background: var(--ism-bg-2);
    border: 1px solid var(--ism-hairline);
    padding: clamp(18px, 3.5vw, 26px);
}

.ism-gabor-box__title {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(13px, 1.7vw, 15px);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ism-ink);
    margin-bottom: 14px;
}

.ism-gabor-box p {
    font-size: clamp(13.5px, 1.7vw, 15px);
    font-weight: 300;
    color: var(--ism-ink-soft);
    line-height: 1.6;
    margin: 0 0 12px;
}
.ism-gabor-box p:last-child { margin: 0; }

/* ── CTA ZÁRÓ ── */
.ism-cta {
    padding: clamp(40px, 7vw, 56px) clamp(20px, 5vw, 40px);
    background: var(--ism-navy);
    text-align: center;
}

.ism-cta__eyebrow {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: clamp(10px, 1.3vw, 12px);
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--ism-accent-lt);
    margin-bottom: 20px;
}

.ism-cta h2 {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: clamp(18px, 3vw, 26px);
    letter-spacing: .01em;
    text-transform: uppercase;
    color: #fff;
    line-height: 1.3;
    margin: 0 auto 20px;
    max-width: 560px;
}

.ism-cta__sub {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(16px, 2.3vw, 20px);
    color: rgba(255,255,255,.72);
    max-width: 520px;
    margin: 0 auto 32px;
    line-height: 1.5;
}

/* ── MOBIL ── */
@media (max-width: 480px) {
    .ism-gabor-img {
        float: none;
        width: 60%;
        max-width: 200px;
        margin: 0 auto 20px;
        aspect-ratio: 3/4;
    }
}
