/* Stop risky lazy layout behavior from old performance patches */
* {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}

html {
  scroll-behavior: auto;
}

body {
  overflow-x: hidden;
}

/* Stable header */
header,
nav,
.site-header,
.navbar {
  min-height: 84px !important;
}

/* Stable logo */
header img[src*="logo"],
nav img[src*="logo"],
.logo img,
.site-logo img,
.header-logo img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
}

/* Kill splash/preloader layout movement */
#splashScreen,
.splash-screen,
.splash,
.preloader,
.loading-screen {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Stable hero */
.cin-hero {
  min-height: 720px !important;
  position: relative !important;
  overflow: hidden !important;
  contain: layout paint !important;
}

.cin-hero__content {
  min-height: 620px !important;
  position: relative !important;
  z-index: 2 !important;
}

.cin-hero__stage {
  position: absolute !important;
  inset: 0 !important;
  min-height: 720px !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

.cin-hero__float {
  position: absolute !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  aspect-ratio: 1 / 1 !important;
  background: #f5eee8 !important;
}

.cin-hero__float img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1 !important;
}

/* Stop reveal animations from changing layout */
[data-cin-reveal],
[data-cin-delay] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* Stable product cards */
.product-card,
article.product-card,
[class*="product-card"] {
  min-height: 385px !important;
  contain: layout paint !important;
  overflow: hidden !important;
}

.product-card img,
article.product-card img,
[class*="product-card"] img,
.products-grid img,
.product-grid img,
.shop-grid img,
.collection-grid img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 220px !important;
  object-fit: cover !important;
  background: #f5eee8 !important;
}

/* Drawers never affect page layout */
#cartDrawer,
aside.kaw-unified-cart,
.kaw-unified-cart,
#kawAuthCartDrawer {
  position: fixed !important;
}

/* Kill any extra unified cart */
aside.kaw-unified-cart,
.kaw-unified-cart,
.kaw-unified-cart-overlay,
#kawAuthCartDrawer,
#kawAuthCartOverlay {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  transform: translateX(150%) !important;
  z-index: -9999 !important;
}

/* Native cart closed */
#cartDrawer[aria-hidden="true"]:not(.open):not(.active):not(.is-open),
body:not(.cart-open):not(.drawer-open) #cartDrawer:not(.open):not(.active):not(.is-open),
html:not(.cart-open):not(.drawer-open) #cartDrawer:not(.open):not(.active):not(.is-open) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Native cart open */
html.cart-open #cartDrawer,
body.cart-open #cartDrawer,
html.drawer-open #cartDrawer,
body.drawer-open #cartDrawer,
#cartDrawer.open,
#cartDrawer.active,
#cartDrawer.is-open,
#cartDrawer[aria-hidden="false"] {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  width: min(430px, 100vw) !important;
  height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
  z-index: 2147483000 !important;
  background: #fffaf6 !important;
}

@media (max-width: 768px) {
  .cin-hero {
    min-height: 680px !important;
  }

  .cin-hero__content {
    min-height: 560px !important;
  }

  .cin-hero__stage {
    min-height: 680px !important;
  }

  html.cart-open #cartDrawer,
  body.cart-open #cartDrawer,
  html.drawer-open #cartDrawer,
  body.drawer-open #cartDrawer,
  #cartDrawer.open,
  #cartDrawer.active,
  #cartDrawer.is-open,
  #cartDrawer[aria-hidden="false"] {
    width: 100vw !important;
    max-width: 100vw !important;
  }
}
