/* Big Sale's existing homepage palette and comic typography, hosted locally. */
@font-face { font-family: Bangers; src:url('../fonts/Bangers-Regular.ttf') format('truetype'); font-display:swap; }
:root { --ink:#202020; --accent:#e00785; --yellow:#fcd600; --green:#8dc63f; --wash:#fff4d6; --line:#d9cec2; }
body, .live-page { background:#fffaf0; }
.site-header { background:#fff; border-bottom:2px solid var(--ink); }
.brand > span { color:var(--accent); font-weight:700; }
.site-header nav a.selected { border-bottom:4px solid var(--accent); }
.intro h1 { font-family:Bangers,Neucha,sans-serif; font-weight:400; letter-spacing:1px; font-size:clamp(48px,5vw,72px); }
.intro h1 em { font-family:inherit; font-style:normal; font-size:1em; }
.intro > a { font-weight:700; border-bottom:3px solid var(--ink); }
button, .button { border:2px solid var(--ink); border-radius:6px; font-weight:800; box-shadow:3px 3px 0 var(--ink); }
button:hover, .button:hover { border-color:var(--ink); }
button:active:not(:disabled), .button:active { box-shadow:none; }
button:disabled { box-shadow:none; border-color:#bcb5ae; }
.button-secondary, .button-light { background:#fff; color:var(--ink); border-color:var(--ink); }
.button-secondary:hover, .button-light:hover { background:var(--yellow); color:var(--ink); }
.session-bar { border:2px solid var(--ink); border-radius:6px; background:var(--yellow); padding:14px 18px; margin-bottom:24px; gap:16px; }
.session-status[data-status="Live"] { color:var(--ink); font-weight:800; }
.buyer-ticket { border-left:2px solid var(--ink); padding-left:18px; }
.bidding-panel { border:2px solid var(--ink); border-radius:8px; box-shadow:5px 5px 0 var(--ink); overflow:hidden; }
.panel-heading { margin:-22px -22px 20px; padding:16px 22px; background:var(--yellow); border-bottom:2px solid var(--ink); }
.panel-heading h2, .section-heading h2, .upcoming-auctions h2, .how-section > h2, .orders-page > h1 { font:400 30px/1.15 Bangers,Neucha,sans-serif; letter-spacing:.5px; }
.panel-heading > span { font-family:Manrope,sans-serif; font-size:25px; color:var(--ink); }
.panel-heading .ending-soon { background:var(--accent); color:white; border-radius:4px; }
.lot-number { border:2px solid var(--ink); border-radius:4px; background:var(--yellow); color:var(--ink); font-weight:800; }
.price-line strong { color:var(--ink); }
input,select,textarea { border-color:#746c62; border-radius:4px; }
.highest-message:not(:empty) { background:#e8f3d8; color:#285414; border-left:4px solid #527b23; padding:8px 12px; }
.upcoming-next .upcoming-position { display:inline-block; background:var(--yellow); border:1px solid var(--ink); border-radius:3px; padding:3px 7px; color:var(--ink); }
.upcoming-auctions nav button { border:2px solid var(--ink); background:white; }
.upcoming-item.upcoming-next { border-left-color:var(--ink); }
.stock-item:not(.featured-stock) { border-bottom-color:#b8ad9f; }
.stock-main-photo img, .upcoming-item img { background:white; border:1px solid var(--line); }
.purchase-dialog, .stock-gallery-dialog { border:2px solid var(--ink); border-radius:8px; background:#fffaf0; box-shadow:6px 6px 0 var(--ink); }
.purchase-dialog > header { background:var(--yellow); border-bottom:2px solid var(--ink); margin:-28px -28px 22px; padding:20px 28px; }
.purchase-dialog h2 { font:400 34px/1.1 Bangers,Neucha,sans-serif; letter-spacing:.5px; }
.dialog-close { background:#fff; color:var(--ink); border-color:var(--ink); box-shadow:none; }
.rules-dialog footer { background:#fffaf0; padding-bottom:4px; }
.purchase-summary .purchase-total { border-top:2px solid var(--ink); }
.win-dialog > header { background:var(--green); }
.order { background:white; padding:20px; border:2px solid var(--ink); border-radius:8px; box-shadow:4px 4px 0 rgba(32,32,32,.16); }
@media (prefers-reduced-motion:no-preference) {
 dialog[open] { animation:brand-dialog-in .14s ease-out; }
 @keyframes brand-dialog-in { from { opacity:0; } to { opacity:1; } }
}
@media (max-width:600px) {
 .session-bar { padding:12px; flex-wrap:wrap; }
 .buyer-ticket { padding-left:0; border-left:0; }
 .panel-heading h2, .section-heading h2, .upcoming-auctions h2 { font-size:25px; }
 .bidding-panel { box-shadow:3px 3px 0 var(--ink); }
 .order { padding:14px; }
}
@media (max-width:540px) {
 .purchase-dialog > header { margin:-20px -20px 18px; padding:18px 20px; }
 .purchase-dialog h2 { font-size:30px; }
}
@media (max-width:760px) { .panel-heading { margin:-18px -18px 18px; padding:14px 18px; } }

/* Prioritize the live picture; upcoming items remain immediately below the room. */
.live-page main { max-width:1600px; }
.live-page .intro { padding:18px 0 12px; }
.live-page .intro h1 { font-size:clamp(36px,3.5vw,52px); margin-bottom:4px; }
.live-page .intro p { font-size:12px; }
.live-page .session-bar { margin-bottom:18px; }
.live-workspace { grid-template-columns:minmax(0,2.2fr) minmax(330px,1fr); gap:24px; }
.video-stage { height:clamp(700px,84svh,1080px); min-height:0; }
.video-sound { position:absolute; top:16px; right:16px; z-index:2; padding:10px 16px; min-height:44px; background:var(--yellow); color:var(--ink); font-size:13px; }
.live-page .upcoming-auctions { margin-top:24px; }
@media (max-width:1050px) and (min-width:761px) {
 .live-workspace { grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); gap:20px; }
}
@media (max-width:760px) {
 .live-workspace { grid-template-columns:minmax(0,1fr); }
 .video-stage, .video-stage:has([data-tiktok-video]:not([hidden])) { height:clamp(480px,80svh,860px); min-height:0; aspect-ratio:auto; }
 .video-stage iframe, [data-tiktok-video] { height:calc(100% - 52px); }
 .video-sound { top:12px; right:12px; }
 .live-page .intro { padding-top:16px; }
}

.session-discount { font-weight:800; color:var(--pink,#e00785); padding:10px 0; }

/* Auction information stays inside the picture, above the native video controls. */
.video-bid-overlay { position:absolute; z-index:3; left:20px; right:20px; bottom:116px; padding:16px 18px; background:rgba(20,18,19,.9); color:#fff; border-left:4px solid var(--accent); pointer-events:none; }
.video-bid-overlay[hidden] { display:none; }
.video-bid-item { display:flex; align-items:baseline; gap:12px; min-width:0; }
.video-bid-number { flex-shrink:0; font-weight:800; color:var(--yellow); font-size:22px; }
.video-bid-item > strong { font-size:20px; line-height:1.3; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow-wrap:anywhere; }
.video-bid-values { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:10px; font-variant-numeric:tabular-nums; }
.video-bid-values > div { display:flex; flex-direction:column; }
.video-bid-values > div > span { font-size:12px; color:#ddd; }
.video-bid-values strong { font-size:32px; line-height:1.25; color:var(--yellow); }
.video-bid-clock { max-width:55%; font-size:24px; font-weight:800; text-align:right; line-height:1.15; }
.video-bid-clock.ending-soon { color:#fff; background:var(--accent); padding:4px 8px; }
.video-bid-overlay p { margin:8px 0 0; font-size:13px; line-height:1.4; }
.video-bid-overlay p:empty { display:none; }
.video-bid-link { display:inline-flex; align-items:center; min-height:44px; margin-top:4px; color:var(--yellow); font-weight:800; text-decoration:underline; text-underline-offset:4px; pointer-events:auto; }
.video-bid-link:focus-visible { outline:2px solid var(--yellow); outline-offset:3px; }
#bidding-panel { scroll-margin-top:20px; }
@media (max-width:760px) {
 .video-bid-overlay { left:12px; right:12px; padding:12px; bottom:112px; }
 .video-bid-item > strong { font-size:16px; }
 .video-bid-number { font-size:20px; }
 .video-bid-values strong { font-size:28px; }
 .video-bid-clock { font-size:20px; }
}
/* Keep the play/reconnect prompt clear when auction information is also visible. */
.video-stage:has(.video-bid-overlay:not([hidden])) .video-consent > div { justify-content:flex-start; padding:24px; }
.video-stage:has(.video-bid-overlay:not([hidden])) .video-consent .video-wordmark { display:none; }
.video-stage:has(.video-bid-overlay:not([hidden])) .video-consent h2 { font-size:22px; margin:0 0 12px; }
@media (max-width:760px) {
 .video-stage:has(.video-bid-overlay:not([hidden])) { min-height:540px; }
}
