/*
 * ecoengineering.ae static site (rebuilt 2026-10-10).
 * Stands in for the Elementor Pro front-end files (nav menu, loop carousel,
 * slides, popups, sticky header), which were deleted from the hacked server.
 * Per-element colours and sizes still come from uploads/elementor/css/post-*.css.
 */

/* ---------- Nav menu ---------- */
.elementor-widget-nav-menu .elementor-widget-container { display: flex; flex-direction: column; }
.elementor-nav-menu { position: relative; z-index: 2; }
.elementor-nav-menu,
.elementor-nav-menu li,
.elementor-nav-menu ul { display: block; list-style: none; margin: 0; padding: 0; line-height: normal; -webkit-tap-highlight-color: transparent; }
.elementor-nav-menu a,
.elementor-nav-menu li { position: relative; }
.elementor-nav-menu li { border-width: 0; }
.elementor-nav-menu a { display: flex; align-items: center; padding: 10px 20px; line-height: 20px; text-decoration: none; }
.elementor-nav-menu--main .elementor-nav-menu a { transition: .4s; padding: 13px 20px; }
.elementor-nav-menu--layout-horizontal { display: flex; }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu { display: flex; flex-wrap: wrap; }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu a { white-space: nowrap; flex-grow: 1; }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li { display: flex; }
.elementor-nav-menu--main .elementor-nav-menu ul {
  display: none; position: absolute; top: 100%; left: 0; min-width: 12em; z-index: 100;
  background-color: #fff; box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
}
.elementor-nav-menu--main .elementor-nav-menu ul ul { top: 0; left: 100%; }
.elementor-nav-menu--main .elementor-nav-menu li:hover > ul,
.elementor-nav-menu--main .elementor-nav-menu li:focus-within > ul { display: block; }
.elementor-nav-menu--main .elementor-nav-menu ul a { white-space: nowrap; }
.elementor-nav-menu .sub-arrow { display: flex; align-items: center; padding-left: .5em; font-size: .8em; line-height: 1; }
.elementor-nav-menu--dropdown .sub-arrow { display: none; }
.elementor-nav-menu__align-start .elementor-nav-menu,
.elementor-nav-menu__align-left .elementor-nav-menu { margin-right: auto; justify-content: flex-start; }
.elementor-nav-menu__align-end .elementor-nav-menu,
.elementor-nav-menu__align-right .elementor-nav-menu { margin-left: auto; justify-content: flex-end; }
.elementor-nav-menu__align-center .elementor-nav-menu { margin-left: auto; margin-right: auto; justify-content: center; }
.elementor-nav-menu__align-justify .elementor-nav-menu--layout-horizontal .elementor-nav-menu { width: 100%; }
.elementor-nav-menu__align-justify .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li { flex-grow: 1; }
.elementor-nav-menu__align-justify .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a { justify-content: center; }

.elementor-menu-toggle {
  display: flex; align-items: center; justify-content: center; font-size: var(--nav-menu-icon-size, 22px);
  padding: .25em; cursor: pointer; border: 0 solid; border-radius: 3px;
  background-color: rgba(0, 0, 0, .05); color: #33373d;
}
.elementor-menu-toggle:not(.elementor-active) .elementor-menu-toggle__icon--close,
.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open { display: none; }
.elementor-menu-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.elementor-nav-menu--dropdown { background-color: #fff; font-size: 13px; }
.elementor-nav-menu--dropdown a { color: #33373d; }
.elementor-nav-menu--dropdown .sub-menu { display: block; }
.elementor-nav-menu--dropdown .sub-menu a { padding-left: 36px; }
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active,
.elementor-nav-menu--dropdown .elementor-sub-item:hover { background-color: #3f444b; color: #fff; }
.elementor-nav-menu__text-align-aside .elementor-nav-menu--dropdown .elementor-nav-menu a { justify-content: flex-start; }
.elementor-nav-menu__text-align-center .elementor-nav-menu--dropdown .elementor-nav-menu a { justify-content: center; }
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  margin-top: 10px; transition: max-height .3s, transform .3s; transform-origin: top;
  overflow-y: auto; overflow-x: hidden;
}
.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item { font-size: .85em; }
.elementor-nav-menu--toggle .elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container { transform: scaleY(0); max-height: 0; overflow-y: hidden; }
.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container { transform: scaleY(1); max-height: 100vh; overflow-y: auto; }
.elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown { position: absolute; z-index: 9997; }
.elementor-nav-menu--dropdown-none .elementor-menu-toggle,
.elementor-nav-menu--dropdown-none .elementor-nav-menu--dropdown { display: none; }
@media (max-width: 1024px) {
  .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main { display: none; }
}
@media (min-width: 1025px) {
  .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle,
  .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--dropdown { display: none; }
}
@media (max-width: 767px) {
  .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main { display: none; }
}
@media (min-width: 768px) {
  .elementor-nav-menu--dropdown-mobile .elementor-menu-toggle,
  .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--dropdown { display: none; }
}

/* ---------- Loop grid / loop carousel ---------- */
.elementor-widget-loop-grid .elementor-loop-container { grid-auto-rows: auto; }
.elementor-widget-loop-carousel .elementor-widget-container { position: relative; }
.elementor-widget-loop-carousel .elementor-loop-container.swiper,
.elementor-widget-loop-carousel .elementor-loop-container.swiper-container { display: block; position: relative; overflow: hidden; }
.elementor-widget-loop-carousel .swiper-slide { height: auto; }
.elementor-widget-loop-carousel .elementor-swiper-button,
.elementor-widget-slides .elementor-swiper-button { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; display: inline-flex; cursor: pointer; }
.elementor-widget-loop-carousel .elementor-swiper-button svg,
.elementor-widget-slides .elementor-swiper-button svg { width: var(--arrow-size, 25px); height: auto; }
.elementor-widget-loop-carousel .elementor-swiper-button-prev,
.elementor-widget-slides .elementor-swiper-button-prev { left: var(--arrow-prev-left-position, 10px); }
.elementor-widget-loop-carousel .elementor-swiper-button-next,
.elementor-widget-slides .elementor-swiper-button-next { right: var(--arrow-next-right-position, 10px); }
.elementor-widget-loop-carousel .swiper-button-disabled { opacity: .35; cursor: default; }
.elementor-widget-loop-carousel .swiper-pagination { position: static; margin-top: 12px; }
.e-loop-item { position: relative; }

/* ---------- Slides ---------- */
.elementor-widget-slides .elementor-slides-wrapper { position: relative; overflow: hidden; }
.elementor-widget-slides .swiper-slide { overflow: hidden; }

/* ---------- Popups ---------- */
[data-elementor-type="popup"] { display: none; }
.eco-popup-overlay {
  position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center;
  padding: 20px; background: rgba(0, 0, 0, .78);
}
.eco-popup-overlay[hidden] { display: none; }
.eco-popup-dialog {
  position: relative; width: min(900px, 100%); max-height: calc(100vh - 40px); overflow: auto;
  background: #fff; border-radius: 6px; box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
}
.eco-popup-dialog [data-elementor-type="popup"] { display: block; padding: 20px 10px; }
.eco-popup-dialog .elementor-heading-title { text-align: center; }
.eco-popup-dialog video { display: block; width: 100%; height: auto; max-height: 70vh; background: #000; }
.eco-popup-close {
  position: absolute; top: 6px; right: 10px; z-index: 2; width: 36px; height: 36px;
  border: 0; background: transparent; color: #222; font-size: 30px; line-height: 1; cursor: pointer;
}
.eco-popup-close,
.eco-popup-close:hover,
.eco-popup-close:focus { background: transparent !important; color: #222 !important; border: 0 !important; padding: 0; }
.eco-popup-close:focus-visible { outline: 2px solid #222; border-radius: 4px; }

/* ---------- Sticky header ---------- */
.eco-sticky-active { position: fixed !important; top: 0; left: 0; right: 0; width: 100% !important; z-index: 999; }

/* ---------- Forms ---------- */
.eco-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.mc4wp-response.eco-form-msg { margin-top: 10px; font-size: 14px; }
.eco-form-msg.ok { color: #6ee7a8; }
.eco-form-msg.err { color: #ffb4ab; }
