/* Future Maintenance And Supplies - Professional Theme */
:root {
  --fms-primary: #0b2d4a;
  --fms-primary-light: #143d63;
  --fms-accent: #e86e1d;
  --fms-accent-hover: #cf5f16;
  --fms-accent-soft: rgba(232,110,29,0.12);
  --fms-dark: #07182b;
  --fms-text: #1e293b;
  --fms-muted: #64748b;
  --fms-bg: #f8fafc;
  --fms-card: #ffffff;
  --fms-border: #e2e8f0;
  --radius-xl: 22px;
  --radius-lg: 16px;
  --shadow-sm: 0 4px 24px rgba(11,45,74,0.06);
  --shadow-md: 0 12px 40px rgba(11,45,74,0.10);
  --shadow-lg: 0 20px 60px rgba(11,45,74,0.14);
}
[data-bs-theme="dark"] {
  --fms-bg: #06101f;
  --fms-card: #0e223c;
  --fms-text: #e2e8f0;
  --fms-muted: #94a3b8;
  --fms-border: #1e3a5a;
  --fms-primary: #0f365c;
  --shadow-sm: 0 4px 24px rgba(0,0,0,0.3);
  --shadow-md: 0 12px 40px rgba(0,0,0,0.4);
}
* { scroll-behavior: smooth; }
body {
  font-family: 'Inter', 'IBM Plex Sans Arabic', system-ui, -apple-system, sans-serif;
  background: var(--fms-bg);
  color: var(--fms-text);
  line-height: 1.75;
  overflow-x: hidden;
}
h1,h2,h3,h4,h5 { font-weight: 800; letter-spacing: -0.02em; color: var(--fms-text); }
.display-title { font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.1; }
.lead { color: var(--fms-muted); }

/* Navbar */
.navbar-fms {
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--fms-border);
  padding: 0.7rem 0;
  transition: all .3s;
}
[data-bs-theme="dark"] .navbar-fms { background: rgba(7,24,43,0.88); }
.navbar-brand { font-weight: 900; letter-spacing: -0.03em; font-size: 1.35rem; color: var(--fms-primary) !important; }
.navbar-brand img { background: transparent; border: none; filter: drop-shadow(0 3px 10px rgba(11,45,74,0.18)) drop-shadow(0 1px 3px rgba(11,45,74,0.12)); image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; }
.navbar-brand span { color: var(--fms-accent); }
@media (max-width: 576px){ .navbar-brand img { width:52px !important; height:52px !important; } }
@media (max-width: 380px){ .navbar-brand img { width:48px !important; height:48px !important; } }
.footer img { border: 1px solid rgba(255,255,255,0.12); }
.nav-link { font-weight: 600; font-size: 0.92rem; color: var(--fms-text) !important; opacity: .85; padding: .5rem .9rem !important; border-radius: 999px; }
.nav-link:hover, .nav-link.active { background: var(--fms-accent-soft); color: var(--fms-primary) !important; opacity: 1; }
[data-bs-theme="dark"] .nav-link:hover, [data-bs-theme="dark"] .nav-link.active { color: #fff !important; background: rgba(232,110,29,0.18); }
.dropdown-menu { border-radius: 14px; border: 1px solid var(--fms-border); box-shadow: var(--shadow-md); padding: .5rem; }
.dropdown-item { border-radius: 10px; font-weight: 500; }

/* Buttons */
.btn-fms-primary {
  background: var(--fms-primary);
  border: none;
  color: #fff;
  font-weight: 700;
  padding: .72rem 1.5rem;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(11,45,74,0.18);
  transition: all .25s;
}
.btn-fms-primary:hover { background: var(--fms-primary-light); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(11,45,74,0.24); }
.btn-fms-accent {
  background: var(--fms-accent);
  border: none;
  color: #07182b;
  font-weight: 800;
  padding: .72rem 1.5rem;
  border-radius: 999px;
}
.btn-fms-accent:hover { background: var(--fms-accent-hover); color: #07182b; transform: translateY(-2px); }
.btn-fms-outline {
  border: 1.5px solid var(--fms-border);
  background: var(--fms-card);
  color: var(--fms-text);
  font-weight: 700;
  padding: .70rem 1.4rem;
  border-radius: 999px;
}
.btn-fms-outline:hover { border-color: var(--fms-primary); color: var(--fms-primary); background: var(--fms-card); }

/* Hero */
.hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(1200px 600px at 85% -10%, rgba(232,110,29,0.18), transparent 60%), linear-gradient(180deg, #0b2d4a 0%, #07182b 100%);
  color: #fff;
  padding: 7rem 0 5rem;
}
.hero-slides { position:absolute; inset:0; z-index:0; }
.hero-slide {
  position:absolute; inset:0;
  background-size: cover;
  background-position: center;
  opacity:0;
  transition: opacity 1.4s ease-in-out;
  mix-blend-mode: luminosity;
  will-change: opacity;
}
.hero-slide.active { opacity: 0.22; }
.hero > .container { position: relative; z-index: 2; }
.hero-dots {
  position:absolute;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:flex; gap:8px;
  background: rgba(0,0,0,0.22);
  backdrop-filter: blur(6px);
  border:1px solid rgba(255,255,255,0.14);
  padding:6px 10px;
  border-radius:999px;
}
.hero-dot {
  width:8px; height:8px;
  border-radius:50%;
  border:none;
  background: rgba(255,255,255,0.42);
  transition: all .3s;
  cursor:pointer;
  padding:0;
}
.hero-dot.active { background: var(--fms-accent); width:22px; border-radius:999px; }
.hero-dot:focus-visible { outline:2px solid var(--fms-accent); outline-offset:2px; }
.hero-badge {
  display: inline-flex; align-items: center; gap:.5rem;
  background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.15);
  backdrop-filter: blur(8px); color:#fff; font-weight:700; font-size:.82rem;
  padding:.42rem .9rem; border-radius: 999px; letter-spacing:.06em; text-transform: uppercase;
}
.hero h1 { color:#fff; }
.hero h1 span { color: var(--fms-accent); }
.hero p { color: rgba(255,255,255,0.78); font-size: 1.08rem; max-width: 640px; }
.hero-card {
  background: rgba(255,255,255,0.96); border-radius: var(--radius-xl); padding:1.4rem; box-shadow: var(--shadow-lg);
  border: 1px solid rgba(255,255,255,0.4);
}
[data-bs-theme="dark"] .hero-card { background: #0e223c; border-color: #1e3a5a; }
.hero-stats { display:flex; gap:1.2rem; flex-wrap:wrap; }
.hero-stat { flex:1; min-width: 110px; background: var(--fms-accent-soft); border-radius: 16px; padding:1rem; text-align:center; border:1px solid rgba(232,110,29,0.18); }
.hero-stat strong { display:block; font-size:1.5rem; color: var(--fms-primary); line-height:1; }
[data-bs-theme="dark"] .hero-stat strong { color: var(--fms-accent); }
.hero-stat span { font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform: uppercase; color: var(--fms-muted); }

/* Sections */
.section { padding: 4.5rem 0; }
.section-head { max-width: 720px; margin: 0 auto 2.8rem; text-align: center; }
.section-kicker { color: var(--fms-accent); font-weight: 800; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; }
.section-head h2 { font-size: clamp(1.7rem, 3.5vw, 2.4rem); margin:.35rem 0 .7rem; }
.card-fms {
  background: var(--fms-card); border: 1px solid var(--fms-border); border-radius: var(--radius-lg);
  padding: 1.6rem; height: 100%; box-shadow: var(--shadow-sm); transition: all .3s;
}
.card-fms:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: rgba(232,110,29,0.3); }
.icon-box {
  width:52px; height:52px; border-radius: 14px; display:grid; place-items:center;
  background: var(--fms-accent-soft); color: var(--fms-accent); font-size: 1.45rem; border: 1px solid rgba(232,110,29,0.18);
}
.icon-box.dark { background: var(--fms-primary); color:#fff; }
.service-card-img { height: 210px; object-fit: cover; border-radius: 14px; width: 100%; }
.service-card { overflow:hidden; }
.service-card .service-card-img { transition: transform .6s; }
.service-card:hover .service-card-img { transform: scale(1.05); }

/* Trust bar */
.trust-bar { background: var(--fms-card); border-top:1px solid var(--fms-border); border-bottom:1px solid var(--fms-border); padding:1.2rem 0; }
.trust-item { display:flex; align-items:center; gap:.8rem; font-weight:700; font-size:.92rem; color: var(--fms-text); }
.trust-item i { color: var(--fms-accent); font-size:1.25rem; }

/* About preview split */
.split-img { border-radius: var(--radius-xl); overflow:hidden; box-shadow: var(--shadow-md); height:100%; min-height:360px; object-fit: cover; }
.check-list { list-style:none; padding:0; margin:0; }
.check-list li { display:flex; gap:.7rem; align-items:flex-start; margin-bottom:.85rem; font-weight:500; }
.check-list li i { color:#16a34a; margin-top:3px; flex-shrink:0; }

/* Page header - Full background banner */
.page-header {
  background: linear-gradient(135deg, #0b2d4a 0%, #0e3a5f 55%, #143d63 100%);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color:#fff;
  padding: 8rem 0 5rem;
  position:relative;
  overflow:hidden;
  min-height: 420px;
  display:flex;
  align-items:center;
  text-align:center;
}
.page-header::before {
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(7,24,43,0.68) 0%, rgba(7,24,43,0.82) 100%), radial-gradient(700px 400px at 90% 0%, rgba(232,110,29,0.22), transparent 60%);
}
.page-header > .container { position:relative; z-index:2; }
.page-header h1 { color:#fff; }
.page-header p { color: rgba(255,255,255,0.88); max-width: 760px; margin-left:auto; margin-right:auto; }
.page-header .breadcrumb { justify-content:center; }
.page-header .btn { box-shadow: 0 8px 24px rgba(0,0,0,0.25); }
@media (max-width: 768px){ .page-header{ min-height: 360px; padding: 7rem 0 3.5rem; } }
.breadcrumb-fms { --bs-breadcrumb-divider: '›'; }
.breadcrumb-fms .breadcrumb-item a { color: rgba(255,255,255,0.75); text-decoration:none; font-weight:600; }
.breadcrumb-fms .breadcrumb-item.active { color: var(--fms-accent); font-weight:700; }

/* Contact */
.contact-card { background: var(--fms-card); border:1px solid var(--fms-border); border-radius: var(--radius-lg); padding:1.5rem; box-shadow: var(--shadow-sm); }
.form-control, .form-select {
  background: var(--fms-card); border:1.5px solid var(--fms-border); border-radius: 12px; padding:.72rem 1rem; font-weight:500;
}
.form-control:focus, .form-select:focus { border-color: var(--fms-accent); box-shadow: 0 0 0 .2rem rgba(232,110,29,0.15); background: var(--fms-card); color: var(--fms-text); }
[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select { color: #e2e8f0; }
.info-icon { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background: var(--fms-primary); color:#fff; font-size:1.2rem; flex-shrink:0; }

/* Footer */
.footer {
  background: #06101f; color: rgba(255,255,255,0.78); padding: 3.5rem 0 1.5rem; margin-top: 2rem;
}
.footer h5, .footer h6 { color:#fff; }
.footer a { color: rgba(255,255,255,0.72); text-decoration:none; font-weight:500; }
.footer a:hover { color: var(--fms-accent); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.08); margin-top:2.5rem; padding-top:1.4rem; font-size:.88rem; color: rgba(255,255,255,0.55); }
.social a { width:38px; height:38px; border-radius:999px; display:grid; place-items:center; background: rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.1); color:#fff; transition: all .25s; }
.social a:hover { background: var(--fms-accent); color:#07182b; border-color: var(--fms-accent); }

/* Utilities */
.bg-soft { background: var(--fms-card); border:1px solid var(--fms-border); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); }
.sticky-top-fms { position: sticky; top: 84px; }
.badge-soft { background: var(--fms-accent-soft); color: #7a2e0a; border:1px solid rgba(232,110,29,0.22); font-weight:800; letter-spacing:.06em; font-size:.72rem; padding:.45em .75em; border-radius:999px; }
[data-bs-theme="dark"] .badge-soft { color: var(--fms-accent); }
.divider { height:1px; background: var(--fms-border); }
.rtl-fix { direction: ltr; display:inline-block; } /* for phone numbers in RTL */

/* Language & theme toggles */
.btn-lang, .btn-theme {
  width:40px; height:40px; border-radius:999px; display:grid; place-items:center;
  border:1.5px solid var(--fms-border); background: var(--fms-card); color: var(--fms-text);
}
.btn-lang:hover, .btn-theme:hover { border-color: var(--fms-accent); color: var(--fms-primary); }
[data-bs-theme="dark"] .btn-lang, [data-bs-theme="dark"] .btn-theme { background:#0e223c; color:#e2e8f0; }

/* Animations */
.reveal { opacity:0; transform: translateY(18px); transition: all .7s cubic-bezier(.2,.8,.2,1); }
.reveal.in { opacity:1; transform:none; }

/* RTL Support - Comprehensive */
[dir="rtl"] body { direction: rtl; text-align: right; }
[dir="rtl"] .navbar-nav { padding-right: 0; }
[dir="rtl"] .dropdown-menu { text-align: right; }
[dir="rtl"] .dropdown-item i { margin-left: .5rem !important; margin-right: 0 !important; }
[dir="rtl"] .form-control, [dir="rtl"] .form-select, [dir="rtl"] textarea.form-control { text-align: right; direction: rtl; }
[dir="rtl"] .form-control::placeholder, [dir="rtl"] textarea::placeholder { text-align: right; }
[dir="rtl"] .breadcrumb { direction: rtl; }
[dir="rtl"] .breadcrumb-fms { --bs-breadcrumb-divider: '‹'; }
[dir="rtl"] .bi-arrow-right, [dir="rtl"] .bi-arrow-left, [dir="rtl"] .bi-chevron-right, [dir="rtl"] .bi-chevron-left, [dir="rtl"] .bi-box-arrow-up-right { transform: scaleX(-1); display: inline-block; }
[dir="rtl"] .page-header::before { background: linear-gradient(180deg, rgba(7,24,43,0.68) 0%, rgba(7,24,43,0.82) 100%), radial-gradient(700px 400px at 10% 0%, rgba(232,110,29,0.22), transparent 60%); }
[dir="rtl"] .me-1 { margin-left:.25rem !important; margin-right:0 !important; }
[dir="rtl"] .me-2 { margin-left:.5rem !important; margin-right:0 !important; }
[dir="rtl"] .me-3 { margin-left:1rem !important; margin-right:0 !important; }
[dir="rtl"] .ms-1 { margin-right:.25rem !important; margin-left:0 !important; }
[dir="rtl"] .ms-2 { margin-right:.5rem !important; margin-left:0 !important; }
[dir="rtl"] .ms-auto { margin-right:auto !important; margin-left:0 !important; }
[dir="rtl"] .me-auto { margin-left:auto !important; margin-right:0 !important; }
[dir="rtl"] .ps-3 { padding-right:1rem !important; padding-left:0 !important; }
[dir="rtl"] .text-start { text-align: right !important; }
[dir="rtl"] .text-end { text-align: left !important; }
[dir="rtl"] .border-start { border-right: 1px solid var(--fms-border) !important; border-left: none !important; }
[dir="rtl"] .timeline::before { right: auto; left: 50%; transform: translateX(-50%); }

/* Timeline for About */
.timeline { position:relative; padding-right:0; }
.timeline::before { content:""; position:absolute; top:0; bottom:0; right:50%; width:2px; background: var(--fms-border); transform: translateX(50%); }
@media (max-width: 992px){ .timeline::before{ display:none; } }

/* Floating WhatsApp */
.whatsapp-float {
  position: fixed;
  bottom: 22px;
  right: 22px;
  z-index: 1055;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
[dir="rtl"] .whatsapp-float { right: auto; left: 22px; }
.whatsapp-float-label {
  background: #fff;
  color: #0b2d4a;
  font-weight: 700;
  font-size: 0.85rem;
  padding: 8px 14px;
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.16);
  border: 1px solid var(--fms-border);
  white-space: nowrap;
  opacity: 0;
  transform: translateX(8px);
  pointer-events: none;
  transition: all .28s cubic-bezier(.2,.8,.2,1);
}
[data-bs-theme="dark"] .whatsapp-float-label { background: #0e223c; color: #e2e8f0; border-color: #1e3a5a; }
.whatsapp-float:hover .whatsapp-float-label { opacity: 1; transform: translateX(0); pointer-events: auto; }
@media (max-width: 576px){ .whatsapp-float-label { display: none; } }
.whatsapp-float-btn {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 30px;
  box-shadow: 0 8px 24px rgba(37,211,102,0.45), 0 4px 12px rgba(0,0,0,0.18);
  border: 3px solid #fff;
  position: relative;
  transition: transform .2s, box-shadow .2s;
  animation: whatsapp-pulse 2.2s infinite;
}
.whatsapp-float-btn:hover { transform: scale(1.07); box-shadow: 0 12px 32px rgba(37,211,102,0.55), 0 6px 16px rgba(0,0,0,0.22); color:#fff; }
.whatsapp-float-btn::after {
  content:"";
  position:absolute; inset:-6px;
  border-radius:50%;
  border:2px solid rgba(37,211,102,0.35);
  animation: whatsapp-ring 2.2s infinite;
  pointer-events:none;
}
@keyframes whatsapp-pulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.04); }
}
@keyframes whatsapp-ring {
  0% { transform: scale(0.85); opacity: 1; }
  100% { transform: scale(1.35); opacity: 0; }
}
.whatsapp-float-dot {
  position:absolute;
  top:2px; right:2px;
  width:14px; height:14px;
  background:#ff3b30;
  border:2px solid #fff;
  border-radius:50%;
}
.whatsapp-float-dot::after {
  content:"1";
  position:absolute; inset:0;
  display:grid; place-items:center;
  font-size:8px; font-weight:900; color:#fff; line-height:1;
}
