.product-card__card h4 {
  /* font-size:1.9rem; */
  font-size:1.5rem;
}

#notify-banner {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#d2e1eb+1,091e35+100 */
  background: #05172d; /* Old browsers */
  background: -moz-linear-gradient(left,  #466480  1%, #05172d 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left,  #466480  1%,#05172d 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right,  #466480  1%,#05172d 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#466480 ', endColorstr='#05172d',GradientType=1 ); /* IE6-9 */
  box-shadow:0 3px 4px -3px #061a3391;
  padding:10px 0;
  position: relative;
  z-index: 9952;
}
/* Type removed 24 Aug 2026 -- `color:#fff`, `font-size:20px` and `line-height:1.28` now live in
   partials/components/_header.scss, where the palette and the body ladder are. This file loads
   AFTER main.min.css, so those raw values were beating anything tokenised no matter how the SCSS
   was written; they had to leave rather than be overridden. Layout stays here with the rest of the
   banner. */
#notify-banner a {
  align-items: center;
  display:flex;
  justify-content: center;
  position:relative;
}

#notify-banner a:hover,
#notify-banner a:focus {
  text-decoration:underline;
}

#notify-banner a .arrow-right {
  display:inline-block;
  margin-left:10px;
}

#notify-banner a:hover .arrow-right g path,
#notify-banner a:focus .arrow-right g path {
  fill:#ef9049 !important;
}

@media screen and (min-width:992px) {
  #notify-banner + .header.scrolled.top {
    top:46px !important;
  }
}

@media screen and (max-width:991px) {
  #notify-banner + .header.scrolled.top {
    z-index:9953;
  }
}
@media (max-width:767px) {
  #notify-banner {
    padding:5px 0;
  }
  #notify-banner a .arrow-right {
    width: 30px;
    height: 30px;
  }
}

/* Two `.home .navigation.active ul:first-child` rules stood here and were removed on 24 Aug 2026.
   They were the last page-scoped selectors in any shipped stylesheet -- failure mode #1 in the
   de-scoping playbook, in a file the original sweep never covered.
   They were also both dead, which is why removing them is not a behaviour change:
     - the 423px one contained nothing but a commented-out declaration
     - the 767px one declared `padding-top: 10px` and `transform: translateY(47px)`, and MEASURED at
       375px with `.navigation.active` applied, disabling it changed neither value: the computed
       transform stayed translateY(-812px) and padding-top stayed 72px, both from later rules that
       outrank it. It had no effect in the one state it targets.
   Their intent is legible from where they sat -- immediately after the `#notify-banner` rules above,
   with a 47px nudge that matches the banner's height.
   TESTED WITH THE BANNER ON, 24 Aug 2026, rather than reasoned about: the English banner row was
   enabled temporarily and the mobile menu opened through the theme's own toggle. No offset is
   needed, and the reason is structural -- the open menu is a FULL-SCREEN overlay (top 0, height
   100vh) that covers the banner entirely, so nothing has to be pushed clear of it. The first link
   sat at 72px against a banner ending at 61px even without the rule. The nudge belongs to an older
   menu that dropped down below the banner instead of over it.
   Desktop was checked in the same pass: the banner is 46px and `.header` starts at exactly 46px,
   so `#notify-banner + .header.scrolled.top { top: 46px }` above is still doing its job.
   If an offset is ever needed again, key it on `#notify-banner + .header` the way its neighbours
   do -- never on the page that happens to be showing a banner. */
.header.scrolled {
  top:0;
}

.item-now-shipping {
  position: relative;
}
.item-now-shipping span {
  animation: moveLeft 3s infinite;
    background:url('../images/icons/svg-arrow-ribbon-left-rounded.svg') 0 0 no-repeat;
    background-size:cover;
    color:#fff;
    display: inline-block;
    font-size: 12px;
    height: 31px;
    line-height: 32px;
    margin-left: 20px;
    padding: 0 11px 0 23px;
    position: relative;
    top:-2px;
    text-align:center;
}

@media (min-width:768px) {
  .item-now-shipping span {
    font-size:15px;
    height:34px;
    line-height:35px;
    margin-left: 28px;
    padding: 0 14px 0 26px;
  }
}
@keyframes moveLeft {
 0% {
   transform:translateX(0);
 }
 50% {
   transform:translateX(-15px);
 }
 100% {
   transform:translateX(0);
 }
}

.highlight-text {
  background:#275b82;
  border-radius:3px;
  color:#fff;
  font-size:1.6rem;
  margin-bottom:18px !important;
  padding:5px;
  text-align: center;
}
@media (min-width:992px) and (max-width:1180px) {
  .highlight-text {
    margin-left:-15px !important;
    width:calc(100% + 30px);
  }
}

/* Slideshow */

.slideshow-technology {
  background: #002043;
  color:#fff;
  margin:0;
  padding:60px 0 120px;
}

.slideshow-technology .slick-slide {
  padding-bottom:36px;
}

.slideshow-technology,
.slideshow-technology .slider__basic__copy h3 {
  color:#fff;
}
.slideshow-technology .slider__basic .slick-next {
  right:10px;
}
.slideshow-technology .slider__basic .slick-prev {
  left:10px;
}
.slideshow-technology .slick-dots {
  top:calc(100% - 10px) !important;
}
.slideshow-technology .row {
  align-items:center;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.slideshow-technology .column {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  flex: 1;
  width:100%;
}
.slideshow-technology .column:not(:last-child) {
  margin-bottom:20px;
}
.slideshow-technology .column--img {

}
.slideshow-technology .column--txt .slider__basic__copy {
  margin:0;
  padding:0;
  text-align:center;
}
.slideshow-technology .column--txt .wp-block-buttons {
  justify-content: center;
}

.slideshow-technology .slider__basic__copy {
  width:960px;
}

.slideshow-technology .slider__basic__copy p:last-child {
  margin-bottom:0;
}

@media (max-width:767px) {
  .slideshow-technology .slider__basic .slick-prev {
    top:50% !important;
  }
  .slideshow-technology .slider__basic .slick-next {
    right:unset;
    left:auto !important;
    top:50% !important;
    right:10px !important;
    /* top:168px !important; */
  }
  .slideshow-technology .container__l {
    width: calc(100% - 90px);
  }
}


@media (min-width:992px) {
  .slideshow-technology .row.two-cols {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .slideshow-technology .row.two-cols .column {
    flex-basis:50%;
    width:50%;
  }
  .slideshow-technology .column--txt .slider__basic__copy {
    padding-left:60px;
    padding:0 20px;
    text-align:left;
  }
  .slideshow-technology .column--txt .wp-block-buttons {
    justify-content: flex-start;
  }
}

@media (min-width:1180px) {
  .slideshow-technology .column--txt .slider__basic__copy {
    padding-left:80px;
  }
}

/* Vertical "Applications" panels gradient overlay is output as a scoped inline
   <style> in inc/blocks/image-block-link.php so it also previews in the block
   editor; colour comes from the block's --ibl-grad-rgb (Gradient colour field). */

/* Applications panel label: 1.95rem on mobile, fluid on tablet/desktop. Root is 62.5% so 1rem = 10px;
   clamp ~2.5rem @768px -> ~3.0rem @1440px (caps 3.2rem). Hover text unchanged. */
.ibl.is-style-vertical-panels .ibl__link_heading { font-size: 1.95rem; display: block; -webkit-line-clamp: none; overflow: visible; line-height: 1.15; }
@media screen and (min-width: 768px) {
  .ibl.is-style-vertical-panels .ibl__link_heading { font-size: clamp(2.4rem, 1.93rem + 0.74vw, 3.2rem); }
}
