/* Deiramar public design system - rollback point 001 */
:root {
  --deiramar-primary: #015fc9;
  --deiramar-primary-dark: #014ca1;
  --deiramar-primary-soft: #eef5ff;
  --deiramar-accent: #0be1ff;
  --deiramar-ink: #16243d;
  --deiramar-muted: #657781;
  --deiramar-surface: #ffffff;
  --deiramar-background: #f5f8f9;
  --deiramar-border: #dce7ea;
  --deiramar-shadow: 0 16px 45px rgba(22, 36, 61, .10);
  --deiramar-radius: 20px;
}

html { scroll-behavior: smooth; }

body.site-body {
  color: var(--deiramar-ink);
  background: var(--deiramar-background) !important;
  font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.75;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

html[dir="rtl"] body.site-body {
  font-family: "IBM Plex Sans Arabic", "Noto Sans Arabic", Tahoma, sans-serif;
  letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
.navbar, .btn, .site-footer-title {
  font-family: inherit;
  font-weight: 700;
  letter-spacing: -.025em;
}

html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4,
html[dir="rtl"] h5,
html[dir="rtl"] h6 {
  font-family: "Noto Kufi Arabic", "IBM Plex Sans Arabic", sans-serif;
  line-height: 1.55;
  letter-spacing: 0;
}

a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
a:focus-visible, button:focus-visible { outline: 3px solid rgba(217, 164, 65, .45); outline-offset: 3px; }

.bg-primary, .btn-primary { background-color: var(--deiramar-primary) !important; }
.text-primary { color: var(--deiramar-primary) !important; }
.btn-primary { border-color: var(--deiramar-primary) !important; box-shadow: 0 8px 20px rgba(1, 95, 201, .16); }
.btn-primary:hover, .btn-primary:focus { background-color: var(--deiramar-primary-dark) !important; border-color: var(--deiramar-primary-dark) !important; transform: translateY(-1px); }

.ad-ticker-wrap { background: linear-gradient(90deg, var(--deiramar-primary-dark), var(--deiramar-primary)) !important; border-bottom: 1px solid rgba(255,255,255,.13); }
.ad-ticker-inner { min-height: 38px; display: inline-flex !important; align-items: center; }

.topbar { border-bottom: 1px solid var(--deiramar-border); background: #fff !important; }
.topbar a { text-decoration: none; }

.site-header-shell {
  position: sticky;
  top: 0;
  z-index: 1020;
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(1,95,201,.10);
  box-shadow: 0 8px 30px rgba(22,36,61,.06);
  backdrop-filter: blur(14px);
}

.site-header-shell .navbar { min-height: 92px; padding-block: .65rem; }
.site-header-shell .navbar-brand img { max-height: 72px !important; width: auto; }
.site-header-shell .navbar-nav { gap: .4rem; align-items: center; }
.site-header-shell .navbar-nav > .btn,
.site-header-shell .navbar-nav > .dropdown > .btn {
  color: var(--deiramar-ink);
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none;
  border-radius: 12px !important;
  padding: .65rem .9rem !important;
  margin: 0 !important;
  white-space: nowrap;
}
.site-header-shell .navbar-nav > .btn:hover,
.site-header-shell .navbar-nav > .dropdown > .btn:hover,
.site-header-shell .navbar-nav > .dropdown > .btn[aria-expanded="true"] {
  color: var(--deiramar-primary);
  background: var(--deiramar-primary-soft) !important;
  transform: none;
}
.site-header-shell .dropdown-menu { border: 1px solid var(--deiramar-border); box-shadow: var(--deiramar-shadow); }
.site-header-shell .dropdown-item { border-radius: 9px; }
.site-header-shell .dropdown-item:hover { color: var(--deiramar-primary); background: var(--deiramar-primary-soft); }
.navbar-toggler { border: 1px solid var(--deiramar-border); border-radius: 12px; color: var(--deiramar-primary); padding: .65rem .8rem; }

.header-carousel .header-carousel-item { min-height: clamp(520px, 72vh, 760px); }
.header-carousel .carousel-caption { background: linear-gradient(90deg, rgba(5,34,44,.82), rgba(5,34,44,.35)) !important; }
html[dir="rtl"] .header-carousel .carousel-caption { background: linear-gradient(270deg, rgba(5,34,44,.82), rgba(5,34,44,.35)) !important; }
.header-carousel .carousel-caption h1 { max-width: 900px; text-wrap: balance; }
.header-carousel .carousel-caption p { max-width: 760px; }

.about, .service, .blog { position: relative; }
.about .container, .service .container, .blog .container { position: relative; z-index: 1; }
.about .bg-light, .service, .blog { background-color: var(--deiramar-background) !important; }
.service .service-item, .blog .blog-item {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--deiramar-border);
  border-radius: var(--deiramar-radius);
  background: var(--deiramar-surface);
  box-shadow: 0 10px 30px rgba(22,36,61,.07);
}
.service .service-item:hover, .blog .blog-item:hover { transform: translateY(-6px); box-shadow: var(--deiramar-shadow); }
.service .service-img img, .blog .blog-img img { aspect-ratio: 16 / 10; object-fit: cover; }
.service .service-content, .blog .blog-content { background: var(--deiramar-surface) !important; }
.service .service-content p, .blog .blog-content p { color: var(--deiramar-muted); }
.service .service-content .h4, .blog .blog-content .h4 { color: var(--deiramar-ink); }
.service .service-item:hover .service-content p,
.service .service-item:hover .service-content .h4 { color: inherit; }

.site-footer { color: rgba(255,255,255,.78); background: #16243d; }
.site-footer-main { padding: 4.5rem 0 3rem; }
.site-footer-brand img { width: auto; max-height: 74px; filter: drop-shadow(0 8px 20px rgba(0,0,0,.15)); }
.site-footer-title { color: #fff; font-size: 1.05rem; margin-bottom: 1.25rem; }
.site-footer p { margin-bottom: .7rem; }
.site-footer a { color: rgba(255,255,255,.78); text-decoration: none; }
.site-footer a:hover { color: #fff; }
.site-footer-links { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.site-footer-contact { display: grid; gap: .8rem; }
.site-footer-contact i { width: 1.4rem; color: var(--deiramar-accent); }
.site-footer-bottom { padding: 1.1rem 0; border-top: 1px solid rgba(255,255,255,.12); background: rgba(0,0,0,.12); }
.site-footer-bottom p { margin: 0; }
.back-to-top { background: var(--deiramar-accent) !important; color: #102d36 !important; box-shadow: 0 10px 24px rgba(0,0,0,.2); }

@media (max-width: 1199.98px) {
  .site-header-shell .navbar-nav { align-items: stretch; margin-inline: 0 !important; }
}

@media (max-width: 991.98px) {
  .site-header-shell { position: relative; }
  .site-header-shell .navbar { min-height: 78px; }
  .site-header-shell .navbar-brand img { max-height: 62px !important; }
  .site-header-shell .navbar-collapse { padding: .6rem 0 1rem; }
  .site-header-shell .navbar-nav { padding: .8rem !important; border: 1px solid var(--deiramar-border); background: #fff !important; }
  .site-header-shell .navbar-nav > .btn,
  .site-header-shell .navbar-nav > .dropdown > .btn { width: 100%; text-align: start; }
  .site-header-shell .dropdown-menu { position: static; width: 100%; box-shadow: none; margin-top: .35rem; }
  .header-carousel .header-carousel-item { min-height: 540px; }
}

@media (max-width: 575.98px) {
  body.site-body { font-size: .96rem; }
  .display-4 { font-size: clamp(2rem, 9vw, 2.7rem); }
  .site-footer-main { padding: 3.2rem 0 2rem; }
  .back-to-top { right: 18px; bottom: 18px; }
}

/* Navigation stacking fix: controls must remain above homepage media/overlays. */
.ad-ticker-wrap { position: relative; z-index: 2200; }
.topbar {
  position: relative !important;
  z-index: 2190 !important;
  overflow: visible !important;
}
.topbar .container,
.topbar .row,
.topbar [class*="col-"],
.topbar .d-flex,
.topbar .dropdown { overflow: visible !important; }
.topbar .dropdown { position: relative; z-index: 2210; }
.topbar .dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  z-index: 2220 !important;
  pointer-events: auto !important;
}
.site-header-shell { z-index: 2180 !important; overflow: visible !important; }
.site-header-shell .container,
.site-header-shell .navbar,
.site-header-shell .navbar-collapse,
.site-header-shell .navbar-nav,
.site-header-shell .nav-item.dropdown { overflow: visible !important; }
.site-header-shell .dropdown-menu { z-index: 2220 !important; pointer-events: auto !important; }

.header-carousel,
.header-carousel .owl-stage-outer,
.header-carousel .owl-stage,
.header-carousel .owl-item,
.header-carousel .header-carousel-item,
.header-carousel .carousel-caption { z-index: 1; }

#adminSidebar.offcanvas {
  position: fixed !important;
  z-index: 3100 !important;
  pointer-events: auto !important;
}
body > .offcanvas-backdrop { z-index: 3090 !important; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Authoritative bilingual direction layer (RTL pass 002) */
html[dir="rtl"] body.site-body { direction: rtl; text-align: right; }
html[dir="ltr"] body.site-body { direction: ltr; text-align: left; }

/* A centered component must stay centered in both languages. */
html[dir] .text-center { text-align: center !important; }
html[dir="rtl"] .text-start,
html[dir="rtl"] .text-end { text-align: right !important; }
html[dir="ltr"] .text-start { text-align: left !important; }
html[dir="ltr"] .text-end { text-align: right !important; }

html[dir="rtl"] p,
html[dir="rtl"] li,
html[dir="rtl"] label,
html[dir="rtl"] .card,
html[dir="rtl"] .alert,
html[dir="rtl"] .modal-content,
html[dir="rtl"] .offcanvas { text-align: right; }

html[dir="rtl"] ul,
html[dir="rtl"] ol { padding-left: 0; padding-right: 2rem; }
html[dir="rtl"] .list-unstyled,
html[dir="rtl"] .navbar-nav,
html[dir="rtl"] .dropdown-menu,
html[dir="rtl"] .site-footer-links { padding-right: 0; }

/* Bootstrap was compiled LTR. Mirror its logical spacing helpers in Arabic. */
html[dir="rtl"] .ms-0 { margin-left: 0 !important; margin-right: 0 !important; }
html[dir="rtl"] .ms-1 { margin-left: 0 !important; margin-right: .25rem !important; }
html[dir="rtl"] .ms-2 { margin-left: 0 !important; margin-right: .5rem !important; }
html[dir="rtl"] .ms-3 { margin-left: 0 !important; margin-right: 1rem !important; }
html[dir="rtl"] .ms-4 { margin-left: 0 !important; margin-right: 1.5rem !important; }
html[dir="rtl"] .ms-5 { margin-left: 0 !important; margin-right: 3rem !important; }
html[dir="rtl"] .me-0 { margin-right: 0 !important; margin-left: 0 !important; }
html[dir="rtl"] .me-1 { margin-right: 0 !important; margin-left: .25rem !important; }
html[dir="rtl"] .me-2 { margin-right: 0 !important; margin-left: .5rem !important; }
html[dir="rtl"] .me-3 { margin-right: 0 !important; margin-left: 1rem !important; }
html[dir="rtl"] .me-4 { margin-right: 0 !important; margin-left: 1.5rem !important; }
html[dir="rtl"] .me-5 { margin-right: 0 !important; margin-left: 3rem !important; }
html[dir="rtl"] .ps-0 { padding-left: 0 !important; padding-right: 0 !important; }
html[dir="rtl"] .ps-1 { padding-left: 0 !important; padding-right: .25rem !important; }
html[dir="rtl"] .ps-2 { padding-left: 0 !important; padding-right: .5rem !important; }
html[dir="rtl"] .ps-3 { padding-left: 0 !important; padding-right: 1rem !important; }
html[dir="rtl"] .ps-4 { padding-left: 0 !important; padding-right: 1.5rem !important; }
html[dir="rtl"] .ps-5 { padding-left: 0 !important; padding-right: 3rem !important; }
html[dir="rtl"] .pe-0 { padding-right: 0 !important; padding-left: 0 !important; }
html[dir="rtl"] .pe-1 { padding-right: 0 !important; padding-left: .25rem !important; }
html[dir="rtl"] .pe-2 { padding-right: 0 !important; padding-left: .5rem !important; }
html[dir="rtl"] .pe-3 { padding-right: 0 !important; padding-left: 1rem !important; }
html[dir="rtl"] .pe-4 { padding-right: 0 !important; padding-left: 1.5rem !important; }
html[dir="rtl"] .pe-5 { padding-right: 0 !important; padding-left: 3rem !important; }

html[dir="rtl"] .border-start { border-left: 0 !important; border-right: 1px solid var(--deiramar-border) !important; }
html[dir="rtl"] .border-end { border-right: 0 !important; border-left: 1px solid var(--deiramar-border) !important; }

html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select,
html[dir="rtl"] .form-control,
html[dir="rtl"] .form-select { direction: rtl; text-align: right; }
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[type="number"],
html[dir="rtl"] input[type="date"],
html[dir="rtl"] input[type="time"],
html[dir="rtl"] input[dir="ltr"],
html[dir="rtl"] [dir="ltr"] { direction: ltr; text-align: left; unicode-bidi: isolate; }

html[dir="rtl"] table { direction: rtl; }
html[dir="rtl"] th,
html[dir="rtl"] td { text-align: right; }
html[dir="rtl"] td.num,
html[dir="rtl"] th.num,
html[dir="rtl"] td[data-type="number"] { direction: ltr; text-align: center; }

html[dir="rtl"] .modal-header .btn-close { margin: -.5rem auto -.5rem -.5rem; }
html[dir="rtl"] .breadcrumb { direction: rtl; }
html[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before { float: right; padding-left: .5rem; padding-right: 0; }
html[dir="rtl"] .input-group > :not(:first-child) { margin-left: 0; margin-right: -1px; }
html[dir="rtl"] .form-floating > label {
  right: 0;
  left: auto;
  width: 100%;
  text-align: right;
  transform-origin: 100% 0;
}
html[dir="rtl"] .form-floating > .form-control,
html[dir="rtl"] .form-floating > .form-select { padding-right: .75rem; padding-left: .75rem; }
html[dir="rtl"] .form-check { padding-left: 0; padding-right: 1.5em; }
html[dir="rtl"] .form-check .form-check-input { float: right; margin-left: 0; margin-right: -1.5em; }
html[dir="rtl"] .pagination { direction: rtl; padding-right: 0; }
html[dir="rtl"] .page-link { text-align: center; }
html[dir="rtl"] .blog-comment,
html[dir="rtl"] .meta { direction: rtl; text-align: right; }
html[dir="rtl"] .blog-comment .small { display: inline-flex; align-items: center; gap: .35rem; }

html[dir="rtl"] .fa-arrow-right,
html[dir="rtl"] .bi-arrow-right { transform: rotate(180deg); }
html[dir="rtl"] .site-footer-contact a { display: flex; align-items: center; justify-content: flex-start; gap: .55rem; }
html[dir="rtl"] .site-footer-contact a[dir="ltr"] { justify-content: flex-end; }

/* Stable dropdown order: marker appears at inline-start in both languages. */
.dropdown-menu .sf-sub-item { flex-direction: row !important; direction: inherit; }
.dropdown-menu .sf-diamond { order: 0; }
.dropdown-menu .sf-sub-text { order: 1; }

@media (max-width: 575.98px) {
  html[dir="rtl"] body.site-body p { text-align: right; }
  html[dir] .text-center,
  html[dir] .text-center p,
  html[dir] .text-center h1,
  html[dir] .text-center h2,
  html[dir] .text-center h3,
  html[dir] .text-center h4 { text-align: center !important; }
}
