/*
Theme Name: Metadigital CR Communications Dashboard
Theme URI: https://replit.com/
Author: Metadigital CR
Description: Communications dashboard theme with live sports and horse racing boards.
Version: 2.4.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: metadigital-cr
*/

:root {
  --navy: #1a2340;
  --navy-2: #10182f;
  --blue: #2563eb;
  --blue-soft: #eff6ff;
  --orange: #ea580c;
  --ink: #263248;
  --muted: #758096;
  --line: #e3e7ee;
  --page: #f5f6fa;
  --white: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--page);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.45;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }

.mdcr-header {
  min-height: 48px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--navy);
  color: #fff;
}
.mdcr-header h1, .mdcr-header strong { margin: 0; font-size: 16px; font-weight: 700; }
.mdcr-event-bar {
  min-height: 48px;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.mdcr-event-label { display: flex; gap: 8px; align-items: center; font-weight: 700; color: var(--navy); }
.mdcr-flame { color: #f97316; font-size: 18px; }
.mdcr-search-wrap { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.mdcr-search {
  width: 260px;
  height: 32px;
  padding: 0 30px 0 32px;
  border: 1px solid #ccd2dc;
  border-radius: 3px;
  outline: 0;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23909aaa' stroke-width='1.8'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath d='m9.5 9.5 3 3'/%3E%3C/svg%3E") no-repeat 10px center;
}
.mdcr-search:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #dbeafe; }

.mdcr-main { width: min(1440px, calc(100% - 32px)); margin: 0 auto; padding: 16px 0; }
.mdcr-hero {
  height: 250px;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  margin-bottom: 20px;
}
.mdcr-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mdcr-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(157,45,18,.96), rgba(157,45,18,.60) 42%, rgba(0,0,0,.1)); }
.mdcr-hero-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.55), transparent 70%); }
.mdcr-hero-content { position: relative; z-index: 1; height: 100%; max-width: 680px; padding: 38px 40px; display: flex; flex-direction: column; justify-content: center; }
.mdcr-eyebrow { margin: 0; color: rgba(255,255,255,.8); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.mdcr-countdown { margin-top: 8px; font-size: 26px; font-weight: 800; letter-spacing: .04em; }
.mdcr-meta { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 5px; color: rgba(255,255,255,.88); font-size: 12px; }
.mdcr-hero-link { width: fit-content; margin-top: 15px; color: #fff; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.mdcr-hero-nav { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border: 0; border-radius: 50%; color: #fff; background: rgba(0,0,0,.2); font-size: 21px; line-height: 20px; }
.mdcr-hero-nav:hover { background: rgba(0,0,0,.45); }
.mdcr-hero-prev { left: 8px; }
.mdcr-hero-next { right: 8px; }
.mdcr-dots { position: absolute; z-index: 2; bottom: 11px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; }
.mdcr-dot { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.55); }
.mdcr-dot.is-active { width: 20px; background: #fff; }

.mdcr-grid { display: grid; grid-template-columns: 3fr 5fr 4fr; align-items: stretch; gap: 16px; height: 720px; margin-bottom: 20px; }
.mdcr-panel { min-width: 0; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.mdcr-panel-heading { min-height: 44px; padding: 0 16px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); color: var(--navy); font-size: 14px; font-weight: 700; }
.mdcr-icon { color: var(--blue); font-weight: 700; }
.mdcr-left { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 16px; min-width: 0; min-height: 0; }
.mdcr-news, .mdcr-processes { min-height: 0; height: auto; }
.mdcr-processes { height: 100%; }
.mdcr-scroll { height: calc(100% - 44px); overflow-y: auto; }
.mdcr-news-item { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; padding: 13px 12px; border-bottom: 1px solid #eef0f4; }
.mdcr-news-date strong { display: block; color: var(--navy); font-size: 19px; line-height: 19px; }
.mdcr-news-date span { color: #9199a7; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.mdcr-news-line { display: flex; min-width: 0; align-items: center; gap: 6px; white-space: nowrap; font-size: 10px; text-transform: uppercase; letter-spacing: .03em; }
.mdcr-news-line b { overflow: hidden; color: #667085; text-overflow: ellipsis; }
.mdcr-news-line .dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: #10b981; }
.mdcr-news-line .dot.reminder { background: #f97316; }
.mdcr-news-line .dot.alert { background: #ef4444; }
.mdcr-news-source { overflow: hidden; margin-top: 3px; color: #9099a8; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.mdcr-more { display: inline-block; margin-top: 3px; color: var(--blue); font-size: 10px; font-weight: 700; }

.mdcr-center { display: flex; min-width: 0; min-height: 0; height: 100%; flex-direction: column; gap: 16px; }
.mdcr-calendar { flex: 0 0 auto; padding: 16px; }
.mdcr-calendar-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.mdcr-calendar-top strong { color: var(--navy); font-size: 14px; }
.mdcr-calendar-nav { display: flex; gap: 4px; }
.mdcr-calendar-nav button { width: 24px; height: 24px; padding: 0; border: 0; color: #788292; background: transparent; }
.mdcr-calendar-nav button:hover { background: #f1f3f6; }
.mdcr-calendar-week, .mdcr-calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.mdcr-calendar-week span { padding-bottom: 4px; color: #929aa8; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.mdcr-calendar-days button { height: 32px; padding: 0; border: 0; border-radius: 5px; color: var(--ink); background: transparent; font-size: 13px; }
.mdcr-calendar-days button:hover { background: #f1f5f9; }
.mdcr-calendar-days button.is-selected { color: #fff; background: var(--navy); font-weight: 700; }
.mdcr-calendar-days button.is-today:not(.is-selected) { color: var(--blue); box-shadow: inset 0 0 0 1px #bfdbfe; font-weight: 700; }
.mdcr-calendar-caption { padding-top: 9px; border-top: 1px solid #eef0f4; color: #7d8797; font-size: 11px; text-align: center; }
.mdcr-calendar-caption strong { color: var(--ink); }

.mdcr-board { display: flex; min-height: 0; height: auto; flex: 1 1 0; flex-direction: column; }
.mdcr-board-tabs { display: grid; grid-template-columns: repeat(3, 1fr); padding: 10px 12px 0; border-bottom: 1px solid var(--line); }
.mdcr-board-tab { padding: 8px 4px; border: 0; border-bottom: 2px solid transparent; color: #788292; background: transparent; font-size: 12px; font-weight: 700; }
.mdcr-board-tab.is-active { border-bottom-color: var(--blue); color: var(--blue); }
.mdcr-board-count { display: inline-block; min-width: 18px; margin-left: 3px; padding: 1px 4px; border-radius: 99px; background: var(--blue-soft); color: var(--blue); font-size: 10px; }
.mdcr-board-body { min-height: 0; height: auto; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 12px; background: #f8fafc; scrollbar-color: #94a3b8 transparent; scrollbar-width: thin; }
.mdcr-board-body::-webkit-scrollbar { width: 7px; }
.mdcr-board-body::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: #94a3b8; background-clip: padding-box; }
.mdcr-board-status { display: inline-flex; align-items: center; margin: 0 0 0 auto; padding: 4px 7px; border-radius: 99px; color: #087a4e; background: #ecfdf5; font-size: 9px; font-weight: 800; letter-spacing: .03em; white-space: nowrap; }
.mdcr-sports-leagues { margin-top: 2px; }
.mdcr-match-league { margin: 0 0 17px; }
.mdcr-match-league-heading { margin: 0 5px 7px; color: #70798a; font-size: 10px; font-weight: 800; line-height: 1.3; }
.mdcr-match-league-heading span { color: #929baa; font-weight: 700; }
.mdcr-match-list { overflow: hidden; border: 1px solid #e4e9f0; border-radius: 9px; background: #fff; box-shadow: 0 2px 8px rgba(15, 23, 42, .04); }
.mdcr-match-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr); align-items: center; min-height: 68px; padding: 9px 8px; border-bottom: 1px solid #edf0f4; background: #fff; transition: background-color .18s ease; }
.mdcr-match-row:last-child { border-bottom: 0; }
.mdcr-match-row:hover { background: #fafbfc; }
.mdcr-match-team { display: flex; min-width: 0; align-items: center; gap: 7px; }
.mdcr-match-team--home { justify-content: flex-end; text-align: right; }
.mdcr-match-logo { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; overflow: hidden; border-radius: 50%; color: #64748b; background: #f1f5f9; font-size: 9px; font-weight: 900; }
.mdcr-match-logo img { width: 100%; height: 100%; padding: 2px; object-fit: contain; }
.mdcr-match-logo--fallback { border: 1px solid #e2e8f0; }
.mdcr-match-name { min-width: 0; color: #465064; font-size: 10px; font-weight: 650; line-height: 1.22; overflow-wrap: anywhere; }
.mdcr-match-center { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; padding: 0 3px; text-align: center; }
.mdcr-match-vs, .mdcr-match-score { color: #273246; font-size: 11px; font-weight: 900; line-height: 1.1; }
.mdcr-match-time, .mdcr-match-status { margin-top: 4px; color: #8b95a5; font-size: 8px; font-weight: 750; line-height: 1.2; white-space: nowrap; }
.mdcr-match-row--live .mdcr-match-vs, .mdcr-match-row--live .mdcr-match-score, .mdcr-match-row--live .mdcr-match-status { color: #059669; }
.mdcr-match-promo { position: absolute; top: 3px; right: 4px; display: inline-flex; align-items: center; gap: 2px; padding: 2px 4px; border-radius: 3px; color: #92400e; background: #fef3c7; font-size: 7px; font-weight: 800; line-height: 1.2; }
.mdcr-match-row--promo { cursor: pointer; }
.mdcr-match-row--promo:hover { background: #fffaf0; }
.mdcr-match-row--promo:focus-visible { z-index: 1; outline: 3px solid rgba(245, 158, 11, .35); outline-offset: -3px; }
.mdcr-race-section { margin: 0 0 16px; }
.mdcr-event-section-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 2px 7px; }
.mdcr-event-section-heading h3 { margin: 0; color: #7c8798; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.mdcr-event-section-heading > span { min-width: 20px; padding: 2px 6px; border-radius: 99px; color: #64748b; background: #e9edf3; font-size: 9px; font-weight: 800; text-align: center; }
.mdcr-event-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 78px; margin-bottom: 8px; padding: 11px 11px 11px 16px; overflow: hidden; border: 1px solid #e4e9f0; border-radius: 10px; background: #fff; box-shadow: 0 2px 7px rgba(15, 23, 42, .045); transition: border-color .18s ease, box-shadow .18s ease; }
.mdcr-event-card--has-logos { grid-template-columns: auto minmax(0, 1fr) auto; }
.mdcr-event-card:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(15, 23, 42, .08); }
.mdcr-event-accent { position: absolute; inset: 0 auto 0 0; width: 4px; background: #94a3b8; }
.mdcr-event-card--scheduled .mdcr-event-accent { background: var(--blue); }
.mdcr-event-card--important .mdcr-event-accent { background: #f59e0b; }
.mdcr-event-card--live .mdcr-event-accent { background: #10b981; }
.mdcr-event-card--completed .mdcr-event-accent { background: #94a3b8; }
.mdcr-event-card--promo { border-color: #f3c969; background: linear-gradient(135deg, #fffdf6, #fff8df); box-shadow: 0 4px 14px rgba(180, 83, 9, .12); cursor: pointer; }
.mdcr-event-card--promo:focus-visible { outline: 3px solid rgba(245, 158, 11, .35); outline-offset: 2px; }
.mdcr-event-card--promo .mdcr-event-accent { background: #f59e0b; }
.mdcr-event-card--promo .mdcr-event-state { color: #92400e; background: #fde68a; }
.mdcr-team-logos { position: relative; display: flex; flex: 0 0 42px; align-items: center; width: 42px; height: 34px; }
.mdcr-team-logos img { width: 27px; height: 27px; padding: 2px; border: 1px solid #e5e9ef; border-radius: 50%; background: #fff; object-fit: contain; }
.mdcr-team-logos img + img { margin-left: -10px; }
.mdcr-event-content { min-width: 0; }
.mdcr-event-topline { display: flex; align-items: center; gap: 6px; min-width: 0; margin-bottom: 4px; }
.mdcr-event-league { overflow: hidden; color: #64748b; font-size: 9px; font-weight: 800; letter-spacing: .065em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.mdcr-event-state { flex: 0 0 auto; padding: 2px 5px; border-radius: 4px; color: #475569; background: #f1f5f9; font-size: 8px; font-weight: 800; line-height: 1.3; text-transform: uppercase; }
.mdcr-event-card--live .mdcr-event-state { color: #047857; background: #d1fae5; }
.mdcr-event-card--important .mdcr-event-state { color: #b45309; background: #fef3c7; }
.mdcr-event-card--completed .mdcr-event-state { color: #64748b; background: #e9edf3; }
.mdcr-event-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--ink); font-size: 12px; line-height: 1.3; }
.mdcr-event-promo { display: flex; align-items: center; gap: 5px; margin-top: 5px; color: #9a5b08; font-size: 9px; font-weight: 800; line-height: 1.3; }
.mdcr-promo-emoji { font-size: 14px; line-height: 1; }
.mdcr-modal-open { overflow: hidden; }
.mdcr-promo-modal { position: fixed; z-index: 99999; inset: 0; display: grid; place-items: center; padding: 18px; opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.mdcr-promo-modal.is-open { opacity: 1; pointer-events: auto; }
.mdcr-promo-modal[hidden] { display: none; }
.mdcr-promo-modal-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .68); backdrop-filter: blur(3px); }
.mdcr-promo-modal-dialog { position: relative; width: min(480px, 100%); max-height: min(620px, calc(100vh - 36px)); overflow-y: auto; padding: 28px; border: 1px solid rgba(245, 158, 11, .45); border-radius: 18px; background: #fff; box-shadow: 0 28px 80px rgba(15, 23, 42, .32); transform: translateY(10px) scale(.98); transition: transform .18s ease; }
.mdcr-promo-modal.is-open .mdcr-promo-modal-dialog { transform: translateY(0) scale(1); }
.mdcr-promo-modal-close { position: absolute; top: 13px; right: 13px; display: grid; width: 34px; height: 34px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #64748b; background: #f1f5f9; font-size: 22px; line-height: 1; cursor: pointer; }
.mdcr-promo-modal-close:hover { color: #0f172a; background: #e2e8f0; }
.mdcr-promo-modal-emoji { display: grid; width: 58px; height: 58px; margin-bottom: 16px; place-items: center; border-radius: 16px; background: #fef3c7; font-size: 31px; }
.mdcr-promo-modal-eyebrow { display: block; margin-bottom: 7px; color: #b45309; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.mdcr-promo-modal-dialog h2 { margin: 0; color: var(--navy); font-size: 23px; line-height: 1.15; }
.mdcr-promo-modal-meta { margin: 8px 0 0; color: #7c8798; font-size: 11px; font-weight: 700; }
.mdcr-promo-modal-description { margin-top: 20px; padding: 16px; border-left: 4px solid #f59e0b; border-radius: 8px; color: #334155; background: #fffbeb; font-size: 14px; line-height: 1.6; white-space: pre-line; }
.mdcr-vs { margin: 0 2px; color: #94a3b8; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.mdcr-event-venue { display: block; overflow: hidden; margin-top: 4px; color: #8792a2; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.mdcr-event-venue::before { margin-right: 4px; color: #a7b0bd; content: "•"; }
.mdcr-event-result { min-width: 64px; padding-left: 9px; border-left: 1px solid #edf0f4; text-align: right; }
.mdcr-event-time { display: block; color: var(--navy); font-size: 13px; font-weight: 800; line-height: 1.15; white-space: nowrap; }
.mdcr-event-card--live .mdcr-event-time { color: #047857; }
.mdcr-event-result-label { display: block; margin-top: 3px; color: #9aa3b1; font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.mdcr-empty { padding: 28px 12px; color: #8b95a5; font-size: 12px; text-align: center; }
.mdcr-loading { color: #8b95a5; font-size: 12px; text-align: center; }

.mdcr-process-item { margin: 0 12px; padding: 13px 0 13px 12px; border-bottom: 1px solid #eef0f4; border-left: 4px solid var(--blue); }
.mdcr-process-top { display: flex; align-items: center; gap: 8px; }
.mdcr-new { padding: 2px 5px; border-radius: 3px; color: #fff; background: var(--blue); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.mdcr-process-date { color: #98a0ad; font-size: 10px; }
.mdcr-process-item h3 { margin: 5px 0 3px; color: var(--ink); font-size: 13px; line-height: 1.25; }
.mdcr-process-item p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0; color: #778293; font-size: 11px; line-height: 1.5; }

.mdcr-quick { min-height: 0; margin: 0; padding: 0; color: #fff; background: var(--navy); }
.mdcr-quick-heading { display: flex; min-height: 44px; align-items: center; gap: 8px; padding: 0 16px; border-bottom: 1px solid rgba(255,255,255,.15); font-size: 14px; font-weight: 700; }
.mdcr-bookmark { color: #fbbf24; font-size: 18px; }
.mdcr-quick-grid { display: grid; grid-template-columns: 1fr; align-content: start; gap: 13px; height: calc(100% - 44px); overflow-y: auto; overscroll-behavior: contain; padding: 14px 16px 16px; scrollbar-color: rgba(255,255,255,.35) transparent; scrollbar-width: thin; }
.mdcr-quick-group h3 { margin: 0 0 7px; color: #fff; font-size: 12px; }
.mdcr-quick-links { display: grid; grid-template-columns: 1fr; gap: 5px; }
.mdcr-quick-links a { color: rgba(255,255,255,.72); font-size: 11px; }
.mdcr-quick-links a:hover { color: #fff; text-decoration: underline; }

.mdcr-promo-carousel { position: relative; overflow: hidden; margin-bottom: 20px; background: var(--navy); }
.mdcr-promo-viewport { overflow: hidden; }
.mdcr-promo-track { display: flex; transform: translateX(0); transition: transform .42s ease; }
.mdcr-promo-slide { min-width: 0; flex: 0 0 100%; }
.mdcr-promo { position: relative; display: block; height: 230px; overflow: hidden; color: #fff; background: var(--navy); }
.mdcr-promo img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.mdcr-promo:hover img { transform: scale(1.04); }
.mdcr-promo::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0,0,0,.85), rgba(0,0,0,.15)); }
.mdcr-promo-content { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; justify-content: space-between; max-width: 520px; padding: 24px 64px; }
.mdcr-promo-content h2 { margin: 0; font-size: 25px; line-height: 1.05; }
.mdcr-promo-content p { margin: 0; color: rgba(255,255,255,.84); font-size: 13px; }
.mdcr-promo-small { margin-bottom: 9px; color: rgba(255,255,255,.75); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.mdcr-promo-cta { margin-top: 7px; font-size: 10px; font-weight: 700; text-decoration: underline; text-transform: uppercase; }
.mdcr-promo-nav { position: absolute; z-index: 3; top: 50%; display: grid; width: 34px; height: 34px; padding: 0 0 2px; place-items: center; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; background: rgba(15,23,42,.52); font-size: 24px; line-height: 1; cursor: pointer; }
.mdcr-promo-nav:hover, .mdcr-promo-nav:focus-visible { background: rgba(15,23,42,.82); }
.mdcr-promo-prev { left: 14px; }
.mdcr-promo-next { right: 14px; }
.mdcr-promo-dots { position: absolute; z-index: 3; bottom: 13px; left: 50%; display: flex; gap: 6px; transform: translateX(-50%); }
.mdcr-promo-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.55); cursor: pointer; transition: width .2s ease, background-color .2s ease; }
.mdcr-promo-dot.is-active { width: 22px; background: #fff; }

.mdcr-campaigns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 20px; }
.mdcr-campaign-head { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--line); color: var(--navy); font-size: 12px; font-weight: 700; }
.mdcr-campaign-columns { display: grid; }
.mdcr-campaign-columns.cols-1 { grid-template-columns: 1fr; }
.mdcr-campaign-columns.cols-2 { grid-template-columns: repeat(2, 1fr); }
.mdcr-campaign-columns.cols-3 { grid-template-columns: repeat(3, 1fr); }
.mdcr-campaign-col { min-width: 0; border-right: 1px solid var(--line); }
.mdcr-campaign-col:last-child { border-right: 0; }
.mdcr-campaign-col h3 { margin: 0; padding: 8px 10px; border-bottom: 1px solid var(--line); background: #f8fafc; color: #778293; font-size: 10px; text-transform: uppercase; }
.mdcr-campaign { padding: 8px 10px; border-bottom: 1px solid #eef0f4; color: #596579; font-size: 11px; }
.mdcr-campaign:last-child { border-bottom: 0; }

.mdcr-footer { padding: 25px 16px; color: rgba(255,255,255,.72); background: var(--navy); text-align: center; font-size: 12px; }
.mdcr-footer-links { display: flex; justify-content: center; gap: 16px; margin-bottom: 4px; }
.mdcr-footer-links ul { display: flex; justify-content: center; gap: 16px; margin: 0 0 4px; padding: 0; list-style: none; }
.mdcr-footer a:hover { color: #fff; }
.mdcr-footer small { color: rgba(255,255,255,.48); }

@media (prefers-reduced-motion: reduce) {
  .mdcr-promo-track, .mdcr-promo img { transition: none; }
}

@media (max-width: 900px) {
  .mdcr-grid { grid-template-columns: 1fr 1fr; height: auto; }
  .mdcr-left, .mdcr-center { height: 720px; }
  .mdcr-center { grid-column: span 1; }
  .mdcr-processes { grid-column: 1 / -1; height: auto; min-height: 300px; }
}
@media (max-width: 640px) {
  .mdcr-header, .mdcr-event-bar { padding-left: 14px; padding-right: 14px; }
  .mdcr-header h1, .mdcr-header strong { font-size: 13px; }
  .mdcr-search-wrap > span { display: none; }
  .mdcr-search { width: 150px; }
  .mdcr-main { width: calc(100% - 20px); padding-top: 10px; }
  .mdcr-hero { height: 260px; }
  .mdcr-hero-content { padding: 28px 24px; }
  .mdcr-grid, .mdcr-campaigns { grid-template-columns: 1fr; }
  .mdcr-campaign-columns.cols-2, .mdcr-campaign-columns.cols-3 { grid-template-columns: 1fr; }
  .mdcr-left, .mdcr-processes, .mdcr-center { grid-column: auto; }
  .mdcr-left { grid-template-rows: repeat(2, 340px); height: auto; }
  .mdcr-center { height: auto; }
  .mdcr-board { height: 430px; flex: none; }
  .mdcr-processes { height: 420px; min-height: 0; }
  .mdcr-quick-links { grid-template-columns: 1fr; }
  .mdcr-promo { height: 235px; }
  .mdcr-promo-content { padding: 24px 52px; }
  .mdcr-promo-content h2 { font-size: 22px; }
  .mdcr-promo-prev { left: 8px; }
  .mdcr-promo-next { right: 8px; }
  .mdcr-board-body { padding: 10px; }
  .mdcr-match-row { grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr); min-height: 64px; padding: 8px 6px; }
  .mdcr-match-team { gap: 5px; }
  .mdcr-match-logo { flex-basis: 30px; width: 30px; height: 30px; }
  .mdcr-match-name { font-size: 9px; }
  .mdcr-match-time, .mdcr-match-status { font-size: 7px; }
  .mdcr-event-card { min-height: 74px; padding: 10px 9px 10px 14px; }
  .mdcr-team-logos { flex-basis: 36px; width: 36px; }
  .mdcr-team-logos img { width: 24px; height: 24px; }
  .mdcr-event-title { font-size: 11px; }
  .mdcr-event-result { min-width: 58px; padding-left: 7px; }
  .mdcr-event-time { font-size: 12px; }
  .mdcr-promo-modal-dialog { padding: 24px 20px; border-radius: 14px; }
  .mdcr-promo-modal-dialog h2 { padding-right: 28px; font-size: 20px; }
}
