/* Global Custom CSS */
body {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

/* Guidelines Enforcement - Fonts */
h1 {
  font-size: 40px !important;
  line-height: 1.2 !important;
}
h2 {
  font-size: 35px !important;
  line-height: 1.3 !important;
}
h3 {
  font-size: 30px !important;
  line-height: 1.3 !important;
}
h4 {
  font-size: 28px !important;
  line-height: 1.4 !important;
}
h5 {
  font-size: 26px !important;
  line-height: 1.4 !important;
}
h6 {
  font-size: 24px !important;
  line-height: 1.4 !important;
}

/* Guidelines Enforcement - Standard Spacing Fallback */
section {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media (min-width: 1024px) {
  section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.gradient-mesh {
  background-color: #0f172a;
  background-image:
    radial-gradient(at 0% 0%, rgba(231, 94, 11, 0.18) 0px, transparent 50%),
    radial-gradient(at 100% 0%, rgba(249, 115, 22, 0.18) 0px, transparent 50%),
    radial-gradient(
      at 100% 100%,
      rgba(253, 186, 116, 0.18) 0px,
      transparent 50%
    ),
    radial-gradient(at 0% 100%, rgba(231, 94, 11, 0.18) 0px, transparent 50%);
  background-attachment: fixed;
}

.animated-gradient {
  background: linear-gradient(-45deg, #0f172a, #7c2d12, #e75e0b, #7c2d12);
  background-size: 400% 400%;
  animation: gradient-animation 15s ease infinite;
}

@keyframes gradient-animation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.bg-grid-pattern {
  background-size: 50px 50px;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.glass {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.dark .glass {
  background: rgba(15, 23, 42, 0.7);
}

/* Glass Nav for Sticky Header */
.glass-nav {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.dark .glass-nav {
  background: rgba(15, 23, 42, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.glow-hover:hover {
  box-shadow: 0 0 24px rgba(231, 94, 11, 0.5);
  transform: translateY(-5px);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #0f172a;
}
::-webkit-scrollbar-thumb {
  background: #334155;
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: #475569;
}

/* Input Autofill Fix for Dark Mode */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #1e293b inset !important;
  -webkit-text-fill-color: white !important;
}

/* Utility to hide scrollbar */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
/* Custom Select for Forms */
.custom-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 1.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 3rem !important;
}

.dark .custom-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}

/* Mobile Menu Fix - Hide Floating Elements when menu is open */
body.menu-open .fixed.bottom-8,
body.menu-open #ai-chat-window {
    display: none !important;
}
