/* Kreate overrides — logos + no horizontal overflow */

html {
  overflow-x: clip;
  max-width: 100%;
}
body {
  overflow-x: clip;
  max-width: 100%;
  position: relative;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
}

.container,
.container-fluid,
.custom-container,
.row {
  max-width: 100%;
}

/* Desktop header/footer logos — 20% smaller than previous 104px */
.logo img,
.nav-logo img,
.menu-area .logo img {
  max-height: 83px;
  width: auto;
  max-width: min(224px, 100%);
  object-fit: contain;
}
.footer-widget .logo img,
.footer-content-two .logo img {
  max-height: 83px;
  width: auto;
  max-width: min(224px, 100%);
  object-fit: contain;
}

/* Extra side padding so header/footer aren't stuck to edges */
.menu-area > .container,
.footer-area .footer-top > .container,
.footer-area .footer-bottom > .container,
.footer-area-two > .container,
.footer-area-three > .container {
  padding-left: clamp(24px, 5vw, 56px) !important;
  padding-right: clamp(24px, 5vw, 56px) !important;
}

.menu-area {
  padding: 12px 0;
}

/* Desktop only: keep nav row tidy */
@media (min-width: 992px) {
  .menu-nav {
    width: 100%;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 12px;
  }
}

/* Clip decorative shapes that spill past the viewport */
.banner-area,
.banner-bg,
.team-area,
.project-area,
.consultation-area,
.newsletter-area,
.newsletter-area-two,
.breadcrumb-area,
.about-area,
.footer-area {
  overflow-x: clip;
  max-width: 100%;
}
.banner-shape-wrap,
.team-shape-wrap,
.project-shape-wrap,
.consultation-shape-wrap,
.newsletter-shape-wrap,
.breadcrumb-shape-wrap,
.breadcrumb-shape-wrap-three {
  max-width: 100%;
  overflow: hidden;
  pointer-events: none;
}

.banner-content .title,
.section-title .title,
.breadcrumb-content .title {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
.banner-content .sub-title {
  letter-spacing: 0.04em;
  max-width: 100%;
  white-space: normal;
}

.footer-about .list-wrap li span,
.footer-contact .title,
.copyright-text p {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.footer-social-two .list-wrap a i {
  font-size: 1.1rem;
}

.kreate-phone-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kreate-phone-list li {
  margin: 0 0 6px;
}
.kreate-solution-item {
  min-height: 100%;
  margin-bottom: 24px;
}
.kreate-form-note {
  margin-top: 1rem;
  font-size: 0.92rem;
  opacity: 0.85;
}

.about-img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  object-fit: cover;
}

/* Tablet / mobile header: logo left, hamburger right, real gutters */
@media (max-width: 991.98px) {
  .menu-area {
    padding: 14px 0;
    background: #fff;
  }
  .transparent-header {
    background: #fff;
  }
  .menu-area > .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .menu-area > .container > .row {
    margin-left: 0;
    margin-right: 0;
  }
  .menu-area > .container > .row > .col-12 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    max-width: 100%;
  }

  /* Logo first (left) */
  .menu-area .menu-wrap {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
  }
  .menu-area .menu-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    flex-wrap: nowrap;
  }
  .menu-area .menu-nav .logo {
    margin: 0;
    padding: 0;
    line-height: 0;
  }
  .menu-area .menu-nav .logo a {
    display: inline-flex;
    align-items: center;
  }
  .logo img,
  .nav-logo img,
  .menu-area .logo img {
    max-height: 56px !important;
    max-width: min(200px, 62vw) !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
  }

  /* Hamburger last (right) */
  .menu-area .mobile-nav-toggler {
    order: 2;
    float: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    line-height: 1;
    font-size: 22px;
    color: var(--tg-primary-color, #ff5e14);
  }

  .menu-area .header-action {
    display: none !important;
  }

  .footer-area .footer-top > .container,
  .footer-area .footer-bottom > .container,
  .footer-area-two > .container,
  .footer-area-three > .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .banner-bg {
    padding-left: 0;
    padding-right: 0;
  }
  .banner-content {
    padding-right: 0;
  }
  .banner-shape-wrap img {
    max-width: 40vw;
    height: auto;
  }
  .header-contact-wrap {
    max-width: 100vw;
    overflow-x: auto;
  }
}

@media (max-width: 767.98px) {
  .menu-area > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .logo img,
  .nav-logo img,
  .menu-area .logo img {
    max-height: 52px !important;
    max-width: min(190px, 60vw) !important;
  }
  .footer-widget .logo img,
  .footer-content-two .logo img {
    max-height: 58px;
    max-width: min(176px, 80vw);
  }
  .banner-content .title {
    font-size: clamp(1.75rem, 8vw, 2.4rem) !important;
    margin-bottom: 1.5rem !important;
    line-height: 1.2 !important;
  }
  .banner-content .sub-title {
    font-size: 0.95rem;
    padding: 8px 14px;
    margin-bottom: 1rem;
  }
  .banner-img {
    margin-bottom: 1.25rem;
  }
  .banner-shape-wrap {
    display: none;
  }
  .services-item,
  .kreate-solution-item {
    max-width: 100%;
  }
  .footer-top,
  .footer-bottom {
    overflow-x: clip;
  }
  .copyright-text.text-end,
  .copyright-text.text-md-end {
    text-align: start !important;
  }
}

@media (max-width: 575.98px) {
  .menu-area > .container,
  .footer-area .footer-top > .container,
  .footer-area .footer-bottom > .container,
  .footer-area-two > .container,
  .footer-area-three > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .logo img,
  .nav-logo img,
  .menu-area .logo img {
    max-height: 48px !important;
    max-width: min(175px, 58vw) !important;
  }
}
