/* =========================================================
   Splash OS — Schedule redesign (v2, tighter reference card)
   7-column grid: date · div1 · body · div2 · price · div3 · cta
   Tightened density, standardised spacing tokens.
   Uses :root --splash-* tokens from admin color picker
   with design-reference inspired fallbacks.
   ========================================================= */

/* ------------------------------------------------------------------ */
/*  TOKENS  — standardised spacing (all gaps derive from these)       */
/* ------------------------------------------------------------------ */
.splash-schedule-wrap {
    --splash-sched-navy:       var(--splash-heading, #1e3a5f);
    --splash-sched-navy-2:     #17305a;
    --splash-sched-gold:       #d4a017;
    --splash-sched-gold-2:     #c29014;
    --splash-sched-cream:      #f8f7f3;
    --splash-sched-cream-2:    #efece3;
    --splash-sched-divider:    rgba(30, 58, 95, 0.14);
    --splash-sched-green:      #2f6e3a;
    --splash-sched-green-2:    #265c31;
    --splash-sched-text:       var(--splash-text,    #2b353f);
    --splash-sched-heading:    var(--splash-heading, #17305a);
    --splash-sched-accent:     var(--splash-accent,  #166559);
    --splash-sched-border:     var(--splash-border,  #efe7d3);
    --splash-sched-cta-label:  #ffffff;
    --splash-sched-low-gold:   #f5c518;
    --splash-sched-gray-cta:   #858d96;
    --splash-sched-gray-pill:  #6c727b;
    --splash-sched-radius-lg:  22px;
    --splash-sched-radius-md:  14px;
    --splash-sched-radius-pill:999px;

    /* V2 — standardised spacing tokens */
    --sched-space-1:  4px;
    --sched-space-2:  8px;
    --sched-space-3:  12px;
    --sched-space-4:  16px;
    --sched-space-5:  20px;
    --sched-space-6:  24px;
    --sched-space-7:  28px;
    --sched-space-8:  32px;
    --sched-div-gutter: 20px;   /* req.5: horizontal spacing each side of vertical borders */

    --sched-shadow-card: 0 1px 0 rgba(17, 24, 39, 0.04), 0 8px 30px -20px rgba(23, 48, 90, 0.25);

    color: var(--splash-sched-text);
    line-height: 1.45;
}
.splash-schedule-wrap * { box-sizing: border-box; }

/* ------------------------------------------------------------------ */
/*  HEADER BAND  (Find a space + month pill + trust badges)           */
/* ------------------------------------------------------------------ */
.splash-schedule-header {
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(255,255,255,0.05), transparent 50%),
        radial-gradient(120% 80% at 100% 100%, rgba(255,255,255,0.03), transparent 60%),
        linear-gradient(180deg, var(--splash-sched-navy) 0%, var(--splash-sched-navy-2) 100%);
    color: #fff;
    padding: var(--sched-space-7) var(--sched-space-7) var(--sched-space-6);
    border-top-left-radius: var(--splash-sched-radius-lg);
    border-top-right-radius: var(--splash-sched-radius-lg);
    position: relative;
    overflow: hidden;
}
.splash-schedule-header::after {
    content: "";
    position: absolute; inset: 0;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    pointer-events: none;
    opacity: 0.8;
    mix-blend-mode: overlay;
}
.splash-schedule-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sched-space-6);
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}
.splash-header-title {
    font-weight: 800;
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: #ffffff;
    margin: 0 0 2px;
}
.splash-header-boatname {
    color: rgba(255,255,255,0.72);
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin: var(--sched-space-2) 0 0;
}

/* ---- MONTH PILL (inside header) -------------------------------- */
.splash-month-pill {
    background: rgba(255,255,255,0.88);
    color: var(--splash-sched-navy);
    display: inline-flex;
    align-items: center;
    gap: var(--sched-space-3);
    padding: var(--sched-space-2) var(--sched-space-2) var(--sched-space-2) var(--sched-space-3);
    border-radius: var(--splash-sched-radius-pill);
    box-shadow: 0 2px 0 rgba(0,0,0,0.06), 0 12px 30px -16px rgba(0,0,0,0.45);
    border: 2px solid rgba(255,255,255,0.35);
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .2s ease;
    min-width: 240px;
}
.splash-month-pill:hover { background: #fff; transform: translateY(-1px); box-shadow: 0 3px 0 rgba(0,0,0,0.08), 0 18px 36px -18px rgba(0,0,0,0.55); }
.splash-month-pill:focus-within { border-color: var(--splash-sched-gold); box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.25); }
.splash-month-pill-icon { color: #17305a; display: inline-flex; line-height: 0; }
.splash-month-pill-chevron { color: #52607a; display: inline-flex; line-height: 0; padding-right: 6px; }
.splash-month-select {
    appearance: none; -webkit-appearance: none;
    background: transparent; border: none; outline: none;
    font-family: inherit;
    font-weight: 600;
    color: var(--splash-sched-navy);
    font-size: 18px;
    letter-spacing: -0.01em;
    padding: 4px 0;
    flex: 1;
    cursor: pointer;
    min-width: 0;
}
.splash-month-select option { font-weight: 500; color: #17305a; background: #fff; }

/* ---- TRUST BADGES (under header) -------------------------------- */
.splash-trust-list {
    list-style: none;
    margin: var(--sched-space-6) 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--sched-space-4) var(--sched-space-7);
    position: relative;
    z-index: 1;
}
.splash-trust-item {
    display: inline-flex;
    align-items: center;
    gap: var(--sched-space-2);
    color: var(--splash-sched-gold);
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.01em;
}
.splash-trust-icon { display: inline-flex; line-height: 0; }

/* ------------------------------------------------------------------ */
/*  INNER CARD AREA (splash-find-card) + GRID rows                    */
/* ------------------------------------------------------------------ */
.splash-find-card {
    background: var(--splash-sched-cream);
    padding: var(--sched-space-2) var(--sched-space-5) var(--sched-space-4);
    border-bottom-left-radius: var(--splash-sched-radius-lg);
    border-bottom-right-radius: var(--splash-sched-radius-lg);
    box-shadow: var(--sched-shadow-card);
    border: 1px solid var(--splash-border, #ebe3cb);
    border-top: none;
    position: relative;
}
.splash-schedule-wrap + .splash-find-card { margin-top: 0; }
.splash-schedule-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: var(--sched-space-4) 4px var(--sched-space-5);
}

/* ------------------------------------------------------------------ */
/*  ROW CARD — V2 7-col grid                                          */
/*  date · div1 · body · div2 · price · div3 · cta                    */
/* ------------------------------------------------------------------ */
.splash-schedule-card {
    display: grid;
    grid-template-columns: 180px auto minmax(0, 1fr) auto 200px auto 200px;
    align-items: center;
    padding: var(--sched-space-5) var(--sched-space-3);
    position: relative;
}
/* row separator: thin hairline between cards (not on first card) */
.splash-schedule-card + .splash-schedule-card .splash-card-row-sep {
    content: "";
    position: absolute;
    top: 0; left: var(--sched-space-6); right: var(--sched-space-6);
    height: 1px;
    background: var(--splash-sched-divider);
}
.splash-schedule-card.splash-card--first .splash-card-row-sep { display: none; }
.splash-card-row-sep { display: none; }
.splash-schedule-card + .splash-schedule-card .splash-card-row-sep { display: block; }

/* ----- VERTICAL DIVIDERS — req.5: 20px horizontal EACH side ------- */
/* div1 sits between column 1 (date) → 2 (body). Add --sched-div-gutter padding either side. */
.splash-card-divider--v1 { padding: 0 var(--sched-div-gutter); }
.splash-card-divider--v2 { padding: 0 var(--sched-div-gutter); }
.splash-card-divider--v3 { padding: 0 var(--sched-div-gutter); }

.splash-card-divider--v1,
.splash-card-divider--v2,
.splash-card-divider--v3 {
    height: 100%;
    display: flex;
    justify-content: center;
}
.splash-card-divider--v1::before,
.splash-card-divider--v2::before,
.splash-card-divider--v3::before {
    content: "";
    width: 1px;
    align-self: stretch;
    background: linear-gradient(
        to bottom,
        transparent 10%,
        var(--splash-sched-divider) 30%,
        var(--splash-sched-divider) 70%,
        transparent 92%
    );
}

/* ----- LEFT: DATE BLOCK (stacked month/day, big numerals) -------- */
.splash-card-date {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: var(--sched-space-3);
}
.splash-card-date-pair {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: start;
    gap: var(--sched-space-3);
    width: 100%;
}
.splash-card-date-half {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    color: var(--splash-sched-heading);
    line-height: 1;
}
.splash-card-date-half--end { color: var(--splash-sched-navy-2); }
.splash-card-date-month {
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.splash-card-date-day {
    font-weight: 900;
    font-size: 44px;
    letter-spacing: -0.03em;
    line-height: 0.9;
}
.splash-card-date-sep {
    color: var(--splash-sched-navy-2);
    align-self: center;
    padding-top: 18px;
    opacity: 0.55;
}

/* ----- MIDDLE: BODY (pin + title row + meta + subtitle + ports) -- */
.splash-card-body {
    min-width: 0;
    padding: var(--sched-space-1) 0;
    display: flex;
    flex-direction: column;
    align-self: flex-start;
    padding-top: 4px;
}
.splash-card-title-row {
    display: flex;
    gap: var(--sched-space-3);
    align-items: flex-start;
}
.splash-card-pin-icon {
    flex: 0 0 auto;
    color: var(--splash-sched-accent);
    margin-top: 3px;
    line-height: 0;
    display: inline-flex;
}
.splash-card-titles {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--sched-space-2);
}
.splash-card-title {
    color: var(--splash-sched-heading);
    font-weight: 700;
    font-size: clamp(20px, 1.6vw, 26px);
    line-height: 1.1;
    letter-spacing: -0.01em;
    margin: 0;
    word-break: break-word;
}
/* --- META LINE (req.2,3,4: "X days, Y nights • X dives • [spaces]" under title) */
.splash-card-meta {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sched-space-2) 10px;
    color: #475569;
    font-size: 14.5px;
    line-height: 1.3;
    font-weight: 500;
}
.splash-card-meta-item { display: inline-flex; align-items: center; }
.splash-card-meta-sep { opacity: 0.45; padding: 0 1px; }

.splash-card-subtitle {
    color: #475569;
    font-size: 15px;
    line-height: 1.35;
    margin: 0;
    font-weight: 400;
}
.splash-card-ports {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px var(--sched-space-3);
    color: #445065;
    font-size: 14px;
}
.splash-card-ports-key {
    font-weight: 500;
    color: inherit;
}
.splash-card-ports-value {
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--splash-sched-heading);
    text-transform: uppercase;
    font-size: 13px;
}
.splash-card-ports-sep { opacity: 0.4; padding: 0 2px; }

/* ----- PRICE COLUMN (req.6: slightly smaller than previous) ------ */
.splash-card-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    min-width: 0;
}
.splash-card-price-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}
.splash-card-price-from {
    font-size: 12.5px;
    color: var(--splash-sched-navy);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.7;
}
.splash-card-price-num {
    font-weight: 900;
    color: var(--splash-sched-heading);
    /* req.6: smaller — previous was clamp(34px,3.4vw,54px). Dialed down. */
    font-size: clamp(26px, 2.6vw, 40px);
    line-height: 1;
    letter-spacing: -0.02em;
}
.splash-card-price-inner--na .splash-price-na {
    font-size: 20px;
    font-weight: 700;
    color: var(--splash-sched-gray-pill);
}

/* ----- CTA COLUMN (req.7: standalone far-right column) ---------- */
.splash-card-cta-col {
    display: flex;
    justify-content: center;
    align-items: center;
}
.splash-btn-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sched-space-2);
    padding: 13px 18px;
    font-size: 14.5px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: white !important;
    background: linear-gradient(180deg, var(--splash-sched-green) 0%, var(--splash-sched-green-2) 100%);
    border-radius: 14px;
    text-decoration: none;
    box-shadow: inset 0 -2.5px 0 rgba(0,0,0,0.18), 0 4px 0 rgba(0,0,0,0.04), 0 16px 28px -14px rgba(47,110,58,0.6);
    border: 1.5px solid rgba(255,255,255,0.12);
    transition: transform .12s ease, box-shadow .16s ease, filter .16s ease, background .2s ease;
    white-space: nowrap;
    width: 100%;
    min-width: 150px;
}
.splash-btn-card:hover {
    transform: translateY(-1.5px);
    box-shadow: inset 0 -2.5px 0 rgba(0,0,0,0.22), 0 8px 0 rgba(0,0,0,0.04), 0 22px 34px -14px rgba(47,110,58,0.7);
    color: var(--splash-sched-cta-label);
}
.splash-btn-card:focus-visible {
    outline: none;
    box-shadow: inset 0 -2.5px 0 rgba(0,0,0,0.22), 0 0 0 3px rgba(212, 160, 23, 0.28), 0 18px 30px -14px rgba(0,0,0,0.4);
}
.splash-btn-icon { display: inline-flex; line-height: 0; transition: transform .15s ease; }
.splash-btn-card:hover .splash-btn-icon { transform: translateX(2px); }

.splash-btn--disabled {
    background: linear-gradient(180deg, #a9b0b8 0%, #889099 100%);
    cursor: not-allowed;
    opacity: 0.8;
    box-shadow: inset 0 -2.5px 0 rgba(0,0,0,0.12);
}
.splash-admin-inline-warning {
    padding: var(--sched-space-2) var(--sched-space-3);
    background: #fff7d6;
    color: #854d0e;
    border-radius: var(--splash-sched-radius-md);
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #f1df7b;
}

/* LOW SPACES (gold CTA) */
.splash-schedule-card.splash-card--low .splash-btn-card {
    background: linear-gradient(180deg, var(--splash-sched-low-gold) 0%, #e2b007 100%);
    color: var(--splash-sched-navy);
    border-color: rgba(255,255,255,0.22);
    box-shadow: inset 0 -2.5px 0 rgba(0,0,0,0.14), 0 4px 0 rgba(0,0,0,0.04), 0 16px 28px -14px rgba(212,160,23,0.55);
}
.splash-schedule-card.splash-card--low .splash-btn-card:hover {
    box-shadow: inset 0 -2.5px 0 rgba(0,0,0,0.18), 0 22px 34px -14px rgba(212,160,23,0.7);
}
/* SOLD OUT (greyed CTA + reduced saturation on entire card) */
.splash-schedule-card.splash-card--sold { opacity: 0.76; }
.splash-schedule-card.splash-card--sold .splash-btn-card {
    background: linear-gradient(180deg, #94999f 0%, #6f747b 100%);
    color: #fff;
    box-shadow: inset 0 -2.5px 0 rgba(0,0,0,0.18);
}
.splash-schedule-card.splash-card--sold .splash-card-price-num { color: #6b7280; }
/* ENQUIRE (outline pill) */
.splash-schedule-card.splash-card--enquire .splash-btn-card {
    background: transparent;
    color: var(--splash-sched-navy);
    border: 2px solid var(--splash-sched-navy);
    box-shadow: 0 3px 0 rgba(23,48,90,0.08);
}
.splash-schedule-card.splash-card--enquire .splash-btn-card:hover {
    background: rgba(23,48,90,0.06);
}

/* ----- SPACES BADGE — now inline under title (req.4) ------------- */
.splash-card-spaces { display: inline-flex; align-items: center; }
.splash-spaces-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--sched-space-2);
    min-height: 26px;
    padding: 4px 10px;
    border-radius: var(--splash-sched-radius-pill);
    background: #eef2f7;
    color: var(--splash-sched-navy);
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.02em;
    transition: background .2s ease, color .2s ease, transform .15s ease;
    border: 1px solid transparent;
}
.splash-spaces-badge .splash-spaces-label { display: inline-block; line-height: 1.1; }
.splash-spaces-badge .splash-spaces-spinner {
    width: 11px; height: 11px; border-radius: 50%;
    border: 2px solid rgba(23,48,90,0.2);
    border-top-color: var(--splash-sched-navy);
    animation: splash-spaces-spin .9s linear infinite;
    display: inline-block;
}
@keyframes splash-spaces-spin { to { transform: rotate(360deg); } }

.splash-spaces-badge[data-status="ok"],
.splash-spaces-badge.splash-badge--ok   { background: #e8f5ec; color: #1e572b; border-color: #cde7d5; }
.splash-spaces-badge[data-status="low"],
.splash-spaces-badge.splash-badge--low  {
    background: linear-gradient(180deg, var(--splash-sched-low-gold) 0%, #e2b007 100%);
    color: var(--splash-sched-navy);
    border-color: rgba(0,0,0,0.06);
    box-shadow: inset 0 -1.5px 0 rgba(0,0,0,0.1);
}
.splash-spaces-badge[data-status="full"],
.splash-spaces-badge.splash-badge--full {
    background: #fbe9e7; color: #991b1b; border-color: #f5c4bb; font-weight: 800; letter-spacing: 0.05em;
}
.splash-spaces-badge[data-status="enquire"],
.splash-spaces-badge.splash-badge--enquire {
    background: #fff7d6; color: #854d0e; border-color: #f1df7b;
}
.splash-spaces-badge.splash-full    { background: #fbe9e7; color: #991b1b; }
.splash-spaces-badge.splash-low     { /* legacy, keep for BC */ }
.splash-spaces-badge.splash-enquire { background: #fff7d6; color: #854d0e; }

/* ------------------------------------------------------------------ */
/*  RESPONSIVE (req.10)                                               */
/* ------------------------------------------------------------------ */

/* Tablets ≤1120px: shrink columns */
@media (max-width: 1120px) {
    .splash-schedule-card {
        grid-template-columns: 160px auto minmax(0, 1fr) auto 180px auto 180px;
        padding: var(--sched-space-5) var(--sched-space-2);
    }
    .splash-card-date-day { font-size: 40px; }
    .splash-header-title { font-size: clamp(28px, 4vw, 44px); }
    .splash-btn-card { font-size: 13.5px; padding: 12px 14px; }
}

/* ≤1000px: break 7-col grid into 3 logical stacked rows
   ROW 1 = date (full width, dates on their own line)
   ROW 2 = body (title + meta + days/nights/dives/spaces + subtitle/ports)
   ROW 3 = price + CTA side-by-side same row, matched height, compacted */
@media (max-width: 1000px) {
    .splash-schedule-header {
        padding: var(--sched-space-6) var(--sched-space-5) var(--sched-space-5);
        border-radius: 18px 18px 0 0;
    }
    .splash-schedule-header-row { flex-direction: column; align-items: flex-start; gap: var(--sched-space-4); }
    .splash-month-pill { width: 100%; max-width: 360px; }
    .splash-trust-list { gap: var(--sched-space-3) var(--sched-space-5); margin-top: var(--sched-space-5); }
    .splash-trust-item { font-size: 14px; }

    .splash-find-card { padding: var(--sched-space-1) var(--sched-space-4) var(--sched-space-4); border-radius: 0 0 18px 18px; }
    .splash-schedule-grid { padding: var(--sched-space-3) 2px var(--sched-space-4); }

    .splash-schedule-card {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas:
            "date"
            "body"
            "action";
        gap: var(--sched-space-4);
        padding: var(--sched-space-5) var(--sched-space-3);
    }
    .splash-schedule-card .splash-card-row-sep {
        left: var(--sched-space-2); right: var(--sched-space-2); background: var(--splash-sched-divider);
    }

    /* hide all vertical dividers in 3-row layout */
    .splash-card-divider--v1,
    .splash-card-divider--v2,
    .splash-card-divider--v3 { display: none; }

    /* ROW 1: dates alone, horizontal start/end pair */
    .splash-card-date {
        grid-area: date;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        padding: 2px 4px 0;
    }
    .splash-card-date-pair {
        width: auto;
        justify-content: flex-start;
        gap: 16px;
    }
    .splash-card-date-half { align-items: flex-start; text-align: left; }
    .splash-card-date-half--end { align-items: flex-end; text-align: right; }
    .splash-card-date-day { font-size: 40px; }
    .splash-card-date-month { font-size: 16px; margin-bottom: 4px; }
    .splash-card-date-sep { padding-top: 20px; }

    /* ROW 2: itinerary body (title + meta + dives + spaces + subtitle + ports) */
    .splash-card-body {
        grid-area: body;
        padding: 0 2px;
        align-self: stretch;
    }

    /* ROW 3: price + CTA SAME ROW side-by-side, matched heights
       flex row: price left, button right, both equal height 44-48px center-row */
    .splash-card-price {
        grid-area: action;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: var(--sched-space-4);
        width: 100%;
        padding: 0 2px 2px;
    }
    .splash-card-price-inner {
        flex: 1 1 auto;
        flex-direction: row;
        align-items: baseline;
        justify-content: flex-start;
        gap: 8px;
        text-align: left;
    }
    .splash-card-price-from {
        font-size: 12px;
        letter-spacing: 0.05em;
        opacity: 0.75;
    }
    .splash-card-price-num {
        font-size: clamp(24px, 3.2vw, 32px);
    }
    /* CTA col inside price row (same flex row as price-inner) */
    .splash-card-cta-col {
        flex: 0 0 auto;
        display: flex;
        justify-content: flex-end;
        align-items: stretch;
    }
    /* compact button: match price row height, pull min height to
       visually balance the price's ~40px line height */
    .splash-btn-card {
        min-height: 44px;
        padding: 10px 20px;
        font-size: 13.5px;
        width: auto;
        min-width: 150px;
    }
}

/* Mobile ≤768px: keep 3-row layout but let CTA drop under price if very tight */
@media (max-width: 768px) {
    .splash-schedule-card { gap: var(--sched-space-3); }
    .splash-schedule-card { padding: var(--sched-space-5) var(--sched-space-2); }
    .splash-card-price {
        flex-wrap: wrap;
        align-items: center;
    }
    .splash-card-price-inner {
        flex: 1 0 60%;
    }
    .splash-card-cta-col {
        flex: 1 0 100%;
        width: 100%;
        justify-content: stretch;
    }
    .splash-btn-card {
        width: 100%;
        padding: 13px 16px;
        font-size: 14px;
    }
}

/* Tiny phones ≤480px: tighten numerals & paddings */
@media (max-width: 480px) {
    .splash-header-title  { font-size: 30px; }
    .splash-header-boatname { letter-spacing: 0.12em; font-size: 11px; }
    .splash-card-date-day   { font-size: 36px; }
    .splash-card-date-month { font-size: 15px; }
    .splash-card-title      { font-size: 20px; }
    .splash-card-price-num  { font-size: 28px; }
    .splash-btn-card        { padding: 12px 14px; font-size: 13.5px; min-height: 42px; }
    .splash-month-pill      { padding: var(--sched-space-2) var(--sched-space-2) var(--sched-space-2) var(--sched-space-3); min-width: 0; }
    .splash-month-select    { font-size: 16px; }
    .splash-schedule-card   { padding: var(--sched-space-4) var(--sched-space-2); }
}

/* reduced-motion users: kill hover lifts + spin */
@media (prefers-reduced-motion: reduce) {
    .splash-btn-card:hover,
    .splash-month-pill:hover { transform: none; }
    .splash-btn-card:hover .splash-btn-icon { transform: none; }
    .splash-spaces-badge .splash-spaces-spinner { animation: none; border-top-color: var(--splash-sched-navy); }
}
