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


    /* ── Hero overrides ─────────────────────────────────────── */
    .kned-hero {
        position: relative !important;
        height: 65svh !important;
        min-height: 440px !important;
        max-height: 680px !important;
        overflow: hidden;
    }
    .kned-hero__bg {
        position: absolute !important; inset: 0 !important;
        width: 100% !important; height: 100% !important;
        object-fit: cover !important;
        object-position: center 30% !important;
        display: block; z-index: 0;
    }
    .kned-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);
    }
    .kned-hero__stats {
        display: flex; justify-content: center; gap: 48px;
        margin-top: 24px;
    }
    .kned-hero__sv {
        font-size: 28px; font-weight: 300; color: #fff;
        letter-spacing: 0.02em;
    }
    .kned-hero__sl {
        font-size: 10px; font-weight: 600; letter-spacing: 0.12em;
        text-transform: uppercase; color: rgba(255,255,255,0.6);
        margin-top: 4px;
    }

    /* ── Intro: video + text ──────────────────────────────────── */
    .kned-intro__grid {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 56px; align-items: center;
    }
    .kned-intro__text {
        font-size: 15px; line-height: 1.78;
        color: var(--kalon-text-body);
    }
    .kned-intro__text p { margin: 0 0 14px; }
    .kned-intro__text p:last-child { margin-bottom: 0; }

    /* ── Journey: timeline chapters ───────────────────────────── */
    .kned-chapter {
        display: grid; grid-template-columns: 1fr 1fr;
        gap: 56px; align-items: start;
        padding: 48px 0;
        border-bottom: 1px solid var(--kalon-border-faint);
    }
    .kned-chapter:last-child { padding-bottom: 0; border-bottom: none; }
    .kned-chapter--reverse .kned-chapter__media { order: 2; }
    .kned-chapter--reverse .kned-chapter__body  { order: 1; }

    .kned-chapter__media {
        position: relative; border-radius: var(--kalon-radius);
        overflow: hidden; aspect-ratio: 4/3;
        background: var(--kalon-bg-warm);
    }
    .kned-chapter__media img {
        width: 100%; height: 100%;
        object-fit: cover; display: block;
    }
    .kned-chapter__badge {
        position: absolute; bottom: 16px; left: 16px;
        background: rgba(0,0,0,0.58); backdrop-filter: blur(4px);
        border-radius: var(--kalon-radius-pill);
        padding: 5px 14px;
        font-family: var(--kalon-font-body);
        font-size: 10px; font-weight: 600;
        letter-spacing: 0.12em; text-transform: uppercase;
        color: #fff;
    }
    .kned-chapter__visit {
        position: absolute; top: 16px; right: 16px;
        background: var(--kalon-gradient);
        border-radius: var(--kalon-radius-pill);
        padding: 5px 14px;
        font-family: var(--kalon-font-body);
        font-size: 10px; font-weight: 600;
        letter-spacing: 0.1em; text-transform: uppercase;
        color: #fff;
    }

    .kned-chapter__body {
        display: flex; flex-direction: column; gap: 14px;
    }
    .kned-chapter__pull {
        font-family: var(--kalon-font-serif);
        font-size: 19px; font-weight: 300; font-style: italic;
        color: var(--kalon-text-body); line-height: 1.55;
        border-left: 3px solid var(--kalon-cyan);
        padding-left: 20px; margin: 4px 0;
    }
    .kned-chapter__text {
        font-size: 14.5px; line-height: 1.78;
        color: var(--kalon-text-body);
    }
    .kned-chapter__text p { margin: 0 0 12px; }
    .kned-chapter__text p:last-child { margin-bottom: 0; }

    /* Expandable full review text */
    .kned-chapter__full {
        display: none;
        font-size: 14.5px; line-height: 1.78;
        color: var(--kalon-text-body);
        margin-top: 4px;
    }
    .kned-chapter__full.show { display: block; }
    .kned-chapter__full p { margin: 0 0 12px; }
    .kned-chapter__full p:last-child { margin-bottom: 0; }

    .kned-toggle {
        display: inline-flex; align-items: center; gap: 8px;
        font-family: var(--kalon-font-body);
        font-size: 12px; font-weight: 600;
        letter-spacing: 0.12em; text-transform: uppercase;
        color: var(--kalon-text-primary); text-decoration: none;
        cursor: pointer; transition: gap 0.2s;
        background: none; border: none; padding: 0;
    }
    .kned-toggle:hover { gap: 14px; }
    .kned-toggle::after { content: '→'; color: var(--kalon-cyan); }

    /* ── Pull quotes: 3-col cards ─────────────────────────────── */
    .kned-quotes__grid {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 24px; margin-top: 48px;
    }
    .kned-quote {
        background: #fff; border-radius: var(--kalon-radius);
        padding: 32px 24px 28px; text-align: center;
        box-shadow: 0 2px 16px rgba(0,0,0,0.06);
        transition: transform 0.2s;
    }
    .kned-quote:hover { transform: translateY(-3px); }
    .kned-quote__icon {
        width: 32px; height: 32px; margin: 0 auto 16px;
        color: var(--kalon-cyan); opacity: 0.5;
    }
    .kned-quote__text {
        font-family: var(--kalon-font-serif);
        font-size: 17px; font-weight: 300; font-style: italic;
        line-height: 1.6; color: var(--kalon-text-body);
        margin-bottom: 16px;
    }
    .kned-quote__label {
        font-size: 11px; font-weight: 600; letter-spacing: 0.1em;
        text-transform: uppercase; color: var(--kalon-text-faint);
    }

    /* ── Reviews: 3-col cards ─────────────────────────────────── */
    .kned-reviews__grid {
        display: grid; grid-template-columns: repeat(3, 1fr);
        gap: 24px; margin-top: 48px;
    }
    .kned-review {
        background: var(--kalon-bg-warm);
        border-radius: var(--kalon-radius);
        padding: 28px 24px 24px;
        display: flex; flex-direction: column;
        transition: transform 0.2s;
    }
    .kned-review:hover { transform: translateY(-3px); }
    .kned-review__stars {
        color: #f5a623; font-size: 13px;
        letter-spacing: 2px; margin-bottom: 12px;
    }
    .kned-review__q {
        font-family: var(--kalon-font-serif);
        font-size: 15px; font-style: italic; line-height: 1.65;
        color: var(--kalon-text-body); flex: 1; margin: 0 0 16px;
    }
    .kned-review__name {
        font-size: 13px; font-weight: 600;
        color: var(--kalon-text-primary);
    }
    .kned-review__src {
        font-size: 11px; color: var(--kalon-text-light);
        margin-top: 3px;
    }

    /* ── SEO footer: text + image ─────────────────────────────── */
    .kned-seo__grid {
        display: grid; grid-template-columns: 1.2fr 0.8fr;
        gap: 48px; align-items: start;
    }
    .kned-seo__text h2 {
        font-family: var(--kalon-font-body);
        font-size: 20px; font-weight: 400;
        letter-spacing: 0.04em; text-transform: uppercase;
        color: var(--kalon-text-primary); margin: 0 0 16px;
    }
    .kned-seo__text p {
        font-size: 14.5px; line-height: 1.78;
        color: var(--kalon-text-body); margin: 0 0 14px;
    }
    .kned-seo__text p:last-child { margin-bottom: 0; }
    .kned-seo__img {
        width: 100%; aspect-ratio: 4/3;
        object-fit: cover; border-radius: var(--kalon-radius);
        display: block;
    }

    /* ── Responsive ───────────────────────────────────────────── */
    @media (max-width: 768px) {
        .kned-hero { height: 55svh !important; min-height: 380px !important; }
        .kned-hero .kalon-hero__content { background: rgba(0,0,0,0.55); }
        .kned-hero__stats { gap: 28px; }
        .kned-hero__sv { font-size: 22px; }
        .kned-hero .kalon-cta-btn { display: none !important; }
        .kned-intro__grid { grid-template-columns: 1fr; gap: 32px; }
        .kned-chapter {
            grid-template-columns: 1fr; gap: 24px;
        }
        .kned-chapter--reverse .kned-chapter__media,
        .kned-chapter--reverse .kned-chapter__body { order: unset; }
        .kned-quotes__grid {
            grid-template-columns: 1fr;
            max-width: 400px; margin-left: auto; margin-right: auto;
        }
        .kned-reviews__grid {
            grid-template-columns: 1fr;
            max-width: 400px; margin-left: auto; margin-right: auto;
        }
        .kned-seo__grid { grid-template-columns: 1fr; }
    }
