/* Keep the native Elementor hero within a useful first screen. */
.factory-shop .factory-shop-hero {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 1440px !important;
  min-height: 0 !important;
  height: auto !important;
  margin-inline: auto !important;
  gap: clamp(24px, 3vw, 44px) !important;
  padding: 32px clamp(24px, 5vw, 72px) !important;
  align-items: center !important;
}
.factory-shop .factory-shop-hero > * {
  box-sizing: border-box;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.factory-shop .factory-shop-hero > .e-con:has(h1) {
  width: 100% !important;
  padding: 0 !important;
  gap: 12px !important;
}
.factory-shop .factory-shop-hero h1 {
  margin: 0 !important;
  font-size: clamp(36px, 3.6vw, 56px) !important;
  line-height: 1.1 !important;
  max-width: 17ch !important;
}
.factory-shop .factory-shop-hero > .e-con:has(h1) > p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
.factory-shop .factory-shop-hero > .e-con:has(h1) > p:first-child,
.factory-shop .factory-shop-hero > .e-con:has(h1) > p:last-child {
  font-size: 12px !important;
  line-height: 1.5 !important;
}
.factory-shop .factory-shop-hero > .e-con:has(h1) > a.e-button-base {
  display: inline-flex !important;
  align-items: center;
  width: fit-content !important;
  min-height: 44px;
  margin: 0 !important;
  padding: 12px 20px !important;
}
.factory-shop .factory-shop-hero > .factory-brand-carousel {
  justify-self: center;
  align-self: center;
}
.factory-shop .factory-shop-hero [class$='-banner-caption'] {
  padding: 12px 16px 6px;
  gap: 3px;
}
.factory-shop .factory-shop-hero [class$='-banner-controls'] {
  gap: 8px;
  padding: 6px 12px 4px;
}
.factory-shop .factory-shop-hero [class$='-banner-status'] {
  padding-bottom: 8px;
}
@media (min-width: 922px) {
  .factory-shop .factory-shop-hero {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .factory-shop .factory-shop-hero > .factory-brand-carousel {
    width: min(100%, 60vh, 604px) !important;
  }
  .factory-shop .factory-shop-hero > .factory-luma-product-hero {
    width: 100% !important;
    max-width: 604px !important;
    justify-self: center;
  }
  .factory-shop:is(.factory-shop-aura, .factory-shop-puf)
    #ast-desktop-header .ast-builder-grid-row {
    padding-block: 8px !important;
    gap: 2px !important;
  }
  .factory-shop:is(.factory-shop-aura, .factory-shop-puf)
    #ast-desktop-header .site-branding {
    padding-block: 4px !important;
  }
  .factory-shop:is(.factory-shop-aura, .factory-shop-puf)
    #ast-desktop-header .factory-brand-logo {
    height: 64px !important;
    object-fit: contain;
  }
  .factory-shop:is(.factory-shop-aura, .factory-shop-puf)
    #ast-desktop-header .main-header-menu .menu-link {
    min-height: 44px;
    line-height: 44px !important;
  }
}
@media (max-width: 921px) {
  .factory-shop .factory-shop-hero {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding: 24px 24px 32px !important;
  }
  .factory-shop .factory-shop-hero > .e-con:has(h1) {
    order: -1;
    max-width: 640px !important;
    align-self: center;
  }
  .factory-shop .factory-shop-hero h1 {
    font-size: clamp(30px, 6vw, 40px) !important;
    max-width: 20ch !important;
  }
  .factory-shop .factory-shop-hero > .factory-brand-carousel,
  .factory-shop .factory-shop-hero > .factory-luma-product-hero {
    width: 100% !important;
    max-width: 560px !important;
  }
}
@media (max-width: 600px) {
  .factory-shop .factory-shop-hero {
    padding-inline: 16px !important;
  }
  .factory-shop .factory-shop-hero h1 {
    font-size: clamp(30px, 8vw, 38px) !important;
    max-width: 18ch !important;
  }
  .factory-shop .factory-shop-hero > .e-con:has(h1) > p {
    font-size: 15px !important;
  }
  .factory-shop .factory-shop-hero > .e-con:has(h1) > p:first-child,
  .factory-shop .factory-shop-hero > .e-con:has(h1) > p:last-child {
    font-size: 12px !important;
  }
}
