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


    /* ════════════════════════════════════════════════════════
       EDITORIAL "WHAT'S INCLUDED" — Split Layout
       ════════════════════════════════════════════════════════ */

    .kalon-included {
        padding: 80px 24px;
        position: relative;
    }

    .kalon-included::after {
        content: '';
        position: absolute;
        bottom: 0; left: 10%; right: 10%;
        height: 1px;
        background: linear-gradient(90deg, transparent, var(--kalon-cyan), var(--kalon-green), transparent);
        opacity: 0.3;
    }

    .kalon-included__grid {
        max-width: 1100px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 56px;
        align-items: center;
    }

    .kalon-included__eyebrow {
        font-size: 13px; font-weight: 700;
        letter-spacing: 3px; text-transform: uppercase;
        color: var(--kalon-cyan); margin-bottom: 14px;
    }

    .kalon-included__title {
        font-size: clamp(30px, 4vw, 42px); font-weight: 300;
        line-height: 1.2; color: var(--kalon-text-primary); margin-bottom: 24px;
    }

    .kalon-included__narrative {
        font-size: clamp(16px, 1.8vw, 19px); font-weight: 300;
        line-height: 1.75; color: var(--kalon-text-body); margin-bottom: 32px;
    }

    .kalon-included__narrative em {
        font-style: italic; color: var(--kalon-text-primary); font-weight: 400;
    }

    .kalon-included__details {
        display: flex; flex-wrap: wrap; gap: 0;
        padding: 24px 0 0;
        border-top: 1px solid var(--kalon-border-light);
    }

    .kalon-included__item {
        padding: 8px 18px 8px 0; position: relative;
    }
    .kalon-included__item:not(:last-child) { margin-right: 12px; }
    .kalon-included__item:not(:last-child)::after {
        content: ''; position: absolute; right: 0; top: 50%;
        transform: translateY(-50%); width: 1px; height: 18px;
        background: var(--kalon-border-light);
    }

    .kalon-included__item-label {
        font-size: 9px; font-weight: 600;
        letter-spacing: 1.5px; text-transform: uppercase;
        color: var(--kalon-text-light); margin-bottom: 2px;
    }
    .kalon-included__item-value {
        font-size: 15px; font-weight: 400; color: var(--kalon-text-primary);
    }

    .kalon-included__image {
        border-radius: var(--kalon-radius); overflow: hidden;
        box-shadow: 0 8px 30px rgba(0,0,0,0.08);
    }
    .kalon-included__image img {
        width: 100%; height: 100%;
        aspect-ratio: 4 / 5; object-fit: cover; display: block;
    }

    @media (max-width: 900px) {
        .kalon-included { padding: 56px 24px; }
        .kalon-included__grid { grid-template-columns: 1fr; gap: 36px; }
        .kalon-included__image { order: -1; }
        .kalon-included__image img { aspect-ratio: 16 / 10; }
        .kalon-included__title,
        .kalon-included__eyebrow,
        .kalon-included__narrative { text-align: center; }
        .kalon-included__title.kalon-h2::after { margin-left: auto; margin-right: auto; }
        .kalon-included__details { justify-content: center; }
    }

    @media (max-width: 600px) {
        .kalon-included__details { flex-direction: column; align-items: center; gap: 4px; }
        .kalon-included__item { padding: 5px 0; margin-right: 0 !important; text-align: center; }
        .kalon-included__item:not(:last-child)::after { display: none; }
    }


    /* ════════════════════════════════════════════════════════
       SOCIAL PROOF STRIP — layout only (badge CSS in design system)
       ════════════════════════════════════════════════════════ */

    .kalon-proof { padding: 28px 24px; }


    /* ════════════════════════════════════════════════════════
       QUOTE BRIDGE
       ════════════════════════════════════════════════════════ */

    .kalon-quote {
        padding: 56px 24px; text-align: center;
    }
    .kalon-quote__inner { max-width: 680px; margin: 0 auto; }
    .kalon-quote__divider {
        width: 50px; height: 3px;
        background: linear-gradient(90deg, var(--kalon-cyan), var(--kalon-green));
        border-radius: 2px; margin: 0 auto 24px;
    }
    .kalon-quote__text {
        font-family: var(--kalon-font-serif);
        font-size: clamp(20px, 2.8vw, 26px); font-weight: 300;
        font-style: italic; line-height: 1.6;
        color: var(--kalon-text-primary); margin-bottom: 16px;
    }
    .kalon-quote__author {
        font-size: 12px; font-weight: 500;
        letter-spacing: 1.5px; text-transform: uppercase;
        color: var(--kalon-text-light);
    }

    @media (max-width: 768px) {
        .kalon-quote { padding: 44px 24px; }
    }


    /* ════════════════════════════════════════════════════════
       WAVE DIVIDER
       ════════════════════════════════════════════════════════ */

    .kalon-wave {
        padding: 44px 24px; text-align: center;
    }
    .kalon-wave__inner { max-width: 500px; margin: 0 auto; }
    .kalon-wave__svg { width: 100%; height: auto; display: block; }

    @media (max-width: 768px) {
        .kalon-wave { display: none; }
    }


    /* ════════════════════════════════════════════════════════
       IMAGE BREAK
       ════════════════════════════════════════════════════════ */

    .kalon-imgbreak {
        position: relative; overflow: hidden;
        height: 45svh; min-height: 280px; max-height: 480px;
    }
    .kalon-imgbreak img { width: 100%; height: 100%; object-fit: cover; }
    .kalon-imgbreak__overlay {
        position: absolute; bottom: 0; left: 0; right: 0;
        padding: 48px 24px 36px;
        background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
        text-align: center;
    }
    .kalon-imgbreak__quote {
        font-family: var(--kalon-font-serif);
        font-size: clamp(18px, 2.5vw, 24px); font-weight: 300;
        font-style: italic; color: #fff; line-height: 1.5;
        max-width: 580px; margin: 0 auto 10px;
        text-shadow: 0 1px 4px rgba(0,0,0,0.3);
    }
    .kalon-imgbreak__attr {
        font-size: 11px; font-weight: 500;
        letter-spacing: 1.5px; text-transform: uppercase;
        color: rgba(255,255,255,0.8);
        text-shadow: 0 1px 3px rgba(0,0,0,0.3);
    }

    @media (max-width: 768px) {
        .kalon-imgbreak { height: 35svh; min-height: 220px; }
    }


    /* ════════════════════════════════════════════════════════
       ACCOMMODATION CARDS
       ════════════════════════════════════════════════════════ */

    .kalon-rooms { padding: 80px 24px 72px; background: var(--kalon-bg-warm, #f7f4ef); }
    .kalon-rooms__inner { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
    .kalon-rooms__header { text-align: center; margin-bottom: 48px; }
    .kalon-rooms__eyebrow {
        font-size: 13px; font-weight: 700;
        letter-spacing: 3px; text-transform: uppercase;
        color: var(--kalon-cyan); margin-bottom: 14px;
    }
    .kalon-rooms__title {
        font-family: var(--kalon-font-serif);
        font-size: clamp(30px, 4vw, 42px); font-weight: 300;
        line-height: 1.2; color: var(--kalon-text-primary);
    }

    .kalon-rooms__grid {
        display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;
    }

    .kalon-room-card {
        background: var(--kalon-bg-white); border-radius: var(--kalon-radius); overflow: hidden;
        transition: box-shadow 0.4s ease, transform 0.4s ease;
        text-decoration: none; color: inherit; display: block;
    }
    .kalon-room-card:hover {
        box-shadow: 0 12px 40px rgba(0,0,0,0.10); transform: translateY(-3px);
    }

    .kalon-room-card__image { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
    .kalon-room-card__image img {
        width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease;
    }
    .kalon-room-card:hover .kalon-room-card__image img { transform: scale(1.04); }

    .kalon-room-card__badge {
        position: absolute; bottom: 12px; left: 12px;
        font-size: 9px; font-weight: 600;
        letter-spacing: 1.5px; text-transform: uppercase;
        color: #fff; background: rgba(0,0,0,0.5);
        backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
        padding: 6px 12px; border-radius: 3px;
    }

    .kalon-room-card__body { padding: 24px 28px 28px; }
    .kalon-room-card__name {
        font-family: var(--kalon-font-serif);
        font-size: 24px; font-weight: 400;
        color: var(--kalon-text-primary); margin-bottom: 8px; line-height: 1.2;
    }
    .kalon-room-card__features {
        font-size: 12px; font-weight: 400;
        color: var(--kalon-text-light); line-height: 1.6;
        margin-bottom: 20px; letter-spacing: 0.2px;
    }
    .kalon-room-card__footer {
        display: flex; align-items: flex-end; justify-content: space-between;
    }
    .kalon-room-card__price-label {
        font-size: 10px; font-weight: 500;
        letter-spacing: 1px; text-transform: uppercase;
        color: var(--kalon-text-light); margin-bottom: 2px;
    }
    .kalon-room-card__price {
        font-family: var(--kalon-font-serif);
        font-size: 28px; font-weight: 400; color: var(--kalon-text-primary);
    }
    .kalon-room-card__price span {
        font-size: 14px; color: var(--kalon-text-light); font-weight: 400;
    }
    .kalon-room-card__cta {
        font-size: 11px; font-weight: 500;
        letter-spacing: 1.5px; text-transform: uppercase;
        color: var(--kalon-cyan) !important; text-decoration: none !important;
        padding-bottom: 2px;
        border-bottom: 1px solid transparent;
        transition: border-color 0.3s ease, color 0.3s ease;
    }
    .kalon-room-card__cta:hover {
        border-bottom-color: var(--kalon-cyan);
        color: rgb(0, 150, 185) !important;
    }

    .kalon-rooms__viewall { text-align: center; margin-top: 36px; }
    .kalon-rooms__viewall a {
        font-size: 12px; font-weight: 500;
        letter-spacing: 2px; text-transform: uppercase;
        color: var(--kalon-text-body) !important; text-decoration: none !important;
        padding-bottom: 4px;
        border-bottom: 1px solid var(--kalon-border-light);
        transition: color 0.3s ease, border-color 0.3s ease;
    }
    .kalon-rooms__viewall a:hover {
        color: var(--kalon-cyan) !important; border-bottom-color: var(--kalon-cyan);
    }
    .kalon-rooms__rates-note {
        text-align: center; margin-top: 14px;
        font-size: 11px; color: var(--kalon-text-light); letter-spacing: 0.3px;
    }

    @media (max-width: 768px) {
        .kalon-rooms { padding: 56px 24px 48px; }
        .kalon-rooms__grid { grid-template-columns: 1fr; gap: 20px; }
        .kalon-room-card__body { padding: 20px 20px 24px; }
        .kalon-room-card__name { font-size: 21px; }
        .kalon-room-card__price { font-size: 24px; }
    }


    /* ════════════════════════════════════════════════════════
       FINAL CTA
       ════════════════════════════════════════════════════════ */

    .kalon-cta {
        padding: 72px 24px 64px; text-align: center;
        position: relative;
    }
    .kalon-cta__inner { max-width: 660px; margin: 0 auto; }
    .kalon-cta__title {
        font-family: var(--kalon-font-serif);
        font-size: clamp(26px, 4vw, 40px); font-weight: 300;
        line-height: 1.25; color: var(--kalon-text-primary); margin-bottom: 16px;
    }
    .kalon-cta__sub {
        font-family: var(--kalon-font-serif);
        font-size: clamp(15px, 1.8vw, 18px); font-weight: 300;
        line-height: 1.65; color: var(--kalon-text-body); margin-bottom: 36px;
    }

    @media (max-width: 768px) {
        .kalon-cta { padding: 44px 24px 36px; }
        .kalon-cta__sub { display: none; }
    }


    /* ════════════════════════════════════════════════════════
       PRESS LOGOS
       ════════════════════════════════════════════════════════ */

    .kalon-press {
        padding: 32px 24px;
        border-bottom: 1px solid var(--kalon-border-faint);
    }
    .kalon-press__inner { max-width: 900px; margin: 0 auto; text-align: center; }
    .kalon-press__label {
        font-size: 10px; font-weight: 500;
        letter-spacing: 2.5px; text-transform: uppercase;
        color: var(--kalon-text-light); margin-bottom: 18px;
    }
    .kalon-press__logos {
        display: flex; align-items: center;
        justify-content: center; gap: 36px; flex-wrap: wrap;
    }
    .kalon-press__logos img {
        height: 22px; width: auto; opacity: 0.50;
        filter: grayscale(100%); transition: opacity 0.3s ease;
    }
    .kalon-press__logos img:hover { opacity: 0.75; }
    .kalon-press__logos img.kalon-logo-ta { height: 30px; }

    @media (max-width: 640px) {
        .kalon-press__logos { gap: 24px; }
        .kalon-press__logos img { height: 18px; }
        .kalon-press__logos img.kalon-logo-ta { height: 24px; }
    }


    /* ════════════════════════════════════════════════════════
       PAGE-LEVEL OVERRIDES — Elementor form area
       ════════════════════════════════════════════════════════ */

    #treat-yourself { border-top: none !important; }
    .elementor-section:has(#treat-yourself),
    .e-con:has(#treat-yourself),
    .elementor-element:has(#treat-yourself) {
        border-top: none !important; box-shadow: none !important;
    }
    .elementor-section:has(#treat-yourself) .elementor-shape-top,
    .e-con:has(#treat-yourself) .elementor-shape-top { display: none !important; }

