/* MOLDRITE SHARED STYLES — used across all pages */
/* Loaded AFTER style.css to override legacy rules */

@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/Inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF}

:root{
  --navy:#0F2747;--blue:#1F5E8C;--steel:#4F7DA3;--lt-blue:#DCE7F2;
  --gold:#F2C94C;--gold-hover:#E5BC3F;--white:#FFF;--off-white:#F8FAFB;
  --body:#2E3A4A;--text-lt:#5A6B7F;--border:#E2E8F0;--rl:12px;--tr:0.25s ease;
}

/* Force .rv visible immediately - skip the hidden state */
.rv{opacity:1!important;transform:none!important;width:100%;display:block}

/* ============================================ */
/* NAVIGATION                                    */
/* ============================================ */
.nav{position:fixed!important;top:0;left:0;right:0;z-index:1000;background:rgba(15,39,71,0.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,0.05)}
.nav-inner{max-width:1200px!important;margin:0 auto;padding:0 24px;display:flex!important;align-items:center;justify-content:space-between;height:74px;width:100%}
.nav-logo{display:flex;align-items:center;flex-shrink:0}
.nav-logo img{height:54px;width:auto;max-width:none;flex-shrink:0;object-fit:contain}
.nav-links{display:flex!important;gap:28px;list-style:none;align-items:center;margin:0;padding:0}
.nav-links li{list-style:none}
.nav-links a{color:rgba(255,255,255,0.6);text-decoration:none;font-size:14px;font-weight:500;letter-spacing:0.2px;transition:color 0.25s}
.nav-links a:hover{color:#fff}
.nav-links a.active{color:var(--gold);font-weight:600}
.nav-cta{background:var(--gold)!important;color:var(--navy)!important;padding:10px 24px!important;border-radius:6px;font-weight:700!important}
.nav-mob{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:8px}

/* Dropdown menus (Services, Blog) */
.nav-drop{position:relative}
.nav-drop>a{cursor:pointer}
.nav-drop>a::after{content:" \25BE";font-size:10px;opacity:0.5}
.nav-drop-menu{display:none!important;position:absolute!important;top:100%;left:0;background:rgba(15,39,71,0.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:0 0 6px 6px;padding:8px 0;min-width:240px;border:1px solid rgba(255,255,255,0.08);border-top:none;box-shadow:0 8px 24px rgba(0,0,0,0.2)}
.nav-drop:hover .nav-drop-menu{display:block!important}
.nav-drop-menu a{display:block;padding:8px 20px;font-size:13px;color:rgba(255,255,255,0.6);white-space:nowrap;text-decoration:none}
.nav-drop-menu a:hover{color:var(--gold);background:rgba(255,255,255,0.04)}

/* Mobile menu (compact dropdown on right) */
.mobile-menu{display:none;position:fixed!important;top:74px;right:16px!important;left:auto!important;bottom:auto!important;background:rgba(15,39,71,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:8px 0;min-width:220px;max-width:280px;z-index:999;flex-direction:column;border:1px solid rgba(255,255,255,0.08);border-radius:0 0 8px 8px;box-shadow:0 8px 24px rgba(0,0,0,0.25);max-height:calc(100vh - 100px);overflow-y:auto}
.mobile-menu.open{display:flex!important}
.mobile-menu a{color:rgba(255,255,255,0.75);padding:9px 20px;font-size:13px;border-bottom:none;text-decoration:none;display:block;line-height:1.4}
.mobile-menu a:hover{color:var(--gold);background:rgba(255,255,255,0.04)}

/* ============================================ */
/* RESPONSIVE NAVIGATION                          */
/* ============================================ */
@media(max-width:1024px){
  .nav-links{gap:18px}
  .nav-inner{padding:0 16px}
  .nav-links a{font-size:13px}
}
@media(max-width:768px){
  .nav-links{display:none!important}
  .nav-mob{display:block!important}
  .nav-logo img{height:44px}
  .nav-inner{height:64px;padding:0 16px}
  .mobile-menu{top:64px}

  /* Prevent horizontal overflow on mobile across ALL pages */
  html, body{max-width:100vw;overflow-x:hidden!important}
  
  /* Force common grid layouts to single column on mobile */
  .svc-grid, .process-flow, .deliv-grid, .testimonial-grid,
  .feat-grid, .cap-grid, .footer-grid, .form-grid,
  .stats-grid, .industry-grid, .img-grid{
    grid-template-columns:1fr!important;
    display:grid!important;
  }
  
  /* Force all multi-column inline grids to single column */
  div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  /* Exception: 2-col form grids in narrow widths (<400px) → 1col but at 400-768 they could stay 2-col */
  /* Keeping 1col for max compatibility */
  
  /* Ensure section padding shrinks on mobile */
  .sec, .sec-grey{padding-left:20px!important;padding-right:20px!important}
  
  /* Sticky sec-nav: hide on mobile to avoid overflow */
  .sec-nav{display:none!important}
  
  /* Iframe and map containers should respect viewport */
  iframe{max-width:100%}
  .map-wrap{max-width:100%;overflow:hidden}
  
  /* Tables that often overflow on mobile - allow scrolling */
  table{display:block;overflow-x:auto;max-width:100%}
}
