/* Dreamspire Glass Header | 2026-10-08
   The close (×) stays INSIDE the album's frosted glass header, not floating
   on the page or obscuring the mobile menu. The photo grid owns scrolling. */
#ds-album-detail[hidden] { display:none!important; }
#ds-album-detail:not([hidden]) {
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:clamp(9px,1.6vh,16px)!important;
  width:100%!important;
  height:100vh!important;
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  padding:max(14px,calc(env(safe-area-inset-top,0px) + 12px)) 16px
          max(12px,calc(env(safe-area-inset-bottom,0px) + 12px))!important;
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}
#ds-album-detail:not([hidden]) .ds-album-glass-header {
  position:relative!important;
  z-index:50!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:clamp(10px,2vw,22px)!important;
  width:min(980px,100%)!important;
  max-width:980px!important;
  min-height:72px!important;
  margin:0 auto!important;
  padding:13px 15px 13px clamp(15px,2.8vw,26px)!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.27)!important;
  border-radius:clamp(18px,2.5vw,24px)!important;
  background:rgba(39,51,70,.65)!important;
  -webkit-backdrop-filter:blur(22px) saturate(155%)!important;
  backdrop-filter:blur(22px) saturate(155%)!important;
  box-shadow:0 12px 35px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.14)!important;
}
#ds-album-detail:not([hidden]) .ds-album-glass-copy {
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:0!important;
}
#ds-album-detail:not([hidden]) .ds-album-glass-kicker {
  color:rgba(255,255,255,.65)!important;
  font:700 9px/1.3 system-ui,-apple-system,sans-serif!important;
  letter-spacing:.17em!important;
}
#ds-album-detail:not([hidden]) .ds-album-glass-copy > #ds-album-name {
  position:static!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  text-align:left!important;
  color:#fff!important;
  font-size:clamp(20px,2.8vw,30px)!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  overflow-wrap:anywhere!important;
}
#ds-album-detail:not([hidden]) .ds-album-glass-copy > #ds-album-desc {
  position:static!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  text-align:left!important;
  color:rgba(255,255,255,.73)!important;
  font-size:clamp(10px,1.1vw,12px)!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
#ds-album-detail:not([hidden]) .ds-album-glass-header > #ds-album-back {
  position:static!important;
  inset:auto!important;
  z-index:2!important;
  box-sizing:border-box!important;
  flex:0 0 40px!important;
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  max-width:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding:0!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.25)!important;
  background:rgba(255,255,255,.11)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
  color:#fff!important;
  font:400 25px/1 system-ui,-apple-system,sans-serif!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
#ds-album-detail:not([hidden]) .ds-album-glass-header > #ds-album-back:hover {
  background:rgba(255,255,255,.22)!important;
}
#ds-album-detail:not([hidden]) .ds-album-glass-header > #ds-album-back:focus-visible {
  outline:2px solid #fff!important;
  outline-offset:3px!important;
}
#ds-album-detail:not([hidden]) #ds-album-photos {
  position:relative!important;
  box-sizing:border-box!important;
  flex:1 1 auto!important;
  width:min(980px,100%)!important;
  max-width:980px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:2px 3px 18px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y pinch-zoom!important;
}
/* No second, outside-the-box close button should ever be visible. */
#ds-album-independent-close {display:none!important;}
@media(max-width:680px) {
  #ds-album-detail:not([hidden]) {
    padding:max(10px,calc(env(safe-area-inset-top,0px) + 9px)) 12px
            max(8px,calc(env(safe-area-inset-bottom,0px) + 8px))!important;
    gap:10px!important;
  }
  #ds-album-detail:not([hidden]) .ds-album-glass-header {
    width:100%!important;
    min-height:66px!important;
    padding:10px 12px 10px 15px!important;
    border-radius:19px!important;
  }
  #ds-album-detail:not([hidden]) .ds-album-glass-copy > #ds-album-name {
    font-size:clamp(20px,5.4vw,25px)!important;
  }
  #ds-album-detail:not([hidden]) .ds-album-glass-copy > #ds-album-desc {
    font-size:10px!important;
    line-height:1.32!important;
  }
  #ds-album-detail:not([hidden]) .ds-album-glass-header > #ds-album-back {
    flex-basis:38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    max-width:38px!important;
    max-height:38px!important;
    border-radius:12px!important;
    font-size:23px!important;
  }
  #ds-album-detail:not([hidden]) #ds-album-photos {
    width:100%!important;
    max-width:430px!important;
    padding:2px 2px 18px!important;
  }
}
