/* ceng.az custom overrides */

/* Kill horizontal scroll site-wide (full-width 100vw sections overflow by the scrollbar width) */
html, body { overflow-x: hidden !important; max-width: 100%; }
img, iframe, video, .swiper { max-width: 100%; }

/* Site-wide side padding so content never touches the edges (bg stays full-width, content insets) */
.e-con.e-parent { padding-left: clamp(16px, 4vw, 60px) !important; padding-right: clamp(16px, 4vw, 60px) !important; }

#mob-logo { display: none; }
#mob-socials { display: none; }

/* Project CTA cover: keep the background centered and covering, whatever lazyload injects */
.elementor-element-575eedd {
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* Dynamic project pages */
.proj-body { display: flex; flex-direction: column; gap: 28px; padding: 10px 0 30px; }
.proj-video-wrap { text-align: center; }
.proj-video { width: 100%; max-width: 900px; aspect-ratio: 16/9; border: 0; border-radius: 14px; background: #000; }
.proj-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.proj-gallery a { display: block; }
.proj-gallery img { width: 100%; height: 230px; object-fit: cover; border-radius: 12px; display: block;
  transition: transform .25s ease, box-shadow .25s ease; }
.proj-gallery img:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(1,22,64,.16); }
.proj-lead { font-size: 19px; line-height: 1.55; font-weight: 600; color: #011640; max-width: 900px; margin: 0; }
.proj-content { font-size: 16px; line-height: 1.7; color: #12211d; max-width: 900px; }
.proj-content p { margin: 0 0 14px; }
.proj-scope { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 24px; max-width: 900px; text-align: left; }
.proj-scope li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.5; text-align: left; }
.proj-scope li::before { content: ''; position: absolute; left: 0; top: 6px; width: 12px; height: 12px;
  background: #ef7f1a; border-radius: 3px; }
@media (max-width: 767px) {
  .proj-gallery { grid-template-columns: repeat(2, 1fr); }
  .proj-gallery img { height: 140px; }
  .proj-scope { grid-template-columns: 1fr; }
}
.proj-pagination { display: flex; gap: 8px; justify-content: center; margin: 34px 0 10px; flex-wrap: wrap; }
.proj-pagination a, .proj-pagination .cur { min-width: 40px; height: 40px; display: inline-flex; align-items: center;
  justify-content: center; border-radius: 10px; border: 1px solid #d7dedc; color: #011640; font-weight: 700;
  text-decoration: none; padding: 0 12px; }
.proj-pagination a:hover { background: #eef2f7; }
.proj-pagination .cur { background: #011640; color: #fff; border-color: #011640; }

/* Footer social icons (BİZİMLƏ ƏLAQƏ block) */
.footer-socials { display: flex !important; flex-direction: row !important; gap: 12px; margin-top: 18px; flex-wrap: wrap; }
.footer-socials a { width: 40px !important; max-width: 40px !important; min-width: 40px;
  height: 40px !important; flex: 0 0 40px !important;
  border: 1px solid rgba(255,255,255,.28); border-radius: 50%;
  display: inline-flex !important; align-items: center; justify-content: center; color: #fff;
  transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.footer-socials a:hover { background: #ef7f1a; border-color: #ef7f1a; transform: translateY(-2px); }
.footer-socials svg { width: 19px; height: 19px; display: block; }

/* Floating WhatsApp button */
#wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 9980; width: 56px; height: 56px;
  border-radius: 50%; background: #25d366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 22px rgba(0,0,0,.25); transition: transform .2s ease; }
#wa-float:hover { transform: scale(1.08); }
#wa-float svg { width: 30px; height: 30px; fill: #fff; }

/* Partners carousel — framed logo cards, continuous ticker.
   Slide widths are fixed in CSS so layout never depends on Swiper's inline sizing. */
.elementor-widget-image-carousel .swiper-wrapper { transition-timing-function: linear !important; align-items: stretch; }
.elementor-widget-image-carousel .swiper-slide {
  display: flex !important; align-items: center; justify-content: center; height: auto;
  padding: 10px; box-sizing: border-box;
  width: 20% !important; flex: 0 0 20%; max-width: 20%;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-image-carousel .swiper-slide { width: 25% !important; flex: 0 0 25%; max-width: 25%; }
}
@media (max-width: 767px) {
  .elementor-widget-image-carousel .swiper-slide { width: 33.333% !important; flex: 0 0 33.333%; max-width: 33.333%; }
}
.elementor-widget-image-carousel .swiper-slide-inner { display: block; width: 100%; margin: 0; }
.elementor-widget-image-carousel .swiper-slide img {
  display: block; width: 100% !important; height: 110px; object-fit: contain;
  background: #fff; border: 1px solid #e6ebea; border-radius: 14px;
  padding: 22px 20px; box-sizing: border-box;
  box-shadow: 0 6px 18px rgba(1, 22, 64, 0.08);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.elementor-widget-image-carousel .swiper-slide img:hover { box-shadow: 0 10px 26px rgba(1, 22, 64, 0.14); transform: translateY(-3px); }
.elementor-widget-image-carousel .swiper-pagination,
.elementor-widget-image-carousel .elementor-swiper-button { display: none !important; }

/* Project cards (DB-driven grids): fully self-styled so the old theme card
   CSS (absolute thumbnails + bottom-pinned text) cannot stretch them */
.elementor-posts-container.elementor-grid article.elementor-post {
  display: flex !important; flex-direction: column !important;
  height: auto !important; min-height: 0 !important;
  overflow: hidden; background: #fff; border-radius: 6px;
  box-shadow: 0 4px 14px rgba(1, 22, 64, 0.06);
}
.elementor-posts-container.elementor-grid .elementor-post__thumbnail__link {
  display: block !important; height: auto !important; padding: 0 !important; margin: 0 !important; position: static !important;
}
.elementor-posts-container.elementor-grid .elementor-post__thumbnail {
  height: 240px !important; padding: 0 !important; position: static !important; overflow: hidden;
}
.elementor-posts-container.elementor-grid .elementor-post__thumbnail img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  position: static !important; display: block;
}
.elementor-posts-container.elementor-grid .elementor-post__text {
  margin: 0 !important; padding: 16px 14px 18px !important;
}
.elementor-posts-container.elementor-grid .elementor-post__title { margin: 0 0 6px !important; }

/* Decorative corner icon on /layiheler/ lands on the first card's title on small screens */
@media (max-width: 1024px) {
  .elementor-element-862ef42 { display: none !important; }
}

/* Mobile (<=767px) */
@media (max-width: 767px) {
  /* Projects grid: 1 per row on phones, image fits the card, 18px title */
  .elementor-posts-container.elementor-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .elementor-posts-container.elementor-grid .elementor-post { overflow: hidden; }
  .elementor-posts-container.elementor-grid .elementor-post__thumbnail { width: 100% !important; height: 200px !important; }
  .elementor-posts-container.elementor-grid .elementor-post__thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .elementor-posts-container.elementor-grid .elementor-post__text { padding: 12px !important; }
  .elementor-posts-container.elementor-grid .elementor-post__title { font-size: 18px !important; line-height: 1.3 !important; margin: 0 0 6px !important; }
  .elementor-posts-container.elementor-grid .elementor-post__read-more { font-size: 13px !important; }

  /* Partners carousel: smaller framed cards on phones */
  .elementor-widget-image-carousel .swiper-slide img { height: 84px !important; padding: 16px 14px !important; }

  /* Stats counters (50+ / 100+ / 99%): 3 columns in a row on phones */
  .elementor-element-8bceabb { flex-direction: row !important; flex-wrap: nowrap !important; gap: 6px !important; }
  .elementor-element-8bceabb > .elementor-widget-counter { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; }
  .elementor-element-8bceabb .elementor-widget-counter,
  .elementor-element-8bceabb .elementor-counter { text-align: center !important; }
  .elementor-element-8bceabb .elementor-counter-number-wrapper { font-size: 22px !important; justify-content: center !important; }
  .elementor-element-8bceabb .elementor-counter-title { font-size: 10px !important; line-height: 1.2 !important; text-align: center !important; }
}

/* The footer nav widget ships a hidden dropdown copy of the menu; never show it */
.elementor-location-footer .elementor-nav-menu--dropdown { display: none !important; }

/* Full-screen mobile menu popup (menu on top, socials at the bottom) */
@media (max-width: 1024px) {
  body.mobmenu-open { overflow: hidden; }
  body.mobmenu-open .elementor-location-header .elementor-nav-menu--dropdown {
    position: fixed !important; left: 0 !important; top: 0 !important;
    width: 100vw !important; height: 100vh !important; height: 100dvh !important;
    max-height: 100dvh !important; background: #fff !important; z-index: 9990 !important;
    display: flex !important; flex-direction: column !important;
    padding: 26px 20px 24px !important; overflow-y: auto !important; border: 0 !important;
  }
  body.mobmenu-open .elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu { width: 100%; }
  body.mobmenu-open .elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
    text-align: center !important; font-size: 20px !important; padding: 18px 0 !important;
  }
  /* keep the header (logo + close X) above the overlay */
  header.elementor-location-header { position: relative; z-index: 9995; }
  .elementor-menu-toggle { z-index: 9996; position: relative; }
  /* logo at the top of the open menu */
  body.mobmenu-open #mob-logo { display: block; margin: 4px auto 28px; max-height: 54px; max-width: 200px; }
  /* socials pinned to the bottom of the open menu (round icons) */
  #mob-socials { margin-top: auto; display: flex; gap: 14px; justify-content: center;
    align-items: center; padding: 22px 0 6px; flex-wrap: wrap; }
  #mob-socials a { width: 50px; height: 50px; border: 1.5px solid rgba(1,22,64,.3); border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; color: #011640; text-decoration: none;
    transition: background .2s ease, border-color .2s ease, color .2s ease; }
  #mob-socials a:hover { background: #ef7f1a; border-color: #ef7f1a; color: #fff; }
  #mob-socials svg { width: 26px; height: 26px; display: block; shape-rendering: geometricPrecision; }
}

