/* Perepat Siaran Langsung */
.ps-dot { display:inline-block; width:.6rem; height:.6rem; border-radius:50%; background:#ff3b30; box-shadow:0 0 0 0 rgba(255,59,48,.7); animation:ps-pulse 1.6s infinite; vertical-align:middle; }
@keyframes ps-pulse { 0%{box-shadow:0 0 0 0 rgba(255,59,48,.7)} 70%{box-shadow:0 0 0 .55rem rgba(255,59,48,0)} 100%{box-shadow:0 0 0 0 rgba(255,59,48,0)} }
@media (prefers-reduced-motion: reduce){ .ps-dot{animation:none} }

.ps-player { border-radius: var(--mp-radius,14px); overflow:hidden; background:#000; box-shadow:0 18px 40px rgba(0,0,0,.25); }
.ps-player iframe { border:0; }

/* Front page */
.ps-front--live { background: linear-gradient(135deg, var(--mp-green-deep,#1d3314), var(--mp-green-dark,#2f4d20)); color:#fff; padding:2.5rem 0; }
.ps-front--up { padding:1.5rem 0 0; }
.ps-live { color:#fff; }
.ps-page-live .ps-live { background: linear-gradient(135deg, var(--mp-green-deep,#1d3314), var(--mp-green-dark,#2f4d20)); padding:1.5rem; border-radius: var(--mp-radius,14px); margin-bottom:2rem; }
.ps-badge-live { display:inline-flex; align-items:center; gap:.5rem; background:#d62d20; color:#fff; font-weight:700; font-size:.78rem; letter-spacing:.08em; padding:.35rem .8rem; border-radius:999px; margin-bottom:.9rem; }
.ps-badge-live .ps-dot { background:#fff; box-shadow:0 0 0 0 rgba(255,255,255,.7); animation-name:ps-pulse-w; }
@keyframes ps-pulse-w { 0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)} 70%{box-shadow:0 0 0 .55rem rgba(255,255,255,0)} 100%{box-shadow:0 0 0 0 rgba(255,255,255,0)} }
.ps-live .ps-live-title, .entry-content .ps-live .ps-live-title { color:#fff !important; margin-top:0; font-size:clamp(1.3rem,2.4vw,1.9rem); margin-bottom:.6rem; }
.ps-meta { display:flex; flex-wrap:wrap; gap:.4rem 1rem; font-size:.9rem; opacity:.9; }
.ps-meta i { color: var(--mp-leaf,#8dc642); margin-right:.2rem; }

/* Upcoming card */
.ps-up-link { text-decoration:none; color:inherit; display:block; }
.ps-upcoming { display:flex; align-items:center; gap:1rem; background:#fff; border:1px solid #e8eee2; border-left:5px solid #d62d20; border-radius: var(--mp-radius,14px); padding:1rem 1.25rem; margin-bottom:1rem; transition:box-shadow .2s, transform .2s; }
.ps-up-link:hover .ps-upcoming { box-shadow:0 12px 28px rgba(29,51,20,.12); transform:translateY(-2px); }
.ps-up-icon { flex:0 0 48px; height:48px; border-radius:12px; display:grid; place-items:center; background:#fdecea; color:#d62d20; font-size:1.25rem; }
.ps-up-body { flex:1; min-width:0; }
.ps-up-eyebrow { font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:#d62d20; font-weight:600; }
.ps-up-title { font-weight:600; color: var(--mp-ink,#1c1a1b); }
.ps-up-when { font-size:.88rem; color: var(--mp-muted,#5f6b5a); }
.ps-up-count { font-variant-numeric:tabular-nums; font-weight:600; color: var(--mp-green,#527c3a); text-align:right; white-space:nowrap; }
.ps-up-count small { display:block; font-weight:400; color: var(--mp-muted,#5f6b5a); font-size:.72rem; }
@media (max-width:575.98px){ .ps-upcoming{flex-wrap:wrap} .ps-up-count{flex-basis:100%; text-align:left; padding-left:64px} }

/* Page */
.ps-none { display:flex; gap:1rem; align-items:center; background: var(--mp-cream,#f7f9f3); border:1px dashed #cfdcc2; border-radius: var(--mp-radius,14px); padding:1.25rem 1.5rem; margin-bottom:2rem; }
.ps-none > i { font-size:1.6rem; color: var(--mp-muted,#5f6b5a); }
.ps-h { font-size:1.35rem; margin:2rem 0 1rem; }
.ps-filter { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.25rem; }
.ps-filter a, .ps-pager a { padding:.35rem .9rem; border-radius:999px; border:1px solid #d9e4cf; color: var(--mp-green-dark,#2f4d20); text-decoration:none; font-size:.88rem; }
.ps-filter a.is-on, .ps-pager a.is-on { background: var(--mp-green,#527c3a); border-color: var(--mp-green,#527c3a); color:#fff; }
.ps-pager { display:flex; gap:.4rem; justify-content:center; margin-top:1.5rem; }

.ps-rec { overflow:hidden; }
.ps-rec-thumb { display:block; width:100%; aspect-ratio:16/9; border:0; padding:0; margin:0; background:#111; cursor:pointer; position:relative; overflow:hidden; }
.ps-rec-thumb .ps-rec-img, .entry-content .ps-rec-thumb .ps-rec-img { position:absolute; inset:0; width:100%; height:100% !important; max-width:none; margin:0 !important; object-fit:cover; border-radius:0; display:block; }
.ps-rec-ph { position:absolute; inset:0; display:grid !important; place-items:center; font-size:3rem; color:#fff; background: linear-gradient(135deg, var(--mp-green-dark,#2f4d20), var(--mp-green,#527c3a)); }
.ps-rec-ph--facebook { background: linear-gradient(135deg,#1b4fa0,#1877f2); }
.ps-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:58px; height:58px; border-radius:50%; background:rgba(0,0,0,.6); color:#fff; display:grid; place-items:center; font-size:1.2rem; transition:background .2s; }
.ps-rec-thumb:hover .ps-play, .ps-rec-thumb:focus-visible .ps-play { background:#d62d20; }
.ps-rec-playing { background:#000; }
.ps-rec-playing iframe { border:0; }
.ps-rec-jenis { font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color: var(--mp-green,#527c3a); font-weight:600; }
.ps-rec-title { font-size:1rem; font-weight:600; margin:.2rem 0 .3rem; }
.ps-rec-sub { font-size:.85rem; color: var(--mp-muted,#5f6b5a); }

/* Floating pill (other pages) */
.ps-float { position:fixed; left:16px; bottom:16px; z-index:1040; display:flex; align-items:center; gap:.5rem; max-width:calc(100vw - 32px); background:#d62d20; color:#fff; text-decoration:none; padding:.55rem 1rem; border-radius:999px; box-shadow:0 10px 26px rgba(0,0,0,.25); font-size:.9rem; }
.ps-float:hover { color:#fff; background:#b5241a; }
.ps-float .ps-dot { background:#fff; animation-name:ps-pulse-w; }
.ps-float-t { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:42vw; }
