/* Small utilities the Tailwind Play CDN doesn't cover (kept out of the
   tailwind.config so the redesign's own file stays untouched). */
.glass-panel { background: rgba(255,255,255,0.85); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.3); }
.text-gradient { background: linear-gradient(135deg,#1e3a8a 0%,#3b82f6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.text-gradient-vibrant { background: linear-gradient(135deg,#2563eb 0%,#7c3aed 50%,#db2777 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.glass { background: rgba(255,255,255,0.45); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.6); box-shadow: 0 4px 30px rgba(0,0,0,0.03); }
.glass-card { background: linear-gradient(135deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.3) 100%); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.7); box-shadow: 0 8px 32px 0 rgba(31,38,135,0.07); }
.glass-input { background: rgba(255,255,255,0.6); border: 1px solid rgba(255,255,255,0.9); }
.btn-gradient { background: linear-gradient(135deg,#3b82f6 0%,#8b5cf6 50%,#ec4899 100%); background-size: 200% auto; transition: 0.5s; }
.btn-gradient:hover { background-position: right center; }

/* Ambient gradient mesh background, used on every storefront page. */
.mesh-bg { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -10; overflow: hidden; background: rgba(248,250,252,0.5); pointer-events: none; }
.mesh-blob { position: absolute; border-radius: 9999px; mix-blend-mode: multiply; filter: blur(110px); }

/* Mobile nav drawer (progressive enhancement — plain links still work with JS off). */
#mobileMenu { display: none; }
#mobileMenu.open { display: block; }

/* Secure viewer keeps its own dark reading UI (public/store-assets/store.css),
   unaffected by this file. */
