/* ===== Shree Swashtik / PS_Gold — shared theme ============ */
body { font-family:'Inter',sans-serif; background:#f7f5f9; -webkit-tap-highlight-color: transparent; }
.font-serif { font-family:'Playfair Display',serif; }

.gold-gradient   { background: linear-gradient(135deg,#f0d27a 0%,#d4a547 50%,#b8860b 100%); }

/* Bulletproof sidebar active-link styling — doesn't depend on Tailwind custom colors */
.menu-link        { display:flex; align-items:center; gap:.75rem; padding:.625rem .75rem;
                    border-radius:.5rem; color:#e9d5ff; transition:background .15s, color .15s; }
.menu-link:hover  { background:#4a1d5c; color:#fff; }
.menu-link.active {
    background: linear-gradient(135deg,#f0d27a 0%,#d4a547 50%,#b8860b 100%);
    color:#26002e !important;
    font-weight:700;
    box-shadow: 0 4px 10px -2px rgba(212,165,71,.55);
    border-left: 4px solid #fff;
    padding-left: calc(.75rem - 4px);
}
.menu-link.active svg { color:#3a1647; }
.purple-gradient { background: linear-gradient(135deg,#4a1d5c 0%,#6b2c7c 50%,#3a1647 100%); }
.text-gold-gradient {
  background: linear-gradient(135deg,#f0d27a 0%,#d4a547 50%,#b8860b 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

html, body { overscroll-behavior-y: none; }
@media (max-width: 1023px) { body { padding-bottom: env(safe-area-inset-bottom); } }
@media (max-width: 1023px) {
  button:not(.compact), a.btn, .tap { min-height: 44px; }
  input, select, textarea { font-size: 16px; }
}
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.input-error { border-color: #f43f5e !important; background: #fff1f2; }
.field-error { color: #be123c; font-size: 11px; margin-top: 4px; display: block; }

.toast { position: fixed; top: 1rem; right: 1rem; z-index: 1000;
  background: #4a1d5c; color: white; padding: 12px 16px; border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15); transform: translateX(120%); transition: transform .3s; }
.toast.show { transform: translateX(0); }
.toast.success { background: #059669; }
.toast.error { background: #dc2626; }
