/* ── Rashtra Live Player — player.css v3 ── */

/* ═══════════════════════════════════════════════════════
   VIDEO PLAYER
═══════════════════════════════════════════════════════ */
.rltp-wrapper { width:100%; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }

.rltp-player {
    position:relative; width:100%; background:#0a0a0a;
    border-radius:6px; overflow:hidden; cursor:pointer; user-select:none;
}
.rltp-video {
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:contain; background:#000; display:block;
}
.rltp-poster {
    position:absolute; inset:0; background-size:cover; background-position:center;
    z-index:1; transition:opacity .3s;
}
.rltp-poster.hidden { opacity:0; pointer-events:none; }

/* Big play */
.rltp-overlay {
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    z-index:5; transition:opacity .2s;
}
.rltp-overlay.hidden { opacity:0; pointer-events:none; }
.rltp-big-play {
    width:68px; height:68px; border-radius:50%;
    border:2px solid rgba(255,255,255,.4); background:rgba(0,0,0,.45);
    backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
    color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:background .2s,transform .15s; padding:0;
}
.rltp-big-play:hover { background:rgba(0,0,0,.65); transform:scale(1.08); }
.rltp-big-play svg   { width:30px; height:30px; }

/* Top bar */
.rltp-top-bar {
    position:absolute; top:0; left:0; right:0; padding:12px 14px;
    display:flex; align-items:center; gap:10px; z-index:6;
    background:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,transparent 100%);
    opacity:0; transition:opacity .25s;
}
.rltp-player:hover .rltp-top-bar, .rltp-player.cv .rltp-top-bar { opacity:1; }

.rltp-channel-title { color:#fff; font-size:13px; font-weight:600; letter-spacing:.02em; text-shadow:0 1px 4px rgba(0,0,0,.5); }

/* Controls */
.rltp-controls {
    position:absolute; bottom:0; left:0; right:0; padding:10px 12px 12px;
    display:flex; align-items:center; justify-content:space-between; z-index:6;
    background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 100%);
    opacity:0; transition:opacity .25s;
}
.rltp-player:hover .rltp-controls, .rltp-player.cv .rltp-controls { opacity:1; }
.rltp-controls-left, .rltp-controls-right { display:flex; align-items:center; gap:6px; }

.rltp-btn {
    width:34px; height:34px; border:none; background:transparent; color:#fff;
    cursor:pointer; border-radius:4px; display:flex; align-items:center; justify-content:center;
    padding:0; transition:background .15s,transform .1s;
}
.rltp-btn:hover  { background:rgba(255,255,255,.1); }
.rltp-btn:active { transform:scale(.92); }
.rltp-btn svg    { width:20px; height:20px; }

/* LIVE badge */
.rltp-live-badge, .rltp-live-tag {
    display:inline-flex; align-items:center; gap:5px;
    background:var(--rltp-accent,#e53935); color:#fff;
    font-size:10px; font-weight:700; letter-spacing:.08em;
    padding:3px 7px; border-radius:3px; line-height:1; flex-shrink:0;
}
.rltp-top-bar .rltp-live-badge { font-size:11px; padding:4px 8px; }
.rltp-live-dot {
    width:6px; height:6px; background:#fff; border-radius:50%;
    animation:rltp-blink 1.4s ease-in-out infinite;
}
@keyframes rltp-blink { 0%,100%{opacity:1} 50%{opacity:.15} }

/* Volume */
.rltp-volume-wrap { display:flex; align-items:center; gap:4px; }
.rltp-volume-slider { -webkit-appearance:none; appearance:none; width:68px; height:4px; border-radius:2px; background:rgba(255,255,255,.3); outline:none; cursor:pointer; }
.rltp-volume-slider::-webkit-slider-thumb { -webkit-appearance:none; width:13px; height:13px; border-radius:50%; background:#fff; cursor:pointer; box-shadow:0 0 0 2px rgba(0,0,0,.3); }
.rltp-volume-slider::-moz-range-thumb    { width:13px; height:13px; border-radius:50%; background:#fff; border:none; cursor:pointer; }

/* Loader */
.rltp-loader { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:4; background:rgba(0,0,0,.4); transition:opacity .3s; }
.rltp-loader.hidden { opacity:0; pointer-events:none; }
.rltp-spinner { width:38px; height:38px; border:3px solid rgba(255,255,255,.2); border-top-color:#fff; border-radius:50%; animation:rltp-spin .8s linear infinite; }
@keyframes rltp-spin { to { transform:rotate(360deg); } }

/* Error */
.rltp-error-msg { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:8; background:rgba(0,0,0,.78); color:#fff; gap:10px; text-align:center; padding:20px; }
.rltp-error-msg svg { opacity:.7; }
.rltp-error-msg p   { margin:0; font-size:13px; color:rgba(255,255,255,.8); }
.rltp-retry-btn     { margin-top:4px; padding:7px 20px; background:var(--rltp-accent,#e53935); color:#fff; border:none; border-radius:4px; font-size:13px; font-weight:600; cursor:pointer; }
.rltp-retry-btn:hover { filter:brightness(.85); }

/* Fullscreen */
:-webkit-full-screen .rltp-player,:fullscreen .rltp-player { padding-top:0 !important; height:100vh; border-radius:0; }

/* Responsive */
@media (max-width:480px) {
    .rltp-volume-slider { width:50px; }
    .rltp-big-play      { width:56px; height:56px; }
    .rltp-big-play svg  { width:24px; height:24px; }
}


/* ═══════════════════════════════════════════════════════
   FLOATING BUTTON
═══════════════════════════════════════════════════════ */
.rltp-float-btn {
    position: fixed;
    z-index: 99990;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 18px rgba(0,0,0,.3), 0 2px 6px rgba(0,0,0,.2);
    transition: transform .2s, box-shadow .2s;
    font-size: 22px;
    padding: 0;
    text-decoration: none;
    outline: none;
    /* position set inline by PHP */
}
.rltp-float-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 28px rgba(0,0,0,.35), 0 4px 10px rgba(0,0,0,.25);
}
.rltp-float-btn:active { transform: scale(.96); }

.rltp-float-img {
    width: 65%; height: 65%;
    object-fit: contain; border-radius: 4px;
}

/* Pulse ring */
.rltp-pulse-ring {
    position: absolute;
    border: 3px solid var(--pulse-color, #e53935);
    opacity: 0;
    /* size & border-radius set inline */
    animation: rltp-pulse 2.2s ease-out infinite;
    pointer-events: none;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
@keyframes rltp-pulse {
    0%   { transform:translate(-50%,-50%) scale(.7); opacity:.8; }
    70%  { transform:translate(-50%,-50%) scale(1.25); opacity:0; }
    100% { opacity:0; }
}

/* Tooltip */
.rltp-float-tooltip {
    position: absolute;
    white-space: nowrap;
    background: rgba(0,0,0,.8);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 10px;
    border-radius: 4px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s, transform .2s;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.rltp-float-tooltip::after {
    content: '';
    position: absolute;
    top: 100%; left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: rgba(0,0,0,.8);
}
.rltp-float-btn:hover .rltp-float-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* Left-side & right-side tooltip adjustments */
.rltp-float-btn[style*="left:"] .rltp-float-tooltip {
    left: calc(100% + 10px);
    bottom: auto;
    top: 50%;
    transform: translateY(-50%) translateX(-4px);
}
.rltp-float-btn[style*="left:"]:hover .rltp-float-tooltip {
    transform: translateY(-50%) translateX(0);
}
.rltp-float-btn[style*="left:"] .rltp-float-tooltip::after {
    top:50%; left:auto; right:100%;
    transform:translateY(-50%);
    border-top-color:transparent;
    border-right-color:rgba(0,0,0,.8);
}
.rltp-float-btn[style*="right:"][style*="top:50%"] .rltp-float-tooltip {
    right:calc(100% + 10px);
    left:auto;
    bottom:auto;
    top:50%;
    transform:translateY(-50%) translateX(4px);
}
.rltp-float-btn[style*="right:"][style*="top:50%"]:hover .rltp-float-tooltip {
    transform:translateY(-50%) translateX(0);
}


/* ═══════════════════════════════════════════════════════
   MODAL
═══════════════════════════════════════════════════════ */
.rltp-float-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s;
}
.rltp-float-modal.open {
    opacity: 1;
    pointer-events: all;
}

.rltp-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.82);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    cursor: pointer;
}

.rltp-modal-box {
    position: relative;
    z-index: 1;
    background: #111;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
    max-width: 860px;
    box-shadow: 0 24px 60px rgba(0,0,0,.6);
    transform: scale(.94) translateY(12px);
    transition: transform .28s cubic-bezier(.34,1.56,.64,1);
}
.rltp-float-modal.open .rltp-modal-box {
    transform: scale(1) translateY(0);
}

.rltp-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    background: #1a1a1a;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.rltp-modal-header-left { display:flex; align-items:center; gap:10px; }
.rltp-modal-title { color:#fff; font-size:14px; font-weight:600; letter-spacing:.02em; }

.rltp-modal-close {
    width: 32px; height: 32px;
    background: rgba(255,255,255,.08);
    border: none; border-radius: 6px; color: #fff;
    cursor: pointer; display:flex; align-items:center; justify-content:center;
    transition: background .15s;
    flex-shrink:0; padding:0;
}
.rltp-modal-close:hover { background: rgba(255,255,255,.18); }

.rltp-modal-body { display:block; }
.rltp-modal-body .rltp-wrapper { display:block; }
.rltp-modal-body .rltp-player  { border-radius:0; }

/* Mobile modal — centered, full-width, constrained height */
@media (max-width:600px) {
    .rltp-float-modal {
        padding: 12px;
        align-items: center;
        justify-content: center;
    }
    .rltp-modal-box {
        border-radius: 10px;
        max-width: 100%;
        width: 100%;
        max-height: calc(100dvh - 24px);
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .rltp-modal-body {
        flex: 1;
        min-height: 0;
        overflow: hidden;
    }
    .rltp-modal-body .rltp-wrapper,
    .rltp-modal-body .rltp-player {
        height: 100%;
    }
    /* Tighten header on small screens */
    .rltp-modal-header {
        padding: 10px 12px;
        flex-shrink: 0;
    }
    .rltp-modal-title { font-size: 13px; }
}

/* body scroll lock */
body.rltp-noscroll { overflow:hidden; }
