/* ==========================================================================
   VAF — Public running order
   Dark glassmorphism, white-only accents, Roboto Condensed, sharp corners.
   ========================================================================== */

.vaf-pub-schedule {
    background: #0a0a0a;
    color: #fff;
    padding: 4rem 2rem;
    font-family: 'Roboto', sans-serif;
}

/* ── Header ─────────────────────────────────────────────────────── */

.vaf-pub-head {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    max-width: 1400px;
    margin: 0 auto 2rem;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    flex-wrap: wrap;
}

.vaf-pub-logo {
    width: 84px;
    height: 84px;
    object-fit: contain;
    flex-shrink: 0;
}

.vaf-pub-head-text { flex: 1; min-width: 220px; }

.vaf-pub-head-text h2 {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 2.2rem;
    line-height: 1.1;
    margin: 0;
    color: #fff;
    letter-spacing: .5px;
}

.vaf-pub-head-meta {
    color: rgba(255, 255, 255, .5);
    font-size: .95rem;
    margin-top: .35rem;
}

/* ── Timezone switch ────────────────────────────────────────────── */

.vaf-pub-tz { text-align: right; }

.vaf-pub-tz-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .55);
    padding: .5rem 1.1rem;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .8px;
    cursor: pointer;
    font-family: inherit;
}

.vaf-pub-tz-btn:hover { color: #fff; }
.vaf-pub-tz-btn.active { background: #fff; border-color: #fff; color: #000; }

.vaf-pub-tz-note {
    font-size: .76rem;
    color: rgba(255, 255, 255, .4);
    margin-top: .5rem;
    min-height: 1em;
}

.vaf-pub-intro {
    max-width: 1400px;
    margin: 0 auto 2rem;
    color: rgba(255, 255, 255, .7);
    line-height: 1.7;
}

/* ── Partners ───────────────────────────────────────────────────── */

.vaf-pub-partners {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    flex-wrap: wrap;
    max-width: 1400px;
    margin: 0 auto 2.5rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.vaf-pub-partner img {
    height: 46px;
    width: auto;
    object-fit: contain;
    /* Sponsor logos arrive in every colour; one treatment keeps the strip calm */
    filter: grayscale(100%) brightness(1.8);
    opacity: .75;
    transition: opacity .2s, filter .2s;
}

.vaf-pub-partner:hover img { filter: none; opacity: 1; }

.vaf-pub-links {
    display: flex;
    gap: .8rem;
    flex-wrap: wrap;
    max-width: 1400px;
    margin: 0 auto 2rem;
}

.vaf-pub-link {
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
    padding: .6rem 1.4rem;
    font-size: .8rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .8px;
    text-decoration: none;
}

.vaf-pub-link:hover { background: #fff; color: #000; }

/* ── Days ───────────────────────────────────────────────────────── */

.vaf-pub-days {
    display: grid;
    gap: 1.2rem;
    max-width: 1400px;
    margin: 0 auto;
    grid-template-columns: 1fr;
}

.vaf-pub-days[data-days="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vaf-pub-days[data-days="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vaf-pub-days[data-days="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.vaf-pub-day {
    background: rgba(255, 255, 255, .02);
    border: 1px solid rgba(255, 255, 255, .1);
}

.vaf-pub-day-head {
    padding: 1rem 1.2rem;
    background: rgba(255, 255, 255, .04);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    text-align: center;
}

.vaf-pub-day-name {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1.05rem;
    letter-spacing: 1px;
}

.vaf-pub-day-sub {
    font-size: .75rem;
    color: rgba(255, 255, 255, .4);
    margin-top: .15rem;
}

/* ── Rows ───────────────────────────────────────────────────────── */

.vaf-pub-row {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .7rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
}

.vaf-pub-row:last-child { border-bottom: none; }
.vaf-pub-row-team:nth-of-type(even) { background: rgba(255, 255, 255, .015); }

.vaf-pub-num {
    font-size: .72rem;
    color: rgba(255, 255, 255, .25);
    min-width: 16px;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 900;
}

.vaf-pub-time {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 900;
    font-size: .88rem;
    color: #fff;
    min-width: 62px;
    white-space: nowrap;
}

.vaf-pub-logo-cell {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vaf-pub-logo-cell img {
    max-width: 32px;
    max-height: 32px;
    object-fit: contain;
}

.vaf-pub-team { flex: 1; min-width: 0; }

.vaf-pub-team-name {
    display: block;
    font-size: .92rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

.vaf-pub-aircraft {
    display: block;
    font-size: .78rem;
    color: rgba(255, 255, 255, .45);
    line-height: 1.3;
}

.vaf-pub-country {
    font-size: .75rem;
    font-weight: 900;
    color: rgba(255, 255, 255, .4);
    letter-spacing: .5px;
    flex-shrink: 0;
}

/* ── Bands: show start, breaks, end ─────────────────────────────── */

.vaf-pub-band-label {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    font-size: .82rem;
    letter-spacing: 1px;
}

.vaf-pub-row-start {
    background: rgba(255, 255, 255, .06);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.vaf-pub-row-end {
    background: rgba(255, 255, 255, .06);
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.vaf-pub-row-break {
    background: rgba(255, 255, 255, .035);
    color: rgba(255, 255, 255, .65);
}

.vaf-pub-row-break .vaf-pub-time,
.vaf-pub-row-break .vaf-pub-band-label { color: rgba(255, 255, 255, .65); }

.vaf-pub-foot {
    max-width: 1400px;
    margin: 2rem auto 0;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
    font-size: .8rem;
    color: rgba(255, 255, 255, .35);
    text-align: center;
}

/* ── Narrow screens ─────────────────────────────────────────────── */

@media (max-width: 1100px) {
    /* Three columns of times stop being readable well before phone width */
    .vaf-pub-days[data-days="2"],
    .vaf-pub-days[data-days="3"],
    .vaf-pub-days[data-days="4"] { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .vaf-pub-schedule { padding: 2.5rem 1rem; }
    .vaf-pub-head-text h2 { font-size: 1.5rem; }
    .vaf-pub-head { gap: 1rem; }
    .vaf-pub-logo { width: 56px; height: 56px; }
    .vaf-pub-tz { text-align: left; width: 100%; }
    .vaf-pub-row { flex-wrap: wrap; gap: .5rem; }
    .vaf-pub-time { min-width: 56px; }
    .vaf-pub-partner img { height: 32px; }
}

@media print {
    .vaf-pub-schedule { background: #fff; color: #000; padding: 0; }
    .vaf-pub-tz, .vaf-pub-links { display: none; }
    .vaf-pub-head-text h2, .vaf-pub-time, .vaf-pub-team-name { color: #000; }
    .vaf-pub-aircraft, .vaf-pub-country, .vaf-pub-head-meta { color: #444; }
    .vaf-pub-day { border-color: #999; break-inside: avoid; }
    .vaf-pub-row { border-color: #ddd; }
    .vaf-pub-partner img { filter: none; opacity: 1; }
}
