/* ===================================================================
   Single Product — Konferencja
   Extends single-szkolenie.css — reuses all .sp-* classes
   =================================================================== */

/* ── Ghost button (hero overlay, dark background) ───────────────── */

/* ── Medium button size (hero) ──────────────────────────────────── */

.kf-hero__btns .sp-btn {
    padding: 14px 32px;
}

/* ── Archive info bar ───────────────────────────────────────────── */

.kf-archive-bar {
    background: #ffeaf4;
}

.kf-archive-bar__inner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 16px;
    padding-bottom: 16px;
}

.kf-archive-bar__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.kf-archive-bar__text {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--wp--preset--color--pink-500);
}

/* ── Hero: archived date strikethrough ──────────────────────────── */

.sp-hero__meta-item .kf-date--archived {
    text-decoration: line-through;
    opacity: 0.7;
}

/* ── Sidebar: archive registration box title ────────────────────── */

.sp-edition__archive-title {
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    color: var(--wp--preset--color--white);
}

/* ── Sidebar: archive state ─────────────────────────────────────── */

.sp-edition__archive {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sp-edition__archive-text {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    color: var(--wp--preset--color--dark);
}


/* ── Hero: overlay + gradient ───────────────────────────────────── */

.sp-hero--konf .sp-hero__overlay {
    background-color: rgba(26, 26, 37, 0.5);
    background-image: linear-gradient(1deg, var(--wp--preset--color--black) 25.74%, rgba(26, 26, 37, 0.00) 99.02%);
}

/* ── Hero: type label ("KONFERENCJE") ──────────────────────────── */

.kf-hero__type {
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--yellow);
    line-height: 20px;
    margin: 0 0 4px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* ── Hero: edition badge ────────────────────────────────────────── */

.kf-tag--edition {
    background: rgba(103, 58, 183, 0.18);
    color: #c9b8f5;
}

/* ── Hero: subtitle ─────────────────────────────────────────────── */

.kf-hero__subtitle {
    margin: 8px 0 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    color: #e4e4ea;
}

/* ── Hero: conference meta row ──────────────────────────────────── */

.kf-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 12px;
}

.kf-hero__meta .sp-hero__meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--white);
}

.kf-hero__meta .sp-hero__meta-item svg {
    flex-shrink: 0;
}

/* ── Hero: CTA buttons ──────────────────────────────────────────── */

.kf-hero__btns {
    display: flex;
    gap: 16px;
    margin-top: 28px;
    flex-wrap: wrap;
}

.sp-btn--ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    border-radius: 0;
    border: 1px solid var(--wp--preset--color--white);
    color: var(--wp--preset--color--white);
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}

.sp-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--white);
}

.sp-btn--outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    border-radius: 4px;
    border: 1px solid var(--wp--preset--color--dark);
    color: var(--wp--preset--color--dark);
    background: var(--wp--preset--color--white);
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s;
}

.sp-btn--outline:hover {
    background: var(--wp--preset--color--neutral-100);
    color: var(--wp--preset--color--dark);
}

/* ── USP strip ──────────────────────────────────────────────────── */

.kf-usp {
    background: #1a1a24;
    padding: 32px 0;
}

.kf-usp__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px 40px;
}

.kf-usp__item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.kf-usp__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wp--preset--color--yellow);
}

.kf-usp__icon svg {
    width: 20px;
    height: 20px;
}

.kf-usp__title {
    font-size: 14px;
    font-weight: 700;
    color: var(--wp--preset--color--white);
    margin: 0 0 4px;
    line-height: 20px;
}

.kf-usp__text {
    font-size: 13px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
    line-height: 18px;
}

/* ── Program section ────────────────────────────────────────────── */

.kf-program {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.kf-program__head {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kf-program__eyebrow {
    display: flex;
    align-items: center;
    gap: 16px;
}

.kf-program__eyebrow-bar {
    display: inline-block;
    width: 4px;
    height: 24px;
    background: var(--wp--preset--color--pink-500);
    flex-shrink: 0;
}

.kf-block__eyebrow-label,
.kf-program__eyebrow-label {
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--pink-500);
    line-height: 20px;
}

.kf-program__title {
    font-size: 32px;
    font-weight: 400;
    color: var(--wp--preset--color--black);
    line-height: 1;
    margin: 0;
}

.kf-program__subtitle {
    font-size: 20px;
    font-weight: 400;
    color: var(--wp--preset--color--dark);
    line-height: 28px;
    margin: 0;
}

.kf-program__desc {
    font-size: 16px;
    font-weight: 300;
    color: var(--wp--preset--color--dark);
    line-height: 24px;
    margin: 0;
    max-width: 680px;
}

/* ── Program: empty state card ──────────────────────────────────── */

.kf-program__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 40px 24px;
    background: var(--wp--preset--color--white);
    border: 1px solid #e4e4ea;
    border-radius: 16px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.kf-program__empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #ffeaf4;
    border-radius: 4px;
    flex-shrink: 0;
}

.kf-program__empty-text {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    max-width: 480px;
}

.kf-program__empty-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--wp--preset--color--black);
    line-height: 20px;
    margin: 0;
}

.kf-program__empty-desc {
    font-size: 14px;
    font-weight: 300;
    color: var(--wp--preset--color--black);
    line-height: 20px;
    margin: 0;
}

.kf-program__empty .sp-btn--outline {
    min-width: 320px;
}

/* ── Schedule: conference rows ──────────────────────────────────── */

.kf-schedule__wrap {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.kf-schedule {
    border: 1px solid #ececf0;
    border-radius: 4px;
}

/* ── Schedule: day tabs (segmented control) ─────────────────────── */

.kf-schedule__tabs {
    display: inline-flex;
    gap: 0;
}

.kf-schedule__tab {
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--dark);
    background: var(--wp--preset--color--white);
    border: 1px solid var(--wp--preset--color--neutral-200);
    border-right: none;
    cursor: pointer;
    line-height: 20px;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.kf-schedule__tab:first-child {
    border-radius: 4px 0 0 4px;
}

.kf-schedule__tab:last-child {
    border-right: 1px solid var(--wp--preset--color--neutral-200);
    border-radius: 0 4px 4px 0;
}

.kf-schedule__tab.is-active {
    background: var(--wp--preset--color--dark);
    color: var(--wp--preset--color--white);
    border-color: var(--wp--preset--color--dark);
}

.kf-schedule__tab.is-active+.kf-schedule__tab {
    border-left-color: var(--wp--preset--color--neutral-200);
}

.kf-schedule__day--tab[hidden] {
    display: none;
}

/* ── Schedule: day header ───────────────────────────────────────── */

.kf-schedule__day-header {
    padding: 13px 18px 15px;
    background: #1a1a24;
    color: var(--wp--preset--color--white);
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.kf-schedule__header {
    background: #1a1a24;
    height: 50px;
}

.kf-schedule__row {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 16px;
    background: var(--wp--preset--color--white);
    border-bottom: 1px solid var(--wp--preset--color--neutral-100);
}

.kf-schedule__row:last-child {
    border-bottom: none;
}

.kf-schedule__row--break {
    background: var(--wp--preset--color--white);
}

.kf-schedule__time {
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    color: var(--wp--preset--color--black);
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 96px;
}

.kf-schedule__row--break .kf-schedule__time {
    font-weight: 400;
    color: var(--wp--preset--color--neutral-300);
}

.kf-schedule__content {
    flex: 1;
    min-width: 0;
}

.kf-schedule__title {
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #2e2e38;
    margin: 0;
}

.kf-schedule__row--break .kf-schedule__title {
    color: #2e2e38;
}

.kf-schedule__desc {
    font-size: 12px;
    font-weight: 300;
    color: var(--wp--preset--color--neutral-300);
    line-height: 16px;
    margin: 4px 0 0;
}

.kf-schedule__speaker {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

button.kf-speaker-btn {
    background: none;
    border: none;
    padding: 0;
    text-align: left;
    cursor: pointer;
    width: 100%;
}

button.kf-speaker-btn:hover .kf-schedule__speaker-name {
    text-decoration: underline;
    color: var(--wp--preset--color--pink-500);
}

.kf-schedule__speaker-photo {
    flex-shrink: 0;
}

.kf-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.kf-avatar--lg {
    width: 80px;
    height: 80px;
}

.kf-schedule__speaker-name {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: var(--wp--preset--color--black);
    line-height: 18px;
}

.kf-schedule__speaker-role {
    display: block;
    font-size: 12px;
    font-weight: 300;
    color: var(--wp--preset--color--dark);
    line-height: 16px;
}

/* ── Schedule: parallel tracks ──────────────────────────────────── */

.kf-schedule__parallel {
    border-bottom: 1px solid #ececf0;
    background: var(--wp--preset--color--white);
}

.kf-schedule__parallel:last-child {
    border-bottom: none;
}

.kf-tracks-tabs {
    display: none;
}

.kf-schedule__tracks {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.kf-track {
    padding: 16px;
    border-right: 1px solid #ececf0;
}

.kf-track:last-child {
    border-right: none;
}

.kf-track__badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: var(--wp--preset--color--pink-500);
    background: #ffeaf4;
    border-radius: 4px;
    padding: 4px 8px;
    margin-bottom: 6px;
}

.kf-track__name {
    font-size: 14px;
    font-weight: 400;
    color: #2e2e38;
    margin: 0 0 6px;
    letter-spacing: -0.08px;
}

.kf-track__title {
    font-size: 14px;
    font-weight: 400;
    color: #2e2e38;
    margin: 0 0 10px;
    line-height: 21px;
    letter-spacing: -0.08px;
}

.kf-track__divider {
    border: none;
    border-top: 1px solid #e4e4ea;
    margin: 12px 0;
}

.kf-avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--wp--preset--color--neutral-100);
    color: var(--wp--preset--color--purple-500);
    flex-shrink: 0;
}

.kf-track__opis {
    font-size: 12px;
    font-weight: 300;
    color: var(--wp--preset--color--dark);
    margin-top: 10px;
}

.kf-track__opis p {
    font-size: 12px;
    font-weight: 300;
    color: var(--wp--preset--color--dark);
    line-height: 16px;
    margin: 0 0 8px;
}

.kf-track__opis p:last-child {
    margin-bottom: 0;
}

.kf-track__opis ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kf-track__opis ul li {
    position: relative;
    padding-left: 20px;
    font-size: 12px;
    line-height: 16px;
}

.kf-track__opis ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 8px;
    height: 8px;
    background: var(--wp--preset--color--yellow);
    border-radius: 50%;
}

@media (max-width: 768px) {

    /* Sidebar order: override szkolenie.css which sets order:0 on mobile */
    .sp-sidebar {
        order: -1;
    }

    /* Package card: stack name above price on mobile */
    .sp-edition__package {
        flex-direction: column;
        gap: 8px;
    }

    .sp-edition__pkg-price {
        text-align: left;
    }

    /* Tab bar */
    .kf-tracks-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 12px 16px 0;
    }

    .kf-tracks-tab {
        font-size: 12px;
        font-weight: 700;
        padding: 4px 8px;
        border-radius: 4px;
        border: none;
        cursor: pointer;
        background: #ffeaf4;
        color: var(--wp--preset--color--pink-500);
        transition: background 0.15s, color 0.15s;
    }

    .kf-tracks-tab.is-active {
        background: var(--wp--preset--color--pink-500);
        color: var(--wp--preset--color--white);
    }

    /* Tracks: show only active */
    .kf-schedule__tracks {
        grid-template-columns: 1fr;
    }

    .kf-track {
        display: none;
        border-right: none;
    }

    .kf-track.is-active {
        display: block;
    }

    .kf-track.is-active .kf-track__badge {
        display: none;
    }
}

/* ── Speakers ───────────────────────────────────────────────────── */

.kf-speakers {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

.kf-speaker-card {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid #e7e7ee;
    border-radius: 8px;
}

.kf-speaker-card__photo {
    flex-shrink: 0;
}

.kf-speaker-card__photo--placeholder {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #ececf0;
}

.kf-speaker-card__info {
    flex: 1;
    min-width: 0;
}

.kf-speaker-card__name {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a24;
    margin: 0 0 4px;
    line-height: 22px;
}

.kf-speaker-card__role {
    font-size: 13px;
    font-weight: 400;
    color: var(--wp--preset--color--neutral-300);
    margin: 0 0 8px;
    line-height: 18px;
}

.kf-speaker-card__bio {
    font-size: 13px;
    font-weight: 300;
    color: #4a4a59;
    margin: 0;
    line-height: 18px;
}

/* ── Sidebar: promo "Kup w pakiecie" ────────────────────────────── */

.sp-edition__promo {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px;
    background: #ddf1e7;
    border: 1px solid #bfe3cf;
    border-radius: 4px;
}

.sp-edition__promo-title {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 700;
    color: #098257;
    margin: 0;
    line-height: 20px;
}

.sp-edition__promo-desc {
    font-size: 14px;
    font-weight: 300;
    color: var(--wp--preset--color--dark);
    margin: 0;
    line-height: 20px;
}

/* ── Sidebar: szczegóły tags (Termin row) ───────────────────────── */

.sp-szczegoly__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.sp-szczegoly__tag {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--wp--preset--color--dark);
    background: rgba(197, 197, 205, 0.05);
    border: 1px solid #e4e4ea;
    border-radius: 4px;
    padding: 4px 6px;
    line-height: 1;
}

.sp-szczegoly__tag--active {
    color: #12a571;
    background: rgba(87, 233, 149, 0.05);
    border-color: #e1f3ed;
}

/* ── Sidebar: mobile — boxes use accordion (toggle/body pattern from single-szkolenie.css) ── */

/* ── Sidebar: state messages ────────────────────────────────────── */

.sp-edition__soon {
    margin: 4px 0 0;
    padding: 12px 16px;
    background: var(--wp--preset--color--neutral-100);
    border-left: 3px solid var(--wp--preset--color--purple-500);
    font-size: 14px;
    font-weight: 500;
    color: var(--wp--preset--color--purple-500);
    line-height: 20px;
}

.sp-edition__archived {
    margin: 4px 0 0;
    padding: 12px 16px;
    background: #f5f5f8;
    border-left: 3px solid var(--wp--preset--color--neutral-200);
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--neutral-300);
    line-height: 20px;
}

/* ── Sidebar: registration status ───────────────────────────────── */

.kf-reg-status {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: #128a4a;
    background: #e8f5ee;
    border-radius: 20px;
    padding: 3px 10px;
    margin-bottom: 12px;
}

/* ── Sidebar: price notes ───────────────────────────────────────── */

.kf-price-note {
    font-size: 12px;
    color: var(--wp--preset--color--neutral-300);
    margin: 8px 0 0;
    line-height: 16px;
}

.kf-price-note--group {
    font-weight: 500;
    color: var(--wp--preset--color--dark);
}

/* ── Sidebar: includes list ─────────────────────────────────────── */

.kf-includes {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #ececf0;
}

.kf-includes__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kf-includes__list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: var(--wp--preset--color--dark);
    line-height: 18px;
}

.kf-includes__list li svg {
    flex-shrink: 0;
    margin-top: 1px;
}

/* ── Packages section ───────────────────────────────────────────── */

.kf-packages-section {
    background: var(--wp--preset--color--neutral-50);
    padding: 48px 0;
    border-top: 1px solid #ececf0;
}

.kf-packages-section__title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a24;
    margin: 0 0 24px;
}

.kf-packages {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.kf-package-card {
    border: 1px solid #e7e7ee;
    border-radius: 8px;
    padding: 20px;
    background: var(--wp--preset--color--white);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.kf-package-card__items {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kf-package-card__item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.kf-package-card__item-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--wp--preset--color--neutral-300);
}

.kf-package-card__item-name {
    font-size: 14px;
    font-weight: 600;
    color: #1a1a24;
    line-height: 20px;
}

.kf-package-card__item-date {
    font-size: 12px;
    color: var(--wp--preset--color--neutral-300);
}

.kf-package-card__plus {
    font-size: 18px;
    font-weight: 700;
    color: var(--wp--preset--color--neutral-200);
    text-align: center;
    padding: 2px 0;
}

.kf-package-card__savings {
    font-size: 13px;
    font-weight: 500;
    color: #128a4a;
    margin: 0;
}

/* ── Trainer popup modal ─────────────────────────────────────────── */

.kf-trainer-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.kf-trainer-modal[hidden] {
    display: flex;
}

.kf-trainer-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.kf-trainer-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(26, 26, 37, 0.8);
    cursor: pointer;
}

.kf-trainer-modal__card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 800px;
    border-radius: 16px;
    box-shadow: 0 0 12.5px rgba(26, 26, 37, 0.1);
    display: flex;
    flex-direction: column;
    max-height: 90vh;
    overflow-y: auto;
    transform: translateY(12px);
    transition: transform 0.25s ease;
}

.kf-trainer-modal.is-open .kf-trainer-modal__card {
    transform: translateY(0);
}

.kf-trainer-modal__header {
    background: var(--wp--preset--color--black);
    border-radius: 16px 16px 0 0;
    padding: 28px 40px;
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
    flex-shrink: 0;
}

.kf-trainer-modal__avatar-wrap {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    position: relative;
}

.kf-trainer-modal__avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    display: block;
}

.kf-trainer-modal__avatar[src=""] {
    display: none;
}

.kf-trainer-modal__avatar-placeholder {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.kf-trainer-modal__avatar-placeholder svg {
    width: 28px;
    height: 28px;
}

.kf-trainer-modal__meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
    justify-content: center;
}

.kf-trainer-modal__name {
    font-size: 15px;
    font-weight: 400;
    color: var(--wp--preset--color--white);
    line-height: 20px;
    margin: 0;
}

.kf-trainer-modal__company {
    font-size: 12px;
    font-weight: 300;
    color: #e4e4ea;
    line-height: 16px;
    margin: 0;
}

.kf-trainer-modal__role {
    font-size: 12px;
    font-weight: 700;
    color: var(--wp--preset--color--purple);
    line-height: 16px;
    margin: 0;
}

.kf-trainer-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    color: var(--wp--preset--color--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.kf-trainer-modal__close:hover {
    opacity: 1;
}

.kf-trainer-modal__body {
    background: var(--wp--preset--color--white);
    border: 1px solid #e4e4ea;
    border-top: none;
    border-radius: 0 0 16px 16px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.kf-trainer-modal__section-head {
    display: flex;
    align-items: center;
    gap: 24px;
}

.kf-trainer-modal__section-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--wp--preset--color--black);
    line-height: 20px;
    margin: 0;
    white-space: nowrap;
    flex-shrink: 0;
}

.kf-trainer-modal__section-line {
    flex: 1;
    border: none;
    border-top: 1px solid #e4e4ea;
    margin: 0;
}

.kf-trainer-modal__bio {
    font-size: 14px;
    font-weight: 300;
    color: var(--wp--preset--color--dark);
    line-height: 22px;
}

.kf-trainer-modal__bio p {
    margin: 0 0 12px;
}

.kf-trainer-modal__bio p:last-child {
    margin-bottom: 0;
}

.kf-trainer-modal__bio h1,
.kf-trainer-modal__bio h2,
.kf-trainer-modal__bio h3,
.kf-trainer-modal__bio h4 {
    font-size: 15px;
    font-weight: 700;
    line-height: 20px;
    color: var(--wp--preset--color--black);
    margin: 0 0 8px;
}

/* ── Shared block helpers ────────────────────────────────────────── */

.kf-block {
    padding: 64px 0;
}

.kf-block__eyebrow-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 8px;
}

.kf-block__eyebrow-bar {
    display: inline-block;
    width: 4px;
    height: 24px;
    background: var(--wp--preset--color--pink-500);
    border-radius: 0;
    flex-shrink: 0;
}

.kf-block__eyebrow,
.kf-block__eyebrow-label {
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--pink-500);
    margin: 0;
    line-height: 20px;
}

.kf-block__title {
    font-size: 32px;
    font-weight: 400;
    color: var(--wp--preset--color--black);
    line-height: 1;
    margin: 0 0 16px;
}

.kf-block__desc {
    font-size: 16px;
    font-weight: 300;
    color: var(--wp--preset--color--dark);
    line-height: 24px;
    margin: 0 0 32px;
    max-width: 680px;
}

/* ── 1. Features bar ─────────────────────────────────────────────── */

.kf-features-bar {
    background: #1a1a24;
    padding: 40px 0;
}

.kf-features-bar__head {
    margin-bottom: 32px;
}

.kf-features-bar__eyebrow-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 10px;
}

.kf-features-bar__eyebrow-bar {
    display: inline-block;
    width: 4px;
    height: 22px;
    background: var(--wp--preset--color--yellow);
    border-radius: 2px;
    flex-shrink: 0;
}

.kf-features-bar__eyebrow-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--wp--preset--color--yellow);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.kf-features-bar__head-title {
    font-size: 28px;
    font-weight: 400;
    color: var(--wp--preset--color--white);
    margin: 0;
    line-height: 1.2;
}

.kf-features-bar__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 32px;
}

.kf-features-bar__grid--3 {
    grid-template-columns: repeat(3, 1fr);
    justify-items: start;
}

.kf-features-bar__item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.kf-features-bar__bar {
    display: block;
    width: 36px;
    height: 3px;
    background: var(--wp--preset--color--yellow);
    border-radius: 2px;
    flex-shrink: 0;
}

.kf-features-bar__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--wp--preset--color--white);
    margin: 0 0 4px;
    line-height: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.kf-features-bar__text {
    font-size: 14px;
    font-weight: 300;
    color: var(--wp--preset--color--neutral-300);
    margin: 0;
    line-height: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── 2. Logo bar ─────────────────────────────────────────────────── */

.kf-logo-bar {
    background: var(--wp--preset--color--white);
    border-top: 1px solid #ececf0;
    border-bottom: 1px solid #ececf0;
    padding: 32px 0;
}

.kf-logo-bar__title {
    font-size: 13px;
    font-weight: 400;
    color: var(--wp--preset--color--neutral-300);
    text-align: left;
    margin: 0 0 20px;
}

.kf-logo-bar__logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 24px 40px;
}

.kf-logo-bar__logo img {
    max-height: 40px;
    width: auto;
    object-fit: contain;
}

.kf-logo-bar__logo a {
    display: block;
    line-height: 0;
}

/* ── 3. Event path ───────────────────────────────────────────────── */

.kf-event-path {
    background: var(--wp--preset--color--white);
}

.kf-event-path__top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-bottom: 40px;
}

.kf-event-path__right {
    font-size: 14px;
    font-weight: 300;
    color: var(--wp--preset--color--neutral-300);
    line-height: 20px;
    padding-top: 8px;
    text-align: right;
}

/* ── Rows: 2-row serpentine layout ──────────────────────────────── */

.kf-event-path__rows {
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
}

.kf-event-path__row {
    display: flex;
    gap: 5%;
    align-items: flex-start;
    position: relative;
    overflow: visible;
}

.kf-event-path__row--rtl {
    justify-content: flex-end;
}

.kf-event-path__item {
    flex: 0 0 30%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.kf-event-path__item-top {
    display: flex;
    align-items: center;
    gap: 24px;
}

/* ── Icon circle ─────────────────────────────────────────────────── */

.kf-event-path__step-num {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(139, 92, 246, 0.1);
    color: var(--wp--preset--color--purple-500);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.kf-event-path__item:hover .kf-event-path__step-num {
    background: var(--wp--preset--color--purple-500);
    color: var(--wp--preset--color--white);
}

.kf-event-path__step-num svg {
    width: 20px;
    height: 20px;
}

.kf-event-path__item--solid .kf-event-path__step-num {
    background: var(--wp--preset--color--purple-500);
    color: var(--wp--preset--color--white);
}

/* ── Arrow connector (SVG) ───────────────────────────────────────── */

.kf-event-path__arrow {
    flex: 1 0 0;
    min-width: 0;
    display: block;
    align-self: center;
}

.kf-event-path__arrow--left {
    transform: scaleX(-1);
}

/* ── Bracket connectors (4 pieces: right/left × outgoing/incoming) ── */

/* Outgoing RIGHT: upper piece — LTR row → next RTL row, right side */
.kf-event-path__row--bo-right::after {
    content: '';
    position: absolute;
    right: 0;
    top: 24px;
    bottom: -20px;
    width: calc(30% - 80px);
    border: 1.5px solid var(--wp--preset--color--purple);
    border-left: none;
    border-bottom: none;
    border-top-right-radius: 32px;
    pointer-events: none;
}

/* Incoming RIGHT: lower piece — RTL row from LTR row above, right side */
.kf-event-path__row--bi-right::before {
    content: '';
    position: absolute;
    right: 0;
    top: -20px;
    height: 44px;
    width: calc(30% - 80px);
    border: 1.5px solid var(--wp--preset--color--purple);
    border-left: none;
    border-top: none;
    border-bottom-right-radius: 32px;
    pointer-events: none;
}

/* Outgoing LEFT: upper piece — RTL row → next LTR row, left side */
/* .kf-event-path__row--bo-left::after {
    content: '';
    position: absolute;
    left: 0;
    top: 24px;
    bottom: -20px;
    width: calc(30% - 80px);
    border: 1.5px solid var(--wp--preset--color--purple);
    border-right: none;
    border-bottom: none;
    border-top-left-radius: 32px;
    pointer-events: none;
} */

/* Incoming LEFT: lower piece — LTR row from RTL row above, left side */
/* .kf-event-path__row--bi-left::before {
    content: '';
    position: absolute;
    left: 0;
    top: -20px;
    height: 44px;
    width: calc(30% - 80px);
    border: 1.5px solid var(--wp--preset--color--purple);
    border-right: none;
    border-top: none;
    border-bottom-left-radius: 32px;
    pointer-events: none;
} */

/* ── Typography ──────────────────────────────────────────────────── */

.kf-event-path__step-title {
    font-size: 24px;
    font-weight: 400;
    color: var(--wp--preset--color--dark);
    line-height: 1;
    margin: 0;
}

.kf-event-path__step-desc {
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--neutral-300);
    margin: 0;
    line-height: 20px;
    max-width: 280px;
}

/* ── Mobile ──────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .kf-event-path__top {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 32px;
    }

    /* Remove gap between rows — items manage their own spacing */
    .kf-event-path__rows {
        gap: 0;
    }

    /* All rows stack vertically */
    .kf-event-path__row {
        flex-direction: column;
        gap: 0;
        justify-content: flex-start;
    }

    /* RTL rows: reverse back to sequential reading order */
    .kf-event-path__row--rtl {
        flex-direction: column-reverse;
    }

    /* Item: icon column (left) + text column (right) */
    .kf-event-path__item {
        display: grid;
        grid-template-columns: 48px 1fr;
        grid-template-rows: auto auto;
        column-gap: 16px;
        row-gap: 16px;
        flex: none;
        width: 100%;
        padding-bottom: 24px;
    }

    /* Icon column spans both text rows; flex-col for icon + connector */
    .kf-event-path__item-top {
        grid-column: 1;
        grid-row: 1 / 3;
        flex-direction: column;
        align-items: center;
        align-self: stretch;
        gap: 0;
    }

    /* Vertical connector arrow below icon */
    .kf-event-path__item-top::after {
        content: '';
        flex: 1;
        width: 12px;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 64" preserveAspectRatio="none"><path d="M6.27344 0.75C6.27344 0.335786 5.93765 1.81059e-08 5.52344 0C5.10922 -1.81059e-08 4.77344 0.335786 4.77344 0.75L5.52344 0.75L6.27344 0.75ZM4.9931 63.2803C5.286 63.5732 5.76087 63.5732 6.05376 63.2803L10.8267 58.5074C11.1196 58.2145 11.1196 57.7396 10.8267 57.4467C10.5338 57.1538 10.059 57.1538 9.76608 57.4467L5.52343 61.6893L1.28079 57.4467C0.987901 57.1538 0.513028 57.1538 0.220134 57.4467C-0.0727593 57.7396 -0.0727593 58.2145 0.220134 58.5074L4.9931 63.2803ZM5.52344 0.75L4.77344 0.75L4.77343 62.75L5.52343 62.75L6.27343 62.75L6.27344 0.75L5.52344 0.75Z" fill="%237E33E2"/></svg>');
        background-size: 12px;
        background-repeat: no-repeat;
        background-position: bottom center;
        margin-top: 24px;
        margin-bottom: 0;
    }

    /* Title and desc in right column */
    .kf-event-path__step-title {
        grid-column: 2;
        grid-row: 1;
        font-size: 24px;
    }

    .kf-event-path__step-desc {
        grid-column: 2;
        grid-row: 2;
    }

    /* Last visual item in last row: no gap/connector */
    .kf-event-path__row:last-child.kf-event-path__row--ltr .kf-event-path__item:last-child,
    .kf-event-path__row:last-child.kf-event-path__row--rtl .kf-event-path__item:first-child {
        padding-bottom: 0;
    }

    .kf-event-path__row:last-child.kf-event-path__row--ltr .kf-event-path__item:last-child .kf-event-path__item-top::after,
    .kf-event-path__row:last-child.kf-event-path__row--rtl .kf-event-path__item:first-child .kf-event-path__item-top::after {
        display: none;
    }

    /* Hide horizontal arrows and bracket connectors */
    .kf-event-path__arrow,
    .kf-event-path__row--bo-right::after,
    .kf-event-path__row--bi-right::before,
    .kf-event-path__row--bo-left::after,
    .kf-event-path__row--bi-left::before {
        display: none;
    }
}

/* ── 4. For who ──────────────────────────────────────────────────── */

.kf-for-who {
    background: var(--wp--preset--color--black);
    padding: 96px 0;
}

.kf-for-who .kf-block__eyebrow-label {
    color: var(--wp--preset--color--pink-500);
}

.kf-for-who .kf-block__title {
    color: var(--wp--preset--color--white);
}

.kf-for-who .kf-block__desc {
    color: var(--wp--preset--color--neutral-200);
}

.kf-for-who__cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 48px;
}

/* Column header: icon box + label */
.kf-for-who__col-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 32px;
}

.kf-for-who__col-head-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.kf-for-who__col-chevron {
    display: none;
}

.kf-for-who__col-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: #faf8ff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wp--preset--color--purple-500);
}

.kf-for-who__col-icon svg {
    width: 20px;
    height: 20px;
}

.kf-for-who__col-head-label {
    font-size: 18px;
    font-weight: 700;
    color: var(--wp--preset--color--white);
    margin: 0;
    line-height: 24px;
}

/* Shared list base */
.kf-for-who__col-content ul,
.kf-for-who__col-content ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.kf-for-who__col-content li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    font-weight: 300;
    color: var(--wp--preset--color--white);
    line-height: 20px;
}

/* ul → yellow filled circle bullet */
.kf-for-who__col-content ul>li::before {
    content: '';
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--wp--preset--color--yellow);
    margin-top: 6px;
}

/* ol → yellow checkmark-circle SVG icon */
.kf-for-who__col-content ol>li::before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 16px;
    height: 16px;
    min-width: 16px;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 7.38674V8.00007C14.6658 9.43769 14.2003 10.8365 13.3396 11.988C12.479 13.1394 11.2695 13.9817 9.89014 14.3893C8.51079 14.7969 7.03336 14.7479 5.68375 14.2498C4.33414 13.7516 3.18259 12.8308 2.39974 11.6248C1.6169 10.4188 1.24431 8.99211 1.33723 7.55762C1.43016 6.12312 1.9836 4.75762 2.91664 3.66378C3.84968 2.56994 5.11214 1.80706 6.51609 1.48984C7.92004 1.17262 9.38785 1.3181 10.7066 1.90674' stroke='%23FFE500' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5.99992 7.33333L7.99992 9.33333L14.6666 2.66667' stroke='%23FFE500' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: 2px;
}

/* tagi → taxonomy term badges (rendered via PHP as .kf-for-who__tags) */
.kf-for-who__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.kf-for-who__tag {
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--white);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid var(--wp--preset--color--neutral-300);
    border-radius: 4px;
    padding: 8px 12px;
    line-height: 20px;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}

.kf-for-who__tag {
    cursor: default;
}

.kf-for-who__tag:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: var(--wp--preset--color--neutral-200);
    color: var(--wp--preset--color--white);
}

/* ── 5. Features boxes ───────────────────────────────────────────── */

.kf-features-boxes {
    background: var(--wp--preset--color--white);
}

.kf-features-boxes__swiper {
    overflow: visible;
}

.kf-features-boxes__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.kf-features-boxes__pagination {
    display: none;
}

.kf-feature-box {
    background: linear-gradient(138deg, var(--wp--preset--color--white) 0%, var(--wp--preset--color--neutral-100) 100%);
    border: 1px solid #f3f4f6;
    border-radius: 4px;
    box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -2px rgba(0, 0, 0, 0.1);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.kf-feature-box__icon {
    width: 44px;
    height: 44px;
    background: rgba(126, 51, 226, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wp--preset--color--purple);
    flex-shrink: 0;
}

.kf-feature-box__icon svg {
    width: 22px;
    height: 22px;
}

.kf-feature-box__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--wp--preset--color--black);
    margin: 0;
    line-height: 20px;
}

.kf-feature-box__desc {
    font-size: 13px;
    font-weight: 300;
    color: #4a4a59;
    line-height: 20px;
    margin: 0;
}

/* ── 6. Gallery block ────────────────────────────────────────────── */

.kf-gallery-block {
    background: var(--wp--preset--color--neutral-100);
}

/* Gallery slider (Swiper) */
.kf-gallery-wrap {
    position: relative;
    margin-top: 32px;
    overflow: hidden;
}

.kf-gallery-swiper {
    overflow: visible !important;
}

.kf-gallery-slide {
    display: block;
}

.kf-gallery-slide img {
    width: 100%;
    aspect-ratio: 356 / 200;
    height: auto;
    object-fit: cover;
    display: block;
    border-radius: 4px;
}

/* Arrow buttons */
.kf-gallery-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #1a1a24;
    border: none;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--wp--preset--color--white);
    cursor: pointer;
    z-index: 10;
    transition: opacity .2s;
}

.kf-gallery-btn:hover {
    opacity: 0.85;
}

.kf-gallery-btn:disabled {
    opacity: 0;
    pointer-events: none;
}

.kf-gallery-btn--prev {
    left: 8px;
}

.kf-gallery-btn--next {
    right: 8px;
}

/* Dots (mobile) */
.kf-gallery-dots {
    display: none !important;
}

/* ── Sidebar: materials accordion ────────────────────────────────── */

/* sp-sidebar-materials now carries sp-sidebar-box — always visible on desktop */
@media (min-width: 769px) {
    .sp-sidebar-materials {
        display: block;
    }
}

.sp-sidebar-materials__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0;
    cursor: pointer;
    user-select: none;
    background: none;
    border: none;
    font: inherit;
    text-align: left;
}

.sp-sidebar-materials__toggle .sp-sidebar-box__label {
    margin: 0;
}

.sp-sidebar-materials .sp-sidebar-box__chevron {
    display: block;
    color: var(--wp--preset--color--neutral-300);
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform .25s;
}

.sp-sidebar-materials[aria-expanded="true"] .sp-sidebar-materials__toggle .sp-sidebar-box__chevron {
    transform: rotate(180deg);
}

.sp-sidebar-materials__list {
    margin-top: 12px;
}

.sp-sidebar-materials__list[hidden] {
    display: none;
}

@media (max-width: 768px) {
    .sp-sidebar-materials__toggle {
        text-transform: uppercase;
        padding: 16px 24px;
    }

    .sp-sidebar-materials__list {
        margin-top: 0;
        padding: 0 24px 16px;
    }
}

/* inline variant — inside the archive edition card, no card styling of its own */
.sp-sidebar-materials--inline {
    padding-top: 12px;
    margin-top: 4px;
}

@media (max-width: 768px) {
    .sp-sidebar-materials--inline {
        padding-top: 0;
        margin-top: 0;
        border-top: 1px solid #e4e4ea;
    }

    .sp-sidebar-materials--inline .sp-sidebar-materials__toggle {
        padding: 16px 0;
    }

    .sp-sidebar-materials--inline .sp-sidebar-materials__list {
        padding: 0 0 8px;
    }
}

/* ── Gallery Lightbox ────────────────────────────────────────────── */

.sp-lightbox {
    flex-direction: column;
    background: rgba(26, 26, 37, 0.8);
    padding: 24px;
    gap: 0;
}

.sp-lightbox__backdrop {
    background: transparent;
    cursor: default;
}

.sp-lightbox__close {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    border-radius: 4px;
    color: var(--wp--preset--color--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
    transition: background 0.15s;
}

.sp-lightbox__close:hover {
    background: rgba(255, 255, 255, 0.15);
}

.sp-lightbox__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    position: relative;
    z-index: 1;
    width: 100%;
}

.sp-lightbox__main {
    position: relative;
    width: min(1000px, calc(100vw - 160px));
}

.sp-lightbox__img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 4px;
    max-width: none;
    max-height: none;
}

.sp-lightbox__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #1a1a24;
    border: 1px solid #1a1a24;
    border-radius: 4px;
    color: var(--wp--preset--color--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: opacity 0.2s;
    z-index: 2;
}

.sp-lightbox__arrow--prev {
    left: -56px;
}

.sp-lightbox__arrow--next {
    right: -56px;
}

.sp-lightbox__arrow:disabled {
    opacity: 0;
    pointer-events: none;
}

.sp-lightbox__thumbs {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    max-width: min(1000px, calc(100vw - 160px));
    scrollbar-width: none;
}

.sp-lightbox__thumbs::-webkit-scrollbar {
    display: none;
}

.sp-lightbox__thumb {
    flex-shrink: 0;
    width: 200px;
    height: 112px;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    background: none;
    border: 2px solid transparent;
    padding: 0;
    transition: border-color 0.15s;
}

.sp-lightbox__thumb.is-active {
    border-color: var(--wp--preset--color--white);
}

.sp-lightbox__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sp-lightbox .sp-lightbox__counter {
    display: none;
}

@media (max-width: 768px) {
    .sp-lightbox__main {
        width: calc(100vw - 48px);
    }

    .sp-lightbox__thumbs {
        max-width: calc(100vw - 48px);
    }

    .sp-lightbox__arrow {
        display: none;
    }

    .sp-lightbox__thumb {
        width: 120px;
        height: 68px;
    }
}

/* ── Program: trainers grid (before agenda) ─────────────────────── */

.kf-program__trainers {
    margin-top: 24px;
    margin-bottom: 32px;
}

/* ── Program: archive wysiwyg summary ──────────────────────────── */

.kf-program__summary {
    margin-top: 24px;
}

.kf-program__summary p {
    margin-bottom: 16px;
}

.kf-program__summary p:last-child {
    margin-bottom: 0;
}

/* ── Program: archive summary (Podsumowanie) ────────────────────── */

.kf-podsumowanie .kf-program__head,
.kf-podsumowanie .kf-program__summary {
    max-width: 640px;
}

.kf-podsumowanie .kf-program__desc {
    font-size: 16px;
    line-height: 24px;
    color: var(--wp--preset--color--dark);
}

.kf-podsumowanie .kf-program__desc p {
    margin-bottom: 16px;
}

.kf-podsumowanie .kf-program__desc p:last-child {
    margin-bottom: 0;
}

/* reuses .sp-gallery-grid from single-szkolenie.css */

/* ── 7. Prelegents block ─────────────────────────────────────────── */

.kf-prelegents-block {
    background: var(--wp--preset--color--neutral-50);
}

.kf-prelegents__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 32px;
}

.kf-prelegent-card {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 24px;
    border: 1px solid #e4e4ea;
    border-radius: 16px;
    background: var(--wp--preset--color--white);
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.12);
}

.kf-prelegent-card__photo {
    flex-shrink: 0;
}

.kf-avatar--lg {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.kf-prelegent-card__photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--wp--preset--color--neutral-100);
    color: var(--wp--preset--color--purple-500);
    flex-shrink: 0;
}

.kf-prelegent-card__photo-placeholder svg {
    width: 40px;
    height: 40px;
}

.kf-prelegent-card__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* name is a <button> styled as text */
.kf-prelegent-card__name {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: var(--wp--preset--color--black);
    margin: 0 0 8px;
    line-height: 20px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    transition: color 0.15s;
}

.kf-prelegent-card__name:hover {
    color: var(--wp--preset--color--purple-500);
    text-decoration: underline;
}

.kf-prelegent-card__company {
    font-size: 12px;
    font-weight: 300;
    color: var(--wp--preset--color--black);
    margin: 0 0 8px;
    line-height: 16px;
}

.kf-prelegent-card__role {
    font-size: 12px;
    font-weight: 700;
    color: var(--wp--preset--color--purple-500);
    margin: 0;
    line-height: 1;
}

/* ── Prelegents: eyebrow row (same bar as kf-block but on white bg) ── */

.kf-prelegents-block .kf-block__eyebrow-row {
    margin-bottom: 12px;
}

/* ── Responsive: blocks ───────────────────────────────────────────── */

@media (max-width: 1100px) {
    .kf-prelegents__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1024px) {
    .kf-features-bar__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .kf-features-bar__grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .kf-for-who__cols {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .kf-for-who__col {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .kf-for-who__col-head {
        cursor: pointer;
        margin: 0;
        padding: 20px 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .kf-for-who__col-head-left {
        display: flex;
        align-items: center;
        gap: 16px;
    }

    .kf-for-who__col-chevron {
        display: block;
        flex-shrink: 0;
        color: var(--wp--preset--color--white);
        transition: transform 0.3s ease;
    }

    .kf-for-who__col-head[aria-expanded="true"] .kf-for-who__col-chevron {
        transform: rotate(180deg);
    }

    .kf-for-who__col-content,
    .kf-for-who__tags {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.35s ease;
    }

    .kf-for-who__col-content.is-open,
    .kf-for-who__tags.is-open {
        max-height: 800px;
        padding-bottom: 20px;
    }

    /* Gallery: show dots below slides, hide arrows */
    .kf-gallery-btn {
        display: none;
    }

    .kf-gallery-dots {
        display: flex !important;
        position: static;
        justify-content: center;
        margin-top: 16px;
    }

    .kf-gallery-dots .swiper-pagination-bullet {
        background: var(--wp--preset--color--neutral-200);
        opacity: 1;
        width: 8px;
        height: 8px;
    }

    .kf-gallery-dots .swiper-pagination-bullet-active {
        background: var(--wp--preset--color--black);
    }

    /* Features boxes: Swiper on mobile */
    .kf-features-boxes__wrap {
        overflow: hidden;
        margin: 0 -24px;
        padding: 0 24px;
    }

    .kf-features-boxes__swiper {
        overflow: visible;
    }

    /* Override grid — let Swiper control layout */
    .kf-features-boxes__swiper .kf-features-boxes__grid {
        display: flex;
        flex-wrap: nowrap;
        gap: 0;
    }

    .kf-feature-box.swiper-slide {
        height: auto;
        box-sizing: border-box;
    }

    .kf-features-boxes__pagination {
        display: flex;
        justify-content: center;
        margin-top: 40px;
        gap: 6px;
        position: relative;
    }

    .kf-features-boxes__pagination .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        background: var(--wp--preset--color--neutral-200);
        opacity: 1;
        border-radius: 50%;
        display: inline-block;
    }

    .kf-features-boxes__pagination .swiper-pagination-bullet-active {
        background: var(--wp--preset--color--purple-500);
    }
}

@media (max-width: 640px) {

    .kf-features-bar__grid,
    .kf-features-bar__grid--3 {
        grid-template-columns: 1fr;
    }

    .kf-logo-bar__logos {
        gap: 20px 32px;
    }

    .kf-prelegents__grid {
        grid-template-columns: 1fr;
    }
}

/* ── Hero: buttons stack full-width on mobile ────────────────────── */

@media (max-width: 768px) {
    .kf-hero__btns {
        flex-direction: column;
        gap: 16px;
    }

    .kf-hero__btns .sp-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ── Agenda backdrop (mobile bottom-sheet overlay) ───────────────── */

.kf-agenda__backdrop {
    display: none;
}

@media (min-width: 769px) {
    .kf-agenda__backdrop {
        display: none !important;
    }

    .kf-program__mobile-header {
        display: none;
    }
}

@media (max-width: 768px) {
    .kf-agenda__backdrop {
        position: fixed;
        inset: 0;
        background: rgba(26, 26, 37, 0.8);
        z-index: 998;
        display: block;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s ease;
    }

    .kf-agenda__backdrop.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    /* Program section slides up from below as a bottom sheet when open */
    .kf-program.kf-program--has-schedule {
        display: flex;
        flex-direction: column;
        gap: 24px;
        position: fixed;
        top: 32px;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 999;
        background: var(--wp--preset--color--white);
        border-radius: 16px 16px 0 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 24px 24px 40px;
        transform: translateY(100%);
        pointer-events: none;
        transition: transform 0.3s ease;
    }

    .kf-program.kf-program--has-schedule.is-open {
        transform: translateY(0);
        pointer-events: auto;
    }

    /* Hide the customisable program head inside the bottom sheet — title comes from mobile-header */
    .kf-program.kf-program--has-schedule.is-open .kf-program__head,
    .kf-program.kf-program--has-schedule.is-open .kf-program__trainers {
        display: none;
    }

    /* Mobile-only handle + "Program" label at the top of the sheet */
    .kf-program__mobile-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        flex-shrink: 0;
    }

    .kf-program__mobile-handle {
        width: 48px;
        height: 4px;
        background: var(--wp--preset--color--neutral-200);
        border-radius: 2px;
    }

    .kf-program__mobile-title-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .kf-program__mobile-title {
        font-size: 24px;
        font-weight: 400;
        color: var(--wp--preset--color--black);
        line-height: 1;
        margin: 0;
    }

    .kf-agenda-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        padding: 0;
        border: none;
        background: none;
        cursor: pointer;
        color: var(--wp--preset--color--black);
        flex-shrink: 0;
    }
}

/* ── Sidebar: edition notify form ───────────────────────────────── */

.sp-edition__notify-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sp-edition__notify-field {
    position: relative;
    background: var(--wp--preset--color--white);
    border: 1px solid var(--wp--preset--color--neutral-200);
    border-radius: 4px;
    transition: border-color 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.sp-edition__notify-field:focus-within {
    border-color: var(--wp--preset--color--purple-500);
}

.sp-edition__notify-field svg {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--wp--preset--color--neutral-300);
    width: 20px;
    height: 20px;
    pointer-events: none;
}

.sp-edition__notify-input {
    display: block;
    width: 100%;
    padding: 14px 16px 14px 44px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 300;
    color: var(--wp--preset--color--dark);
    background: transparent;
    border: none;
    outline: none;
    line-height: 20px;
    box-sizing: border-box;
}

.sp-edition__notify-input::placeholder {
    color: var(--wp--preset--color--neutral-300);
}

.sp-btn--notify {
    padding-top: 14px;
    padding-bottom: 14px;
    font-weight: 700;
}

.sp-edition__notify-msg {
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    margin: 0;
    padding: 8px 10px;
    border-radius: 4px;
}

.sp-edition__notify-msg[hidden] {
    display: none;
}

.sp-edition__notify-msg.is-success {
    background: #e8f5ee;
    color: #0a6e3c;
}

.sp-edition__notify-msg.is-error {
    background: #ffeaf4;
    color: var(--wp--preset--color--pink-500);
}

/* ── Program notify modal ────────────────────────────────────────── */

.kf-pnm-inner {
    max-width: 640px;
    max-height: 90vh;
    overflow-y: auto;
}

.kf-pnm-lead {
    font-size: 14px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.75);
    line-height: 20px;
    margin: 0 0 16px;
}

/* Form layout — single column, gap overrides .sp-edition__notify-form default */
.kf-pnm-form {
    gap: 12px;
}

.kf-pnm-form__checks {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Inputs / select / textarea — identical to CF7 dark-theme */
.kf-pnm-form__input {
    display: block;
    width: 100%;
    background: var(--wp--preset--color--black, #0d0d18);
    color: var(--wp--preset--color--white);
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 19px 24px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.kf-pnm-form__input::placeholder {
    color: rgba(255, 255, 255, 0.4);
    font-weight: 300;
}

.kf-pnm-form__input:focus {
    border-color: rgba(255, 255, 255, 0.35);
}

/* Select chevron — identical to CF7 */
.kf-pnm-form__select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    padding-right: 52px;
}

.kf-pnm-form__select option {
    background: #1a1a2e;
    color: var(--wp--preset--color--white);
}

.kf-pnm-form__textarea {
    min-height: 120px;
    resize: vertical;
}

/* Checkboxes — identical to CF7 */
.kf-pnm-form__check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    color: rgba(255, 255, 255, 0.85);
}

.kf-pnm-form__checkbox {
    appearance: none;
    -webkit-appearance: none;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: transparent;
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.kf-pnm-form__checkbox:checked {
    background: var(--wp--preset--color--white);
    border-color: var(--wp--preset--color--white);
}

.kf-pnm-form__checkbox:checked::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: 2px solid #0d0d18;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

/* Submit — identical to CF7 submit */
.kf-pnm-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: 18px 40px;
    background: transparent;
    border: 1px solid var(--wp--preset--color--white);
    border-radius: 0;
    color: var(--wp--preset--color--white);
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    margin-top: 8px;
}

.kf-pnm-form__submit:hover {
    background: var(--wp--preset--color--white);
    color: #0d0d18;
}

/* ── Dark mode ──────────────────────────────────────────────────────────────── */
/* Only classes local to konferencja (or shared .sp-* classes NOT already
   covered by single-szkolenie.css's dark block) are overridden here. */

/* Archive info bar */
html[data-theme="dark"] .kf-archive-bar {
    background: rgba(223, 0, 110, 0.14);
}

html[data-theme="dark"] .kf-archive-bar__text {
    color: var(--wp--preset--color--pink);
}

html[data-theme="dark"] .kf-archive-bar__icon path[stroke="var(--wp--preset--color--pink-500)"] {
    stroke: var(--wp--preset--color--pink);
}

/* Sidebar: archive / promo / soon / archived states */
html[data-theme="dark"] .sp-edition__archive-text {
    color: rgba(255, 255, 255, 0.7);
}

html[data-theme="dark"] .sp-edition__promo {
    background: rgba(9, 130, 87, 0.14);
    border-color: rgba(9, 130, 87, 0.35);
}

html[data-theme="dark"] .sp-edition__promo-title {
    color: #4ade80;
}

html[data-theme="dark"] .sp-edition__promo-desc {
    color: rgba(255, 255, 255, 0.7);
}

html[data-theme="dark"] .sp-edition__soon {
    background: rgba(255, 255, 255, 0.06);
    border-left-color: #b98bff;
    color: #b98bff;
}

html[data-theme="dark"] .sp-edition__archived {
    background: rgba(255, 255, 255, 0.05);
    border-left-color: rgba(255, 255, 255, 0.25);
    color: rgba(255, 255, 255, 0.5);
}

/* Sidebar: registration status / includes / price notes (kf-* helpers) */
html[data-theme="dark"] .kf-reg-status {
    background: rgba(9, 130, 87, 0.18);
    color: #4ade80;
}

html[data-theme="dark"] .kf-price-note {
    color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .kf-price-note--group {
    color: rgba(255, 255, 255, 0.85);
}

html[data-theme="dark"] .kf-includes {
    border-top-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .kf-includes__list li {
    color: rgba(255, 255, 255, 0.75);
}

/* Sidebar: notify form (wkrótce / archiwalna) */
html[data-theme="dark"] .sp-edition__notify-field {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.2);
}

html[data-theme="dark"] .sp-edition__notify-field:focus-within {
    border-color: #b98bff;
}

html[data-theme="dark"] .sp-edition__notify-field svg {
    color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .sp-edition__notify-input {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .sp-edition__notify-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

html[data-theme="dark"] .sp-edition__notify-msg.is-success {
    background: rgba(9, 130, 87, 0.18);
    color: #4ade80;
}

html[data-theme="dark"] .sp-edition__notify-msg.is-error {
    background: rgba(223, 0, 110, 0.16);
    color: var(--wp--preset--color--pink);
}

/* Sidebar: szczegóły "Termin" tags — active variant */
html[data-theme="dark"] .sp-szczegoly__tag--active {
    background: rgba(9, 130, 87, 0.18);
    border-color: rgba(9, 130, 87, 0.45);
    color: #4ade80;
}

/* Sidebar: materials accordion chevron */
html[data-theme="dark"] .sp-sidebar-materials .sp-sidebar-box__chevron {
    color: rgba(255, 255, 255, 0.6);
}

/* Program: head */
html[data-theme="dark"] .kf-program__title {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-program__subtitle {
    color: rgba(255, 255, 255, 0.85);
}

html[data-theme="dark"] .kf-program__desc,
html[data-theme="dark"] .kf-podsumowanie .kf-program__desc {
    color: rgba(255, 255, 255, 0.7);
}

/* Program: empty state card */
html[data-theme="dark"] .kf-program__empty {
    background: var(--wp--preset--color--dark, #2E2E39);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

html[data-theme="dark"] .kf-program__empty-icon {
    background: rgba(223, 0, 110, 0.14);
}

html[data-theme="dark"] .kf-program__empty-title {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-program__empty-desc {
    color: rgba(255, 255, 255, 0.6);
}

/* Schedule: day tabs (segmented control) */
html[data-theme="dark"] .kf-schedule {
    border-color: rgba(255, 255, 255, 0.15);
}

html[data-theme="dark"] .kf-schedule__tab {
    background: var(--wp--preset--color--dark, #2E2E39);
    border-color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.7);
}

html[data-theme="dark"] .kf-schedule__tab.is-active {
    background: var(--wp--preset--color--yellow, #FFE500);
    color: var(--wp--preset--color--dark, #2E2E39);
    border-color: var(--wp--preset--color--yellow, #FFE500);
}

html[data-theme="dark"] .kf-schedule__tab.is-active+.kf-schedule__tab {
    border-left-color: rgba(255, 255, 255, 0.2);
}

/* Schedule: conference rows */
html[data-theme="dark"] .kf-schedule__row {
    background: var(--wp--preset--color--dark, #2E2E39);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .kf-schedule__row--break {
    background: var(--wp--preset--color--dark, #2E2E39);
}

html[data-theme="dark"] .kf-schedule__time {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-schedule__row--break .kf-schedule__time {
    color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .kf-schedule__title,
html[data-theme="dark"] .kf-schedule__row--break .kf-schedule__title {
    color: rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] .kf-schedule__desc {
    color: rgba(255, 255, 255, 0.55);
}

html[data-theme="dark"] .kf-schedule__speaker-name {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-schedule__speaker-role {
    color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .kf-avatar-placeholder {
    background: rgba(126, 51, 226, 0.16);
    color: #b98bff;
}

/* Schedule: parallel tracks */
html[data-theme="dark"] .kf-schedule__parallel {
    background: var(--wp--preset--color--dark, #2E2E39);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .kf-track {
    border-right-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .kf-track__badge {
    background: rgba(236, 72, 153, 0.15);
    color: var(--wp--preset--color--pink);
}

html[data-theme="dark"] .kf-track__name,
html[data-theme="dark"] .kf-track__title {
    color: rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] .kf-track__divider {
    border-top-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .kf-track__opis,
html[data-theme="dark"] .kf-track__opis p {
    color: rgba(255, 255, 255, 0.6);
}

/* Speakers list (program tab) */
html[data-theme="dark"] .kf-speaker-card {
    border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .kf-speaker-card__photo--placeholder {
    background: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .kf-speaker-card__name {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-speaker-card__role {
    color: rgba(255, 255, 255, 0.55);
}

html[data-theme="dark"] .kf-speaker-card__bio {
    color: rgba(255, 255, 255, 0.6);
}

/* Event path (registration journey) */
html[data-theme="dark"] .kf-event-path {
    background: var(--wp--preset--color--black, #1A1A25);
}

html[data-theme="dark"] .kf-event-path__right {
    color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .kf-event-path__step-num {
    background: rgba(126, 51, 226, 0.16);
    color: #b98bff;
}

html[data-theme="dark"] .kf-event-path__item:hover .kf-event-path__step-num,
html[data-theme="dark"] .kf-event-path__item--solid .kf-event-path__step-num {
    background: var(--wp--preset--color--purple, #7E33E2);
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-event-path__step-title {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-event-path__step-desc {
    color: rgba(255, 255, 255, 0.6);
}

/* For who: column icon */
html[data-theme="dark"] .kf-for-who__col-icon {
    background: rgba(126, 51, 226, 0.16);
    color: #b98bff;
}

/* Features boxes */
html[data-theme="dark"] .kf-features-boxes {
    background: var(--wp--preset--color--black, #1A1A25);
}

html[data-theme="dark"] .kf-feature-box {
    background: linear-gradient(138deg, var(--wp--preset--color--dark, #2E2E39) 0%, #24242e 100%);
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: none;
}

html[data-theme="dark"] .kf-feature-box__icon {
    background: rgba(126, 51, 226, 0.16);
    color: #b98bff;
}

html[data-theme="dark"] .kf-feature-box__title {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-feature-box__desc {
    color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .kf-features-boxes__pagination .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.25);
}

html[data-theme="dark"] .kf-features-boxes__pagination .swiper-pagination-bullet-active {
    background: #b98bff;
}

/* Logo bar */
html[data-theme="dark"] .kf-logo-bar {
    background: var(--wp--preset--color--dark, #2E2E39);
    border-top-color: rgba(255, 255, 255, 0.12);
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .kf-logo-bar__title {
    color: rgba(255, 255, 255, 0.6);
}

/* Gallery block */
html[data-theme="dark"] .kf-gallery-block {
    background: var(--wp--preset--color--black, #1A1A25);
}

html[data-theme="dark"] .kf-gallery-dots .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.25);
}

html[data-theme="dark"] .kf-gallery-dots .swiper-pagination-bullet-active {
    background: var(--wp--preset--color--white);
}

/* Packages section */
html[data-theme="dark"] .kf-packages-section {
    background: var(--wp--preset--color--black, #1A1A25);
    border-top-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .kf-packages-section__title {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-package-card {
    background: var(--wp--preset--color--dark, #2E2E39);
    border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .kf-package-card__item-label {
    color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .kf-package-card__item-name {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-package-card__item-date {
    color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .kf-package-card__plus {
    color: rgba(255, 255, 255, 0.3);
}

html[data-theme="dark"] .kf-package-card__savings {
    color: #4ade80;
}

/* Generic kf-block header (used inside event-path, features-boxes, gallery-block, prelegents-block) */
html[data-theme="dark"] .kf-block__title {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-block__desc {
    color: rgba(255, 255, 255, 0.7);
}

/* Prelegents (speakers) block */
html[data-theme="dark"] .kf-prelegents-block {
    background: var(--wp--preset--color--black, #1A1A25);
}

html[data-theme="dark"] .kf-prelegent-card {
    background: var(--wp--preset--color--dark, #2E2E39);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

html[data-theme="dark"] .kf-prelegent-card__photo-placeholder {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .kf-prelegent-card__photo-placeholder svg path[stroke="var(--wp--preset--color--purple-500)"] {
    stroke: rgba(255, 255, 255, 0.5);
}

html[data-theme="dark"] .kf-prelegent-card__name {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-prelegent-card__name:hover {
    color: #b98bff;
}

html[data-theme="dark"] .kf-prelegent-card__company {
    color: rgba(255, 255, 255, 0.6);
}

html[data-theme="dark"] .kf-prelegent-card__role {
    color: #b98bff;
}

/* Speaker/trainer popup modal (kf-trainer-modal) */
html[data-theme="dark"] .kf-trainer-modal__card {
    border: 1px solid rgba(255, 255, 255, 0.15);
}

html[data-theme="dark"] .kf-trainer-modal__body {
    background: var(--wp--preset--color--dark, #2E2E39);
    border-color: rgba(255, 255, 255, 0.15);
}

html[data-theme="dark"] .kf-trainer-modal__section-title {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-trainer-modal__section-line {
    border-top-color: rgba(255, 255, 255, 0.15);
}

html[data-theme="dark"] .kf-trainer-modal__bio {
    color: rgba(255, 255, 255, 0.75);
}

html[data-theme="dark"] .kf-trainer-modal__bio h1,
html[data-theme="dark"] .kf-trainer-modal__bio h2,
html[data-theme="dark"] .kf-trainer-modal__bio h3,
html[data-theme="dark"] .kf-trainer-modal__bio h4 {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-trainer-modal__role {
    color: var(--wp--preset--color--yellow, #FFE500);
}

/* Program mobile bottom-sheet */
html[data-theme="dark"] .kf-program.kf-program--has-schedule.is-open {
    background: var(--wp--preset--color--dark, #2E2E39);
}

html[data-theme="dark"] .kf-program__mobile-handle {
    background: rgba(255, 255, 255, 0.25);
}

html[data-theme="dark"] .kf-program__mobile-title {
    color: var(--wp--preset--color--white);
}

html[data-theme="dark"] .kf-agenda-close {
    color: var(--wp--preset--color--white);
}
