/* FireLabs Custom Modern SaaS Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Montserrat:wght@400;500;600;700&display=swap');

:root {
  --fl-orange: #FA5518;
  --fl-orange-hover: #E0480F;
  --fl-gold: #FC9500;
  --fl-bg-dark: #07090E;
  --fl-bg-surface: #0E121A;
  --fl-card-bg: rgba(18, 22, 31, 0.75);
  --fl-card-border: rgba(255, 255, 255, 0.08);
  --fl-glow: rgba(250, 85, 24, 0.22);
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: var(--fl-bg-dark);
  color: #F8FAFC;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}

/* Radiant Background Glows */
.bg-radial-gradient {
  background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(250, 85, 24, 0.15), transparent 70%);
}

.bg-radial-gradient-pricing {
  background: radial-gradient(circle at 50% 0%, rgba(250, 85, 24, 0.18) 0%, rgba(18, 22, 31, 0.95) 75%);
}

/* Glassmorphism Cards */
.glass-card {
  background: var(--fl-card-bg);
  border: 1px solid var(--fl-card-border);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 1.25rem;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.glass-card:hover {
  border-color: rgba(250, 85, 24, 0.45);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px -10px var(--fl-glow);
}

/* Gradient Text */
.text-gradient-flame {
  background: linear-gradient(135deg, #FFFFFF 30%, #FC9500 70%, #FA5518 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-orange {
  background: linear-gradient(135deg, #FFA366 0%, #FA5518 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* High-Converting Buttons */
.btn-primary {
  background: linear-gradient(135deg, #FA5518 0%, #FF7A00 100%);
  color: #FFFFFF;
  font-weight: 700;
  box-shadow: 0 4px 20px rgba(250, 85, 24, 0.35);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-primary:hover {
  background: linear-gradient(135deg, #FF662A 0%, #FF8C1A 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(250, 85, 24, 0.55);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-weight: 600;
  backdrop-filter: blur(10px);
  transition: all 0.25s ease-in-out;
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
  transform: translateY(-2px);
}

/* Pill Badges */
.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.85rem;
  background: rgba(250, 85, 24, 0.1);
  border: 1px solid rgba(250, 85, 24, 0.3);
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #FFA366;
}

/* Modal Window Animation */
@keyframes modalOverlayFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes modalContentPopIn {
  from {
    transform: scale(0.95);
    opacity: 0.8;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.modal-overlay {
  display: none !important;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 100;
}

.modal-overlay.active {
  display: flex !important;
  opacity: 1;
  pointer-events: auto;
  animation: modalOverlayFadeIn 0.2s ease-out forwards;
}

.modal-overlay.active .modal-content {
  animation: modalContentPopIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@media (max-width: 639px) {
  #modal-calendar {
    padding: 6px !important;
  }
  #modal-calendar .modal-content {
    padding: 10px 10px 8px 10px !important;
    max-height: 97vh !important;
    border-radius: 14px !important;
  }
  #modal-calendar #calendar-wrapper {
    max-height: 87vh !important;
  }
}

/* Mobile Sticky Conversion Bar (Scroll-Triggered) */
.mobile-sticky-bar {
  transform: translateY(120%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
}

.mobile-sticky-bar.visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

body.modal-open .mobile-sticky-bar {
  transform: translateY(120%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Sticky Header Blur */
.header-glass {
  background: rgba(7, 9, 14, 0.85);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

/* Tool Stack Killer Table */
.stack-killer-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar:horizontal {
  display: none !important;
  height: 0px !important;
}
::-webkit-scrollbar-track {
  background: #07090E;
}
::-webkit-scrollbar-thumb {
  background: #1E2430;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #FA5518;
}

/* Modal & Calendar Scrollbar Protection */
#calendar-wrapper,
#calendar-wrapper iframe {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

#calendar-wrapper::-webkit-scrollbar:horizontal,
.modal-content::-webkit-scrollbar:horizontal,
::-webkit-scrollbar:horizontal,
*::-webkit-scrollbar:horizontal {
  display: none !important;
  height: 0px !important;
  width: 0px !important;
}
