/* FlatcastX V3.8 | Public lobby-only polish, 30.10.2026.
   Native AJAX footer links, legible button surfaces, ad positioning.
   No ad-blocker bypass: visitors' blocking choices and browser settings are respected. */

/* High-contrast menu button surfaces even when not hovered (both themes).
   Keep V3.7 hover gradient, selected state and red admin/logout semantics. */
html[data-fx-site-theme="light"] body .page > .layout > .sidebar > .menu-block > .menu-content > a:not(.auth-link):not(.admin-link):not([href*="logout.php"]):not(.fx-menu-current):not(:hover):not(:focus-visible) {
  background:linear-gradient(180deg,#f7fbff,#eaf3fc)!important;
  border:1px solid #b9d1e7!important;
  box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(11,76,129,.065)!important;
  color:#124d7e!important;
}
html[data-fx-site-theme="dark"] body .page > .layout > .sidebar > .menu-block > .menu-content > a:not(.auth-link):not(.admin-link):not([href*="logout.php"]):not(.fx-menu-current):not(:hover):not(:focus-visible) {
  background:linear-gradient(180deg,#29435e,#223a53)!important;
  border:1px solid #496b8b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 1px 2px rgba(0,0,0,.12)!important;
  color:#ebf6ff!important;
}
/* Other visible public action buttons should have a defined edge, without recoloring them. */
html[data-fx-site-theme="light"] body .page #lobby-stream-list :is(.fx-status-btn,.fx-v34-radio-list-link),
html[data-fx-site-theme="light"] body .page .sidebar .btn-login {
  border:1px solid #397eaa!important;
}
html[data-fx-site-theme="dark"] body .page #lobby-stream-list :is(.fx-status-btn,.fx-v34-radio-list-link) {
  border:1px solid #76b6db!important;
  box-shadow:0 2px 6px rgba(0,0,0,.18)!important;
}
/* Public AJAX roles: return control directly after the empty/assigned table. */
body .page #lobby-stream-list .fx-room-roles-wrap .fx-v38-role-footer {
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:9px!important;
  padding:12px 0 0!important;
  margin:0!important;
}
body .page #lobby-stream-list .fx-v38-role-footer .fx-v34-radio-list-link {
  margin:0!important;
}
/* Status detail: both actions stay side by side and wrap safely on narrow screens. */
body .page #lobby-stream-list .fx-status-wrap .fx-status-actions {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
}
body .page #lobby-stream-list .fx-status-wrap .fx-status-actions .fx-v34-radio-list-link {
  margin:0!important;
  min-height:36px!important;
}
/* Shift both declared ad columns upwards; ensure they stop above the fixed appearance control.
   Natural images keep their aspect ratio and no overlays cover the ad links. */
@media (min-width:1341px) {
  html body > .fx-side-ad.left,html body > .fx-side-ad.right {
    top:90px!important;
    max-height:calc(100vh - 185px)!important;
    max-height:calc(100dvh - 185px)!important;
  }
  html body > .fx-side-ad :is(a,img) {
    max-height:calc(100vh - 185px)!important;
    max-height:calc(100dvh - 185px)!important;
  }
}
@media (max-height:650px) and (min-width:1341px) {
  html body > .fx-side-ad.left,html body > .fx-side-ad.right {top:57px!important;}
  html body > .fx-side-ad :is(a,img) {max-height:calc(100dvh - 142px)!important;}
}
@media (prefers-reduced-motion:reduce) {
  body .page .sidebar .menu-content a {transition:none!important;}
}
