/* BSB MECCA — CSS extracted from page-race-weekend.php (Session 4) */

/* block 0 */
html, body { background: #F5F3EE !important; }

/* ── Base ── */
.rw-wrap { max-width: 1100px; margin: 0 auto; padding: 48px 20px 100px; color: #1A1A1A; font-family: 'DM Sans', sans-serif; }

/* ── Hero ── */
.rw-hero { text-align: center !important; padding: 56px 24px 48px; margin-bottom: 8px; }
.rw-hero h1 { text-align: center !important; }
.rw-hero .rw-dek { text-align: center !important; }
.rw-kicker { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #C8102E; margin-bottom: 6px; display: inline-block; border-bottom: 2px solid #C8102E; padding-bottom: 4px; }
.rw-hero.rw-live .rw-kicker { color: #16a34a; border-bottom-color: #16a34a; }
.rw-live-badge { display: inline-block; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #fff; background: #16a34a; padding: 4px 12px; margin-bottom: 12px; }
.rw-pulse-dot { width: 8px; height: 8px; background: #fff; display: inline-block; border-radius: 50%; margin-right: 6px; vertical-align: middle; animation: rw-pulse 1.2s infinite; }
@keyframes rw-pulse { 0%,100%{opacity:1} 50%{opacity:0.2} }
.rw-hero h1 { font-family: 'Playfair Display', Georgia, serif; font-size: 52px; font-weight: 400; line-height: 1.05; margin: 14px 0 16px; letter-spacing: -1px; color: #1A1A1A; }
.rw-dek { font-family: 'DM Sans', sans-serif; font-style: italic; color: #444444; font-size: 17px; line-height: 1.5; margin: 0; }
.rw-dek a { color: #1A1A1A; text-decoration: none; border-bottom: 1px solid #CCCCCC; }
.rw-dek a:hover { color: #C8102E; border-color: #C8102E; }

/* ── Three-Column Info Strip ── */
.rw-info-strip { display: grid; grid-template-columns: 1fr 1fr 1fr; border: 1px solid #CCCCCC; margin-bottom: 36px; }
.rw-info-col { padding: 28px; border-right: 1px solid #CCCCCC; }
.rw-info-col:last-child { border-right: none; }
.rw-info-col h2 { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #1A1A1A; border-bottom: 2px solid #1A1A1A; padding-bottom: 10px; margin: 0 0 16px; }

/* Schedule */
.rw-sched-day { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #C8102E; margin: 14px 0 4px; }
.rw-sched-day:first-of-type { margin-top: 0; }
.rw-sched-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; font-size: 13px; background-image: linear-gradient(to right, #1A1A1A 24%, transparent 0%); background-position: bottom; background-size: 4px 1px; background-repeat: repeat-x; }
.rw-sched-row:last-child { background-image: none; }
.rw-sched-name { color: #1A1A1A; font-weight: 500; }
.rw-sched-time { color: #888888; font-variant-numeric: tabular-nums; font-size: 12px; }
.rw-sched-badge { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 2px 8px; margin-left: 6px; }
.rw-sched-badge.completed { color: #888888; }
.rw-sched-badge.live { color: #fff; background: #16a34a; }
.rw-sched-badge.next { color: #C8102E; }
.rw-countdown { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 600; color: #C8102E; margin-top: 12px; padding-top: 10px; border-top: 1px solid #CCCCCC; text-align: center; letter-spacing: 0.5px; }

/* Standings rows */
.rw-standings-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; font-size: 13px; background-image: linear-gradient(to right, #1A1A1A 24%, transparent 0%); background-position: bottom; background-size: 4px 1px; background-repeat: repeat-x; }
.rw-standings-row:last-child { background-image: none; }
.rw-standings-pos { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; width: 22px; color: #888888; font-size: 13px; flex-shrink: 0; }
.rw-standings-pos.rw-p1 { color: #C8102E; font-size: 15px; }
.rw-standings-name { flex: 1; color: #1A1A1A; font-weight: 500; }
.rw-standings-wins { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; color: #888888; width: 40px; text-align: right; flex-shrink: 0; }
.rw-standings-pts { font-variant-numeric: tabular-nums; font-weight: 600; color: #444444; font-size: 13px; width: 55px; text-align: right; flex-shrink: 0; }
.rw-standings-gap { font-variant-numeric: tabular-nums; font-size: 12px; color: #888888; width: 45px; text-align: right; flex-shrink: 0; }

/* Circuit stat rows */
.rw-circuit-stat { display: flex; justify-content: space-between; padding: 9px 0; font-size: 13px; background-image: linear-gradient(to right, #1A1A1A 24%, transparent 0%); background-position: bottom; background-size: 4px 1px; background-repeat: repeat-x; }
.rw-circuit-stat:last-child { background-image: none; }
.rw-cs-label { color: #888888; font-weight: 500; }
.rw-cs-value { color: #1A1A1A; font-weight: 600; }

/* ── Section Headers ── */
.rw-section-head { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #444444; border-bottom: 2px solid #1A1A1A; padding-bottom: 10px; margin: 0 0 24px; display: flex; align-items: center; gap: 10px; }
.rw-accent-bar { width: 4px; height: 14px; background: #C8102E; flex-shrink: 0; }

/* ── Grid Layouts ── */
.rw-grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; margin-bottom: 36px; }
.rw-grid-wide-narrow { display: grid; grid-template-columns: 5fr 3fr; gap: 36px; margin-bottom: 36px; }
.rw-grid-predictions { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; margin-bottom: 36px; }
.rw-grid-weather { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-bottom: 36px; }
.rw-actual-session { margin-bottom: 1.5rem; }
.rw-actual-session:last-child { margin-bottom: 0; }
.rw-actual-label { display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: #C8102E; margin-bottom: 0.625rem; }
.rw-actual-round-tag { font-weight: 400; font-size: 10px; letter-spacing: 1.5px; color: #888; display: block; margin-top: 4px; }

/* ── Tables ── */
.rw-table { width: 100% !important; border-collapse: collapse !important; font-size: 14px; border: none !important; }
.rw-table th, .rw-table td { border: none !important; background: transparent !important; color: #1A1A1A; }
.rw-table th { padding: 10px 12px !important; text-align: left; font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: #888888 !important; border-bottom: 2px solid #1A1A1A !important; }
.rw-table td { padding: 14px 12px !important; background-image: linear-gradient(to right, #1A1A1A 24%, transparent 0%) !important; background-position: bottom !important; background-size: 4px 1px !important; background-repeat: repeat-x !important; }
.rw-table tr:last-child td { background-image: none !important; }
.rw-table tr:hover td { background-color: rgba(0,0,0,0.02) !important; }
.rw-table a { color: #1A1A1A !important; text-decoration: none !important; font-weight: 500; }
.rw-table a:hover { color: #C8102E !important; }
.rw-num { text-align: right; font-variant-numeric: tabular-nums; color: #444444; font-weight: 600; }
.rw-p1 { color: #C8102E !important; font-weight: 800; font-size: 16px; }

/* ── Weather Cards ── */
.rw-weather-card { border: 1px solid #CCCCCC; padding: 20px; text-align: center; display: flex; flex-direction: column; gap: 6px; }
.rw-weather-card .rw-wx-date { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #888888; }
.rw-weather-card .rw-wx-temp { font-family: 'DM Sans', sans-serif; font-size: 20px; font-weight: 600; color: #1A1A1A; }
.rw-weather-card .rw-wx-rain { font-size: 13px; color: #444444; }
.rw-weather-card .rw-wx-wind { font-size: 12px; color: #888888; }

/* ── Broadcast / Where to Watch ── */
.rw-section { margin-bottom: 36px; }
.rw-broadcast-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; font-size: 14px; background-image: linear-gradient(to right, #1A1A1A 24%, transparent 0%); background-position: bottom; background-size: 4px 1px; background-repeat: repeat-x; }
.rw-broadcast-row:last-child { background-image: none; }
.rw-broadcast-name { font-weight: 600; color: #1A1A1A; }
.rw-broadcast-region { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #888888; }

/* ── Head-to-Head ── */
.rw-h2h { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; text-align: center; padding: 20px 0; }
.rw-h2h-name { font-family: 'Playfair Display', Georgia, serif; font-size: 22px; font-weight: 400; color: #1A1A1A; margin-bottom: 12px; }
.rw-h2h-name a { color: #1A1A1A; text-decoration: none; }
.rw-h2h-name a:hover { color: #C8102E; }
.rw-h2h-stat { margin: 4px 0; }
.rw-h2h-stat-val { font-family: 'Barlow Condensed', sans-serif; font-size: 28px; font-weight: 700; color: #1A1A1A; line-height: 1.1; }
.rw-h2h-stat-val.highlight { color: #C8102E; }
.rw-h2h-stat-label { font-family: 'Barlow Condensed', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #888888; }
.rw-h2h-vs { font-family: 'Barlow Condensed', sans-serif; font-size: 32px; font-weight: 700; color: #CCCCCC; letter-spacing: 2px; }

/* ── Live Timing ── */
.rw-live-card { margin-bottom: 24px; padding: 24px; border: 1px solid #CCCCCC; border-top: 3px solid #16a34a; }
.rw-live-head { font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #16a34a; margin: 0 0 16px; display: flex; align-items: center; gap: 10px; }
.rw-live-source { margin-top: 12px; font-size: 11px; color: #888888; }
.rw-live-classes { display: flex; flex-direction: column; gap: 28px; }
.rw-live-class-title { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 700; color: #1a1a1a; margin: 0 0 12px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.rw-live-class-badge { display: inline-block; background: #C8102E; color: #fff; padding: 3px 10px; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.rw-live-session { font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 400; color: #666; text-transform: none; letter-spacing: 0; }
.rw-live-table th { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #666; text-align: left; padding: 8px 6px; border-bottom: 1px solid #ddd; }
.rw-live-table td { padding: 8px 6px; font-size: 13px; border-bottom: 1px solid #f0f0f0; }
.rw-live-table tr:last-child td { border-bottom: none; }

/* ── Off-Season ── */
.rw-offseason { text-align: center; padding: 80px 24px; }
.rw-offseason h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 36px; font-weight: 400; margin: 0 0 16px; color: #1A1A1A; }
.rw-offseason p { font-size: 16px; color: #444444; line-height: 1.6; max-width: 500px; margin: 0 auto; }
.rw-offseason a { color: #C8102E; text-decoration: none; font-weight: 600; border-bottom: 1px solid #C8102E; }
.rw-offseason a:hover { color: #1A1A1A; border-color: #1A1A1A; }

/* ── Empty State ── */
.rw-empty { padding: 30px; text-align: center; color: #888888; background: transparent; border: 1px dashed #CCCCCC; font-size: 13px; }

/* ── Responsive ── */
@media(max-width:820px){
    .rw-hero h1 { font-size: 32px; }
    .rw-info-strip { grid-template-columns: 1fr; }
    .rw-info-col { border-right: none !important; border-bottom: 1px solid #CCCCCC; }
    .rw-info-col:last-child { border-bottom: none; }
    .rw-grid-2col, .rw-grid-wide-narrow, .rw-grid-predictions { grid-template-columns: 1fr; }
    .rw-grid-weather { grid-template-columns: 1fr 1fr; }
    .rw-h2h { grid-template-columns: 1fr; gap: 12px; }
    .rw-h2h-vs { font-size: 20px; }
}
