/* Clear glass material shared by controls, menus and panels. */
body[data-theme="glass"] {
  color-scheme: light;
  --ink: #1b2537;
  --muted: #58677e;
  --cream: #e8edf1;
  --paper: rgba(255,255,255,.18);
  --card: rgba(255,255,255,.16);
  --white: rgba(255,255,255,.2);
  --soft: rgba(255,255,255,.12);
  --page-top: rgba(255,255,255,.12);
  --line: rgba(83,106,143,.14);
  --green: #2d4056;
  --green-dark: #1b2b3e;
  --mint: rgba(255,255,255,.42);
  --button-ink: #1b2537;
  --shadow: 0 8px 28px rgba(45,63,105,.07);
  --glass-face: rgba(255,255,255,.16);
  --glass-menu: rgba(242,247,249,.82);
  --glass-edge: rgba(255,255,255,.84);
  --glass-glint: rgba(255,255,255,.9);
  --glass-shade: rgba(52,76,121,.08);
  --glass-sheen: linear-gradient(130deg,rgba(255,255,255,.48),rgba(255,255,255,.025) 35%,rgba(255,255,255,.035) 66%,rgba(255,255,255,.2));
  --glass-rim: conic-gradient(from 110deg,rgba(255,255,255,.05),rgba(255,255,255,.92) 18%,rgba(255,255,255,.08) 42%,rgba(255,255,255,.98) 65%,rgba(255,255,255,.08) 86%);
  background:
    radial-gradient(ellipse 62% 42% at 90% 7%,rgba(165,192,207,.72),transparent 70%),
    radial-gradient(ellipse 54% 45% at -8% 37%,rgba(203,183,205,.55),transparent 65%),
    radial-gradient(ellipse 62% 42% at 100% 85%,rgba(178,209,198,.52),transparent 65%),
    #e8edf1;
  background-attachment: scroll;
}
body[data-mode="dark"][data-theme="glass"] {
  color-scheme: dark;
  --ink: #edf2fc;
  --muted: #acb9d0;
  --cream: #151d25;
  --paper: rgba(255,255,255,.05);
  --card: rgba(255,255,255,.045);
  --white: rgba(255,255,255,.075);
  --soft: rgba(255,255,255,.045);
  --page-top: rgba(255,255,255,.04);
  --line: rgba(176,198,235,.14);
  --green: #e4edf8;
  --green-dark: #ffffff;
  --mint: rgba(255,255,255,.15);
  --button-ink: #edf2fc;
  --shadow: 0 12px 35px rgba(0,0,0,.17);
  --glass-face: rgba(255,255,255,.055);
  --glass-menu: rgba(27,38,47,.88);
  --glass-edge: rgba(199,217,255,.23);
  --glass-glint: rgba(223,233,255,.28);
  --glass-shade: rgba(0,0,0,.23);
  --glass-sheen: linear-gradient(130deg,rgba(255,255,255,.15),rgba(255,255,255,.008) 35%,rgba(255,255,255,.015) 66%,rgba(255,255,255,.075));
  --glass-rim: conic-gradient(from 110deg,rgba(255,255,255,.025),rgba(255,255,255,.52) 18%,rgba(255,255,255,.025) 42%,rgba(255,255,255,.6) 65%,rgba(255,255,255,.03) 86%);
  background:
    radial-gradient(ellipse 62% 42% at 90% 7%,rgba(68,112,126,.5),transparent 70%),
    radial-gradient(ellipse 54% 45% at -8% 37%,rgba(104,76,107,.35),transparent 65%),
    radial-gradient(ellipse 62% 42% at 100% 85%,rgba(66,110,97,.34),transparent 65%),
    #151d25;
  background-attachment: scroll;
}

/* A continuous floating navigation surface. No blurred text or oversized glows. */
body[data-theme="glass"] header {
  min-height: 84px;
  margin: 18px 0 26px;
  padding: 16px 22px;
  border: 1px solid var(--glass-edge);
  border-radius: 28px;
  background: var(--glass-sheen), var(--glass-face);
  box-shadow: inset 0 1px 0 var(--glass-glint),inset 0 -1px 0 var(--glass-shade),0 12px 35px rgba(46,65,108,.07);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  backdrop-filter: blur(22px) saturate(140%);
}
body[data-theme="glass"] .brand-mark {
  border-radius: 15px;
  color: var(--ink);
  border: 1px solid var(--glass-edge);
  background: var(--glass-sheen),var(--glass-face);
  box-shadow: inset 0 1px 1px white,inset 0 -1px 2px rgba(73,100,158,.1),0 5px 14px rgba(67,92,144,.12);
}
body[data-mode="dark"][data-theme="glass"] .brand-mark {
  color: var(--ink);
  background: var(--glass-sheen),var(--glass-face);
  box-shadow: inset 0 1px 0 var(--glass-glint),inset 0 -1px 1px rgba(0,0,0,.25),0 5px 14px rgba(0,0,0,.2);
}
body[data-theme="glass"] .hero {
  margin-top: 0;
  border: 1px solid var(--glass-edge);
  border-radius: 32px;
  background: var(--glass-sheen),var(--page-top);
  box-shadow: inset 0 1px 0 var(--glass-glint),inset 0 -1px 1px var(--glass-shade),var(--shadow);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
}
body[data-theme="glass"] .art-word { opacity: .045; }
body[data-theme="glass"] .art-caption { opacity: .8; }
body[data-theme="glass"] h1 em::after { height: 3px; opacity: .22; }

/* Panels share the material without reducing text opacity. */
body[data-theme="glass"] :is(.price-card,.manage-card,.wholesale-cta) {
  position: relative;
  border: 1px solid var(--glass-edge);
  background: var(--glass-sheen),var(--paper);
  box-shadow: inset 0 1px 0 var(--glass-glint),inset 0 -1px 1px var(--glass-shade),var(--shadow);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
}
body[data-theme="glass"] .price-card { border-radius: 24px; }
body[data-theme="glass"] .price-card:hover { border-color: color-mix(in srgb,var(--green) 24%,transparent); box-shadow: var(--shadow); }
body[data-theme="glass"] :is(.wholesale-cta,.manage-card) { border-radius: 28px; }
body[data-theme="glass"] .store-info { padding-left: 8px; padding-right: 8px; }

body[data-theme="glass"] :is(.ghost,.theme-select-trigger,.sort-trigger,.contact-call) {
  position: relative;
  isolation: isolate;
  color: var(--ink);
  border: 1px solid var(--glass-edge);
  border-radius: 999px;
  background: var(--glass-sheen),var(--glass-face);
  box-shadow: inset 0 1px 0 var(--glass-glint),inset 0 -1px 1px var(--glass-shade),0 4px 10px rgba(47,66,105,.06);
  -webkit-backdrop-filter: blur(14px) saturate(145%);
  backdrop-filter: blur(14px) saturate(145%);
  transition: box-shadow .2s,background-color .2s,transform .2s;
}
body[data-theme="glass"] :is(.ghost,.theme-select-trigger,.sort-trigger,.contact-call):hover {
  background-color: var(--soft);
  box-shadow: inset 0 1px 0 var(--glass-glint),inset 0 -1px 1px var(--glass-shade),0 7px 18px rgba(47,66,105,.11);
}
body[data-theme="glass"] :is(.primary,#loginBtn,#logoutBtn) {
  position: relative;
  isolation: isolate;
  border: 1px solid var(--glass-edge);
  border-radius: 999px;
  color: var(--ink);
  background: var(--glass-sheen),var(--glass-face);
  box-shadow: inset 0 1px 1px var(--glass-glint),inset 0 -2px 3px var(--glass-shade),0 6px 15px rgba(25,38,56,.13);
  -webkit-backdrop-filter: blur(12px) saturate(145%);
  backdrop-filter: blur(12px) saturate(145%);
}
body[data-theme="glass"] :is(.primary,#loginBtn,#logoutBtn):hover {
  background: var(--glass-sheen),var(--white);
  box-shadow: inset 0 1px 1px var(--glass-glint),inset 0 -2px 3px var(--glass-shade),0 8px 20px rgba(25,38,56,.17);
}
body[data-theme="glass"] :is(.primary,.ghost,.theme-select-trigger,.sort-trigger):active { transform: translateY(1px) scale(.985); }
body[data-theme="glass"] .danger {
  color: #7a3341;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 999px;
  background: linear-gradient(135deg,rgba(255,233,235,.46),rgba(255,180,190,.16));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 1px rgba(120,43,58,.08),0 4px 12px rgba(120,43,58,.08);
}
body[data-mode="dark"][data-theme="glass"] .danger { color: #ffd5dc; background: linear-gradient(135deg,rgba(164,72,92,.34),rgba(95,40,61,.2)); border-color: rgba(255,205,218,.28); box-shadow: inset 0 1px 0 rgba(255,255,255,.22),0 4px 14px rgba(0,0,0,.2); }
body[data-theme="glass"] .danger:hover { background: linear-gradient(135deg,rgba(255,220,226,.68),rgba(255,157,174,.28)); }
body[data-mode="dark"][data-theme="glass"] .danger:hover { color:#ffe6ec; background:linear-gradient(135deg,rgba(164,72,92,.5),rgba(95,40,61,.36)); }
body[data-theme="glass"] :is(.primary,.ghost,.theme-select-trigger,.sort-trigger,.brand-mark,.price-card,.hero,.search-card,.manage-card,.wholesale-cta)::after {
  content: "";
  position: absolute;
  inset: -1px;
  padding: 1.5px;
  border-radius: inherit;
  background: var(--glass-rim);
  pointer-events: none;
  -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite: exclude;
}
body[data-theme="glass"] .brand-mark { position: relative; }
body[data-theme="glass"] .wholesale-cta::after { display: block; width: auto; height: auto; right: -1px; bottom: -1px; opacity: 1; border: 0; }

body[data-theme="glass"] .search-card {
  position: relative;
  z-index: 2;
  padding: 13px;
  border: 1px solid var(--glass-edge);
  border-radius: 28px;
  background: var(--glass-sheen),var(--glass-face);
  box-shadow: inset 0 1px 0 var(--glass-glint),inset 0 -1px 1px var(--glass-shade),0 12px 32px rgba(43,65,110,.065);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
}
body[data-theme="glass"] .search-row {
  padding: 5px 5px 5px 17px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--soft);
  box-shadow: inset 0 1px 3px var(--glass-shade);
}
body[data-theme="glass"] .list-controls { border-top-color: var(--line); margin: 12px 3px 0; padding: 11px 2px 0; }
body[data-theme="glass"] .category-filter button { color: var(--muted); background: transparent; border: 1px solid transparent; }
body[data-theme="glass"] .category-filter button[aria-pressed="true"] {
  color: var(--ink);
  background: var(--glass-sheen),var(--glass-face);
  border-color: var(--glass-edge);
  box-shadow: inset 0 1px 0 var(--glass-glint),0 3px 7px rgba(40,60,105,.06);
}
body[data-theme="glass"] .category-filter button:hover { color: var(--ink); background-color: var(--soft); }
body[data-theme="glass"] :is(.sort-menu,.theme-menu) {
  padding: 8px;
  border: 1px solid var(--glass-edge);
  border-radius: 22px;
  color: var(--ink);
  background: var(--glass-sheen),var(--glass-menu);
  box-shadow: inset 0 1px 0 var(--glass-glint),0 12px 36px rgba(32,48,83,.17),0 2px 5px rgba(32,48,83,.04);
  -webkit-backdrop-filter: blur(28px) saturate(150%);
  backdrop-filter: blur(28px) saturate(150%);
}
body[data-theme="glass"] :is(.sort-option,.theme-option) { border-radius: 13px; min-height: 42px; }
body[data-theme="glass"] :is(.sort-option,.theme-option)[aria-selected="true"] { background: var(--mint); color: var(--green); }
body[data-theme="glass"] :is(.sort-option,.theme-option)[aria-selected="true"]::after { content: "✓"; margin-left: auto; font-size: 12px; }
body[data-theme="glass"] .sort-option { display: flex; align-items: center; gap: 6px; }
body[data-theme="glass"] :is(.form-grid input,.form-grid select,.batch-row input,.batch-row select,.admin-filters input[type="search"],.admin-filters select,.login-form>input) { border-color: var(--glass-edge); background: var(--glass-sheen),var(--white); box-shadow: inset 0 1px 3px var(--glass-shade),inset 0 1px 0 var(--glass-glint); border-radius: 13px; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
body[data-theme="glass"] .select-visible { border-color:var(--glass-edge); background:var(--glass-sheen),var(--glass-face); box-shadow:inset 0 1px 0 var(--glass-glint),inset 0 -1px 1px var(--glass-shade); }
body[data-theme="glass"] :is(.batch-row,.contact-item,.review-row,.admin-filters,.contact-address) { background: var(--soft); border-color: var(--line); }
body[data-theme="glass"] dialog { border: 1px solid var(--glass-edge); border-radius: 30px; background: var(--glass-menu); box-shadow: inset 0 1px 0 var(--glass-glint),0 28px 90px rgba(10,25,55,.25); -webkit-backdrop-filter: blur(24px) saturate(130%); backdrop-filter: blur(24px) saturate(130%); }
body[data-theme="glass"] dialog::backdrop { background: rgba(17,26,45,.32); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }

@media(max-width:1100px) {
  body[data-theme="glass"] header { gap: 18px; padding: 15px 18px; }
}
@media(max-width:760px) {
  body[data-theme="glass"] header { border-radius: 24px; margin-top: 14px; gap: 15px; }
  body[data-theme="glass"] .search-card { -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
}
@media(max-width:520px) {
  body[data-theme="glass"] header { padding: 17px 14px 14px; margin-bottom: 20px; }
  body[data-theme="glass"] .brand { gap: 8px; }
  body[data-theme="glass"] .brand-name { font-size: 17px; }
  body[data-theme="glass"] .main-nav { gap: 12px; }
  body[data-theme="glass"] .theme-select-trigger { min-width: 106px; padding-left: 11px; padding-right: 11px; }
  body[data-theme="glass"] .header-tools { gap: 6px; }
  body[data-theme="glass"] .appearance-tools { gap: 6px; }
  body[data-theme="glass"] .ghost { padding-left: 11px; padding-right: 11px; }
  body[data-theme="glass"] .hero { border-radius: 26px; }
  body[data-theme="glass"] .search-card { border-radius: 23px; padding: 10px; }
  body[data-theme="glass"] .search-row { padding-left: 11px; }
  body[data-theme="glass"] .list-controls { margin-left: 0; margin-right: 0; }
  body[data-theme="glass"] .sort-trigger { min-height: 44px; }
  body[data-theme="glass"] .list-sort > span { white-space: nowrap; flex-shrink: 0; }
  body[data-theme="glass"] .sort-picker { flex: 1; min-width: 0; width: auto; }
  body[data-theme="glass"] .price-card { border-radius: 21px; }
}
@media(max-width:360px) {
  body[data-theme="glass"] header { padding-left: 10px; padding-right: 10px; }
  body[data-theme="glass"] .theme-select-trigger { min-width: 94px; gap: 8px; padding: 8px; }
  body[data-theme="glass"] .ghost { font-size: 11px; padding: 8px; }
  body[data-theme="glass"] .main-nav { gap: 9px; }
  body[data-theme="glass"] .main-nav a { font-size: 11px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body[data-theme="glass"] { --glass-face: #f2f6fd; --glass-menu: #f7faff; --page-top: #e9eff8; }
  body[data-mode="dark"][data-theme="glass"] { --glass-face: #26334b; --glass-menu: #202c43; --page-top: #1d2940; }
}
@media(prefers-reduced-transparency:reduce) {
  body[data-theme="glass"] :is(header,.hero,.price-card,.manage-card,.wholesale-cta,.search-card,.primary,.ghost,.select-trigger,.select-menu,.theme-select-trigger,.sort-trigger,.sort-menu,.theme-menu,dialog),body[data-theme="glass"] dialog::backdrop { -webkit-backdrop-filter:none; backdrop-filter:none; }
  body[data-theme="glass"] { --glass-face: #f2f6fd; --glass-menu: #f7faff; --paper: #fff; --page-top: #e9eff8; }
  body[data-mode="dark"][data-theme="glass"] { --glass-face: #26334b; --glass-menu: #202c43; --paper: #1d273c; --page-top: #1d2940; }
}
