/* 
 * ORVIANPLUS - Premium Apple Corporate Theme
 * Minimalist, elegant design inspired by Apple's official product landing pages.
 * v7.0 Professional Audited Edition (Non-AI Look)
 */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  /* DARK MODE (Apple Crystalline Liquid Glass Material) */
  --bg-deep: #05070e;
  --bg-radial: radial-gradient(circle at 50% 50%, #090e1a 0%, #030408 100%);
  --bg-card: rgba(10, 17, 32, 0.65);      /* Translucent Liquid Glass */
  --bg-glass: rgba(8, 14, 26, 0.70);     /* Soft Frosted Glass */
  --border-glass: rgba(255, 255, 255, 0.14);
  --border-specular: rgba(255, 255, 255, 0.28); /* Polished edge reflection */
  --text-main: #f8fafc;
  --text-muted: #94a3b8;
  --shadow-color: rgba(0, 0, 0, 0.45);
  --focus-ring: rgba(0, 113, 227, 0.45);
  
  /* System iOS Colors */
  --color-pink: #0071e3;       /* Apple Corporate Blue */
  --color-pink-dark: #0056b3;  /* iOS Active Blue */
  --color-orange: #30d158;     /* Professional Green */
  --color-cyan: #64d2ff;       /* Apple System Cyan */
  --color-gold: #bfdbfe;       /* Soft Icy Blue */
  --color-white: #ffffff;
  --color-gray: #cbd5e1;
  
  /* Gradients */
  --grad-sunset: linear-gradient(135deg, #0071e3 0%, #00b4d8 100%);
  --grad-sunset-text: linear-gradient(135deg, #ffffff 0%, #e2e8f0 100%);
  
  /* Typography & Curves */
  --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --radius-sm: 8px;
  --radius-md: 18px;            /* More compact iOS squircle */
  --radius-lg: 28px;            /* Standard iOS Control Center rounded corners */
}

@media (prefers-color-scheme: light) {
  :root {
    /* LIGHT MODE (Apple Light Liquid Glass Material) */
    --bg-deep: #f4f6fa;
    --bg-radial: radial-gradient(circle at 50% 50%, #fcfdfe 0%, #eef1f6 100%);
    --bg-card: rgba(255, 255, 255, 0.70);   /* Translucent white glass */
    --bg-glass: rgba(255, 255, 255, 0.75);  /* Thick light glass */
    --border-glass: rgba(0, 0, 0, 0.10);
    --border-specular: rgba(255, 255, 255, 0.95);
    --text-main: #0c111d;
    --text-muted: #475467;
    --shadow-color: rgba(0, 75, 170, 0.08);
    --focus-ring: rgba(0, 113, 227, 0.35);
    
    --color-pink: #0071e3;
    --color-pink-dark: #0056b3;
    --color-orange: #30d158;
    --color-cyan: #0071e3;
    --color-gold: #1d2939;
    --color-white: #0c111d;
    --color-gray: #475467;
    
    --grad-sunset: linear-gradient(135deg, #0071e3 0%, #0056b3 100%);
    --grad-sunset-text: linear-gradient(135deg, #0c111d 0%, #1d2939 100%);
  }
}

/* Global resets */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background-color: var(--bg-deep);
}

body {
  font-family: var(--font-body);
  color: var(--text-main) !important;
  background-color: var(--bg-deep) !important;
  overflow-x: hidden;
  line-height: 1.6;
  transition: background-color 0.4s ease, color 0.4s ease;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--bg-deep);
}
::-webkit-scrollbar-thumb {
  background: rgba(0, 113, 227, 0.3);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-pink);
}

/* Elegant Studio Ambient Background */
.cinematic-bg {
  position: fixed;
  inset: 0;
  z-index: -2;
  background: var(--bg-radial);
  overflow: hidden;
}

/* Apple Liquid Glass dynamic organic blobs in background */
.liquid-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  opacity: 0.45;
  pointer-events: none;
  transition: all 0.8s ease;
}

.blob-1 {
  width: 50vw;
  height: 50vw;
  background: radial-gradient(circle, rgba(0, 113, 227, 0.28) 0%, transparent 70%);
  top: -15%;
  left: -15%;
  animation: liquidFloat1 25s infinite alternate ease-in-out;
}

.blob-2 {
  width: 60vw;
  height: 60vw;
  background: radial-gradient(circle, rgba(94, 92, 230, 0.22) 0%, transparent 70%);
  bottom: -20%;
  right: -15%;
  animation: liquidFloat2 30s infinite alternate ease-in-out;
}

.blob-3 {
  width: 45vw;
  height: 45vw;
  background: radial-gradient(circle, rgba(48, 209, 88, 0.16) 0%, transparent 70%);
  top: 35%;
  left: 25%;
  animation: liquidFloat3 22s infinite alternate ease-in-out;
}

.blob-4 {
  width: 40vw;
  height: 40vw;
  background: radial-gradient(circle, rgba(255, 59, 48, 0.12) 0%, transparent 70%);
  bottom: 25%;
  left: -10%;
  animation: liquidFloat4 28s infinite alternate ease-in-out;
}

@keyframes liquidFloat1 {
  0% { transform: translate(0, 0) scale(1) rotate(0deg); }
  50% { transform: translate(80px, 60px) scale(1.15) rotate(180deg); }
  100% { transform: translate(-30px, 90px) scale(0.9) rotate(360deg); }
}

@keyframes liquidFloat2 {
  0% { transform: translate(0, 0) scale(1) rotate(0deg); }
  50% { transform: translate(-90px, -40px) scale(0.9) rotate(-120deg); }
  100% { transform: translate(50px, -90px) scale(1.1) rotate(-240deg); }
}

@keyframes liquidFloat3 {
  0% { transform: translate(0, 0) scale(0.9) rotate(0deg); }
  50% { transform: translate(60px, -60px) scale(1.05) rotate(90deg); }
  100% { transform: translate(-50px, 40px) scale(1) rotate(180deg); }
}

@keyframes liquidFloat4 {
  0% { transform: translate(0, 0) scale(1.05) rotate(0deg); }
  50% { transform: translate(-40px, 70px) scale(0.95) rotate(-90deg); }
  100% { transform: translate(70px, -50px) scale(1.1) rotate(-180deg); }
}

@media (prefers-color-scheme: light) {
  .liquid-blob {
    opacity: 0.25;
  }
  .blob-1 {
    background: radial-gradient(circle, rgba(0, 113, 227, 0.15) 0%, transparent 70%);
  }
  .blob-2 {
    background: radial-gradient(circle, rgba(94, 92, 230, 0.12) 0%, transparent 70%);
  }
  .blob-3 {
    background: radial-gradient(circle, rgba(48, 209, 88, 0.08) 0%, transparent 70%);
  }
  .blob-4 {
    background: radial-gradient(circle, rgba(255, 59, 48, 0.06) 0%, transparent 70%);
  }
}

/* Hide obsolete Rockstar/GTA elements */
.sunset-glow, .retro-sun-container, .skyline-silhouette {
  display: none !important;
}

.particles-container {
  display: none !important;
}

/* Liquid Glassmorphism Panel styles (frosted saturation glass) */
.glass-panel {
  background: var(--bg-glass) !important;
  backdrop-filter: blur(40px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(180%) !important;
  border: 1px solid var(--border-glass) !important;
  box-shadow: 0 20px 48px var(--shadow-color),
              inset 0 1px 0 var(--border-specular) !important;
  border-radius: var(--radius-lg) !important;
}

/* Corporate Minimalist Navbar */
.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 0;
  background: rgba(9, 13, 22, 0.8) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--border-glass) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
  z-index: 100;
  transition: all 0.3s ease;
  padding: 14px 0 !important;
}

@media (prefers-color-scheme: light) {
  .navbar {
    background: rgba(255, 255, 255, 0.8) !important;
  }
}

.navbar.scrolled {
  background: var(--bg-deep) !important;
  box-shadow: 0 10px 30px var(--shadow-color) !important;
}

.navbar a {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--text-main) !important;
  opacity: 0.75;
  transition: color 0.2s ease, opacity 0.2s ease;
  text-transform: none !important; /* Remove uppercase for clean typography */
}

.navbar a:hover {
  color: var(--color-pink) !important;
  opacity: 1;
}

/* Headings in iOS Modern Sans (Solid, High-End Typography) */
.heading-gta {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: none !important; /* Keep natural text capitalization */
  letter-spacing: -1px;
  background: none !important;
  -webkit-text-fill-color: var(--text-main) !important;
  background-clip: border-box !important;
  color: var(--text-main) !important;
  display: inline-block;
}

.heading-gta-container {
  filter: none !important; /* Remove heavy drop shadows */
}

/* Elegant Apple-Style Pill Buttons (Solid, specular gloss) */
.btn-gta {
  position: relative;
  font-family: var(--font-body);
  font-weight: 500;
  text-transform: none !important; /* Remove forced uppercase */
  padding: 10px 24px;
  border-radius: 30px !important; /* Clean rounded capsules */
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  letter-spacing: 0;
}

.btn-gta-primary {
  background: var(--color-pink) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 113, 227, 0.22),
              inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-gta-primary:hover {
  background: #0077ed !important;
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 8px 24px rgba(0, 113, 227, 0.32),
              inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}

.btn-gta-primary:active {
  transform: translateY(1px) scale(0.97) !important;
  box-shadow: 0 2px 8px rgba(0, 113, 227, 0.15),
              inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

.btn-gta-outline {
  background: transparent !important;
  color: var(--color-pink) !important;
  border: 1.5px solid var(--color-pink) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-gta-outline:hover {
  background: rgba(0, 113, 227, 0.08) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 113, 227, 0.15),
              inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

.btn-gta-gold {
  background: #e2e8f0 !important;
  color: #0f172a !important;
  font-weight: 600;
}

@media (prefers-color-scheme: dark) {
  .btn-gta-gold {
    background: #1e293b !important;
    color: #f8fafc !important;
  }
}

.btn-gta-gold:hover {
  background: #cbd5e1 !important;
  transform: translateY(-1px) !important;
}

/* Clean Corporate Cards */
/* Liquid Glass Cards & Containers */
.card-gta, .feature-card, .form-gta {
  background: var(--bg-card) !important;
  border-radius: var(--radius-lg) !important;   /* Smooth iPhone rounded corners */
  border: 1px solid var(--border-glass) !important;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 38px var(--shadow-color),
              inset 0 1px 0 var(--border-specular) !important;
  backdrop-filter: blur(40px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(180%) !important;
}

/* Polished specular outline on hover */
.card-gta {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.card-gta:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(0, 113, 227, 0.45) !important;
  box-shadow: 0 22px 52px var(--shadow-color),
              inset 0 1px 0 var(--border-specular) !important;
}

/* Feature Grid Cards */
.feature-card {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 24px;
}

.feature-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0, 113, 227, 0.25) !important;
  box-shadow: 0 16px 36px var(--shadow-color),
              inset 0 1px 0 var(--border-specular) !important;
}

/* Dynamic Crystalline Sheen overlay for Ceramic Glass */
.card-gta::after, .feature-card::after, .form-gta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(125deg, 
                rgba(255, 255, 255, 0) 0%, 
                rgba(255, 255, 255, 0) 40%, 
                rgba(255, 255, 255, 0.08) 48%, 
                rgba(255, 255, 255, 0.18) 50%, 
                rgba(255, 255, 255, 0.08) 52%, 
                rgba(255, 255, 255, 0) 60%, 
                rgba(255, 255, 255, 0) 100%);
  transform: translateX(-100%) translateY(-100%);
  transition: none;
  pointer-events: none;
  z-index: 5;
}

.card-gta:hover::after, .feature-card:hover::after {
  transform: translateX(100%) translateY(100%);
  transition: transform 0.95s cubic-bezier(0.16, 1, 0.3, 1);
}

.feature-card .text-3xl {
  border-radius: 14px !important;
  background: rgba(0, 113, 227, 0.08) !important;
  border: 1px solid var(--border-glass) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
}

/* Select Form Option Contrast Fix */
select option {
  background-color: var(--bg-deep) !important;
  color: var(--text-main) !important;
}

.form-group-gta label {
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--text-muted) !important;
  text-transform: uppercase;
}

.form-control-gta {
  background: rgba(0, 0, 0, 0.28) !important;
  border: 1px solid var(--border-glass) !important;
  color: var(--text-main) !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  backdrop-filter: none !important;
}

@media (prefers-color-scheme: light) {
  .form-control-gta {
    background: rgba(0, 0, 0, 0.03) !important;
  }
}

.form-control-gta::placeholder {
  color: var(--text-muted) !important;
  opacity: 0.65;
}

.form-control-gta:focus {
  border-color: var(--color-pink) !important;
  box-shadow: 0 0 0 3px var(--focus-ring) !important;
  background: rgba(0, 0, 0, 0.35) !important;
  outline: none;
}

@media (prefers-color-scheme: light) {
  .form-control-gta:focus {
    background: rgba(255, 255, 255, 0.95) !important;
  }
}

/* Chatbot Widget (iOS Style Clean Conversation) */
#orvi-chat-widget {
  background: var(--bg-glass) !important;
  border: 1px solid var(--border-glass) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(28px) !important;
  border-radius: 16px !important;
}

#orvi-chat-widget .bg-gradient-to-r {
  background: var(--color-pink) !important;
}

.chat-bubble-user {
  background: var(--color-pink) !important;
  color: #ffffff !important;
  border-radius: 14px 14px 2px 14px !important;
}

.chat-bubble-bot {
  background: rgba(0, 0, 0, 0.15) !important;
  color: var(--text-main) !important;
  border-radius: 14px 14px 14px 2px !important;
  border: 1px solid var(--border-glass) !important;
}

@media (prefers-color-scheme: light) {
  .chat-bubble-bot {
    background: rgba(0, 0, 0, 0.05) !important;
  }
}

#orvibot-open {
  background: var(--color-pink) !important;
  box-shadow: 0 4px 12px rgba(0, 113, 227, 0.25) !important;
  border: none !important;
}

#orvibot-open:hover {
  transform: scale(1.05) !important;
}

/* Minimalist Corporate Footer */
.footer-gta {
  background: var(--bg-deep) !important;
  border-top: 1px solid var(--border-glass) !important;
  position: relative;
}

.footer-gta::before {
  display: none !important; /* Remove sunset top-border line */
}

/* Specular lights classes - Cleaned up to prevent cheap neon glow */
.neon-glow-pink, .neon-glow-cyan, .neon-glow-gold {
  text-shadow: none !important;
}

/* --- READABILITY OVERRIDES --- */
.text-white {
  color: var(--text-main) !important;
}
.text-white\/90 {
  color: var(--text-main) !important;
  opacity: 0.9 !important;
}
.text-white\/80 {
  color: var(--text-main) !important;
  opacity: 0.85 !important;
}
.text-white\/70 {
  color: var(--text-main) !important;
  opacity: 0.75 !important;
}
.text-white\/60 {
  color: var(--text-muted) !important;
}
.text-white\/50 {
  color: var(--text-muted) !important;
}
.text-white\/40 {
  color: var(--text-muted) !important;
}
.text-slate-100 {
  color: var(--text-main) !important;
}
.text-slate-200 {
  color: var(--text-main) !important;
}
.text-slate-300 {
  color: var(--text-main) !important;
  opacity: 0.9 !important;
}
.text-slate-400 {
  color: var(--text-muted) !important;
}
.text-slate-500 {
  color: var(--text-muted) !important;
}

/* Custom Tailwind Theme Color overrides */
.text-gtacyan {
  color: var(--color-pink) !important;
}
.text-gtapink {
  color: var(--color-pink) !important;
}
.text-gtaorange {
  color: var(--color-orange) !important;
}
.text-gtagold {
  color: var(--text-muted) !important;
}
.bg-gtapink {
  background-color: var(--color-pink) !important;
}
.bg-gtacyan {
  background-color: var(--color-pink) !important;
}
.bg-gtaorange {
  background-color: var(--color-orange) !important;
}
.bg-gtagold {
  background-color: var(--color-gold) !important;
}

/* Override hardcoded black/dark backgrounds to adapt to dynamic slate/light panels */
.bg-black\/40, .bg-black\/60, .bg-black\/95, .bg-\[\#08080f\]\/95, .bg-black, .bg-\[\#05050a\] {
  background-color: var(--bg-card) !important;
}
.bg-\[\#020205\], .bg-\[\#08080f\], .bg-gtadark, .bg-\[\#020205\]\/80 {
  background-color: var(--bg-deep) !important;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
  .hero-content h1 {
    font-size: 4rem;
  }
}

@media (max-width: 768px) {
  .hero-content h1 {
    font-size: 2.8rem;
  }
  .navbar-menu {
    background: var(--bg-deep) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
  }
}

/* Ensure button text remains strictly white */
.btn-gta-primary {
  color: #ffffff !important;
}
