/* Local static-clone enhancements */
.site-search-form {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 14px;
  margin: 0 0 32px;
}
.site-search-form input[type="search"],
.site-search-form input[type="text"] {
  flex: 1 1 320px;
  min-height: 44px;
  border: 1px solid #9a9a9a;
  background: #fff;
  padding: 10px 14px;
  font-size: 16px;
  color: #222;
}
.site-search-form .form__button,
.site-search-form button {
  min-height: 44px;
  border: 0;
  padding: 0 26px;
  background: #607d8b;
  color: #fff;
  font-size: 15px;
  cursor: pointer;
}
.site-search-form .form__button:hover,
.site-search-form button:hover { background: #33a93d; }

.search-results { margin-top: 8px; }
.search-result { padding: 20px 0 18px; border-bottom: 1px solid #d8d8d8; }
.search-result__title {
  display: inline-block;
  color: #179352;
  font-size: 1.12rem;
  line-height: 1.35;
  text-decoration: none;
}
.search-result__title:hover { text-decoration: underline; }
.search-result__snippet { margin: 8px 0 10px; color: #333; line-height: 1.55; }
.search-result__meta { color: #666; font-size: .9rem; }
.search-result mark { background: #dff3df; color: inherit; padding: 0 1px; }
.search-empty { padding: 20px 0; color: #555; font-size: 1.05rem; }

.local-toast {
  position: fixed;
  left: 50%;
  bottom: 110px;
  transform: translate(-50%, 20px);
  background: #1e806b;
  color: #fff;
  padding: 15px 24px;
  border-radius: 4px;
  box-shadow: 0 8px 28px rgba(0,0,0,.25);
  font: 15px/1.4 Arial, sans-serif;
  z-index: 10000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  max-width: calc(100vw - 40px);
  text-align: center;
}
.local-toast._visible { opacity: 1; transform: translate(-50%, 0); }

/* Keep the inner-banner text and controls above the background slider,
   including when Swiper JS has not initialised (e.g. file:// preview). */
.inner-banner__content {
  position: relative;
  z-index: 2;
}

/* Fallback controls for the about-page inner banner slider */
.inner-banner._local-slider .inner-banner__slide {
  transition: opacity .7s ease !important;
}
.inner-banner._local-slider .slider-arrow {
  cursor: pointer;
  transition: opacity .2s ease;
}
.inner-banner._local-slider .slider-arrow:hover {
  opacity: .75;
}
.inner-banner._local-slider .slider-arrow svg {
  transition: transform .18s ease;
}
.inner-banner._local-slider .slider-arrow._pressed svg {
  transform: scale(.78);
}
.inner-banner._local-slider .slider-pagination span {
  cursor: pointer;
  opacity: .35;
  transition: opacity .3s ease, background-color .3s ease;
}
.inner-banner._local-slider .slider-pagination span.swiper-pagination-bullet-active {
  opacity: 1;
}

/* Stack fallback slides in the same grid cell (Swiper's fade layout) */
.inner-banner._local-slider .inner-banner__slider .swiper-wrapper {
  display: grid !important;
}
.inner-banner._local-slider .inner-banner__slider .inner-banner__slide {
  grid-area: 1 / 1;
  width: 100%;
}

/* Single-slide banners (e.g. Career) have no navigation controls */
.inner-banner._no-slider .slider__control {
  display: none !important;
}

/* Gallery fallback slider (bottom of the About page) */
.single-slider._local-single-slider .single-slider__wrapper {
  overflow: hidden;
}
.single-slider._local-single-slider .swiper-wrapper {
  will-change: transform;
}
.single-slider._local-single-slider .single-slider__control .slider-arrow {
  cursor: pointer;
  transition: opacity .2s ease;
}
.single-slider._local-single-slider .single-slider__control .slider-arrow:hover {
  opacity: .7;
}
.single-slider._local-single-slider .single-slider__control .slider-arrow svg {
  transition: transform .18s ease;
}
.single-slider._local-single-slider .single-slider__control .slider-arrow._pressed svg {
  transform: scale(.78);
}
.single-slider._local-single-slider .slider-pagination span {
  cursor: pointer;
  opacity: .35;
  transition: opacity .3s ease, background-color .3s ease;
}
.single-slider._local-single-slider .slider-pagination span.swiper-pagination-bullet-active {
  opacity: 1;
}

/* Animated hamburger button and menu reveal */
.navbar__collapse-button {
  transform-origin: center;
  transition: transform .5s cubic-bezier(.68, -.55, .27, 1.55);
}
.navbar__collapse-button:hover {
  transform: scale(1.08);
}
.navbar__collapse-button:active {
  transform: scale(.9);
}
.navbar--dropdown-open .navbar__collapse-button {
  transform: rotate(180deg);
}
.navbar--dropdown-open .navbar__collapse-button:hover {
  transform: rotate(180deg) scale(1.08);
}
.navbar--dropdown-open .navbar__collapse-button:active {
  transform: rotate(180deg) scale(.9);
}
.navbar__collapse-button span {
  transition:
    top .32s cubic-bezier(.68, -.55, .27, 1.55),
    left .28s ease,
    width .28s ease,
    transform .45s cubic-bezier(.68, -.55, .27, 1.55),
    opacity .25s ease;
}
.navbar--dropdown-open .navbar__collapse-button span:nth-child(1) { transition-delay: .02s; }
.navbar--dropdown-open .navbar__collapse-button span:nth-child(2) { transition-delay: .06s; }
.navbar--dropdown-open .navbar__collapse-button span:nth-child(3) { transition-delay: .1s; }
.navbar--dropdown-open .navbar__collapse-button span:nth-child(4) { transition-delay: .14s; }

.navbar__dropdown {
  opacity: 0;
  transition:
    transform .5s cubic-bezier(.2, .7, .3, 1),
    opacity .35s ease;
}
.navbar--dropdown-open .navbar__dropdown {
  opacity: 1;
}

.navbar--dropdown-open .navbar__dropdown-inner {
  animation: localMenuInnerIn .45s cubic-bezier(.2, .7, .3, 1) both;
}
.navbar--dropdown-open .navbar-dropdown {
  animation: localMenuBlockIn .5s cubic-bezier(.2, .7, .3, 1) both;
}
.navbar--dropdown-open .navbar-dropdown:nth-child(2) {
  animation-delay: .09s;
}
.navbar--dropdown-open .navbar__contacts {
  animation: localMenuBlockIn .5s cubic-bezier(.2, .7, .3, 1) .16s both;
}

@keyframes localMenuInnerIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes localMenuBlockIn {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Product sub-section fallback: previous / current / next names */
.subsection._local-subsection .subsection__slider,
.subsection._local-subsection .subsection__slider .swiper-wrapper {
  height: 100%;
}
.subsection._local-subsection .subsection__slider .swiper-wrapper {
  position: relative;
  display: block;
  transform: none !important;
}
.subsection._local-subsection .subsection__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 33.3333%;
  height: 100%;
  padding: 0 30px;
  opacity: 1;
  z-index: 2;
}
.subsection._local-subsection .subsection__item._local-left { left: 0; }
.subsection._local-subsection .subsection__item._local-center { left: 33.3333%; }
.subsection._local-subsection .subsection__item._local-right { left: 66.6666%; }
.subsection._local-subsection .subsection__item._local-hidden { display: none !important; }

.subsection._local-subsection .subsection__background-slider .swiper-wrapper {
  position: relative;
  display: block;
  height: 100%;
  transform: none !important;
}
.subsection._local-subsection .subsection__background-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.subsection._local-subsection .subsection__background-slide._local-bg-active {
  opacity: 1;
}

.subsection._local-subsection .subsection__slider-arrow {
  cursor: pointer;
  transition: opacity .2s ease;
}
.subsection._local-subsection .subsection__slider-arrow:hover {
  opacity: .7;
}
.subsection._local-subsection .subsection__slider-arrow svg {
  transition: transform .18s ease;
}
.subsection._local-subsection .subsection__slider-arrow._pressed svg {
  transform: scale(.78);
}

@media (max-width: 768px) {
  .subsection._local-subsection .subsection__item {
    width: 100%;
    padding: 0 60px;
    font-size: 16px;
  }
  .subsection._local-subsection .subsection__item._local-center {
    left: 0;
  }
  .subsection._local-subsection .subsection__item._local-left,
  .subsection._local-subsection .subsection__item._local-right {
    display: none !important;
  }
}
