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


    /* ── Hero overrides ─────────────────────────────────────── */
    .well-hero {
        position: relative !important;
        height: 55svh !important;
        min-height: 340px !important;
        max-height: 600px !important;
        overflow: hidden;
    }
    .well-hero__img {
        position: absolute !important; inset: 0 !important;
        width: 100% !important; height: 100% !important;
        object-fit: cover !important;
        object-position: center 45% !important;
        display: block; z-index: 0;
    }
    .well-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);
    }
    .well-hero__stats {
        display: flex; justify-content: center; gap: 40px;
        margin-bottom: 36px;
    }
    .well-hero__sv {
        font-size: 24px; font-weight: 300; color: #fff;
        letter-spacing: 0.02em;
    }
    .well-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 ────────────────────────────── */
    .well-row {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 48px; align-items: center;
    }
    .well-row--rev { direction: rtl; }
    .well-row--rev > * { direction: ltr; }
    .well-row h2 {
        font-size: 32px; font-weight: 300; letter-spacing: 0.06em;
        text-transform: uppercase; color: var(--kalon-text-primary, #1a1a1a);
        margin: 0 0 20px; line-height: 1.3;
    }
    .well-row h2::after {
        content: ''; display: block; width: 60px; height: 3px;
        background: var(--kalon-gradient); margin-top: 14px;
    }
    .well-row p {
        font-size: 15px; line-height: 1.8;
        color: var(--kalon-text-body, #3a3a3a); margin: 0 0 14px;
    }
    .well-row p:last-child { margin-bottom: 0; }
    .well-row img {
        width: 100%; border-radius: 12px; display: block;
        aspect-ratio: 4/3; object-fit: cover;
    }

    /* ── Spa treatments grid ──────────────────────────────── */
    .well-spa-grid {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 20px; margin-top: 40px;
    }
    .well-spa-card {
        background: #fff; border-radius: 12px; padding: 28px 24px;
        text-align: center; box-shadow: 0 2px 12px rgba(0,0,0,0.05);
        transition: transform 0.2s;
    }
    .well-spa-card:hover { transform: translateY(-2px); }
    .well-spa-card__name {
        font-family: var(--kalon-font-body, 'Montserrat', sans-serif);
        font-size: 16px; font-weight: 500; letter-spacing: 0.04em;
        text-transform: uppercase; color: var(--kalon-text-primary, #1a1a1a);
        margin: 0 0 8px;
    }
    .well-spa-card__desc {
        font-size: 13.5px; line-height: 1.6;
        color: var(--kalon-text-light, #6a6a6a); margin: 0;
    }

    /* ── Spa intro text columns ───────────────────────────── */
    .well-spa-intro {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 48px; align-items: center; margin-bottom: 20px;
    }
    .well-spa-intro p {
        font-size: 15px; line-height: 1.8;
        color: var(--kalon-text-body, #3a3a3a); margin: 0 0 14px;
    }
    .well-spa-intro img {
        width: 100%; border-radius: 12px; display: block;
        aspect-ratio: 4/3; object-fit: cover;
    }

    /* ── Pillars (3-column cards — same as coaching page) ─── */
    .well-pillars-grid {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 32px; margin-top: 48px; padding: 0 12px;
    }
    .well-pillar {
        background: #fff; border-radius: 12px; overflow: hidden;
        transition: transform 0.2s;
        box-shadow: 0 2px 16px rgba(0,0,0,0.06);
    }
    .well-pillar:hover { transform: translateY(-3px); }
    .well-pillar__photo {
        aspect-ratio: 3/4; overflow: hidden;
    }
    .well-pillar__photo img {
        width: 100%; height: 100%; object-fit: cover; display: block;
        transition: transform 0.4s;
    }
    .well-pillar:hover .well-pillar__photo img {
        transform: scale(1.03);
    }
    .well-pillar__body {
        padding: 28px 24px 32px; text-align: center;
    }
    .well-pillar__label {
        font-size: 11px; font-weight: 600; letter-spacing: 0.12em;
        text-transform: uppercase;
        background: var(--kalon-gradient); -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; background-clip: text;
        margin-bottom: 10px;
    }
    .well-pillar__title {
        font-size: 20px; font-weight: 400; letter-spacing: 0.04em;
        text-transform: uppercase; color: var(--kalon-text-primary, #1a1a1a);
        line-height: 1.3; margin: 0 0 14px;
    }
    .well-pillar__text {
        font-size: 14px; line-height: 1.7;
        color: var(--kalon-text-body, #3a3a3a);
    }
    .well-pillar__text p { margin: 0 0 10px; }
    .well-pillar__text p:last-child { margin-bottom: 0; }

    /* ── Included strip ──────────────────────────────────── */
    .well-included-strip {
        display: flex; flex-wrap: wrap; justify-content: center;
        gap: 32px; padding: 32px 0 0;
    }
    .well-included-item {
        text-align: center; flex: 0 0 auto;
    }
    .well-included-item__value {
        font-size: 28px; font-weight: 300;
        color: var(--kalon-text-primary, #1a1a1a);
    }
    .well-included-item__label {
        font-size: 11px; font-weight: 500; letter-spacing: 0.1em;
        text-transform: uppercase; color: var(--kalon-text-light, #6a6a6a);
        margin-top: 4px;
    }

    /* ── Mobile ─────────────────────────────────────────── */
    @media (max-width: 768px) {
        .well-hero { height: 50svh !important; min-height: 300px !important; max-height: 450px !important; }
        .well-hero .kalon-hero__content { padding: 80px 24px 30px !important; }
        .well-hero__stats { gap: 24px; }
        .well-hero__sv { font-size: 20px; }

        .well-row,
        .well-spa-intro { grid-template-columns: 1fr; gap: 24px; }
        .well-row--rev { direction: ltr; }
        .well-row h2 { font-size: 26px; }

        .well-spa-grid {
            grid-template-columns: 1fr 1fr; gap: 12px;
        }

        .well-pillars-grid {
            grid-template-columns: 1fr; max-width: 400px;
            margin-left: auto; margin-right: auto;
        }
        .well-pillar__photo { aspect-ratio: 16/9; }
    }

    @media (max-width: 480px) {
        .well-spa-grid { grid-template-columns: 1fr; }
    }

