
.dashboard-footer {
  margin-top: 40px;
  text-align: center;
  padding: 30px 0;
}
.remove-account-btn {
  background-color: #ff1744;
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: bold;
  transition: background 0.3s ease;
}
.remove-account-btn:hover {
  background-color: #d50000;
}


/* Shop filters spacing */
#filters-sidebar{padding:16px;box-sizing:border-box;}


/* ============================
   SAFE MOBILE GHOST BUTTONS (auth untouched)
   Hides only .btn.ghost in the navbar on small screens.
   ============================ */
@media (max-width: 640px) {
  .nav-inner .btn.ghost {
    display: none !important;
  }
}

/* ============================
   Responsive navbar layout
   ============================ */
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* Right-side actions group */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 640px) {
  .nav-actions {
    width: 100%;
    justify-content: flex-start;
    gap: 8px;
  }
  .nav-actions .btn {
    padding: 8px 12px;
    font-size: 0.95rem;
    line-height: 1.1;
  }
  .profile-container .profile-dropdown {
    right: 0;
    left: auto;
  }
}





/* AUTH UI ALWAYS VISIBLE */
.nav-actions .profile-container { display: inline-flex; align-items: center; gap: 8px; }


/* === MENU ALIGNMENT & TOP-LAYER FIX (v3) — 20250910_194908 ===
   1) Pin burger (#menuToggle) to the LEFT in flex/float/text-align contexts
   2) Ensure menu overlay beats any fixed headers (e.g., body>header:nth-child(6))
   3) Keep overlay in viewport and above all UI
*/
:root {
  --menu-z: 2147483646;
  --menu-nav-z: 2147483647;
}

/* 1) Pin burger to the LEFT without taking it out of flow */
#menuToggle {
  margin-left: 0 !important;
  margin-right: auto !important;     /* in flex context, pushes it to the left */
  float: none !important;            /* neutralize float:right */
  order: -1;                         /* in flexbox, move to the head of row */
  align-self: center;                /* keep vertical alignment tidy */
}

/* 2) Bring overlay above everything and push headers behind while open */
#menu { z-index: var(--menu-z) !important; }
nav:has(#menuCheckbox:checked) { position: relative; z-index: var(--menu-nav-z) !important; }
/* If any global header tries to sit on top, send it underneath while menu is open */
body:has(#menuCheckbox:checked) > header { z-index: calc(var(--menu-z) - 2) !important; }

/* Ensure the backdrop (if present) sits just under the nav layer */
nav:has(#menuCheckbox:checked)::before { z-index: calc(var(--menu-z) - 1) !important; }

/* === END MENU ALIGNMENT & TOP-LAYER FIX (v3) === */


/* === MENU OVERLAY & BURGER OVERRIDES (v4) — 20250910_200302 ===
   - Pin burger to top-left (fixed) without layout shifts
   - Keep overlay above fixed headers, side filters, etc.
   - Provide :has() and .menu-open (JS) fallbacks
*/
:root {
  --menu-z: 2147483638;
  --menu-nav-z: 2147483639;
  --menu-toggle-top: 16px;
  --menu-toggle-left: 12px;
  --menu-width: clamp(260px, 85vw, 360px);
}

/* Burger pinned top-left; high z for tappability */
#menuToggle {
  position: fixed !important;
  top: var(--menu-toggle-top) !important;
  left: var(--menu-toggle-left) !important;
  margin: 0 !important;
  z-index: var(--menu-nav-z) !important;
}

/* Overlay menu: fixed and bounded */
#menu {
  position: fixed !important;
  top: 0; left: 0;
  height: 100dvh; max-height: 100dvh;
  width: var(--menu-width); max-width: 100vw;
  overflow-y: auto;
  z-index: var(--menu-z) !important;
  pointer-events: none;
  transform: translate3d(-105%,0,0);
}
#menuCheckbox:checked ~ #menu {
  transform: translate3d(0,0,0);
  pointer-events: auto;
}

/* Stack control while open — both :has() and .menu-open */
nav:has(#menuCheckbox:checked), body.menu-open nav {
  position: relative; z-index: var(--menu-nav-z) !important;
}
/* Anything “fixed” like your .filters panel goes under overlay while open */
body:has(#menuCheckbox:checked) .filters,
body.menu-open .filters {
  z-index: 0 !important;
}
/* Keep headers under overlay while open */
body:has(#menuCheckbox:checked) > header,
body.menu-open > header {
  z-index: 0 !important;
}

/* Backdrop layer just under nav (if nav ::before is used) */
nav:has(#menuCheckbox:checked)::before,
body.menu-open nav::before {
  z-index: calc(var(--menu-z) - 1) !important;
}
/* === END v4 === */


/* === INLINE AD GRID (ad3) — 2025-09-12 START === */
.ad3 { max-width: 1100px; margin: 40px auto; padding: 0 16px; }
.ad3-title { margin: 0 0 14px; font-size: 1rem; font-weight: 600; opacity: .8; }
.ad3-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 16px;
  grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width: 960px) {
  .ad3-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .ad3-grid { grid-template-columns: 1fr; }
}
.ad3-item { position: relative; }
.ad3-card {
  display: block; border-radius: 12px; overflow: hidden; background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ad3-card:hover, .ad3-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.12);
  outline: none;
}
.ad3-media {
  display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover;
  background: #f3f4f6;
}
.ad3-meta {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px; font-size: .9rem; color: #111827; gap: 8px;
}
.ad3-label { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad3-tag { font-size: .75rem; padding: 2px 8px; border-radius: 999px; background: #f3f4f6; color: #374151; }
.ad3-skel {
  width: 100%; aspect-ratio: 16/9; border-radius: 12px;
  background: linear-gradient(90deg,#f2f2f2 25%,#e9e9e9 37%,#f2f2f2 63%);
  background-size: 400% 100%; animation: ad3-shimmer 1.2s infinite;
  border: 1px solid rgba(0,0,0,.06);
}
@keyframes ad3-shimmer { 0%{background-position: 100% 0} 100%{background-position: 0 0} }
/* === INLINE AD GRID (ad3) — 2025-09-12 END === */


/* FIX: ensure inline ad grid even if footers/theme overrides ul display */
body > section.ad3 .ad3-grid,
section.ad3 .ad3-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
@media (max-width: 768px) {
  body > section.ad3 .ad3-grid,
  section.ad3 .ad3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 480px) {
  body > section.ad3 .ad3-grid,
  section.ad3 .ad3-grid { grid-template-columns: 1fr !important; }
}

/* PLAYER ADS COMPANION (inside liveChatBox, prevent layout shift) */
#liveChatBox #player-ads { display:block; width:100%; max-width:100%; flex:0 0 auto; margin: -30px 0 -30px; }
#liveChatBox #player-ads .ad3-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
#liveChatBox #player-ads .ad-card { display: flex; align-items: stretch; border-radius: 12px; overflow: hidden; background: #0b1220; border: 1px solid rgba(255,255,255,.06); }
#liveChatBox #player-ads .ad-card__img { width: 220px; height: auto; max-height: 160px; object-fit: cover; }
#liveChatBox #player-ads .ad-card__meta { padding: 12px 14px; display: grid; align-content: center; }
#liveChatBox #player-ads .ad-card__meta strong { font-weight: 600; color: #e5e7eb; }
#liveChatBox #player-ads .ad-card__meta span { color: #9ca3af; font-size: .9rem; }
@media (max-width: 900px) {
  #liveChatBox #player-ads .ad-card { flex-direction: column; }
  #liveChatBox #player-ads .ad-card__img { width: 100%; height: 180px; max-height: none; }
}

/* SAFE: media-header left padding (2025-09-20) */
.media-header{padding-left:1rem;}
@media (min-width:768px){.media-header{padding-left:1.25rem;}}
/* /SAFE: media-header left padding */

/* SAFE: chat-toggle-btn glow (2025-09-20) */
.chat-toggle-btn {
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}
.chat-toggle-btn:focus,
.chat-toggle-btn:hover,
.chat-toggle-btn.active {
  box-shadow: 0 0 8px 2px rgba(236,72,153,0.7);
  transform: scale(1.05);
}
/* /SAFE: chat-toggle-btn glow */

/* SAFE: chat-toggle mobile glow (2025-09-20) */
@keyframes chatPulseGlow {
  0%   { box-shadow: 0 0 0.35rem rgba(255,255,255,0.35), 0 0 0.85rem rgba(236,72,153,0.25); transform: translateZ(0) scale(1); }
  50%  { box-shadow: 0 0 0.6rem rgba(255,255,255,0.55), 0 0 1.2rem rgba(236,72,153,0.45); transform: translateZ(0) scale(1.03); }
  100% { box-shadow: 0 0 0.35rem rgba(255,255,255,0.35), 0 0 0.85rem rgba(236,72,153,0.25); transform: translateZ(0) scale(1); }
}

/* Base button polish */
.chat-toggle-btn{
  border-radius: 9999px;
  outline: none;
  transition: transform .2s ease, box-shadow .2s ease;
  will-change: transform, box-shadow;
}

/* Mobile-only: subtle baseline presence */
@media (max-width: 640px){
  .chat-toggle-btn{
    box-shadow: 0 0 0.15rem rgba(255,255,255,0.25), 0 0 0.45rem rgba(236,72,153,0.2);
  }
  /* When toggled/active: stronger glow + pulse */
  .chat-toggle-btn.is-active,
  .chat-toggle-btn[aria-pressed="true"]{
    animation: chatPulseGlow 1.8s ease-in-out infinite;
  }
  /* Tap feedback */
  .chat-toggle-btn:active{ transform: scale(0.98); }
}
/* /SAFE: chat-toggle mobile glow */

/* LOVEZII LOGO MARK (2025-09-21) */
:root {
  --logo-mark-size: 28px;
}
.logo-mark {
  width: var(--logo-mark-size);
  height: var(--logo-mark-size);
  display: inline-block;
  background: url("../img/lovezii-mark-32.png") center / cover no-repeat;
  border-radius: 8px;
  vertical-align: middle;
}
/* /LOVEZII LOGO MARK */


/* LOVEZII LOGO MARK IMG FALLBACK */
img.logo-mark{
  width: var(--logo-mark-size, 28px);
  height: var(--logo-mark-size, 28px);
  object-fit: cover;
  vertical-align: middle;
  border-radius: 8px;
}


/* SAFE: logo-mark image override (2025-09-21) */
.logo-mark {
  /* Keep existing size vars set elsewhere (e.g., --logo-mark-size) */
  background-image: url("../img/logo-mark.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
/* /SAFE: logo-mark image override */



/* SAFE: logo-mark size & modern sources (2025-09-21) */
:root { --logo-mark-size: 40px; }
.logo-mark {
  width: 40px;
  height: 40px;
  background-image: image-set(
    url("../img/logo-mark.webp") type("image/webp") 1x,
    url("../img/logo-mark.png") type("image/png") 1x
  );
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
/* /SAFE: logo-mark size & modern sources */


/* SAFE: header logo spacing (2025-09-21) */
a.logo { padding-left: 25px; }



/* SAFE: Report button width 120px (2025-09-30) */
.btn.member-report-btn, .member-report-btn {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
  line-height: 1.2;
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  text-align: center;
}

/* SAFE: Hide messenger icon when messenger panel is open (2025-09-30) */
body.messenger-open #messenger-icon,
body.messenger-open-dev #messenger-icon {
  display: none !important;
}

/* Ensure left padding for menu items */
#menu > li { padding-left: 40px; }
