/*
 * PsyBrazil Forum Portrait Player Lock v8
 * Forum-only CSS stability layer.
 * Goal: no header/internal scrollbars, compact top player, real grid controls,
 * and stable release pages on portrait/mobile without breaking category pages.
 */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

*,
*:before,
*:after {
  box-sizing: border-box !important;
}

img,
video,
canvas,
iframe,
table,
pre,
code {
  max-width: 100% !important;
}

canvas {
  display: block;
}

body.pb-forum-body {
  background-color: #050005 !important;
}

.pb-page-wrap,
.faqja,
.qendra,
.permbajtja,
.forum-home-page,
.shtegu,
.ads,
.adsfo,
.home-content,
#break-word,
#container,
#distance {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

.pb-page-wrap {
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: clamp(8px, 1.5vw, 18px) !important;
  padding-right: clamp(8px, 1.5vw, 18px) !important;
}

.faqja,
.qendra,
.forum-home-page .qendra {
  width: min(1180px, calc(100vw - 14px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Header: no internal scrollbar. It remains compact and wraps intelligently. */
.pb-forum-top {
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  overscroll-behavior: auto !important;
  position: sticky !important;
  top: 0 !important;
}

.pb-brand-zone {
  min-height: 48px !important;
  padding: 6px 10px 5px !important;
  gap: 9px !important;
}

.pb-brand-logo {
  width: clamp(38px, 5vw, 48px) !important;
  height: clamp(38px, 5vw, 48px) !important;
  border-radius: 12px !important;
  flex: 0 0 auto !important;
}

.pb-brand-text strong {
  font-size: clamp(.86rem, 2.2vw, 1.06rem) !important;
  line-height: 1.02 !important;
  letter-spacing: .045em !important;
}

.pb-brand-text span {
  font-size: clamp(.58rem, 1.7vw, .70rem) !important;
  line-height: 1.1 !important;
  margin-top: 1px !important;
}

.pb-menu-toggle {
  margin: 4px auto 6px !important;
  padding: 7px 12px !important;
  min-height: 34px !important;
  font-size: .86rem !important;
}

.pb-nav-wrap,
.pb-toolbar {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.pb-nav-wrap {
  padding: 6px 8px !important;
}

.pb-menu {
  width: 100% !important;
  min-width: 0 !important;
  gap: 6px !important;
}

.pb-menu a,
.pb-menu button {
  padding: 7px 9px !important;
  min-height: 32px !important;
  font-size: clamp(.68rem, 1.75vw, .78rem) !important;
  line-height: 1 !important;
  border-radius: 9px !important;
}

.pb-submenu {
  z-index: 1200 !important;
}

.pb-toolbar {
  padding: 6px 8px !important;
  gap: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

.pamja,
.pb-view-toggle,
.pb-quick-player,
.pb-volume {
  min-width: 0 !important;
}

.pamja,
.pb-view-toggle {
  flex: 0 1 auto !important;
}

.pamja a,
.pb-view-toggle a,
.pb-quick-player button,
.pb-quick-player select {
  min-height: 31px !important;
  padding: 6px 8px !important;
  font-size: clamp(.66rem, 1.7vw, .78rem) !important;
  line-height: 1 !important;
}

.pb-view-toggle {
  gap: 4px !important;
  padding: 3px !important;
}

.pb-quick-player {
  flex: 1 1 460px !important;
  max-width: min(700px, 100%) !important;
  display: grid !important;
  grid-template-columns: 34px minmax(120px, 1fr) minmax(58px, auto) 34px minmax(112px, 160px) minmax(92px, 150px) !important;
  align-items: center !important;
  gap: 5px !important;
}

#pbForumPrev,
#pbForumNext {
  width: 34px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  justify-content: center !important;
}

#pbForumStation {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  text-overflow: ellipsis !important;
}

#pbForumPlay {
  white-space: nowrap !important;
}

.pb-volume {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-content: center !important;
  padding: 6px 8px !important;
}

.pb-volume input {
  width: 100% !important;
  max-width: 108px !important;
}

.pb-dsp {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 32px !important;
}

/* portrait and narrow desktop: keep everything visible in rows, no header scrollbar */
@media (max-width: 760px) {
  .pb-forum-top {
    position: sticky !important;
    overflow: visible !important;
  }

  .pb-brand-zone {
    justify-content: center !important;
    min-height: 44px !important;
  }

  .pb-brand-logo {
    width: 40px !important;
    height: 40px !important;
  }

  .pb-menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .pb-nav-wrap:not(.open) {
    display: none !important;
  }

  .pb-nav-wrap.open {
    display: block !important;
    max-height: 52vh !important;
    overflow-y: auto !important;
  }

  .pb-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: center !important;
    justify-items: center !important;
  }

  .pamja,
  .pb-view-toggle {
    max-width: 100% !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  .pb-quick-player {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    grid-template-columns: 34px minmax(130px, 1fr) minmax(62px, auto) 34px !important;
    grid-template-areas:
      "prev station play next"
      "volume volume dsp dsp" !important;
  }

  #pbForumPrev { grid-area: prev; }
  #pbForumStation { grid-area: station; }
  #pbForumPlay { grid-area: play; }
  #pbForumNext { grid-area: next; }
  .pb-volume { grid-area: volume; }
  .pb-dsp { grid-area: dsp; }
}

@media (max-width: 520px) {
  .pb-brand-zone {
    justify-content: flex-start !important;
    padding: 5px 8px 4px !important;
  }

  .pb-brand-text strong {
    font-size: .92rem !important;
    max-width: calc(100vw - 76px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .pb-brand-text span {
    display: none !important;
  }

  .pb-menu-toggle {
    position: absolute !important;
    right: 8px !important;
    top: 9px !important;
    margin: 0 !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
  }

  .pb-toolbar {
    padding: 5px 6px !important;
    gap: 5px !important;
  }

  .pamja a,
  .pb-view-toggle a,
  .pb-quick-player button,
  .pb-quick-player select {
    font-size: .69rem !important;
    min-height: 30px !important;
    padding: 5px 7px !important;
  }

  .pb-quick-player {
    grid-template-columns: 32px minmax(102px, 1fr) minmax(56px, auto) 32px !important;
    gap: 4px !important;
  }

  #pbForumPlay span,
  #pbForumPlay .pb-play-word {
    display: inline !important;
  }

  .pb-volume {
    min-height: 30px !important;
  }

  .pb-volume i {
    font-size: .8rem !important;
  }

  .pb-volume input {
    max-width: 100% !important;
  }

  .pb-dsp {
    height: 30px !important;
  }
}

@media (max-width: 380px) {
  .pb-brand-logo {
    width: 34px !important;
    height: 34px !important;
  }

  .pb-brand-text strong {
    font-size: .82rem !important;
    max-width: calc(100vw - 108px) !important;
  }

  .pb-quick-player {
    grid-template-columns: 30px minmax(84px, 1fr) 52px 30px !important;
  }

  .pb-quick-player button,
  .pb-quick-player select {
    font-size: .64rem !important;
    padding: 4px 6px !important;
  }
}

/* Release/detail page stability */
.pb-release-shell,
.pb-release-card,
.forum-release-player,
.pbsc-panel,
.pbsc-card,
.pbsc-mini,
.pbsc-stats-grid,
.pbsc-grid {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

.pb-release-shell {
  width: min(920px, calc(100vw - 18px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.forum-release-player canvas {
  width: 100% !important;
  height: 74px !important;
}

.forum-release-player audio {
  display: none !important;
}

/* Home/gallery still stable */
.pb-forum-body.route-home .forum-home-page .permbajtja.view-mode-1 {
  width: min(1120px, 100%) !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 auto !important;
}

@media (max-width: 820px) {
  .pb-forum-body.route-home .forum-home-page .permbajtja.view-mode-1 {
    grid-template-columns: 1fr !important;
  }
}


/* v8 portrait-only: hide view toggles so the player inputs stay at the top.
   Desktop/tablet landscape keeps Gallery/List and per-page buttons visible. */
@media (orientation: portrait), (max-width: 680px) {
  body.pb-forum-body .pb-forum-top {
    max-height: none !important;
    overflow: visible !important;
  }

  body.pb-forum-body .pb-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: center !important;
    justify-items: stretch !important;
    padding: 4px 6px !important;
    gap: 4px !important;
  }

  body.pb-forum-body .pb-toolbar .pamja,
  body.pb-forum-body .pb-toolbar .pb-view-toggle {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.pb-forum-body .pb-quick-player {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) minmax(58px, auto) 32px !important;
    grid-template-areas:
      "prev station play next"
      "volume volume dsp dsp" !important;
    gap: 4px !important;
    align-items: center !important;
    justify-items: stretch !important;
  }

  body.pb-forum-body #pbForumPrev { grid-area: prev !important; }
  body.pb-forum-body #pbForumStation { grid-area: station !important; }
  body.pb-forum-body #pbForumPlay { grid-area: play !important; }
  body.pb-forum-body #pbForumNext { grid-area: next !important; }
  body.pb-forum-body .pb-volume { grid-area: volume !important; }
  body.pb-forum-body .pb-dsp { grid-area: dsp !important; }

  body.pb-forum-body #pbForumPrev,
  body.pb-forum-body #pbForumNext {
    width: 32px !important;
    min-width: 32px !important;
    height: 31px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.pb-forum-body #pbForumStation,
  body.pb-forum-body #pbForumPlay {
    min-height: 31px !important;
    height: 31px !important;
    font-size: .70rem !important;
    line-height: 1 !important;
    padding: 5px 7px !important;
  }

  body.pb-forum-body #pbForumStation {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.pb-forum-body #pbForumPlay {
    white-space: nowrap !important;
    min-width: 58px !important;
  }

  body.pb-forum-body .pb-volume {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 4px 7px !important;
    gap: 5px !important;
  }

  body.pb-forum-body .pb-volume input {
    width: 100% !important;
    max-width: none !important;
  }

  body.pb-forum-body .pb-dsp {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 30px !important;
  }
}

@media (orientation: portrait) and (max-width: 420px) {
  body.pb-forum-body .pb-brand-zone {
    min-height: 40px !important;
    padding: 4px 7px !important;
  }

  body.pb-forum-body .pb-brand-logo {
    width: 34px !important;
    height: 34px !important;
  }

  body.pb-forum-body .pb-brand-text strong {
    font-size: .78rem !important;
    max-width: calc(100vw - 112px) !important;
  }

  body.pb-forum-body .pb-menu-toggle {
    min-height: 28px !important;
    padding: 5px 9px !important;
    font-size: .72rem !important;
  }

  body.pb-forum-body .pb-quick-player {
    grid-template-columns: 30px minmax(0, 1fr) 52px 30px !important;
  }

  body.pb-forum-body #pbForumPrev,
  body.pb-forum-body #pbForumNext {
    width: 30px !important;
    min-width: 30px !important;
    height: 29px !important;
  }

  body.pb-forum-body #pbForumStation,
  body.pb-forum-body #pbForumPlay {
    height: 29px !important;
    min-height: 29px !important;
    font-size: .64rem !important;
    padding: 4px 6px !important;
  }

  body.pb-forum-body .pb-volume,
  body.pb-forum-body .pb-dsp {
    height: 28px !important;
    min-height: 28px !important;
  }
}
