/* Local overrides for mirrored Ingenious theme */
#cws_page_loader_container { display: none !important; }

/* Header polish */
#site_header,
#mobile_header {
  z-index: 4;
}

#sticky {
  z-index: 6;
}

#sticky.stick #sticky_box {
  background: #fff;
}

#sticky .header_logo_img {
  max-height: 48px;
  width: auto;
}

#site_header .header_logo_img,
#mobile_header .header_logo_img {
  max-height: 52px;
  width: auto;
}

.header_covers_slider:not(.home) #site_header .header_logo_img,
.header_covers_slider:not(.home) #mobile_header .header_logo_img {
  filter: none;
}

#mobile_header.sandwich_active {
  z-index: 7;
}

#mobile_menu_wrapper {
  z-index: 6;
}

.menu_search_wrap {
  z-index: 8;
}

@media (max-width: 1199px) {
  #site_header {
    display: none;
  }

  #mobile_header {
    display: block;
  }
}

@media (min-width: 1200px) {
  #mobile_header {
    display: none;
  }
}

/* Homepage hero (RevSlider replacement — local, fast) */
#main_slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.ig-hero {
  position: relative;
  width: 100%;
  height: 1080px;
  min-height: 100vh;
  background: #1a1a1a;
  color: #fff;
}

.ig-hero__slides {
  position: absolute;
  inset: 0;
}

.ig-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1;
}

.ig-hero__slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.ig-hero__bg {
  position: absolute;
  inset: -4%;
  overflow: hidden;
  transform: scale(1);
  will-change: transform;
}

.ig-hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.ig-hero__slide.is-active .ig-hero__bg {
  animation: ig-hero-kenburns 6s ease-out forwards;
}

@keyframes ig-hero-kenburns {
  from { transform: scale(1); }
  to { transform: scale(1.12); }
}

.ig-hero__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(90deg, rgba(31, 40, 48, 0.55) 0%, rgba(31, 40, 48, 0.25) 45%, rgba(83, 151, 96, 0.35) 100%);
}

.ig-hero__pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  opacity: 0.95;
  mix-blend-mode: multiply;
  background: url("../img/slider-pattern.png") center center repeat-x;
  background-size: auto 100%;
}

.ig-hero__content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(920px, 86%);
  text-align: center;
  z-index: 3;
}

.ig-hero__title {
  margin: 0 0 24px;
  font-family: Catamaran, sans-serif;
  font-size: clamp(36px, 5.5vw, 72px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
  white-space: pre-line;
}

.ig-hero__subtitle {
  margin: 0 0 36px;
  font-family: Roboto, sans-serif;
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.92);
}

.ig-hero__btn {
  display: inline-block;
  padding: 14px 32px;
  font-family: Catamaran, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: #ff6c3a;
  border: 2px solid #ff6c3a;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.ig-hero__btn:hover {
  color: #ff6c3a;
  background: #fff;
  border-color: #ff6c3a;
}

.ig-hero__arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 52px;
  height: 52px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  transform: translateY(-50%);
  opacity: 0.75;
  transition: opacity 0.2s ease;
}

.ig-hero__arrow:hover {
  opacity: 1;
}

.ig-hero__arrow--prev {
  left: 28px;
}

.ig-hero__arrow--prev i {
  display: inline-block;
  transform: rotate(180deg);
}

.ig-hero__arrow--next {
  right: 28px;
}

.ig-hero__arrow i {
  font-size: 28px;
}

.ig-hero__progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  height: 4px;
  background: rgba(255, 255, 255, 0.25);
}

.ig-hero__progress-bar {
  display: block;
  width: 0;
  height: 100%;
  background: #fff;
}

.ig-hero.is-playing .ig-hero__progress-bar {
  animation: ig-hero-progress var(--ig-hero-interval, 6s) linear forwards;
}

@keyframes ig-hero-progress {
  from { width: 0; }
  to { width: 100%; }
}

.ig-hero__divider {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 90px;
  background: #fff;
  clip-path: polygon(0 85%, 100% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 85%, 100% 0, 100% 100%, 0 100%);
  z-index: 5;
  pointer-events: none;
}

@media (max-width: 778px) {
  .ig-hero {
    height: min(72svh, 560px);
    min-height: auto;
  }

  .ig-hero__slide.is-active .ig-hero__bg {
    animation: none;
  }

  .ig-hero__subtitle {
    margin-bottom: 24px;
  }

  .ig-hero__arrow--prev {
    left: 12px;
  }

  .ig-hero__arrow--next {
    right: 12px;
  }

  .ig-hero__divider {
    height: 60px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ig-hero__slide.is-active .ig-hero__bg {
    animation: none;
  }
}

/* Product page: RevSlider replaces title band — keep H1 for SEO/accessibility */
h1.theme-013-seo-h1 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── CTA buttons: fix low-contrast outline / def_anim styles on light backgrounds ── */
.theme-013 a.ingenious_button.regular:not(.without_fill):not(.only_icon),
.theme-013 a.ingenious_button.large.def_anim:not(.without_fill):not(.only_icon),
.theme-013 .benefits_button a.ingenious_button:not(.without_fill):not(.only_icon),
.theme-013 .ingenious_services_button a.ingenious_button:not(.without_fill):not(.only_icon) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px !important;
  padding: 12px 28px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  color: #fff !important;
  background-color: #ff6c3a !important;
  border: 2px solid #ff6c3a !important;
  border-radius: 30px !important;
  box-shadow: 0 6px 18px rgba(255, 108, 58, 0.32) !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.theme-013 a.ingenious_button.regular:not(.without_fill):not(.only_icon):hover,
.theme-013 a.ingenious_button.large.def_anim:not(.without_fill):not(.only_icon):hover,
.theme-013 .benefits_button a.ingenious_button:not(.without_fill):not(.only_icon):hover,
.theme-013 .ingenious_services_button a.ingenious_button:not(.without_fill):not(.only_icon):hover {
  color: #fff !important;
  background-color: #e85f30 !important;
  border-color: #e85f30 !important;
  box-shadow: 0 8px 22px rgba(255, 108, 58, 0.42) !important;
  transform: translateY(-1px);
}

.theme-013 a.ingenious_button.alt:not(.without_fill):not(.only_icon) {
  color: #fff !important;
  background-color: #539760 !important;
  border-color: #539760 !important;
  box-shadow: 0 6px 18px rgba(83, 151, 96, 0.28) !important;
}

.theme-013 a.ingenious_button.alt:not(.without_fill):not(.only_icon):hover {
  color: #fff !important;
  background-color: #478552 !important;
  border-color: #478552 !important;
}

/* Large CTA on colored bands — keep solid fill readable */
@media (min-width: 769px) {
  .theme-013 a.ingenious_button.large.def_anim:not(.without_fill):not(.only_icon) {
    min-height: 52px !important;
    padding: 14px 36px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0.02em !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
  }
}

/* Animation pseudo-elements can wash out label on transparent buttons */
.theme-013 a.ingenious_button.def_anim:before,
.theme-013 a.ingenious_button.def_anim:after {
  display: none !important;
}

/* ── Footer: improve contrast on dark background ── */
.theme-013 #footer,
.theme-013 #footer_widgets,
.theme-013 #site_footer {
  color: #e8eaed;
}

.theme-013 #footer_widgets .widgettitle,
.theme-013 #footer_widgets .widgettitle > span,
.theme-013 #footer_widgets .widget .widgettitle > span {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  text-transform: none !important;
  line-height: 1.35 !important;
}

.theme-013 #footer_widgets_container,
.theme-013 #footer_widgets .textwidget,
.theme-013 #footer_widgets .textwidget p,
.theme-013 #footer_widgets .widget_post_desc,
.theme-013 #footer_widgets .custom-html-widget {
  color: #e2e2e2 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.theme-013 #footer_widgets .widget_post_title,
.theme-013 #footer_widgets .widget .widget_post_title,
.theme-013 #footer_widgets .widget_post_title a,
.theme-013 #footer_widgets h4.post_title a {
  color: #fff !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-decoration: none;
}

.theme-013 #footer_widgets .widget_post_title a:hover {
  color: #ff6c3a !important;
}

.theme-013 #footer_widgets .widget_post_terms a {
  color: #8fd4a0 !important;
  font-weight: 500;
  text-decoration: none;
}

.theme-013 #footer_widgets .widget_post_terms a:hover {
  color: #ff6c3a !important;
}

.theme-013 #footer_widgets i.color_icon {
  color: #ff6c3a !important;
  opacity: 1;
}

.theme-013 #footer_widgets .custom-html-widget {
  letter-spacing: 0.015em;
}

.theme-013 #site_footer,
.theme-013 #site_copyrights {
  color: #f2f2f2 !important;
  font-size: 14px !important;
  letter-spacing: 0.02em;
}

/* ── Mobile: performance + layout ── */
@media (max-width: 778px) {
  .theme-013 .widgettitle[style*="font-size: 60px"],
  .theme-013 h3.widgettitle[style*="60px"] {
    font-size: clamp(28px, 8vw, 42px) !important;
    line-height: 1.15 !important;
  }

  .theme-013 .ingenious_benefits .benefits_content h4[style*="24px"] {
    font-size: 20px !important;
  }

  .theme-013 .portfolio_posts_grid img,
  .theme-013 .benefits_img img {
    max-width: 100%;
    height: auto;
  }

  .theme-013 #page_content .cws-content {
    content-visibility: auto;
    contain-intrinsic-size: 640px;
  }

  .theme-013 #footer {
    content-visibility: auto;
    contain-intrinsic-size: 480px;
  }

  .theme-013 .ig-hero__btn {
    padding: 12px 24px;
    font-size: 13px;
  }
}
