/* WALL / Shared light and dark appearance — loaded after the legacy page styles.
   The dark page remains the default. Light is an explicit, persistent choice. */

/* Both themes: controls shared across the product */
.wm-theme-switch {
  display: inline-flex !important;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid #455467;
  border-radius: 10px;
  background: #1a2633;
  white-space: nowrap;
  flex: 0 0 auto;
  vertical-align: middle;
}
.wm-theme-choice,
body.wm-app .wm-theme-switch button.wm-theme-choice,
body.wm-mode .wm-theme-switch button.wm-theme-choice,
body.wu-page .wm-theme-switch button.wm-theme-choice {
  all: unset;
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  min-height: 29px;
  padding: 5px 9px;
  border-radius: 7px;
  background: transparent;
  color: #aabbcc;
  font: 650 11px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor: pointer;
  box-shadow: none;
}
.wm-theme-choice[aria-pressed="true"],
body.wm-app .wm-theme-switch .wm-theme-choice[aria-pressed="true"],
body.wm-mode .wm-theme-switch .wm-theme-choice[aria-pressed="true"],
body.wu-page .wm-theme-switch .wm-theme-choice[aria-pressed="true"] {
  background: #89c4fd;
  color: #0c1e2c;
}
.wm-theme-choice:focus-visible { outline: 2px solid #9fcbf5; outline-offset: 2px; }
.wu-brandbar .wm-theme-switch { margin-left: auto; }
.wu-brandbar .wu-private-nav:not(:empty) { order: 0; }
.wu-brandbar .wm-theme-switch { order: 1; }

/* Sticky album menu: opaque/blurred surface and a clean visual barrier.
   Shadow and background mask the cards that scroll behind it. */
body.wm-app .wm-section-nav {
  top: 0;
  z-index: 150;
  border-radius: 0 0 12px 12px;
  padding: 10px;
  margin: 2px 0 25px;
  background: #17212c;
  border-color: #4b5d71;
  box-shadow: 0 12px 28px rgba(0,0,0,.44), 0 0 0 7px #101318;
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  isolation: isolate;
}
html { scroll-padding-top: 88px; }
body.wm-app .wm-section-nav a { min-height: 34px; display:inline-flex;align-items:center; }
body.wm-app .wm-section-nav a[aria-current="location"] { background: #86c1f9; color: #0c1d2c; }
body.wm-app .wm-section-nav.wm-nav-floating { border-color: #607a91; box-shadow: 0 15px 30px rgba(0,0,0,.5), 0 0 0 7px #101318; }

/* Reorganized album overview and quick actions */
body.wm-app #info > .wm-overview-shell {
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(330px,370px);
  align-items:start;
  gap: 20px;
}
body.wm-app #info .wm-overview-details {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap: 17px 20px;
  min-width:0;
  padding:8px 4px;
}
body.wm-app #info .wm-overview-item span { font-size: 11px; color:#9aafc3; }
body.wm-app #info .wm-overview-item strong { font-size: 13px; }
body.wm-app .wm-quick-panel {
  min-width:0;
  padding: 13px;
  background:#121923;
  border:1px solid #344555;
  border-radius:11px;
}
body.wm-app .wm-quick-panel h3 {
  margin:0 0 12px;
  font-size:12px;
  color:#bccdde;
  font-weight:700;
  letter-spacing:.02em;
}
body.wm-app .wm-quick-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
body.wm-app .wm-quick-grid > .button,
body.wm-app .wm-quick-grid > a.button[href] {
  display:inline-flex;
  width:100%;
  min-width:0;
  min-height:39px;
  padding:8px 5px;
  font-size:12px;
  white-space:normal;
  text-align:center;
}
body.wm-app .wm-quick-grid > .wm-quick-primary { background:#89c4fd; color:#112233; }
body.wm-app .wm-quick-grid > a:focus-visible { outline-offset:2px; }
body.wm-app .wm-quick-note { margin:10px 0 0; font-size:11px; line-height:1.5; color:#a8b8c9; }

/* Discreet floating back-to-top, only visible after meaningful scroll */
body.wm-app .wm-back-top {
  position:fixed;
  z-index:300;
  right:20px;
  bottom:max(20px,env(safe-area-inset-bottom));
  display:inline-grid;
  place-items:center;
  width:43px;
  height:43px;
  padding:0;
  border:1px solid #50667d;
  border-radius:13px;
  background:rgba(30,43,57,.97);
  color:#d4eaff;
  font:700 22px/1 system-ui,sans-serif;
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
body.wm-app .wm-back-top[data-visible="true"] { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
body.wm-app .wm-back-top:hover { background:#30465e; }
body.wm-app .wm-back-top:focus-visible { outline:2px solid #90c6ff; outline-offset:3px; }

@media(max-width:800px) {
  body.wm-app #info > .wm-overview-shell { grid-template-columns:1fr; }
  body.wm-app .wm-quick-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:480px) {
  body.wm-app .wm-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.wm-app .wm-section-nav { padding:7px 6px; margin-bottom:22px; }
  body.wm-app .wm-back-top { right:13px; bottom:max(13px,env(safe-area-inset-bottom)); width:41px; height:41px; }
  .wm-theme-choice,body.wm-app .wm-theme-switch button.wm-theme-choice { padding:5px 7px; }
}

/* Light palette. Keep the Polaroid *photographs* white as physical prints. */
html[data-wall-theme="light"] {
  color-scheme: light;
  --bg: #f4f7fb;
  --panel: #fff;
  --panel-2: #f8fafc;
  --text: #172438;
  --muted: #607183;
  --accent: #397bb8;
  --wall-bg:#f4f7fb;
  --wall-panel:#fff;
  --wall-input:#f9fbfe;
  --wall-border:#d5e0eb;
  --wall-border-soft:#dfe6ee;
  --wall-text:#172438;
  --wall-muted:#617184;
  --wall-accent:#80bdf5;
  --wall-accent-hover:#94c9fa;
  scrollbar-color:#aabed1 #f4f7fb;
}
html[data-wall-theme="light"] body.wm-app {
  background:#f4f7fb;
  color:#172438;
}
html[data-wall-theme="light"] body.wm-app :is(h1,h2,h3) { color:#172438; }
html[data-wall-theme="light"] body.wm-app .wm-header { border-color:#dce5ef; }
html[data-wall-theme="light"] body.wm-app .wm-brand { color:#1a293c; }
html[data-wall-theme="light"] body.wm-app .wm-brand small { color:#526b83; }
html[data-wall-theme="light"] body.wm-app .wm-header-nav a { color:#335d83; }
html[data-wall-theme="light"] body.wm-app .wm-kicker { color:#397bb8; }
html[data-wall-theme="light"] body.wm-app .wm-subhead { color:#617286; }
html[data-wall-theme="light"] body.wm-app .card {
  background:#fff;
  color:#172438;
  border-color:#d5e0ea;
  box-shadow:0 5px 16px rgba(34,62,92,.045);
}
html[data-wall-theme="light"] body.wm-app :is(.label,.badge) { color:#586e83; }
html[data-wall-theme="light"] body.wm-app :is(.input,.file,textarea,select) {
  color:#1b293b;
  background:#f9fbfe;
  border-color:#becddb;
}
html[data-wall-theme="light"] body.wm-app :is(.input,.file,textarea,select)::placeholder { color:#77899c; }
html[data-wall-theme="light"] body.wm-app :is(a.button[href],button.button,.button) {
  color:#112338;
  background:#8ac4f8;
  border-color:transparent;
}
html[data-wall-theme="light"] body.wm-app :is(a.button[href],button.button,.button):hover { background:#add9ff; }
html[data-wall-theme="light"] body.wm-app :is(a.button[href],button.button,.button).secondary {
  color:#305472;
  background:#f0f5fa;
  border-color:#cad7e5;
}
html[data-wall-theme="light"] body.wm-app :is(a.button[href],button.button,.button).secondary:hover { background:#e2edf7; }
html[data-wall-theme="light"] body.wm-app :is(a.button[href],button.button,.button).danger {
  background:#fff0f0;
  border-color:#dbb3bb;
  color:#933543;
}
html[data-wall-theme="light"] body.wm-app code { color:#3f6e9a; }
html[data-wall-theme="light"] body.wm-app #info .wm-overview-item span { color:#667d92; }
html[data-wall-theme="light"] body.wm-app #info .wm-overview-item strong { color:#172438; }
html[data-wall-theme="light"] body.wm-app #stats .badge {
  color:#415d77;
  background:#f4f8fc;
  border-color:#d1dfed;
}
html[data-wall-theme="light"] body.wm-app #stats .badge:nth-child(3) { border-color:#e0c29c; }
html[data-wall-theme="light"] body.wm-app #moderators .card { background:#f8fafd; }
html[data-wall-theme="light"] body.wm-app .wm-album-summary .wm-album-title { color:#1b2f45; }
html[data-wall-theme="light"] body.wm-app .wm-quick-panel {
  background:#f7f9fc;
  border-color:#d3deea;
}
html[data-wall-theme="light"] body.wm-app .wm-quick-panel h3 { color:#52697f; }
html[data-wall-theme="light"] body.wm-app .wm-quick-note { color:#60758a; }
html[data-wall-theme="light"] body.wm-app .wm-quick-grid > .wm-quick-primary { background:#80bdf5; color:#102b45; }
html[data-wall-theme="light"] body.wm-app .wm-danger-zone { background:#fff7f7; border-color:#e9c7cd; }
html[data-wall-theme="light"] body.wm-app .wm-danger-zone p { color:#8d5965; }
html[data-wall-theme="light"] body.wm-app .batch-dialog {
  background:#fff; border-color:#c7d5e4; color:#172438;
}
html[data-wall-theme="light"] body.wm-app .batch-drop {
  background:#f6f9fd; border-color:#9eb9d4; color:#455e78;
}
html[data-wall-theme="light"] body.wm-app .batch-item { background:#f5f8fc; border-color:#d5e0eb; }
html[data-wall-theme="light"] body.wm-app .batch-progress { background:#dfe8f2; }
html[data-wall-theme="light"] body.wm-app .batch-counts .badge { background:#f6f9fc; border-color:#d4e0eb; }
html[data-wall-theme="light"] body.wm-app .row-photo { background:#f8fafd; border-color:#d7e0ea; }
html[data-wall-theme="light"] body.wm-app .meta .badge2 { background:#eaf1f9; color:#526d85; border-color:#d3e1ef; }
html[data-wall-theme="light"] body.wm-app .section h3 { border-color:#d9e4ef; }
html[data-wall-theme="light"] body.wm-app .wm-section-nav {
  background:#fff;
  border-color:#d0deeb;
  box-shadow:0 12px 22px rgba(37,62,86,.13),0 0 0 7px #f4f7fb;
}
html[data-wall-theme="light"] body.wm-app .wm-section-nav.wm-nav-floating {
  box-shadow:0 16px 26px rgba(37,62,86,.16),0 0 0 7px #f4f7fb;
}
html[data-wall-theme="light"] body.wm-app .wm-section-nav a { color:#46627e; }
html[data-wall-theme="light"] body.wm-app .wm-section-nav a:hover { color:#234765; background:#eef4fb; }
html[data-wall-theme="light"] body.wm-app .wm-section-nav a[aria-current="location"] { background:#83bdf3; color:#10283f; }
html[data-wall-theme="light"] body.wm-app .wm-back-top { background:#fff; color:#2a618f; border-color:#cadaea; box-shadow:0 8px 22px rgba(42,66,93,.17); }
html[data-wall-theme="light"] body.wm-app .wm-back-top:hover { background:#edf5fd; }

/* Public gallery and Polaroid HUD */
html[data-wall-theme="light"] body.wm-mode { background:#edf2f8 !important; color:#172638; }
html[data-wall-theme="light"] body.wm-mode .hud {
  background:rgba(255,255,255,.96);
  border-color:#cedbea;
  box-shadow:0 10px 26px rgba(38,66,93,.13);
}
html[data-wall-theme="light"] body.wm-mode .hud :is(a.button[href],button.button) { color:#375774; }
html[data-wall-theme="light"] body.wm-mode .hud :is(a.button[href],button.button):hover { background:#e7f0fa; }
html[data-wall-theme="light"] body.wm-mode .hud :is(a.button[href],button.button).secondary { color:#375774; }
html[data-wall-theme="light"] body.wm-mode .hud :is(a.button[href],button.button).secondary:hover { background:#e7f0fa; }
html[data-wall-theme="light"] body.wm-mode .hud :is(a.button[href],button.button)[aria-current="page"] { background:#dcecff !important; color:#184976 !important; border-color:#a9c7e6 !important; }
html[data-wall-theme="light"] body.wm-mode .hud #btnShuffle { color:#10253c; background:#89c4fb; }
html[data-wall-theme="light"] body.wm-mode .hud .mode-control { color:#38546e !important; }
html[data-wall-theme="light"] body.wm-mode .hud .mode-control .badge { color:#4a6580; }
html[data-wall-theme="light"] body.wm-mode .hud #delaySel {
  color:#263b50;
  background:#f9fbfe;
  border-color:#ccdaea;
}
html[data-wall-theme="light"] body.wm-mode .hud #btnFull { border-color:#ccdaea; color:#375774; }
html[data-wall-theme="light"] body.wm-mode .hud .wm-toolbar-divider { background:#d6e1ec; }
html[data-wall-theme="light"] body.wm-mode--gallery .wm-viewer-kicker { color:#477ba9; }
html[data-wall-theme="light"] body.wm-mode--gallery .mode-title { color:#1c2f44; }
html[data-wall-theme="light"] body.wm-mode--gallery .mode-grid button { border-color:#cddde9; }
html[data-wall-theme="light"] body.wm-mode--polaroid #stage { background:#edf2f8; }

/* Mobile upload and confirmation pages */
html[data-wall-theme="light"] body.wu-page { background:#f4f7fb; color:#172438; }
html[data-wall-theme="light"] body.wu-page :is(h1,h2,h3) { color:#172438; }
html[data-wall-theme="light"] body.wu-page .wu-brand { color:#172438; }
html[data-wall-theme="light"] body.wu-page .wu-brand-light { color:#62778c; }
html[data-wall-theme="light"] body.wu-page .wu-eyebrow { color:#397fb9; }
html[data-wall-theme="light"] body.wu-page .wu-intro { color:#53697f; }
html[data-wall-theme="light"] body.wu-page .wu-card { background:#fff; border-color:#d1dde9; box-shadow:0 8px 26px rgba(35,60,85,.07); }
html[data-wall-theme="light"] body.wu-page .wu-label { color:#172438; }
html[data-wall-theme="light"] body.wu-page .wu-required { color:#397bb8; }
html[data-wall-theme="light"] body.wu-page .wu-optional { color:#617487; }
html[data-wall-theme="light"] body.wu-page .wu-input { background:#f9fbfe; color:#182c40; border-color:#bfcedd; }
html[data-wall-theme="light"] body.wu-page .wu-input::placeholder { color:#7d91a5; }
html[data-wall-theme="light"] body.wu-page .wu-picker { background:#f6f9fc; border-color:#aac2d9; }
html[data-wall-theme="light"] body.wu-page .wu-picker:hover { background:#eaf3fc; border-color:#75a6d3; }
html[data-wall-theme="light"] body.wu-page .wu-picker-icon { background:#daebfa; color:#397bb8; }
html[data-wall-theme="light"] body.wu-page .wu-picker-content strong { color:#203b56; }
html[data-wall-theme="light"] body.wu-page .wu-picker-content small { color:#5b748d; }
html[data-wall-theme="light"] body.wu-page .wu-picker-chevron { color:#6e879f; }
html[data-wall-theme="light"] body.wu-page .wu-selection-count { color:#566e84; }
html[data-wall-theme="light"] body.wu-page .wu-files { scrollbar-color:#acc0d3 transparent; }
html[data-wall-theme="light"] body.wu-page .wu-file { background:#f8fafd; border-color:#d2dfeb; }
html[data-wall-theme="light"] body.wu-page .wu-file-thumb { background:#e0e9f3; }
html[data-wall-theme="light"] body.wu-page .wu-file-name { color:#1c3045; }
html[data-wall-theme="light"] body.wu-page .wu-file-meta { color:#6a7d90; }
html[data-wall-theme="light"] body.wu-page .wu-file-state { color:#5c7184; }
html[data-wall-theme="light"] body.wu-page .wu-file[data-state="sent"] .wu-file-state { color:#287545; }
html[data-wall-theme="light"] body.wu-page .wu-file[data-state="failed"] .wu-file-state { color:#af3c49; }
html[data-wall-theme="light"] body.wu-page .wu-file-action { color:#356eaa; }
html[data-wall-theme="light"] body.wu-page .wu-file-track { background:#d7e4f1; }
html[data-wall-theme="light"] body.wu-page .wu-submit { background:#83bdf3; color:#152c44; }
html[data-wall-theme="light"] body.wu-page .wu-submit:hover { background:#a2d1fa; }
html[data-wall-theme="light"] body.wu-page .wu-footnote { color:#63778a; }
html[data-wall-theme="light"] body.wu-page .wu-status-line { color:#4e6479; }
html[data-wall-theme="light"] body.wu-page .wu-progress { background:#e0e9f2; }
html[data-wall-theme="light"] body.wu-page .wu-result { background:#eaf7ee; border-color:#bad9c4; }
html[data-wall-theme="light"] body.wu-page .wu-result-check { background:#c9ead3; color:#176c39; }
html[data-wall-theme="light"] body.wu-page .wu-result-copy h2 { color:#1d5933; }
html[data-wall-theme="light"] body.wu-page .wu-result-copy p { color:#42644e; }
html[data-wall-theme="light"] body.wu-page .wu-next-batch { background:#83bdf3; color:#152c44; }
html[data-wall-theme="light"] body.wu-page .wu-links a { background:#fff; border-color:#d0deeb; color:#35608a; }
html[data-wall-theme="light"] body.wu-page .wu-links a:hover { background:#edf5fc; }
html[data-wall-theme="light"] body.wu-page .wu-links a span { color:#4c82b3; }
html[data-wall-theme="light"] body.wu-page .wu-footer { color:#7e8ea0; }
html[data-wall-theme="light"] body.wu-page .wu-brandbar .wu-private-nav a { color:#386e9e; background:#e9f2fb; border-color:#cbddeb; }
html[data-wall-theme="light"] body.wu-page .wu-selection { background:#f8fafd; border-color:#d2dfeb; }
html[data-wall-theme="light"] body.wu-page .wu-selection-details strong { color:#1d3248; }
html[data-wall-theme="light"] body.wu-page .wu-selection-details span { color:#62788c; }
html[data-wall-theme="light"] body.wu-page .wu-clear { color:#346e9f; }
html[data-wall-theme="light"] body.wu-page .wu-success-mark { color:#1e7b45; background:#d9f2e3; border-color:#b0dfc0; }

/* Shared light switch itself */
html[data-wall-theme="light"] .wm-theme-switch { background:#edf3f9; border-color:#c6d6e6; }
html[data-wall-theme="light"] :is(body.wm-app,body.wm-mode,body.wu-page) .wm-theme-choice { color:#546e88; }
html[data-wall-theme="light"] :is(body.wm-app,body.wm-mode,body.wu-page) .wm-theme-choice[aria-pressed="true"] { color:#102c45; background:#87c1f6; }

@media(prefers-reduced-motion:reduce) { body.wm-app .wm-back-top { transition:none; } }
