/* Final CLS/LCP stabilization. Home only. */

/* Stable font rendering: reduce late custom font shifts */
html,
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  text-rendering: optimizeSpeed !important;
  overflow-x: hidden !important;
}

/* Keep brand/hero title elegant but stable, no late font jump */
.cin-hero__title,
.cin-hero__title *,
.hero-title,
h1 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-synthesis: none !important;
}

/* Stable top announcement/header/nav */
.announcement-bar,
.top-strip,
.topbar,
[class*="announcement"],
[class*="topbar"] {
  min-height: 30px !important;
}

header,
nav,
.site-header,
.navbar {
  min-height: 92px !important;
}

/* Stable icons/buttons in nav */
header button,
nav button,
.icon-circle,
.badge-anchor {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
}

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

/* Remove splash/preloader from layout completely */
#splashScreen,
.splashScreen,
.splash-screen,
.splash,
.preloader,
.loading-screen,
#preloader,
#loader,
.loader {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: fixed !important;
  z-index: -9999 !important;
}

/* Hero fixed geometry */
.cin-hero {
  position: relative !important;
  overflow: hidden !important;
  min-height: 620px !important;
  height: 620px !important;
  display: flex !important;
  align-items: center !important;
  contain: layout paint !important;
}

/* No floating image layer in hero */
.cin-hero__stage,
.cin-hero__float,
.cin-hero__float img {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Hero content fixed area */
.cin-hero__content {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  max-width: 640px !important;
  min-height: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 48px 20px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Fix hero text metrics so font loading cannot move layout */
.cin-hero__kicker {
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cin-hero__title {
  min-height: 230px !important;
  margin: 20px 0 18px !important;
  line-height: .95 !important;
}

.cin-hero__title em,
.cin-hero__title strong {
  display: block !important;
  line-height: .95 !important;
}

.cin-hero__sub {
  min-height: 72px !important;
  margin: 0 auto 26px !important;
}

.cin-hero__actions {
  min-height: 112px !important;
}

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

/* Stable first product/collection area */
.products-grid,
.product-grid,
.shop-grid,
.collection-grid,
[class*="products-grid"],
[class*="product-grid"] {
  min-height: 860px !important;
}

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

/* Stable product images */
.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 broken extra unified cart if injected */
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 (min-width: 1025px) {
  .cin-hero {
    height: 680px !important;
    min-height: 680px !important;
  }

  .cin-hero__content {
    margin-left: max(7vw, 80px) !important;
    margin-right: auto !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .cin-hero__kicker {
    justify-content: flex-start !important;
  }
}

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

  .cin-hero__content {
    min-height: 520px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .cin-hero__title {
    min-height: 210px !important;
  }

  .cin-hero__sub {
    min-height: 88px !important;
  }
}
