/* ============================================================
   ZAHRAT PULSE 2.0
   Modern dark audio platform theme
   Visual override layer — keeps original phpSound markup/logic.
   ============================================================ */

:root {
  --zp-bg: #090a0f;
  --zp-bg-soft: #0f1118;
  --zp-surface: rgba(20, 22, 31, .86);
  --zp-surface-2: #171a24;
  --zp-surface-3: #1f2330;
  --zp-line: rgba(255,255,255,.08);
  --zp-line-strong: rgba(255,255,255,.14);
  --zp-text: #f7f8fb;
  --zp-text-2: #b7bdc9;
  --zp-muted: #747c8d;
  --zp-accent: #d9ff4f;
  --zp-accent-2: #8d6bff;
  --zp-danger: #ff5e6c;
  --zp-success: #47e6a5;
  --zp-shadow: 0 24px 70px rgba(0,0,0,.34);
  --zp-shadow-soft: 0 14px 40px rgba(0,0,0,.22);
  --zp-radius: 24px;
  --zp-radius-sm: 16px;
  --zp-content: 1380px;
  --zp-player-h: 92px;
}

* { box-sizing: border-box; }
html { background: var(--zp-bg); scroll-behavior: smooth; }
body.theme-pulse,
body {
  margin: 0;
  color: var(--zp-text) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(141,107,255,.17), transparent 31rem),
    radial-gradient(circle at 92% 4%, rgba(217,255,79,.09), transparent 28rem),
    linear-gradient(180deg, #0b0c12 0%, #090a0f 45%, #08090d 100%) !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 14px;
  line-height: 1.55;
  min-height: 100vh;
  padding-bottom: var(--zp-player-h);
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}

a { color: inherit; }
a:hover { color: var(--zp-accent); }

::selection { background: var(--zp-accent); color: #0a0b0e; }

/* ---------- layout ---------- */
.row-body,
.body-content,
.header,
.footer-gta-inner,
.footer-gta-bottom-inner,
.bottombar-container {
  width: min(calc(100% - 48px), var(--zp-content)) !important;
  max-width: var(--zp-content) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#content { min-height: 70vh; }
.body-content { padding: 36px 0 48px !important; }
.row-page { padding: 36px 0 54px !important; }
.topbar_margin { height: 92px !important; }

/* ---------- top navigation ---------- */
.topbar {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  height: 76px !important;
  background: rgba(9,10,15,.78) !important;
  border-bottom: 1px solid var(--zp-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  z-index: 1000 !important;
}

.header {
  height: 76px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  position: relative;
}

.logo {
  width: 150px !important;
  height: 44px !important;
  margin: 0 14px 0 0 !important;
  background: none !important;
  border-radius: 14px;
  position: relative;
  display: flex;
  align-items: center;
}
.logo::before {
  content: "";
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background:
    linear-gradient(135deg, var(--zp-accent) 0 52%, var(--zp-accent-2) 52% 100%);
  box-shadow: 0 8px 24px rgba(217,255,79,.12);
}
.logo::after {
  content: "ZAHRAT";
  margin-left: 10px;
  color: var(--zp-text);
  font-family: "Space Grotesk", sans-serif;
  font-size: 19px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.55px;
}

.menu-button,
.header .menu-button,
.header > a.menu-button {
  height: 38px !important;
  padding: 0 14px !important;
  margin: 0 1px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: var(--zp-text-2) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: .2s ease;
  box-shadow: none !important;
}
.menu-button:hover,
.header .menu-button:hover {
  color: var(--zp-text) !important;
  background: rgba(255,255,255,.055) !important;
  border-color: var(--zp-line) !important;
  transform: translateY(-1px);
}

.search-input {
  flex: 1 1 320px !important;
  max-width: 420px;
  min-width: 180px;
  margin-left: auto !important;
  position: relative;
}
.search-input::before {
  content: "⌕";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-53%);
  color: var(--zp-muted);
  font-size: 22px;
  z-index: 1;
  pointer-events: none;
}
.search-input input,
.search-input input[type="text"] {
  width: 100% !important;
  height: 42px !important;
  padding: 0 16px 0 42px !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.045) !important;
  color: var(--zp-text) !important;
  font-family: inherit !important;
  transition: .2s ease;
  box-shadow: none !important;
}
.search-input input:focus {
  border-color: rgba(217,255,79,.48) !important;
  background: rgba(255,255,255,.07) !important;
  box-shadow: 0 0 0 4px rgba(217,255,79,.07) !important;
}

.search-container,
.notification-content {
  background: #12151d !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--zp-shadow) !important;
  overflow: hidden;
}

/* ---------- generic surfaces ---------- */
.grid-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 28px !important;
  align-items: start;
}
.grid-content,
.grid-sidebar { width: auto !important; float: none !important; margin: 0 !important; }

.page-container,
.sidebar-container,
.widget-container,
.stats-container,
.playlist-container,
.profile-content,
.track-content,
.messages-container {
  background: var(--zp-surface) !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: var(--zp-radius) !important;
  box-shadow: var(--zp-shadow-soft) !important;
  overflow: hidden;
  backdrop-filter: blur(14px);
}

.page-content,
.sidebar-content { color: var(--zp-text-2) !important; }
.page-header,
.sidebar-header {
  min-height: 62px !important;
  padding: 18px 22px !important;
  color: var(--zp-text) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--zp-line) !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -.25px;
}
.page-inner { padding: 22px !important; }
.divider { height: 1px !important; background: var(--zp-line) !important; border: 0 !important; }

/* ---------- welcome / landing ---------- */
.row-welcome {
  min-height: 690px !important;
  margin-top: -92px !important;
  padding-top: 92px !important;
  background: transparent !important;
  position: relative;
  overflow: hidden;
}
.row-welcome::before {
  content: "";
  position: absolute;
  width: 720px;
  height: 720px;
  top: -160px;
  right: -130px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 36%, rgba(217,255,79,.30), transparent 15%),
    radial-gradient(circle at 50% 50%, rgba(141,107,255,.30), rgba(141,107,255,.06) 42%, transparent 65%);
  filter: blur(2px);
  opacity: .95;
}
.row-welcome::after {
  content: "";
  position: absolute;
  width: 430px;
  height: 430px;
  right: 85px;
  top: 145px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 50%;
  box-shadow:
    0 0 0 44px rgba(255,255,255,.015),
    0 0 0 88px rgba(255,255,255,.012),
    inset 0 0 120px rgba(141,107,255,.08);
}
.row-welcome .row-body { position: relative; z-index: 2; }
.welcome-inner {
  min-height: 600px !important;
  display: flex !important;
  align-items: center !important;
}
.welcome-message {
  width: min(720px, 64%) !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 58px 0 84px !important;
}
.welcome-message::before {
  content: attr(data-pulse-kicker);
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(217,255,79,.24);
  background: rgba(217,255,79,.08);
  color: var(--zp-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  margin-bottom: 24px;
}
.welcome-title {
  color: var(--zp-text) !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: clamp(58px, 7vw, 104px) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
  text-transform: none !important;
  text-shadow: none !important;
  font-weight: 700 !important;
  margin: 0 0 24px !important;
}
.welcome-title::after {
  content: ".EU";
  color: var(--zp-accent);
}
.welcome-desc {
  max-width: 610px !important;
  color: var(--zp-text-2) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  text-shadow: none !important;
  margin: 0 0 30px !important;
}
.welcome-button { margin: 0 !important; display: inline-flex !important; }
.welcome-button a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 54px !important;
  padding: 0 24px !important;
  border-radius: 16px !important;
  background: var(--zp-accent) !important;
  color: #0a0b0e !important;
  border: 0 !important;
  font-weight: 900 !important;
  letter-spacing: -.01em;
  box-shadow: 0 12px 38px rgba(217,255,79,.16) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.welcome-button a:hover { transform: translateY(-2px) !important; box-shadow: 0 18px 44px rgba(217,255,79,.23) !important; }
.welcome-learn { display: none !important; }

.welcome-bar {
  border: 0 !important;
  background: transparent !important;
  margin-top: -45px;
  position: relative;
  z-index: 4;
}
.welcome-menu {
  width: min(calc(100% - 48px), 520px) !important;
  margin: 0 auto !important;
  padding: 7px !important;
  border-radius: 18px !important;
  background: rgba(18,20,28,.9) !important;
  border: 1px solid var(--zp-line) !important;
  box-shadow: var(--zp-shadow-soft);
  display: flex !important;
  gap: 6px;
  backdrop-filter: blur(18px);
}
.welcome-menu a {
  flex: 1;
  padding: 12px 15px !important;
  border-radius: 12px !important;
  border: 0 !important;
  color: var(--zp-text-2) !important;
  font-weight: 800 !important;
}
.welcome-menu a:hover { background: rgba(255,255,255,.06) !important; color: var(--zp-text) !important; }

.welcome-content,
.welcome-full { background: transparent !important; border: 0 !important; padding: 92px 0 !important; }
.welcome-full { padding-top: 28px !important; }
.welcome-box-section,
.welcome-full-section {
  width: 100% !important;
  margin: 0 0 28px !important;
  color: var(--zp-text) !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 700 !important;
  letter-spacing: -.04em;
  text-align: left !important;
}
.welcome-content .row-body {
  display: flex !important;
  flex-wrap: wrap;
  gap: 18px;
}
.welcome-box-section { flex-basis: 100%; }
.welcome-box {
  flex: 1 1 280px !important;
  width: auto !important;
  min-height: 280px;
  margin: 0 !important;
  padding: 28px !important;
  text-align: left !important;
  border-radius: var(--zp-radius) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
  border: 1px solid var(--zp-line) !important;
  box-shadow: none !important;
  transition: .25s ease;
}
.welcome-box:hover { transform: translateY(-5px); border-color: rgba(217,255,79,.24) !important; }
.feature-image {
  width: 54px !important;
  height: 54px !important;
  margin: 0 0 38px !important;
  border-radius: 17px !important;
  background-color: rgba(217,255,79,.10) !important;
  background-size: 27px auto !important;
  background-position: center !important;
  filter: none !important;
}
.welcome-box-title { color: var(--zp-text) !important; font-size: 18px !important; font-weight: 800 !important; margin-bottom: 10px !important; }
.welcome-box-desc { color: var(--zp-muted) !important; font-size: 14px !important; line-height: 1.7 !important; }

/* ---------- latest / track cards ---------- */
.welcome-full .row-body { display: flex !important; flex-wrap: wrap; gap: 16px; }
.welcome-full-section { flex-basis: 100%; }
.welcome-track {
  width: calc(20% - 13px) !important;
  min-width: 185px;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: var(--zp-surface-2) !important;
  border: 1px solid var(--zp-line) !important;
  position: relative;
  aspect-ratio: 1 / 1;
  box-shadow: none !important;
  transition: transform .24s ease, border-color .24s ease;
}
.welcome-track:hover { transform: translateY(-5px); border-color: rgba(217,255,79,.34) !important; }
.welcome-track > a,
.welcome-track > a img { width: 100% !important; height: 100% !important; display: block; }
.welcome-track > a img { object-fit: cover !important; }
.welcome-player-background {
  display: flex !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 38%, rgba(8,9,13,.86) 100%) !important;
  opacity: .22;
  transition: opacity .2s ease;
}
.welcome-track:hover .welcome-player-background { opacity: 1; }
.welcome-player-container { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.welcome-player-button { position: static !important; }
.song-play-btn {
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background-color: var(--zp-accent) !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.34) !important;
  transform: scale(.92);
  transition: .2s ease;
}
.welcome-track:hover .song-play-btn { transform: scale(1); }

.song-container,
.track-container,
.activity-row,
.playlist-row,
.message-row,
.notification-row,
.comment-row {
  background: transparent !important;
  border-color: var(--zp-line) !important;
}
.song-container:hover,
.track-container:hover,
.activity-row:hover { background: rgba(255,255,255,.025) !important; }

.song-art img,
.track-art img,
.playlist-art img,
.profile-card img { border-radius: 15px !important; }
.song-title a,
.track-title a { color: var(--zp-text) !important; font-weight: 800 !important; }
.song-author a,
.track-author a { color: var(--zp-muted) !important; }

/* ---------- forms ---------- */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="number"],
input[type="url"],
textarea,
select {
  min-height: 46px !important;
  padding: 11px 14px !important;
  background: #11141c !important;
  color: var(--zp-text) !important;
  border: 1px solid var(--zp-line-strong) !important;
  border-radius: 13px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
textarea { min-height: 120px !important; resize: vertical; }
input:focus, textarea:focus, select:focus {
  border-color: rgba(217,255,79,.55) !important;
  background: #151923 !important;
  box-shadow: 0 0 0 4px rgba(217,255,79,.06) !important;
  outline: none !important;
}
::placeholder { color: #5f6675 !important; }

input[type="submit"],
input[type="button"],
.page-button,
.modal-btn a,
.upload-button,
.edit-button {
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 13px !important;
  padding: 0 17px !important;
  background: var(--zp-accent) !important;
  color: #0a0b0e !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: .2s ease;
}
input[type="submit"]:hover,
input[type="button"]:hover,
.page-button:hover,
.modal-btn a:hover { transform: translateY(-1px); filter: brightness(1.04); }

.page-input-container { margin-bottom: 20px !important; }
.page-input-title { color: var(--zp-text) !important; font-weight: 800 !important; margin-bottom: 7px !important; }
.page-input-sub { color: var(--zp-muted) !important; margin-top: 7px !important; }

/* upload area */
#upload .page-container,
#upload .upload-container { border-radius: 28px !important; }
#upload input[type="file"] {
  width: 100%;
  min-height: 80px;
  padding: 23px !important;
  border: 1px dashed rgba(217,255,79,.35) !important;
  border-radius: 18px !important;
  background: rgba(217,255,79,.035) !important;
  color: var(--zp-text-2) !important;
}

/* ---------- sidebar ---------- */
.grid-sidebar { position: sticky !important; top: 102px !important; }
.sidebar-container { margin-bottom: 18px !important; }
.sidebar-link,
.sidebar-menu a,
.widget-admin-settings a {
  display: flex !important;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  color: var(--zp-text-2) !important;
  border: 0 !important;
  transition: .18s ease;
}
.sidebar-link:hover,
.sidebar-menu a:hover,
.widget-admin-settings a:hover { background: rgba(255,255,255,.05) !important; color: var(--zp-text) !important; }
.sidebar-link-active,
.sidebar-menu-active,
.widget-admin-settings .selected a { background: rgba(217,255,79,.09) !important; color: var(--zp-accent) !important; }

/* ---------- modal ---------- */
.modal-background { background: rgba(4,5,8,.76) !important; backdrop-filter: blur(10px); }
.modal-container {
  width: min(92vw, 510px) !important;
  background: #11141c !important;
  border: 1px solid var(--zp-line-strong) !important;
  border-radius: 28px !important;
  box-shadow: 0 30px 100px rgba(0,0,0,.52) !important;
  overflow: hidden !important;
}
.modal-title,
.modal-inner,
.modal-menu { background: transparent !important; }
.modal-menu-container { padding: 8px !important; }
.modal-menu-item { border-radius: 12px !important; color: var(--zp-muted) !important; }
.modal-menu-item-active { background: rgba(255,255,255,.06) !important; color: var(--zp-text) !important; }
.modal-checkbox, .forgot-password { color: var(--zp-muted) !important; }

/* ---------- admin ---------- */
.row-page .page-login-container {
  width: min(94vw, 540px) !important;
  margin: 70px auto !important;
  float: none !important;
}
.page-login-container .page-content {
  background: linear-gradient(145deg, rgba(24,27,37,.96), rgba(15,17,24,.96)) !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: 28px !important;
  box-shadow: var(--zp-shadow) !important;
  overflow: hidden;
}
.page-login-container .page-header {
  padding: 28px !important;
  font-size: 26px !important;
}
.widget-admin-settings { background: #11141c !important; }
.dash-stats {
  width: calc(33.333% - 12px) !important;
  min-height: 148px;
  margin: 6px !important;
  padding: 20px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.02)) !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  float: left !important;
}
.dash-values {
  color: var(--zp-text) !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 34px !important;
  letter-spacing: -.04em;
  font-weight: 700 !important;
}
.chart li { background: var(--zp-accent-2) !important; opacity: .72; border-radius: 3px 3px 0 0; }
.dashboard-info { color: var(--zp-muted) !important; }

/* ---------- alerts ---------- */
.notification-box,
.notification-box-error,
.notification-box-success {
  margin: 14px 0 !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  border: 1px solid var(--zp-line) !important;
  background: rgba(255,255,255,.045) !important;
  color: var(--zp-text-2) !important;
  box-shadow: none !important;
}
.notification-box-error { border-color: rgba(255,94,108,.25) !important; background: rgba(255,94,108,.08) !important; }
.notification-box-success { border-color: rgba(71,230,165,.24) !important; background: rgba(71,230,165,.07) !important; }

/* ---------- footer ---------- */
.footer {
  margin-top: 62px !important;
  background: transparent !important;
  border: 0 !important;
}
.footer-gta { background: #0c0e14 !important; border-top: 1px solid var(--zp-line) !important; }
.footer-gta-main { background: transparent !important; border: 0 !important; }
.footer-gta-inner { padding: 54px 0 38px !important; gap: 54px !important; }
.footer-gta-col { flex: 1 !important; padding: 0 !important; }
.footer-gta-title { color: var(--zp-text) !important; font-family: "Space Grotesk",sans-serif !important; letter-spacing: .07em !important; font-size: 12px !important; }
.footer-gta-list a,
.footer-gta-link { color: var(--zp-muted) !important; }
.footer-gta-list a:hover,
.footer-gta-link:hover { color: var(--zp-accent) !important; }
.footer-social-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background-color: rgba(255,255,255,.055) !important;
  border: 1px solid var(--zp-line) !important;
}
.footer-gta-bottom { background: rgba(255,255,255,.015) !important; border-top: 1px solid var(--zp-line) !important; }
.footer-server-tag {
  border: 1px solid var(--zp-line) !important;
  background: rgba(255,255,255,.035) !important;
  color: var(--zp-muted) !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
}
.footer-server-tag-active { color: #0a0b0e !important; background: var(--zp-accent) !important; border-color: var(--zp-accent) !important; }
.footer-gta-copyright { color: #59606f !important; }

/* temporary cache utility from v3 */
#zahrat-cache-tools,
.zahrat-cache-tools {
  border: 1px solid var(--zp-line) !important;
  background: rgba(255,255,255,.03) !important;
  border-radius: 16px !important;
}

/* ---------- bottom player ---------- */
.bottombar {
  position: fixed !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 12px !important;
  height: 72px !important;
  background: rgba(18,20,28,.92) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 70px rgba(0,0,0,.42) !important;
  backdrop-filter: blur(22px) saturate(145%);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  overflow: hidden;
  z-index: 1100 !important;
}
.bottombar-container { width: 100% !important; max-width: none !important; height: 100% !important; padding: 0 14px !important; }
.top-player { height: 100% !important; display: flex !important; align-items: center !important; }
.player-nine { flex: 1 !important; width: auto !important; }
.player-three { width: 280px !important; }
.jp-interface { display: flex !important; align-items: center !important; gap: 18px !important; background: transparent !important; }
.player-container-left { display: flex !important; align-items: center !important; gap: 10px; }
.player-buttons { display: flex !important; align-items: center !important; gap: 5px; }
.jp-play,
.jp-pause {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background-color: var(--zp-accent) !important;
  filter: none !important;
}
.prev-button, .next-button,
.jp-mute, .jp-unmute,
.jp-repeat, .jp-repeat-off {
  border-radius: 10px !important;
  opacity: .8;
}
.player-container-middle { flex: 1 !important; display: flex !important; align-items: center !important; gap: 10px; }
.jp-progress {
  height: 5px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  overflow: hidden;
}
.jp-seek-bar { height: 100% !important; }
.jp-play-bar { height: 100% !important; background: linear-gradient(90deg, var(--zp-accent), #fff49a) !important; border-radius: inherit; }
.jp-current-time, .jp-duration { color: var(--zp-muted) !important; font-size: 11px !important; font-variant-numeric: tabular-nums; }
.jp-volume-bar { background: rgba(255,255,255,.10) !important; border-radius: 999px !important; overflow: hidden; }
.jp-volume-bar-value { background: var(--zp-accent) !important; }
#topbar-track-info { display: flex !important; align-items: center !important; gap: 10px; }
#topbar-artwork img { width: 48px !important; height: 48px !important; border-radius: 12px !important; object-fit: cover; }
.topbar-song-name a { color: var(--zp-text) !important; font-weight: 800 !important; }
.topbar-author-name a { color: var(--zp-muted) !important; font-size: 12px !important; }

/* ---------- tables ---------- */
table { border-collapse: separate !important; border-spacing: 0 !important; width: 100%; }
th { color: var(--zp-muted) !important; background: rgba(255,255,255,.025) !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: .08em; }
th, td { border-color: var(--zp-line) !important; padding: 13px 12px !important; }
tr:hover td { background: rgba(255,255,255,.018) !important; }

/* ---------- scrollbar ---------- */
* { scrollbar-width: thin; scrollbar-color: #2b3040 #0c0e14; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0c0e14; }
::-webkit-scrollbar-thumb { background: #2b3040; border: 2px solid #0c0e14; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #3b4254; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .grid-container { grid-template-columns: minmax(0, 1fr) 280px !important; gap: 20px !important; }
  .welcome-track { width: calc(25% - 12px) !important; }
  .menu-button { padding: 0 10px !important; }
}

@media (max-width: 920px) {
  :root { --zp-player-h: 102px; }
  .row-body, .body-content, .header, .footer-gta-inner, .footer-gta-bottom-inner { width: min(calc(100% - 30px), var(--zp-content)) !important; }
  .topbar, .header { height: 70px !important; }
  .topbar_margin { height: 84px !important; }
  .logo { width: 122px !important; }
  .logo::after { font-size: 16px; }
  .search-input { max-width: none; }
  .header > a.menu-button { display: none !important; }
  .grid-container { grid-template-columns: 1fr !important; }
  .grid-sidebar { position: static !important; }
  .row-welcome { min-height: 610px !important; }
  .welcome-message { width: 78% !important; }
  .row-welcome::after { right: -170px; }
  .welcome-track { width: calc(33.333% - 11px) !important; }
  .dash-stats { width: calc(50% - 12px) !important; }
  .player-three { width: 220px !important; }
}

@media (max-width: 680px) {
  body { padding-bottom: 94px; }
  .header { gap: 6px !important; }
  .logo { width: 44px !important; margin-right: 2px !important; }
  .logo::after { display: none; }
  .search-input { min-width: 0; }
  .search-input input { height: 40px !important; }
  .row-welcome { min-height: 560px !important; }
  .row-welcome::before { right: -410px; opacity: .75; }
  .row-welcome::after { display: none; }
  .welcome-inner { min-height: 500px !important; }
  .welcome-message { width: 100% !important; padding: 42px 0 72px !important; }
  .welcome-title { font-size: clamp(52px, 17vw, 76px) !important; }
  .welcome-desc { font-size: 15px !important; max-width: 92% !important; }
  .welcome-menu { width: calc(100% - 30px) !important; }
  .welcome-content, .welcome-full { padding: 58px 0 !important; }
  .welcome-box { flex-basis: 100% !important; min-height: 230px; }
  .welcome-track { width: calc(50% - 8px) !important; min-width: 0; }
  .page-inner, .page-header, .sidebar-header { padding-left: 17px !important; padding-right: 17px !important; }
  .dash-stats { width: 100% !important; margin: 6px 0 !important; }
  .footer-gta-inner { flex-direction: column !important; gap: 28px !important; }
  .bottombar { left: 7px !important; right: 7px !important; bottom: 7px !important; height: 78px !important; border-radius: 18px !important; }
  .player-three { width: 130px !important; }
  .player-container-right, .player-repeat, .prev-button { display: none !important; }
  .jp-interface { gap: 8px !important; }
  .player-container-middle { min-width: 0; }
  #topbar-track-details { min-width: 0; }
  .topbar-song-name, .topbar-author-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 90px; }
  #topbar-artwork img { width: 42px !important; height: 42px !important; }
}

@media (max-width: 420px) {
  .row-body, .body-content, .header, .footer-gta-inner, .footer-gta-bottom-inner { width: calc(100% - 22px) !important; }
  .welcome-track { width: 100% !important; }
  .player-three { display: none !important; }
  .welcome-message::before { font-size: 9px; letter-spacing: .1em; }
}

/* ============================================================
   ZAHRAT PULSE 2.1 — UI/UX QA & STABILITY PATCH
   Fixes legacy float collisions, navigation, icon controls,
   buttons, forms, cards, player, admin and responsive layout.
   ============================================================ */

:root {
  --zp-header-h: 76px;
  --zp-control-h: 42px;
  --zp-touch: 44px;
}

/* ---------- global stability ---------- */
html, body { width: 100%; max-width: 100%; }
body { overflow-x: clip !important; }
img { max-width: 100%; }
#content { background: transparent !important; border-bottom: 0 !important; }
.row-body, .body-content, .header,
.footer-gta-inner, .footer-gta-bottom-inner {
  box-sizing: border-box !important;
}
.row-body::after, .body-content::after, .page-inner::after,
.page-input-container::after, .track-actions::after,
.song-container::after, .list-container::after {
  content: "";
  display: table;
  clear: both;
}

/* ---------- header / navigation ---------- */
.topbar {
  height: var(--zp-header-h) !important;
  overflow: visible !important;
}
.header {
  height: var(--zp-header-h) !important;
  overflow: visible !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}
.header > a:first-child {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  text-decoration: none !important;
}
.logo {
  flex: 0 0 148px !important;
  min-width: 148px !important;
  max-width: 148px !important;
}
.logo::after { white-space: nowrap; }

.header > a.menu-button {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
a.menu-button-active,
.header > a.menu-button-active {
  color: var(--zp-text) !important;
  background: rgba(217,255,79,.09) !important;
  border-color: rgba(217,255,79,.20) !important;
}

/* Search participates in flex instead of legacy floats */
.search-input {
  float: none !important;
  flex: 1 1 320px !important;
  width: auto !important;
  min-width: 180px !important;
  max-width: 440px !important;
  margin: 0 4px 0 auto !important;
}
.search-input input,
.search-input input[type="text"] {
  margin: 0 !important;
  box-sizing: border-box !important;
  line-height: normal !important;
}
.search-container,
.notification-container {
  position: fixed !important;
  top: var(--zp-header-h) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  width: min(calc(100% - 48px), var(--zp-content)) !important;
  max-width: var(--zp-content) !important;
  padding: 8px 0 0 !important;
  box-sizing: border-box !important;
  z-index: 1200 !important;
}
.search-content,
.notification-content {
  max-height: min(68vh, 620px) !important;
  overflow-y: auto !important;
  border-radius: 18px !important;
}
.notification-content { margin-left: auto !important; max-width: 460px !important; }

/* Right-side account controls */
.menu-image,
.menu_btn,
.menu-btn {
  float: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.menu-image {
  order: 20;
  width: 48px !important;
  height: var(--zp-control-h) !important;
  padding: 0 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px;
  border: 1px solid var(--zp-line) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.035) !important;
}
.menu-image:hover,
.menu-image-active {
  background: rgba(255,255,255,.075) !important;
  border-color: var(--zp-line-strong) !important;
}
.menu_img {
  float: none !important;
  margin: 0 !important;
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
}
.menu_img img {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 9px !important;
}
.menu_arrow {
  float: none !important;
  margin: 0 !important;
  min-width: 8px !important;
  min-height: 5px !important;
  opacity: .65;
  background-size: 8px auto !important;
}
.header > a:has(.menu_btn) {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  order: 19;
  text-decoration: none !important;
}
.menu_btn {
  position: relative !important;
  width: var(--zp-control-h) !important;
  height: var(--zp-control-h) !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
}
.menu_btn:hover,
.menu_hover_messages,
.menu_hover_notifications {
  background: rgba(255,255,255,.055) !important;
  border-color: var(--zp-line) !important;
}
.menu_btn img {
  width: 19px !important;
  height: 19px !important;
  display: block !important;
  object-fit: contain !important;
  image-rendering: auto !important;
  opacity: .84;
}
.menu_btn:hover img { opacity: 1; }
.notificatons-number-container {
  position: absolute !important;
  top: 2px !important;
  right: 1px !important;
}
.notifications-number {
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: var(--zp-danger) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.menu-btn {
  order: 20;
  min-height: var(--zp-control-h) !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(217,255,79,.28) !important;
  border-radius: 13px !important;
  background: rgba(217,255,79,.08) !important;
  color: var(--zp-accent) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.menu-btn:hover {
  background: var(--zp-accent) !important;
  color: #0a0b0e !important;
  border-color: var(--zp-accent) !important;
}

.menu-dd-container {
  top: calc(var(--zp-header-h) + 8px) !important;
  right: 0 !important;
  width: auto !important;
  max-width: min(92vw, 320px) !important;
  padding: 0 !important;
  z-index: 1250 !important;
}
.menu-dd-content {
  float: none !important;
  min-width: 240px !important;
  max-width: 320px !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  border: 1px solid var(--zp-line-strong) !important;
  background: rgba(17,20,28,.98) !important;
  box-shadow: var(--zp-shadow) !important;
}
.menu-dd-row {
  padding: 12px 14px !important;
  text-align: left !important;
  color: var(--zp-text-2) !important;
  line-height: 1.3 !important;
}
.menu-dd-row:hover { background: rgba(255,255,255,.055) !important; color: var(--zp-text) !important; }
.menu-divider { margin: 0 !important; background: var(--zp-line) !important; }

/* ---------- icon buttons / close controls ---------- */
.close_btn,
.notification-close,
.delete_btn,
.report_btn,
.like_btn {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}
.close_btn,
.notification-close {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background-color: rgba(255,255,255,.055) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  cursor: pointer !important;
}
.close_btn:hover,
.notification-close:hover { background-color: rgba(255,255,255,.10) !important; }

/* ---------- content surfaces / grids ---------- */
.body-content { width: min(calc(100% - 48px), var(--zp-content)) !important; }
.grid-container {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
  gap: 24px !important;
}
.grid-content, .grid-sidebar { min-width: 0 !important; }
.page-container,
.sidebar-container,
.widget-container,
.stats-container,
.playlist-container,
.profile-content,
.track-content,
.messages-container {
  max-width: 100% !important;
}
.page-content,
.page-inner,
.sidebar-content,
.track-inner,
.list-inner,
.sound-inner { box-sizing: border-box !important; }
.page-content { overflow: visible !important; }
.page-inner { overflow: visible !important; }

/* ---------- typography hierarchy ---------- */
.page-header,
.sidebar-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  line-height: 1.25 !important;
}
.sidebar-header-extra { margin-left: auto !important; float: none !important; }
.sidebar-header-extra a { font-size: 12px !important; }
.page-title { color: var(--zp-text) !important; font-weight: 800 !important; }

/* ---------- forms ---------- */
.page-input-container {
  overflow: visible !important;
  padding: 10px 0 !important;
}
.page-input-title,
.page-input-title-img {
  float: none !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 8px !important;
  text-align: left !important;
  line-height: 1.35 !important;
}
.page-input-content {
  width: 100% !important;
  padding-left: 0 !important;
  min-width: 0 !important;
}
.page-input-content > input:not([type="checkbox"]):not([type="radio"]),
.page-input-content > select,
.page-input-content > textarea,
.page-input-container > input[type="text"],
.page-input-container > input[type="password"],
.page-input-container > input[type="email"],
.page-input-container > select,
.page-input-container > textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
input[type="checkbox"], input[type="radio"] {
  min-height: 0 !important;
  accent-color: var(--zp-accent);
}
select { cursor: pointer; }
label { cursor: pointer; }

/* ---------- primary/secondary buttons ---------- */
/* Undo the broad 2.0 rule on app-specific icon/action controls. */
.track-actions-content a,
.cover-button,
.liked-button, .like-button, .playlist-button, .share-button,
.buy-button, .delete-button, .public-button, .private-button,
.download-button, .loading-button,
.list-button,
.edit-delete a,
.manage-list-buttons a {
  box-sizing: border-box !important;
}

input[type="submit"],
.button-normal,
.page-button,
.upload-button,
.edit-button,
.comment-btn a,
.modal-btn a {
  min-height: 44px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: var(--zp-accent) !important;
  color: #0a0b0e !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  overflow: visible !important;
  white-space: nowrap;
}
.button-normal:not(.upload-btn),
.page-button.secondary {
  background: rgba(255,255,255,.055) !important;
  color: var(--zp-text) !important;
  border-color: var(--zp-line-strong) !important;
}
input[type="submit"]:hover,
.button-normal:hover,
.page-button:hover,
.upload-button:hover,
.edit-button:hover,
.comment-btn a:hover,
.modal-btn a:hover {
  transform: translateY(-1px) !important;
  filter: none !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
}
input[type="submit"]:focus-visible,
.button-normal:focus-visible,
.page-button:focus-visible,
.modal-btn a:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--zp-accent) !important;
  outline-offset: 3px !important;
}

/* Track action buttons remain compact and neutral */
.liked-button, .like-button, .playlist-button, .share-button,
.buy-button, .delete-button, .public-button, .private-button,
.download-button, .loading-button {
  min-height: 36px !important;
  height: auto !important;
  width: auto !important;
  padding: 8px 10px !important;
  margin: 0 6px 6px 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  float: none !important;
  border-radius: 10px !important;
  border: 1px solid var(--zp-line) !important;
  background-color: rgba(255,255,255,.035) !important;
  color: var(--zp-text-2) !important;
}
.liked-button:hover, .like-button:hover, .playlist-button:hover, .share-button:hover,
.buy-button:hover, .delete-button:hover, .public-button:hover, .private-button:hover,
.download-button:hover {
  background-color: rgba(255,255,255,.075) !important;
  border-color: var(--zp-line-strong) !important;
  color: var(--zp-text) !important;
}

/* ---------- upload controls ---------- */
.upload-btn {
  position: relative !important;
  min-height: 54px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px dashed rgba(217,255,79,.30) !important;
  border-radius: 14px !important;
  background: rgba(217,255,79,.035) !important;
}
.upload-btn input[type="file"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 2;
}
.upload-btn-text {
  width: 100% !important;
  padding: 0 16px !important;
  text-align: left !important;
  color: var(--zp-text-2) !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-btn:hover,
.upload-btn-selected {
  border-color: rgba(217,255,79,.58) !important;
  background: rgba(217,255,79,.075) !important;
}
.upload-status-bar {
  height: 8px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.08) !important;
}
.upload-status-bar-percentage {
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, var(--zp-accent-2), var(--zp-accent)) !important;
}

/* ---------- track rows ---------- */
.song-container {
  display: grid !important;
  grid-template-columns: 96px minmax(0, 1fr) !important;
  column-gap: 18px !important;
  padding: 18px !important;
  overflow: visible !important;
  border-bottom: 1px solid var(--zp-line) !important;
}
.song-art {
  float: none !important;
  grid-row: 1 / span 3;
  width: 96px !important;
  height: 96px !important;
}
.song-art a { float: none !important; display: block !important; width: 100% !important; height: 100% !important; }
.song-art img {
  width: 96px !important;
  height: 96px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
}
.song-top,
.player-controls,
.track-actions-container {
  padding-left: 0 !important;
  min-width: 0 !important;
}
.song-top { min-height: 40px !important; }
.song-titles { padding-left: 48px !important; min-width: 0; }
.song-title { font-size: 15px !important; line-height: 1.35 !important; }
.song-title, .song-title a { overflow-wrap: anywhere; }
.song-timeago, .song-tag { max-width: 45%; }
.player-controls { padding-bottom: 8px !important; }
.track-actions-container { padding-top: 4px !important; }
.track-actions { overflow: visible !important; }
.track-actions-content { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 2px; }
.song-play-btn {
  float: left !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
}

/* ---------- profile / cover ---------- */
.cover-container,
.cover-content { max-width: 100% !important; box-sizing: border-box !important; }
.cover-buttons { display: flex !important; flex-wrap: wrap !important; gap: 8px; }
.cover-button {
  float: none !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 10px !important;
  border: 1px solid var(--zp-line) !important;
  background: rgba(255,255,255,.035) !important;
  color: var(--zp-text-2) !important;
}
.cover-button-active,
.cover-button-active:hover {
  background: rgba(217,255,79,.10) !important;
  color: var(--zp-accent) !important;
  border-color: rgba(217,255,79,.24) !important;
}

/* ---------- modal ---------- */
.modal-background {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1400 !important;
}
.modal-container {
  position: fixed !important;
  z-index: 1450 !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  max-height: min(88vh, 760px) !important;
  overflow-y: auto !important;
}
.modal-menu-container,
.modal-menu {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}
.modal-menu-container > div:first-child { display: flex !important; gap: 6px; flex-wrap: wrap; }
.modal-menu-item {
  min-height: 38px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 10px !important;
}
.modal-btn { flex: 1 1 0 !important; min-width: 0; }
.modal-btn a { width: 100% !important; box-sizing: border-box !important; }
.modal-inner input[type="text"],
.modal-inner input[type="password"],
.modal-inner input[type="email"] { width: 100% !important; box-sizing: border-box !important; }
.modal-checkbox { display: flex !important; align-items: flex-start !important; gap: 8px; }
.modal-checkbox input { flex: 0 0 auto; margin-top: 4px; }

/* ---------- admin ---------- */
.widget-admin-settings .sidebar-link,
.widget-admin-settings a { min-width: 0 !important; }
.page-inner:has(.dash-stats) .page-input-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.page-inner:has(.dash-stats) .page-input-container > div:first-child {
  grid-column: 1 / -1;
  margin-bottom: 2px;
}
.page-inner:has(.dash-stats) .dashboard-info { grid-column: 1 / -1; }
.dash-stats {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 138px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 12px;
  box-sizing: border-box !important;
}
.dash-half { min-width: 0 !important; }
.dash-stats .chart { min-width: 74px; }

/* Admin tables: prevent page-wide overflow */
.page-container table,
.stats-container table { max-width: 100% !important; }
.admin-rows { overflow-x: auto !important; }

/* ---------- footer ---------- */
.footer { padding-bottom: calc(var(--zp-player-h) + 24px) !important; }
.footer-gta { max-width: none !important; margin: 0 !important; padding: 0 !important; }
.footer-gta-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: start !important;
}
.footer-gta-col { min-width: 0 !important; }
.footer-gta-list, .footer-gta-list li { max-width: 100%; }
.footer-gta-bottom-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px;
  flex-wrap: wrap;
}

/* ---------- player ---------- */
.bottombar { overflow: visible !important; }
.bottombar-container { box-sizing: border-box !important; }
.top-player { min-width: 0 !important; }
.player-nine { min-width: 0 !important; }
.jp-interface { width: 100% !important; min-width: 0 !important; }
.player-container-left { flex: 0 0 auto !important; min-width: 0 !important; width: auto !important; }
.player-container-middle { min-width: 120px !important; }
.player-container-right { flex: 0 0 auto !important; display: flex !important; align-items: center !important; gap: 8px; }
.player-three {
  flex: 0 1 270px !important;
  min-width: 170px !important;
  max-width: 270px !important;
}
#topbar-track-info { min-width: 0 !important; }
#topbar-track-details { min-width: 0 !important; overflow: hidden; }
.topbar-song-name, .topbar-author-name { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jp-progress { flex: 1 1 auto !important; min-width: 80px !important; width: auto !important; }
.jp-volume-bar { width: 72px !important; height: 5px !important; }
.prev-button, .next-button, .jp-mute, .jp-unmute, .jp-repeat, .jp-repeat-off {
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-block !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* ---------- landing cleanup ---------- */
.welcome-title::after { content: none !important; }
.welcome-track { min-width: 0 !important; }
.welcome-player-background { pointer-events: none; }
.welcome-player-button, .welcome-player-button .song-play-btn { pointer-events: auto; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .header > a.menu-button { padding-left: 10px !important; padding-right: 10px !important; }
  .header > a.menu-button[target="_blank"] { display: none !important; }
  .search-input { min-width: 150px !important; }
  .footer-gta-inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 920px) {
  :root { --zp-header-h: 70px; }
  .header { gap: 7px !important; }
  .logo { flex-basis: 122px !important; min-width: 122px !important; max-width: 122px !important; }
  .header > a.menu-button { display: none !important; }
  .menu-dd-mobile { display: block !important; }
  .search-input { order: 10; flex: 1 1 auto !important; max-width: none !important; min-width: 120px !important; }
  .menu_btn { width: 40px !important; height: 40px !important; }
  .menu-image { height: 40px !important; }
  .grid-container { grid-template-columns: minmax(0, 1fr) !important; }
  .grid-sidebar { position: static !important; }
  .page-inner:has(.dash-stats) .page-input-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .player-three { flex-basis: 210px !important; max-width: 210px !important; }
  .player-container-right { display: none !important; }
  .notification-container, .search-container { width: calc(100% - 30px) !important; }
}

@media (max-width: 680px) {
  .row-body, .body-content, .header,
  .footer-gta-inner, .footer-gta-bottom-inner {
    width: calc(100% - 24px) !important;
  }
  .header { gap: 5px !important; }
  .logo { flex-basis: 42px !important; min-width: 42px !important; max-width: 42px !important; margin-right: 0 !important; }
  .logo::before { width: 36px !important; height: 36px !important; }
  .search-input { min-width: 0 !important; margin-right: 0 !important; }
  .search-input::before { left: 12px; }
  .search-input input { padding-left: 36px !important; padding-right: 10px !important; }
  .menu_btn { width: 38px !important; height: 38px !important; }
  .menu-image { width: 40px !important; padding: 0 !important; }
  .menu_arrow { display: none !important; }
  .menu_img, .menu_img img { width: 28px !important; height: 28px !important; }
  .menu-btn { min-height: 38px !important; padding: 0 11px !important; font-size: 12px !important; }
  .menu-dd-container {
    position: fixed !important;
    top: calc(var(--zp-header-h) + 6px) !important;
    left: 12px !important;
    right: 12px !important;
    max-width: none !important;
  }
  .menu-dd-content { width: 100% !important; max-width: none !important; min-width: 0 !important; }
  .notification-content { max-width: none !important; }

  .page-inner { padding: 18px !important; }
  .page-header, .sidebar-header { min-height: 56px !important; padding: 16px 18px !important; }
  .song-container {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    column-gap: 13px !important;
    padding: 14px !important;
  }
  .song-art, .song-art img { width: 72px !important; height: 72px !important; }
  .song-titles { padding-left: 43px !important; }
  .song-timeago, .song-tag { display: none !important; }
  .track-actions-container { grid-column: 1 / -1; margin-top: 8px; }
  .player-controls { grid-column: 2; }

  .page-inner:has(.dash-stats) .page-input-container { grid-template-columns: 1fr !important; }
  .dash-stats { min-height: 124px !important; }

  .footer-gta-inner { grid-template-columns: 1fr !important; gap: 26px !important; }

  .bottombar {
    height: 72px !important;
    left: 6px !important;
    right: 6px !important;
    bottom: 6px !important;
  }
  .bottombar-container { padding: 0 10px !important; }
  .jp-interface { gap: 8px !important; }
  .player-repeat, .prev-button, .player-container-right { display: none !important; }
  .player-buttons { gap: 2px !important; }
  .jp-play, .jp-pause { width: 40px !important; height: 40px !important; }
  .next-button { width: 34px !important; height: 34px !important; flex-basis: 34px !important; }
  .player-container-middle { min-width: 0 !important; }
  .jp-current-time, .jp-duration { display: none !important; }
  .player-three { flex: 0 1 150px !important; min-width: 0 !important; max-width: 150px !important; }
  #topbar-artwork img { width: 40px !important; height: 40px !important; }
  .topbar-song-name, .topbar-author-name { max-width: 90px !important; }

  .modal-container { width: calc(100vw - 24px) !important; max-height: calc(100vh - 32px) !important; border-radius: 20px !important; }
  .modal-inner { padding-left: 18px !important; padding-right: 18px !important; }
}

@media (max-width: 480px) {
  .header { width: calc(100% - 16px) !important; }
  .logo { flex-basis: 38px !important; min-width: 38px !important; max-width: 38px !important; }
  .logo::before { width: 34px !important; height: 34px !important; border-radius: 11px; }
  .search-input input { font-size: 13px !important; }
  .menu_btn { width: 36px !important; height: 36px !important; }
  .menu_btn img { width: 18px !important; height: 18px !important; }
  .menu-image { width: 36px !important; height: 36px !important; }
  .menu_img, .menu_img img { width: 26px !important; height: 26px !important; }
  .menu-btn { max-width: 84px; overflow: hidden; text-overflow: ellipsis; }
  .welcome-message::before { max-width: 100%; white-space: normal; line-height: 1.35; padding-top: 8px; padding-bottom: 8px; }
  .welcome-track { width: calc(50% - 8px) !important; }
  .song-container { grid-template-columns: 60px minmax(0, 1fr) !important; }
  .song-art, .song-art img { width: 60px !important; height: 60px !important; border-radius: 11px !important; }
  .song-titles { padding-left: 42px !important; }
  .track-actions-content .action-text { display: none !important; }
  .player-three { display: none !important; }
  .player-container-middle { display: flex !important; }
  .footer-gta-bottom-inner { align-items: flex-start !important; }
}

@media (max-width: 360px) {
  .search-input { display: none !important; }
  .header { justify-content: space-between !important; }
  .menu-btn { margin-left: auto !important; }
  .welcome-track { width: 100% !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ---------- secondary UI components ---------- */
.edit-menu {
  margin: 0 0 18px !important;
  padding: 5px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  overflow: visible !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.025) !important;
}
.edit-menu-item {
  float: none !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--zp-muted) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  line-height: 1 !important;
}
.edit-menu-item:hover {
  background: rgba(255,255,255,.05) !important;
  color: var(--zp-text) !important;
  border-color: transparent !important;
}
.edit-menu-item-active,
.edit-menu-item-active:hover {
  background: rgba(217,255,79,.10) !important;
  color: var(--zp-accent) !important;
  border-color: rgba(217,255,79,.18) !important;
}

.track-info-container { padding: 22px !important; box-sizing: border-box !important; overflow: visible !important; }
.track-info-art { width: min(100%, 240px) !important; float: left !important; margin-right: 24px !important; }
.track-info-art > div:first-child { overflow: hidden; border-radius: 18px; border: 1px solid var(--zp-line); background: var(--zp-surface-2); }
.track-info-art img { display: block; width: 100% !important; height: auto !important; object-fit: cover; }
.track-info-inputs { min-width: 0 !important; }
.track-info-input { margin-bottom: 18px !important; }
.track-info-title { margin-bottom: 7px !important; color: var(--zp-text) !important; font-weight: 800 !important; }
.track-info-input input:not([type="radio"]):not([type="checkbox"]),
.track-info-input textarea,
.track-info-input select { max-width: 100% !important; box-sizing: border-box !important; }
.track-info-radio { display: flex !important; align-items: center !important; gap: 8px; margin: 8px 0 !important; }
.track-info-radio input { margin: 0 !important; }
.license-container { max-width: 100% !important; overflow: visible !important; }
.license-box-container { float: none !important; display: inline-block !important; vertical-align: top; width: calc(50% - 8px) !important; padding: 4px !important; box-sizing: border-box; }
.license-box-content { min-height: 64px !important; border: 1px solid var(--zp-line) !important; border-radius: 12px !important; background: rgba(255,255,255,.025) !important; }
.license-box-active { border-color: rgba(217,255,79,.30) !important; background: rgba(217,255,79,.07) !important; }
.license-box-title { color: var(--zp-text-2) !important; }
.license-box-active .license-box-title { color: var(--zp-accent) !important; }
.license-box-desc { color: var(--zp-muted) !important; line-height: 1.6 !important; }

/* Stats use responsive grids instead of legacy percentage floats */
.page-input-container:has(> .stats-container),
.stats-boxes-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 12px !important;
  overflow: visible !important;
}
.page-input-container:has(> .stats-container) > div:first-child,
.stats-boxes-container > div:first-child {
  grid-column: 1 / -1;
}
.stats-boxes-container { width: 100% !important; padding-bottom: 14px !important; }
.stats-container {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.028) !important;
  color: var(--zp-muted) !important;
  box-shadow: none !important;
}
.stats-container h3 {
  margin: 6px 0 0 !important;
  color: var(--zp-text) !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}
.stats-column-title { color: var(--zp-text) !important; font-weight: 800 !important; margin-bottom: 12px !important; }
.small-info { color: var(--zp-muted) !important; line-height: 1.6 !important; }

/* Admin lists / users / themes */
.list-content { padding: 8px 0 !important; overflow: visible !important; }
.manage-users-container,
.theme-content {
  position: relative;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--zp-line) !important;
}
.manage-users-container { padding: 14px 18px !important; min-height: 64px; }
.manage-users-image img { width: 40px !important; height: 40px !important; object-fit: cover; border-radius: 12px !important; }
.manage-users-content { padding: 0 120px 0 52px !important; min-height: 40px; word-break: break-word !important; }
.manage-users-buttons {
  float: none !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%);
  margin: 0 !important;
  display: flex !important;
  gap: 6px;
}
.manage-users-buttons a { float: none !important; }
.theme-content { padding: 14px 18px !important; }
.theme-inner { padding: 0 !important; min-height: 64px; }
.theme-icon { width: 56px !important; float: left !important; overflow: hidden !important; border-radius: 14px !important; }
.theme-icon img { width: 56px !important; height: 56px !important; object-fit: cover; border-radius: 14px !important; }
.theme-top { padding: 5px 0 5px 70px !important; min-height: 56px; }

/* PRO page */
.go-pro-header {
  margin: 0 !important;
  padding: 42px 24px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--zp-line) !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(217,255,79,.15), transparent 18rem),
    radial-gradient(circle at 18% 20%, rgba(141,107,255,.22), transparent 20rem),
    #11141c !important;
  box-shadow: none !important;
  text-transform: none !important;
}
.go-pro-header-title { color: var(--zp-text) !important; font-family: "Space Grotesk",sans-serif !important; font-size: clamp(28px,4vw,42px) !important; letter-spacing: -.035em; }
.go-pro-header-desc { color: var(--zp-text-2) !important; font-size: 15px !important; font-weight: 500 !important; text-transform: none !important; }
.go-pro-btn { padding-top: 14px !important; text-transform: none !important; }
.go-pro-btn a {
  min-height: 44px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--zp-accent) !important;
  color: #0a0b0e !important;
  font-weight: 900 !important;
}
.feature-container {
  margin: 10px 20px !important;
  padding: 14px 16px !important;
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  overflow: visible !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.025) !important;
}
.feature-option, .plan-option, .plan-info { float: none !important; width: auto !important; min-width: 0 !important; }
.plan-option { text-align: center; }
.plan-option-pro { color: var(--zp-accent) !important; }
.feature-description { color: var(--zp-muted) !important; line-height: 1.6 !important; }

/* Messages and generic list rows */
.message-row,
.notification-row,
.list-container,
.activity-row,
.playlist-row {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.list-avatar img { width: 52px !important; height: 52px !important; object-fit: cover; border-radius: 14px !important; }
.list-top { padding-left: 64px !important; min-height: 52px; }
.message-message, .message-reply-content { overflow-wrap: anywhere; }

/* Tables */
table { table-layout: auto !important; }
th, td { vertical-align: middle !important; }
.page-content > table,
.page-inner > table,
.stats-container table { display: table; }
@media (max-width: 760px) {
  .admin-rows, .page-inner:has(table), .list-content:has(table) { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  table { min-width: 620px; }
}

/* Empty/error/info states */
.info-message,
.error,
.alert,
.alert-info {
  box-sizing: border-box !important;
  border-radius: 14px !important;
  line-height: 1.55 !important;
}
.info-message { color: var(--zp-muted) !important; padding: 28px 18px !important; }
.error { padding: 13px 15px !important; background: rgba(255,94,108,.08) !important; border: 1px solid rgba(255,94,108,.28) !important; color: #ff9ba4 !important; }

/* Make interactive items clearly interactive */
.menu-image, .menu_btn, .menu-btn, .menu-button, .edit-menu-item,
.cover-button, .button-normal, .go-pro-btn a, .modal-btn a,
.song-play-btn, .track-actions-content a, .footer-social-btn { cursor: pointer !important; }

@media (max-width: 920px) {
  .page-input-container:has(> .stats-container), .stats-boxes-container { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .track-info-art { width: 190px !important; }
}
@media (max-width: 680px) {
  .track-info-container { padding: 18px !important; }
  .track-info-art { float: none !important; width: min(100%, 220px) !important; margin: 0 0 22px !important; }
  .license-box-container { width: 100% !important; }
  .page-input-container:has(> .stats-container), .stats-boxes-container { grid-template-columns: 1fr !important; }
  .feature-container { grid-template-columns: 1.5fr .75fr .75fr !important; margin-left: 14px !important; margin-right: 14px !important; padding: 12px !important; gap: 8px !important; font-size: 13px !important; }
  .feature-description { margin-left: 14px !important; margin-right: 14px !important; padding: 0 !important; }
  .manage-users-content { padding-right: 0 !important; }
  .manage-users-buttons { position: static !important; transform: none !important; margin: 8px 0 0 52px !important; justify-content: flex-start; }
}
@media (max-width: 480px) {
  .edit-menu { display: grid !important; grid-template-columns: 1fr !important; }
  .edit-menu-item { width: 100% !important; box-sizing: border-box !important; justify-content: flex-start !important; }
  .feature-container { grid-template-columns: 1fr 64px 64px !important; }
}

/* final scoping corrections */
.welcome-track .song-play-btn {
  width: 58px !important;
  height: 58px !important;
}
input[type="checkbox"]:focus,
input[type="radio"]:focus {
  background: initial !important;
  box-shadow: none !important;
  outline: 2px solid var(--zp-accent) !important;
  outline-offset: 2px !important;
}

/* player legacy-float cleanup */
.top-player,
#sound-container.top-player,
.player-nine,
.player-three,
.player-container-left,
.player-container-middle,
.player-container-right {
  float: none !important;
  box-sizing: border-box !important;
}
.player-nine {
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}
.player-nine .jp-type-single,
.player-nine .jp-gui,
.player-nine .jp-interface { width: 100% !important; }
.player-nine .jp-interface { height: 100% !important; }
.player-buttons a,
.player-repeat a,
.player-container-right a,
a.jp-play,
a.jp-pause,
#prev-button,
#next-button {
  margin: 0 !important;
}
.player-three {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}
@media (max-width: 680px) {
  .player-container-middle { display: flex !important; }
  .topbar-song-name, .topbar-author-name { display: block !important; }
}
@media (max-width: 480px) {
  .player-three { display: none !important; }
}

/* ============================================================
   ZAHRAT PULSE 2.2 — LIVE SCREENSHOT QA PATCH
   Grounded in the deployed Stream / Explore / Admin screenshots.
   This layer intentionally wins over legacy phpSound selectors.
   ============================================================ */

:root {
  --zp-content: 1440px;
  --zp-header-h: 72px;
  --zp-player-h: 88px;
  --zp-radius: 20px;
  --zp-radius-sm: 12px;
}

/* ---------- width system: one container, no nested shrink ---------- */
.row-page,
.row-body,
.header,
.footer-gta-inner,
.footer-gta-bottom-inner {
  width: min(calc(100% - 40px), var(--zp-content)) !important;
  max-width: var(--zp-content) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
.row-page {
  overflow: visible !important;
  padding-top: 34px !important;
  padding-bottom: 48px !important;
}
.row-body { overflow: visible !important; }
.row-page > .body-content,
.row-body > .body-content,
.body-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.topbar_margin { height: calc(var(--zp-header-h) + 18px) !important; }

/* The legacy grid item itself must not become a second dark card. */
.row-page .grid-content {
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
}
.row-page .grid-sidebar { background: transparent !important; }
.row-body .grid-content {
  background: rgba(14,16,24,.72) !important;
  border: 1px solid var(--zp-line) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.16) !important;
}
.grid-container {
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 22px !important;
  align-items: start !important;
  overflow: visible !important;
}

/* ---------- header: consistent density and hit targets ---------- */
.topbar,
.header { height: var(--zp-header-h) !important; }
.topbar {
  background: rgba(8,10,15,.90) !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.16) !important;
}
.header { gap: 8px !important; }
.logo {
  flex-basis: 142px !important;
  min-width: 142px !important;
  max-width: 142px !important;
  height: 42px !important;
  margin-right: 8px !important;
}
.logo::before { width: 32px !important; height: 32px !important; border-radius: 10px !important; }
.logo::after { font-size: 17px !important; letter-spacing: -.45px !important; }
.header > a.menu-button {
  min-height: 38px !important;
  padding: 0 13px !important;
  border-radius: 10px !important;
  font-size: 11px !important;
  letter-spacing: .045em !important;
}
.header > a.menu-button-active {
  background: rgba(217,255,79,.11) !important;
  border-color: rgba(217,255,79,.22) !important;
  color: #eef8cf !important;
}
.search-input {
  flex: 1 1 360px !important;
  max-width: 460px !important;
  margin-left: auto !important;
}
.search-input input,
.search-input input[type="text"] {
  height: 40px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.04) !important;
}
.menu_btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 11px !important;
}
.menu_btn img { width: 18px !important; height: 18px !important; opacity: .78 !important; }
.menu_btn:hover img { opacity: 1 !important; }
.menu-image {
  width: 46px !important;
  height: 40px !important;
  padding: 0 6px !important;
  border-radius: 12px !important;
}
.menu_img,
.menu_img img { width: 27px !important; height: 27px !important; }

/* ---------- generic cards ---------- */
.page-container,
.sidebar-container,
.widget-container,
.playlist-container,
.profile-content,
.track-content,
.messages-container {
  background: rgba(17,19,28,.92) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 42px rgba(0,0,0,.18) !important;
}
.sidebar-container { overflow: hidden !important; margin-bottom: 14px !important; padding: 0 !important; }
.sidebar-content { overflow: visible !important; }
.page-header,
.sidebar-header {
  min-height: 54px !important;
  padding: 15px 18px !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: .035em !important;
}
.page-inner { padding: 20px !important; }

/* ---------- deployed song rows: override high-specificity legacy zebra ---------- */
.row-body .grid-content .song-container,
.row-body .grid-content .song-container:nth-child(odd),
.row-body .grid-content .song-container:nth-child(even) {
  display: grid !important;
  grid-template-columns: 86px minmax(0, 1fr) !important;
  column-gap: 15px !important;
  padding: 15px 17px !important;
  margin: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  background: rgba(255,255,255,.012) !important;
  box-shadow: none !important;
  overflow: visible !important;
  transition: background .16s ease !important;
}
.row-body .grid-content .song-container:nth-child(even) {
  background: rgba(255,255,255,.025) !important;
}
.row-body .grid-content .song-container:hover,
.row-body .grid-content .song-container:nth-child(odd):hover,
.row-body .grid-content .song-container:nth-child(even):hover {
  background: rgba(217,255,79,.035) !important;
  border-left: 0 !important;
}
.row-body .grid-content .song-container:last-child { border-bottom: 0 !important; }
.song-art {
  grid-row: 1 / span 3 !important;
  width: 86px !important;
  height: 86px !important;
  float: none !important;
  align-self: start !important;
}
.song-art img {
  width: 86px !important;
  height: 86px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  display: block !important;
}
.song-top {
  grid-column: 2 !important;
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 40px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}
.song-play-btn {
  grid-column: 1 !important;
  float: none !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background-color: var(--zp-accent) !important;
  background-image: none !important;
  position: relative !important;
  box-shadow: 0 6px 18px rgba(217,255,79,.11) !important;
}
.song-play-btn::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 10px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 11px solid #0a0b0e;
}
.song-titles {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) !important;
  column-gap: 9px !important;
  row-gap: 2px !important;
  align-items: center !important;
}
.song-author {
  grid-column: 1 !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
.song-author a { color: #8f97a8 !important; font-weight: 600 !important; }
.song-tag {
  grid-column: 2 !important;
  justify-self: start !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}
.song-tag a {
  padding: 2px 6px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.025) !important;
  color: #737c90 !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
}
.song-title {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}
.song-title a,
.song-title a div {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.song-timeago {
  grid-column: 3 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  max-width: 150px !important;
  color: #5f6980 !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
}
.song-timeago .timeago { color: #5f6980 !important; }
.player-controls {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding: 7px 0 4px 50px !important;
}
.song-container .player-controls div.jp-audio,
.song-container .player-controls .jp-audio,
.song-container .player-controls .jp-type-single,
.song-container .player-controls .jp-interface {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
}
.song-container .player-controls div.jp-audio div.jp-type-single div.jp-progress,
.song-container .player-controls .jp-progress,
.current-seek .jp-progress {
  position: relative !important;
  top: 0 !important;
  width: 100% !important;
  height: 4px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
}
.song-container .jp-seek-bar,
.current-seek .jp-seek-bar {
  height: 4px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
}
.song-container .jp-play-bar,
.current-seek .jp-play-bar {
  height: 4px !important;
  border-radius: 999px !important;
  background: var(--zp-accent) !important;
}
.track-actions-container {
  grid-column: 2 !important;
  min-width: 0 !important;
  padding: 4px 0 0 50px !important;
}
.track-actions-content {
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
.track-buttons-container {
  float: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
}
.track-stats {
  float: none !important;
  padding: 0 !important;
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #667086 !important;
}
.track-stats a { display: inline-flex !important; align-items: center !important; }
.track-stats .counter {
  float: none !important;
  width: auto !important;
  min-height: 18px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 0 0 19px !important;
  background-position: left center !important;
  background-size: 13px !important;
  color: #667086 !important;
  font-size: 10px !important;
  line-height: 18px !important;
}

/* Sharp, compact action buttons. Old PNGs remain only as fallback. */
.track-buttons-container > .like-button,
.track-buttons-container > .liked-button,
.track-buttons-container > .playlist-button,
.track-buttons-container > .share-button,
.track-buttons-container > a > .buy-button,
.track-buttons-container > a > .download-button,
.track-buttons-container > .delete-button,
.track-buttons-container > span > .public-button,
.track-buttons-container > span > .private-button,
.track-buttons-container > .public-button,
.track-buttons-container > .private-button {
  width: 31px !important;
  height: 31px !important;
  min-height: 31px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  overflow: visible !important;
  text-indent: 0 !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 9px !important;
  background-color: rgba(255,255,255,.035) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 16px !important;
  color: #8b94a6 !important;
}
.track-buttons-container .action-text { display: none !important; }
.track-buttons-container > .like-button:hover,
.track-buttons-container > .liked-button:hover,
.track-buttons-container > .playlist-button:hover,
.track-buttons-container > .share-button:hover,
.track-buttons-container > a > .buy-button:hover,
.track-buttons-container > a > .download-button:hover,
.track-buttons-container > .delete-button:hover,
.track-buttons-container > span > .public-button:hover,
.track-buttons-container > span > .private-button:hover {
  background-color: rgba(217,255,79,.08) !important;
  border-color: rgba(217,255,79,.22) !important;
  background-position: center !important;
  background-size: 16px !important;
}

/* ---------- sidebar components ---------- */
.sidebar-button-container { padding: 12px !important; box-sizing: border-box !important; }
.sidebar-button-container .upload-button,
.sidebar-button-container .edit-button,
.sidebar-button-container .back-button {
  width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  line-height: 1 !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: var(--zp-accent) !important;
  color: #0a0b0e !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: none !important;
}
.sidebar-button-container .upload-icon,
.sidebar-button-container .edit-icon,
.sidebar-button-container .back-icon,
.sidebar-button-container .success-icon {
  width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  background-position: center !important;
  background-size: 18px !important;
  flex: 0 0 18px !important;
}
.widget-statistics .sidebar-stats-container {
  padding: 13px 16px 16px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 8px 12px !important;
  align-items: center !important;
  overflow: visible !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
}
.widget-statistics .sidebar-stats-box {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  text-transform: uppercase !important;
  color: #727c90 !important;
}
.widget-statistics .sidebar-text-right,
.widget-statistics .sidebar-stats-box-right {
  text-align: right !important;
  font-size: 16px !important;
  height: auto !important;
  line-height: 1.2 !important;
  color: #dfe3ed !important;
}
.widget-statistics .sidebar-stats-today { color: var(--zp-accent) !important; }
.widget-statistics .sidebar-stats-divider,
.widget-statistics .sidebar-stats-bar { grid-column: 1 / -1 !important; width: 100% !important; float: none !important; }
.widget-statistics .sidebar-stats-bar {
  height: 5px !important;
  margin: 3px 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
}
.widget-statistics .sidebar-stats-bar-percentage { background: var(--zp-accent) !important; border-radius: inherit !important; }
.sidebar-suggestions-inner {
  padding: 10px 14px !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
  overflow: visible !important;
}
.sidebar-suggestions-inner:last-child { border-bottom: 0 !important; }
.sidebar-suggestions { float: none !important; min-height: 36px !important; }
.sidebar-suggestions-image { width: 34px !important; float: left !important; }
.sidebar-suggestions-image img { width: 34px !important; height: 34px !important; object-fit: cover !important; border-radius: 9px !important; }
.sidebar-suggestions-info { margin: 0 34px 0 44px !important; min-width: 0 !important; }
.sidebar-title-name { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; color: #c4cad6 !important; font-size: 11px !important; }
.sidebar-suggestions-small { padding-top: 4px !important; font-size: 9px !important; }
.sidebar-suggestions-tracks,
.sidebar-suggestions-followers { padding-right: 10px !important; color: #646e82 !important; }
.sidebar-link a,
.widget-admin-settings .sidebar-link a {
  min-height: 40px !important;
  height: auto !important;
  margin: 0 8px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 9px !important;
  color: #929bad !important;
  font-size: 11px !important;
}
.sidebar-link-active a,
.sidebar-link-active a:hover,
.widget-admin-settings .sidebar-link-active a,
.widget-admin-settings .sidebar-link-active a:hover {
  background: rgba(217,255,79,.09) !important;
  color: #dff889 !important;
}

/* ---------- admin: remove narrow legacy shell and dead space ---------- */
.row-page .grid-container {
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 22px !important;
}
.row-page .page-container { overflow: hidden !important; }
.row-page .widget-admin-settings { position: sticky !important; top: calc(var(--zp-header-h) + 20px) !important; }
.page-inner:has(.dash-stats) .page-input-container {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
}
.dash-stats {
  min-height: 118px !important;
  padding: 16px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.028) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}
.dash-values { font-size: 30px !important; line-height: 1 !important; }
.dash-half { float: none !important; width: auto !important; min-width: 0 !important; }
.dash-stats .chart {
  width: 76px !important;
  height: 36px !important;
  padding: 4px 0 0 !important;
  opacity: .8 !important;
}
.dash-stats .chart li { height: 32px !important; padding-right: 2px !important; }
.dash-stats .chart span { background: #8068e8 !important; border-radius: 2px 2px 0 0 !important; }
.dashboard-info { margin-top: 8px !important; }

/* ---------- footer: actual HTML has three columns ---------- */
.footer {
  margin-top: 54px !important;
  padding-bottom: calc(var(--zp-player-h) + 28px) !important;
  border-top: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.footer-gta {
  border-top: 1px solid rgba(255,255,255,.07) !important;
  box-shadow: none !important;
  background: #0c0e14 !important;
}
.footer-gta-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 46px !important;
  padding-top: 34px !important;
  padding-bottom: 30px !important;
  border-bottom: 0 !important;
}
.footer-gta-col { padding: 0 !important; }
.footer-gta-title { font-size: 11px !important; margin-bottom: 9px !important; }
.footer-gta-list a,
.footer-gta-link { font-size: 11px !important; line-height: 1.7 !important; }
.footer-social-btn { width: 34px !important; height: 34px !important; border-radius: 10px !important; background-size: 15px !important; }
.footer-gta-bottom { padding: 10px 0 !important; background: rgba(255,255,255,.012) !important; }
.footer-gta-bottom-inner { min-height: 36px !important; }
.footer-gta-copyright { font-size: 10px !important; color: #596174 !important; }

/* ---------- player: replace mismatched legacy sprite with crisp vector masks ---------- */
.bottombar {
  left: 14px !important;
  right: 14px !important;
  bottom: 12px !important;
  height: 72px !important;
  border-radius: 17px !important;
  background: rgba(15,17,24,.96) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 16px 56px rgba(0,0,0,.42) !important;
  overflow: hidden !important;
}
.bottombar-container { padding: 0 15px !important; }
#sound-container.top-player {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 250px !important;
  gap: 16px !important;
  align-items: center !important;
}
.player-nine { min-width: 0 !important; height: 100% !important; }
.player-nine .jp-interface {
  display: grid !important;
  grid-template-columns: auto minmax(130px,1fr) auto !important;
  gap: 15px !important;
  align-items: center !important;
  height: 100% !important;
}
.player-container-left,
.player-buttons,
.player-repeat,
.player-container-right {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.player-container-left { width: auto !important; }
.player-repeat { margin-left: 2px !important; }
.player-container-middle { min-width: 0 !important; gap: 9px !important; }
.player-container-right { width: auto !important; min-width: 98px !important; justify-content: flex-end !important; }
.player-three {
  width: auto !important;
  min-width: 0 !important;
  max-width: 250px !important;
  height: 100% !important;
  border-left: 1px solid rgba(255,255,255,.065) !important;
  padding-left: 15px !important;
}
#topbar-track-info { width: 100% !important; min-width: 0 !important; }
#topbar-artwork img { width: 42px !important; height: 42px !important; border-radius: 10px !important; }
.topbar-song-name a { font-size: 12px !important; }
.topbar-author-name a { font-size: 10px !important; }

/* reset all player sprite images */
.top-player a.jp-play,
.top-player a.jp-pause,
.top-player .prev-button,
.top-player .next-button,
.top-player a.jp-repeat,
.top-player a.jp-repeat-off,
.top-player a.jp-mute,
.top-player a.jp-unmute {
  position: relative !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background-image: none !important;
  background-color: transparent !important;
  color: #9ca5b6 !important;
  opacity: 1 !important;
}
.top-player a.jp-play,
.top-player a.jp-pause {
  flex-basis: 38px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: var(--zp-accent) !important;
  color: #0b0d10 !important;
}
.top-player a.jp-play:hover,
.top-player a.jp-pause:hover { background: #e5ff7c !important; }
.top-player .prev-button:hover,
.top-player .next-button:hover,
.top-player a.jp-repeat:hover,
.top-player a.jp-repeat-off:hover,
.top-player a.jp-mute:hover,
.top-player a.jp-unmute:hover { background-color: rgba(255,255,255,.055) !important; color: #fff !important; }

.top-player a.jp-play::before,
.top-player a.jp-pause::before,
.top-player a.jp-pause::after,
.top-player .prev-button::before,
.top-player .next-button::before,
.top-player a.jp-repeat::before,
.top-player a.jp-repeat-off::before,
.top-player a.jp-mute::before,
.top-player a.jp-unmute::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 17px;
  height: 17px;
  background: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.top-player a.jp-play::before {
  width: 15px; height: 15px; margin-left: 1px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E");
}
.top-player a.jp-pause::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h4v14H7zm6 0h4v14h-4z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h4v14H7zm6 0h4v14h-4z' fill='black'/%3E%3C/svg%3E");
}
.top-player .prev-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 5h2v14H6zm3.5 7L18 5v14z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 5h2v14H6zm3.5 7L18 5v14z' fill='black'/%3E%3C/svg%3E");
}
.top-player .next-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 5h2v14h-2zM6 5l8.5 7L6 19z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 5h2v14h-2zM6 5l8.5 7L6 19z' fill='black'/%3E%3C/svg%3E");
}
.top-player a.jp-repeat::before,
.top-player a.jp-repeat-off::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7h9.6L14 4.4 15.4 3 20.8 8.4 15.4 13.8 14 12.4 16.4 10H7a3 3 0 000 6h2v2H7A5 5 0 017 8zm10 9H7.4L10 18.6 8.6 20 3.2 14.6 8.6 9.2 10 10.6 7.6 13H17a3 3 0 000-6h-2V5h2a5 5 0 010 10z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7h9.6L14 4.4 15.4 3 20.8 8.4 15.4 13.8 14 12.4 16.4 10H7a3 3 0 000 6h2v2H7A5 5 0 017 8zm10 9H7.4L10 18.6 8.6 20 3.2 14.6 8.6 9.2 10 10.6 7.6 13H17a3 3 0 000-6h-2V5h2a5 5 0 010 10z' fill='black'/%3E%3C/svg%3E");
}
.top-player a.jp-repeat-off { color: var(--zp-accent) !important; background-color: rgba(217,255,79,.08) !important; }
.top-player a.jp-mute::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9zm11.5 1.2v3.6a3 3 0 000-3.6zm0-4v2.1a5 5 0 010 7.4v2.1a7 7 0 000-11.6z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9zm11.5 1.2v3.6a3 3 0 000-3.6zm0-4v2.1a5 5 0 010 7.4v2.1a7 7 0 000-11.6z' fill='black'/%3E%3C/svg%3E");
}
.top-player a.jp-unmute::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9zm11.2 1.2L17 12l-1.8 1.8 1.4 1.4 1.8-1.8 1.8 1.8 1.4-1.4-1.8-1.8 1.8-1.8-1.4-1.4-1.8 1.8-1.8-1.8z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9zm11.2 1.2L17 12l-1.8 1.8 1.4 1.4 1.8-1.8 1.8 1.8 1.4-1.4-1.8-1.8 1.8-1.8-1.4-1.4-1.8 1.8-1.8-1.8z' fill='black'/%3E%3C/svg%3E");
}
.player-nine .jp-progress {
  height: 5px !important;
  margin: 0 !important;
  top: 0 !important;
  background: rgba(255,255,255,.11) !important;
}
.player-nine .jp-seek-bar { height: 5px !important; background: transparent !important; }
.player-nine .jp-play-bar { height: 5px !important; background: var(--zp-accent) !important; }
#current-time,
#duration-time {
  width: auto !important;
  min-width: 34px !important;
  height: auto !important;
  margin: 0 !important;
  line-height: 1 !important;
  float: none !important;
  text-align: center !important;
  color: #606a7e !important;
  font-size: 9px !important;
}
.jp-volume-bar { width: 62px !important; height: 5px !important; margin: 0 !important; float: none !important; }

/* Inline current-track jPlayer still needs a crisp play/pause button. */
.song-container .player-controls a.jp-play,
.song-container .player-controls a.jp-pause {
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background-image: none !important;
  background-color: var(--zp-accent) !important;
  position: relative !important;
}
.song-container .player-controls a.jp-play::before,
.song-container .player-controls a.jp-pause::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: 14px; height: 14px;
  background: #0a0b0e;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-size: contain; mask-size: contain;
}
.song-container .player-controls a.jp-play::before {
  margin-left: 1px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='black'/%3E%3C/svg%3E");
}
.song-container .player-controls a.jp-pause::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h4v14H7zm6 0h4v14h-4z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h4v14H7zm6 0h4v14h-4z' fill='black'/%3E%3C/svg%3E");
}

/* ---------- responsive live fixes ---------- */
@media (max-width: 1180px) {
  .row-page, .row-body, .header, .footer-gta-inner, .footer-gta-bottom-inner { width: calc(100% - 28px) !important; }
  .grid-container, .row-page .grid-container { grid-template-columns: minmax(0,1fr) 276px !important; gap: 18px !important; }
  .header > a.menu-button[target="_blank"] { display: none !important; }
  #sound-container.top-player { grid-template-columns: minmax(0,1fr) 210px !important; }
  .player-three { max-width: 210px !important; }
}
@media (max-width: 920px) {
  :root { --zp-header-h: 68px; }
  .row-page { padding-top: 20px !important; }
  .grid-container, .row-page .grid-container { grid-template-columns: 1fr !important; }
  .grid-sidebar { position: static !important; }
  .row-page .widget-admin-settings { position: static !important; }
  .page-inner:has(.dash-stats) .page-input-container { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .footer-gta-inner { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 24px !important; }
  #sound-container.top-player { grid-template-columns: minmax(0,1fr) 170px !important; }
  .player-three { max-width: 170px !important; }
  .player-container-right { display: none !important; }
}
@media (max-width: 680px) {
  .row-page, .row-body, .header, .footer-gta-inner, .footer-gta-bottom-inner { width: calc(100% - 20px) !important; }
  .row-body .grid-content .song-container,
  .row-body .grid-content .song-container:nth-child(odd),
  .row-body .grid-content .song-container:nth-child(even) {
    grid-template-columns: 64px minmax(0,1fr) !important;
    padding: 12px !important;
    column-gap: 11px !important;
  }
  .song-art, .song-art img { width: 64px !important; height: 64px !important; border-radius: 10px !important; }
  .song-top { grid-template-columns: 36px minmax(0,1fr) !important; gap: 8px !important; }
  .song-play-btn { width: 34px !important; height: 34px !important; }
  .song-play-btn::after { left: 13px; top: 9px; border-top-width: 8px; border-bottom-width: 8px; border-left-width: 10px; }
  .song-timeago { display: none !important; }
  .song-titles { grid-column: 2 !important; }
  .song-tag { display: none !important; }
  .song-author { grid-column: 1 / -1 !important; }
  .song-title { grid-column: 1 / -1 !important; font-size: 13px !important; }
  .player-controls { padding-left: 44px !important; }
  .track-actions-container { grid-column: 1 / -1 !important; padding: 7px 0 0 0 !important; }
  .track-stats { margin-left: 0 !important; }
  .page-inner:has(.dash-stats) .page-input-container { grid-template-columns: 1fr !important; }
  .footer-gta-inner { grid-template-columns: 1fr !important; gap: 22px !important; }
  .footer-gta-bottom-inner { align-items: flex-start !important; }
  .bottombar { left: 6px !important; right: 6px !important; bottom: 6px !important; height: 68px !important; }
  #sound-container.top-player { display: block !important; }
  .player-three { display: none !important; }
  .player-nine .jp-interface { grid-template-columns: auto minmax(70px,1fr) !important; gap: 9px !important; }
  .player-container-right { display: none !important; }
  .player-repeat { display: none !important; }
  #current-time, #duration-time { display: none !important; }
  .top-player .prev-button { display: none !important; }
}
@media (max-width: 420px) {
  .header { width: calc(100% - 14px) !important; }
  .search-input { min-width: 80px !important; }
  .menu_btn { width: 36px !important; height: 36px !important; }
  .menu-image { width: 36px !important; height: 36px !important; padding: 0 !important; }
  .menu_img, .menu_img img { width: 25px !important; height: 25px !important; }
  .track-stats { width: 100% !important; margin-top: 2px !important; }
}

/* ============================================================
   PULSE 2.2.1 — CONTROL ICON CLEANUP
   Remove legacy phpSound PNG sprites from track actions/stats.
   ============================================================ */
.track-buttons-container > .like-button,
.track-buttons-container > .liked-button,
.track-buttons-container > .playlist-button,
.track-buttons-container > .share-button,
.track-buttons-container > a > .buy-button,
.track-buttons-container > a > .download-button,
.track-buttons-container > .delete-button,
.track-buttons-container > span > .public-button,
.track-buttons-container > span > .private-button,
.track-buttons-container > .public-button,
.track-buttons-container > .private-button {
  position: relative !important;
  background-image: none !important;
  font-size: 0 !important;
  cursor: pointer !important;
}
.track-buttons-container > .like-button::before,
.track-buttons-container > .liked-button::before,
.track-buttons-container > .playlist-button::before,
.track-buttons-container > .share-button::before,
.track-buttons-container > a > .buy-button::before,
.track-buttons-container > a > .download-button::before,
.track-buttons-container > .delete-button::before,
.track-buttons-container > span > .public-button::before,
.track-buttons-container > span > .private-button::before,
.track-buttons-container > .public-button::before,
.track-buttons-container > .private-button::before {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  background: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.track-buttons-container > .like-button::before,
.track-buttons-container > .liked-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7-4.35-9.5-8.5C.6 9.35 2.28 5.5 5.92 5.08 8.04 4.84 10.1 6 12 8.04 13.9 6 15.96 4.84 18.08 5.08c3.64.42 5.32 4.27 3.42 7.42C19 16.65 12 21 12 21z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7-4.35-9.5-8.5C.6 9.35 2.28 5.5 5.92 5.08 8.04 4.84 10.1 6 12 8.04 13.9 6 15.96 4.84 18.08 5.08c3.64.42 5.32 4.27 3.42 7.42C19 16.65 12 21 12 21z'/%3E%3C/svg%3E");
}
.track-buttons-container > .liked-button { color: var(--zp-accent) !important; border-color: rgba(217,255,79,.24) !important; background-color: rgba(217,255,79,.075) !important; }
.track-buttons-container > .playlist-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h10v2H4V6zm0 5h10v2H4v-2zm0 5h7v2H4v-2zm14-5V8h2v3h3v2h-3v3h-2v-3h-3v-2h3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h10v2H4V6zm0 5h10v2H4v-2zm0 5h7v2H4v-2zm14-5V8h2v3h3v2h-3v3h-2v-3h-3v-2h3z'/%3E%3C/svg%3E");
}
.track-buttons-container > .share-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 16a3 3 0 00-2.39 1.19L8.7 13.73a3.14 3.14 0 000-3.46l6.91-3.46A3 3 0 1015 5c0 .18.02.36.05.53L8.1 9A3 3 0 106 15c.79 0 1.5-.31 2.04-.81l6.97 3.48A3 3 0 1018 16z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M18 16a3 3 0 00-2.39 1.19L8.7 13.73a3.14 3.14 0 000-3.46l6.91-3.46A3 3 0 1015 5c0 .18.02.36.05.53L8.1 9A3 3 0 106 15c.79 0 1.5-.31 2.04-.81l6.97 3.48A3 3 0 1018 16z'/%3E%3C/svg%3E");
}
.track-buttons-container > a > .download-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 3h2v10.17l3.59-3.58L18 11l-6 6-6-6 1.41-1.41L11 13.17V3zM5 19h14v2H5v-2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 3h2v10.17l3.59-3.58L18 11l-6 6-6-6 1.41-1.41L11 13.17V3zM5 19h14v2H5v-2z'/%3E%3C/svg%3E");
}
.track-buttons-container > a > .buy-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4h14l-1.5 9H9L7 4zM5 2H2v2h2l3 12h12v-2H8.5l-.4-2H21l2-10H7.5L7 2H5zm4 16a2 2 0 100 4 2 2 0 000-4zm9 0a2 2 0 100 4 2 2 0 000-4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4h14l-1.5 9H9L7 4zM5 2H2v2h2l3 12h12v-2H8.5l-.4-2H21l2-10H7.5L7 2H5zm4 16a2 2 0 100 4 2 2 0 000-4zm9 0a2 2 0 100 4 2 2 0 000-4z'/%3E%3C/svg%3E");
}
.track-buttons-container > .delete-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 3h8l1 2h4v2H3V5h4l1-2zm-2 6h12l-1 12H7L6 9zm3 2v7h2v-7H9zm4 0v7h2v-7h-2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 3h8l1 2h4v2H3V5h4l1-2zm-2 6h12l-1 12H7L6 9zm3 2v7h2v-7H9zm4 0v7h2v-7h-2z'/%3E%3C/svg%3E");
}
.track-buttons-container > span > .public-button::before,
.track-buttons-container > .public-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 100 20 10 10 0 000-20zm6.9 6h-3.05a15.7 15.7 0 00-1.4-3.22A8.05 8.05 0 0118.9 8zM12 4c.83 1.2 1.46 2.54 1.86 4h-3.72C10.54 6.54 11.17 5.2 12 4zM4.26 14a7.93 7.93 0 010-4h3.39a16.7 16.7 0 000 4H4.26zm.84 2h3.05c.3 1.13.77 2.21 1.4 3.22A8.05 8.05 0 015.1 16zm3.05-8H5.1a8.05 8.05 0 014.45-3.22A15.7 15.7 0 008.15 8zM12 20c-.83-1.2-1.46-2.54-1.86-4h3.72c-.4 1.46-1.03 2.8-1.86 4zm2.35-6h-4.7a14.7 14.7 0 010-4h4.7a14.7 14.7 0 010 4zm.1 5.22c.63-1.01 1.1-2.09 1.4-3.22h3.05a8.05 8.05 0 01-4.45 3.22zM16.35 14a16.7 16.7 0 000-4h3.39a7.93 7.93 0 010 4h-3.39z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 100 20 10 10 0 000-20zm6.9 6h-3.05a15.7 15.7 0 00-1.4-3.22A8.05 8.05 0 0118.9 8zM12 4c.83 1.2 1.46 2.54 1.86 4h-3.72C10.54 6.54 11.17 5.2 12 4zM4.26 14a7.93 7.93 0 010-4h3.39a16.7 16.7 0 000 4H4.26zm.84 2h3.05c.3 1.13.77 2.21 1.4 3.22A8.05 8.05 0 015.1 16zm3.05-8H5.1a8.05 8.05 0 014.45-3.22A15.7 15.7 0 008.15 8zM12 20c-.83-1.2-1.46-2.54-1.86-4h3.72c-.4 1.46-1.03 2.8-1.86 4zm2.35-6h-4.7a14.7 14.7 0 010-4h4.7a14.7 14.7 0 010 4zm.1 5.22c.63-1.01 1.1-2.09 1.4-3.22h3.05a8.05 8.05 0 01-4.45 3.22zM16.35 14a16.7 16.7 0 000-4h3.39a7.93 7.93 0 010 4h-3.39z'/%3E%3C/svg%3E");
}
.track-buttons-container > span > .private-button::before,
.track-buttons-container > .private-button::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 8h-1V6a4 4 0 10-8 0v2H7a2 2 0 00-2 2v10h14V10a2 2 0 00-2-2zm-7-2a2 2 0 114 0v2h-4V6zm3 9.73V18h-2v-2.27a2 2 0 112 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17 8h-1V6a4 4 0 10-8 0v2H7a2 2 0 00-2 2v10h14V10a2 2 0 00-2-2zm-7-2a2 2 0 114 0v2h-4V6zm3 9.73V18h-2v-2.27a2 2 0 112 0z'/%3E%3C/svg%3E");
}
.track-buttons-container > .delete-button { color: #a87984 !important; }
.track-buttons-container > span > .private-button,
.track-buttons-container > .private-button { color: #9b88d9 !important; }

/* Vector stats icons, no inherited legacy background coordinates. */
.track-stats .counter {
  position: relative !important;
  background-image: none !important;
  padding-left: 18px !important;
}
.track-stats .counter::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 13px;
  height: 13px;
  transform: translateY(-50%);
  background: #687286;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.track-stats .views_counter::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5C6.5 5 2 10 2 12s4.5 7 10 7 10-5 10-7-4.5-7-10-7zm0 11a4 4 0 110-8 4 4 0 010 8zm0-2a2 2 0 100-4 2 2 0 000 4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5C6.5 5 2 10 2 12s4.5 7 10 7 10-5 10-7-4.5-7-10-7zm0 11a4 4 0 110-8 4 4 0 010 8zm0-2a2 2 0 100-4 2 2 0 000 4z'/%3E%3C/svg%3E");
}
.track-stats .comments_counter::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v12H8l-4 4V4zm3 4v2h10V8H7zm0 4v2h7v-2H7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v12H8l-4 4V4zm3 4v2h10V8H7zm0 4v2h7v-2H7z'/%3E%3C/svg%3E");
}
.track-stats .like_btn::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7-4.35-9.5-8.5C.6 9.35 2.28 5.5 5.92 5.08 8.04 4.84 10.1 6 12 8.04 13.9 6 15.96 4.84 18.08 5.08c3.64.42 5.32 4.27 3.42 7.42C19 16.65 12 21 12 21z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-7-4.35-9.5-8.5C.6 9.35 2.28 5.5 5.92 5.08 8.04 4.84 10.1 6 12 8.04 13.9 6 15.96 4.84 18.08 5.08c3.64.42 5.32 4.27 3.42 7.42C19 16.65 12 21 12 21z'/%3E%3C/svg%3E");
}
.track-stats .downloads_counter::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 3h2v10.17l3.59-3.58L18 11l-6 6-6-6 1.41-1.41L11 13.17V3zM5 19h14v2H5v-2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 3h2v10.17l3.59-3.58L18 11l-6 6-6-6 1.41-1.41L11 13.17V3zM5 19h14v2H5v-2z'/%3E%3C/svg%3E");
}

/* Real footer has 3 groups; keep them balanced even with long link lists. */
.footer-gta-inner > .footer-gta-col { min-width: 0 !important; }
.footer-gta-inner > .footer-gta-col:nth-child(2) { justify-self: center !important; width: min(100%, 290px) !important; }
.footer-gta-inner > .footer-gta-col:nth-child(3) { justify-self: end !important; width: min(100%, 290px) !important; }

/* Don't leave a giant empty panel under short admin pages. */
.row-page .body-content,
.row-page .grid-container,
.row-page .grid-content { min-height: 0 !important; height: auto !important; }
.row-page .page-container { min-height: 0 !important; }

@media (max-width: 920px) {
  .footer-gta-inner > .footer-gta-col:nth-child(2),
  .footer-gta-inner > .footer-gta-col:nth-child(3) { justify-self: stretch !important; width: 100% !important; }
}

/* ============================================================
   ZAHRAT PULSE 2.3 — GLOBAL LEGACY CONFLICT CLEANUP
   Loaded last and intentionally scoped to the Pulse theme.
   ============================================================ */

/* ----- numbered pagination ----- */
.zp-pagination {
  clear: both !important;
  width: 100% !important;
  padding: 22px 16px 8px !important;
  box-sizing: border-box !important;
  border-top: 1px solid rgba(255,255,255,.065) !important;
}
.zp-pagination-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}
.zp-page-link,
.zp-page-ellipsis {
  float: none !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  background: rgba(255,255,255,.025) !important;
  color: #929bad !important;
  font: 800 12px/1 Manrope, sans-serif !important;
  text-decoration: none !important;
}
a.zp-page-link:hover,
a.zp-page-link:focus-visible {
  border-color: rgba(217,255,79,.28) !important;
  background: rgba(217,255,79,.07) !important;
  color: var(--zp-accent) !important;
  outline: none !important;
}
.zp-page-current {
  border-color: var(--zp-accent) !important;
  background: var(--zp-accent) !important;
  color: #090b0d !important;
  box-shadow: 0 7px 22px rgba(217,255,79,.12) !important;
}
.zp-page-prev,
.zp-page-next { font-size: 22px !important; font-weight: 600 !important; }
.zp-page-ellipsis { border-color: transparent !important; background: transparent !important; width: 26px !important; min-width: 26px !important; }
.zp-pagination-meta { margin-top: 9px !important; text-align: center !important; color: #596377 !important; font-size: 10px !important; }

/* ----- sidebars: one surface, one click target ----- */
.theme-pulse .sidebar-content > .sidebar-link,
.theme-pulse .widget-admin-settings .sidebar-link {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 4px 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.theme-pulse .sidebar-content > .sidebar-link:hover,
.theme-pulse .widget-admin-settings .sidebar-link:hover { background: transparent !important; }
.theme-pulse .sidebar-link > a,
.theme-pulse .widget-admin-settings .sidebar-link > a {
  width: 100% !important;
  min-height: 42px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 13px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  box-sizing: border-box !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #929bad !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.theme-pulse .sidebar-link > a:hover,
.theme-pulse .widget-admin-settings .sidebar-link > a:hover {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.055) !important;
  color: #eef1f6 !important;
}
.theme-pulse .sidebar-link-active,
.theme-pulse .widget-admin-settings .sidebar-link-active { background: transparent !important; }
.theme-pulse .sidebar-link-active > a,
.theme-pulse .sidebar-link-active > a:hover,
.theme-pulse .widget-admin-settings .sidebar-link-active > a,
.theme-pulse .widget-admin-settings .sidebar-link-active > a:hover {
  background: rgba(217,255,79,.09) !important;
  border-color: rgba(217,255,79,.17) !important;
  color: #dff889 !important;
}
.theme-pulse .sidebar-link img { flex: 0 0 18px !important; width: 18px !important; height: 18px !important; margin: 0 !important; object-fit: contain !important; }
.theme-pulse .admin-notifications-number { margin-left: auto !important; }
.theme-pulse .sidebar-link-divider { padding: 6px 14px !important; }

/* ----- track row anatomy: legacy floats may never re-enter playing state ----- */
.theme-pulse .row-body .grid-content .song-container,
.theme-pulse .row-body .grid-content .song-container.current-song {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 86px minmax(0,1fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 15px !important;
  row-gap: 5px !important;
  min-height: 116px !important;
  padding: 15px 17px !important;
  overflow: visible !important;
}
.theme-pulse .song-art { grid-column: 1 !important; grid-row: 1 / -1 !important; float: none !important; margin: 0 !important; }
.theme-pulse .song-top {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 40px minmax(0,1fr) auto !important;
  gap: 9px !important;
  align-items: center !important;
  overflow: visible !important;
}
.theme-pulse .song-play-btn {
  grid-column: 1 !important;
  position: relative !important;
  float: none !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  flex: none !important;
}
.theme-pulse .song-titles {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.theme-pulse .song-author,
.theme-pulse .song-title { min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.theme-pulse .song-title > a,
.theme-pulse .song-title > a > div { display: block !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.theme-pulse .song-timeago {
  grid-column: 3 !important;
  float: none !important;
  margin: 0 !important;
  max-width: 130px !important;
  align-self: start !important;
  padding-top: 2px !important;
  white-space: nowrap !important;
}
.theme-pulse .song-tag { float: none !important; display: inline-flex !important; margin: 3px 0 0 !important; max-width: 100% !important; }
.theme-pulse .song-tag a { max-width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.theme-pulse .player-controls {
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
.theme-pulse .track-actions-container {
  grid-column: 2 !important;
  grid-row: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
.theme-pulse .song-container .player-controls > div,
.theme-pulse .song-container .player-controls .jp-audio,
.theme-pulse .song-container .player-controls .jp-type-single,
.theme-pulse .song-container .player-controls .jp-gui,
.theme-pulse .song-container .player-controls .jp-interface {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.theme-pulse .song-container .player-controls .jp-interface {
  position: static !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  min-height: 38px !important;
}
.theme-pulse .song-container .player-controls a.jp-play,
.theme-pulse .song-container .player-controls a.jp-pause {
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  float: none !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 2 !important;
}
.theme-pulse .song-container .player-controls .jp-progress {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 5px !important;
  margin: 0 !important;
  float: none !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.11) !important;
}
.theme-pulse .song-container .player-controls .jp-seek-bar,
.theme-pulse .song-container .player-controls .jp-play-bar { height: 5px !important; border-radius: inherit !important; }
.theme-pulse .song-container .player-controls .jp-time-holder { display: none !important; position: static !important; width: auto !important; }
.theme-pulse .song-container.current-song { background: rgba(217,255,79,.035) !important; box-shadow: inset 3px 0 0 rgba(217,255,79,.72) !important; }
.theme-pulse .song-container.current-song .song-title a { color: #f4f8ff !important; }

/* ----- bottom player: hard reset of every inherited size/float ----- */
.theme-pulse .bottombar-container,
.theme-pulse #sound-container.top-player,
.theme-pulse #sound-container.top-player .jp-type-single,
.theme-pulse #sound-container.top-player .jp-gui,
.theme-pulse #sound-container.top-player .jp-interface {
  box-sizing: border-box !important;
}
.theme-pulse #sound-container.top-player,
.theme-pulse #sound-container.top-player div.jp-audio { float: none !important; }
.theme-pulse #sound-container.top-player .jp-interface { position: static !important; }
.theme-pulse #sound-container.top-player .player-container-middle {
  height: auto !important;
  width: auto !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
}
.theme-pulse #sound-container.top-player .jp-progress {
  position: static !important;
  left: auto !important;
  width: auto !important;
  flex: 1 1 auto !important;
}
.theme-pulse #sound-container.top-player .jp-volume-bar { position: static !important; left: auto !important; top: auto !important; }
.theme-pulse #topbar-track-info {
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  overflow: hidden !important;
}
.theme-pulse #topbar-artwork {
  float: none !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #171a23 !important;
}
.theme-pulse #topbar-artwork > a,
.theme-pulse #topbar-artwork img {
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  object-fit: cover !important;
}
.theme-pulse #topbar-track-details {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.theme-pulse .topbar-song-name,
.theme-pulse .topbar-author-name,
.theme-pulse .topbar-song-name a,
.theme-pulse .topbar-author-name a {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ----- profile hero redesign ----- */
.theme-pulse .cover-container {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 22px !important;
  background: #10131b !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
  overflow: hidden !important;
}
.theme-pulse .cover-content { overflow: visible !important; border: 0 !important; background: transparent !important; }
.theme-pulse .cover-image {
  float: none !important;
  width: 100% !important;
  height: clamp(190px, 22vw, 270px) !important;
  min-height: 190px !important;
  padding: 0 !important;
  margin: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  position: relative !important;
}
.theme-pulse .cover-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,6,10,.04) 25%, rgba(8,10,15,.68) 100%);
  pointer-events: none;
}
.theme-pulse .cover-description {
  float: none !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 22px 18px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 112px minmax(0,1fr) auto !important;
  grid-template-areas: "avatar identity actions" "tabs tabs tabs" !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  align-items: center !important;
  overflow: visible !important;
}
.theme-pulse .cover-avatar-content {
  grid-area: avatar !important;
  width: 112px !important;
  height: 112px !important;
  margin: -48px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 3 !important;
}
.theme-pulse .cover-avatar {
  position: static !important;
  float: none !important;
  width: 112px !important;
  height: 112px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.theme-pulse .cover-avatar img {
  width: 112px !important;
  height: 112px !important;
  margin: 0 !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  border: 4px solid #10131b !important;
  box-sizing: border-box !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.35) !important;
}
.theme-pulse .cover-description-content {
  grid-area: identity !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 13px 0 0 !important;
}
.theme-pulse .cover-text-container {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-shadow: none !important;
  font-size: 22px !important;
  min-width: 0 !important;
}
.theme-pulse .cover-username { min-width: 0 !important; font-weight: 800 !important; line-height: 1.15 !important; }
.theme-pulse .cover-username a { padding: 0 !important; color: #f3f6fb !important; }
.theme-pulse .cover-location { padding: 6px 0 0 !important; color: #7e899e !important; font-size: 11px !important; }
.theme-pulse .cover-description-buttons {
  grid-area: actions !important;
  position: static !important;
  right: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 13px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}
.theme-pulse .cover-description-buttons > div,
.theme-pulse .cover-description-buttons > a { margin: 0 !important; display: block !important; text-decoration: none !important; }
.theme-pulse .cover-description-buttons .subscribe_btn,
.theme-pulse .cover-description-buttons .edit_profile_btn,
.theme-pulse .cover-description-buttons .message_btn {
  float: none !important;
  width: auto !important;
  min-width: 112px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  background-image: none !important;
  background-color: rgba(255,255,255,.045) !important;
  color: #dfe5ee !important;
  cursor: pointer !important;
  text-indent: 0 !important;
  font: 800 11px/1 Manrope,sans-serif !important;
}
.theme-pulse .cover-description-buttons .subscribe_btn { background: var(--zp-accent) !important; border-color: var(--zp-accent) !important; color: #090b0d !important; }
.theme-pulse .cover-description-buttons .subscribe_btn.unsubscribe { background: rgba(255,255,255,.045) !important; border-color: rgba(255,255,255,.11) !important; color: #dfe5ee !important; }




.theme-pulse .cover-description-buttons .message_btn::before,
.theme-pulse .cover-description-buttons .subscribe_btn::before,
.theme-pulse .cover-description-buttons .edit_profile_btn::before {
  content: "";
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  background: currentColor;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-size:contain; mask-size:contain;
}
.theme-pulse .cover-description-buttons .message_btn::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v12H8l-4 4V4zm3 4v2h10V8H7zm0 4v2h7v-2H7z' fill='black'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v12H8l-4 4V4zm3 4v2h10V8H7zm0 4v2h7v-2H7z' fill='black'/%3E%3C/svg%3E");
}
.theme-pulse .cover-description-buttons .subscribe_btn::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7-4.35-9.5-8.5C.6 9.35 2.28 5.5 5.92 5.08 8.04 4.84 10.1 6 12 8.04 13.9 6 15.96 4.84 18.08 5.08c3.64.42 5.32 4.27 3.42 7.42C19 16.65 12 21 12 21z' fill='black'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7-4.35-9.5-8.5C.6 9.35 2.28 5.5 5.92 5.08 8.04 4.84 10.1 6 12 8.04 13.9 6 15.96 4.84 18.08 5.08c3.64.42 5.32 4.27 3.42 7.42C19 16.65 12 21 12 21z' fill='black'/%3E%3C/svg%3E");
}
.theme-pulse .cover-description-buttons .edit_profile_btn::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17.25V20h2.75L17.81 8.94l-2.75-2.75L4 17.25zM19.71 7.04a1 1 0 000-1.41l-1.34-1.34a1 1 0 00-1.41 0l-1.05 1.05 2.75 2.75 1.05-1.05z' fill='black'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17.25V20h2.75L17.81 8.94l-2.75-2.75L4 17.25zM19.71 7.04a1 1 0 000-1.41l-1.34-1.34a1 1 0 00-1.41 0l-1.05 1.05 2.75 2.75 1.05-1.05z' fill='black'/%3E%3C/svg%3E");
}
.theme-pulse .cover-buttons {
  grid-area: tabs !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 0 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  border-top: 1px solid rgba(255,255,255,.065) !important;
}
.theme-pulse a.cover-button {
  min-height: 36px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 10px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

/* ----- profile About/right rail ----- */
.theme-pulse .widget-about .sidebar-header { letter-spacing: .02em !important; }
.theme-pulse .widget-about .sidebar-description {
  margin: 0 !important;
  padding: 16px 17px !important;
  color: #a0a8b8 !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  white-space: pre-line !important;
}
.theme-pulse .widget-about .sidebar-social-container {
  padding: 13px 15px 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  overflow: visible !important;
}
.theme-pulse .widget-about .social-icon-container,
.theme-pulse .widget-about .social-icon-padding { float: none !important; margin: 0 !important; padding: 0 !important; }
.theme-pulse .widget-about .social-icon-container a {
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.03) !important;
}
.theme-pulse .widget-about .social-icon-container a:hover { border-color: rgba(217,255,79,.25) !important; background: rgba(217,255,79,.06) !important; }

/* ----- stop legacy clearfix/float rules from changing surfaces by state ----- */
.theme-pulse .page-container,
.theme-pulse .page-content,
.theme-pulse .page-inner,
.theme-pulse .sidebar-container,
.theme-pulse .sidebar-content,
.theme-pulse .list-container,
.theme-pulse .list-inner,
.theme-pulse .message-container,
.theme-pulse .track-actions,
.theme-pulse .track-actions-content,
.theme-pulse .playlist-actions,
.theme-pulse .playlist-actions-content { box-sizing: border-box !important; }
.theme-pulse .track-actions-content,
.theme-pulse .playlist-actions-content { float: none !important; }

@media (max-width: 760px) {
  .theme-pulse .row-body .grid-content .song-container,
  .theme-pulse .row-body .grid-content .song-container.current-song {
    grid-template-columns: 72px minmax(0,1fr) !important;
    column-gap: 12px !important;
    min-height: 102px !important;
    padding: 13px !important;
  }
  .theme-pulse .song-art,
  .theme-pulse .song-art img { width: 72px !important; height: 72px !important; }
  .theme-pulse .song-top { grid-template-columns: 38px minmax(0,1fr) !important; gap: 7px !important; }
  .theme-pulse .song-timeago { display: none !important; }
  .theme-pulse .track-actions-content { gap: 5px !important; }
  .theme-pulse .cover-image { height: 190px !important; min-height: 190px !important; }
  .theme-pulse .cover-description {
    padding: 0 15px 15px !important;
    grid-template-columns: 82px minmax(0,1fr) !important;
    grid-template-areas: "avatar identity" "actions actions" "tabs tabs" !important;
    column-gap: 12px !important;
  }
  .theme-pulse .cover-avatar-content,
  .theme-pulse .cover-avatar,
  .theme-pulse .cover-avatar img { width: 82px !important; height: 82px !important; }
  .theme-pulse .cover-avatar-content { margin-top: -34px !important; }
  .theme-pulse .cover-description-content { padding-top: 10px !important; }
  .theme-pulse .cover-text-container { font-size: 18px !important; }
  .theme-pulse .cover-description-buttons { padding-top: 2px !important; justify-content: stretch !important; }
  .theme-pulse .cover-description-buttons > div,
  .theme-pulse .cover-description-buttons > a { flex: 1 1 0 !important; }
  .theme-pulse .cover-description-buttons .subscribe_btn,
  .theme-pulse .cover-description-buttons .edit_profile_btn,
  .theme-pulse .cover-description-buttons .message_btn { width: 100% !important; min-width: 0 !important; }
  .theme-pulse .zp-pagination { padding-left: 8px !important; padding-right: 8px !important; }
  .theme-pulse .zp-page-link { width: 36px !important; min-width: 36px !important; height: 36px !important; }
}

/* ============================================================
   ZAHRAT PULSE 2.3 — PROFILE CONTENT POLISH + REAL ACTION LABELS
   ============================================================ */
.theme-pulse .zp-action-label { display: none; }
.theme-pulse .cover-description-buttons .zp-action-label {
  display: inline-block !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}
.theme-pulse .cover-description-buttons .message_btn::after,
.theme-pulse .cover-description-buttons .subscribe_btn::after,
.theme-pulse .cover-description-buttons .subscribe_btn.unsubscribe::after,
.theme-pulse .cover-description-buttons .edit_profile_btn::after { content: none !important; }

/* The profile feed and right rail now read as a deliberate second section below the hero. */
.theme-pulse .row-body.profile-page .grid-container {
  align-items: flex-start !important;
  gap: 20px !important;
}
.theme-pulse .row-body.profile-page .grid-content {
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 18px !important;
  background: #0e1118 !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.15) !important;
}
.theme-pulse .row-body.profile-page .grid-content > .page-header { margin: 0 !important; }
.theme-pulse .row-body.profile-page .grid-content .song-container,
.theme-pulse .row-body.profile-page .grid-content .song-container:nth-child(odd),
.theme-pulse .row-body.profile-page .grid-content .song-container:nth-child(even) {
  margin: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.theme-pulse .row-body.profile-page .grid-content .song-container + .song-container {
  border-top: 1px solid rgba(255,255,255,.06) !important;
}
.theme-pulse .row-body.profile-page .grid-content .song-container:hover,
.theme-pulse .row-body.profile-page .grid-content .song-container.current-song {
  background: rgba(255,255,255,.025) !important;
}
.theme-pulse .row-body.profile-page .grid-content .song-container.current-song {
  box-shadow: inset 3px 0 0 rgba(217,255,79,.72) !important;
}
.theme-pulse .zp-profile-feed-heading {
  min-height: 70px !important;
  padding: 15px 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008)) !important;
}
.theme-pulse .zp-profile-feed-kicker {
  margin-bottom: 3px !important;
  color: #667087 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
}
.theme-pulse .zp-profile-feed-title {
  color: #f2f5fa !important;
  font-family: "Space Grotesk", Manrope, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}
.theme-pulse .zp-profile-feed-count {
  flex: 0 0 auto !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.025) !important;
  color: #7f899c !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}
.theme-pulse .row-body.profile-page .grid-sidebar {
  min-width: 0 !important;
}
.theme-pulse .row-body.profile-page .grid-sidebar > .sidebar-container,
.theme-pulse .row-body.profile-page .grid-sidebar .widget-about {
  border-radius: 16px !important;
  border-color: rgba(255,255,255,.075) !important;
  background: #10131b !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.12) !important;
}
.theme-pulse .row-body.profile-page .widget-about .sidebar-header {
  min-height: 48px !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  color: #eef2f8 !important;
  font-family: "Space Grotesk", Manrope, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.theme-pulse .row-body.profile-page .widget-about .sidebar-header-extra {
  margin-left: auto !important;
  float: none !important;
}
.theme-pulse .row-body.profile-page .widget-about .sidebar-header-extra a {
  padding: 5px 8px !important;
  border-radius: 8px !important;
  color: var(--zp-accent) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
}
.theme-pulse .row-body.profile-page .widget-about .sidebar-description {
  padding: 16px !important;
  color: #9da6b7 !important;
  line-height: 1.72 !important;
}

@media (max-width: 760px) {
  .theme-pulse .row-body.profile-page .grid-container { gap: 14px !important; }
  .theme-pulse .row-body.profile-page .grid-content { border-radius: 15px !important; }
  .theme-pulse .zp-profile-feed-heading { min-height: 62px !important; padding: 13px 14px !important; }
  .theme-pulse .zp-profile-feed-title { font-size: 16px !important; }
  .theme-pulse .zp-profile-feed-count { font-size: 9px !important; }
}
.theme-pulse .cover-description-buttons .subscribe_btn:hover,
.theme-pulse .cover-description-buttons .message_btn:hover,
.theme-pulse .cover-description-buttons .edit_profile_btn:hover,
.theme-pulse .cover-description-buttons .subscribe_btn:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.18) !important;
  outline: none !important;
}
.theme-pulse .cover-description-buttons .subscribe_btn:focus-visible {
  box-shadow: 0 0 0 3px rgba(217,255,79,.16), 0 8px 22px rgba(0,0,0,.18) !important;
}

/* ============================================================
   ZAHRAT PULSE 2.3.1 — STABILITY / PLAYER / FOOTER / UPLOAD /
   MESSAGES / LOADERS
   Final override layer. Keep this section last.
   ============================================================ */

/* ---------- inline track player: never moves the main play button ---------- */
.theme-pulse .song-container .player-controls {
  min-height: 24px !important;
  display: block !important;
}
.theme-pulse .song-container .player-controls .inline-track-player .jp-interface,
.theme-pulse .song-container .player-controls .current-seek .jp-interface,
.theme-pulse .song-container .current-seek .jp-interface {
  display: grid !important;
  grid-template-columns: 34px minmax(80px, 1fr) 34px !important;
  gap: 9px !important;
  align-items: center !important;
  min-height: 24px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.theme-pulse .song-container .player-controls .inline-track-player .jp-current-time,
.theme-pulse .song-container .player-controls .inline-track-player .jp-duration,
.theme-pulse .song-container .current-seek .jp-current-time,
.theme-pulse .song-container .current-seek .jp-duration {
  display: block !important;
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #657086 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}
.theme-pulse .song-container .player-controls .inline-track-player .jp-current-time,
.theme-pulse .song-container .current-seek .jp-current-time { text-align: left !important; }
.theme-pulse .song-container .player-controls .inline-track-player .jp-duration,
.theme-pulse .song-container .current-seek .jp-duration { text-align: right !important; }
.theme-pulse .song-container .player-controls .inline-track-player .jp-progress,
.theme-pulse .song-container .current-seek .jp-progress {
  grid-column: 2 !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 6px !important;
  min-height: 6px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.11) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
}
.theme-pulse .song-container .player-controls .inline-track-player .jp-seek-bar,
.theme-pulse .song-container .current-seek .jp-seek-bar {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  border-radius: inherit !important;
}
.theme-pulse .song-container .player-controls .inline-track-player .jp-play-bar,
.theme-pulse .song-container .current-seek .jp-play-bar {
  display: block !important;
  width: 0;
  height: 100% !important;
  margin: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #d9ff4f, #b9ef32) !important;
  box-shadow: 0 0 12px rgba(217,255,79,.22) !important;
  transition: width .12s linear !important;
}
/* Inactive rows keep a subtle rail but no fake play/pause control. */
.theme-pulse .song-container:not(.current-song) .player-controls .jp-interface {
  display: block !important;
  min-height: 6px !important;
}
.theme-pulse .song-container:not(.current-song) .player-controls .jp-progress {
  position: static !important;
  width: 100% !important;
  height: 4px !important;
  margin-top: 8px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
}
.theme-pulse .song-container:not(.current-song) .player-controls .jp-play-bar { width: 0 !important; }
.theme-pulse .song-container .player-controls a.jp-play,
.theme-pulse .song-container .player-controls a.jp-pause { display: none !important; }

/* Main row control stays in the same grid cell. Only its glyph changes. */
.theme-pulse .song-play-btn {
  align-self: center !important;
  transform: none !important;
  transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}
.theme-pulse .song-play-btn:hover { transform: scale(1.045) !important; }
.theme-pulse .song-container.is-playing .song-play-btn {
  background: #d9ff4f !important;
  box-shadow: 0 0 0 4px rgba(217,255,79,.07), 0 8px 24px rgba(217,255,79,.15) !important;
}
.theme-pulse .song-container.is-playing .song-play-btn::before,
.theme-pulse .song-container.is-playing .song-play-btn::after {
  content: "" !important;
  position: absolute !important;
  top: 11px !important;
  width: 4px !important;
  height: 16px !important;
  border: 0 !important;
  border-radius: 1.5px !important;
  background: #0a0c0f !important;
}
.theme-pulse .song-container.is-playing .song-play-btn::before { left: 13px !important; }
.theme-pulse .song-container.is-playing .song-play-btn::after { left: 21px !important; }
.theme-pulse .song-container.current-song .player-controls { opacity: 1 !important; }
.theme-pulse .song-container.current-song .song-title a,
.theme-pulse .song-container.is-playing .song-title a { color: #f6f8fc !important; }

/* ---------- bottom player: artwork/text remain stable while playing ---------- */
.theme-pulse #topbar-artwork,
.theme-pulse #topbar-artwork > a,
.theme-pulse #topbar-artwork img {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  overflow: hidden !important;
  flex: 0 0 44px !important;
  background: #171b24 !important;
}
.theme-pulse #topbar-track-details { min-width: 0 !important; max-width: 100% !important; }
.theme-pulse .topbar-song-name,
.theme-pulse .topbar-author-name { width: 100% !important; max-width: 100% !important; }
.theme-pulse .topbar-song-name a,
.theme-pulse .topbar-author-name a {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.theme-pulse #sound-container .jp-play-bar {
  background: linear-gradient(90deg, #d9ff4f, #b9ef32) !important;
  box-shadow: 0 0 12px rgba(217,255,79,.18) !important;
}

/* ---------- footer rebuilt as a clean, self-contained component ---------- */
.theme-pulse .footer {
  margin-top: 56px !important;
  padding: 0 0 calc(var(--zp-player-h) + 28px) !important;
  background: #0a0c11 !important;
  border: 0 !important;
  box-shadow: none !important;
}
.theme-pulse .footer-gta,
.theme-pulse .footer-gta-main {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.theme-pulse .footer-gta { border-top: 1px solid rgba(255,255,255,.065) !important; }
.theme-pulse .footer-gta-inner {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 38px 0 32px !important;
  display: grid !important;
  grid-template-columns: 1.05fr 1.15fr .9fr !important;
  gap: clamp(30px, 5vw, 72px) !important;
  align-items: start !important;
}
.theme-pulse .footer-gta-col { min-width: 0 !important; margin: 0 !important; padding: 0 !important; }
.theme-pulse .footer-gta-title {
  margin: 0 0 11px !important;
  color: #eef2f7 !important;
  font-family: "Space Grotesk", Manrope, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .11em !important;
}
.theme-pulse .footer-gta-title-sub { margin-top: 23px !important; }
.theme-pulse .footer-gta-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 3px !important;
}
.theme-pulse .footer-gta-list li { margin: 0 !important; padding: 0 !important; }
.theme-pulse .footer-gta-list a,
.theme-pulse .footer-gta-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 2px 0 !important;
  color: #778196 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  transition: color .15s ease, transform .15s ease !important;
}
.theme-pulse .footer-gta-list a:hover,
.theme-pulse .footer-gta-link:hover { color: #d9ff4f !important; transform: translateX(2px) !important; }
.theme-pulse .footer-gta-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
}
.theme-pulse .footer-social-btn {
  position: relative !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.028) !important;
  background-image: none !important;
  overflow: hidden !important;
  text-indent: 0 !important;
  transition: background .15s ease, border-color .15s ease, transform .15s ease !important;
}
.theme-pulse .footer-social-btn:hover {
  background: rgba(217,255,79,.075) !important;
  border-color: rgba(217,255,79,.24) !important;
  transform: translateY(-2px) !important;
}
.theme-pulse .footer-social-btn::before {
  content: "" !important;
  width: 17px !important;
  height: 17px !important;
  background: #a5adbb !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
}
.theme-pulse .footer-social-btn:hover::before { background: #d9ff4f !important; }
.theme-pulse .footer-social-yt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.6 7.2a2.9 2.9 0 0 0-2-2C17.8 4.7 12 4.7 12 4.7s-5.8 0-7.6.5a2.9 2.9 0 0 0-2 2A30 30 0 0 0 1.9 12a30 30 0 0 0 .5 4.8 2.9 2.9 0 0 0 2 2c1.8.5 7.6.5 7.6.5s5.8 0 7.6-.5a2.9 2.9 0 0 0 2-2 30 30 0 0 0 .5-4.8 30 30 0 0 0-.5-4.8ZM10 15.2V8.8l5.5 3.2-5.5 3.2Z'/%3E%3C/svg%3E") !important; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.6 7.2a2.9 2.9 0 0 0-2-2C17.8 4.7 12 4.7 12 4.7s-5.8 0-7.6.5a2.9 2.9 0 0 0-2 2A30 30 0 0 0 1.9 12a30 30 0 0 0 .5 4.8 2.9 2.9 0 0 0 2 2c1.8.5 7.6.5 7.6.5s5.8 0 7.6-.5a2.9 2.9 0 0 0 2-2 30 30 0 0 0 .5-4.8 30 30 0 0 0-.5-4.8ZM10 15.2V8.8l5.5 3.2-5.5 3.2Z'/%3E%3C/svg%3E") !important; }
.theme-pulse .footer-social-fb::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4.2c-.5-.1-2.3-.2-4.4-.2C8.4 4 7 6.5 7 9.7V13H4v4h3v7h4.2v-7h3.5l.6-4h-4.1V10c0-1.2.3-2 2.1-2H14Z'/%3E%3C/svg%3E") !important; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4.2c-.5-.1-2.3-.2-4.4-.2C8.4 4 7 6.5 7 9.7V13H4v4h3v7h4.2v-7h3.5l.6-4h-4.1V10c0-1.2.3-2 2.1-2H14Z'/%3E%3C/svg%3E") !important; }
.theme-pulse .footer-social-ig::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm5 3.8A4.2 4.2 0 1 1 7.8 12 4.2 4.2 0 0 1 12 7.8Zm0 2A2.2 2.2 0 1 0 14.2 12 2.2 2.2 0 0 0 12 9.8ZM17.6 6.3a1.1 1.1 0 1 1-1.1 1.1 1.1 1.1 0 0 1 1.1-1.1Z'/%3E%3C/svg%3E") !important; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm5 3.8A4.2 4.2 0 1 1 7.8 12 4.2 4.2 0 0 1 12 7.8Zm0 2A2.2 2.2 0 1 0 14.2 12 2.2 2.2 0 0 0 12 9.8ZM17.6 6.3a1.1 1.1 0 1 1-1.1 1.1 1.1 1.1 0 0 1 1.1-1.1Z'/%3E%3C/svg%3E") !important; }
.theme-pulse .footer-social-dc::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.5 5.3A16 16 0 0 0 15.5 4l-.5 1a14 14 0 0 0-6 0L8.5 4a16 16 0 0 0-4 1.3C2 9 1.3 12.6 1.7 16.1a16 16 0 0 0 4.9 2.5l1.2-1.7-1.8-.9.4-.3a11.7 11.7 0 0 0 11.2 0l.4.3-1.8.9 1.2 1.7a16 16 0 0 0 4.9-2.5c.5-4.1-.9-7.7-2.8-10.8ZM8.5 14.5c-1.1 0-2-1-2-2.2s.9-2.2 2-2.2 2 1 2 2.2-.9 2.2-2 2.2Zm7 0c-1.1 0-2-1-2-2.2s.9-2.2 2-2.2 2 1 2 2.2-.9 2.2-2 2.2Z'/%3E%3C/svg%3E") !important; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.5 5.3A16 16 0 0 0 15.5 4l-.5 1a14 14 0 0 0-6 0L8.5 4a16 16 0 0 0-4 1.3C2 9 1.3 12.6 1.7 16.1a16 16 0 0 0 4.9 2.5l1.2-1.7-1.8-.9.4-.3a11.7 11.7 0 0 0 11.2 0l.4.3-1.8.9 1.2 1.7a16 16 0 0 0 4.9-2.5c.5-4.1-.9-7.7-2.8-10.8ZM8.5 14.5c-1.1 0-2-1-2-2.2s.9-2.2 2-2.2 2 1 2 2.2-.9 2.2-2 2.2Zm7 0c-1.1 0-2-1-2-2.2s.9-2.2 2-2.2 2 1 2 2.2-.9 2.2-2 2.2Z'/%3E%3C/svg%3E") !important; }
.theme-pulse .footer-social-tt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3c.3 2.3 1.6 3.8 4 4v3a8 8 0 0 1-4-1.2V16a6 6 0 1 1-5-5.9v3.2a3 3 0 1 0 2 2.8V3h3Z'/%3E%3C/svg%3E") !important; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 3c.3 2.3 1.6 3.8 4 4v3a8 8 0 0 1-4-1.2V16a6 6 0 1 1-5-5.9v3.2a3 3 0 1 0 2 2.8V3h3Z'/%3E%3C/svg%3E") !important; }
.theme-pulse .footer-gta-bottom {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(255,255,255,.055) !important;
  background: rgba(255,255,255,.012) !important;
}
.theme-pulse .footer-gta-bottom-inner {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: none !important;
  min-height: 58px !important;
  margin: 0 auto !important;
  padding: 10px 0 !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
}
.theme-pulse .footer-gta-bottom-servers { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.theme-pulse .footer-server-tag {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 27px !important;
  padding: 0 9px !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.022) !important;
  color: #667086 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.theme-pulse .footer-server-tag:hover { color: #e9edf4 !important; border-color: rgba(255,255,255,.13) !important; }
.theme-pulse .footer-server-tag-active { color: #11140b !important; border-color: #d9ff4f !important; background: #d9ff4f !important; }
.theme-pulse .footer-gta-copyright { min-width: 0 !important; color: #596275 !important; font-size: 9px !important; line-height: 1.5 !important; text-align: center !important; }
.theme-pulse #zahrat-cache-status { color: #7d8798 !important; font-size: 9px !important; }

/* ---------- upload / track editor ---------- */
.theme-pulse #upload .page-container {
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 18px !important;
  background: #0e1118 !important;
  overflow: hidden !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.16) !important;
}
.theme-pulse #upload .page-header {
  min-height: 58px !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008)) !important;
  color: #f3f6fa !important;
  font-family: "Space Grotesk", Manrope, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}
.theme-pulse #upload #upload-message:empty { display: none !important; }
.theme-pulse #upload #upload-message { margin: 14px 18px 0 !important; }
.theme-pulse #upload #track-upload { padding: 18px !important; }
.theme-pulse #upload .track-info-container:first-of-type {
  display: grid !important;
  grid-template-columns: 220px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 18px 22px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.theme-pulse #upload .edit-menu {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  padding: 5px !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  border-radius: 12px !important;
  background: #0a0d13 !important;
  overflow-x: auto !important;
}
.theme-pulse #upload .edit-menu-item {
  float: none !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #778196 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.theme-pulse #upload .edit-menu-item:hover { background: rgba(255,255,255,.035) !important; color: #eef2f7 !important; }
.theme-pulse #upload .edit-menu-item-active { background: rgba(217,255,79,.09) !important; color: #d9ff4f !important; }
.theme-pulse #upload .track-info-art {
  grid-column: 1 !important;
  grid-row: 2 !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 15px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.018) !important;
  box-sizing: border-box !important;
}
.theme-pulse #upload .track-info-art > div:first-child {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin-bottom: 12px !important;
  border-radius: 13px !important;
  overflow: hidden !important;
  background: #151923 !important;
}
.theme-pulse #upload .track-info-art img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.theme-pulse #upload .upload-btn {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 8px 0 0 !important;
  padding: 0 12px !important;
  border: 1px dashed rgba(217,255,79,.22) !important;
  border-radius: 11px !important;
  background: rgba(217,255,79,.045) !important;
  color: #d7e2b0 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  overflow: hidden !important;
}
.theme-pulse #upload .upload-btn:hover { border-color: rgba(217,255,79,.42) !important; background: rgba(217,255,79,.075) !important; color: #efffbb !important; }
.theme-pulse #upload .upload-btn input[type="file"] { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; opacity: 0 !important; cursor: pointer !important; }
.theme-pulse #upload .edit-general,
.theme-pulse #upload .edit-metadata,
.theme-pulse #upload .edit-permissions {
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 18px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.018) !important;
  box-sizing: border-box !important;
}
.theme-pulse #upload .track-info-inputs { width: 100% !important; margin: 0 !important; padding: 0 !important; }
.theme-pulse #upload .track-info-input { margin: 0 0 15px !important; padding: 0 !important; }
.theme-pulse #upload .track-info-input:last-child { margin-bottom: 0 !important; }
.theme-pulse #upload .track-info-title { margin: 0 0 7px !important; color: #c2c9d5 !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .015em !important; }
.theme-pulse #upload input[type="text"],
.theme-pulse #upload textarea,
.theme-pulse #upload select {
  width: 100% !important;
  min-height: 43px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 11px !important;
  background: #0a0d13 !important;
  color: #e7ebf2 !important;
  box-shadow: none !important;
}
.theme-pulse #upload textarea { min-height: 120px !important; padding: 12px 13px !important; line-height: 1.55 !important; }
.theme-pulse #upload input[type="text"]:focus,
.theme-pulse #upload textarea:focus,
.theme-pulse #upload select:focus { border-color: rgba(217,255,79,.32) !important; box-shadow: 0 0 0 3px rgba(217,255,79,.055) !important; outline: none !important; }
.theme-pulse #upload .divider { margin: 18px 0 !important; border-color: rgba(255,255,255,.06) !important; }
.theme-pulse #upload #upload-button {
  min-height: 46px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #d9ff4f !important;
  color: #0a0c0d !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  box-shadow: 0 10px 28px rgba(217,255,79,.10) !important;
}
.theme-pulse #upload #upload-button:hover { background: #e4ff79 !important; transform: translateY(-1px) !important; }
.theme-pulse #upload #upload-pb {
  margin-top: 12px !important;
  padding: 13px 14px !important;
  border: 1px solid rgba(217,255,79,.12) !important;
  border-radius: 12px !important;
  background: rgba(217,255,79,.035) !important;
}
.theme-pulse #upload .upload-text { margin-bottom: 8px !important; color: #a9b39a !important; font-size: 10px !important; font-weight: 700 !important; }
.theme-pulse #upload .upload-status-bar { height: 7px !important; border-radius: 999px !important; background: rgba(255,255,255,.08) !important; overflow: hidden !important; }
.theme-pulse #upload .upload-status-bar-percentage { height: 100% !important; border-radius: inherit !important; background: linear-gradient(90deg,#d9ff4f,#aeea2d) !important; box-shadow: 0 0 14px rgba(217,255,79,.22) !important; }

/* ---------- messages: conversation + user rail ---------- */
.theme-pulse #messages {
  min-width: 0 !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 18px !important;
  background: #0e1118 !important;
  overflow: hidden !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.14) !important;
}
.theme-pulse #messages .message-container,
.theme-pulse #messages .message-content { width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-sizing: border-box !important; }
.theme-pulse #messages .page-header {
  min-height: 58px !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.006)) !important;
}
.theme-pulse #messages .chat-username { color: #eef2f7 !important; font-family: "Space Grotesk",Manrope,sans-serif !important; font-size: 14px !important; font-weight: 700 !important; }
.theme-pulse #messages .blocked-button { margin-left: auto !important; float: none !important; }
.theme-pulse #messages .header-loader { margin-left: auto !important; }
.theme-pulse #messages .chat-container {
  height: min(58vh, 620px) !important;
  min-height: 380px !important;
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  background: radial-gradient(circle at 50% 0%, rgba(126,98,230,.055), transparent 38%) !important;
  scrollbar-width: thin !important;
  scrollbar-color: #303747 transparent !important;
}
.theme-pulse #messages .message-reply-container {
  position: relative !important;
  width: min(78%, 620px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  gap: 9px !important;
  align-items: flex-end !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.theme-pulse #messages .message-reply-container.user-one { align-self: flex-end !important; flex-direction: row-reverse !important; }
.theme-pulse #messages .message-reply-container.user-two { align-self: flex-start !important; }
.theme-pulse #messages .message-reply-avatar { flex: 0 0 31px !important; float: none !important; width: 31px !important; height: 31px !important; margin: 0 !important; }
.theme-pulse #messages .message-reply-avatar img { display: block !important; width: 31px !important; height: 31px !important; border-radius: 10px !important; object-fit: cover !important; }
.theme-pulse #messages .message-reply-message {
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 14px 14px 14px 5px !important;
  background: #151923 !important;
  color: #c8ced9 !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}
.theme-pulse #messages .user-one .message-reply-message {
  border-color: rgba(217,255,79,.13) !important;
  border-radius: 14px 14px 5px 14px !important;
  background: rgba(217,255,79,.07) !important;
  color: #e3e8db !important;
}
.theme-pulse #messages .message-reply-author { display: block !important; margin-bottom: 2px !important; font-size: 9px !important; font-weight: 800 !important; }
.theme-pulse #messages .message-reply-author a { color: #8f99ab !important; }
.theme-pulse #messages .list-time { margin-top: 5px !important; color: #5e687b !important; font-size: 8px !important; line-height: 1 !important; }
.theme-pulse #messages .delete_btn { opacity: .35 !important; }
.theme-pulse #messages .message-reply-container:hover .delete_btn { opacity: .8 !important; }
.theme-pulse #messages .divider { display: none !important; }
.theme-pulse #messages .chat-form-inner {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 9px !important;
  padding: 13px 15px !important;
  border-top: 1px solid rgba(255,255,255,.065) !important;
  background: #0b0e14 !important;
}
.theme-pulse #messages textarea#chat {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  max-height: 140px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 13px !important;
  background: #121620 !important;
  color: #eef2f7 !important;
  font: inherit !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  resize: none !important;
  overflow-y: auto !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.theme-pulse #messages textarea#chat:focus { border-color: rgba(217,255,79,.30) !important; box-shadow: 0 0 0 3px rgba(217,255,79,.05) !important; }
.theme-pulse #messages .chat-send-button {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: #d9ff4f !important;
  cursor: pointer !important;
  transition: transform .15s ease, background .15s ease !important;
}
.theme-pulse #messages .chat-send-button:hover { background: #e4ff79 !important; transform: translateY(-1px) !important; }
.theme-pulse #messages .chat-send-icon {
  width: 18px !important;
  height: 18px !important;
  background: #0a0c0d !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m2.5 3 19 9-19 9 3.2-7.5L15 12 5.7 10.5 2.5 3Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m2.5 3 19 9-19 9 3.2-7.5L15 12 5.7 10.5 2.5 3Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
.theme-pulse .grid-sidebar .widget-online-users {
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 16px !important;
  background: #10131b !important;
  overflow: hidden !important;
}
.theme-pulse .grid-sidebar .widget-online-users .sidebar-header { padding: 12px !important; border-bottom: 1px solid rgba(255,255,255,.06) !important; }
.theme-pulse .grid-sidebar .widget-online-users #search-list {
  width: 100% !important;
  min-height: 39px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 10px !important;
  background: #0a0d13 !important;
  color: #e8ecf2 !important;
  outline: 0 !important;
}
.theme-pulse .grid-sidebar .widget-online-users #search-list:focus { border-color: rgba(217,255,79,.25) !important; }
.theme-pulse .grid-sidebar .sidebar-chat-list { padding: 7px !important; max-height: 610px !important; overflow-y: auto !important; }
.theme-pulse .grid-sidebar .sidebar-users { margin: 2px 0 !important; padding: 0 !important; border: 0 !important; border-radius: 11px !important; background: transparent !important; overflow: hidden !important; }
.theme-pulse .grid-sidebar .sidebar-users > a {
  position: relative !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 7px 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  box-sizing: border-box !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: #9aa3b3 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.theme-pulse .grid-sidebar .sidebar-users > a:hover { background: rgba(255,255,255,.035) !important; border-color: rgba(255,255,255,.05) !important; color: #eef2f6 !important; }
.theme-pulse .grid-sidebar .sidebar-users.sidebar-link-active > a { background: rgba(217,255,79,.07) !important; border-color: rgba(217,255,79,.13) !important; color: #eaffad !important; }
.theme-pulse .grid-sidebar .sidebar-users > a > img:not(.sidebar-status-icon) { width: 32px !important; height: 32px !important; margin: 0 !important; border-radius: 10px !important; object-fit: cover !important; flex: 0 0 32px !important; }
.theme-pulse .grid-sidebar .sidebar-status-icon { position: absolute !important; left: 34px !important; bottom: 8px !important; z-index: 2 !important; width: 9px !important; height: 9px !important; margin: 0 !important; border: 2px solid #10131b !important; border-radius: 50% !important; }
.theme-pulse #messages .load-more-chat { order: -1 !important; padding: 4px 0 8px !important; height: auto !important; }
.theme-pulse #messages .load-more-chat a { display: inline-flex !important; min-height: 30px !important; align-items: center !important; padding: 0 11px !important; border: 1px solid rgba(255,255,255,.07) !important; border-radius: 9px !important; background: rgba(255,255,255,.025) !important; color: #8993a5 !important; font-size: 9px !important; font-weight: 800 !important; cursor: pointer !important; }

/* ---------- modern unified loading states ---------- */
@keyframes zp-spin { to { transform: rotate(360deg); } }
@keyframes zp-loader-pulse { 0%,100% { opacity:.45; transform:scale(.92); } 50% { opacity:1; transform:scale(1); } }
.theme-pulse .preloader,
.theme-pulse .preloader-normal,
.theme-pulse .preloader-dark,
.theme-pulse .preloader-retina,
.theme-pulse .preloader-retina-large,
.theme-pulse .small-loader,
.theme-pulse .sub-loading,
.theme-pulse .loading-button,
.theme-pulse .header-loader,
.theme-pulse .modal-loading {
  position: relative !important;
  background: none !important;
  background-image: none !important;
  text-indent: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}
.theme-pulse .preloader,
.theme-pulse .preloader-normal,
.theme-pulse .preloader-dark,
.theme-pulse .preloader-retina,
.theme-pulse .preloader-retina-large {
  width: 26px !important;
  height: 26px !important;
  padding: 0 !important;
  margin: 6px auto !important;
}
.theme-pulse .preloader::before,
.theme-pulse .preloader-normal::before,
.theme-pulse .preloader-dark::before,
.theme-pulse .preloader-retina::before,
.theme-pulse .preloader-retina-large::before,
.theme-pulse .small-loader::before,
.theme-pulse .sub-loading::before,
.theme-pulse .loading-button::before,
.theme-pulse .header-loader::before,
.theme-pulse .modal-loading::before {
  content: "" !important;
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin: -9px 0 0 -9px !important;
  border: 2px solid rgba(255,255,255,.12) !important;
  border-top-color: #d9ff4f !important;
  border-right-color: rgba(217,255,79,.42) !important;
  border-radius: 50% !important;
  animation: zp-spin .72s linear infinite !important;
  box-sizing: border-box !important;
}
.theme-pulse .small-loader,
.theme-pulse .sub-loading,
.theme-pulse .loading-button {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.025) !important;
}
.theme-pulse .small-loader::before,
.theme-pulse .sub-loading::before,
.theme-pulse .loading-button::before { width: 14px !important; height: 14px !important; margin: -7px 0 0 -7px !important; border-width: 2px !important; }
.theme-pulse .header-loader {
  display: none;
  width: 30px !important;
  height: 30px !important;
  margin: 0 0 0 auto !important;
  float: none !important;
}
.theme-pulse .header-loader::before { width: 16px !important; height: 16px !important; margin: -8px 0 0 -8px !important; }
.theme-pulse .modal-loading {
  display: none;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  float: none !important;
}
.theme-pulse .delete_preloader,
.theme-pulse .comments_preloader { min-height: 26px !important; }
.theme-pulse .load_more:has(.preloader-retina-large),
.theme-pulse .load-more-chat:has(.preloader-retina),
.theme-pulse .load-more-comments:has(.preloader-retina) { height: auto !important; min-height: 44px !important; display: grid !important; place-items: center !important; }
.theme-pulse #loading-bar {
  top: 0 !important;
  left: 0 !important;
  height: 3px !important;
  border-radius: 0 999px 999px 0 !important;
  background: linear-gradient(90deg, #b5e92c 0%, #d9ff4f 55%, #f2ffb4 100%) !important;
  box-shadow: 0 0 16px rgba(217,255,79,.32) !important;
}
.theme-pulse #loading-bar dd,
.theme-pulse #loading-bar dt { box-shadow: 0 0 12px rgba(217,255,79,.35) !important; }
.theme-pulse #upload #upload-processing::before {
  content: "" !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  margin-right: 7px !important;
  vertical-align: -2px !important;
  border: 2px solid rgba(255,255,255,.12) !important;
  border-top-color: #d9ff4f !important;
  border-radius: 50% !important;
  animation: zp-spin .72s linear infinite !important;
}

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .theme-pulse .footer-gta-inner { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .theme-pulse .footer-gta-col:last-child { grid-column: 1 / -1 !important; }
  .theme-pulse .footer-gta-bottom-inner { grid-template-columns: 1fr !important; justify-items: start !important; }
  .theme-pulse .footer-gta-copyright { text-align: left !important; }
  .theme-pulse #upload .track-info-container:first-of-type { grid-template-columns: 180px minmax(0,1fr) !important; }
}
@media (max-width: 720px) {
  .theme-pulse .song-container .player-controls .inline-track-player .jp-interface,
  .theme-pulse .song-container .current-seek .jp-interface { grid-template-columns: 30px minmax(60px,1fr) 30px !important; gap: 6px !important; }
  .theme-pulse .song-container .player-controls .inline-track-player .jp-current-time,
  .theme-pulse .song-container .player-controls .inline-track-player .jp-duration,
  .theme-pulse .song-container .current-seek .jp-current-time,
  .theme-pulse .song-container .current-seek .jp-duration { font-size: 8px !important; }
  .theme-pulse .footer-gta-inner { width: min(100% - 28px,1180px) !important; grid-template-columns: 1fr !important; gap: 28px !important; }
  .theme-pulse .footer-gta-col:last-child { grid-column: auto !important; }
  .theme-pulse .footer-gta-bottom-inner { width: min(100% - 28px,1180px) !important; }
  .theme-pulse #upload #track-upload { padding: 13px !important; }
  .theme-pulse #upload .track-info-container:first-of-type { grid-template-columns: 1fr !important; gap: 13px !important; }
  .theme-pulse #upload .edit-menu { grid-column: 1 !important; }
  .theme-pulse #upload .track-info-art { grid-column: 1 !important; grid-row: auto !important; }
  .theme-pulse #upload .track-info-art > div:first-child { max-width: 210px !important; margin-left: auto !important; margin-right: auto !important; }
  .theme-pulse #upload .edit-general,
  .theme-pulse #upload .edit-metadata,
  .theme-pulse #upload .edit-permissions { grid-column: 1 !important; grid-row: auto !important; padding: 14px !important; }
  .theme-pulse #messages .chat-container { min-height: 330px !important; height: 52vh !important; padding: 13px !important; }
  .theme-pulse #messages .message-reply-container { width: 92% !important; }
  .theme-pulse #messages .message-reply-avatar { display: none !important; }
  .theme-pulse #messages .chat-form-inner { padding: 10px !important; }
}

/* ============================================================
   PULSE WORKING PATCH — sticky footer + contextual player
   ============================================================ */
html, body { min-height: 100%; }
body.theme-pulse {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 0 !important;
}
body.theme-pulse > .topbar { flex: 0 0 auto; }
body.theme-pulse > .topbar_margin { flex: 0 0 auto; }
body.theme-pulse > #content {
  flex: 1 0 auto !important;
  width: 100%;
  min-height: 0 !important;
}
body.theme-pulse > .footer {
  flex: 0 0 auto;
  margin-top: auto !important;
}
body.theme-pulse.pulse-player-visible {
  padding-bottom: calc(var(--zp-player-h) + 12px) !important;
}

/* Player is contextual: hidden until a track is played. */
.bottombar {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(calc(100% + 30px)) !important;
  transition: transform .28s ease, opacity .22s ease, visibility .22s ease !important;
}
body.pulse-player-visible .bottombar {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
.bottombar-container { position: relative !important; }
.pulse-player-hide {
  position: absolute !important;
  top: 7px !important;
  right: 8px !important;
  z-index: 8 !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border-radius: 9px !important;
  border: 1px solid var(--zp-line) !important;
  background: rgba(255,255,255,.055) !important;
  color: var(--zp-text-2) !important;
  font: 700 19px/26px "Manrope", sans-serif !important;
  cursor: pointer;
}
.pulse-player-hide:hover { background: rgba(255,255,255,.1) !important; color: #fff !important; }

.pulse-player-restore {
  position: fixed !important;
  right: 16px !important;
  bottom: 14px !important;
  z-index: 1098 !important;
  display: none !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 999px !important;
  background: rgba(18,20,28,.94) !important;
  color: var(--zp-text) !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.32) !important;
  backdrop-filter: blur(18px);
  cursor: pointer;
}
body.pulse-player-has-track:not(.pulse-player-visible) .pulse-player-restore { display: flex !important; }
.pulse-player-restore:hover { border-color: rgba(217,255,79,.4) !important; transform: translateY(-1px); }
.pulse-player-restore-icon {
  width: 18px; height: 18px; border-radius: 50%; background: var(--zp-accent); position: relative; flex: 0 0 18px;
}
.pulse-player-restore-icon::after {
  content: ""; position: absolute; left: 7px; top: 5px; border-left: 6px solid #0a0b0e; border-top: 4px solid transparent; border-bottom: 4px solid transparent;
}

/* One mute and one repeat control only; state is shown on the same button. */
.pulse-player-toggle {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  border: 1px solid transparent !important;
  background: rgba(255,255,255,.045) !important;
  opacity: .82;
  cursor: pointer;
  position: relative;
}
.pulse-player-toggle:hover { opacity: 1; background: rgba(255,255,255,.085) !important; }
.pulse-player-toggle.is-active {
  color: #0a0b0e !important;
  background: var(--zp-accent) !important;
  border-color: var(--zp-accent) !important;
  opacity: 1;
}
.pulse-repeat-toggle::before { content: "↻"; font: 700 22px/1 Arial, sans-serif; color: currentColor; }
.pulse-mute-toggle::before { content: "🔊"; font-size: 16px; line-height: 1; filter: grayscale(1) brightness(1.8); }
.pulse-mute-toggle.is-active::before { content: "🔇"; filter: none; }

@media (max-width: 680px) {
  body.theme-pulse { padding-bottom: 0 !important; }
  body.theme-pulse.pulse-player-visible { padding-bottom: 96px !important; }
  .pulse-player-restore { right: 10px !important; bottom: 10px !important; }
  .pulse-player-restore span:last-child { display: none; }
  .pulse-player-restore { width: 44px !important; padding: 0 !important; justify-content: center !important; }
}

/* ================================================================
   ZAHRAT PULSE 2.3.2 — STABILITY / COMMENTS / MESSAGES / PROFILE
   Final overrides after legacy phpSound CSS.
   ================================================================ */

/* Track metadata: keep the age under author/title, never in its own right column. */
.theme-pulse .song-top {
  grid-template-columns: 40px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 9px !important;
  row-gap: 2px !important;
  align-items: center !important;
}
.theme-pulse .song-play-btn {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
}
.theme-pulse .song-titles {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.theme-pulse .song-timeago {
  display: flex !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: start !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  color: #69758d !important;
}
.theme-pulse .song-timeago a,
.theme-pulse .song-timeago .timeago {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 100% !important;
  color: #69758d !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}
.theme-pulse .song-timeago .timeago::before {
  content: "•" !important;
  margin-right: 5px !important;
  color: var(--zp-accent) !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

/* Track detail comments: the old comment box was auto-placed into the 86px artwork grid column. */
.theme-pulse .song-container-page > .message-comment-box-container,
.theme-pulse .song-container-page > .comments-container {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.theme-pulse .song-container-page > .message-comment-box-container {
  margin-top: 14px !important;
  padding: 14px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) auto !important;
  gap: 10px !important;
  align-items: end !important;
  overflow: visible !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.018) !important;
}
.theme-pulse .song-container-page .message-comment-box-container .message-reply-avatar {
  grid-column: 1 !important;
  float: none !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.theme-pulse .song-container-page .message-comment-box-container .message-reply-avatar img {
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 11px !important;
  object-fit: cover !important;
}
.theme-pulse .song-container-page .message-comment-box-form {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.theme-pulse .song-container-page textarea.comment-reply-textarea {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: 42px !important;
  max-height: 150px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 12px !important;
  background: #0b0e14 !important;
  color: #edf1f7 !important;
  font: 500 11px/1.55 Manrope, sans-serif !important;
  resize: vertical !important;
  overflow-y: auto !important;
  box-shadow: none !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.theme-pulse .song-container-page textarea.comment-reply-textarea:focus {
  border-color: rgba(217,255,79,.34) !important;
  box-shadow: 0 0 0 3px rgba(217,255,79,.05) !important;
}
.theme-pulse .song-container-page .comment-btn {
  grid-column: 3 !important;
  display: flex !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.theme-pulse .song-container-page .comment-btn a {
  min-height: 42px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--zp-accent) !important;
  color: #090b0d !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.theme-pulse .song-container-page .comments-container {
  padding: 10px 0 0 !important;
}
.theme-pulse .song-container-page .comments-container .message-reply-container {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) !important;
  gap: 10px !important;
  overflow: visible !important;
  border-top: 1px solid rgba(255,255,255,.055) !important;
}
.theme-pulse .song-container-page .comments-container .message-reply-avatar {
  float: none !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.theme-pulse .song-container-page .comments-container .message-reply-avatar img {
  width: 38px !important;
  height: 38px !important;
  border-radius: 11px !important;
  object-fit: cover !important;
}
.theme-pulse .song-container-page .comments-container .message-reply-message {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #c6ceda !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}
.theme-pulse .song-container-page .comments-container .message-reply-author {
  float: none !important;
  display: inline-flex !important;
  padding: 0 !important;
  margin-right: 7px !important;
  font-weight: 800 !important;
}
.theme-pulse .song-container-page .comments-container .list-time {
  display: inline-flex !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #687287 !important;
  font-size: 9px !important;
  overflow: visible !important;
}
.theme-pulse .song-container-page .comments-container .message-reply-content {
  padding: 4px 0 0 !important;
  color: #aeb7c6 !important;
  white-space: pre-wrap !important;
}

/* Messages: undo global legacy textarea max-width/display and let composer use the whole row. */
.theme-pulse #messages .chat-form-inner {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 48px !important;
  align-items: end !important;
  gap: 10px !important;
  box-sizing: border-box !important;
}
.theme-pulse #messages textarea#chat,
.theme-pulse #messages textarea.chat-message-input {
  grid-column: 1 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: 48px !important;
  max-height: 180px !important;
  resize: none !important;
}
.theme-pulse #messages .chat-send-button {
  grid-column: 2 !important;
  width: 48px !important;
  height: 48px !important;
  flex: none !important;
}
.theme-pulse #messages .chat-send-button:disabled,
.theme-pulse #messages .chat-send-button.is-sending {
  opacity: .55 !important;
  cursor: wait !important;
  transform: none !important;
}
.theme-pulse #messages .message-reply-message {
  padding: 10px 12px 9px !important;
}
.theme-pulse #messages .message-bubble-meta {
  display: flex !important;
  align-items: center !important;
  min-height: 14px !important;
  margin: 0 0 4px !important;
}
.theme-pulse #messages .message-bubble-text {
  color: inherit !important;
  font-size: 11px !important;
  line-height: 1.58 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
}
.theme-pulse #messages .message-bubble-text a { color: var(--zp-accent) !important; text-decoration: none !important; }
.theme-pulse #messages .message-reply-message > .list-time {
  display: block !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
  line-height: 1.2 !important;
}
.theme-pulse #messages .user-two .message-reply-message > .list-time { text-align: left !important; }
.theme-pulse #messages .chat-error {
  align-self: center !important;
  width: min(100%, 560px) !important;
  margin: 8px auto !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(255,113,113,.18) !important;
  border-radius: 11px !important;
  background: rgba(255,113,113,.06) !important;
  color: #e6a5a5 !important;
  font-size: 10px !important;
  text-align: center !important;
}
.theme-pulse .grid-sidebar .widget-online-users .sidebar-chat-list {
  padding: 8px !important;
}
.theme-pulse .grid-sidebar .widget-online-users .sidebar-users > a {
  min-height: 56px !important;
  padding: 8px 10px !important;
  gap: 10px !important;
}
.theme-pulse .grid-sidebar .widget-online-users .sidebar-users > a > img:not(.sidebar-status-icon) {
  width: 36px !important;
  height: 36px !important;
  flex-basis: 36px !important;
  border-radius: 11px !important;
}
.theme-pulse .grid-sidebar .widget-online-users .sidebar-status-icon {
  left: 39px !important;
  bottom: 9px !important;
}

/* Profile: neutralize the old twelve-column skin around the new hero. */
.theme-pulse .row-body.profile-page > .body-content > .twelve.columns,
.theme-pulse .row-body.profile-page > .body-content > .twelve,
.theme-pulse .row-body.profile-page .cover-container > .twelve.columns {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
.theme-pulse .row-body.profile-page .cover-container,
.theme-pulse .row-body.profile-page .cover-content,
.theme-pulse .row-body.profile-page .cover-description {
  position: relative !important;
  z-index: 1 !important;
}
.theme-pulse .row-body.profile-page .cover-content::after,
.theme-pulse .row-body.profile-page .cover-description::after { display: none !important; content: none !important; }
.theme-pulse .row-body.profile-page .cover-container + .grid-container {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0 !important;
}

/* Keep hidden contextual player from reserving any old legacy visual space. */
.theme-pulse:not(.pulse-player-visible) .bottombar { height: var(--zp-player-h) !important; }

@media (max-width: 720px) {
  .theme-pulse .song-top {
    grid-template-columns: 38px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 2px 7px !important;
  }
  .theme-pulse .song-timeago,
  .theme-pulse .song-timeago .timeago { display: flex !important; font-size: 9px !important; }
  .theme-pulse .song-container-page > .message-comment-box-container {
    grid-template-columns: 32px minmax(0,1fr) !important;
  }
  .theme-pulse .song-container-page .message-comment-box-container .message-reply-avatar,
  .theme-pulse .song-container-page .message-comment-box-container .message-reply-avatar img {
    width: 32px !important; height: 32px !important;
  }
  .theme-pulse .song-container-page .comment-btn {
    grid-column: 1 / -1 !important;
    justify-content: flex-end !important;
  }
  .theme-pulse #messages .chat-form-inner {
    grid-template-columns: minmax(0,1fr) 46px !important;
    padding: 10px !important;
  }
  .theme-pulse #messages textarea#chat,
  .theme-pulse #messages textarea.chat-message-input { min-height: 46px !important; height: 46px !important; }
  .theme-pulse #messages .chat-send-button { width: 46px !important; height: 46px !important; }
}

/* ================================================================
   ZAHRAT PULSE 2.3.2 — VIEWPORT FOOTER FIX
   Footer sits on the bottom edge of the monitor on short pages.
   It remains in normal document flow on long pages (no overlay).
   ================================================================ */
html {
  min-height: 100% !important;
}
body.theme-pulse {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 0 !important;
}
body.theme-pulse > .topbar_margin {
  flex: 0 0 auto !important;
}
body.theme-pulse > #content {
  flex: 1 0 auto !important;
  width: 100% !important;
  min-height: 0 !important;
}
body.theme-pulse > .footer {
  flex: 0 0 auto !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.theme-pulse > .footer .footer-gta,
body.theme-pulse > .footer .footer-gta-bottom {
  margin-bottom: 0 !important;
}

/* The contextual player floats above the page and must not create
   permanent empty space below the footer when it is hidden. */
body.theme-pulse.pulse-player-visible {
  padding-bottom: 0 !important;
}
body.theme-pulse:not(.pulse-player-visible) .bottombar {
  height: 72px !important;
}

@media (max-width: 680px) {
  body.theme-pulse,
  body.theme-pulse.pulse-player-visible {
    padding-bottom: 0 !important;
  }
}

/* ================================================================
   ZAHRAT PULSE 2.3.3 — PERSISTENT CHAT HEADS / FLOATING MESSAGES
   ================================================================ */
.theme-pulse {
  --zp-chat-head-bottom: 18px;
}
.theme-pulse.pulse-player-visible {
  --zp-chat-head-bottom: calc(var(--zp-player-h, 72px) + 18px);
}

.theme-pulse .pulse-chat-heads {
  position: fixed !important;
  left: 18px !important;
  bottom: var(--zp-chat-head-bottom) !important;
  z-index: 12050 !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 10px !important;
  max-width: calc(100vw - 36px) !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  pointer-events: none !important;
  scrollbar-width: none !important;
  transition: bottom .22s ease !important;
}
.theme-pulse .pulse-chat-heads::-webkit-scrollbar { display: none !important; }
.theme-pulse .pulse-chat-head-wrap {
  position: relative !important;
  flex: 0 0 54px !important;
  width: 54px !important;
  height: 54px !important;
  pointer-events: auto !important;
}
.theme-pulse .pulse-chat-head-main {
  position: relative !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 3px !important;
  display: block !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 50% !important;
  background: #0c0f15 !important;
  box-shadow: 0 13px 34px rgba(0,0,0,.38), 0 0 0 1px rgba(0,0,0,.24) !important;
  cursor: pointer !important;
  overflow: visible !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
.theme-pulse .pulse-chat-head-main:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(217,255,79,.42) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.45), 0 0 0 3px rgba(217,255,79,.06) !important;
}
.theme-pulse .pulse-chat-head-wrap.is-active .pulse-chat-head-main {
  border-color: rgba(217,255,79,.72) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.45), 0 0 0 3px rgba(217,255,79,.09) !important;
}
.theme-pulse .pulse-chat-head-main img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  background: #171b24 !important;
}
.theme-pulse .pulse-chat-head-close {
  position: absolute !important;
  top: -5px !important;
  right: -5px !important;
  z-index: 3 !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 0 2px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid #080a0f !important;
  border-radius: 50% !important;
  background: #202531 !important;
  color: #aab2c0 !important;
  font: 700 14px/1 Arial, sans-serif !important;
  cursor: pointer !important;
  opacity: .92 !important;
}
.theme-pulse .pulse-chat-head-close:hover { background: #ff6f7d !important; color: #fff !important; }
.theme-pulse .pulse-chat-head-unread {
  position: absolute !important;
  left: -5px !important;
  top: -5px !important;
  z-index: 4 !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 2px solid #080a0f !important;
  border-radius: 999px !important;
  background: #d9ff4f !important;
  color: #0b0d0e !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.theme-pulse .pulse-chat-panel-root {
  position: relative !important;
  z-index: 12040 !important;
}
.theme-pulse .pulse-chat-panel {
  position: fixed !important;
  left: 18px !important;
  bottom: calc(var(--zp-chat-head-bottom) + 66px) !important;
  z-index: 12040 !important;
  width: 360px !important;
  height: min(480px, calc(100vh - var(--zp-chat-head-bottom) - 92px)) !important;
  min-height: 330px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.095) !important;
  border-radius: 18px !important;
  background: #0d1017 !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.58), 0 0 0 1px rgba(0,0,0,.2) !important;
  color: #dce1e8 !important;
  transition: bottom .22s ease !important;
}
.theme-pulse .pulse-chat-panel-header {
  flex: 0 0 58px !important;
  min-height: 58px !important;
  padding: 8px 9px 8px 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,.065) !important;
  background: linear-gradient(180deg, #151923 0%, #11151d 100%) !important;
  box-sizing: border-box !important;
}
.theme-pulse .pulse-chat-panel-identity {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  text-decoration: none !important;
}
.theme-pulse .pulse-chat-panel-identity img {
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  object-fit: cover !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.theme-pulse .pulse-chat-panel-name {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #f0f3f7 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}
.theme-pulse .pulse-chat-panel-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.theme-pulse .pulse-chat-panel-actions button {
  width: 31px !important;
  height: 31px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid transparent !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #7f899b !important;
  font: 700 17px/1 Arial, sans-serif !important;
  cursor: pointer !important;
}
.theme-pulse .pulse-chat-panel-actions button:hover { background: rgba(255,255,255,.055) !important; color: #eef2f6 !important; }
.theme-pulse .pulse-chat-panel-close:hover { background: rgba(255,93,109,.11) !important; color: #ff8692 !important; }

.theme-pulse .pulse-chat-panel-messages {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  padding: 13px 11px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(129,88,255,.055), transparent 36%),
    #0a0d13 !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,255,255,.12) transparent !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-container {
  position: relative !important;
  width: min(88%, 290px) !important;
  max-width: 88% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 7px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-container.user-one {
  align-self: flex-end !important;
  flex-direction: row-reverse !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-container.user-two { align-self: flex-start !important; }
.theme-pulse .pulse-chat-panel-messages .message-reply-avatar {
  flex: 0 0 27px !important;
  float: none !important;
  width: 27px !important;
  height: 27px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-avatar img {
  width: 27px !important;
  height: 27px !important;
  border-radius: 9px !important;
  object-fit: cover !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-message {
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 9px 10px 8px !important;
  border: 1px solid rgba(255,255,255,.065) !important;
  border-radius: 13px 13px 13px 4px !important;
  background: #171b24 !important;
  color: #cbd2dc !important;
  font-size: 10px !important;
  line-height: 1.48 !important;
  overflow-wrap: anywhere !important;
}
.theme-pulse .pulse-chat-panel-messages .user-one .message-reply-message {
  border-color: rgba(217,255,79,.12) !important;
  border-radius: 13px 13px 4px 13px !important;
  background: rgba(217,255,79,.075) !important;
  color: #e2e7dc !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-author {
  display: block !important;
  margin: 0 0 2px !important;
  font-size: 8px !important;
  font-weight: 800 !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-author a { color: #8893a5 !important; text-decoration: none !important; }
.theme-pulse .pulse-chat-panel-messages .message-bubble-text {
  color: inherit !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
}
.theme-pulse .pulse-chat-panel-messages .message-bubble-text a { color: #d9ff4f !important; }
.theme-pulse .pulse-chat-panel-messages .list-time {
  display: block !important;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  color: #596376 !important;
  font-size: 7px !important;
  line-height: 1 !important;
  text-align: right !important;
}
.theme-pulse .pulse-chat-panel-messages .user-two .list-time { text-align: left !important; }
.theme-pulse .pulse-chat-panel-messages .delete_btn,
.theme-pulse .pulse-chat-panel-messages .delete_preloader { display: none !important; }
.theme-pulse .pulse-chat-panel-loading,
.theme-pulse .pulse-chat-panel-empty,
.theme-pulse .pulse-chat-panel-error {
  margin: auto !important;
  padding: 12px !important;
  color: #778296 !important;
  font-size: 9px !important;
  line-height: 1.45 !important;
  text-align: center !important;
}
.theme-pulse .pulse-chat-panel-loading { display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; }
.theme-pulse .pulse-chat-loader {
  width: 16px !important;
  height: 16px !important;
  border: 2px solid rgba(255,255,255,.1) !important;
  border-top-color: #d9ff4f !important;
  border-radius: 50% !important;
  animation: zp-spin .7s linear infinite !important;
}
.theme-pulse .pulse-chat-panel-error {
  width: calc(100% - 16px) !important;
  margin: 4px auto !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255,105,120,.13) !important;
  border-radius: 10px !important;
  background: rgba(255,105,120,.055) !important;
  color: #d8959d !important;
}

.theme-pulse .pulse-chat-panel-composer {
  flex: 0 0 auto !important;
  padding: 9px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 40px !important;
  align-items: end !important;
  gap: 7px !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  background: #0f131a !important;
}
.theme-pulse .pulse-chat-panel-input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  max-height: 120px !important;
  margin: 0 !important;
  padding: 10px 11px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 12px !important;
  background: #171b24 !important;
  color: #eef2f6 !important;
  font: inherit !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  resize: none !important;
  outline: 0 !important;
  overflow-y: auto !important;
}
.theme-pulse .pulse-chat-panel-input:focus { border-color: rgba(217,255,79,.28) !important; box-shadow: 0 0 0 3px rgba(217,255,79,.045) !important; }
.theme-pulse .pulse-chat-panel-send {
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #d9ff4f !important;
  cursor: pointer !important;
}
.theme-pulse .pulse-chat-panel-send:hover { background: #e5ff7a !important; }
.theme-pulse .pulse-chat-panel-send:disabled,
.theme-pulse .pulse-chat-panel-send.is-sending { opacity: .5 !important; cursor: wait !important; }
.theme-pulse .pulse-chat-panel-send-icon {
  width: 17px !important;
  height: 17px !important;
  display: block !important;
  background: #0b0d0e !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m2.5 3 19 9-19 9 3.2-7.5L15 12 5.7 10.5 2.5 3Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m2.5 3 19 9-19 9 3.2-7.5L15 12 5.7 10.5 2.5 3Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

/* Messages-page controls for opening a conversation as a persistent head. */
.theme-pulse #messages .page-header {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.theme-pulse #messages .chat-username { min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.theme-pulse .pulse-chat-head-open {
  border: 0 !important;
  cursor: pointer !important;
}
.theme-pulse .pulse-chat-head-open-header {
  min-height: 34px !important;
  margin-left: auto !important;
  padding: 0 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  border: 1px solid rgba(217,255,79,.14) !important;
  border-radius: 10px !important;
  background: rgba(217,255,79,.065) !important;
  color: #dfff75 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
}
.theme-pulse .pulse-chat-head-open-header:hover { border-color: rgba(217,255,79,.3) !important; background: rgba(217,255,79,.1) !important; }
.theme-pulse .pulse-chat-head-open-icon {
  width: 15px !important;
  height: 15px !important;
  display: block !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.5 2 2 6.1 2 11.2c0 2.9 1.5 5.5 3.8 7.2V22l3.5-1.9c.9.2 1.8.3 2.7.3 5.5 0 10-4.1 10-9.2S17.5 2 12 2Zm1 12.3-2.5-2.7-4.9 2.7 5.4-5.8 2.5 2.7 4.9-2.7-5.4 5.8Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.5 2 2 6.1 2 11.2c0 2.9 1.5 5.5 3.8 7.2V22l3.5-1.9c.9.2 1.8.3 2.7.3 5.5 0 10-4.1 10-9.2S17.5 2 12 2Zm1 12.3-2.5-2.7-4.9 2.7 5.4-5.8 2.5 2.7 4.9-2.7-5.4 5.8Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
.theme-pulse .grid-sidebar .sidebar-users { position: relative !important; }
.theme-pulse .grid-sidebar .sidebar-users > a.sidebar-user-main { padding-right: 47px !important; }
.theme-pulse .grid-sidebar .sidebar-user-name { min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.theme-pulse .pulse-chat-head-open-sidebar {
  position: absolute !important;
  right: 7px !important;
  top: 50% !important;
  z-index: 4 !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  transform: translateY(-50%) !important;
  border: 1px solid transparent !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #667185 !important;
  opacity: .72 !important;
}
.theme-pulse .sidebar-users:hover .pulse-chat-head-open-sidebar,
.theme-pulse .pulse-chat-head-open-sidebar:focus {
  border-color: rgba(217,255,79,.12) !important;
  background: rgba(217,255,79,.055) !important;
  color: #d9ff4f !important;
  opacity: 1 !important;
}
.theme-pulse .pulse-chat-head-open-sidebar .pulse-chat-head-open-icon { width: 14px !important; height: 14px !important; }

@media (max-width: 720px) {
  .theme-pulse { --zp-chat-head-bottom: 12px; }
  .theme-pulse.pulse-player-visible { --zp-chat-head-bottom: calc(var(--zp-player-h, 72px) + 12px); }
  .theme-pulse .pulse-chat-heads { left: 10px !important; max-width: calc(100vw - 20px) !important; gap: 8px !important; }
  .theme-pulse .pulse-chat-head-wrap,
  .theme-pulse .pulse-chat-head-main { width: 50px !important; height: 50px !important; flex-basis: 50px !important; }
  .theme-pulse .pulse-chat-panel {
    left: 10px !important;
    width: calc(100vw - 20px) !important;
    height: min(62vh, 470px) !important;
    min-height: 300px !important;
    bottom: calc(var(--zp-chat-head-bottom) + 60px) !important;
    border-radius: 16px !important;
  }
  .theme-pulse .pulse-chat-head-open-header span:last-child { display: none !important; }
  .theme-pulse .pulse-chat-head-open-header { width: 34px !important; padding: 0 !important; justify-content: center !important; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-pulse .pulse-chat-head-main,
  .theme-pulse .pulse-chat-panel,
  .theme-pulse .pulse-chat-heads { transition: none !important; }
}


/* ================================================================
   ZAHRAT PULSE 2.3.3.1 — CHAT HEAD CLIPPING HOTFIX
   Prevent the chat-head hover lift, close button and unread badge
   from being clipped by the horizontal scroller wrapper.
   ================================================================ */
.theme-pulse .pulse-chat-heads {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  padding-top: 8px !important;
  padding-right: 8px !important;
  margin-top: -8px !important;
}
.theme-pulse .pulse-chat-head-wrap {
  overflow: visible !important;
}
.theme-pulse .pulse-chat-head-main,
.theme-pulse .pulse-chat-head-close,
.theme-pulse .pulse-chat-head-unread {
  clip: auto !important;
  clip-path: none !important;
}


/* ================================================================
   ZAHRAT PULSE 2.3.3.2 — CHAT HEAD MESSAGE LAYOUT HOTFIX
   Let message rows use the whole panel width and prevent legacy
   message widths/timeago styles from collapsing the bubble.
   ================================================================ */
.theme-pulse .pulse-chat-panel-messages {
  padding: 14px 13px !important;
  gap: 10px !important;
}

.theme-pulse .pulse-chat-panel-messages .message-reply-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;
  float: none !important;
  clear: both !important;
  overflow: visible !important;
}

.theme-pulse .pulse-chat-panel-messages .message-reply-container.user-one {
  align-self: stretch !important;
  justify-content: flex-end !important;
  flex-direction: row !important;
}

.theme-pulse .pulse-chat-panel-messages .message-reply-container.user-two {
  align-self: stretch !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
}

/* Own avatar is already visible in the chat header. Removing it from
   every outgoing row gives the actual message the space it needs. */
.theme-pulse .pulse-chat-panel-messages .user-one .message-reply-avatar {
  display: none !important;
}

.theme-pulse .pulse-chat-panel-messages .message-reply-avatar {
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 0 2px !important;
  float: none !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-avatar img {
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  max-width: none !important;
  border-radius: 10px !important;
  object-fit: cover !important;
}

.theme-pulse .pulse-chat-panel-messages .message-reply-message {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 165px !important;
  max-width: calc(82% - 2px) !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 10px 12px 9px !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

.theme-pulse .pulse-chat-panel-messages .user-one .message-reply-message {
  margin-left: auto !important;
  min-width: 170px !important;
  max-width: 84% !important;
  background: linear-gradient(145deg, rgba(217,255,79,.105), rgba(217,255,79,.055)) !important;
  border-color: rgba(217,255,79,.18) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
}

.theme-pulse .pulse-chat-panel-messages .user-two .message-reply-message {
  margin-right: auto !important;
  max-width: calc(84% - 38px) !important;
  background: #171b24 !important;
  border-color: rgba(255,255,255,.075) !important;
}

.theme-pulse .pulse-chat-panel-messages .message-bubble-meta {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  line-height: 1.2 !important;
}
.theme-pulse .pulse-chat-panel-messages .message-reply-author {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.theme-pulse .pulse-chat-panel-messages .user-one .message-reply-author a {
  color: #aab59a !important;
}
.theme-pulse .pulse-chat-panel-messages .message-bubble-text {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  white-space: pre-wrap !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.theme-pulse .pulse-chat-panel-messages .list-time {
  position: static !important;
  inset: auto !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 7px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  color: #667083 !important;
  font-size: 8px !important;
  line-height: 1.2 !important;
  text-align: right !important;
  white-space: nowrap !important;
  transform: none !important;
}
.theme-pulse .pulse-chat-panel-messages .user-two .list-time {
  justify-content: flex-start !important;
  text-align: left !important;
}
.theme-pulse .pulse-chat-panel-messages .list-time .timeago,
.theme-pulse .pulse-chat-panel-messages .list-time .timeago-standard {
  position: static !important;
  inset: auto !important;
  float: none !important;
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

@media (max-width: 420px) {
  .theme-pulse .pulse-chat-panel-messages { padding: 12px 10px !important; }
  .theme-pulse .pulse-chat-panel-messages .message-reply-message,
  .theme-pulse .pulse-chat-panel-messages .user-one .message-reply-message {
    min-width: 145px !important;
    max-width: 86% !important;
  }
  .theme-pulse .pulse-chat-panel-messages .user-two .message-reply-message {
    max-width: calc(86% - 36px) !important;
  }
}


/* ================================================================
   ZAHRAT PULSE 2.3.4 — COPY TRACK LINK ACTION
   ================================================================ */
.theme-pulse .track-buttons-container > .copy-link-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  height: 31px !important;
  min-height: 31px !important;
  width: auto !important;
  min-width: 112px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  float: none !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.035) !important;
  color: #8b94a6 !important;
  font: inherit !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-indent: 0 !important;
  cursor: pointer !important;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease !important;
}
.theme-pulse .track-buttons-container > .copy-link-button:hover,
.theme-pulse .track-buttons-container > .copy-link-button:focus-visible {
  background: rgba(217,255,79,.08) !important;
  border-color: rgba(217,255,79,.24) !important;
  color: var(--zp-text) !important;
  transform: translateY(-1px) !important;
}
.theme-pulse .track-buttons-container > .copy-link-button.is-copied {
  background: rgba(217,255,79,.12) !important;
  border-color: rgba(217,255,79,.38) !important;
  color: var(--zp-accent) !important;
}
.theme-pulse .copy-link-icon {
  flex: 0 0 14px !important;
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.59 13.41a2 2 0 010-2.82l3-3a2 2 0 112.82 2.82l-1.29 1.3 1.41 1.41 1.3-1.29a4 4 0 10-5.66-5.66l-3 3a4 4 0 000 5.66l1.42-1.42zm2.82-2.82a2 2 0 010 2.82l-3 3a2 2 0 11-2.82-2.82l1.29-1.3-1.41-1.41-1.3 1.29a4 4 0 105.66 5.66l3-3a4 4 0 000-5.66l-1.42 1.42z'/%3E%3C/svg%3E") center/contain no-repeat !important;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10.59 13.41a2 2 0 010-2.82l3-3a2 2 0 112.82 2.82l-1.29 1.3 1.41 1.41 1.3-1.29a4 4 0 10-5.66-5.66l-3 3a4 4 0 000 5.66l1.42-1.42zm2.82-2.82a2 2 0 010 2.82l-3 3a2 2 0 11-2.82-2.82l1.29-1.3-1.41-1.41-1.3 1.29a4 4 0 105.66 5.66l3-3a4 4 0 000-5.66l-1.42 1.42z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
.theme-pulse .copy-link-label {
  display: inline-block !important;
  font-size: 10px !important;
  line-height: 1 !important;
  color: inherit !important;
}
@media (max-width: 520px) {
  .theme-pulse .track-buttons-container > .copy-link-button {
    min-width: 31px !important;
    width: 31px !important;
    padding: 0 !important;
  }
  .theme-pulse .track-buttons-container > .copy-link-button .copy-link-label {
    display: none !important;
  }
}


/* =========================================================
   Pulse 2.3.5 — header language flag toggle
   ========================================================= */
.pulse-language-toggle {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.035) !important;
  text-decoration: none !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease !important;
  overflow: hidden !important;
}
.pulse-language-toggle:hover {
  transform: translateY(-1px) !important;
  background: rgba(217,255,79,.08) !important;
  border-color: rgba(217,255,79,.28) !important;
}
.pulse-language-toggle:focus-visible {
  outline: 2px solid var(--zp-accent) !important;
  outline-offset: 2px !important;
}
.pulse-language-flag {
  width: 22px !important;
  height: 15px !important;
  display: block !important;
  border-radius: 2px !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: center !important;
}
.pulse-flag-cz {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 600'%3E%3Cpath fill='%23fff' d='M0 0h900v300H0z'/%3E%3Cpath fill='%23d7141a' d='M0 300h900v300H0z'/%3E%3Cpath fill='%2311457e' d='M450 300 0 0v600z'/%3E%3C/svg%3E") !important;
}
.pulse-flag-en {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3CclipPath id='a'%3E%3Cpath d='M0 0v30h60V0z'/%3E%3C/clipPath%3E%3CclipPath id='b'%3E%3Cpath d='M30 15h30v15zv15H0zH0V0zV0h30z'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23012169' d='M0 0v30h60V0z'/%3E%3Cpath stroke='%23fff' stroke-width='6' d='m0 0 60 30m0-30L0 30'/%3E%3Cpath stroke='%23c8102e' stroke-width='4' clip-path='url(%23b)' d='m0 0 60 30m0-30L0 30'/%3E%3Cpath stroke='%23fff' stroke-width='10' d='M30 0v30M0 15h60'/%3E%3Cpath stroke='%23c8102e' stroke-width='6' d='M30 0v30M0 15h60'/%3E%3C/g%3E%3C/svg%3E") !important;
}
@media (max-width: 720px) {
  .pulse-language-toggle { width: 34px !important; height: 34px !important; flex-basis: 34px !important; border-radius: 10px !important; }
  .pulse-language-flag { width: 20px !important; height: 14px !important; }
}


/* =========================================================
   Pulse 2.3.6 — music brand + working language dropdown
   ========================================================= */
.theme-pulse .pulse-brand-link {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  margin-right: 12px !important;
  min-width: 0 !important;
}
.theme-pulse .pulse-brand {
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.theme-pulse .pulse-brand-mark {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, rgba(217,255,79,.98), rgba(174,255,63,.86)) !important;
  box-shadow: 0 8px 26px rgba(217,255,79,.14), inset 0 0 0 1px rgba(255,255,255,.18) !important;
}
.theme-pulse .pulse-brand-play {
  width: 0 !important;
  height: 0 !important;
  border-top: 6px solid transparent !important;
  border-bottom: 6px solid transparent !important;
  border-left: 9px solid #0b0d10 !important;
  margin-left: -7px !important;
  position: relative !important;
  z-index: 2 !important;
}
.theme-pulse .pulse-brand-wave {
  position: absolute !important;
  bottom: 9px !important;
  width: 3px !important;
  border-radius: 999px !important;
  background: #0b0d10 !important;
  opacity: .88 !important;
}
.theme-pulse .pulse-brand-wave-1 { right: 10px !important; height: 9px !important; }
.theme-pulse .pulse-brand-wave-2 { right: 6px !important; height: 14px !important; }
.theme-pulse .pulse-brand-wave-3 { right: 2px !important; height: 7px !important; }
.theme-pulse .pulse-brand-word {
  color: #f7f9fc !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -.65px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.theme-pulse .pulse-brand-dot {
  color: var(--zp-accent) !important;
  font-size: .58em !important;
  letter-spacing: -.2px !important;
  margin-left: 1px !important;
  vertical-align: .18em !important;
}
.theme-pulse .pulse-brand-link:hover .pulse-brand-mark {
  transform: translateY(-1px) scale(1.02) !important;
  box-shadow: 0 10px 30px rgba(217,255,79,.22), inset 0 0 0 1px rgba(255,255,255,.22) !important;
}

.theme-pulse .pulse-language-menu {
  position: relative !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  z-index: 1250 !important;
}
.theme-pulse .pulse-language-menu > summary {
  list-style: none !important;
}
.theme-pulse .pulse-language-menu > summary::-webkit-details-marker { display: none !important; }
.theme-pulse .pulse-language-menu .pulse-language-toggle {
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  cursor: pointer !important;
  overflow: visible !important;
  gap: 2px !important;
}
.theme-pulse .pulse-language-caret {
  position: absolute !important;
  right: 3px !important;
  bottom: 4px !important;
  width: 5px !important;
  height: 5px !important;
  border-right: 1.5px solid rgba(255,255,255,.72) !important;
  border-bottom: 1.5px solid rgba(255,255,255,.72) !important;
  transform: rotate(45deg) !important;
  transition: transform .16s ease !important;
}
.theme-pulse .pulse-language-menu[open] .pulse-language-caret {
  transform: rotate(225deg) translate(-1px,-1px) !important;
}
.theme-pulse .pulse-language-dropdown {
  position: absolute !important;
  top: calc(100% + 9px) !important;
  right: 0 !important;
  min-width: 132px !important;
  padding: 6px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 13px !important;
  background: rgba(15,17,23,.98) !important;
  box-shadow: 0 16px 46px rgba(0,0,0,.34) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}
.theme-pulse .pulse-language-option {
  width: 100% !important;
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 7px 9px !important;
  border-radius: 9px !important;
  color: #e8edf5 !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.theme-pulse .pulse-language-option:hover {
  background: rgba(217,255,79,.09) !important;
  color: var(--zp-accent) !important;
}
.theme-pulse .pulse-language-option .pulse-language-flag {
  flex: 0 0 22px !important;
}

@media (max-width: 720px) {
  .theme-pulse .pulse-brand-link { margin-right: 3px !important; }
  .theme-pulse .pulse-brand { gap: 0 !important; }
  .theme-pulse .pulse-brand-word { display: none !important; }
  .theme-pulse .pulse-brand-mark { width: 36px !important; height: 36px !important; flex-basis: 36px !important; border-radius: 11px !important; }
  .theme-pulse .pulse-language-menu { width: 34px !important; height: 34px !important; flex-basis: 34px !important; }
  .theme-pulse .pulse-language-menu .pulse-language-toggle { width: 34px !important; height: 34px !important; }
  .theme-pulse .pulse-language-dropdown { right: -4px !important; }
}

/* =========================================================
   Pulse 2.3.6.1 — language switch reliability + clean chevron
   ========================================================= */
.theme-pulse .pulse-language-menu {
  flex-basis: 46px !important;
  width: 46px !important;
}
.theme-pulse .pulse-language-menu .pulse-language-toggle {
  width: 46px !important;
  padding: 0 9px !important;
  gap: 7px !important;
  justify-content: center !important;
  overflow: visible !important;
}
.theme-pulse .pulse-language-caret {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  width: 9px !important;
  height: 6px !important;
  flex: 0 0 9px !important;
  border: 0 !important;
  color: rgba(232,237,245,.72) !important;
  transform: none !important;
  transition: transform .18s ease, color .18s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.theme-pulse .pulse-language-caret svg {
  width: 9px !important;
  height: 6px !important;
  display: block !important;
  overflow: visible !important;
}
.theme-pulse .pulse-language-caret path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke !important;
}
.theme-pulse .pulse-language-toggle:hover .pulse-language-caret {
  color: var(--zp-accent) !important;
}
.theme-pulse .pulse-language-menu[open] .pulse-language-caret {
  transform: rotate(180deg) !important;
}
@media (max-width: 720px) {
  .theme-pulse .pulse-language-menu {
    width: 42px !important;
    flex-basis: 42px !important;
    height: 34px !important;
  }
  .theme-pulse .pulse-language-menu .pulse-language-toggle {
    width: 42px !important;
    height: 34px !important;
    padding: 0 7px !important;
    gap: 6px !important;
  }
  .theme-pulse .pulse-language-caret,
  .theme-pulse .pulse-language-caret svg {
    width: 8px !important;
    height: 5px !important;
    flex-basis: 8px !important;
  }
}

/* =========================================================
   Pulse 2.3.6.2 — modal stacking fix + cleaner language control
   ========================================================= */
/* Legacy theme gives the modal wrappers z-index:101 while the new blurred
   backdrop lives at 1400. That traps the login dialog behind the backdrop.
   Keep every modal wrapper above the backdrop so Connect/share/etc. remain
   visible and clickable. */
.theme-pulse #share,
.theme-pulse #playlist,
.theme-pulse #delete,
.theme-pulse #connect {
  z-index: 1500 !important;
  pointer-events: auto !important;
}
.theme-pulse .modal-background {
  z-index: 1400 !important;
}
.theme-pulse #connect .modal-container,
.theme-pulse #share .modal-container,
.theme-pulse #playlist .modal-container,
.theme-pulse #delete .modal-container {
  z-index: 1510 !important;
  pointer-events: auto !important;
}

/* Language control: only the outer button is framed. Flags themselves stay
   clean, larger and borderless. */
.theme-pulse .pulse-language-menu {
  width: 58px !important;
  flex-basis: 58px !important;
}
.theme-pulse .pulse-language-menu .pulse-language-toggle {
  width: 58px !important;
  height: 40px !important;
  padding: 0 10px !important;
  gap: 8px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.035) !important;
  overflow: visible !important;
}
.theme-pulse .pulse-language-menu .pulse-language-toggle:hover {
  border-color: rgba(217,255,79,.28) !important;
  background: rgba(217,255,79,.08) !important;
}
.theme-pulse .pulse-language-flag,
.theme-pulse .pulse-language-option .pulse-language-flag {
  width: 27px !important;
  height: 18px !important;
  flex: 0 0 27px !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 2px !important;
  background-size: 100% 100% !important;
}
.theme-pulse .pulse-language-caret {
  width: 10px !important;
  height: 6px !important;
  flex-basis: 10px !important;
}
.theme-pulse .pulse-language-caret svg {
  width: 10px !important;
  height: 6px !important;
}
.theme-pulse .pulse-language-option {
  gap: 10px !important;
}

@media (max-width: 720px) {
  .theme-pulse .pulse-language-menu {
    width: 52px !important;
    height: 36px !important;
    flex-basis: 52px !important;
  }
  .theme-pulse .pulse-language-menu .pulse-language-toggle {
    width: 52px !important;
    height: 36px !important;
    padding: 0 8px !important;
    gap: 7px !important;
  }
  .theme-pulse .pulse-language-flag,
  .theme-pulse .pulse-language-option .pulse-language-flag {
    width: 25px !important;
    height: 17px !important;
    flex-basis: 25px !important;
  }
  .theme-pulse .pulse-language-caret,
  .theme-pulse .pulse-language-caret svg {
    width: 9px !important;
    height: 5px !important;
    flex-basis: 9px !important;
  }
}

/* =========================================================
   Pulse 2.3.7 — authentication modal redesign
   ========================================================= */
.theme-pulse #connect {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1500 !important;
  pointer-events: auto !important;
}
.theme-pulse #connect .pulse-auth-modal {
  width: min(94vw, 820px) !important;
  max-width: 820px !important;
  max-height: min(90vh, 680px) !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 310px minmax(0, 1fr) !important;
  overflow: hidden !important;
  background:
    linear-gradient(145deg, rgba(22,25,34,.99), rgba(11,13,19,.99)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 28px !important;
  box-shadow:
    0 34px 100px rgba(0,0,0,.58),
    0 0 0 1px rgba(217,255,79,.025) inset !important;
  isolation: isolate;
}
.theme-pulse #connect .pulse-auth-modal::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 2% 0%, rgba(141,107,255,.15), transparent 34%),
    radial-gradient(circle at 98% 100%, rgba(217,255,79,.07), transparent 30%);
}
.theme-pulse #connect .pulse-auth-close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 10 !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.04) !important;
  cursor: pointer !important;
  box-shadow: none !important;
  appearance: none !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}
.theme-pulse #connect .pulse-auth-close::before,
.theme-pulse #connect .pulse-auth-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 1.5px;
  border-radius: 999px;
  background: var(--zp-text-2);
  transform-origin: center;
}
.theme-pulse #connect .pulse-auth-close::before { transform: translate(-50%,-50%) rotate(45deg); }
.theme-pulse #connect .pulse-auth-close::after { transform: translate(-50%,-50%) rotate(-45deg); }
.theme-pulse #connect .pulse-auth-close:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(217,255,79,.24) !important;
  transform: translateY(-1px) !important;
}
.theme-pulse #connect .pulse-auth-close:hover::before,
.theme-pulse #connect .pulse-auth-close:hover::after { background: var(--zp-accent); }

.theme-pulse #connect .pulse-auth-aside {
  position: relative;
  min-height: 520px;
  padding: 48px 34px 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background:
    linear-gradient(160deg, rgba(141,107,255,.18), rgba(141,107,255,.03) 48%, rgba(217,255,79,.08) 100%),
    #10121a;
  border-right: 1px solid rgba(255,255,255,.08);
}
.theme-pulse #connect .pulse-auth-aside::before {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  right: -120px;
  top: -90px;
  border: 1px solid rgba(217,255,79,.14);
  box-shadow:
    0 0 0 32px rgba(217,255,79,.025),
    0 0 0 68px rgba(141,107,255,.025);
}
.theme-pulse #connect .pulse-auth-brandmark {
  width: 64px;
  height: 64px;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--zp-accent), #c8f73c 48%, var(--zp-accent-2) 49%, #7557ef);
  box-shadow: 0 18px 46px rgba(0,0,0,.26), 0 0 0 1px rgba(255,255,255,.16) inset;
}
.theme-pulse #connect .pulse-auth-play {
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #0d0f14;
  transform: translateX(1px);
}
.theme-pulse #connect .pulse-auth-bars {
  height: 20px;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.theme-pulse #connect .pulse-auth-bars i {
  width: 2px;
  border-radius: 99px;
  background: #0d0f14;
  display: block;
}
.theme-pulse #connect .pulse-auth-bars i:nth-child(1) { height: 8px; }
.theme-pulse #connect .pulse-auth-bars i:nth-child(2) { height: 15px; }
.theme-pulse #connect .pulse-auth-bars i:nth-child(3) { height: 20px; }
.theme-pulse #connect .pulse-auth-bars i:nth-child(4) { height: 11px; }
.theme-pulse #connect .pulse-auth-kicker {
  margin-bottom: 7px;
  color: rgba(217,255,79,.85);
  font-size: 10px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.theme-pulse #connect .pulse-auth-wordmark {
  color: var(--zp-text);
  font-family: "Space Grotesk", sans-serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 760;
  letter-spacing: -1.5px;
}
.theme-pulse #connect .pulse-auth-wordmark span { color: var(--zp-accent); }
.theme-pulse #connect .pulse-auth-copy {
  margin-top: 18px;
  max-width: 230px;
  color: var(--zp-text-2);
  font-size: 13px;
  line-height: 1.7;
}
.theme-pulse #connect .pulse-auth-wave {
  height: 40px;
  margin-top: 34px;
  display: flex;
  align-items: center;
  gap: 6px;
  opacity: .75;
}
.theme-pulse #connect .pulse-auth-wave span {
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(to top, var(--zp-accent-2), var(--zp-accent));
}
.theme-pulse #connect .pulse-auth-wave span:nth-child(1) { height: 12px; }
.theme-pulse #connect .pulse-auth-wave span:nth-child(2) { height: 24px; }
.theme-pulse #connect .pulse-auth-wave span:nth-child(3) { height: 34px; }
.theme-pulse #connect .pulse-auth-wave span:nth-child(4) { height: 18px; }
.theme-pulse #connect .pulse-auth-wave span:nth-child(5) { height: 29px; }
.theme-pulse #connect .pulse-auth-wave span:nth-child(6) { height: 15px; }
.theme-pulse #connect .pulse-auth-wave span:nth-child(7) { height: 23px; }

.theme-pulse #connect .pulse-auth-main {
  min-width: 0;
  padding: 34px 34px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(13,15,22,.78);
}
.theme-pulse #connect .modal-title,
.theme-pulse #connect .modal-inner,
.theme-pulse #connect .modal-menu,
.theme-pulse #connect .modal-menu-container {
  width: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.theme-pulse #connect .modal-menu-container {
  padding: 0 46px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.theme-pulse #connect .pulse-auth-tabs {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.025) !important;
}
.theme-pulse #connect .modal-menu-item {
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--zp-muted) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease !important;
}
.theme-pulse #connect .modal-menu-item:hover {
  color: var(--zp-text) !important;
  background: rgba(255,255,255,.04) !important;
}
.theme-pulse #connect .modal-menu-item-active,
.theme-pulse #connect .modal-menu-item-active:hover {
  color: #0a0c10 !important;
  background: var(--zp-accent) !important;
  box-shadow: 0 8px 22px rgba(217,255,79,.12) !important;
}
.theme-pulse #connect .modal-loading {
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  float: none !important;
  flex: 0 0 26px !important;
}
.theme-pulse #connect .tab-login,
.theme-pulse #connect .tab-register {
  width: 100%;
  padding-top: 28px;
}
.theme-pulse #connect .modal-inner { padding: 0 !important; }
.theme-pulse #connect .pulse-auth-fields {
  display: grid;
  gap: 12px;
}
.theme-pulse #connect .pulse-auth-field {
  position: relative;
}
.theme-pulse #connect .pulse-auth-field::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  opacity: .65;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  transition: opacity .18s ease;
}
.theme-pulse #connect .pulse-auth-field:focus-within::before { opacity: 1; }
.theme-pulse #connect .pulse-auth-field-user::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b7bdc9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 20c.9-4.1 3.4-6.1 7.5-6.1s6.6 2 7.5 6.1'/%3E%3C/svg%3E");
}
.theme-pulse #connect .pulse-auth-field-password::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b7bdc9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='3'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3Cpath d='M12 14v2'/%3E%3C/svg%3E");
}
.theme-pulse #connect .pulse-auth-field-email::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b7bdc9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m5 8 7 5 7-5'/%3E%3C/svg%3E");
}
.theme-pulse #connect .modal-input input[type="text"],
.theme-pulse #connect .modal-input input[type="password"],
.theme-pulse #connect .modal-input input[type="email"] {
  width: 100% !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 16px 0 48px !important;
  float: none !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 14px !important;
  outline: 0 !important;
  background: rgba(255,255,255,.035) !important;
  color: var(--zp-text) !important;
  caret-color: var(--zp-accent) !important;
  font: 600 13px/1 "Manrope", sans-serif !important;
  box-shadow: none !important;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}
.theme-pulse #connect .modal-input input::placeholder { color: #6f7788 !important; opacity: 1 !important; }
.theme-pulse #connect .modal-input input:hover {
  border-color: rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.045) !important;
}
.theme-pulse #connect .modal-input input:focus {
  border-color: rgba(217,255,79,.46) !important;
  background: rgba(217,255,79,.025) !important;
  box-shadow: 0 0 0 4px rgba(217,255,79,.055) !important;
}
.theme-pulse #connect .modal-input input:-webkit-autofill,
.theme-pulse #connect .modal-input input:-webkit-autofill:hover,
.theme-pulse #connect .modal-input input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--zp-text) !important;
  -webkit-box-shadow: 0 0 0 1000px #14171f inset !important;
  transition: background-color 9999s ease-out 0s !important;
}
.theme-pulse #connect .pulse-auth-options {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.theme-pulse #connect .modal-checkbox {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: var(--zp-text-2) !important;
  font-size: 12px !important;
}
.theme-pulse #connect .modal-checkbox input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  flex: 0 0 17px !important;
  float: none !important;
  accent-color: var(--zp-accent) !important;
  cursor: pointer !important;
}
.theme-pulse #connect .modal-checkbox label {
  margin: 0 !important;
  float: none !important;
  color: var(--zp-text-2) !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
}
.theme-pulse #connect .modal-checkbox label a { color: var(--zp-text) !important; text-decoration: underline; text-decoration-color: rgba(255,255,255,.2); text-underline-offset: 2px; }
.theme-pulse #connect .modal-checkbox label a:hover { color: var(--zp-accent) !important; text-decoration-color: rgba(217,255,79,.5); }
.theme-pulse #connect .forgot-password {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}
.theme-pulse #connect .forgot-password a { color: var(--zp-text-2) !important; font-weight: 650 !important; }
.theme-pulse #connect .forgot-password a:hover { color: var(--zp-accent) !important; }
.theme-pulse #connect .pulse-auth-actions {
  margin-top: 24px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  overflow: visible !important;
  flex: 1 1 0 !important;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn a {
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.04) !important;
  color: var(--zp-text) !important;
  font: 750 13px/1 "Manrope", sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease !important;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn a:hover {
  transform: translateY(-1px) !important;
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.16) !important;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn-active a,
.theme-pulse #connect .pulse-auth-actions .modal-btn-active a:hover {
  border-color: var(--zp-accent) !important;
  background: var(--zp-accent) !important;
  color: #090b0f !important;
  box-shadow: 0 12px 30px rgba(217,255,79,.11) !important;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn-facebook a {
  position: relative;
  border-color: rgba(90,128,214,.28) !important;
  background: rgba(66,103,178,.10) !important;
  color: #cbd9ff !important;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn-facebook a::before {
  content: "f";
  width: 18px;
  height: 18px;
  margin-right: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: #4267b2;
  color: #fff;
  font: 800 13px/1 Arial, sans-serif;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn-facebook a:hover {
  border-color: rgba(90,128,214,.48) !important;
  background: rgba(66,103,178,.16) !important;
  color: #fff !important;
}
.theme-pulse #connect .modal-checkbox-register {
  margin-top: 15px !important;
  align-items: flex-start !important;
}
.theme-pulse #connect .pulse-auth-captcha {
  width: 100%;
}
.theme-pulse #connect .pulse-auth-captcha:empty { display: none; }
.theme-pulse #connect .pulse-auth-captcha .modal-captcha,
.theme-pulse #connect .pulse-auth-captcha > * {
  max-width: 100%;
}
.theme-pulse #connect .pulse-auth-captcha .modal-captcha {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
}
.theme-pulse #connect .pulse-auth-captcha .modal-captcha input {
  width: 100% !important;
}
.theme-pulse #connect .pulse-auth-captcha img {
  width: auto !important;
  max-width: 100px !important;
  height: 46px !important;
  margin: 0 !important;
  float: none !important;
  object-fit: cover !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.035) !important;
}
.theme-pulse #connect .pulse-auth-message:empty { display: none; }
.theme-pulse #connect .pulse-auth-message:not(:empty) {
  margin: 0 0 16px !important;
}
.theme-pulse #connect .pulse-auth-message .notification-box,
.theme-pulse #connect .pulse-auth-message .notification-box-error,
.theme-pulse #connect .pulse-auth-message .notification-box-success {
  width: 100% !important;
  margin: 0 !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}
.theme-pulse #connect .pulse-auth-message .notification-box p { margin: 0 !important; }

@media (max-width: 760px) {
  .theme-pulse #connect .pulse-auth-modal {
    width: min(94vw, 500px) !important;
    max-height: calc(100vh - 24px) !important;
    grid-template-columns: 1fr !important;
    overflow-y: auto !important;
    border-radius: 22px !important;
  }
  .theme-pulse #connect .pulse-auth-aside {
    min-height: 0 !important;
    padding: 22px 64px 20px 22px !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 2px !important;
    justify-content: initial !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
  }
  .theme-pulse #connect .pulse-auth-brandmark {
    grid-row: 1 / 3;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    border-radius: 15px !important;
  }
  .theme-pulse #connect .pulse-auth-play {
    border-top-width: 6px;
    border-bottom-width: 6px;
    border-left-width: 9px;
  }
  .theme-pulse #connect .pulse-auth-bars { height: 16px; gap: 1.5px; }
  .theme-pulse #connect .pulse-auth-bars i:nth-child(1) { height: 6px; }
  .theme-pulse #connect .pulse-auth-bars i:nth-child(2) { height: 11px; }
  .theme-pulse #connect .pulse-auth-bars i:nth-child(3) { height: 15px; }
  .theme-pulse #connect .pulse-auth-bars i:nth-child(4) { height: 9px; }
  .theme-pulse #connect .pulse-auth-kicker { display: none !important; }
  .theme-pulse #connect .pulse-auth-wordmark {
    align-self: end;
    font-size: 24px !important;
    letter-spacing: -1px !important;
  }
  .theme-pulse #connect .pulse-auth-copy {
    align-self: start;
    margin: 2px 0 0 !important;
    max-width: none !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .theme-pulse #connect .pulse-auth-wave { display: none !important; }
  .theme-pulse #connect .pulse-auth-main { padding: 24px 22px 22px !important; }
  .theme-pulse #connect .pulse-auth-close { top: 15px !important; right: 15px !important; }
  .theme-pulse #connect .modal-menu-container { padding-right: 0 !important; }
  .theme-pulse #connect .tab-login,
  .theme-pulse #connect .tab-register { padding-top: 22px !important; }
}

@media (max-width: 460px) {
  .theme-pulse #connect .pulse-auth-modal {
    width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    border-radius: 18px !important;
  }
  .theme-pulse #connect .pulse-auth-aside { padding-left: 18px !important; }
  .theme-pulse #connect .pulse-auth-main { padding: 20px 18px 18px !important; }
  .theme-pulse #connect .pulse-auth-options {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 9px !important;
  }
  .theme-pulse #connect .pulse-auth-actions { flex-direction: column !important; }
  .theme-pulse #connect .pulse-auth-actions .modal-btn { width: 100% !important; }
  .theme-pulse #connect .modal-menu-item { min-height: 36px !important; padding: 0 12px !important; }
}

/* =========================================================
   Pulse 2.3.7.1 — auth modal production cleanup
   Fully detach Connect from legacy 300px modal geometry.
   ========================================================= */
.theme-pulse #connect {
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  overflow: visible !important;
}

.theme-pulse #connect .pulse-auth-modal {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  width: min(92vw, 780px) !important;
  max-width: 780px !important;
  min-height: 500px !important;
  max-height: calc(100vh - 40px) !important;
  grid-template-columns: 270px minmax(0, 1fr) !important;
  border-radius: 24px !important;
}

/* The forms need an invisible submit target for Enter. Global Pulse button
   styling used to force it visible, producing the unwanted "Odoslat" button. */
.theme-pulse #connect #login-form > input[type="submit"],
.theme-pulse #connect #register-form > input[type="submit"] {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.theme-pulse #connect .pulse-auth-aside {
  min-height: 500px !important;
  padding: 40px 30px 34px !important;
}
.theme-pulse #connect .pulse-auth-brandmark {
  width: 58px !important;
  height: 58px !important;
  margin-bottom: 24px !important;
  border-radius: 18px !important;
}
.theme-pulse #connect .pulse-auth-kicker {
  margin-bottom: 8px !important;
  font-size: 9px !important;
  letter-spacing: .16em !important;
}
.theme-pulse #connect .pulse-auth-wordmark {
  font-size: 31px !important;
  letter-spacing: -1.35px !important;
}
.theme-pulse #connect .pulse-auth-copy {
  margin-top: 17px !important;
  max-width: 215px !important;
  font-size: 12.5px !important;
  line-height: 1.68 !important;
}
.theme-pulse #connect .pulse-auth-wave {
  margin-top: 28px !important;
  height: 34px !important;
  opacity: .62 !important;
}

.theme-pulse #connect .pulse-auth-main {
  min-height: 500px !important;
  padding: 46px 36px 36px !important;
  justify-content: center !important;
}
.theme-pulse #connect .modal-title {
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}
.theme-pulse #connect .modal-menu-container {
  position: relative !important;
  padding: 0 !important;
  overflow: visible !important;
}
.theme-pulse #connect .pulse-auth-tabs {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
  padding: 5px !important;
  border-radius: 15px !important;
}
.theme-pulse #connect .modal-menu-item {
  width: 100% !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  font-size: 12.5px !important;
  border-radius: 11px !important;
}
.theme-pulse #connect .modal-loading {
  position: absolute !important;
  top: -34px !important;
  right: 42px !important;
  width: 22px !important;
  height: 22px !important;
  z-index: 3 !important;
}
.theme-pulse #connect .tab-login,
.theme-pulse #connect .tab-register {
  padding-top: 24px !important;
}
.theme-pulse #connect .pulse-auth-fields {
  gap: 13px !important;
}
.theme-pulse #connect .modal-input input[type="text"],
.theme-pulse #connect .modal-input input[type="password"],
.theme-pulse #connect .modal-input input[type="email"] {
  min-height: 52px !important;
  padding: 0 16px 0 48px !important;
  border-width: 1px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
}
.theme-pulse #connect .pulse-auth-field::before {
  left: 17px !important;
  width: 17px !important;
  height: 17px !important;
  background-size: 17px 17px !important;
}

/* Custom remember/agreement control — no native white legacy checkbox. */
.theme-pulse #connect .modal-checkbox input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
.theme-pulse #connect .modal-checkbox input[type="checkbox"]:hover {
  border-color: rgba(217,255,79,.42) !important;
}
.theme-pulse #connect .modal-checkbox input[type="checkbox"]:checked {
  border-color: var(--zp-accent) !important;
  background-color: var(--zp-accent) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23090b0f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10 3 3 7-7'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 14px 14px !important;
}
.theme-pulse #connect .modal-checkbox input[type="checkbox"]:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(217,255,79,.12) !important;
}
.theme-pulse #connect .pulse-auth-options {
  margin-top: 15px !important;
  min-height: 24px !important;
}
.theme-pulse #connect .modal-checkbox,
.theme-pulse #connect .forgot-password {
  font-size: 11.5px !important;
}
.theme-pulse #connect .forgot-password a {
  color: #aeb5c4 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.theme-pulse #connect .forgot-password a:hover {
  color: var(--zp-accent) !important;
}

.theme-pulse #connect .pulse-auth-actions {
  margin-top: 22px !important;
  gap: 10px !important;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn a {
  min-height: 50px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.theme-pulse #connect .pulse-auth-actions .modal-btn-active a,
.theme-pulse #connect .pulse-auth-actions .modal-btn-active a:hover {
  box-shadow: 0 12px 30px rgba(217,255,79,.10) !important;
}
.theme-pulse #connect .modal-checkbox-register {
  margin-top: 14px !important;
  padding: 0 !important;
}
.theme-pulse #connect .pulse-auth-message:not(:empty) {
  margin: 0 0 14px !important;
}

@media (max-width: 760px) {
  .theme-pulse #connect .pulse-auth-modal {
    width: min(94vw, 500px) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 20px) !important;
    grid-template-columns: 1fr !important;
    overflow-y: auto !important;
    border-radius: 21px !important;
  }
  .theme-pulse #connect .pulse-auth-aside {
    min-height: 0 !important;
    padding: 20px 60px 18px 20px !important;
  }
  .theme-pulse #connect .pulse-auth-main {
    min-height: 0 !important;
    padding: 22px 20px 20px !important;
  }
  .theme-pulse #connect .pulse-auth-tabs {
    padding: 4px !important;
  }
  .theme-pulse #connect .modal-menu-item {
    min-height: 40px !important;
  }
  .theme-pulse #connect .tab-login,
  .theme-pulse #connect .tab-register {
    padding-top: 20px !important;
  }
}

/* =========================================================
   Pulse 2.3.7.2 — messages notification badge visibility
   Keep the unread count fully visible inside the header.
   ========================================================= */
.theme-pulse .header > a#messages_url,
.theme-pulse .header > a:has(#messages_btn) {
  position: relative !important;
  overflow: visible !important;
  z-index: 25 !important;
}

.theme-pulse #messages_btn {
  overflow: visible !important;
  z-index: 26 !important;
}

.theme-pulse #messages_btn .notificatons-number-container {
  position: absolute !important;
  top: 19px !important;
  right: -5px !important;
  z-index: 40 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
}

.theme-pulse #messages_btn .notifications-number {
  min-width: 17px !important;
  height: 17px !important;
  padding: 0 4px !important;
  border: 2px solid #080a0f !important;
  border-radius: 999px !important;
  background: var(--zp-danger) !important;
  color: #fff !important;
  font-size: 9px !important;
  line-height: 13px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.35) !important;
}

@media (max-width: 680px) {
  .theme-pulse #messages_btn .notificatons-number-container {
    top: 17px !important;
    right: -4px !important;
  }
}
