/*
 * Extracted from mu-plugins/kalon-family-surf-camp.php on 2026-04-10
 * (Phase 4 of the kalon-theme refactor).
 */


    /* ── Hero overrides ─────────────────────────────────────── */
    .fsc-hero {
        position: relative !important;
        height: 55svh !important;
        min-height: 340px !important;
        max-height: 600px !important;
        overflow: hidden;
    }
    .fsc-hero__img {
        position: absolute !important; inset: 0 !important;
        width: 100% !important; height: 100% !important;
        object-fit: cover !important;
        object-position: center 40% !important;
        display: block; z-index: 0;
    }
    .fsc-hero .kalon-hero__content {
        position: absolute !important;
        top: 0; left: 0; right: 0; bottom: 0;
        width: 100% !important; max-width: 100% !important;
        display: flex; flex-direction: column;
        align-items: center; justify-content: center;
        z-index: 2; padding: 100px 24px 40px !important; margin: 0 !important;
        background: rgba(0,0,0,0.45);
    }
    .fsc-hero__stats {
        display: flex; justify-content: center; gap: 40px;
        margin-bottom: 36px;
    }
    .fsc-hero__sv {
        font-size: 24px; font-weight: 300; color: #fff;
        letter-spacing: 0.02em;
    }
    .fsc-hero__sl {
        font-size: 11px; font-weight: 500; letter-spacing: 0.1em;
        text-transform: uppercase; color: rgba(255,255,255,0.7);
        margin-top: 4px;
    }

    /* ── Two-column zig-zag rows ────────────────────────────── */
    .fsc-row {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 48px; align-items: center;
    }
    .fsc-row--rev { direction: rtl; }
    .fsc-row--rev > * { direction: ltr; }
    .fsc-row h2 {
        font-size: 32px; font-weight: 300; letter-spacing: 0.06em;
        text-transform: uppercase; color: var(--kalon-text-primary);
        margin: 0 0 12px; line-height: 1.2;
    }
    .fsc-row h2::after {
        content: ""; display: block; width: 80px; height: 3px;
        background: var(--kalon-gradient); margin-top: 12px; margin-bottom: 24px;
    }
    .fsc-row p {
        color: var(--kalon-text-body); line-height: 1.75; margin-bottom: 16px;
    }
    .fsc-row p:last-child { margin-bottom: 0; }
    .fsc-row p a {
        color: var(--kalon-cyan); text-decoration: none;
    }
    .fsc-row p a:hover { text-decoration: underline; }
    .fsc-row img {
        border-radius: 12px; width: 100%;
        aspect-ratio: 1.3333; /* 4:3 — decimal avoids FlyingPress parser bug */
        object-fit: cover; display: block;
    }

    /* ── All-Inclusive grid ──────────────────────────────────── */
    .fsc-allinc__grid {
        display: grid; grid-template-columns: 1fr 1fr; gap: 12px 48px;
        margin-top: 40px; max-width: 580px;
        margin-left: auto; margin-right: auto; text-align: left;
    }
    .fsc-allinc__item {
        font-size: 15px; color: var(--kalon-text-primary);
        padding: 10px 0; border-bottom: 1px solid #eeebe6;
    }
    .fsc-allinc__body {
        max-width: 680px; margin: 40px auto 0; text-align: left;
    }
    .fsc-allinc__body p {
        color: var(--kalon-text-body); line-height: 1.75; margin-bottom: 16px;
    }
    .fsc-allinc__body p:last-child { margin-bottom: 0; }

    /* ── Video ───────────────────────────────────────────────── */
    .fsc-video-wrap {
        max-width: 800px; margin: 40px auto 0;
    }

    /* ── Reviews ─────────────────────────────────────────────── */
    .fsc-reviews__grid {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 24px; text-align: left; margin-top: 40px;
    }
    .fsc-review {
        background: #fff; border-radius: 12px; padding: 28px 24px;
        display: flex; flex-direction: column;
    }
    .fsc-review__stars { color: #f5a623; font-size: 16px; margin-bottom: 12px; }
    .fsc-review__q {
        font-family: "Cormorant Garamond", Georgia, serif;
        font-size: 17px; font-weight: 400; font-style: italic;
        color: var(--kalon-text-body);
        line-height: 1.6; flex: 1; margin-bottom: 20px;
    }
    .fsc-review__name { font-size: 14px; font-weight: 500; color: var(--kalon-text-primary); }
    .fsc-review__src { font-size: 12px; color: var(--kalon-text-light); margin-top: 2px; }

    /* ── SEO footer ──────────────────────────────────────────── */
    .fsc-seo {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 48px; align-items: start;
    }
    .fsc-seo h2 {
        font-size: 32px; font-weight: 300; letter-spacing: 0.06em;
        text-transform: uppercase; color: var(--kalon-text-primary);
        margin: 0 0 12px; line-height: 1.2;
    }
    .fsc-seo h2::after {
        content: ""; display: block; width: 80px; height: 3px;
        background: var(--kalon-gradient); margin-top: 12px; margin-bottom: 24px;
    }
    .fsc-seo p {
        color: var(--kalon-text-body); line-height: 1.75; margin-bottom: 16px;
    }
    .fsc-seo p:last-child { margin-bottom: 0; }
    .fsc-seo a { color: var(--kalon-cyan); text-decoration: none; }
    .fsc-seo a:hover { text-decoration: underline; }
    .fsc-seo__img {
        border-radius: 12px; width: 100%;
        aspect-ratio: 1.3333;
        object-fit: cover; display: block;
        position: sticky; top: 100px;
    }

    /* ── Mobile ──────────────────────────────────────────────── */
    @media (max-width: 768px) {
        .fsc-hero { height: 50svh !important; min-height: 300px !important; max-height: 450px !important; }
        .fsc-hero .kalon-hero__content { padding: 80px 24px 30px !important; }
        .fsc-hero__stats { gap: 24px; }
        .fsc-hero__sv { font-size: 20px; }
        .fsc-row { grid-template-columns: 1fr; gap: 32px; }
        .fsc-row--rev { direction: ltr; }
        .fsc-row h2 { font-size: 26px; }
        .fsc-allinc__grid { grid-template-columns: 1fr; max-width: 100%; }
        .fsc-reviews__grid { grid-template-columns: 1fr; }
        .fsc-seo { grid-template-columns: 1fr; }
        .fsc-seo__img-wrap { display: none; }
    }

