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


    /* ── Hero overrides ─────────────────────────────────────── */
    .wsc-hero {
        position: relative !important;
        height: 55svh !important;
        min-height: 340px !important;
        max-height: 600px !important;
        overflow: hidden;
    }
    .wsc-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;
    }
    .wsc-hero::before {
        display: none !important;
    }
    .wsc-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: 0 24px !important; margin: 0 !important;
        background: rgba(0,0,0,0.45);
    }
    .wsc-hero__stats {
        display: flex; justify-content: center; gap: 40px;
        margin-bottom: 36px;
    }
    .wsc-hero__sv {
        font-size: 24px; font-weight: 300; color: #fff;
        letter-spacing: 0.02em;
    }
    .wsc-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 ────────────────────────────── */
    .wsc-row {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 48px; align-items: center;
    }
    .wsc-row--rev { direction: rtl; }
    .wsc-row--rev > * { direction: ltr; }
    .wsc-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;
    }
    .wsc-row h2::after {
        content: ""; display: block; width: 80px; height: 3px;
        background: var(--kalon-gradient); margin-top: 12px; margin-bottom: 24px;
    }
    .wsc-row p {
        color: var(--kalon-text-body); line-height: 1.75; margin-bottom: 16px;
    }
    .wsc-row p:last-child { margin-bottom: 0; }
    .wsc-row p a {
        color: var(--kalon-cyan); text-decoration: none;
    }
    .wsc-row p a:hover { text-decoration: underline; }
    .wsc-row img {
        border-radius: 12px; width: 100%;
        aspect-ratio: 1.3333; /* 4:3 — decimal avoids FlyingPress parser bug */
        object-fit: cover; display: block;
    }

    /* ── Pillar cards ───────────────────────────────────────── */
    .wsc-pillars__lead {
        text-align: center; font-size: 16px;
        max-width: 640px; margin: 0 auto 48px;
        color: var(--kalon-text-body);
    }
    .wsc-pillars__grid {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 32px;
    }
    .wsc-pillar {
        background: #ffffff;
        border-radius: 12px; overflow: hidden;
        transition: transform 0.2s;
        box-shadow: 0 2px 16px rgba(0,0,0,0.06);
    }
    .wsc-pillar:hover { transform: translateY(-3px); }
    .wsc-pillar__photo {
        aspect-ratio: 3/4; overflow: hidden;
    }
    .wsc-pillar__photo img {
        width: 100%; height: 100%; object-fit: cover;
        display: block; transition: transform 0.4s;
    }
    .wsc-pillar:hover .wsc-pillar__photo img {
        transform: scale(1.03);
    }
    .wsc-pillar__body {
        padding: 28px 24px 32px; text-align: center;
    }
    .wsc-pillar__label {
        font-family: 'Montserrat', sans-serif;
        font-size: 11px; font-weight: 600;
        letter-spacing: 0.12em; text-transform: uppercase;
        background: linear-gradient(90deg, #00B3DB 0%, #58D652 100%);
        -webkit-background-clip: text; -webkit-text-fill-color: transparent;
        background-clip: text; margin-bottom: 10px;
    }
    .wsc-pillar__title {
        font-family: 'Montserrat', sans-serif;
        font-size: 20px; font-weight: 400;
        letter-spacing: 0.04em; text-transform: uppercase;
        color: #1a1a1a; line-height: 1.3; margin: 0 0 14px;
    }
    .wsc-pillar__text {
        font-size: 14px; line-height: 1.7; color: #3a3a3a;
    }

    /* ── All-Inclusive two-column layout ─────────────────────── */
    .wsc-allinc__subtitle {
        font-size: 16px; color: #6a6a6a; text-align: center;
        margin-top: 8px; font-weight: 300; letter-spacing: 0.01em;
    }
    .wsc-allinc__cols {
        display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px;
        margin-top: 48px; text-align: left;
    }
    .wsc-allinc__col-title {
        font-family: 'Montserrat', sans-serif;
        font-size: 13px; font-weight: 600; letter-spacing: 0.12em;
        text-transform: uppercase; color: #1a1a1a;
        padding-bottom: 14px; margin-bottom: 8px;
        border-bottom: 3px solid; border-image: linear-gradient(90deg, #00B3DB 0%, #58D652 100%) 1;
    }
    .wsc-allinc__row {
        padding: 18px 0; border-bottom: 1px solid #eeebe6;
        font-size: 15px; line-height: 1.6; color: #3a3a3a;
        display: flex; align-items: baseline; gap: 14px;
    }
    .wsc-allinc__row:last-child { border-bottom: none; }
    .wsc-allinc__dot {
        width: 8px; height: 8px; min-width: 8px;
        border-radius: 50%; background: #00B3DB;
        margin-top: 5px;
    }
    .wsc-allinc__row strong {
        font-weight: 600; color: #1a1a1a;
    }
    .wsc-allinc__body {
        max-width: 680px; margin: 48px auto 0; text-align: left;
    }
    .wsc-allinc__body p {
        color: var(--kalon-text-body); line-height: 1.75; margin-bottom: 16px;
    }
    .wsc-allinc__body p:last-child { margin-bottom: 0; }

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

    /* ── Reviews ─────────────────────────────────────────────── */
    .wsc-reviews__grid {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 24px; text-align: left; margin-top: 40px;
    }
    .wsc-review {
        background: #fff; border-radius: 12px; padding: 28px 24px;
        display: flex; flex-direction: column;
    }
    .wsc-review__stars { color: #f5a623; font-size: 16px; margin-bottom: 12px; }
    .wsc-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;
    }
    .wsc-review__name { font-size: 14px; font-weight: 500; color: var(--kalon-text-primary); }
    .wsc-review__src { font-size: 12px; color: var(--kalon-text-light); margin-top: 2px; }

    /* ── SEO footer cols ────────────────────────────────────── */
    .wsc-seo {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 48px; align-items: start;
    }
    .wsc-seo img {
        border-radius: 12px; width: 100%;
        aspect-ratio: 1.3333;
        object-fit: cover; display: block; margin-top: 8px;
    }
    .wsc-seo__sticky {
        position: sticky; top: 100px;
    }

    /* ── Mobile ──────────────────────────────────────────────── */
    @media (max-width: 768px) {
        .wsc-hero { height: 45svh !important; min-height: 280px !important; max-height: 420px !important; }
        .wsc-hero__cta { display: none; }
        .wsc-hero__stats { gap: 24px; }
        .wsc-hero__sv { font-size: 20px; }
        .wsc-row { grid-template-columns: 1fr; gap: 32px; }
        .wsc-row--rev { direction: ltr; }
        .wsc-row h2 { font-size: 26px; }
        .wsc-pillars__grid { grid-template-columns: 1fr; max-width: 400px; margin-left: auto; margin-right: auto; }
        .wsc-pillar__photo { aspect-ratio: 16/9; }
        .wsc-allinc__cols { grid-template-columns: 1fr; gap: 40px 0; }
        .wsc-reviews__grid { grid-template-columns: 1fr; }
        .wsc-seo { grid-template-columns: 1fr; }
        .wsc-seo__sticky { display: none; }
    }

