

.menu-wrapper {
  border-radius: 20px;
    border-top: 0.5px solid var(--color-off-white-35);
    border-bottom: 0.5px solid var(--color-off-white-35);
    background: var(--color-primary-80);
    backdrop-filter: blur(7.5px);
}

.single-product-hero .breadcrumb-wrapper--single-product {
  background: var(--color-white);
  padding-top: 10px;
  padding-bottom: 10px;
}

/**
 * PDP breadcrumbs (Yoast) – matches Figma Breadcrumb Container (node 9245:3165):
 * centered row, 10px gaps, uppercase label + blue chevron between items; last item has no trailing chevron.
 * Theme wraps Yoast separators in extra li elements; those are hidden and chevrons come from li:has(a)::after.
 */
.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul ,
.mobile-back-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0;
  padding-left: 0;
  list-style: none;
  font-family: var(--font-family-heading), sans-serif;
  font-size: var(--font-size-sub-heading, 15px);
  font-weight: var(--font-weight-regular);
  line-height: 0.9;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-heading);
  text-align: left;
}
.product-breadcrumb ul li:before {
  content: none;
}

@media(min-width:768px) {
  .single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul ,
.mobile-back-link {
  justify-content: center;
}
}

@media (min-width: 1200px) {
  .single-product-hero .breadcrumb-wrapper--single-product > .container-fluid {
    padding-left: 64px;
    padding-right: 64px;
  }
}

.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul > li {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  line-height: 90%;
  font-size: 15px
}

.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul > li:has(a) {
  gap: 10px;
}

/* Yoast separator list items (theme wraps sep in li) – hide; chevrons styled below */
.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul > li:not(:has(a)):not(.breadcrumb_last) {
  display: none;
}

.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul > li a,
.mobile-back-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--color-heading);
  background-image: none !important;
  font-weight: var(--font-weight-regular);
}
.mobile-back-link {
    flex-wrap: nowrap;
}

.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul > li a:hover {
  color: var(--color-heading);
  text-decoration: underline;
}

.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul > li a:focus-visible {
  outline: 2px solid var(--color-tertiary-medium);
  outline-offset: 3px;
}


.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul > li:has(a)::after {
  font-family: "bcd", sans-serif;
  font-size: 11px;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e904";
  color: var(--color-tertiary);
  flex-shrink: 0;
}

.product-info__short-description {
    margin-bottom: 20px;
}

.single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul > li.breadcrumb_last {
  color: var(--color-heading);
}

.single-product-hero.masthead {
  padding-top: 80px;
}

.main-breadcrumb {
    display: none;
}
.mobile-back-link i.breadcrumb__icon-back{
    color: var(--color-tertiary);
}
@media (min-width: 768px) {
  .single-product-hero.masthead {
    padding-top: 150px;
  }
  .main-breadcrumb {
    display: block;
  }
}

@media (min-width: 1025px) {
  .single-product-hero.masthead {
    padding-top: 180px;
  }
}

@media (min-width: 1200px) {
  .single-product-hero .breadcrumb-wrapper--single-product .product-breadcrumb ul {
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }

  .single-product-hero.masthead {
    padding-top: 170px;
  }
}


.single-product-hero .product-info {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  padding-top: 36px;
}

/* Defensive: long unbreakable strings (SKU, product title) and the slick track inside
   the gallery must never push a grid track wider than its allotted column. */
.single-product-hero .product-info__heading-group,
.single-product-hero .product-info__gallery,
.single-product-hero .product-info__below {
  min-width: 0;
  max-width: 100%;
}

.single-product-hero .product-info__heading-group {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-family: var(--font-family-heading), sans-serif;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading);
  text-transform: uppercase;
}

.single-product-hero .product-info__sku {
  margin: 0;
  font-size: 15px;
  letter-spacing: var(--letter-spacing-sub-heading);
  color: var(--color-secondary);
  font-weight: 700;
  line-height:0.9
}

.single-product-hero .product-info__title {
  margin: 0;
  font-size: clamp(28px, 8vw, 50px);
  color: var(--color-heading);
}

.single-product-hero .product-info__gallery-box {
  position: relative;
  width: 100%;
  max-width: 100%;
  background-color: var(--color-white);
  border: 1px solid var(--color-tertiary);
  border-radius: 20px;
  padding: 20px 35px;
  /* Clip any inner overhang (carousel arrows, slick-track) to the box border so the
     box can never poke past its grid cell on narrow viewports. Arrows sit at vertical
     center so they're safely far from the 20px rounded corners. */
  overflow: hidden;
}

.single-product-hero .product-info__gallery-columns {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
}

/* Mobile + tablet (Figma): main image first, thumbnails row beneath */
.single-product-hero .product-info__thumbs-column {
  order: 2;
  width: 100%;
}

.single-product-hero .product-info__main-column {
  order: 1;
  width: 100%;
}

.single-product-hero .product-info__main-stage {
  width: 100%;
}

/* Arrow + zoom positioning context = main image area only (Figma: arrows mid-height at left/right edges) */
.single-product-hero .product-info__main-viewport {
  position: relative;
  width: 100%;
}

.single-product-hero .product-info__main-slider {
  position: relative;
  margin: 0;
  width: 100%;
}

/* Main gallery: first slide only until Slick builds the track (slides use display:flex !important). */
.single-product-hero .js-product-info-main:not(.slick-initialized) > .product-info__slide ~ .product-info__slide {
  display: none !important;
}

.single-product-hero .product-info__slide {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  min-height: 273px;
  display: flex !important;
  align-items: center;
}

.single-product-hero .product-info__slide-img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 70vh;
  object-fit: contain;
}

/* oEmbed video slides (ACF product_videos repeater) */
.single-product-hero .product-info__slide--video {
  align-items: stretch;
}

.single-product-hero .product-info__slide-embed {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  background-color: var(--color-off-white);
}

.single-product-hero .product-info__slide-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.single-product-hero .product-info__thumb-frame--video {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(192, 236, 255, 0.35);
  overflow: hidden;
}

.single-product-hero .product-info__thumb-img--video-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-product-hero .product-info__thumb-frame--video .product-info__thumb-video-icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    0deg,
    rgba(5, 54, 130, 0.15) 0%,
    rgba(5, 54, 130, 0.15) 100%
  );
  color: var(--color-tertiary);
  font-size: 28px;
  line-height: 1;
}

.single-product-hero .product-info__main-viewport .product-info__zoom {
  position: absolute;
  top: 12px;
  right: 0;
  z-index: 5;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 10px;
  background-color: var(--color-tertiary-super-light);
  color: var(--color-tertiary);
  cursor: pointer;
  appearance: none;
}

.single-product-hero .product-info__main-viewport .product-info__zoom i {
  font-size: 22px;
}

.single-product-hero .product-info__main-viewport .product-info__zoom:focus-visible {
  outline: 2px solid var(--color-tertiary-medium);
  outline-offset: 3px;
}

.product-info__nav--next {
  left: unset !important;
  right: -25px !important;
}
@media (min-width: 768px) {
  .single-product-hero .product-info__slide {
    min-height: 482px;
  }
  .single-product-hero .product-info__sku {   font-size: 16px; 
  }
}
@media (min-width: 1200px) {
  .single-product-hero .product-info__sku {   font-size: 18px; 
  }
}

/* Before Slick binds custom arrows: show next only (prev is meaningless on first slide). */
.single-product-hero .product-info__main-viewport .product-info__nav--prev:not(.slick-arrow) {
  display: none;
}

.single-product-hero .product-info__main-viewport .product-info__nav--next:not(.slick-arrow) {
  position: absolute;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  margin: 0;
  z-index: 4;
  border-radius: 600px;
  background-color: var(--color-white);
  border: 1px solid var(--color-tertiary-medium);
  color: var(--color-tertiary);
  left: auto;
  right: -25px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  appearance: none;
}

.single-product-hero .product-info__main-viewport .product-info__nav--next:not(.slick-arrow)::before {
  display: none;
}

.single-product-hero .product-info__main-viewport .product-info__nav--next:not(.slick-arrow) i {
  font-size: 13px;
}

/* Slick arrows: vertically centered on main slide, half-overhanging outside the image
   frame on left/right (Figma: left/right -25px). Gallery box padding (35px mobile/tablet,
   50px desktop) plus desktop column gap absorbs the 25px overhang on every breakpoint. */
.single-product-hero .product-info__main-viewport .product-info__nav.slick-arrow {
  position: absolute;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  margin: 0;
  z-index: 4;
  border-radius: 600px;
  background-color: var(--color-white);
  border: 1px solid var(--color-tertiary-medium);
  color: var(--color-tertiary);
  left: -25px;
  right: auto;
}

.single-product-hero .product-info__main-viewport .product-info__nav.slick-arrow.slick-next {
  left: auto;
  right: -25px;
}

.single-product-hero .product-info__main-viewport .product-info__nav.slick-arrow:hover {
  background-color: var(--color-tertiary);
  color: var(--color-white);
  border-color: var(--color-tertiary);
}

.single-product-hero .product-info__main-viewport .product-info__nav.slick-arrow:before {
  display: none;
}

.single-product-hero .product-info__main-viewport .product-info__nav.slick-arrow i {
  font-size: 20px;
}

/* Thumbnail strip: centered under main image through tablet */
.single-product-hero .product-info__thumbs-column {
  display: flex;
  justify-content: center;
}

.single-product-hero .product-info__thumbs {
  margin: 0 auto;
  width: 100%;
  max-width: 280px;
}

.single-product-hero .product-info__thumbs .slick-list {
  margin: 0 auto;
}

.single-product-hero .product-info__thumb-slide {
  padding: 0 10px;
}

.single-product-hero .product-info__thumb-frame {
  position: relative;
  width: 100px;
  height: 100px;
  margin: 0 auto;
  border-radius: 10px;
  overflow: hidden;
  background-color: rgba(192, 236, 255, 0.2);
  box-sizing: border-box;
  border: 2px solid transparent;
}

.single-product-hero .product-info__thumbs .slick-slide.slick-current .product-info__thumb-frame {
  border-color: var(--color-tertiary);
}

.single-product-hero .product-info__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.single-product-hero .product-info__below {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.single-product-hero .product-info__columns {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.single-product-hero .product-info__features-heading {
  margin: 0 0 12px;
  font-family: var(--font-family-heading), sans-serif;
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-sub-heading);
  text-transform: uppercase;
  color: var(--color-heading);
}

.single-product-hero .product-info__features-list {
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.single-product-hero .product-info__features-list li {
  position: relative;
  padding-left: 14px;
  font-family: var(--font-family-body), sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--color-paragraph);
}

.single-product-hero .product-info__features-list li:last-child {
  margin-bottom: 0;
}

.single-product-hero .product-info__features-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 600px;
  background-color: var(--color-secondary);
}

.single-product-hero .product-info__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}

.single-product-hero .product-info__action-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font-family: var(--font-family-body), sans-serif;
  font-size: 13px;
  letter-spacing: 0.5px;
  color: var(--color-primary);
  text-decoration: none;
}

.single-product-hero .product-info__action-link i {
  font-size: 18px;
  color: var(--color-tertiary);
}

.single-product-hero .product-info__action-link:focus-visible {
  outline: 2px solid var(--color-tertiary-medium);
  outline-offset: 3px;
}

.single-product-hero .product-info__logo-card {
  border: 1px solid var(--color-tertiary);
  border-radius: 20px;
  padding: 20px 50px;
  margin-bottom: 32px;
}

.single-product-hero .product-info__logo-img {
  display: block;
  width: 100%;
  height: 65px;
  object-fit: contain;
}

.single-product-hero .product-info__trust-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.single-product-hero .product-info__trust-card {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(
    180deg,
    var(--bg-off-white) 0%,
    var(--color-tertiary-super-light) 100%
  );
}

.single-product-hero .product-info__trust-icon {
  flex-shrink: 0;
  font-size: 50px;
  color: var(--color-secondary);
  line-height: 1;
}

.single-product-hero .product-info__trust-title {
  margin: 0 0 5px;
  font-family: var(--font-family-heading), sans-serif;
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-sub-heading);
  text-transform: uppercase;
  color: var(--color-secondary);
}

.single-product-hero .product-info__trust-body {
  margin: 0;
  font-family: var(--font-family-body), sans-serif;
  font-size: 15px;
  line-height: 1.2;
  color: var(--color-paragraph);
}

/* CTA buttons: Figma centers the row on mobile only; tablet/desktop are start-aligned.
   Row gap scales 12 -> 16 -> 20 px to match Figma breakpoint specs. */
.single-product-hero .product-info__cta-row.btn-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 20px;
}

@media (min-width: 768px) {
  .single-product-hero .product-info__columns {
    flex-direction: row;
    align-items: flex-start;
  }

  .single-product-hero .product-info__features-col,
  .single-product-hero .product-info__sidebar-col {
    flex: 1;
    min-width: 0;
  }

  .single-product-hero .product-info {
    padding-top: 48px;
  }

  /* Tablet (Figma): square 35px padding around the gallery interior */
  .single-product-hero .product-info__gallery-box {
    padding: 35px;
  }

  .single-product-hero .product-info__cta-row.btn-group {
    justify-content: flex-start;
    gap: 16px 20px;
  }
}

@media (min-width: 1200px) {
  .single-product-hero .product-info {

    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 32px;
    row-gap: 32px;
    align-items: start;
    padding-top: 65px;
  }

  .single-product-hero .product-info__heading-group {
    grid-column: 2;
    grid-row: 1;
    padding-left: 43px;
  }

  .single-product-hero .product-info__gallery {
    grid-column: 1;

    grid-row: 1 / -1;
    align-self: start;
    width: 100%;
  }

  .single-product-hero .product-info__below {
    grid-column: 2;
    grid-row: 2;
    padding-left: 43px;
  }

  .single-product-hero .product-info__gallery-box {
    padding: 50px;
  }

  .single-product-hero .product-info__gallery-columns {
    flex-direction: row;
    align-items: flex-start;
    gap: 50px;
  }

  .single-product-hero .product-info__cta-row.btn-group {
    gap: 20px;
  }

  /* Desktop (Figma): vertical thumbnails on the left of the main slider */
  .single-product-hero .product-info__thumbs-column {
    order: 1;
    flex-shrink: 0;
    width: auto;
    display: block;
    justify-content: flex-start;
  }

  .single-product-hero .product-info__main-column {
    order: 2;
    flex: 1;
    min-width: 0;
  }

  .single-product-hero .product-info__slide {
    min-height: 600px;
    align-items: center;
  }

  .single-product-hero .product-info__thumbs {
    max-width: none;
    width: 100px;
    height: 600px;
    margin: 0;
  }

  .single-product-hero .product-info__thumbs .slick-list {
    height: 100% !important;
    display: flex;
    align-items: center;
  }

  .single-product-hero .product-info__thumbs .slick-slide {
    padding: 0 0 20px;
    border: none;
  }

  .single-product-hero .product-info__thumb-slide {
    padding: 0;
  }

  .single-product-hero .product-info__thumb-frame {
    margin: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .single-product-hero .product-info .slick-track,
  .single-product-hero .product-info .slick-list {
    transition-duration: 0.01ms !important;
  }
}


.single-product-specs {
    --specs-bg: var(--bg-off-white);
    --specs-card-radius: 20px;
    --specs-card-body-max: 350px;
    --specs-fade-height: 70px;
    --specs-nav-btn-size: 65px;
    --specs-dot-size: 15px;
    --specs-inner-gap: 52px;
    --specs-card-padding: 35px;
    --specs-header-py: 20px;
    --specs-header-px: 35px;
}

/* ==========================================================================
   Section shell
   ========================================================================== */

.single-product-specs {
    background-color: var(--specs-bg);
    padding-top: var(--section-margins-small);
    padding-bottom: var(--section-margins-small);
}

@media (min-width: 768px) {
    .single-product-specs {
        padding-top: 65px;
        padding-bottom: 65px;
    }
}
.single-product-specs__group ul {
  margin: 0;
}

.single-product-specs__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    max-width: var(--fluid-container-max-width);
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
   Intro (centered heading + copy)
   ========================================================================== */

.single-product-specs__intro {
    text-align: center;
    max-width: 1184px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
}




/* ==========================================================================
   Slider + nav wrapper (mobile: nav below slides; tablet+: nav above slides)
   ========================================================================== */


/* ==========================================================================
   Prev / next + dots row
   ========================================================================== */

.single-product-specs__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding-left: var(--container-padding-left);
    padding-right: var(--container-padding-right);
    position: relative;
}

.single-product-specs__nav .slick-arrow {
    position: relative;
    box-sizing: border-box;
    width: var(--specs-nav-btn-size);
    height: var(--specs-nav-btn-size);
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--color-tertiary-medium);
    background-color: var(--specs-bg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.single-product-specs__nav .slick-arrow:hover {
    border-color: var(--color-tertiary);
    background-color: var(--color-white);
}





.single-product-specs__nav .slick-arrow:focus {
    outline: none;
}

.single-product-specs__nav .slick-arrow:focus-visible {
    outline: 2px solid var(--color-secondary);
    outline-offset: 3px;
}

.single-product-specs__nav .slick-arrow.slick-prev {
    left: 0;
    order: 0;
}

.single-product-specs__nav .slick-dots {
    order: 1;
}

.single-product-specs__nav .slick-arrow.slick-next {
    position: relative;
    right: 0;
    order: 2;
}
/* Icon font chevrons: global.css (bcd font .icon-chevron-*) */
.single-product-specs__nav .slick-arrow i {
    display: block;
    font-size: 17px;
    line-height: 1;
    color: var(--color-tertiary);
}

.single-product-specs__dots,
.single-product-specs__nav .slick-dots {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.single-product-specs__dots li,
.single-product-specs__nav .slick-dots li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.single-product-specs__dots li::before,
.single-product-specs__nav .slick-dots li::before {
  content: none;
}

.single-product-specs__dot,
.single-product-specs__nav .slick-dots li button {
    box-sizing: border-box;
    width: var(--specs-dot-size);
    height: var(--specs-dot-size);
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--color-tertiary);
    background-color: transparent;
    cursor: pointer;
    overflow: hidden;
    flex-shrink: 0;
    transition: background-color 0.2s ease;
}

/* Slick default dot buttons include visible page numbers; hide for circle-only UI */
.single-product-specs__nav .slick-dots li button {
    font-size: 0;
    line-height: 0;
    color: transparent;
}

.single-product-specs__nav .slick-dots li.slick-active button,
.single-product-specs__dot.is-active {
    background-color: var(--color-tertiary);
}

.single-product-specs__dot:focus,
.single-product-specs__nav .slick-dots li button:focus {
    outline: none;
}

.single-product-specs__dot:focus-visible,
.single-product-specs__nav .slick-dots li button:focus-visible {
    outline: 2px solid var(--color-secondary);
    outline-offset: 3px;
}

/* ==========================================================================
   Slick slider track
   ========================================================================== */




/* Equal-height row: override slick.css (.slick-slide inline-block) for this slider only */
.single-product-specs__slider.slick-initialized .slick-track {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
}

.single-product-specs__slider.slick-initialized .slick-track::before,
.single-product-specs__slider.slick-initialized .slick-track::after {
    display: none;
}

.single-product-specs__slider.slick-initialized .slick-slide {
    display: flex;
    float: none;
    height: auto;
    align-self: stretch;
    vertical-align: top;
}


.single-product-specs__slider.slick-initialized .slick-slide > div {
    display: flex;
    flex: 1 1 0;
    width: 100%;
    min-width: 0;
    min-height: 0;
}

/* ==========================================================================
   Spec card
   ========================================================================== */

.single-product-specs__card {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
}

.single-product-specs__slider .single-product-specs__card {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
}

.single-product-specs__card-head {
    background-color: var(--color-primary);
    border-radius: var(--specs-card-radius) var(--specs-card-radius) 0 0;
    padding: var(--specs-header-py) var(--specs-header-px);
}

.single-product-specs__card-title {
    margin: 0;
    font-family: var(--font-family-heading), sans-serif;
    font-weight: var(--font-weight-bold);
    font-size: 16px;
    line-height: var(--line-height-heading);
    text-transform: uppercase;
    color: var(--color-heading-inverse);
}

.single-product-specs__card-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 0;
    background-color: var(--color-white);
    border: 1px solid var(--color-tertiary);
    border-top: none;
    border-radius: 0 0 var(--specs-card-radius) var(--specs-card-radius);
    padding: var(--specs-card-padding);
}

.single-product-specs__scroll {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    max-height: var(--specs-card-body-max);
    overflow: hidden;
}

.single-product-specs__card.is-expanded .single-product-specs__scroll {
    max-height: none;
    overflow: visible;
}

.single-product-specs__scroll-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--specs-fade-height);
    z-index: 9;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        var(--color-white) 85%,
        var(--color-white) 100%
    );
    transition: opacity 0.25s ease;
}

.single-product-specs__card.is-expanded .single-product-specs__scroll-fade {
    opacity: 0;
}

.single-product-specs__groups {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.single-product-specs__group {
    text-align: left;
}

.single-product-specs__group-label {
    margin: 0 0 12px;
    font-family: var(--font-family-heading), sans-serif;
    font-weight: var(--font-weight-bold);
    font-size: clamp(15px, 2.2vw, 18px);
    line-height: var(--line-height-heading);
    letter-spacing: var(--letter-spacing-sub-heading);
    text-transform: uppercase;
    color: var(--color-secondary);
}

.single-product-specs__divider {
    display: block;
    height: 1px;
    margin: 0;
    border: 0;
    opacity: 1;
    background-color: var(--color-tertiary);
}

.single-product-specs__expand {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 6px;
    align-self: center;
    flex-shrink: 0;
    margin-top: auto;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: auto;
    padding: 3px 0 0;
    border: none;
    background: none;
    cursor: pointer;
    font-family: var(--font-family-button), sans-serif;
    font-weight: var(--font-weight-bold);
    font-size: var(--buttons-font-size);
    line-height: 1;
    letter-spacing: var(--letter-spacing-button);
    text-transform: uppercase;
    color: var(--color-link);
    transition: color 0.2s ease;
}

.single-product-specs__expand:hover {
    color: var(--color-link-hover);
}

.single-product-specs__expand:focus {
    outline: none;
}

.single-product-specs__expand:focus-visible {
    outline: 2px solid var(--color-secondary);
    outline-offset: 4px;
}

.single-product-specs__expand-chevron {
    display: block;
    font-size: 12px;
    line-height: 1;
    flex-shrink: 0;
    color: inherit;
    transition: transform 0.25s ease;
}

.single-product-specs__card.is-expanded .single-product-specs__expand-chevron {
    transform: rotate(180deg);
}
.single-product-specs__expand-chevron {
  color: var(--color-tertiary);
}

@media (prefers-reduced-motion: reduce) {
    .single-product-specs__expand-chevron,
    .single-product-specs__scroll-fade {
        transition-duration: 0.01ms;
    }
}

@media(min-width:768px) {

 .single-product-hero .product-info__features-heading ,
 .single-product-hero .product-info__features-list li,
 .single-product-hero .product-info__trust-title ,
 .single-product-specs__group-label{
  font-size: 16px;
 }

 .single-product-specs__card-title {
  font-size: 20px;
 }
 .single-product-specs__nav .slick-arrow i{
  font-size: 25px;
 }
}
@media(min-width:1025px) {
   .single-product-specs__slider.slick-initialized .slick-slide{
    padding-left: 16px;
    padding-right: 16px;
   }
}

@media(min-width:1200px) {
  .single-product-hero .product-info__features-heading ,
  .single-product-hero .product-info__features-list li,
  .single-product-hero .product-info__trust-title{
   font-size: 18px;
  }
  .single-product-specs__card-title {
    font-size: 24px;
  }
}

.single-product-specs__carousel {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    width: 100%;
}

@media (min-width: 1200px) {
    .single-product-specs__carousel {
        flex-direction: column;
    }
    .single-product-specs__inner {
      gap: 52px;
    }
}

/* ==========================================================================
   Print (window.print / Ctrl+P)

   Global assets/css/print.css forces every .slick-slider to show only
   .slick-active slides. On this template that hides almost all spec cards
   and fights flex-based slide rules, so the PDP layout breaks. These rules
   scope higher specificity overrides for Woo single product only.
   ========================================================================== */

@page {
  margin: 20mm 15mm;
}

@media print {

  /* --- Hide non-printable sections --- */
  body.single-product .related-products,
  body.single-product .testimonials,
  body.single-product .cta-section,
  body.single-product .page-footer,
  body.single-product .page-header,
  body.single-product .mobile-back-link,
  body.single-product .breadcrumb-wrapper,
  body.single-product .single-product-hero .product-info__nav,
  body.single-product .single-product-hero .product-info__zoom,
  body.single-product .single-product-hero .product-info__actions,
  body.single-product .single-product-hero .product-info__thumbs-column {
    display: none !important;
  }

  /* --- Hero section --- */
  body.single-product .single-product-hero.masthead {
    padding-top: 0 !important;
    padding-bottom: 12px !important;
  }

  body.single-product .single-product-hero .product-info {
    display: block !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body.single-product .single-product-hero .product-info__heading-group,
  body.single-product .single-product-hero .product-info__gallery,
  body.single-product .single-product-hero .product-info__below {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .single-product-hero .product-info__heading-group {
    margin-bottom: 12px !important;
    padding-left: 0 !important;
  }

  /* --- Gallery: 3-column grid of all slides --- */
  body.single-product .single-product-hero .product-info__gallery {
    margin-bottom: 32px !important;
  }

  body.single-product .single-product-hero .product-info__gallery-box {
    padding: 8px !important;
    border-radius: 8px !important;
    border: 1px solid #ccc !important;
    overflow: visible !important;
  }

  body.single-product .single-product-hero .product-info__gallery-columns {
    flex-direction: column !important;
    gap: 0 !important;
  }

  body.single-product .single-product-hero .product-info__main-column {
    order: 0 !important;
    width: 100% !important;
    flex: none !important;
  }

  body.single-product .single-product-hero .js-product-info-main.slick-initialized .slick-list,
  body.single-product .single-product-hero .js-product-info-thumbs.slick-initialized .slick-list {
    overflow: visible !important;
    height: auto !important;
  }

  body.single-product .single-product-hero .js-product-info-main.slick-initialized .slick-track {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
  }

  body.single-product .single-product-hero .js-product-info-main.slick-initialized .slick-track::before,
  body.single-product .single-product-hero .js-product-info-main.slick-initialized .slick-track::after {
    display: none !important;
  }

  body.single-product .single-product-hero .js-product-info-main .slick-slide.slick-cloned {
    display: none !important;
  }

  body.single-product .single-product-hero .js-product-info-main.slick-initialized .slick-slide {
    display: block !important;
    width: 100% !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.single-product .single-product-hero .product-info__slide {
    min-height: 0 !important;
    display: block !important;
    border-radius: 6px !important;
    border: 1px solid #eee !important;
  }

  body.single-product .single-product-hero .product-info__slide-img {
    max-height: 180px !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  body.single-product .single-product-hero .product-info__slide--video .product-info__slide-embed {
    display: none !important;
  }

  body.single-product .single-product-hero .product-info__slide--video::after {
    content: "Video (not printable)";
    display: block;
    padding: 8px;
    font-size: 10px;
    color: #666;
    text-align: center;
  }

  /* --- Below gallery: features + sidebar side by side --- */
  body.single-product .single-product-hero .product-info__below {
    padding-left: 0 !important;
    gap: 12px !important;
  }

  body.single-product .single-product-hero .product-info__columns {
    flex-direction: row !important;
    gap: 20px !important;
  }

  body.single-product .single-product-hero .product-info__features-col,
  body.single-product .single-product-hero .product-info__sidebar-col {
    flex: 1 !important;
    min-width: 0 !important;
  }

  body.single-product .single-product-hero .product-info__short-description {
    margin-bottom: 8px !important;
  }

  body.single-product .single-product-hero .product-info__features-list {
    margin-bottom: 6px !important;
  }

  body.single-product .single-product-hero .product-info__features-list li {
    font-size: 12px !important;
    margin-bottom: 3px !important;
  }

  body.single-product .single-product-hero .product-info__features-list li::before {
    background: #000 !important;
  }

  body.single-product .single-product-hero .product-info__logo-card {
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    padding: 8px 16px !important;
    display: inline-block !important;
  }

  body.single-product .single-product-hero .product-info__logo-img {
    max-width: 160px !important;
    height: auto !important;
  }

  body.single-product .single-product-hero .product-info__trust-stack {
    gap: 6px !important;
  }

  body.single-product .single-product-hero .product-info__trust-card {
    padding: 8px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    gap: 10px !important;
  }

  body.single-product .single-product-hero .product-info__trust-icon {
    font-size: 24px !important;
  }

  body.single-product .single-product-hero .product-info__trust-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    margin-bottom: 1px !important;
  }

  body.single-product .single-product-hero .product-info__trust-body {
    font-size: 10px !important;
  }

  body.single-product .single-product-hero .product-info__cta-row.btn-group {
    display: none !important;
  }

  /* --- Specs: show all cards, compact --- */
  body.single-product .single-product-specs {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  body.single-product .single-product-specs__nav {
    display: none !important;
  }

  body.single-product .single-product-specs__inner {
    gap: 16px !important;
  }

  body.single-product .single-product-specs__intro {
    margin-bottom: 8px !important;
  }

  body.single-product .single-product-specs__carousel {
    gap: 12px !important;
  }

  body.single-product .single-product-specs__slider.slick-initialized .slick-list {
    overflow: visible !important;
    height: auto !important;
  }

  body.single-product .single-product-specs__slider.slick-initialized .slick-track {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
  }

  body.single-product .single-product-specs__slider.slick-initialized .slick-track::before,
  body.single-product .single-product-specs__slider.slick-initialized .slick-track::after {
    display: none !important;
  }

  body.single-product .single-product-specs__slider .slick-slide.slick-cloned {
    display: none !important;
  }

  body.single-product .single-product-specs__slider.slick-initialized .slick-slide {
    display: block !important;
    width: calc(50% - 6px) !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    opacity: 1 !important;
    height: auto !important;
    padding: 0 !important;
  }

  body.single-product .single-product-specs__slider.slick-initialized .slick-slide > div {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
  }

  body.single-product .single-product-specs__card {
    margin-bottom: 8px !important;
  }

  body.single-product .single-product-specs__card-head {
    padding: 6px 10px !important;
    border-radius: 8px 8px 0 0 !important;
    background-color: var(--color-primary) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body.single-product .single-product-specs__card-title {
    font-size: 14px !important;
    color: #fff !important;
  }

  body.single-product .single-product-specs__card-body {
    padding: 6px 10px !important;
    background-color: #fff !important;
    border: 1px solid #ddd !important;
    border-top: none !important;
    border-radius: 0 0 8px 8px !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body.single-product .single-product-specs__groups {
    gap: 8px !important;
  }

  body.single-product .single-product-specs__group-label {
    font-size: 11px !important;
    margin-bottom: 3px !important;
  }

  body.single-product .single-product-specs__group ul {
    margin: 0 !important;
  }

  body.single-product .single-product-specs__group li {
    font-size: 11px !important;
    line-height: 1.3 !important;
    margin-bottom: 1px !important;
  }

  body.single-product .single-product-specs__divider {
    margin: 4px 0 !important;
  }

  body.single-product .single-product-specs__scroll {
    max-height: none !important;
    overflow: visible !important;
  }

  body.single-product .single-product-specs__scroll-fade {
    display: none !important;
  }

  body.single-product .single-product-specs__expand {
    display: none !important;
  }
}

