/* RECORD SLEEVE purchase pages (Pete's Diffui seat-page pick "B", Motown Brunch 10/17). PREVIEW ONLY: loaded by
   templates/purchase-skin.blade.php when HomepageTemplate::purchaseSkinKey() is 'record' (motownbrunch.com,
   ?template=record stores it in the session). Adds the buffet banner, Sunday date chips and the
   "N tickets / Total" pinned bar (templates/record/buy-top.blade.php + tickets-ga.blade.php). The page keeps its
   dark look; seat cards, steppers and checkout behave exactly as before. */
body.tpl-buy-record { --rb-gold: #f5b82e; --rb-gold-2: #ffd36b; --rb-line: rgba(255, 255, 255, .14); }

.rb-banner {
    display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 14px 16px;
    border: 2px solid var(--rb-gold); border-radius: 14px;
    background: linear-gradient(180deg, rgba(245, 184, 46, .10), rgba(245, 184, 46, .04));
    box-shadow: 0 0 18px rgba(245, 184, 46, .18);
}
.rb-banner-icon { flex: 0 0 46px; height: 46px; border-radius: 50%; border: 2px solid var(--rb-gold); color: var(--rb-gold); display: grid; place-items: center; }
.rb-banner-icon svg { width: 24px; height: 24px; }
.rb-banner-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rb-banner-title { color: var(--rb-gold-2); font-weight: 800; font-size: 18px; line-height: 1.2; }
.rb-banner-text { color: #e8e6ef; font-size: 14px; line-height: 1.35; }

.rb-dates { margin: 0 0 18px; }
.rb-dates-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 10px; }
.rb-dates-title { margin: 0; color: #fff; font-weight: 800; font-size: 18px; }
.rb-dates-note { margin: 0; color: #a9a7b8; font-size: 13px; white-space: nowrap; }
.rb-dates-row { display: flex; align-items: center; gap: 8px; }
.rb-dates-arrow {
    flex: 0 0 36px; height: 36px; border-radius: 50%; border: 1px solid var(--rb-line); background: #15151d; color: #fff;
    font-size: 22px; line-height: 1; cursor: pointer;
}
.rb-dates-track { flex: 1; min-width: 0; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 2px; }
.rb-dates-track::-webkit-scrollbar { display: none; }
.rb-chip {
    flex: 0 0 auto; min-width: 104px; scroll-snap-align: center; box-sizing: border-box;
    display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 9px 10px; border-radius: 12px;
    border: 1px solid var(--rb-line); background: #15151d; color: #d9d7e4; text-decoration: none; text-align: center;
}
.rb-chip:hover { border-color: var(--rb-gold); color: #fff; }
.rb-chip-day { font-weight: 700; font-size: 14px; }
.rb-chip-year { font-size: 12px; opacity: .75; }
.rb-chip.is-current { background: linear-gradient(180deg, #ffd36b, #f5b82e); border-color: #f5b82e; color: #1a1406; box-shadow: 0 0 14px rgba(245, 184, 46, .35); }
.rb-chip.is-current .rb-chip-year { opacity: .85; }
.rb-dates-current { margin: 12px 0 0; text-align: center; color: #fff; font-weight: 700; font-size: 16px; }

/* Pinned bar (phones): tickets + total on the left, Checkout on the right. Desktop keeps the summary card. */
.rb-bar-sum { display: none; }
@media (max-width: 900px) {
    body.tpl-buy-record .ga-page:not(.ga-page--seatmap) .ga-actions {
        display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 14px; row-gap: 2px;
    }
    body.tpl-buy-record .ga-page:not(.ga-page--seatmap) .ga-actions .ga-bar-total { display: none; }
    body.tpl-buy-record .rb-bar-sum {
        display: flex; flex-direction: column; grid-column: 1; grid-row: 1 / span 2; padding-right: 14px; border-right: 1px solid var(--rb-line);
    }
    body.tpl-buy-record .rb-bar-qty { color: #fff; font-weight: 800; font-size: 17px; line-height: 1.2; }
    body.tpl-buy-record .rb-bar-total { color: #a9a7b8; font-size: 14px; }
    body.tpl-buy-record .rb-bar-total strong { color: #fff; font-size: 19px; margin-left: 4px; }
    body.tpl-buy-record .ga-page:not(.ga-page--seatmap) .ga-actions .ga-cta-button { grid-column: 2; grid-row: 1; width: 100%; max-width: none; }
    body.tpl-buy-record .ga-page:not(.ga-page--seatmap) .ga-actions .ga-checkout-hint { grid-column: 2; grid-row: 2; }
    body.tpl-buy-record .ga-page:not(.ga-page--seatmap) .ga-actions .empty-cart { grid-column: 1 / -1; }
    .rb-banner-title { font-size: 16px; }
    .rb-banner-text { font-size: 13px; }
    .rb-chip { min-width: 96px; }
}

/* Option B: one calm page, no per-card urgency line (the top strip is off on this page too). */
body.tpl-buy-record .ga-remaining-hint { display: none; }

/* "More dates" (Pete 10/17): the chip row shows the next 8 dates, the last chip opens every on-sale date by month. */
.rb-dates-arrow { display: none; }
.rb-chip--more { cursor: pointer; font: inherit; border-style: dashed; border-color: var(--rb-gold); color: var(--rb-gold-2); background: transparent; }
.rb-chip--more:hover, .rb-chip--more[aria-expanded="true"] { background: rgba(245, 184, 46, .12); color: #fff; }
.rb-more { margin: 12px 0 0; padding: 14px; border: 1px solid var(--rb-line); border-radius: 14px; background: #121219; max-height: 60vh; overflow-y: auto; }
.rb-more[hidden] { display: none; }
.rb-more-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 6px; position: sticky; top: -14px; background: #121219; padding: 4px 0; z-index: 1; }
.rb-more-title { margin: 0; color: #fff; font-weight: 800; font-size: 16px; }
.rb-more-close { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--rb-line); background: #15151d; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.rb-month { margin: 10px 0 0; }
.rb-month-name { margin: 0 0 6px; color: var(--rb-gold-2); font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; }
.rb-month-days { display: flex; flex-wrap: wrap; gap: 8px; }
.rb-day {
    width: 60px; box-sizing: border-box; padding: 7px 4px; border-radius: 10px; border: 1px solid var(--rb-line); background: #15151d;
    color: #d9d7e4; text-decoration: none; text-align: center; display: flex; flex-direction: column; gap: 1px;
}
.rb-day:hover { border-color: var(--rb-gold); color: #fff; }
.rb-day-dow { font-size: 11px; opacity: .75; }
.rb-day-num { font-size: 18px; font-weight: 800; }
.rb-day.is-current { background: linear-gradient(180deg, #ffd36b, #f5b82e); border-color: #f5b82e; color: #1a1406; }
.rb-more-link { display: inline-block; margin: -2px 0 10px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--rb-gold-2); font: inherit; font-weight: 700; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.rb-more-link:hover { color: #fff; }
/* iPhone: no automatic text enlarging (it crowded lines unevenly). */
html:has(> body.tpl-buy-record) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
/* "+ fees" next to each ticket price (Pete 10/18). */
body.tpl-buy-record .ga-section-price__suffix { white-space: nowrap; }

/* Phone menu (Pete 10/18: items too dark): black panel, cream items, mustard sub-items, red edge. */
body.tpl-buy.tpl-buy-record .mobile-menu { background: #121110 !important; border-right: 3px solid #d7372b !important; }
body.tpl-buy.tpl-buy-record .mobile-menu :is(a, button, span, li) { color: #f3e7cf !important; }
body.tpl-buy.tpl-buy-record .mobile-menu ul ul :is(a, span), body.tpl-buy.tpl-buy-record .mobile-menu .nav-dropdown-item, body.tpl-buy.tpl-buy-record .mobile-menu [class*="sub"] a { color: #f2b632 !important; }
body.tpl-buy.tpl-buy-record .mobile-menu a:hover, body.tpl-buy.tpl-buy-record .mobile-menu a:focus-visible { color: #fff !important; }
body.tpl-buy.tpl-buy-record .mobile-menu :is(hr, .nav-dropdown-divider) { border-color: rgba(243,231,207,.2) !important; background: rgba(243,231,207,.2) !important; }
