/* Global Premium Glass Layer (safe overrides)
   Glass variables are defined in theme.css so light/dark modes stay consistent.
*/

/* Subtle noise to avoid flat look */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.06), transparent 55%),
    radial-gradient(circle at 80% 0%, rgba(255,255,255,.05), transparent 60%),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,0));
  mix-blend-mode: overlay;
  opacity:.35;
}

/* Light mode: keep noise subtle and avoid over-dark overlay */
:root[data-theme="light"] body::before{
  mix-blend-mode: normal;
  opacity: .22;
  background-image:
    radial-gradient(circle at 18% 10%, rgba(16,24,40,.06), transparent 55%),
    radial-gradient(circle at 85% 0%, rgba(16,24,40,.04), transparent 60%),
    linear-gradient(to bottom, rgba(255,255,255,.40), rgba(255,255,255,0));
}

main, .container, .cards, .page{ position:relative; z-index:1; }

/* Make main surfaces consistently glassy */
.panel,
.card,
.trustItem,
.step,
.pageHero .heroCard,
.tableWrap,
.drawer,
.badge,
.footer-premium .footCta,
.footer-premium .footLogo,
.footer-simple,
.modal,
#albumModal .wrap,
.notice,
.noticeCard,
.eventCard,
.albumCard,
.media{
  background: color-mix(in oklab, var(--glass-bg) 88%, transparent) !important;
  border: 1px solid color-mix(in oklab, var(--glass-border) 92%, transparent) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: var(--glass-shadow);
}

/* Edge highlight for premium depth */
.panel::after,
.card::after,
.tableWrap::after,
.pageHero .heroCard::after,
.media::after,
.albumCard::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 42%),
    radial-gradient(600px 260px at 20% 0%, rgba(255,255,255,.10), transparent 65%);
  opacity:.55;
}

/* Inputs and selects */
input, select, textarea{
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
input:focus, select:focus, textarea:focus{
  outline: none;
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 30%, transparent);
  border-color: color-mix(in oklab, var(--accent) 45%, rgba(255,255,255,.18));
}

/* Buttons feel more "premium" */
.btn, button{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Smooth scrollbars (desktop) */
@media (hover:hover){
  *{ scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.22) transparent; }
  *::-webkit-scrollbar{ height:10px; width:10px; }
  *::-webkit-scrollbar-thumb{ background: rgba(255,255,255,.16); border-radius: 999px; border: 2px solid transparent; background-clip: padding-box; }
  *::-webkit-scrollbar-thumb:hover{ background: rgba(255,255,255,.24); background-clip: padding-box; }
}

/* Mobile: reduce blur cost */
@media (max-width: 520px){
  .panel, .card, .tableWrap{ backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
}

@media (prefers-reduced-motion: reduce){
  body::before{ opacity:.22; }
}
