.phspb-model-shortcode{
  display:block;
  width:100%;
  max-width:1360px;
  margin:0 auto;
  padding:0 18px 44px;
  color:rgba(255,255,255,.92);
}

/* hide theme's duplicate H1 on stream pages */
.phspb-model-page .entry-title{display:none!important}

/* ─── LIVE BADGE ──────────────────────────────────────── */
.phspb-live-badge{
  display:inline-flex!important;
  align-items:center;
  gap:9px;
  margin:0 0 8px;
  padding:7px 16px 7px 12px;
  border-radius:999px;
  background:rgba(220,40,40,.18);
  border:1px solid rgba(255,80,80,.45);
  box-shadow:0 0 14px rgba(255,60,60,.12);
}
.phspb-live-dot{
  width:9px;height:9px;
  border-radius:50%;
  background:#ff4040;
  flex-shrink:0;
  box-shadow:0 0 0 0 rgba(255,64,64,.7);
  animation:phspb-pulse 1.6s ease-in-out infinite;
}
@keyframes phspb-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,64,64,.7)}
  60%{box-shadow:0 0 0 7px rgba(255,64,64,0)}
  100%{box-shadow:0 0 0 0 rgba(255,64,64,0)}
}
.phspb-live-label{
  color:#ff7070;
  font-size:12px;font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1;
}
.phspb-live-viewers{
  color:rgba(255,255,255,.8);
  font-size:12px;font-weight:600;
  line-height:1;
  padding-left:9px;
  border-left:1px solid rgba(255,255,255,.18);
}

/* ─── SOCIAL PROOF BAR ───────────────────────────────── */
.phspb-social-proof{
  display:flex!important;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 0;
}
.phspb-sp-item{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  padding:6px 14px 6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
}
.phspb-sp-icon{
  font-size:14px;line-height:1;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  flex-shrink:0;
}
.phspb-sp-val{color:#fff;font-size:14px;font-weight:800;line-height:1;}
.phspb-sp-lbl{color:rgba(255,255,255,.55);font-size:12px;font-weight:600;line-height:1;}
.phspb-sp-followers{border-color:rgba(255,110,175,.32)!important;background:rgba(255,80,150,.09)!important;}
.phspb-sp-viewers{border-color:rgba(70,185,255,.32)!important;background:rgba(50,170,255,.09)!important;}
.phspb-sp-hd{border-color:rgba(170,140,255,.32)!important;background:rgba(150,110,255,.09)!important;}

/* ─── SCREEN-READER ONLY ─────────────────────────────── */
.phspb-sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Hide intro sub in hero — no user value, kept for SEO via sr-only */
.phspb-heading-copy .phspb-sub{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* ─── SIDEBAR & BLOCK ────────────────────────────────── */
.phspb-sidebar-shortcode{display:block;width:100%}
.phspb-model-block{display:block;width:100%}
.phspb-model-block > * + *{margin-top:34px!important}

/* ─── BASE CARDS ─────────────────────────────────────── */
.phspb-hero-card,
.phspb-card{
  background:#12091f;
  border:1px solid rgba(190,150,255,.16);
  border-radius:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025);
  color:rgba(255,255,255,.92);
}
.phspb-hero-card{padding:22px 22px 24px}
.phspb-card{padding:30px 28px 30px}

/* ─── HERO ───────────────────────────────────────────── */
.phspb-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:10px;
}
.phspb-heading-main{margin-bottom:10px;}
.phspb-heading-copy{min-width:0;flex:1 1 auto;position:relative;}
.phspb-kicker{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 11px;
  margin:0 0 8px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(197,147,255,.16);
  color:rgba(255,255,255,.72);
  font-size:12px;line-height:1;
  font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;
}
.phspb-heading h1,
.phspb-hero-card h1{
  margin:0 0 12px;
  font-size:clamp(34px,4vw,60px);
  line-height:1.03;
  color:#fff;
  font-weight:800;
  letter-spacing:-0.035em;
}

/* ─── THUMBNAIL ──────────────────────────────────────── */
.phspb-thumb-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 112px;
  width:112px;
  height:112px;
  min-width:112px;
  min-height:112px;
  border-radius:50%;
  overflow:hidden;
  isolation:isolate;
  background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.12), rgba(120,72,190,.16) 45%, rgba(20,10,38,.92) 100%);
  border:2px solid rgba(190,150,255,.34);
  box-shadow:0 14px 36px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.05) inset;
  flex-shrink:0;
  align-self:flex-start;
}
.phspb-thumb-wrap::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:50%;
  padding:2px;
  background:linear-gradient(135deg, rgba(255,255,255,.36), rgba(190,150,255,.26), rgba(255,255,255,.08));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:2;
}
.phspb-thumb-wrap::after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  pointer-events:none;
  z-index:1;
}
.phspb-thumb-wrap.is-live{
  box-shadow:0 16px 40px rgba(0,0,0,.44), 0 0 0 1px rgba(255,255,255,.05) inset, 0 0 22px rgba(255,70,130,.10);
}
.phspb-thumb{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.16);
  transform-origin:center center;
}
.phspb-thumb-live-dot{
  position:absolute;
  right:8px;
  bottom:8px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#ff4d6d;
  border:2px solid #130a21;
  box-shadow:0 0 0 4px rgba(255,77,109,.12);
  z-index:3;
}

/* ─── EMBED ──────────────────────────────────────────── */
.phspb-embed-wrap{
  position:relative;overflow:hidden;
  border-radius:24px;border:1px solid rgba(255,255,255,.08);
  background:#08050f;
  aspect-ratio:16/9;min-height:0;
  margin-top:16px;margin-bottom:18px;
}
.phspb-embed-wrap iframe{
  display:block;
  width:100%;height:100%;
  margin-right:0;margin-bottom:0;
  border:0;background:#08050f;overflow:hidden;pointer-events:auto;
}
.phspb-empty-embed{
  display:flex;align-items:center;justify-content:center;
  min-height:420px;padding:24px;text-align:center;
  color:rgba(255,255,255,.72);font-size:16px;
  background:#05010a;border-radius:24px;
}
.phspb-hero-actions{
  margin-top:14px;
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;
}

/* ─── BUTTONS ────────────────────────────────────────── */
.phspb-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 28px;
  border-radius:999px;
  background:rgba(160,120,255,.16);
  border:1px solid rgba(200,160,255,.28);
  color:#fff;text-decoration:none!important;
  font-weight:800;font-size:15px;
  letter-spacing:.02em;line-height:1;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
  position:relative;z-index:3;white-space:nowrap;
}
.phspb-btn:not(.phspb-btn-secondary){
  background:linear-gradient(135deg,rgba(175,95,255,.28),rgba(110,50,210,.20))!important;
  border-color:rgba(205,145,255,.52)!important;
  box-shadow:0 0 28px rgba(160,90,255,.20),0 8px 24px rgba(0,0,0,.22)!important;
}
.phspb-btn:not(.phspb-btn-secondary):hover{
  background:linear-gradient(135deg,rgba(175,95,255,.40),rgba(110,50,210,.32))!important;
  border-color:rgba(215,165,255,.65)!important;
  box-shadow:0 0 44px rgba(160,90,255,.32),0 12px 32px rgba(0,0,0,.28)!important;
  transform:translateY(-2px)!important;color:#fff;
}
.phspb-btn-secondary{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.22);
}
.phspb-btn-secondary:hover{
  background: rgba(255,255,255,.13);
  border-color: rgba(255,255,255,.32);
  color: #fff;
}

/* ─── SECTION HEADER ─────────────────────────────────── */
.phspb-section-head{display:flex;align-items:flex-start;gap:18px;}
.phspb-section-accent{
  flex:0 0 8px;width:8px;
  min-height:62px;
  margin-top:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#ddb3ff 0%,#9c63ff 100%);
  box-shadow:0 0 24px rgba(176,114,255,.58),0 0 8px rgba(255,255,255,.08);
}
.phspb-section-headcopy{min-width:0;flex:1 1 auto;display:block;}
.phspb-section-title{
  display:block!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;max-width:none!important;
  color:#fff!important;
  font-size:clamp(30px,3vw,48px)!important;
  line-height:1.06!important;font-weight:800!important;letter-spacing:-0.04em!important;
}
.phspb-section-subtitle{
  margin:12px 0 0;max-width:1080px;
  color:rgba(255,255,255,.60);
  font-size:13px;line-height:1.6;
}
.phspb-section-divider{
  height:1px;margin:22px 0 24px!important;
  background:linear-gradient(90deg,rgba(220,170,255,.34),rgba(170,120,255,.16),rgba(255,255,255,.05));
}
.phspb-section-card{padding-top:30px!important;padding-bottom:30px!important;}

/* ─── LIVE DETAILS ───────────────────────────────────── */
.phspb-live-data-copy{
  margin:0;max-width:1120px;
  color:rgba(255,255,255,.78);
  font-size:clamp(16px,1.25vw,19px);line-height:1.82;
}

/* ─── BADGES ─────────────────────────────────────────── */
.phspb-badges{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;}
.phspb-badge{
  display:inline-flex;align-items:center;gap:10px;
  min-height:56px;padding:8px 16px 8px 10px;
  border-radius:18px;
  background:rgba(255,255,255,.055);border:1px solid rgba(214,170,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 6px 18px rgba(0,0,0,.10);
  color:#fff;
}
.phspb-badge-icon-wrap{
  flex:0 0 38px;width:38px;height:38px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);
}
.phspb-badge-icon{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:17px;line-height:1;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
}
/* Chip-style: label on top, value below */
.phspb-badge-body{
  display:flex;flex-direction:column;gap:2px;
  min-width:0;
}
.phspb-badge-lbl{
  font-size:10px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.40);
  line-height:1;white-space:nowrap;
}
.phspb-badge-text{
  font-size:14px;line-height:1.25;font-weight:800;
  color:#fff;word-break:break-word;white-space:normal;
}
/* Badge color variants */
.phspb-badge-status{background:rgba(255,55,55,.10)!important;border-color:rgba(255,80,80,.28)!important;}
.phspb-badge-viewers{background:rgba(60,180,255,.08)!important;border-color:rgba(60,180,255,.22)!important;}
.phspb-badge-followers{background:rgba(255,100,170,.08)!important;border-color:rgba(255,120,185,.22)!important;}
.phspb-badge-show-type{background:rgba(255,190,50,.07)!important;border-color:rgba(255,200,60,.20)!important;}

/* ─── STATS GRID ─────────────────────────────────────── */
.phspb-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
/* last row: if fewer than 4 cards, don't stretch them */
.phspb-stats-grid .phspb-stat-card:last-child:nth-child(4n - 1),
.phspb-stats-grid .phspb-stat-card:last-child:nth-child(4n - 2),
.phspb-stats-grid .phspb-stat-card:last-child:nth-child(4n - 3){
  /* stays natural size, doesn't need special treatment in CSS grid */
}
.phspb-stat-card{
  min-height:148px;padding:20px 20px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.042);
  border:1px solid rgba(208,158,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 8px 24px rgba(0,0,0,.10);
  display:flex;flex-direction:column;justify-content:flex-start;
}
.phspb-stat-card[data-best-time-card="1"]{
  background:rgba(180,130,255,.07)!important;border-color:rgba(180,130,255,.24)!important;
}
.phspb-stat-icon{font-size:21px;line-height:1;margin-bottom:18px;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;}
.phspb-stat-label{
  color:rgba(255,255,255,.58);font-size:12px;line-height:1.2;
  font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.phspb-stat-value{margin-top:14px;color:#fff;font-size:18px;line-height:1.24;font-weight:800;}
.phspb-stat-subvalue{margin-top:8px;color:rgba(255,255,255,.74);font-size:13px;line-height:1.45;}

/* ─── VIEWER CHART ───────────────────────────────────── */
.phspb-vchart{
  display:flex;
  align-items:stretch;
  gap:8px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.06);
  height:96px;
}
.phspb-vchart-label-y{
  color:rgba(255,255,255,.35);
  font-size:11px;font-weight:700;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  white-space:nowrap;
  letter-spacing:.06em;
  flex-shrink:0;
  display:flex;align-items:flex-start;
  padding-top:0;
}
.phspb-vchart-bars{
  display:flex;
  align-items:flex-end;
  gap:4px;
  flex:1;
  height:100%;
}
.phspb-vchart-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  flex:1;
  max-width:48px;
  height:100%;
  cursor:default;
  min-width:0;
}
.phspb-vchart-bar-wrap{
  flex:1;
  width:100%;
  display:flex;
  align-items:flex-end;
  min-height:0;
}
.phspb-vchart-bar{
  width:100%;
  border-radius:4px 4px 2px 2px;
  background:rgba(255,255,255,.10);
  transition:background .15s ease;
  min-height:3px;
}
.phspb-vchart-bar--live{
  background:linear-gradient(180deg,rgba(180,110,255,.85),rgba(130,60,220,.65));
}
.phspb-vchart-col:hover .phspb-vchart-bar--live{
  background:linear-gradient(180deg,rgba(215,155,255,.95),rgba(165,95,255,.80));
}
.phspb-vchart-day{
  color:rgba(255,255,255,.38);font-size:11px;font-weight:700;
  line-height:1;flex-shrink:0;
}

/* ─── SESSION HISTORY ────────────────────────────────── */
.phspb-session-history{display:grid;gap:14px;}
.phspb-session-row{
  display:grid;
  grid-template-columns:1.1fr 1fr .8fr .8fr;
  gap:18px;align-items:center;
  min-height:94px;padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.035));
  border:1px solid rgba(208,158,255,.15);
  border-left:3px solid rgba(180,120,255,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.phspb-session-day{color:#fff;font-size:18px;line-height:1.2;font-weight:800;}
.phspb-session-date{display:block;margin-top:5px;color:rgba(255,255,255,.45);font-size:13px;font-weight:500;}
.phspb-session-time,.phspb-session-meta{color:#fff;font-size:17px;line-height:1.25;font-weight:700;}

/* ─── SEO SUMMARY ────────────────────────────────────── */
.phspb-seo-summary-card{display:none!important;}
.phspb-seo-summary-copy{margin:0;color:rgba(255,255,255,.81);font-size:18px;line-height:1.92;}
.phspb-summary-actions{margin-top:26px;}

/* ─── SCHEDULE HEATMAP ───────────────────────────────── */
.phspb-heatmap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-top:8px;
}
/* The inner wrapper forces min-width so overflow-x kicks in */
.phspb-heatmap-inner{
  min-width:620px;
}
.phspb-heatmap-head,
.phspb-heatmap-row{
  display:grid!important;
  grid-template-columns:36px repeat(24,minmax(0,1fr))!important;
  gap:3px;
  margin-bottom:3px;
  align-items:center;
  width:100%;
}
.phspb-heatmap-corner,
.phspb-heatmap-dlabel{
  color:rgba(255,255,255,.45);
  font-size:11px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  text-align:right;padding-right:6px;white-space:nowrap;
}
.phspb-heatmap-hlabel{
  color:rgba(255,255,255,.35);
  font-size:10px;font-weight:600;
  text-align:center;line-height:1;height:14px;
}
.phspb-heatmap-cell{
  height:26px;border-radius:6px;
  background:rgba(170,100,255,calc(0.06 + var(--hi,0) * 0.0082));
  transition:transform .1s ease,background .1s ease;
  cursor:default;
}
.phspb-heatmap-cell:hover{
  transform:scale(1.3);z-index:2;position:relative;
  background:rgba(200,140,255,calc(0.18 + var(--hi,0) * 0.0078))!important;
}
.phspb-heatmap-legend{
  display:flex;align-items:center;gap:8px;
  margin-top:14px;
  justify-content:flex-end;
  color:rgba(255,255,255,.38);
  font-size:11px;font-weight:600;
}
.phspb-heatmap-legend-strip{display:flex;gap:3px;}
.phspb-heatmap-legend-strip .phspb-heatmap-cell{width:18px;height:14px;border-radius:3px;}

/* ─── SCHEDULE BUILDING STATE ────────────────────────── */
.phspb-schedule-building{
  display:flex;align-items:flex-start;gap:14px;
  padding:14px 18px;margin-bottom:20px;
  border-radius:14px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
}
.phspb-schedule-building-icon{font-size:22px;line-height:1;flex-shrink:0;margin-top:2px;}
.phspb-schedule-building strong{display:block;color:#fff;font-size:14px;font-weight:700;margin-bottom:4px;}
.phspb-schedule-building p{margin:0;color:rgba(255,255,255,.55);font-size:13px;line-height:1.6;}
.phspb-heatmap--building{opacity:.65;}

/* ─── RECOMMENDED / SIDEBAR ──────────────────────────── */
.phspb-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.phspb-related-card{
  display:flex;flex-direction:column;gap:8px;padding:12px;
  border-radius:18px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);color:#fff;text-decoration:none;
}
.phspb-related-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;}
.phspb-related-card span{color:rgba(255,255,255,.66);font-size:13px;}
.phspb-sidebar-shortcode .phlc-directory{background:transparent!important}

/* ─── HIDE VERBOSE SUBTITLES ─────────────────────────── */
.phspb-stats-card .phspb-section-subtitle,
.phspb-history-card .phspb-section-subtitle{display:none!important;}
.phspb-schedule-card .phspb-section-subtitle{
  font-size:13px!important;opacity:.65;margin-top:8px!important;
}

/* ─── RESPONSIVE ─────────────────────────────────────── */
@media(max-width:1024px){
  .phspb-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .phspb-session-row{grid-template-columns:1fr 1fr;}
  .phspb-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:900px){
  .phspb-model-shortcode{padding-left:14px;padding-right:14px;}
}
@media(max-width:767px){
  .phspb-model-shortcode{padding:10px 10px 24px;}
  .phspb-model-block > * + *{margin-top:24px!important;}
  .phspb-hero-card,.phspb-card{border-radius:20px;padding:20px 18px 22px;}
  .phspb-heading{flex-direction:column;}
  .phspb-heading h1{font-size:clamp(24px,8vw,36px)!important;line-height:1.08!important;margin-bottom:8px!important;}
  .phspb-thumb-wrap{display:none!important;}
  .phspb-embed-wrap iframe{width:calc(100% + 14px);margin-right:-14px;}
  .phspb-section-head{gap:14px;}
  .phspb-section-accent{flex-basis:6px!important;width:6px!important;min-height:50px!important;}
  .phspb-section-title{font-size:clamp(24px,8vw,38px)!important;}
  /* Badges: 2 columns */
  .phspb-badges{gap:10px;}
  .phspb-badge{width:calc(50% - 5px)!important;min-height:52px;}
  .phspb-badge-tags-wrap{width:100%!important;}
  /* Buttons: full width stack */
  .phspb-hero-actions{flex-direction:column;gap:14px;}
  .phspb-hero-actions .phspb-btn{width:100%!important;justify-content:center;font-size:16px!important;}
  /* Stats */
  .phspb-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .phspb-session-row{grid-template-columns:1fr;gap:12px;}
  .phspb-session-time,.phspb-session-meta{font-size:15px;}
  .phspb-related-grid{grid-template-columns:1fr;}
  .phspb-vchart{height:72px;}
}

/* ─── GLOBAL RANK pill ───────────────────────────────── */
.phspb-sp-rank {
  border-color: rgba(255,210,50,.32) !important;
  background:   rgba(255,200,40,.09) !important;
}

/* ─── VIEWER TREND ───────────────────────────────────── */
.phspb-trend {
  display: inline-flex;
  align-items: center;
  margin-left: 5px;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 5px;
  border-radius: 999px;
  line-height: 1.2;
  vertical-align: middle;
  white-space: nowrap;
}
.phspb-trend-up   { color: #4ade80; background: rgba(74,222,128,.18); }
.phspb-trend-down { color: #f87171; background: rgba(248,113,113,.18); }

/* ─── TAG CHIPS (linked) ─────────────────────────────── */
.phspb-badge-tags-wrap {
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 14px 10px 12px !important;
  height: auto !important;
  min-height: 56px !important;
  align-items: center;
}
.phspb-tag-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.phspb-tag-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(190,140,255,.12);
  border: 1px solid rgba(190,140,255,.22);
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease;
  white-space: nowrap;
}
.phspb-tag-chip:hover {
  background:   rgba(190,140,255,.22);
  border-color: rgba(210,160,255,.40);
  color: #fff;
}

/* ─── GOAL PROGRESS BAR ──────────────────────────────── */
.phspb-goal-wrap {
  margin-top: 20px;
  padding: 16px 18px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,200,50,.18);
}
.phspb-goal-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.phspb-goal-label {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
}
.phspb-goal-pct {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.phspb-goal-counts {
  font-size: 13px;
  color: rgba(255,255,255,.5);
  margin-left: auto;
}
.phspb-goal-bar-track {
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  overflow: hidden;
  margin-bottom: 8px;
}
.phspb-goal-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #a855f7, #f59e0b);
  transition: width .4s ease;
  min-width: 4px;
}
.phspb-goal-bar-fill.phspb-goal-done {
  background: linear-gradient(90deg, #22c55e, #4ade80);
}
.phspb-goal-remaining {
  font-size: 12px;
  color: rgba(255,255,255,.45);
}
.phspb-goal-done-text { color: #4ade80 !important; font-weight: 700; }

/* Remaining-only variant (no % known) */
.phspb-goal-wrap--remaining {
  display: flex;
  align-items: center;
  gap: 12px;
  border-color: rgba(255,200,50,.14);
}
.phspb-goal-remaining-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(245,158,11,.12);
  border: 1px solid rgba(245,158,11,.28);
  color: rgba(255,220,100,.9);
  font-size: 13px;
  font-weight: 700;
}


/* ─── SESSION LOCAL TIME ─────────────────────────────── */
.phspb-session-local {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,.38);
  font-weight: 500;
  margin-top: 3px;
}
.phspb-session-tz-note {
  margin: 14px 0 0;
  font-size: 12px;
  color: rgba(255,255,255,.30);
  font-weight: 500;
}


/* ─── RECOMMENDED CARDS OVERRIDES ───────────────────── */
/* Remove underline from model names */
.phlc-name-link {
  text-decoration: none !important;
}
.phlc-name-link:hover {
  text-decoration: underline !important;
}
/* Hide goal/subject text — clutters the card */
.phlc-subject {
  display: none !important;
}

/* Remove underline from Watch Room button */
.phlc-cta {
  text-decoration: none !important;
}

/* ════════════════════════════════════════════════════
   MODEL PAGE 3-COLUMN LAYOUT
   ════════════════════════════════════════════════════ */

/* Sticky top bar with search + chips */
.phspb-topbar {
  position: sticky;
  top: 0;
  z-index: 200;
  background: #12091f;
  padding: 10px 0 8px;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(190,150,255,.12);
}

/* 3-col grid: left sidebar | main content | right sidebar */
.phspb-page-layout {
  display: grid;
  grid-template-columns: 230px minmax(0,1fr) 210px;
  gap: 20px;
  align-items: start;
}

/* Sidebars */
.phspb-sidebar-panel {
  position: sticky;
  top: 90px;
  max-height: calc(100vh - 110px);
  overflow: hidden;
  border-radius: 18px;
  background: linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  border: 1px solid rgba(190,150,255,.16);
  padding: 14px;
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
}
.phspb-sidebar-panel .phlc-sidebar-inner {
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(173,124,255,.32) transparent;
}

/* Responsive */
@media (max-width: 1300px) {
  .phspb-page-layout {
    grid-template-columns: 200px minmax(0,1fr) 190px;
    gap: 16px;
  }
}
@media (max-width: 1050px) {
  .phspb-page-layout {
    grid-template-columns: minmax(0,1fr);
  }
  .phspb-sidebar-left,
  .phspb-sidebar-right {
    display: none !important;
  }
  .phspb-topbar { top: 0; }
}
@media (max-width: 767px) {
  .phspb-topbar { display: none; }
}

/* ══════════════════════════════════════════════════════
   FULL-WIDTH BREAKOUT — escape WordPress 800px content
   ══════════════════════════════════════════════════════ */
.phspb-model-shortcode {
  position: relative;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 0 20px;
  box-sizing: border-box;
}

/* ── Page layout: 3 columns ── */
.phspb-page-layout {
  display: grid;
  grid-template-columns: 230px minmax(0,1fr) 210px;
  gap: 20px;
  align-items: start;
  max-width: 1800px;
  margin: 0 auto;
  padding: 0;
}

/* ── Topbar constrained to same width ── */
.phspb-topbar {
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto;
}

/* Responsive */
@media (max-width: 1400px) {
  .phspb-page-layout { grid-template-columns: 200px minmax(0,1fr) 190px; }
}
@media (max-width: 1100px) {
  .phspb-page-layout { grid-template-columns: minmax(0,1fr); }
  .phspb-sidebar-left, .phspb-sidebar-right { display:none !important; }
}
@media (max-width: 767px) {
  /* Топбар на мобиле — показываем */
  .phspb-model-shortcode { padding: 0 12px; }
}

/* ══════════════════════════════════════════════════════
   NAV SIDEBAR — links-based filters on model pages
   ══════════════════════════════════════════════════════ */

/* Topbar */
.phspb-topbar {
  position: sticky;
  top: 32px; /* account for WP admin bar */
  z-index: 200;
  background: #12091f;
  padding: 10px 0 8px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(190,150,255,.12);
}

.phspb-topbar-search-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.phspb-search-form {
  display: flex;
  align-items: center;
  flex: 1;
  max-width: 600px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(190,150,255,.22);
  border-radius: 999px;
  overflow: hidden;
  padding: 0 6px 0 16px;
}
.phspb-nav-search {
  flex: 1;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 15px;
  padding: 10px 0;
  outline: none;
}
.phspb-nav-search::placeholder { color: rgba(255,255,255,.35); }
.phspb-search-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  padding: 6px 10px;
  color: rgba(255,255,255,.6);
}

/* Quick chips scroll */
.phspb-quick-chips-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
}
.phspb-quick-chips-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 2px 0;
  -ms-overflow-style: none;
}
.phspb-quick-chips-scroll::-webkit-scrollbar { display: none; }

.phspb-nav-chip {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(190,150,255,.18);
  color: rgba(255,255,255,.85);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background .15s, border-color .15s;
}
.phspb-nav-chip:hover {
  background: rgba(190,150,255,.18);
  border-color: rgba(190,150,255,.38);
  color: #fff;
}

/* Nav sidebar panels */
.phspb-nav-sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(173,124,255,.32) transparent;
  padding-right: 4px;
}

.phspb-nav-filter-group {
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.phspb-nav-filter-group:last-child { border-bottom: none; }
.phspb-nav-filter-group h4 {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.40);
}

.phspb-nav-option-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.phspb-nav-chip-btn {
  display: flex;
  align-items: center;
  padding: 9px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.80);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background .15s, border-color .15s, color .15s;
  cursor: pointer;
}
.phspb-nav-chip-btn:hover {
  background: rgba(190,150,255,.14);
  border-color: rgba(190,150,255,.30);
  color: #fff;
}
.phspb-nav-chip-btn.phspb-nav-chip-active {
  background: rgba(190,150,255,.16);
  border-color: rgba(190,150,255,.35);
  color: #fff;
}

.phspb-nav-facet-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.phspb-nav-facet {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 10px;
  border-radius: 10px;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none !important;
  transition: background .12s, color .12s;
}
.phspb-nav-facet:hover {
  background: rgba(255,255,255,.06);
  color: #fff;
}
.phspb-nav-count {
  font-size: 11px;
  color: rgba(255,255,255,.35);
  font-weight: 400;
}

/* Tags as inline chips */
.phspb-nav-tags {
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 6px !important;
}
.phspb-nav-tag {
  padding: 5px 10px !important;
  background: rgba(190,140,255,.08) !important;
  border: 1px solid rgba(190,140,255,.18);
  border-radius: 999px !important;
  font-size: 12px !important;
}
.phspb-nav-tag:hover {
  background: rgba(190,140,255,.18) !important;
}

.phspb-nav-browse-all {
  margin-top: 4px;
  justify-content: center;
  font-size: 14px !important;
  background: rgba(190,150,255,.10) !important;
  border-color: rgba(190,150,255,.25) !important;
}

/* ════════════════════════════════════════════════════
   BREADCRUMBS
   ════════════════════════════════════════════════════ */
.phspb-breadcrumbs {
  padding: 8px 0 16px;
  font-size: 13px;
}
.phspb-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
.phspb-breadcrumbs li { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.40); }
.phspb-breadcrumbs li::after { content: '›'; opacity: .4; }
.phspb-breadcrumbs li:last-child::after { display: none; }
.phspb-breadcrumbs a { color: rgba(255,255,255,.55); text-decoration: none !important; }
.phspb-breadcrumbs a:hover { color: rgba(255,255,255,.85); }
.phspb-breadcrumbs [aria-current] { color: rgba(255,255,255,.75); font-weight: 600; }

/* ════════════════════════════════════════════════════
   MORE LIKE THIS
   ════════════════════════════════════════════════════ */
.phspb-more-like-this {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  padding: 18px 20px;
  background:
    radial-gradient(circle at top left, rgba(111, 61, 202, .14), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
  border: 1px solid rgba(190,150,255,.16);
  border-radius: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 18px 38px rgba(8, 3, 24, .24);
  margin: 8px 0 10px;
}
.phspb-mlt-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.phspb-mlt-label {
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
  color: rgba(255,255,255,.92);
}
.phspb-mlt-sub {
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255,255,255,.46);
}
.phspb-mlt-main,
.phspb-mlt-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.phspb-mlt-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(190,150,255,.08);
  border: 1px solid rgba(190,150,255,.18);
  color: rgba(255,255,255,.84);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.phspb-mlt-chip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  font-size: 15px;
}
.phspb-mlt-chip--primary {
  min-height: 50px;
  padding: 12px 20px;
  background: linear-gradient(180deg, rgba(110, 76, 190, .26), rgba(94, 54, 170, .18));
  border-color: rgba(190,150,255,.28);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 10px 22px rgba(46, 18, 95, .24);
}
.phspb-mlt-chip--location {
  background: rgba(129, 108, 196, .12);
}
.phspb-mlt-chip--feature {
  background: rgba(108, 88, 170, .14);
}
.phspb-mlt-chip:hover {
  transform: translateY(-1px);
  background: rgba(190,150,255,.16);
  border-color: rgba(190,150,255,.38);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 24px rgba(20, 8, 42, .26);
}
@media (max-width: 767px) {
  .phspb-more-like-this {
    padding: 16px;
    gap: 12px;
  }
  .phspb-mlt-grid {
    gap: 8px;
  }
  .phspb-mlt-chip {
    min-height: 40px;
    padding: 9px 14px;
    font-size: 13px;
  }
  .phspb-mlt-chip--primary {
    width: 100%;
  }
}

/* ════════════════════════════════════════════════════
   PUSH NOTIFICATION BUTTON
   ════════════════════════════════════════════════════ */
.phspb-push-btn {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding: 0 20px;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.75);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  white-space: nowrap;
}
.phspb-push-btn:hover {
  background: rgba(255,220,50,.10);
  border-color: rgba(255,220,50,.28);
  color: #fff;
}
.phspb-push-btn:disabled { opacity: .5; cursor: default; }

/* ════════════════════════════════════════════════════
   RECENTLY VIEWED
   ════════════════════════════════════════════════════ */
.phspb-recently-viewed-list { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.phspb-rv-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 10px;
  text-decoration: none !important;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  font-weight: 600;
  transition: background .12s;
  position: relative;
}
.phspb-rv-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.phspb-rv-thumb {
  width: 40px; height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.phspb-rv-thumb-placeholder {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  flex-shrink: 0;
}
.phspb-rv-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phspb-rv-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #ef4444;
  flex-shrink: 0;
  animation: phspb-pulse 2s ease-in-out infinite;
}

/* ════════════════════════════════════════════════════
   STICKY CTA
   ════════════════════════════════════════════════════ */
.phspb-sticky-cta {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 999;
  width: min(360px, calc(100vw - 32px));
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.phspb-sticky-cta--visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.phspb-sticky-shell {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(34,18,62,.92), rgba(18,10,34,.96));
  border: 1px solid rgba(195,150,255,.24);
  box-shadow: 0 18px 48px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(16px);
  text-decoration: none !important;
}
.phspb-sticky-shell:hover {
  border-color: rgba(215,170,255,.38);
  box-shadow: 0 22px 54px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07);
}
.phspb-sticky-thumb-wrap {
  width: 54px;
  height: 54px;
  min-width: 54px;
  flex: 0 0 54px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(210,165,255,.44);
  box-shadow: 0 6px 20px rgba(0,0,0,.28);
}
.phspb-sticky-thumb {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-width: 100%;
  max-width: none !important;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1 / 1;
}
.phspb-sticky-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1;
}
.phspb-sticky-name {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.1;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.phspb-sticky-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 1.2;
  color: rgba(255,255,255,.8);
  font-weight: 700;
}
.phspb-sticky-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4d6d;
  box-shadow: 0 0 0 4px rgba(255,77,109,.14);
  flex: 0 0 auto;
}
.phspb-sticky-watch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  min-height: 42px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(175,95,255,.24), rgba(110,50,210,.18));
  border: 1px solid rgba(205,145,255,.34);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 980px) {
  .phspb-sticky-cta {
    right: 12px;
    left: 12px;
    width: auto;
    bottom: 12px;
  }
  .phspb-sticky-watch {
    padding: 10px 12px;
    font-size: 12px;
  }
  .phspb-sticky-thumb-wrap {
    width: 48px;
    height: 48px;
    min-width: 48px;
    flex-basis: 48px;
  }
}
/* ════════════════════════════════════════════════════
   FILTER PAGE (landing pages)
   ════════════════════════════════════════════════════ */
.phspb-filter-page-wrap { padding: 0; }
.phspb-filter-page-header {
  padding: 24px 24px 20px;
  border-bottom: 1px solid rgba(190,150,255,.12);
  margin-bottom: 8px;
}
.phspb-filter-page-header h1 {
  font-size: clamp(28px,4vw,52px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 10px;
  letter-spacing: -.03em;
  line-height: 1.05;
}
.phspb-filter-page-desc {
  font-size: 15px;
  color: rgba(255,255,255,.55);
  margin: 0 0 14px;
  max-width: 600px;
  line-height: 1.5;
}
.phspb-filter-live-count {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(239,68,68,.10);
  border: 1px solid rgba(239,68,68,.22);
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,.85);
}

/* ════════════════════════════════════════════════════
   SIDEBAR VISUAL FIXES
   ════════════════════════════════════════════════════ */

/* Type chips - look like real buttons */
.phspb-nav-chip-btn {
  display: flex !important;
  align-items: center !important;
  padding: 9px 14px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background .15s, border-color .15s, color .15s !important;
  cursor: pointer !important;
  line-height: 1.3 !important;
}
.phspb-nav-chip-btn:hover,
.phspb-nav-chip-btn:focus {
  background: rgba(190,150,255,.16) !important;
  border-color: rgba(190,150,255,.32) !important;
  color: #fff !important;
}
.phspb-nav-chip-btn.phspb-nav-chip-active {
  background: rgba(190,150,255,.18) !important;
  border-color: rgba(190,150,255,.40) !important;
  color: #fff !important;
}

/* Facet items (countries, languages) */
.phspb-nav-facet {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background .12s, color .12s !important;
  gap: 6px !important;
}
.phspb-nav-facet:hover {
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
}
.phspb-nav-count {
  font-size: 11px !important;
  color: rgba(255,255,255,.30) !important;
  font-weight: 400 !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

/* Tag chips */
.phspb-nav-tags {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.phspb-nav-tag {
  padding: 5px 10px !important;
  background: rgba(190,140,255,.08) !important;
  border: 1px solid rgba(190,140,255,.18) !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  justify-content: center !important;
}
.phspb-nav-tag:hover {
  background: rgba(190,140,255,.18) !important;
  border-color: rgba(190,140,255,.35) !important;
}

/* Topbar - bigger search */
.phspb-topbar {
  padding: 14px 0 10px !important;
}
.phspb-search-form {
  max-width: 700px !important;
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(190,150,255,.28) !important;
}
.phspb-nav-search {
  font-size: 16px !important;
  padding: 12px 0 !important;
}
.phspb-search-btn {
  font-size: 18px !important;
  padding: 8px 14px !important;
}

/* Nav chip in topbar */
.phspb-nav-chip {
  font-size: 13px !important;
  padding: 8px 16px !important;
  font-weight: 700 !important;
}

/* Sidebar h4 headers */
.phspb-nav-filter-group h4 {
  margin: 0 0 10px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.35) !important;
}

/* Recently viewed names fix */
.phspb-rv-name {
  font-size: 12px !important;
  color: rgba(255,255,255,.72) !important;
}

/* ════════════════════════════════════════════════════
   TOPBAR SEARCH FIX — full width
   ════════════════════════════════════════════════════ */
.phspb-topbar-search-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin-bottom: 12px !important;
}
.phspb-search-form {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(190,150,255,.28) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  padding: 0 6px 0 18px !important;
}
.phspb-nav-search {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Quick chips row full width */
.phspb-quick-chips-wrap {
  width: 100% !important;
}
.phspb-quick-chips-scroll {
  flex: 1 !important;
  min-width: 0 !important;
}

/* ════════════════════════════════════════════════════
   TYPE CHIPS — better visual states
   ════════════════════════════════════════════════════ */
.phspb-sidebar-left .phspb-nav-option-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.phspb-sidebar-left .phspb-nav-chip-btn {
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.04) !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
}
.phspb-sidebar-left .phspb-nav-chip-btn:hover {
  background: rgba(190,150,255,.14) !important;
  border-color: rgba(190,150,255,.35) !important;
  transform: none !important;
}

/* ════════════════════════════════════════════════════
   RECENTLY VIEWED — bigger, more readable
   ════════════════════════════════════════════════════ */
.phspb-recently-viewed h4 {
  font-size: 11px !important;
  letter-spacing: .10em !important;
  margin-bottom: 12px !important;
}
.phspb-recently-viewed-list {
  gap: 8px !important;
}
.phspb-rv-item {
  padding: 8px 10px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
}
.phspb-rv-item:hover {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(190,150,255,.20) !important;
}
.phspb-rv-thumb {
  width: 44px !important;
  height: 44px !important;
}
.phspb-rv-name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.80) !important;
}
.phspb-rv-dot {
  width: 9px !important;
  height: 9px !important;
}

/* ════════════════════════════════════════════════════
   ЗАДАЧА 2 — Страны/языки/теги как кнопки
   ════════════════════════════════════════════════════ */
.phspb-nav-facet {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background .15s, border-color .15s, color .15s !important;
  cursor: pointer !important;
  line-height: 1.3 !important;
}
.phspb-nav-facet:hover {
  background: rgba(190,150,255,.14) !important;
  border-color: rgba(190,150,255,.32) !important;
  color: #fff !important;
}
.phspb-nav-count {
  font-size: 11px !important;
  color: rgba(255,255,255,.28) !important;
  font-weight: 400 !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}

/* Tags — larger chips */
.phspb-nav-tags {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.phspb-nav-tag {
  padding: 7px 13px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  justify-content: center !important;
  background: rgba(190,140,255,.08) !important;
  border: 1px solid rgba(190,140,255,.18) !important;
  border-radius: 999px !important;
}
.phspb-nav-tag:hover {
  background: rgba(190,140,255,.20) !important;
  border-color: rgba(190,140,255,.38) !important;
  color: #fff !important;
}

/* ════════════════════════════════════════════════════
   ЗАДАЧА 4 — Recently Viewed читаемый
   ════════════════════════════════════════════════════ */
.phspb-recently-viewed-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-top: 8px !important;
}
.phspb-rv-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  text-decoration: none !important;
  color: rgba(255,255,255,.82) !important;
  transition: background .12s, border-color .12s !important;
}
.phspb-rv-item:hover {
  background: rgba(190,150,255,.12) !important;
  border-color: rgba(190,150,255,.25) !important;
  color: #fff !important;
}
.phspb-rv-thumb {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.phspb-rv-name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.85) !important;
  flex: 1 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.phspb-rv-dot {
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: #ef4444 !important;
  flex-shrink: 0 !important;
  animation: phspb-pulse 2s ease-in-out infinite !important;
}

/* ════════════════════════════════════════════════════
   ЗАДАЧА 5 — Поиск на всю ширину
   ════════════════════════════════════════════════════ */
.phspb-topbar-search-row {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.phspb-search-form {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(190,150,255,.28) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  padding: 0 6px 0 18px !important;
  box-sizing: border-box !important;
}
.phspb-nav-search {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #fff !important;
  font-size: 15px !important;
  padding: 12px 0 !important;
}

/* ════════════════════════════════════════════════════
   ЗАДАЧА 6 — Type кнопки чёткие состояния
   ════════════════════════════════════════════════════ */
.phspb-sidebar-left .phspb-nav-chip-btn {
  position: relative !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  letter-spacing: .01em !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
}
.phspb-sidebar-left .phspb-nav-chip-btn:hover {
  background: rgba(190,150,255,.16) !important;
  border-color: rgba(190,150,255,.36) !important;
  color: #fff !important;
}
.phspb-sidebar-left .phspb-nav-chip-btn.phspb-nav-chip-active {
  background: rgba(190,150,255,.22) !important;
  border-color: rgba(190,150,255,.50) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* ════════════════════════════════════════════════════
   FILTER PAGE HEADER (inline in WP page content)
   ════════════════════════════════════════════════════ */
.phspb-filter-page-header {
  padding: 28px 0 20px;
  margin-bottom: 4px;
}
.phspb-filter-page-header h1 {
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 12px;
  letter-spacing: -.03em;
  line-height: 1.05;
}
.phspb-filter-page-desc {
  font-size: 15px;
  color: rgba(255,255,255,.55);
  margin: 0;
  max-width: 640px;
  line-height: 1.55;
}

/* ── Recently Viewed name fix ── */
.phspb-rv-name {
  color: rgba(255,255,255,.92) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  flex: 1 !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  word-break: break-word !important;
  line-height: 1.3 !important;
}

/* ════════════════════════════════════════════════════
   VISUAL FIXES — пропорции и компактность
   ════════════════════════════════════════════════════ */

/* 1. Grid колонки управляются через inline CSS в wp_head (stream_page_layout_css) */

/* 2. Recently Viewed — одна строка */
.phspb-rv-name {
  font-size: 11px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 120px !important;
  color: rgba(255,255,255,.90) !important;
  font-weight: 600 !important;
}

/* 3. Правый сайдбар — компактнее */
.phspb-sidebar-right .phspb-nav-chip-btn {
  padding: 8px 12px !important;
  font-size: 13px !important;
}
.phspb-sidebar-right .phspb-nav-option-list {
  gap: 5px !important;
}
.phspb-sidebar-right .phspb-nav-filter-group {
  padding: 10px 0 !important;
}

/* 4. Offline embed — скрывать iframe, показывать заглушку */
.phspb-embed-wrap.phspb-offline {
  position: relative !important;
  background: rgba(255,255,255,.03) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 320px !important;
}
.phspb-embed-wrap.phspb-offline iframe {
  display: none !important;
}
.phspb-offline-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 40px 24px;
  text-align: center;
}
.phspb-offline-avatar {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(255,255,255,.15);
  opacity: .85;
}
.phspb-offline-label {
  font-size: 15px;
  font-weight: 700;
  color: rgba(255,255,255,.55);
  letter-spacing: .02em;
}
.phspb-offline-sub {
  font-size: 13px;
  color: rgba(255,255,255,.35);
  margin-top: -8px;
}

/* ════════════════════════════════════════════════════
   VISUAL FIXES v3.8.8
   ════════════════════════════════════════════════════ */

/* 1. Офлайн блок — выше, центрирован */
.phspb-embed-wrap.phspb-offline {
  min-height: 500px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.phspb-offline-placeholder {
  padding: 60px 24px !important;
}
.phspb-offline-avatar {
  width: 120px !important;
  height: 120px !important;
}

/* 2. Country/Language как кнопки */
.phspb-nav-facet {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 10px !important;
  padding: 9px 12px !important;
  margin-bottom: 2px !important;
}
.phspb-nav-facet:hover {
  background: rgba(190,150,255,.14) !important;
  border-color: rgba(190,150,255,.32) !important;
  color: #fff !important;
}

/* 3. Recently Viewed — шире */
.phspb-rv-name {
  max-width: 160px !important;
}

/* 4. Топбар поиск — выше */
.phspb-nav-search {
  padding: 14px 0 !important;
}
.phspb-search-form {
  padding: 0 8px 0 20px !important;
}

/* ════════════════════════════════════════════════════
   TOPBAR FIXES v3.8.9
   ════════════════════════════════════════════════════ */

/* Убрать стрелки навигации */
.phspb-topbar .phlc-chip-nav { display: none !important; }

/* Поиск — полная ширина, без красной рамки */
.phspb-search-form {
  width: 100% !important;
  max-width: 100% !important;
}
.phspb-search-btn {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  cursor: pointer !important;
}
.phspb-search-btn:focus,
.phspb-search-btn:active {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
/* Override theme button styles */
.phspb-search-form button,
.phspb-search-form button:hover,
.phspb-search-form button:focus {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* Quick chips — убрать цифры если есть, скролл без стрелок */
.phspb-quick-chips-wrap {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
}
.phspb-quick-chips-scroll {
  width: 100% !important;
  flex: 1 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  padding: 4px 0 !important;
}
.phspb-quick-chips-scroll::-webkit-scrollbar { display: none !important; }

/* ════════════════════════════════════════════════════
   SIDEBAR COUNTRY/LANGUAGE — high specificity fix
   ════════════════════════════════════════════════════ */
body .phspb-sidebar-left .phspb-nav-facet,
body .phspb-sidebar-panel .phspb-nav-facet {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  color: rgba(255,255,255,.80) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background .15s, border-color .15s !important;
  margin-bottom: 4px !important;
  cursor: pointer !important;
}
body .phspb-sidebar-left .phspb-nav-facet:hover,
body .phspb-sidebar-panel .phspb-nav-facet:hover {
  background: rgba(190,150,255,.16) !important;
  border-color: rgba(190,150,255,.35) !important;
  color: #fff !important;
}

/* Tags — larger */
body .phspb-sidebar-panel .phspb-nav-tag {
  padding: 7px 13px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  background: rgba(190,140,255,.08) !important;
  border: 1px solid rgba(190,140,255,.20) !important;
  color: rgba(255,255,255,.80) !important;
  text-decoration: none !important;
  transition: background .15s !important;
}
body .phspb-sidebar-panel .phspb-nav-tag:hover {
  background: rgba(190,140,255,.22) !important;
  border-color: rgba(190,140,255,.40) !important;
  color: #fff !important;
}

/* ════════════════════════════════════════════════════
   OFFLINE BLOCK — larger, actions row
   ════════════════════════════════════════════════════ */
.phspb-embed-wrap.phspb-offline {
  min-height: 520px !important;
}
.phspb-offline-avatar {
  width: 140px !important;
  height: 140px !important;
}
.phspb-offline-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 8px;
}

/* ════════════════════════════════════════════════════
   FIXES v3.9.0
   ════════════════════════════════════════════════════ */

/* 3. Chips на всю ширину поиска */
.phspb-topbar { width: 100% !important; box-sizing: border-box !important; }
.phspb-quick-chips-wrap { width: 100% !important; box-sizing: border-box !important; }
.phspb-quick-chips-scroll { width: 100% !important; }

/* 4. Notify кнопка — тёмный стиль (если останется) */
.phspb-push-btn {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.80) !important;
  min-height: 52px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.phspb-push-btn:hover {
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
}

/* 5. Watch Live кнопки на карточках — фиолетовый */
.phlc-cta {
  background: linear-gradient(135deg,rgba(175,95,255,.28),rgba(110,50,210,.20)) !important;
  border: 1px solid rgba(205,145,255,.45) !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  text-align: center !important;
  display: block !important;
  padding: 12px !important;
  font-weight: 700 !important;
  transition: background .15s !important;
}
.phlc-cta:hover {
  background: linear-gradient(135deg,rgba(175,95,255,.40),rgba(110,50,210,.32)) !important;
  color: #fff !important;
}

/* 6. Sticky CTA — имя не обрезается */
.phspb-sticky-name {
  max-width: 200px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 7. Три кнопки — иерархия */
.phspb-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}

/* 8-9. МОБАЙЛ */
@media (max-width: 767px) {
  /* Офлайн блок — 1 колонка */
  .phspb-embed-wrap.phspb-offline {
    width: 100% !important;
    min-height: 360px !important;
    grid-column: 1 / -1 !important;
  }

  /* H1 — убрать фон от темы */
  .phspb-model-shortcode h1,
  .phspb-heading h1,
  .phspb-hero-card h1 {
    background: transparent !important;
    background-color: transparent !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
  }

  /* Кнопки в колонку */
  .phspb-offline-actions {
    flex-direction: column !important;
    width: 100% !important;
  }
  .phspb-offline-actions .phspb-btn,
  .phspb-offline-actions .phspb-push-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Hero кнопки в колонку */
  .phspb-hero-actions {
    flex-direction: column !important;
  }
  .phspb-hero-actions .phspb-btn,
  .phspb-hero-actions .phspb-push-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Notify кнопка на мобиле */
  .phspb-push-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ════════════════════════════════════════════════════
   FIXES v3.9.3
   ════════════════════════════════════════════════════ */

/* Stats grid — 2 колонки на мобиле */
@media (max-width: 767px) {
  .phspb-stats-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .phspb-stat-card {
    padding: 16px 14px !important;
  }
}

/* Скрыть пустые stat карточки */
.phspb-stat-card--empty {
  display: none !important;
}

/* Watch Live кнопки на карточках — вернуть стеклянный стиль и центр текста */
.phlc-card .phlc-cta,
.phlc-scope .phlc-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 54px !important;
  padding: 12px 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05)) !important;
  border: 1px solid rgba(197,146,255,.34) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.22) !important;
  -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
  backdrop-filter: blur(12px) saturate(140%) !important;
  color: #ffffff !important;
  border-radius: 16px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease !important;
}
.phlc-card .phlc-cta:hover,
.phlc-scope .phlc-cta:hover {
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.08)) !important;
  border-color: rgba(210,160,255,.48) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 14px 28px rgba(0,0,0,.26) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* Sticky CTA — имя не обрезается */
.phspb-sticky-name {
  flex: 1 !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Топбар на мобиле — показывать */
@media (max-width: 767px) {
  .phspb-topbar {
    display: block !important;
    padding: 10px 0 8px !important;
  }
  .phspb-topbar-search-row {
    margin-bottom: 8px !important;
  }
  .phspb-quick-chips-scroll {
    gap: 6px !important;
  }
  .phspb-nav-chip {
    font-size: 12px !important;
    padding: 6px 12px !important;
  }
}


@media (max-width: 767px){
  .phspb-thumb-wrap{
    flex:0 0 88px;
    width:88px;
    height:88px;
    min-width:88px;
    min-height:88px;
  }
  .phspb-thumb-live-dot{
    right:6px;
    bottom:6px;
    width:12px;
    height:12px;
  }
}


/* v3.9.13 — hero avatar + offline card cleanup */
.phspb-thumb-wrap{
  padding:0 !important;
}
.phspb-thumb-wrap::after{
  display:none !important;
}
.phspb-thumb{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  object-position:center 28%;
  transform:scale(1.22) !important;
}
.phspb-embed-wrap.phspb-offline{
  aspect-ratio:auto !important;
  min-height:260px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02)) !important;
}
.phspb-offline-placeholder{
  width:min(100%, 560px);
  margin:0 auto;
  padding:40px 24px !important;
  gap:14px !important;
}
.phspb-offline-copy{
  display:grid;
  gap:8px;
}
.phspb-offline-label{
  font-size:16px !important;
  color:rgba(255,255,255,.82) !important;
}
.phspb-offline-sub{
  margin-top:0 !important;
  font-size:13px !important;
  color:rgba(255,255,255,.56) !important;
}
.phspb-offline-avatar{
  display:none !important;
}
@media (max-width: 767px){
  .phspb-thumb{
    transform:scale(1.18) !important;
  }
  .phspb-embed-wrap.phspb-offline{
    min-height:220px !important;
  }
  .phspb-offline-placeholder{
    padding:28px 18px !important;
  }
}


/* v3.9.14 — offline browser notify CTA */
.phspb-push-btn.is-subscribed{
  box-shadow:0 0 0 1px rgba(197,146,255,.34) inset, 0 16px 34px rgba(93,44,180,.24);
}
.phspb-push-btn.is-subscribed:hover{
  transform:none;
}


/* v3.9.15 — offline notify UX polish */
.phspb-offline-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  align-self:center;
  padding:7px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.64);
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.phspb-offline-label{
  font-size:24px !important;
  line-height:1.12;
  font-weight:800;
  color:#fff !important;
}
.phspb-offline-sub{
  max-width:44ch;
  margin-inline:auto;
  font-size:14px !important;
  line-height:1.6;
  color:rgba(255,255,255,.68) !important;
}
.phspb-offline-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px !important;
}
.phspb-push-btn{
  min-width:240px;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.01em;
}
.phspb-offline-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.62);
  text-decoration:none;
}
.phspb-offline-link:hover{
  color:#fff;
}
@media (max-width: 767px){
  .phspb-offline-label{
    font-size:20px !important;
  }
  .phspb-offline-sub{
    font-size:13px !important;
  }
  .phspb-push-btn{
    width:100%;
    min-width:0;
  }
}


/* v3.9.16 — compact offline layout */
.phspb-embed-wrap.phspb-offline{
  min-height: 190px !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 26px 34px !important;
}
.phspb-offline-placeholder{
  width: min(100%, 620px) !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: flex-start !important;
  text-align: left !important;
  gap: 16px !important;
}
.phspb-offline-copy{
  justify-items: start;
}
.phspb-offline-kicker{
  align-self: flex-start;
  padding: 5px 10px;
  font-size: 10px;
  letter-spacing: .12em;
}
.phspb-offline-label{
  max-width: 24ch;
  margin: 0;
  font-size: 28px !important;
  line-height: 1.05;
}
.phspb-offline-sub{
  max-width: 52ch;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.55;
}
.phspb-offline-actions{
  align-items: flex-start;
  gap: 10px !important;
}
.phspb-push-btn{
  min-width: 260px;
  min-height: 54px;
  padding: 0 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border: 1px solid rgba(197,146,255,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 38px rgba(26,8,58,.34);
}
.phspb-push-btn:hover{
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
}
.phspb-offline-link{
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.48);
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 1100px){
  .phspb-embed-wrap.phspb-offline{
    min-height: 178px !important;
    padding: 24px 24px !important;
  }
  .phspb-offline-label{
    font-size: 24px !important;
  }
}
@media (max-width: 767px){
  .phspb-embed-wrap.phspb-offline{
    min-height: auto !important;
    padding: 22px 16px !important;
  }
  .phspb-offline-placeholder{
    width: 100% !important;
    gap: 14px !important;
  }
  .phspb-offline-label{
    max-width: none;
    font-size: 22px !important;
  }
  .phspb-offline-sub{
    max-width: none;
    font-size: 13px !important;
  }
  .phspb-push-btn{
    width: 100%;
    min-width: 0;
  }
}

/* v3.9.17 — offline card polish + cleaner subscribed state */
.phspb-embed-wrap.phspb-offline{
  min-height:168px !important;
  padding:22px 28px !important;
}
.phspb-offline-placeholder{
  width:min(100%,560px) !important;
  gap:14px !important;
}
.phspb-offline-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:rgba(255,255,255,.58) !important;
  font-size:11px !important;
  letter-spacing:.08em !important;
}
.phspb-offline-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  box-shadow:0 0 0 1px rgba(255,255,255,.04), 0 0 0 6px rgba(255,255,255,.02);
  flex:0 0 8px;
}
.phspb-offline-label{
  font-size:26px !important;
  line-height:1.06 !important;
  max-width:22ch;
}
.phspb-offline-sub{
  max-width:48ch !important;
  color:rgba(255,255,255,.72) !important;
}
.phspb-push-btn{
  min-width:272px;
  min-height:56px;
  font-size:15px;
}
.phspb-push-btn.is-subscribed{
  color:#fff;
  border-color:rgba(147,255,196,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(147,255,196,.10), 0 18px 38px rgba(26,8,58,.34);
}
.phspb-offline-link{
  color:rgba(255,255,255,.42);
}
.phspb-thumb-wrap{
  width:96px !important;
  height:96px !important;
  flex:0 0 96px !important;
}
@media (max-width:1100px){
  .phspb-embed-wrap.phspb-offline{
    min-height:156px !important;
    padding:20px 22px !important;
  }
  .phspb-offline-label{
    font-size:24px !important;
  }
}
@media (max-width:767px){
  .phspb-thumb-wrap{
    width:88px !important;
    height:88px !important;
    flex-basis:88px !important;
  }
  .phspb-embed-wrap.phspb-offline{
    min-height:auto !important;
    padding:20px 16px !important;
  }
  .phspb-offline-label{
    font-size:22px !important;
    max-width:none;
  }
  .phspb-offline-sub{
    max-width:none !important;
  }
  .phspb-push-btn{
    width:100%;
    min-width:0;
  }
}

/* v3.9.18 — final offline micro polish */
.phspb-offline-kicker{display:none !important;}
.phspb-thumb-wrap{width:106px !important;height:106px !important;flex:0 0 106px !important;}
@media (max-width:767px){.phspb-thumb-wrap{width:92px !important;height:92px !important;flex-basis:92px !important;}}


/* v3.9.19 — desktop proportion rebalance */
body.phspb-stream-page-full .phspb-page-layout,
.phspb-page-layout{
  grid-template-columns:282px minmax(0,1fr) 268px !important;
  gap:24px !important;
}
body.phspb-stream-page-full .phspb-topbar,
.phspb-topbar{
  max-width:none !important;
}
body.phspb-stream-page-full .phspb-sidebar-panel,
.phspb-sidebar-panel{
  padding:16px 15px !important;
  border-radius:20px !important;
}
body.phspb-stream-page-full .phspb-sidebar-right .phspb-nav-option-list,
.phspb-sidebar-right .phspb-nav-option-list{
  gap:7px !important;
}
body.phspb-stream-page-full .phspb-sidebar-right .phspb-nav-chip-btn,
.phspb-sidebar-right .phspb-nav-chip-btn{
  min-height:44px !important;
  padding:0 12px !important;
}
body.phspb-stream-page-full .phspb-rv-name,
.phspb-rv-name{
  max-width:196px !important;
}
body.phspb-stream-page-full .phspb-hero-card,
.phspb-hero-card{
  padding:24px 24px 28px !important;
}
body.phspb-stream-page-full .phspb-heading,
.phspb-heading{
  gap:22px !important;
  margin-bottom:12px !important;
}
body.phspb-stream-page-full .phspb-heading h1,
body.phspb-stream-page-full .phspb-hero-card h1,
.phspb-heading h1,
.phspb-hero-card h1{
  font-size:clamp(30px,3.1vw,52px) !important;
  margin-bottom:8px !important;
}
body.phspb-stream-page-full .phspb-thumb-wrap,
.phspb-thumb-wrap{
  width:118px !important;
  height:118px !important;
  flex:0 0 118px !important;
}
body.phspb-stream-page-full .phspb-embed-wrap,
.phspb-embed-wrap{
  aspect-ratio:16/8.9 !important;
  margin-top:10px !important;
  margin-bottom:14px !important;
}
body.phspb-stream-page-full .phspb-embed-wrap.phspb-offline,
.phspb-embed-wrap.phspb-offline{
  min-height:240px !important;
}
body.phspb-stream-page-full .phspb-offline-placeholder,
.phspb-offline-placeholder{
  width:min(100%,560px) !important;
  align-items:flex-start !important;
  text-align:left !important;
  gap:12px !important;
  padding:26px 28px !important;
}
body.phspb-stream-page-full .phspb-offline-actions,
.phspb-offline-actions{
  align-items:flex-start !important;
}
@media (max-width: 1680px){
  body.phspb-stream-page-full .phspb-page-layout,
  .phspb-page-layout{
    grid-template-columns:262px minmax(0,1fr) 248px !important;
    gap:20px !important;
  }
  body.phspb-stream-page-full .phspb-embed-wrap,
  .phspb-embed-wrap{aspect-ratio:16/8.8 !important;}
}
@media (max-width: 1440px){
  body.phspb-stream-page-full .phspb-page-layout,
  .phspb-page-layout{
    grid-template-columns:236px minmax(0,1fr) 220px !important;
    gap:18px !important;
  }
  body.phspb-stream-page-full .phspb-thumb-wrap,
  .phspb-thumb-wrap{width:110px !important;height:110px !important;flex-basis:110px !important;}
  body.phspb-stream-page-full .phspb-embed-wrap,
  .phspb-embed-wrap{aspect-ratio:16/8.7 !important;}
}
@media (max-width: 1200px){
  body.phspb-stream-page-full .phspb-page-layout,
  .phspb-page-layout{
    grid-template-columns:214px minmax(0,1fr) 196px !important;
    gap:16px !important;
  }
  body.phspb-stream-page-full .phspb-sidebar-panel,
  .phspb-sidebar-panel{padding:14px 12px !important;}
}
@media (max-width: 767px){
  body.phspb-stream-page-full .phspb-thumb-wrap,
  .phspb-thumb-wrap{width:92px !important;height:92px !important;flex-basis:92px !important;}
}


/* Fit-to-viewport player height override */
@media (min-width: 1180px){
  body.phspb-stream-page-full .phspb-embed-wrap,
  .phspb-embed-wrap{
    height:auto !important;
  }
}

/* v3.9.27 — sidebar typography polish only (based on v3.9.25) */
@media (min-width: 1180px){
  .phspb-sidebar-panel .phspb-nav-block-title,
  .phspb-sidebar-panel h4,
  .phspb-sidebar-panel .phspb-recently-viewed h4{
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .09em !important;
  }

  .phspb-sidebar-left .phspb-nav-chip-btn,
  .phspb-sidebar-left .phspb-nav-facet,
  .phspb-sidebar-right .phspb-nav-chip-btn,
  .phspb-sidebar-right .phspb-nav-facet,
  body .phspb-sidebar-left .phspb-nav-facet,
  body .phspb-sidebar-panel .phspb-nav-facet{
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .phspb-sidebar-left .phspb-nav-chip-btn,
  .phspb-sidebar-right .phspb-nav-chip-btn{
    font-weight: 600 !important;
  }

  .phspb-nav-count,
  body .phspb-sidebar-left .phspb-nav-facet .phspb-nav-count,
  body .phspb-sidebar-panel .phspb-nav-facet .phspb-nav-count{
    font-size: 12px !important;
    line-height: 1 !important;
    opacity: .72 !important;
  }

  .phspb-rv-name,
  .phspb-recently-viewed .phspb-rv-name{
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
  }

  .phspb-sidebar-right .phspb-rv-item{
    min-height: 56px !important;
  }
}

/* v3.9.29 — Recently Viewed polish only */
@media (min-width: 1180px){
  .phspb-sidebar-right .phspb-recently-viewed{
    margin-top: 6px !important;
  }

  .phspb-sidebar-right .phspb-recently-viewed h4{
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.72) !important;
    margin: 0 0 12px !important;
  }

  .phspb-sidebar-right .phspb-recently-viewed-list{
    gap: 10px !important;
    margin-top: 10px !important;
  }

  .phspb-sidebar-right .phspb-rv-item{
    min-height: 64px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.035)) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02) !important;
    gap: 12px !important;
  }

  .phspb-sidebar-right .phspb-rv-item:hover{
    background: linear-gradient(180deg, rgba(190,150,255,.14), rgba(255,255,255,.06)) !important;
    border-color: rgba(190,150,255,.26) !important;
  }

  .phspb-sidebar-right .phspb-rv-thumb,
  .phspb-sidebar-right .phspb-rv-thumb-placeholder{
    width: 46px !important;
    height: 46px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 0 0 3px rgba(190,150,255,.06) !important;
  }

  .phspb-sidebar-right .phspb-rv-name,
  .phspb-sidebar-right .phspb-recently-viewed .phspb-rv-name{
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
    color: rgba(255,255,255,.94) !important;
    max-width: none !important;
  }

  .phspb-sidebar-right .phspb-rv-dot{
    width: 10px !important;
    height: 10px !important;
    box-shadow: 0 0 0 4px rgba(239,68,68,.10) !important;
  }

  .phspb-sidebar-right .phspb-nav-browse-all{
    min-height: 54px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    border-radius: 14px !important;
    justify-content: center !important;
  }
}


/* v3.9.30 — left sidebar polish only */
@media (min-width: 1180px){
  .phspb-sidebar-left .phspb-nav-block-title,
  .phspb-sidebar-left h4{
    font-size: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: .11em !important;
    font-weight: 800 !important;
    color: rgba(255,255,255,.62) !important;
    margin: 0 0 10px !important;
  }

  .phspb-sidebar-left .phspb-nav-option-list{
    gap: 8px !important;
  }

  .phspb-sidebar-left .phspb-nav-chip-btn{
    min-height: 44px !important;
    padding: 12px 14px !important;
    border-radius: 13px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035)) !important;
    border-color: rgba(255,255,255,.13) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
  }

  body .phspb-sidebar-left .phspb-nav-facet,
  .phspb-sidebar-left .phspb-nav-facet{
    min-height: 42px !important;
    padding: 10px 13px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03)) !important;
    border-color: rgba(255,255,255,.12) !important;
    margin-bottom: 6px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
  }

  .phspb-sidebar-left .phspb-nav-facet .phspb-nav-label{
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: rgba(255,255,255,.92) !important;
  }

  .phspb-sidebar-left .phspb-nav-facet .phspb-nav-emoji,
  .phspb-sidebar-left .phspb-nav-facet .phspb-nav-flag{
    flex: 0 0 auto !important;
    transform: translateY(-.5px) !important;
  }

  .phspb-sidebar-left .phspb-nav-facet .phspb-nav-count,
  body .phspb-sidebar-left .phspb-nav-facet .phspb-nav-count{
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.52) !important;
    opacity: 1 !important;
    margin-left: 12px !important;
  }

  .phspb-sidebar-left .phlc-sidebar-inner{
    scrollbar-width: thin !important;
    scrollbar-color: rgba(181,135,255,.44) rgba(255,255,255,.02) !important;
  }

  .phspb-sidebar-left .phlc-sidebar-inner::-webkit-scrollbar{
    width: 8px !important;
  }

  .phspb-sidebar-left .phlc-sidebar-inner::-webkit-scrollbar-track{
    background: rgba(255,255,255,.025) !important;
    border-radius: 999px !important;
  }

  .phspb-sidebar-left .phlc-sidebar-inner::-webkit-scrollbar-thumb{
    background: linear-gradient(180deg, rgba(195,150,255,.48), rgba(150,110,255,.30)) !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.06) !important;
  }
}

/* v3.9.31 — sidebar typography scale-up to match control size */
@media (min-width: 1180px){
  .phspb-sidebar-left .phspb-nav-block-title,
  .phspb-sidebar-left h4,
  .phspb-sidebar-right .phspb-nav-block-title,
  .phspb-sidebar-right h4,
  .phspb-sidebar-right .phspb-recently-viewed h4{
    font-size: 13px !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
  }

  .phspb-sidebar-left .phspb-nav-chip-btn{
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }

  body .phspb-sidebar-left .phspb-nav-facet,
  .phspb-sidebar-left .phspb-nav-facet{
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
  }

  .phspb-sidebar-left .phspb-nav-facet .phspb-nav-count,
  body .phspb-sidebar-left .phspb-nav-facet .phspb-nav-count,
  .phspb-nav-count{
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }

  .phspb-sidebar-right .phspb-nav-chip-btn,
  .phspb-sidebar-right .phspb-nav-facet{
    font-size: 15px !important;
    line-height: 1.22 !important;
    font-weight: 650 !important;
  }

  .phspb-sidebar-right .phspb-nav-chip-btn{
    letter-spacing: -.01em !important;
  }

  .phspb-sidebar-right .phspb-rv-name,
  .phspb-sidebar-right .phspb-recently-viewed .phspb-rv-name,
  .phspb-rv-name,
  .phspb-recently-viewed .phspb-rv-name{
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 675 !important;
  }

  .phspb-sidebar-right .phspb-nav-browse-all{
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }
}

/* v3.9.32 — preserve full stream frame without desktop crop */
@media (min-width: 1180px){
  body.phspb-stream-page-full .phspb-embed-wrap,
  .phspb-embed-wrap{
    min-height:0 !important;
  }
}

/* v3.9.35 — hard mobile reset */
@media (max-width: 767px){
  body.phspb-stream-page-full .phspb-page-layout,
  .phspb-page-layout{
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    max-width:none !important;
  }

  body.phspb-stream-page-full .phspb-sidebar-left,
  body.phspb-stream-page-full .phspb-sidebar-right,
  .phspb-sidebar-left,
  .phspb-sidebar-right{
    display:none !important;
  }

  body.phspb-stream-page-full .phspb-model-shortcode,
  .phspb-model-shortcode{
    width:100vw !important;
    max-width:100vw !important;
    padding:10px 12px 24px !important;
  }

  body.phspb-stream-page-full .phspb-hero-card,
  .phspb-hero-card,
  body.phspb-stream-page-full .phspb-card,
  .phspb-card{
    padding:16px 14px 18px !important;
    border-radius:20px !important;
  }

  body.phspb-stream-page-full .phspb-heading,
  .phspb-heading{
    flex-direction:column !important;
    gap:10px !important;
    margin-bottom:10px !important;
  }

  body.phspb-stream-page-full .phspb-kicker,
  .phspb-kicker{
    min-height:24px !important;
    padding:4px 9px !important;
    font-size:11px !important;
    letter-spacing:.08em !important;
  }

  body.phspb-stream-page-full .phspb-heading h1,
  body.phspb-stream-page-full .phspb-hero-card h1,
  .phspb-heading h1,
  .phspb-hero-card h1{
    font-size:clamp(22px,9.4vw,42px) !important;
    line-height:1.04 !important;
    margin:0 0 8px !important;
  }

  body.phspb-stream-page-full .phspb-thumb-wrap,
  .phspb-thumb-wrap{
    display:none !important;
  }

  body.phspb-stream-page-full .phspb-embed-wrap,
  .phspb-embed-wrap{
    aspect-ratio:16/12 !important;
    margin-top:8px !important;
    margin-bottom:12px !important;
    min-height:0 !important;
  }

  body.phspb-stream-page-full .phspb-embed-wrap iframe,
  .phspb-embed-wrap iframe{
    width:100% !important;
    height:100% !important;
    margin:0 !important;
  }

  body.phspb-stream-page-full .phspb-badges,
  .phspb-badges{
    gap:8px !important;
  }

  body.phspb-stream-page-full .phspb-badge,
  .phspb-badge{
    width:100% !important;
    min-height:46px !important;
  }

  body.phspb-stream-page-full .phspb-hero-actions,
  .phspb-hero-actions,
  .phspb-offline-actions{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }

  body.phspb-stream-page-full .phspb-btn,
  body.phspb-stream-page-full .phspb-push-btn,
  .phspb-btn,
  .phspb-push-btn{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
  }
}
