/* ═══════════════════════════════════════════════════════════
   COUNTDOWN WIDGET — Lamar Cardinals Sports
   Three sizes: compact (sidebar), normal, large (full-width banner)
   ═══════════════════════════════════════════════════════════ */

.lcs-countdown-widget {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: var(--radius, 8px);
    background-color: var(--lcs-cw-bg, #1a1a1a);
    background-size: cover;
    background-position: center;
    text-decoration: none;
    color: #fff;
    isolation: isolate;
    border: 1px solid rgba(255,255,255,0.08);
}
a.lcs-countdown-widget { cursor: pointer; }
a.lcs-countdown-widget:hover { text-decoration: none; color: #fff; }

.lcs-cw-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.75), rgba(0,0,0,0.45));
    z-index: 0;
}

.lcs-cw-content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.lcs-cw-title {
    font-family: var(--font-display, 'Oswald', sans-serif);
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--lcs-cw-accent, #CC0000);
}

.lcs-cw-subtitle {
    font-family: var(--font-body, 'Open Sans', sans-serif);
    color: rgba(255,255,255,0.85);
}

.lcs-cw-timer {
    display: flex;
    align-items: center;
    justify-content: center;
}

.lcs-cw-unit { display: flex; flex-direction: column; align-items: center; }

.lcs-cw-num {
    font-family: var(--font-display, 'Oswald', sans-serif);
    font-weight: 700;
    line-height: 1;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

.lcs-cw-num.lcs-cw-tick {
    animation: lcs-cw-pulse 0.4s ease-out;
}
@keyframes lcs-cw-pulse {
    0%   { transform: scale(1.15); color: var(--lcs-cw-accent, #CC0000); }
    100% { transform: scale(1); color: #fff; }
}

.lcs-cw-label {
    font-size: 9px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
    margin-top: 2px;
}

.lcs-cw-colon {
    font-family: var(--font-display, 'Oswald', sans-serif);
    color: rgba(255,255,255,0.3);
    align-self: flex-start;
}

.lcs-cw-expired-msg {
    font-family: var(--font-display, 'Oswald', sans-serif);
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--lcs-cw-accent, #CC0000);
    text-transform: uppercase;
    animation: lcs-cw-flash 1.2s ease-in-out infinite;
}
@keyframes lcs-cw-flash {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.4; }
}

.lcs-cw-link-text {
    font-family: var(--font-display, 'Oswald', sans-serif);
    color: var(--lcs-cw-accent, #CC0000);
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* ── COMPACT (sidebar widget) ─────────────────────────── */
.lcs-cw-compact { padding: 16px 12px; }
.lcs-cw-compact .lcs-cw-title    { font-size: 11px; margin-bottom: 4px; }
.lcs-cw-compact .lcs-cw-subtitle { font-size: 11px; margin-bottom: 10px; }
.lcs-cw-compact .lcs-cw-timer    { gap: 4px; }
.lcs-cw-compact .lcs-cw-num      { font-size: 20px; min-width: 30px; }
.lcs-cw-compact .lcs-cw-colon    { font-size: 16px; padding: 0 1px; }
.lcs-cw-compact .lcs-cw-expired-msg { font-size: 13px; padding: 6px 0; }
.lcs-cw-compact .lcs-cw-link-text   { font-size: 10px; margin-top: 8px; }

/* ── NORMAL (default) ─────────────────────────────────── */
.lcs-cw-normal { padding: 24px 20px; }
.lcs-cw-normal .lcs-cw-title    { font-size: 13px; margin-bottom: 6px; }
.lcs-cw-normal .lcs-cw-subtitle { font-size: 14px; margin-bottom: 16px; }
.lcs-cw-normal .lcs-cw-timer    { gap: 10px; }
.lcs-cw-normal .lcs-cw-num      { font-size: 32px; min-width: 46px; }
.lcs-cw-normal .lcs-cw-colon    { font-size: 24px; padding: 0 2px; }
.lcs-cw-normal .lcs-cw-expired-msg { font-size: 20px; padding: 10px 0; }
.lcs-cw-normal .lcs-cw-link-text   { font-size: 12px; margin-top: 14px; }

/* ── LARGE (full-width banner) ────────────────────────── */
.lcs-cw-large { padding: 40px 30px; min-height: 220px; display: flex; align-items: center; justify-content: center; }
.lcs-cw-large .lcs-cw-content   { width: 100%; }
.lcs-cw-large .lcs-cw-title     { font-size: 16px; letter-spacing: 3px; margin-bottom: 8px; }
.lcs-cw-large .lcs-cw-subtitle  { font-size: 22px; margin-bottom: 24px; }
.lcs-cw-large .lcs-cw-timer     { gap: 20px; }
.lcs-cw-large .lcs-cw-num       { font-size: 56px; min-width: 80px; }
.lcs-cw-large .lcs-cw-label     { font-size: 12px; margin-top: 4px; }
.lcs-cw-large .lcs-cw-colon     { font-size: 40px; padding: 0 4px; }
.lcs-cw-large .lcs-cw-expired-msg { font-size: 32px; padding: 16px 0; }
.lcs-cw-large .lcs-cw-link-text   { font-size: 14px; margin-top: 20px; }

/* ── Expired state — subtle red border pulse ──────────── */
.lcs-countdown-widget.lcs-cw-expired {
    border-color: var(--lcs-cw-accent, #CC0000);
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 600px) {
    .lcs-cw-large { padding: 24px 16px; min-height: 160px; }
    .lcs-cw-large .lcs-cw-num     { font-size: 34px; min-width: 48px; }
    .lcs-cw-large .lcs-cw-colon   { font-size: 26px; }
    .lcs-cw-large .lcs-cw-subtitle { font-size: 16px; margin-bottom: 16px; }
    .lcs-cw-large .lcs-cw-timer   { gap: 10px; }

    .lcs-cw-normal .lcs-cw-num    { font-size: 24px; min-width: 34px; }
    .lcs-cw-normal .lcs-cw-timer  { gap: 6px; }
}

@media (max-width: 375px) {
    .lcs-cw-normal,
    .lcs-cw-large { padding: 18px 12px; }
    .lcs-cw-large .lcs-cw-num  { font-size: 26px; min-width: 38px; }
    .lcs-cw-large .lcs-cw-subtitle { font-size: 14px; }
    .lcs-cw-compact .lcs-cw-num { font-size: 17px; min-width: 26px; }
}
