/**
 * assets/css/ppv-streaming.css
 *
 * Stream-state UI for ppv/event.php ONLY.
 * Never load this on index.php — the transform animations here interact
 * badly with ppv-guide.css hero compositing.
 * Prefixes: .ppv-scd-* (sidebar countdown), .ppv-poller-* (poll indicator),
 *           .ppv-gate-starting-soon
 */

/* ================================================================
   SIDEBAR COUNTDOWN TIMER  (upcoming state)
   ================================================================ */

.ppv-scd-wrap {
    background: rgba(251, 146, 60, 0.07);
    border: 1px solid rgba(251, 146, 60, 0.2);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 14px;
    text-align: center;
}

.ppv-scd-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.45);
    margin-bottom: 10px;
}

.ppv-scd-timer {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 4px;
}

.ppv-scd-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 44px;
}

.ppv-scd-val {
    font-size: 28px;
    font-weight: 700;
    color: #fb923c;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.ppv-scd-unit-lbl {
    font-size: 10px;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.ppv-scd-sep {
    font-size: 24px;
    font-weight: 700;
    color: rgba(251, 146, 60, 0.4);
    margin-bottom: 10px;
}

/* Imminent state (< 15 min) */
.ppv-scd-wrap.ppv-scd-imminent {
    background: rgba(251, 146, 60, 0.12);
    border-color: rgba(251, 146, 60, 0.45);
    animation: ppv-scd-glow 2s ease-in-out infinite;
}

@keyframes ppv-scd-glow {
    0%, 100% { box-shadow: 0 0 0 rgba(251, 146, 60, 0); }
    50%       { box-shadow: 0 0 12px rgba(251, 146, 60, 0.18); }
}

/* ================================================================
   STREAM POLLER INDICATOR
   ================================================================ */

.ppv-poller-indicator {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 14px;
    padding: 0 2px;
}

.ppv-poller-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    flex-shrink: 0;
    transition: background 0.3s;
}

.ppv-poller-dot.active {
    background: #3fb950;
    animation: ppv-poller-pulse 1.5s ease-in-out infinite;
}

@keyframes ppv-poller-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.4; }
}

.ppv-poller-dot.change {
    background: #fb923c;
}

/* ================================================================
   STARTING SOON STRIP (inside purchase gate card)
   ================================================================ */

.ppv-gate-starting-soon {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(251, 146, 60, 0.08);
    border: 1px solid rgba(251, 146, 60, 0.2);
    border-radius: 8px;
    margin-bottom: 14px;
    font-size: 12px;
    color: #fb923c;
}

.ppv-gate-starting-soon i {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media (max-width: 640px) {
    .ppv-scd-val  { font-size: 24px; }
    .ppv-scd-unit { min-width: 36px; }
}
