/* OctoberCMS integration fixes for Mexant */
.header-area .main-nav .logo img {
  width: auto;
  max-width: 244px;
  height: auto;
}

.background-header .main-nav .logo img {
  max-width: 160px;
}

section.partners .item {
  text-align: center;
}

section.partners .item img {
  width: 100%;
  max-width: 170px;
  height: auto;
  display: inline-block;
}

@media (max-width: 767px) {
  .header-area .main-nav .logo img {
    max-width: 190px;
  }
}


/* --- Layout safety fixes for OctoberCMS/public mirror --- */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  position: relative;
}

.header-area,
section,
footer {
  max-width: 100%;
}

.header-area {
  left: 0;
  right: 0;
}

.swiper-container,
.swiper-wrapper,
.swiper-slide,
.slide-inner {
  max-width: 100vw;
}

.swiper-container {
  overflow: hidden !important;
}

.slide-inner {
  background-repeat: no-repeat;
}

/* Keep the first screen exactly in the visible viewport after Swiper sets large inline widths. */
.swiper-wrapper {
  will-change: transform;
}

/* Partners / company logo section should stay inside Bootstrap container. */
section.partners .row {
  align-items: center;
}

section.partners .item {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
}

section.partners .item img {
  object-fit: contain;
}

/* Prevent card contents from being clipped if a browser keeps a previous horizontal scroll position. */
.services,
.about-us,
.calculator,
.testimonials,
.partners,
.simple-cta {
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  .services,
  .about-us,
  .calculator,
  .testimonials,
  .partners,
  .simple-cta {
    overflow-x: hidden;
  }
}

/* --- Hero carousel spacing fix ---
   Menurunkan dan mengecilkan headline supaya tidak menumpuk dengan logo/header. */
.slide-inner .header-text {
  top: 58% !important;
  width: 58% !important;
}

.slide-inner .header-text h2 {
  font-size: 48px !important;
  line-height: 1.18 !important;
  margin-bottom: 30px !important;
}

.slide-inner .header-text .div-dec {
  margin-bottom: 30px !important;
}

.slide-inner .header-text p {
  margin-bottom: 34px !important;
}

@media (min-width: 1400px) {
  .slide-inner .header-text {
    top: 57% !important;
    width: 56% !important;
  }

  .slide-inner .header-text h2 {
    font-size: 52px !important;
  }
}

@media (max-width: 1199px) {
  .slide-inner .header-text {
    top: 59% !important;
    width: 68% !important;
  }

  .slide-inner .header-text h2 {
    font-size: 42px !important;
    line-height: 1.2 !important;
    margin-bottom: 24px !important;
  }

  .slide-inner .header-text .div-dec {
    margin-bottom: 24px !important;
  }

  .slide-inner .header-text p {
    margin-bottom: 28px !important;
  }
}

@media (max-width: 992px) {
  .slide-inner .header-text {
    top: 56% !important;
    width: 78% !important;
  }

  .slide-inner .header-text h2 {
    font-size: 38px !important;
  }
}

@media (max-width: 767px) {
  .slide-inner .header-text {
    top: 57% !important;
    width: 86% !important;
    margin-left: 7% !important;
    margin-right: 7% !important;
  }

  .slide-inner .header-text h2 {
    font-size: 34px !important;
    line-height: 1.2 !important;
    margin-bottom: 24px !important;
  }
}

@media (max-width: 480px) {
  .slide-inner .header-text h2 {
    font-size: 28px !important;
  }
}

/* --- Navbar active state fixes --- */
.header-area .main-nav .nav li.has-sub > a.active,
.background-header .main-nav .nav li.has-sub > a.active {
  color: #ff511a !important;
  opacity: 1;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li a.active,
.background-header .main-nav .nav li.has-sub ul.sub-menu li a.active {
  color: #ff511a !important;
  background: #fff !important;
  padding-left: 25px !important;
  font-weight: 600;
}

.header-area .main-nav .nav li.has-sub ul.sub-menu li a.active:before,
.background-header .main-nav .nav li.has-sub ul.sub-menu li a.active:before {
  width: 3px;
}

@media (max-width: 991px) {
  .header-area .main-nav .nav li.has-sub > a.active {
    color: #ff511a !important;
  }
}
