/* v2.4.20 — NO CROP for WooCommerce CV product heroes ONLY.
   Elementor starter hero uses background-size:cover and fixed 335/260px heights.
   Render that exact background as a natural-size <img> on the public frontend.
   Never touch the saved Elementor data, homepage slider or catalog hero. */
.sncv-product-page .sncv-product-hero--template .sncv-preset-hero {
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}
/* Override Elementor fixed min-height *only after* the native image is ready. */
.sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready {
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  background-image:none!important;
  overflow:hidden!important;
}
.sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready > .sncv-product-hero-native-img {
  display:block!important;
  position:relative!important;
  z-index:0!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:1!important;
  transform:none!important;
}
/* On desktops the Elementor copy remains over the full original photograph. */
@media (min-width:901px) {
  .sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready > .elementor-container {
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    align-items:center!important;
  }
}
/* Tablets/phones show every pixel of the photograph first, then legible copy.
   No cropping and no squeezing long text inside a short horizontal banner. */
@media (max-width:900px) {
  .sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready > .elementor-container {
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:clamp(12px,3vw,22px)!important;
    background:#fffaf0!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  .sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready > .elementor-container > .elementor-column {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }
  .sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready .sncv-preset-empty {display:none!important;}
  .sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready .sncv-preset-text,
  .sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready .elementor-widget-wrap {
    width:100%!important;min-width:0!important;box-sizing:border-box!important;
  }
  .sncv-product-page .sncv-product-hero--template .sncv-preset-hero.sncv-product-hero-image-ready .sncv-preset-text .elementor-widget-wrap {
    padding:clamp(8px,2vw,18px)!important;
  }
}
/* Built-in fallback product slider (when Elementor is unavailable). */
.sncv-product-page .sncv-product-hero--default .sncv-hero-slider,
.sncv-product-page .sncv-product-hero--default .sncv-hero-track {
  height:auto!important;min-height:0!important;max-height:none!important;
}
.sncv-product-page .sncv-product-hero--default .sncv-hero-slide.is-active:not(.sncv-hero-slide--template){
  position:relative!important;inset:auto!important;
  display:block!important;height:auto!important;min-height:0!important;max-height:none!important;
}
.sncv-product-page .sncv-product-hero--default .sncv-hero-slide:not(.sncv-hero-slide--template) > img{
  display:block!important;position:relative!important;
  width:100%!important;max-width:100%!important;height:auto!important;
  min-height:0!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;transform:none!important;
}
@media(max-width:900px){
  .sncv-product-page .sncv-product-hero--default .sncv-hero-slide.is-active:not(.sncv-hero-slide--template) > .sncv-hero-overlay {
    display:block!important;position:relative!important;inset:auto!important;
    width:100%!important;max-width:100%!important;height:auto!important;
    padding:clamp(15px,4vw,24px)!important;background:#fffaf0!important;
    box-sizing:border-box!important;
  }
  .sncv-product-page .sncv-product-hero--default .sncv-hero-nav {
    position:relative!important;inset:auto!important;transform:none!important;padding:10px!important;
  }
  .sncv-product-page .sncv-product-hero--default .sncv-hero-slide h2 {
    font-size:clamp(24px,6.5vw,40px)!important;line-height:1.12!important;
  }
}
