/* SingleFile + migration fixes */

#top_menu_collapse {
  position: relative;
}

#top_menu_collapse .navbar-collapse,
#top_menu_collapse.collapse.navbar-collapse {
  align-items: center;
}

#top_menu.navbar-nav {
  width: 100%;
}

#top .nav-item.dropdown {
  position: relative;
}

#top .nav-item.dropdown:not(.sagco-mega-dropdown) .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1050;
  min-width: 14rem;
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.12);
}

#top .nav-item.dropdown:not(.sagco-mega-dropdown) .dropdown-menu.show,
#top .nav-item.dropdown.sagco-mega-dropdown .sagco-mega-menu.show {
  display: block;
}

#top .nav-item.dropdown .dropdown-menu {
  max-height: 70vh;
  overflow-y: auto;
}

#top .dropdown-item {
  display: block;
  width: 100%;
  padding: 0.35rem 1rem;
  clear: both;
  font-weight: 400;
  color: inherit;
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

#top .dropdown-item:hover,
#top .dropdown-item:focus {
  background-color: rgba(0, 0, 0, 0.05);
}

/* Bootstrap carousel rules trimmed from frontend.css — without display:none,
   every slide renders at once and stacks; without the next/prev transforms,
   the slide animation cannot run. */
.carousel-inner {
  overflow: hidden;
}

.carousel-item {
  position: relative;
  display: none;
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.active.carousel-item-end,
.carousel-item-next:not(.carousel-item-start) {
  transform: translateX(100%);
}

.active.carousel-item-start,
.carousel-item-prev:not(.carousel-item-end) {
  transform: translateX(-100%);
}

#wrap .s_carousel .carousel-inner {
  overflow: hidden;
}

/* Odoo spacing utilities (missing from trimmed frontend.css) */
.pt8 { padding-top: 8px !important; }
.pb8 { padding-bottom: 8px !important; }
.pt16 { padding-top: 16px !important; }
.pb16 { padding-bottom: 16px !important; }
.pt32 { padding-top: 32px !important; }
.pb32 { padding-bottom: 32px !important; }
.pt48 { padding-top: 48px !important; }
.pb48 { padding-bottom: 48px !important; }
.pb64 { padding-bottom: 64px !important; }
.pt104 { padding-top: 104px !important; }
.pb120 { padding-bottom: 120px !important; }
.pb152 { padding-bottom: 152px !important; }
.pb176 { padding-bottom: 176px !important; }

/* Service/portfolio cards ("Our Services" tab + Our Services page):
   the whole card is clickable — the "Read More" link stretches over it. */
.hover-scale {
  position: relative;
  cursor: pointer;
}

.hover-scale .as-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Service detail blocks — CTA above footer */
main section.about-snippet-23 {
  padding-bottom: 4.5rem !important;
}

main section.about-snippet-23 a.as-btn.btn-primary {
  display: inline-block;
  margin-top: 1.25rem;
}

/* Overlay background variants trimmed from frontend.css.
   Missing bg-black-75 was why hero slide 5 rendered without its dark overlay. */
.bg-black-75 { background-color: rgba(0, 0, 0, 0.75) !important; color: #FFFFFF; }
.bg-black-25 { background-color: rgba(0, 0, 0, 0.25) !important; }
.bg-black-15 { background-color: rgba(0, 0, 0, 0.15) !important; }
.bg-white-85 { background-color: rgba(255, 255, 255, 0.85) !important; color: #212529; }
.bg-white-75 { background-color: rgba(255, 255, 255, 0.75) !important; color: #212529; }
.bg-white-50 { background-color: rgba(255, 255, 255, 0.5) !important; color: #212529; }
.bg-white-25 { background-color: rgba(255, 255, 255, 0.25) !important; }

/* EN | AR language toggle inside the footer copyright bar. */
.sagco-footer-lang-toggle a {
  color: inherit;
  text-decoration: underline;
}
.sagco-footer-lang-toggle a:hover {
  color: #9d1631;
}
