/* Custom styles for RPLI Calculator - Executive SaaS Theme with Mobile Responsiveness Fixes */


:root {
  --steel-blue: #4a7097;
  --steel-blue-dark: #375677;
  --steel-blue-light: #f0f4f8;
  --canvas-bg: #eaeff4;
  --post-red: #d32f2f;
  --box-radius: 8px;
}

/* ==========================================================================
   Executive 5% Crisp Radius System (Covers all containers, boxes, cards site-wide)
   Reduces bubbly 24px-32px corners to sleek, modern, executive 6px-10px (~5%).
   ========================================================================== */
.rounded-3xl {
  border-radius: 10px !important;
}
.rounded-2xl {
  border-radius: 8px !important;
}
.rounded-xl {
  border-radius: 6px !important;
}
.rounded-lg {
  border-radius: 5px !important;
}

html, body {
  overflow-x: clip; /* Modern GPU-friendly clipping: prevents horizontal overflow without creating an overflow scroll container */
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background-color: var(--canvas-bg);
  color: #1e293b;
}

/* Glassmorphism Navbar (Optimized: disabled blur on mobile to prevent GPU fillrate exhaustion) */
.glass-nav {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

@media (max-width: 768px) {
  .glass-nav {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: #ffffff;
  }
}

/* ALL RPLI CALCULATORS CARDS — Executive Crimson Gradient (Subtle 5% Radius, Native Mobile 120Hz) */
.rpli-calc-card {
  background: linear-gradient(180deg, #700206 0%, #420104 50%, #1a0001 100%);
  border: 1px solid rgba(185, 28, 28, 0.4);
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  contain: content;
}

@media (hover: hover) and (min-width: 1024px) {
  .rpli-calc-card {
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }
  .rpli-calc-card:hover {
    border-color: #ef4444;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.22);
  }
}

/* Card Styling */
.ref-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: var(--box-radius);
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ref-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 10px 30px -4px rgba(15, 23, 42, 0.08);
}

/* Table Horizontal Scroll Helper for Mobile */
.table-scroll-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Dropdown Menu Transitions */
.dropdown-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.2s ease-in-out;
  border-radius: 8px !important;
}

.dropdown-group:hover .dropdown-menu,
.dropdown-group:focus-within .dropdown-menu,
.dropdown-menu.active-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar {
  height: 6px;
  width: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Accordion Smooth Expand */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
}

.accordion-item.active .accordion-content {
  max-height: 1000px;
  transition: max-height 0.5s ease-in-out;
}

.accordion-item.active .accordion-icon {
  transform: rotate(180deg);
}

/* Printable Quotation Slip Offscreen Container (Zero overhead during normal scrolling) */
.rpli-pdf-offscreen {
  display: none;
}

.rpli-pdf-offscreen.is-generating-pdf {
  display: block !important;
  position: fixed !important;
  left: -9999px !important;
  top: 0 !important;
  width: 794px !important;
  z-index: -9999 !important;
  pointer-events: none !important;
  background: #ffffff;
  overflow: hidden;
}

/* Print Styling */
@media print {
  body {
    background-color: #ffffff !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* Hide all normal website UI in print */
  .max-w-7xl, header, footer, nav, main, #main-content, #hero-section, #calculator-section, #other-calculators-section, #content-section, #faq-section, #about-section, .no-print {
    display: none !important;
  }
  .print-only {
    display: block !important;
  }
  /* Show only the official quotation slip */
  .rpli-pdf-offscreen,
  #rpli-printable-slip-container {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    display: block !important;
    overflow: visible !important;
  }
  #rpli-printable-slip {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
  }
}

/* Visual Scroll Hint for Mobile Trajectory Tables */
.table-scroll-hint {
  position: relative;
}
.table-scroll-hint::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 24px;
  background: linear-gradient(to right, transparent, rgba(15, 23, 42, 0.08));
  pointer-events: none;
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}
@media (min-width: 768px) {
  .table-scroll-hint::after {
    display: none;
  }
}


