/**
 * Astra Vedic AI — Global Web Stylesheet & Typography Perfection
 */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* CSS Variables */
:root {
  color-scheme: light;
  --astra-gold: #D4AF37;
  --astra-gold-light: #F5EBD7;
  --astra-plum-deep: #1A0C22;
  --astra-plum: #261230;
  --astra-paper: #FAF7F2;
  --astra-white: #FFFEFB;
  --astra-ink: #2B232E;
  --astra-muted: #7F786E;
  --astra-border: #E8DED1;
}

/* Disable iOS Safari / WebKit top header blur / translucency & Flat Lifted Header */
header, [data-header="true"], .header-opaque, [role="banner"], [aria-label*="Header"] {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background-color: #FFFFFF !important;
  opacity: 1 !important;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  z-index: 1000 !important;
}

/* Totally Shadowless Flat UI Design System */
*, *::before, *::after, div, header, nav, button, input, textarea, select {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  text-shadow: none !important;
}

/* Global Reset & Typography */
*, *::before, *::after {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

html, body {
  background-color: #FFFFFF !important;
  color: var(--astra-ink);
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 0;
  min-height: 100%;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
}

#root {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #FFFFFF !important;
}

/* PWA Standalone & Mobile Web Fixed Bottom Navigation Pinning */
[data-bottom-nav="true"],
.fixed-bottom-nav {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  height: 58px !important;
  z-index: 99999 !important;
  background-color: #FFFEFB !important;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
  [data-bottom-nav="true"],
  .fixed-bottom-nav {
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }
}

/* Text Selection: Luxurious Vedic Gold */
::selection {
  background-color: rgba(212, 175, 55, 0.28);
  color: #1A0C22;
}

::-moz-selection {
  background-color: rgba(212, 175, 55, 0.28);
  color: #1A0C22;
}

/* Ultra-Sleek Modern Custom Scrollbar (Eliminates ugly thick grey bars) */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(127, 120, 110, 0.25);
  border-radius: 9999px;
  transition: background 0.2s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(212, 175, 55, 0.65);
}

/* Firefox Scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(127, 120, 110, 0.25) transparent;
}

/* Inputs & Interactive Elements */
input, textarea, select, button {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-appearance: none;
  appearance: none;
}

input:focus, textarea:focus {
  outline: 1.5px solid var(--astra-gold) !important;
  border-color: var(--astra-gold) !important;
  box-shadow: none !important;
}

/* Focus Visible for Keyboard Accessibility */
:focus-visible {
  outline: 2px solid var(--astra-gold);
  outline-offset: 2px;
}

/* Smooth Interactive Click Feedback */
button, [role="button"], [tabindex="0"] {
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}

/* Responsive Image Rendering */
img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Remove default link outlines */
a {
  color: inherit;
  text-decoration: none;
}

/* Hide scrollbars for horizontal carousel rows while keeping scrollable */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
