/* PH Video Hub v0.8.15 — local catalog search, mobile search UI and stable mixed grids. */
html:has(body.phvv-video-route), body.phvv-video-route { overflow-x:clip !important; background:#10071b !important; }
body.phvv-video-route #secondary { display:none !important; }
body.phvv-video-route #content,
body.phvv-video-route .site-content,
body.phvv-video-route .site-content > .ast-container,
body.phvv-video-route #primary,
body.phvv-video-route .content-area,
body.phvv-video-route .site-main {
  box-sizing:border-box !important; display:block !important; float:none !important;
  width:100% !important; max-width:100% !important; min-width:0 !important;
  margin:0 !important; padding:0 !important;
}

main.phvv-route-wrap {
  box-sizing:border-box !important; position:relative !important; left:auto !important; right:auto !important; transform:none !important;
  width:100% !important; max-width:none !important; min-width:0 !important; min-height:70vh;
  margin:0 !important; padding:14px 16px 54px !important; overflow-x:clip !important;
  color:#fff; background:#10071b;
}
.phvv-video-hub {
  --phvv-bg:#10071b; --phvv-panel:#170a27; --phvv-stroke:rgba(185,136,255,.22);
  --phvv-stroke-hi:rgba(210,168,255,.52); --phvv-text:#fff; --phvv-muted:rgba(255,255,255,.61); --phvv-accent:#c497ff;
  width:100%; min-width:0; color:var(--phvv-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.45;
}
/* One real viewport canvas. Do not cap by CSS pixels: browser zoom must not turn a wide display into a narrow catalog. */
.phvv-content-shell {
  width:calc(100vw - 32px);
  max-width:none;
  min-width:0;
  margin-inline:auto;
}
.phvv-video-hub *, .phvv-video-hub *::before, .phvv-video-hub *::after { box-sizing:border-box; }

/* Local search submits once to the existing catalog route; there is no live AJAX. */
.phvv-search-panel { width:100%; margin:0 0 12px; padding:10px; overflow:hidden; }
.phvv-search-form { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:8px; width:100%; min-width:0; }
.phvv-search-icon { display:inline-flex; width:34px; height:42px; align-items:center; justify-content:center; color:rgba(217,181,255,.76); font-size:24px; line-height:1; }
.phvv-search-input { width:100%; min-width:0; height:42px; margin:0 !important; padding:0 13px !important; border:1px solid rgba(198,151,255,.26) !important; border-radius:11px !important; outline:0; background:rgba(8,3,14,.72) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important; color:#fff !important; font:700 13px/1.2 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important; }
.phvv-search-input::placeholder { color:rgba(255,255,255,.42); opacity:1; }
.phvv-search-input:focus { border-color:rgba(211,168,255,.72) !important; box-shadow:0 0 0 3px rgba(174,111,255,.14) !important; }
.phvv-search-input::-webkit-search-cancel-button { display:none; }
.phvv-search-clear { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:0 8px; color:rgba(255,255,255,.64) !important; font-size:11px; font-weight:780; text-decoration:none !important; }
.phvv-search-clear:hover { color:#fff !important; }
.phvv-search-submit { min-width:92px; min-height:42px; margin:0 !important; padding:0 16px !important; border:1px solid rgba(215,173,255,.50) !important; border-radius:11px !important; background:linear-gradient(180deg,#a866ee,#7435bd) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 22px rgba(105,43,170,.22) !important; color:#fff !important; font-size:12px !important; font-weight:850 !important; line-height:1 !important; cursor:pointer; }
.phvv-search-submit:hover, .phvv-search-submit:focus { filter:brightness(1.08); }
.phvv-search-empty { margin:0 4px 14px; }
.phvv-search-live-only { margin-top:2px; }

/* Facets never enlarge the route width. */
.phvv-top-facets { width:100%; min-width:0; margin:0 0 14px; overflow-x:auto; overflow-y:hidden; border-bottom:1px solid rgba(185,136,255,.15); background:linear-gradient(180deg,rgba(28,13,46,.74),rgba(16,7,27,.20)); scrollbar-width:none; }
.phvv-top-facets::-webkit-scrollbar { display:none; }
.phvv-top-facets-scroll { display:flex; align-items:center; gap:7px; width:max-content; min-width:100%; padding:10px 2px 13px; }
.phvv-top-facet { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:6px 11px; border:1px solid rgba(185,136,255,.18); border-radius:999px; background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.028)); color:rgba(255,255,255,.86) !important; font-size:11px; font-weight:800; line-height:1; text-decoration:none !important; white-space:nowrap; }
.phvv-top-facet:hover, .phvv-top-facet.is-active { border-color:rgba(207,158,255,.56); background:linear-gradient(180deg,rgba(145,84,231,.38),rgba(83,42,143,.30)); color:#fff !important; box-shadow:0 0 15px rgba(174,112,255,.12),inset 0 1px 0 rgba(255,255,255,.08); }

/* Archive and single share one viewport canvas. Rails are fixed, the central column consumes the remainder. */
.phvv-video-layout {
  display:grid !important;
  grid-template-columns:clamp(220px,10.6vw,260px) minmax(0,1fr) clamp(300px,14vw,340px) !important;
  column-gap:20px;
  row-gap:18px;
  align-items:start;
  width:100%;
  min-width:0;
  max-width:none;
  margin:0;
}
.phvv-video-layout:not(.phvv-video-layout--single) .phvv-left-sidebar,
.phvv-video-layout:not(.phvv-video-layout--single) .phvv-right-sidebar {
  width:auto !important;
  max-width:100%;
}
.phvv-video-layout:not(.phvv-video-layout--single) .phvv-main-column { min-width:0; }

.phvv-video-layout > *, .phvv-main-column { min-width:0 !important; max-width:100% !important; }
.phvv-sidebar, .phvv-right-sidebar { position:sticky; top:136px; align-self:start; min-width:0; max-width:100%; }
.phvv-video-layout:not(.phvv-video-layout--single) .phvv-sidebar-inner { max-height:none; overflow:visible; }
.phvv-video-layout:not(.phvv-video-layout--single) .phvv-right-sidebar { width:auto; }
.phvv-sidebar-inner, .phvv-rail-panel, .phvv-panel { border:1px solid var(--phvv-stroke); border-radius:18px; background:linear-gradient(180deg,rgba(33,16,53,.96),rgba(17,8,29,.98)); box-shadow:0 18px 48px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.028); }

/* Left rail. */
.phvv-nav-group { padding:14px 12px; border-bottom:1px solid rgba(255,255,255,.07); }
.phvv-nav-group:last-child { border-bottom:0; }
.phvv-nav-group h2, .phvv-rail-panel h2 { margin:0 0 10px; color:rgba(255,255,255,.49); font-size:10px; font-weight:900; letter-spacing:.12em; line-height:1.1; text-transform:uppercase; }
.phvv-nav-list, .phvv-term-list { display:flex; flex-direction:column; gap:7px; }
.phvv-nav-link, .phvv-term-link { display:flex; align-items:center; gap:7px; min-height:36px; padding:8px 10px; border:1px solid rgba(255,255,255,.10); border-radius:11px; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)); color:rgba(255,255,255,.88) !important; font-size:12px; font-weight:760; line-height:1.1; text-decoration:none !important; }
.phvv-term-link { justify-content:space-between; min-height:32px; padding-inline:9px; }
.phvv-nav-link:hover, .phvv-term-link:hover { border-color:rgba(196,149,255,.43); background:rgba(155,95,237,.18); color:#fff !important; }
.phvv-nav-link.is-active, .phvv-term-link.is-active { border-color:rgba(196,149,255,.56); background:linear-gradient(180deg,rgba(150,88,233,.33),rgba(83,44,140,.28)); color:#fff !important; }
.phvv-nav-icon { display:inline-flex; width:14px; min-width:14px; justify-content:center; color:var(--phvv-accent); font-size:10px; }
.phvv-term-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.phvv-term-count { margin-left:auto; flex:0 0 auto; color:rgba(255,255,255,.46); font-size:10px; font-weight:850; }

/* Archive panel/cards. */
.phvv-catalog-panel { padding:16px; overflow:hidden; }
.phvv-catalog-head { display:flex; align-items:flex-start; padding:4px 5px 16px; }
.phvv-catalog-title { position:relative; padding-left:15px; }
.phvv-catalog-title::before, .phvv-seo-copy-head::before { content:""; position:absolute; left:0; top:3px; bottom:2px; width:4px; border-radius:999px; background:linear-gradient(180deg,#dfbaff,#9257ea); box-shadow:0 0 13px rgba(191,133,255,.36); }
.phvv-kicker { margin:0 0 4px; color:rgba(255,255,255,.54); font-size:9px; font-weight:900; letter-spacing:.11em; line-height:1; text-transform:uppercase; }
.phvv-catalog-head h1, .phvv-single h1 { margin:0; color:#fff; font-weight:860; letter-spacing:-.044em; }
.phvv-catalog-head h1 { font-size:clamp(24px,2vw,34px); line-height:1.04; }
.phvv-catalog-head p { margin:6px 0 0; color:var(--phvv-muted); font-size:11px; font-weight:650; }
.phvv-catalog-divider { height:1px; margin:0 4px 14px; background:linear-gradient(90deg,rgba(193,148,255,.34),rgba(255,255,255,.06) 70%,transparent); }
.phvv-catalog-panel > .phvv-grid { padding:0 4px 4px; }
.phvv-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:12px; align-items:start; min-width:0; }
.phvv-card { min-width:0; overflow:hidden; border:1px solid rgba(194,148,255,.20); border-radius:14px; background:linear-gradient(180deg,rgba(39,20,61,.94),rgba(19,9,32,.99)); box-shadow:inset 0 1px 0 rgba(255,255,255,.026),0 12px 26px rgba(0,0,0,.16); transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.phvv-card:hover { border-color:rgba(210,169,255,.52); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 34px rgba(0,0,0,.25); transform:translateY(-2px); }
.phvv-card.is-thumb-failed, .phvv-rail-video.is-thumb-failed { display:none !important; }
.phvv-card-link { display:block; height:100%; color:inherit !important; text-decoration:none !important; }
.phvv-thumb { position:relative; display:block; isolation:isolate; aspect-ratio:16/9; overflow:hidden; background:#09040f; }
.phvv-thumb::after { content:""; position:absolute; right:0; bottom:0; left:0; z-index:2; height:50%; background:linear-gradient(180deg,transparent,rgba(10,4,17,.23) 32%,rgba(10,4,17,.76)); pointer-events:none; }
.phvv-thumb-fallback { position:absolute; inset:0; z-index:0; display:block; background:linear-gradient(145deg,#10061a,#06030b); }
.phvv-thumb-fallback--ready::before { display:none; }
.phvv-thumb-fallback::before { content:"PREVIEW"; position:absolute; top:50%; left:50%; padding:6px 9px; border:1px solid rgba(190,150,255,.16); border-radius:999px; color:rgba(255,255,255,.36); font-size:8px; font-weight:900; letter-spacing:.12em; transform:translate(-50%,-50%); }
.phvv-thumb-image { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:cover; object-position:center; color:transparent; font-size:0; transition:transform .22s ease; }
.phvv-thumb-image.is-broken { display:none; }
.phvv-card:hover .phvv-thumb-image { transform:scale(1.035); }
.phvv-duration { position:absolute; right:6px; bottom:6px; z-index:3; padding:3px 5px; border:1px solid rgba(255,255,255,.18); border-radius:5px; background:rgba(8,4,14,.88); color:#fff; font-size:8px; font-weight:900; line-height:1; }
.phvv-card-body { display:flex; flex-direction:column; justify-content:space-between; gap:6px; min-height:60px; padding:9px 11px 10px; }
.phvv-card-title { display:-webkit-box; overflow:hidden; color:#fff; font-size:12px; font-weight:820; letter-spacing:-.016em; line-height:1.22; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.phvv-card-meta, .phvv-meta { display:flex; flex-wrap:wrap; gap:5px 8px; color:rgba(255,255,255,.58); font-size:10px; font-weight:720; }
.phvv-card-meta span + span::before, .phvv-meta span + span::before { content:"·"; margin-right:5px; color:rgba(255,255,255,.30); }
.phvv-empty { padding:22px; border:1px dashed rgba(190,150,255,.28); border-radius:15px; background:rgba(255,255,255,.03); color:rgba(255,255,255,.68); }

/* Right recommendation rail. */
.phvv-recommendation-rail { padding:16px 14px; }
.phvv-rail-list { display:flex; flex-direction:column; gap:8px; }
.phvv-rail-video { min-width:0; }
.phvv-rail-video > a { display:grid; grid-template-columns:84px minmax(0,1fr); align-items:center; gap:10px; min-height:76px; padding:7px; border:1px solid rgba(194,148,255,.18); border-radius:12px; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.026)); color:rgba(255,255,255,.94) !important; text-decoration:none !important; }
.phvv-rail-video > a:hover { border-color:rgba(196,149,255,.44); background:rgba(159,99,239,.17); color:#fff !important; }
.phvv-rail-thumb { width:84px; height:56px; border:1px solid rgba(255,255,255,.13); border-radius:8px; box-shadow:0 0 0 2px rgba(190,150,255,.05); }
.phvv-rail-thumb .phvv-duration { right:3px; bottom:3px; padding:2px 3px; border-radius:3px; font-size:6px; }
.phvv-rail-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.phvv-rail-title { display:-webkit-box; overflow:hidden; color:#fff; font-size:12px; font-weight:830; letter-spacing:-.012em; line-height:1.17; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.phvv-rail-meta { display:block; overflow:hidden; color:rgba(255,255,255,.55); font-size:10px; font-weight:720; line-height:1.18; text-overflow:ellipsis; white-space:nowrap; }
.phvv-rail-divider { height:1px; margin:15px 0; background:rgba(255,255,255,.08); }
.phvv-tags-heading { margin-top:0 !important; }
.phvv-rail-tag-list { display:flex; flex-wrap:wrap; gap:6px; }
.phvv-rail-tag-list a, .phvv-tags a, .phvv-single-copy-links a { display:inline-flex; align-items:center; min-height:25px; padding:5px 7px; border:1px solid rgba(190,140,255,.22); border-radius:999px; background:rgba(190,140,255,.08); color:rgba(255,255,255,.82) !important; font-size:9px; font-weight:780; line-height:1; text-decoration:none !important; }
.phvv-rail-tag-list a:hover, .phvv-tags a:hover, .phvv-single-copy-links a:hover { border-color:rgba(190,140,255,.44); background:rgba(190,140,255,.22); color:#fff !important; }

/* Single visual stage. Every major panel follows the main-column axis. */
.phvv-single, .phvv-single-stage { width:100%; min-width:0; }
.phvv-breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:0 0 11px; color:rgba(255,255,255,.48); font-size:10px; font-weight:700; }
.phvv-breadcrumbs a { color:rgba(255,255,255,.72) !important; text-decoration:none !important; }
.phvv-breadcrumbs a:hover { color:#fff !important; }
.phvv-single-head { width:100%; padding:22px 26px 21px; margin:0 0 14px; }
.phvv-single-head-inner { max-width:900px; }
.phvv-single-head h1 { display:-webkit-box; max-width:100%; overflow:hidden; overflow-wrap:anywhere; font-size:clamp(30px,1.85vw,36px); line-height:1.08; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.phvv-single-meta { margin-top:11px; font-size:11px; }
.phvv-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.phvv-tags a { min-height:28px; padding:6px 9px; font-size:10px; }
.phvv-player-panel { width:100%; margin:0; padding:11px; background:linear-gradient(180deg,rgba(38,17,61,.86),rgba(12,6,20,.96)); box-shadow:0 24px 70px rgba(0,0,0,.34); }
.phvv-player-wrap { position:relative; overflow:hidden; aspect-ratio:16/9; border:1px solid rgba(196,149,255,.22); border-radius:16px; background:#050308; }
.phvv-player { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; }
.phvv-player-missing { display:flex; height:100%; align-items:center; justify-content:center; padding:24px; color:rgba(255,255,255,.62); text-align:center; }
.phvv-related { width:100%; margin:26px 0 0; padding:20px; }
.phvv-related-count { flex:0 0 auto; color:rgba(255,255,255,.52); font-size:10px; font-weight:760; white-space:nowrap; }
.phvv-related .phvv-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:16px; }
.phvv-related .phvv-card-body { min-height:64px; }
.phvv-related .phvv-card-title { font-size:13px; }
.phvv-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; padding-left:13px; border-left:4px solid #bd8dff; }
.phvv-section-head h2 { margin:0; color:#fff; font-size:23px; font-weight:840; letter-spacing:-.028em; }
.phvv-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:22px; }
.phvv-pagination a, .phvv-pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; padding:0 10px; border:1px solid rgba(190,150,255,.22); border-radius:999px; background:rgba(255,255,255,.052); color:rgba(255,255,255,.89) !important; font-size:10px; font-weight:820; text-decoration:none !important; }
.phvv-pagination a:hover, .phvv-pagination .is-active { border-color:rgba(190,150,255,.54); background:rgba(190,150,255,.21); color:#fff !important; }

/* Copy panels. */
.phvv-seo-copy, .phvv-single-copy { margin-top:20px; padding:22px 26px; background:linear-gradient(180deg,rgba(32,14,51,.93),rgba(18,8,30,.97)); }
.phvv-seo-copy-head { position:relative; margin:0 0 11px; padding-left:13px; }
.phvv-seo-copy h2, .phvv-single-copy h2 { margin:0; color:#fff; font-size:21px; font-weight:850; letter-spacing:-.032em; line-height:1.12; }
.phvv-seo-copy p, .phvv-single-copy p { max-width:960px; margin:9px 0 0; color:rgba(255,255,255,.69); font-size:12px; font-weight:580; line-height:1.68; }
.phvv-single-copy-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.phvv-shortcode-grid { color:#fff; }
.phvv-shortcode-grid > h2 { margin:0 0 14px; }

/* Client-side paging swaps only this local card mount; no page navigation or fetch is involved. */
.phvv-related-grid-mount { min-width:0; }
.phvv-related-pagination-mount:empty { display:none; }


/* v0.6.0: left rail has both browse categories and local popular tags, with no nested white scrollbar. */
.phvv-left-tag-list { display:flex; flex-wrap:wrap; gap:7px; padding:0 0 2px; }
.phvv-left-tag-list a { display:inline-flex; min-height:25px; align-items:center; padding:4px 8px; border:1px solid rgba(193,145,255,.25); border-radius:999px; color:rgba(255,255,255,.84); background:rgba(72,37,102,.30); font-size:10px; font-weight:780; line-height:1; text-decoration:none; }
.phvv-left-tag-list a:hover { color:#fff; border-color:rgba(223,166,255,.65); background:rgba(110,53,151,.56); }
.phvv-sidebar-inner, .phvv-right-sidebar, .phvv-rail-panel { scrollbar-width:none; }
.phvv-sidebar-inner::-webkit-scrollbar, .phvv-right-sidebar::-webkit-scrollbar, .phvv-rail-panel::-webkit-scrollbar { display:none; }

/* Astra can re-apply max-width through theme presets. The standalone video canvas owns its outer route width. */
body.phvv-video-route #content > .ast-container {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
body.phvv-video-route main.phvv-route-wrap {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}


/* v0.6.3: keep server-rendered catalog visible immediately; no JS hides panels or waits for a loader. */
.phvv-video-hub, .phvv-video-layout, .phvv-main-column, .phvv-catalog-panel, .phvv-card, .phvv-sidebar, .phvv-right-sidebar { content-visibility:visible; }
.phvv-thumb-image.litespeed-no-lazyload { opacity:1 !important; transition:none !important; }
.phvv-thumb-fallback--ready { background:linear-gradient(135deg,#21102f,#12091d); }

/* -------------------------------------------------------------------------
   PH Video Hub 0.7.8 — Native Header + aligned single-watch layout
   -------------------------------------------------------------------------
   This stylesheet scopes all Video Hub presentation under .phvv-* and never
   targets the PlayHard header, logo or navigation. */

/* Single pages use a left browse rail and one wide workspace. The live rail is
   nested in the player row, so it starts at the player edge and never floats
   beside breadcrumbs or the video title. */
.phvv-video-layout.phvv-video-layout--single {
  grid-template-columns:clamp(220px,10.6vw,260px) minmax(0,1fr) !important;
  gap:20px !important;
  align-items:start !important;
}
.phvv-video-layout--single > .phvv-main-column {
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}
.phvv-video-layout--single .phvv-single-stage {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.phvv-watch-row {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) clamp(300px,19vw,340px) !important;
  align-items:start !important;
  gap:20px !important;
  width:100% !important;
  min-width:0 !important;
}
.phvv-watch-row--solo { grid-template-columns:minmax(0,1fr) !important; }
.phvv-watch-row > .phvv-player-panel { min-width:0 !important; }
.phvv-watch-row > .phvv-right-sidebar,
.phvv-watch-row > .phvv-live-streams-sidebar,
.phvv-video-layout--single .phvv-live-streams-sidebar {
  position:static !important;
  top:auto !important;
  align-self:start !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
}
.phvv-single-below { width:100% !important; min-width:0 !important; }
.phvv-video-layout--single .phvv-related,
.phvv-video-layout--single .phvv-single-copy { width:100% !important; }

/* Isolated prepared PlayHard live rail. It uses the original room-card markup
   but does not load or copy the global PHSPB stylesheet. */
.phvv-live-streams-sidebar {
  position:sticky !important;
  top:136px !important;
  align-self:start !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
}
.phvv-live-streams-sidebar > .phspb-sidebar-panel {
  position:static !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:12px !important;
  overflow:visible !important;
  border:1px solid rgba(190,150,255,.16) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(33,16,53,.96),rgba(17,8,29,.98)) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.028) !important;
}
.phvv-live-streams-sidebar .phspb-nav-sidebar-inner {
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-width:0 !important;
  max-height:none !important;
  overflow:visible !important;
}
.phvv-live-rail-head {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:2px 0 11px !important;
  padding:0 1px !important;
}
.phvv-live-rail-head > div { display:flex !important; flex-direction:column !important; gap:3px !important; min-width:0 !important; }
.phvv-live-rail-kicker {
  color:rgba(214,170,255,.72) !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}
.phvv-live-rail-head strong {
  display:block !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:860 !important;
  letter-spacing:-.018em !important;
  line-height:1.15 !important;
}
.phvv-live-rail-count {
  flex:0 0 auto !important;
  padding:5px 7px !important;
  border:1px solid rgba(190,150,255,.20) !important;
  border-radius:999px !important;
  background:rgba(190,140,255,.08) !important;
  color:rgba(255,255,255,.62) !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.phvv-live-streams-sidebar .phspb-sidebar-recommended { padding:0 !important; border:0 !important; }
.phvv-live-streams-sidebar .phspb-sidebar-recommended-list {
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  width:100% !important;
}
.phvv-live-streams-sidebar .phspb-sidebar-room {
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
  min-height:58px !important;
  padding:7px 8px !important;
  border:1px solid rgba(190,150,255,.17) !important;
  border-radius:14px !important;
  background:radial-gradient(circle at 18% 0%,rgba(190,150,255,.12),transparent 40%),linear-gradient(180deg,rgba(255,255,255,.058),rgba(255,255,255,.03)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 8px 20px rgba(0,0,0,.12) !important;
  color:rgba(255,255,255,.90) !important;
  text-decoration:none !important;
  transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease !important;
}
.phvv-live-streams-sidebar .phspb-sidebar-room:hover,
.phvv-live-streams-sidebar .phspb-sidebar-room:focus {
  transform:translateY(-1px) !important;
  border-color:rgba(190,150,255,.34) !important;
  background:radial-gradient(circle at 18% 0%,rgba(190,150,255,.18),transparent 44%),linear-gradient(180deg,rgba(255,255,255,.078),rgba(255,255,255,.04)) !important;
  color:#fff !important;
}
.phvv-live-streams-sidebar .phspb-sidebar-room-media {
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  overflow:hidden !important;
  flex:0 0 42px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.06) !important;
  box-shadow:0 0 0 3px rgba(190,150,255,.05) !important;
}
.phvv-live-streams-sidebar .phspb-sidebar-room-media img { width:100% !important; height:100% !important; object-fit:cover !important; object-position:center !important; }
.phvv-live-streams-sidebar .phspb-sidebar-room-placeholder { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:100% !important; height:100% !important; color:rgba(255,255,255,.48) !important; font-size:18px !important; }
.phvv-live-streams-sidebar .phspb-sidebar-room-dot { position:absolute !important; right:3px !important; bottom:3px !important; width:9px !important; height:9px !important; border:2px solid #130a21 !important; border-radius:50% !important; background:#ff4d6d !important; box-shadow:0 0 0 3px rgba(255,77,109,.12) !important; }
.phvv-live-streams-sidebar .phspb-sidebar-room-body { display:flex !important; flex-direction:column !important; gap:3px !important; min-width:0 !important; }
.phvv-live-streams-sidebar .phspb-sidebar-room-name { display:block !important; overflow:hidden !important; color:#fff !important; font-size:11px !important; font-weight:850 !important; letter-spacing:-.015em !important; line-height:1.15 !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.phvv-live-streams-sidebar .phspb-sidebar-room-meta { display:flex !important; align-items:center !important; min-width:0 !important; gap:5px !important; color:rgba(255,255,255,.58) !important; font-size:9px !important; font-weight:750 !important; line-height:1.15 !important; }
.phvv-live-streams-sidebar .phspb-sidebar-room-meta span { overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.phvv-live-rail-cta {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  width:100% !important;
  min-height:36px !important;
  margin-top:10px !important;
  padding:8px 10px !important;
  border:1px solid rgba(205,157,255,.34) !important;
  border-radius:12px !important;
  background:linear-gradient(135deg,rgba(143,73,229,.42),rgba(205,92,178,.26)) !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:850 !important;
  letter-spacing:.01em !important;
  line-height:1 !important;
  text-decoration:none !important;
}
.phvv-live-rail-cta span { color:#ff77ad !important; font-size:9px !important; }
.phvv-live-rail-cta:hover { border-color:rgba(230,187,255,.62) !important; filter:brightness(1.08); color:#fff !important; }

/* Thirty archive cards always fill the last row: 5 wide desktop, 3 compact
   desktop/tablet and 2 phone. */
@media (min-width:1500px) {
  .phvv-video-layout:not(.phvv-video-layout--single) .phvv-grid { grid-template-columns:repeat(5,minmax(0,1fr)) !important; }
}
@media (min-width:821px) and (max-width:1499px) {
  .phvv-video-layout:not(.phvv-video-layout--single) .phvv-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (min-width:1260px) and (max-width:1399px) {
  .phvv-video-layout.phvv-video-layout--single { grid-template-columns:minmax(0,1fr) !important; }
  .phvv-video-layout--single .phvv-left-sidebar { display:none !important; }
}
@media (max-width:1259px) {
  .phvv-video-layout:not(.phvv-video-layout--single),
  .phvv-video-layout.phvv-video-layout--single { grid-template-columns:minmax(0,1fr) !important; width:100% !important; }
  .phvv-video-layout .phvv-left-sidebar,
  .phvv-video-layout .phvv-right-sidebar { display:none !important; }
  .phvv-video-layout:not(.phvv-video-layout--single) .phvv-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .phvv-video-layout--single .phvv-watch-row { grid-template-columns:minmax(0,1fr) !important; }
}
@media (max-width:820px) {
  main.phvv-route-wrap { padding:8px 7px 30px !important; }
  .phvv-search-panel { margin-bottom:8px !important; padding:7px !important; border-radius:13px !important; }
  .phvv-search-form { grid-template-columns:minmax(0,1fr) auto auto !important; gap:6px !important; }
  .phvv-search-icon { display:none !important; }
  .phvv-search-input { height:44px !important; padding:0 10px !important; font-size:16px !important; }
  .phvv-search-clear { min-height:44px !important; padding:0 4px !important; font-size:10px !important; }
  .phvv-search-submit { min-width:72px !important; min-height:44px !important; padding:0 10px !important; font-size:11px !important; }
  .phvv-catalog-panel, .phvv-related { padding:11px !important; }
  .phvv-catalog-head { padding:4px 3px 12px !important; }
  .phvv-top-facets { margin-bottom:9px !important; }
  .phvv-top-facets-scroll { padding:7px 0 10px !important; }
  .phvv-top-facet { min-height:28px !important; padding:6px 9px !important; font-size:10px !important; }
  .phvv-video-layout:not(.phvv-video-layout--single) .phvv-grid,
  .phvv-related .phvv-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  .phvv-card { border-radius:11px !important; }
  .phvv-card-body, .phvv-related .phvv-card-body { min-height:58px !important; padding:7px 7px 8px !important; gap:4px !important; }
  .phvv-card-title, .phvv-related .phvv-card-title { font-size:10px !important; }
  .phvv-card-meta { gap:4px !important; font-size:8px !important; }
  .phvv-duration { right:5px !important; bottom:5px !important; font-size:7px !important; }
  .phvv-single-head { padding:14px 13px !important; }
  .phvv-single-head h1, .phvv-catalog-head h1 { font-size:23px !important; }
  .phvv-breadcrumbs { font-size:9px !important; }
  .phvv-player-panel { padding:5px !important; }
  .phvv-player-wrap { border-radius:11px !important; }
  .phvv-seo-copy, .phvv-single-copy { margin-top:14px !important; padding:15px 13px !important; }
  .phvv-seo-copy h2, .phvv-single-copy h2 { font-size:18px !important; }
  .phvv-seo-copy p, .phvv-single-copy p { font-size:11px !important; line-height:1.58 !important; }
  .phvv-section-head { align-items:flex-start !important; gap:10px !important; }
  .phvv-section-head h2 { font-size:19px !important; }
  .phvv-related-count { padding-top:4px !important; font-size:9px !important; }
}

@media (max-width:360px) {
  .phvv-search-form { gap:5px !important; }
  .phvv-search-clear { padding-inline:2px !important; font-size:9px !important; }
  .phvv-search-submit { min-width:66px !important; padding-inline:8px !important; }
  .phvv-search-input { padding-inline:8px !important; }
}

/* Informational embed notice; a policy page remains the formal rights channel. */
.phvv-embed-notice { max-width:1120px; margin:22px auto 0; padding:0 14px; text-align:center; }
.phvv-embed-notice p { margin:0; color:rgba(255,255,255,.42); font-size:10px; font-weight:560; line-height:1.55; }
@media (max-width:820px) {
  .phvv-embed-notice { margin-top:16px; padding:0 7px; }
  .phvv-embed-notice p { font-size:9px; line-height:1.5; }
}

/* -------------------------------------------------------------------------
   PH Video Hub 0.7.10 — exact header parity + real-filled watch rail.
   -------------------------------------------------------------------------
   Header rules are the exact narrow PlayHard stream-template rules, copied only
   for the video-route body class. No Elementor global options, PHSPB public.css,
   header markup, menu settings or theme assets are changed. */
body.phvv-video-route .elementor-location-header,
body.phvv-video-route header.elementor-location-header {
  background:#12091f !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
  box-shadow:0 16px 44px rgba(0,0,0,.18) !important;
}
body.phvv-video-route .elementor-location-header a,
body.phvv-video-route .elementor-location-header .elementor-nav-menu a,
body.phvv-video-route .elementor-location-header .elementor-nav-menu--main a,
body.phvv-video-route .elementor-location-header .elementor-nav-menu--dropdown a {
  color:rgba(255,255,255,.86) !important;
  text-decoration:none !important;
}
body.phvv-video-route .elementor-location-header .elementor-nav-menu a:hover,
body.phvv-video-route .elementor-location-header .elementor-nav-menu .current-menu-item > a,
body.phvv-video-route .elementor-location-header .elementor-item.elementor-item-active {
  color:#fff !important;
}
body.phvv-video-route .elementor-location-header .elementor-nav-menu a:after,
body.phvv-video-route .elementor-location-header .elementor-item:after {
  background:linear-gradient(90deg,#fff,#ff4ec8) !important;
  border-color:transparent !important;
}
body.phvv-video-route .elementor-location-header .elementor-menu-toggle {
  color:rgba(255,255,255,.92) !important;
}
body.phvv-video-route .elementor-location-header .elementor-menu-toggle svg {
  fill:currentColor !important;
}

/* Watch page: show all twelve real prepared rooms and let the room cards share
   the available player height. The background is not artificially left empty:
   the cards expand moderately, then the CTA occupies the true bottom edge. */
.phvv-video-layout--single .phvv-watch-row {
  align-items:stretch !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar,
.phvv-video-layout--single .phvv-watch-row > .phvv-right-sidebar {
  align-self:stretch !important;
  display:flex !important;
  height:auto !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar > .phspb-sidebar-panel {
  display:flex !important;
  min-height:100% !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar .phspb-nav-sidebar-inner {
  display:flex !important;
  flex:1 1 auto !important;
  min-height:0 !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar .phspb-sidebar-recommended {
  display:flex !important;
  flex:1 1 auto !important;
  min-height:0 !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar .phspb-sidebar-recommended-list {
  display:flex !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:7px !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar .phspb-sidebar-room {
  grid-template-columns:50px minmax(0,1fr) !important;
  flex:1 1 0 !important;
  min-height:64px !important;
  max-height:78px !important;
  padding:9px 9px !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar .phspb-sidebar-room-media {
  width:50px !important;
  height:50px !important;
  flex-basis:50px !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar .phspb-sidebar-room-name {
  font-size:11.5px !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar .phspb-sidebar-room-meta {
  font-size:9.5px !important;
}
.phvv-video-layout--single .phvv-watch-row > .phvv-live-streams-sidebar .phvv-live-rail-cta {
  flex:0 0 auto !important;
  margin-top:10px !important;
}
@media (max-width:1259px) {
  body.phvv-video-route .elementor-location-header,
  body.phvv-video-route header.elementor-location-header { box-shadow:none !important; }
}



/* v0.8.2 — Single page left navigation: explicit readable typography, scoped only to Video Hub. */
.phvv-video-hub .phvv-left-sidebar .phvv-nav-group > h2 {
  color:#fff !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  margin:0 0 10px !important;
}
.phvv-video-hub .phvv-left-sidebar .phvv-nav-link,
.phvv-video-hub .phvv-left-sidebar .phvv-term-link {
  min-height:40px !important;
  padding:10px 11px !important;
  color:rgba(255,255,255,.96) !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.25);
}
.phvv-video-hub .phvv-left-sidebar .phvv-nav-icon { font-size:15px; flex:0 0 auto; }
.phvv-video-hub .phvv-left-sidebar .phvv-term-name { min-width:0; overflow-wrap:anywhere; }
.phvv-video-hub .phvv-left-sidebar .phvv-term-count {
  color:rgba(255,255,255,.76) !important;
  font-size:12px !important;
  font-weight:800 !important;
  flex:0 0 auto;
  padding-left:8px;
}
.phvv-video-hub .phvv-left-sidebar .phvv-left-tag-list a {
  color:rgba(255,255,255,.90) !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
}
.phvv-video-hub .phvv-left-sidebar .phvv-nav-link.is-active,
.phvv-video-hub .phvv-left-sidebar .phvv-term-link.is-active {
  color:#fff !important;
  border-color:rgba(239,84,176,.72) !important;
  background:linear-gradient(180deg,rgba(222,60,159,.30),rgba(105,41,120,.32)) !important;
}
@media (min-width:1260px) and (max-width:1499px) {
  .phvv-video-hub .phvv-video-layout--single .phvv-left-sidebar { display:block !important; }
  .phvv-video-hub .phvv-video-layout--single { grid-template-columns:190px minmax(0,1fr) !important; gap:18px !important; }
}
@media (max-width:1259px) {
  .phvv-video-hub .phvv-left-sidebar { display:none !important; }
}


/* v0.8.2 quality badges are qualitative only: provider view totals never appear as PlayHard counts. */
.phvv-video-hub .phvv-card-badge,
.phvv-video-hub .phvv-rail-badge {
  display:inline-flex; align-items:center; min-height:18px; padding:2px 6px;
  border:1px solid rgba(244,97,193,.38); border-radius:999px;
  color:rgba(255,228,247,.96); background:rgba(172,48,136,.24);
  font-size:9px; font-weight:850; letter-spacing:.025em; line-height:1;
}
.phvv-video-hub .phvv-rail-meta { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.phvv-video-hub .phvv-left-sidebar .phvv-sidebar-inner { background:rgba(12,8,24,.86); }
@media (min-width:1260px) and (max-width:1499px) {
  .phvv-video-hub .phvv-video-layout--single .phvv-left-sidebar .phvv-sidebar-inner { min-width:190px !important; }
  .phvv-video-hub .phvv-video-layout--single .phvv-left-sidebar .phvv-term-link { padding-inline:10px !important; }
}


/* -------------------------------------------------------------------------
   PH Video Hub 0.8.7 — integrated live tiles.
   Live rooms are real cards inside the same grids as videos. There is no
   framed promotion section, no detached row and no empty panel between rows.
   Wide archive: 30 video + 5 live = 35 exact five-column tiles.
   Compact archive: 30 video + 6 live = 36 exact three/two-column tiles.
   Related: 12 video + 4 live = 16 exact four/two-column tiles.
   ------------------------------------------------------------------------- */
.phvv-video-hub .phvv-grid--live-mix { align-items:stretch; }
.phvv-video-hub .phvv-live-grid-card {
  border-color:rgba(242,97,187,.46);
  background:
    radial-gradient(circle at 12% 0%,rgba(244,93,181,.18),transparent 48%),
    linear-gradient(180deg,rgba(52,20,69,.98),rgba(20,8,32,.99));
}
.phvv-video-hub .phvv-live-grid-card:hover { border-color:rgba(255,147,213,.86); }
.phvv-video-hub .phvv-live-grid-thumb img {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .22s ease;
}
.phvv-video-hub .phvv-live-grid-card:hover .phvv-live-grid-thumb img { transform:scale(1.04); }
.phvv-video-hub .phvv-live-grid-live {
  position:absolute;
  top:7px;
  left:7px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:19px;
  padding:3px 6px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(22,5,20,.80);
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
}
.phvv-video-hub .phvv-live-grid-live i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#ff4e83;
  box-shadow:0 0 0 3px rgba(255,78,131,.16);
}
.phvv-video-hub .phvv-live-grid-badge {
  border-color:rgba(255,112,192,.55) !important;
  background:rgba(222,57,151,.30) !important;
  color:#fff !important;
}
/* The sixth archive live card exists only where 36 cards make complete
   three/two-column rows. Keep exactly five live cards on wide five-column. */
@media (min-width:1500px) {
  .phvv-video-hub .phvv-grid--live-mix--archive .phvv-live-grid-card--tablet-fill { display:none !important; }
}
@media (max-width:820px) {
  .phvv-video-hub .phvv-live-grid-live { top:5px; left:5px; min-height:17px; padding:3px 5px; font-size:7px; }
  .phvv-video-hub .phvv-live-grid-live i { width:5px; height:5px; }
}

/* v0.8.9: reserve tiles are server-rendered but invisible unless the browser
   confirms a visible source thumbnail has exhausted every alternate preview. */
.phvv-video-hub .phvv-card--reserve { display:none !important; }
.phvv-video-hub .phvv-card--reserve.phvv-card--reserve-revealed { display:block !important; }
.phvv-video-hub .phvv-card--reserve.phvv-card--reserve-revealed.is-thumb-failed { display:none !important; }
