/**
 * Dynamic content — sections grow when Elementor copy is longer.
 * Overrides fixed heights / absolute stacks that clip or overlap text.
 */

/* Elementor wrappers must not clip growing sections */
.elementor-section:has([data-skt-section]),
.elementor-section:has([data-skt-section]) > .elementor-container,
.elementor-section:has([data-skt-section]) .elementor-widget-wrap,
.elementor-section:has([data-skt-section]) .elementor-widget-container {
  overflow: visible !important;
  min-height: 0;
}

/* Text blocks — never clamp body copy */
.skt-band__body,
.skt-split__body,
.skt-band__body,
.skt-product-feature__text,
.skt-why-overlay__body,
.skt-why-product__detail-text,
.skt-why-product__detail-heading,
.skt-contact__intro,
.skt-manufacturing__step .skt-manufacturing__text,
.skt-used-in__desc,
.skt-accordion__content,
.skt-table__cell {
  overflow: visible;
  max-height: none;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.skt-product-feature__card-bg {
  min-height: 100%;
}

/* --- Heroes: grow with headline / subcopy (home + about only) --- */
.skt-hero--home,
.skt-hero--about {
  height: auto !important;
  max-height: none !important;
  overflow: visible;
}

.skt-hero--about {
  overflow: visible !important;
}

.skt-hero__bg {
  min-height: 100%;
}

/* Home hero — stack content + video in document flow; CTA stays on band overlap */
.skt-hero--home {
  display: flex;
  flex-direction: column;
  min-height: clamp(36rem, 71.111vw, 64rem);
  padding-bottom: var(--skt-hero-band-overlap, 4.6875rem);
}

.skt-hero--home .skt-hero__content {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  padding-top: clamp(12rem, 26.67vw, 24rem);
  flex: 0 0 auto;
}

.skt-hero--home .skt-hero__video-link {
  position: relative !important;
  top: auto !important;
  left: var(--skt-pad-x);
  margin-top: 1.9375rem;
  flex: 0 0 auto;
}

/* One VIEW PRODUCT button — hero only (band had a duplicate at the seam) */
[data-skt-section="home-about"] .skt-band__cta-bar {
  display: none !important;
}

.skt-hero--home .skt-hero__cta-bar {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  flex: none;
  margin-top: 0 !important;
  width: 15.9375rem;
  z-index: 2;
}

@media (min-width: 1440px) {
  .skt-hero--home {
    min-height: 64rem;
  }
}

/* --- Red / about bands --- */
[data-skt-section="home-about"].skt-band--red,
[data-skt-section="about-intro"],
[data-skt-section="product-about"].skt-band--red,
.skt-band--red:not([data-skt-section="home-about"]):not([data-skt-section="about-intro"]):not([data-skt-section="product-about"]) {
  min-height: 33.8125rem;
  height: auto !important;
  overflow: visible;
}

[data-skt-section="home-about"] .skt-band__content,
[data-skt-section="about-intro"] .skt-band__content,
[data-skt-section="product-about"] .skt-band__content {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  width: auto;
  max-width: 51.5625rem;
  margin-left: var(--skt-pad-x, 1.25rem);
  padding: clamp(3rem, 6vw, 5.625rem) 2rem clamp(3rem, 6vw, 5.625rem) 0;
  pointer-events: auto;
}

.skt-band__shape {
  min-height: 100%;
}

.skt-band__body p:last-child {
  margin-bottom: 0;
}

/* Product page — do not let base fallbacks override Figma layout */
[data-skt-section="product-used-in"].skt-used-in,
[data-skt-section="product-why"].skt-why-product {
  padding: clamp(3rem, 6.25vw, 5.625rem) clamp(1.25rem, 8.33vw, 7.5rem);
}

[data-skt-section="product-used-in"] .skt-used-in__title,
[data-skt-section="product-why"] .skt-why-product__title {
  margin: 0;
  font-weight: 400;
}

[data-skt-section="product-about"] .skt-band__body {
  max-height: none;
  overflow: visible;
}

/* Product hero — Figma 3556:145 fixed 1024px frame, centered copy */
[data-skt-section="product-hero"].skt-hero--product,
.skt-hero--product {
  height: clamp(36rem, 71.111vw, 64rem) !important;
  max-height: 64rem !important;
  min-height: clamp(36rem, 71.111vw, 64rem) !important;
  overflow: hidden !important;
}

[data-skt-section="product-hero"] .skt-hero__content,
.skt-hero--product .skt-hero__content {
  position: absolute !important;
  top: 50% !important;
  left: var(--skt-pad-x) !important;
  transform: translateY(-50%) !important;
  padding: 0 !important;
  width: 44.9375rem !important;
  max-width: calc(100% - var(--skt-pad-x) * 2) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.9375rem !important;
}

/* --- Product feature collage: flow layout (desktop) --- */
@media (min-width: 992px) {
  [data-skt-section="home-product"] .skt-product-feature__grid,
  [data-skt-section="about-product"] .skt-product-feature__grid,
  .skt-product-feature__grid {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    min-height: 0 !important;
    gap: 0;
    position: relative;
  }

  [data-skt-section="home-product"] .skt-product-feature__img--top,
  [data-skt-section="about-product"] .skt-product-feature__img--top,
  .skt-product-feature__img--top {
    order: 1;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(55%, 49.5rem) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    align-self: flex-start;
    aspect-ratio: 792 / 364;
    overflow: hidden;
    z-index: 1;
  }

  [data-skt-section="home-product"] .skt-product-feature__img--bottom,
  [data-skt-section="about-product"] .skt-product-feature__img--bottom,
  .skt-product-feature__img--bottom {
    order: 3;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(55%, 49.5rem) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 0 0 auto !important;
    align-self: flex-end;
    aspect-ratio: 792 / 364;
    overflow: hidden;
    z-index: 1;
  }

  [data-skt-section="home-product"] .skt-product-feature__img--top img,
  [data-skt-section="home-product"] .skt-product-feature__img--bottom img,
  [data-skt-section="about-product"] .skt-product-feature__img--top img,
  [data-skt-section="about-product"] .skt-product-feature__img--bottom img,
  .skt-product-feature__img--top img,
  .skt-product-feature__img--bottom img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 792 / 364;
    object-fit: cover;
    max-height: none;
  }

  [data-skt-section="home-product"] .skt-product-feature__card,
  [data-skt-section="about-product"] .skt-product-feature__card,
  .skt-product-feature__card {
    order: 2;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(39.90625rem, 92%) !important;
    min-height: 0 !important;
    margin: clamp(-2.5rem, -4vw, -1rem) auto clamp(-2.5rem, -4vw, -1rem) clamp(8%, 17vw, 17.1875rem);
    z-index: 2;
  }

  .skt-product-feature__card-inner .skt-product-feature__cta {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    margin: 0;
    width: auto;
    align-self: flex-start;
    z-index: auto;
  }
}

.skt-product-feature__card-inner .skt-product-feature__cta {
  margin: 0;
  align-self: flex-start;
}

/* --- About why choose overlay — Figma 3562:706 (do not stack card/image) --- */
[data-skt-section="about-why"].skt-why-overlay .skt-why-overlay__stage {
  position: relative;
  display: block;
  min-height: clamp(28rem, 62.6vw, 56.3125rem);
  height: clamp(28rem, 62.6vw, 56.3125rem);
  max-width: 81.5rem;
  margin: 0 auto;
  padding-bottom: 0;
}

[data-skt-section="about-why"].skt-why-overlay .skt-why-overlay__card {
  position: relative;
  z-index: 2;
}

@media (min-width: 992px) {
  [data-skt-section="about-why"].skt-why-overlay .skt-why-overlay__stage {
    display: block !important;
    min-height: 56.3125rem !important;
    height: 56.3125rem !important;
    gap: 0 !important;
  }

  [data-skt-section="about-why"].skt-why-overlay .skt-why-overlay__card {
    position: absolute !important;
    top: 0;
    left: 0;
    z-index: 2;
    width: 60.35%;
    max-width: 49.1875rem;
    margin: 0;
    align-self: auto;
  }

  [data-skt-section="about-why"].skt-why-overlay .skt-why-overlay__bg {
    position: absolute !important;
    left: 38.34%;
    top: 42.84%;
    right: auto;
    bottom: auto;
    width: 61.66%;
    max-width: 50.25rem;
    height: 57.16%;
    max-height: 32.1875rem;
    margin: 0;
    align-self: auto;
    aspect-ratio: auto;
  }
}

/* --- Split / mission / mascot --- */
.skt-split__grid {
  align-items: start;
}

.skt-split--mission .skt-split__content,
.skt-split--mascot .skt-split__content {
  height: auto;
}

/* --- Why product tabs --- */
.skt-why-product__detail {
  min-height: 0;
}

.skt-why-product__detail-text {
  margin: 0 0 1rem;
}

/* --- Manufacturing --- */
.skt-manufacturing__step {
  min-height: 0;
  height: auto;
}

/* --- Used in --- */
.skt-used-in__item {
  min-height: 0;
  height: auto;
}

/* --- Contact --- */
.skt-contact__grid {
  align-items: start;
}

.skt-contact__intro {
  max-width: none;
}

/* --- Quality carousel cards --- */
.skt-quality-step__title,
.skt-quality-step__label {
  max-height: none;
}
