/* ==========================================================================
   NACS Show 2026 - Mini Schedule
   Tokens: NACSShow2026Tokens.css
   ========================================================================== */

/* --------------------------------------------------------------------------
   Section Container
   -------------------------------------------------------------------------- */
.mini-sched {
    background-color: #F1F1F1;
    padding: 100px 80px;
    display: flex;
    flex-direction: column;
    gap: 50px;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    box-sizing: border-box;
    /* Full-bleed gray background: keep the 1440px content constraint above,
       but extend the gray fill to the viewport edges via a horizontal-only
       clipped box-shadow. */
    box-shadow: 0 0 0 100vmax #F1F1F1;
    clip-path: inset(0 -100vmax);
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.mini-sched__header {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
}

/* Eyebrow */
.mini-sched__eyebrow {
    display: flex;
    gap: 10px;
    align-items: center;
}

.mini-sched__eyebrow-dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    flex-shrink: 0;
}

.mini-sched__eyebrow-dot--navy {
    background: linear-gradient(135deg, var(--nacs-color-navy), #004C97);
}

.mini-sched__eyebrow-text {
    font-family: var(--nacs-font-gotham);
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--nacs-color-navy);
}

/* Heading */
.mini-sched__heading {
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 48px;
    line-height: 56px;
    letter-spacing: 0;
    text-transform: capitalize;
    color: var(--nacs-color-navy);
    margin: 0;
}

/* CTA Button (mobile only) */
.mini-sched__btn {
    display: none;
}

/* --------------------------------------------------------------------------
   Day Tabs
   -------------------------------------------------------------------------- */
.mini-sched__days {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.mini-sched__day {
    flex: 1 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    padding: 16px 32px;
    background: none;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0.5;
    color: var(--nacs-color-grey-dark);
    transition: all 0.2s ease;
}

.mini-sched__day:hover {
    opacity: 0.75;
}

.mini-sched__day--active {
    background-color: #00A82D;
    border-color: #00A82D;
    backdrop-filter: blur(5px);
    color: var(--nacs-color-white);
    opacity: 1;
}

.mini-sched__day--active:hover {
    opacity: 1;
}

.mini-sched__day-name {
    font-family: var(--nacs-font-gotham);
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.mini-sched__day-number {
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 48px;
    line-height: 56px;
    letter-spacing: 0;
    text-transform: capitalize;
}

/* --------------------------------------------------------------------------
   Event Cards - Desktop (3-column grid)
   -------------------------------------------------------------------------- */
.mini-sched__events {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 24px;
    width: 100%;
}

/* Hidden panel (inactive day) */
.mini-sched__events--hidden {
    display: none;
}

/* Card base */
.mini-sched__event {
    border-radius: 4px;
    padding: 24px 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 160px;
}

/* Color variants */
.mini-sched__event--navy {
    background-color: var(--nacs-color-navy);
}

.mini-sched__event--blue {
    background-color: #004C97;
}

/* Event Info */
.mini-sched__event-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mini-sched__event-details {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mini-sched__event-title {
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0;
    text-transform: capitalize;
    color: var(--nacs-color-white);
    margin: 0;
}

.mini-sched__event-subtitle {
    font-family: var(--nacs-font-gotham);
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    color: var(--nacs-color-white);
    margin: 0;
}

.mini-sched__event-subtitle > p,
.mini-sched__event-subtitle > * {
    margin: 0;
    color: inherit;
    font: inherit;
}

.mini-sched__event-time {
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 16px;
    line-height: 18px;
    letter-spacing: 0;
    color: var(--nacs-color-white);
    margin: 0;
}

/* Location */
.mini-sched__event-location {
    display: flex;
    gap: 8px;
    align-items: center;
}

.mini-sched__loc-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.mini-sched__loc-icon svg {
    width: 100%;
    height: 100%;
}

/* Desktop: show pin icon, hide map icon */
.mini-sched__loc-icon--pin {
    display: block;
}

.mini-sched__loc-icon--map {
    display: none;
}

.mini-sched__loc-text {
    font-family: var(--nacs-font-gotham);
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--nacs-color-white);
}

/* --------------------------------------------------------------------------
   Mobile (max-width: 768px)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {

    .mini-sched {
        padding: 40px 20px;
        gap: 32px;
    }

    /* Header */
    .mini-sched__header {
        align-items: center;
        text-align: center;
        gap: 8px;
    }

    .mini-sched__heading {
        font-size: 32px;
        line-height: 40px;
    }

    /* Show CTA button */
    .mini-sched__btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background-color: var(--nacs-color-yellow);
        border-radius: 360px;
        padding: 0 20px;
        height: 48px;
        text-decoration: none;
        margin-top: 24px;
        transition: transform 0.2s ease;
    }

    .mini-sched__btn:hover {
        transform: scale(1.03);
    }

    .mini-sched__btn span {
        font-family: var(--nacs-font-gotham);
        font-weight: 700;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: var(--nacs-color-navy);
    }

    .mini-sched__btn svg {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }

    /* Day Tabs */
    .mini-sched__days {
        padding: 20px 0;
    }

    .mini-sched__day {
        padding: 16px;
        gap: 10px;
        align-items: center;
    }

    /* Events - single column stacked */
    .mini-sched__events {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .mini-sched__event {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        min-height: auto;
        padding: 16px;
    }

    .mini-sched__event-info {
        gap: 16px;
    }

    .mini-sched__event-details {
        gap: 8px;
    }

    .mini-sched__event-title {
        font-weight: 500;
    }

    .mini-sched__event-time {
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        text-transform: uppercase;
    }

    /* Location: right-aligned */
    .mini-sched__event-location {
        flex-shrink: 0;
    }

    /* Mobile: show map icon, hide pin for events 2+ */
    .mini-sched__loc-icon--pin {
        display: block;
    }

    .mini-sched__loc-icon--map {
        display: none;
    }

    .mini-sched__event:not(:first-child) .mini-sched__loc-icon--pin {
        display: none;
    }

    .mini-sched__event:not(:first-child) .mini-sched__loc-icon--map {
        display: block;
    }
}

/* --------------------------------------------------------------------------
   Small Mobile (max-width: 480px)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 480px) {

    .mini-sched__day {
        padding: 12px 8px;
    }

    .mini-sched__day-number {
        font-size: 36px;
        line-height: 44px;
    }
}
