/* ═══════════════════════════════════════════════════════
   Kártyaudvar — layout.css
   Container, sections, grids, two-col, split-hero layout
   ═══════════════════════════════════════════════════════ */

/* ── Container ─────────────────────────────────────── */
.kv-container {
    width: 100%;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--s-24);
}

/* ── Sections ──────────────────────────────────────── */
.kv-section {
    padding: var(--s-80) 0;
}

.kv-section--surface {
    background: var(--c-surface);
}

.kv-section--tight {
    padding: var(--s-48) 0;
}

/* ── Grid Systems ──────────────────────────────────── */
.kv-grid {
    display: grid;
    gap: var(--s-24);
}

.kv-grid--2 { grid-template-columns: 1fr; }
.kv-grid--3 { grid-template-columns: 1fr; }
.kv-grid--4 { grid-template-columns: 1fr; }

/* ── Two-Column Layout ─────────────────────────────── */
.kv-two-col {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--s-48);
    align-items: center;
}

.kv-two-col--reversed .kv-two-col__media { order: -1; }

.kv-two-col__media img {
    width: 100%;
    border-radius: var(--r-lg);
    object-fit: cover;
}

.kv-two-col__content {
    display: flex;
    flex-direction: column;
    gap: var(--s-16);
}

/* ── Split Hero Layout ─────────────────────────────── */
.kv-split-hero {
    display: grid;
    grid-template-columns: 1fr;
    min-height: calc(100vh - var(--header-h));
}

.kv-split-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--s-48) var(--s-24);
    order: 2;
}

.kv-split-hero__media {
    position: relative;
    overflow: hidden;
    order: 1;
    min-height: 300px;
}

.kv-split-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ── Content Width Limiter ─────────────────────────── */
.kv-content-narrow {
    max-width: 720px;
}

/* ── Divider ───────────────────────────────────────── */
.kv-divider {
    border: none;
    border-top: 1px solid var(--c-border);
    margin: var(--s-48) 0;
}
