@import url('https://fonts.googleapis.com/css2?family=Allura&display=swap');

/* Home promo banner: keep the good home state */
.promo-content{
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 700px;
  height: 100%;
  padding: 58px var(--space-page-x) 0 !important;
  position: relative;
}

.promo-label,
.promo-label.reveal,
.promo-label.visible,
.promo-label-force-visible,
.promo-label-force-visible.reveal,
.promo-label-force-visible.visible{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center;
  align-self: flex-start;
  margin: 0 0 .9rem !important;
  padding: .24rem .62rem !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  color: #f5f1ea !important;
  background: rgba(17,17,17,.38) !important;
  border: 1px solid rgba(245,241,234,.22) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.34);
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
  isolation: isolate;
}

.promo-heading{
  display: block !important;
  padding-top: .14em !important;
  font-family: 'Allura', cursive !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: clamp(2.65rem, 5.6vw, 5rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  margin: 0 0 1rem !important;
  color: var(--ivory) !important;
  text-shadow: 0 2px 10px rgba(17,17,17,.18);
}

.promo-sub{
  max-width: 470px;
  margin-bottom: 2rem !important;
}

@media (max-width: 768px){
  .promo-content{
    padding: 42px var(--space-page-x-mobile) 0 !important;
  }

  .promo-label,
  .promo-label.reveal,
  .promo-label.visible,
  .promo-label-force-visible,
  .promo-label-force-visible.reveal,
  .promo-label-force-visible.visible{
    max-width: 100%;
    font-size: .54rem !important;
    letter-spacing: .2em !important;
  }

  .promo-heading{
    font-size: clamp(2.15rem, 11vw, 3.7rem) !important;
    line-height: 1.1 !important;
    padding-top: .16em !important;
  }
}

/* Store/category header: readable over light banner and behaves like home on scroll */
.post-type-archive-product .site-header,
.tax-product_cat .site-header,
.page-template-page-shop .site-header{
  top: var(--space-header-offset) !important;
}

.post-type-archive-product .site-header:not(.scrolled),
.tax-product_cat .site-header:not(.scrolled),
.page-template-page-shop .site-header:not(.scrolled){
  background: transparent !important;
  border-bottom: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.post-type-archive-product .site-header:not(.scrolled) .header-logo,
.post-type-archive-product .site-header:not(.scrolled) .header-nav a,
.post-type-archive-product .site-header:not(.scrolled) .header-action-btn,
.tax-product_cat .site-header:not(.scrolled) .header-logo,
.tax-product_cat .site-header:not(.scrolled) .header-nav a,
.tax-product_cat .site-header:not(.scrolled) .header-action-btn,
.page-template-page-shop .site-header:not(.scrolled) .header-logo,
.page-template-page-shop .site-header:not(.scrolled) .header-nav a,
.page-template-page-shop .site-header:not(.scrolled) .header-action-btn{
  color: #0e1e46 !important;
}

.post-type-archive-product .site-header:not(.scrolled) .header-logo span,
.tax-product_cat .site-header:not(.scrolled) .header-logo span,
.page-template-page-shop .site-header:not(.scrolled) .header-logo span{
  color: #0e1e46 !important;
}

.post-type-archive-product .site-header:not(.scrolled) .header-nav a::after,
.tax-product_cat .site-header:not(.scrolled) .header-nav a::after,
.page-template-page-shop .site-header:not(.scrolled) .header-nav a::after{
  background: #0e1e46 !important;
}

/* Dropdown before scroll: make it visible over the light banner */
.post-type-archive-product .site-header:not(.scrolled) .header-nav > li > .sub-menu,
.tax-product_cat .site-header:not(.scrolled) .header-nav > li > .sub-menu,
.page-template-page-shop .site-header:not(.scrolled) .header-nav > li > .sub-menu{
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(14,30,70,.12) !important;
  box-shadow: 0 16px 40px rgba(14,30,70,.08);
}

.post-type-archive-product .site-header:not(.scrolled) .header-nav > li > .sub-menu a,
.post-type-archive-product .site-header:not(.scrolled) .header-nav > li > .sub-menu > .menu-item-has-children > a,
.post-type-archive-product .site-header:not(.scrolled) .header-nav > li > .sub-menu > .menu-item-has-children > .sub-menu a,
.tax-product_cat .site-header:not(.scrolled) .header-nav > li > .sub-menu a,
.tax-product_cat .site-header:not(.scrolled) .header-nav > li > .sub-menu > .menu-item-has-children > a,
.tax-product_cat .site-header:not(.scrolled) .header-nav > li > .sub-menu > .menu-item-has-children > .sub-menu a,
.page-template-page-shop .site-header:not(.scrolled) .header-nav > li > .sub-menu a,
.page-template-page-shop .site-header:not(.scrolled) .header-nav > li > .sub-menu > .menu-item-has-children > a,
.page-template-page-shop .site-header:not(.scrolled) .header-nav > li > .sub-menu > .menu-item-has-children > .sub-menu a{
  color: #0e1e46 !important;
}

.post-type-archive-product .site-header.scrolled,
.tax-product_cat .site-header.scrolled,
.page-template-page-shop .site-header.scrolled{
  top: 0 !important;
  background: #111111eb !important;
  border-bottom: 1px solid var(--border) !important;
}

.post-type-archive-product .site-header.scrolled .header-logo,
.post-type-archive-product .site-header.scrolled .header-nav a,
.post-type-archive-product .site-header.scrolled .header-action-btn,
.tax-product_cat .site-header.scrolled .header-logo,
.tax-product_cat .site-header.scrolled .header-nav a,
.tax-product_cat .site-header.scrolled .header-action-btn,
.page-template-page-shop .site-header.scrolled .header-logo,
.page-template-page-shop .site-header.scrolled .header-nav a,
.page-template-page-shop .site-header.scrolled .header-action-btn{
  color: var(--ivory) !important;
}

.post-type-archive-product .site-header.scrolled .header-logo span,
.tax-product_cat .site-header.scrolled .header-logo span,
.page-template-page-shop .site-header.scrolled .header-logo span{
  color: var(--accent) !important;
}

.shop-hero.shop-hero--image-banner{
  position: relative;
  width: 100%;
  min-height: 0 !important;
  padding: 0 !important;
  background: #d7eef8 !important;
  overflow: hidden;
}

.shop-hero.shop-hero--image-banner .shop-hero-bg{
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  inset: auto;
  object-fit: initial !important;
  object-position: initial !important;
  filter: none !important;
  background: #d7eef8;
}

.shop-hero.shop-hero--image-banner .shop-hero-overlay{
  display: none !important;
}

/* Shopping typography = modern Jost everywhere commerce-related */
.category-name,
.category-count,
.product-name,
.product-price,
.carousel-item-name,
.carousel-item-price,
.shop-toolbar-title,
.shop-toolbar-subcopy,
.shop-product-title,
.shop-product-price,
.shop-product-link,
.single-product-title,
.single-product-price,
.single-product-highlight h3,
.single-product-panel-title,
.single-product-related-name,
.single-product-related-price{
  font-family: var(--font-family-body) !important;
  font-style: normal !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}

.category-name{
  font-weight: 500 !important;
  font-size: .95rem !important;
  line-height: 1.22 !important;
}

.category-count{
  font-weight: 400 !important;
  font-size: .78rem !important;
}

.product-name{
  color: var(--ivory) !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  line-height: 1.28 !important;
}

.product-price{
  color: var(--beige) !important;
  font-weight: 500 !important;
  font-size: 1.1rem !important;
}

.carousel-item-name{
  color: var(--charcoal) !important;
  font-weight: 500 !important;
  font-size: .92rem !important;
  line-height: 1.24 !important;
}

.carousel-item-price{
  color: var(--accent) !important;
  font-weight: 500 !important;
  font-size: .92rem !important;
}

.shop-toolbar-title{
  font-weight: 500 !important;
  font-size: clamp(1.4rem, 2.4vw, 2rem) !important;
  line-height: 1.08 !important;
}

.shop-toolbar-subcopy{
  margin-top: .7rem;
  color: rgba(245,241,234,.78);
  font-size: .9rem;
  line-height: 1.65;
}

.single-product-title{
  font-weight: 500 !important;
  font-size: clamp(1.75rem, 3.1vw, 2.35rem) !important;
  line-height: 1.05 !important;
}

.single-product-price{
  font-weight: 500 !important;
  font-size: clamp(1.18rem, 2vw, 1.75rem) !important;
  color: var(--beige) !important;
}

.single-product-highlight h3{
  font-weight: 500 !important;
  font-size: .98rem !important;
  line-height: 1.24 !important;
}

.single-product-panel-title{
  font-weight: 500 !important;
  font-size: 1.12rem !important;
  line-height: 1.2 !important;
}

.single-product-related-name{
  font-weight: 500 !important;
  font-size: .92rem !important;
  line-height: 1.24 !important;
}

.single-product-related-price{
  font-weight: 500 !important;
  font-size: .92rem !important;
}

/* Pointer cleanup */
.footer-links a,
.footer-social a,
.social-link,
.carousel-item,
.carousel-item *,
.carousel-item:hover,
.carousel-item:hover *{
  cursor: pointer !important;
}

.footer-links a,
.footer-social a,
.carousel-item,
.carousel-item *,
.carousel-item:hover *{
  text-decoration: none !important;
}


/* =========================================
   Targeted fix only:
   Shop / category pages should show the full top of the banner
   and the header should already use its final dark strip style.
   ========================================= */
.post-type-archive-product .site-header:not(.scrolled),
.tax-product_cat .site-header:not(.scrolled),
.page-template-page-shop .site-header:not(.scrolled){
  background:#111111eb !important;
  border-bottom:1px solid var(--border) !important;
  backdrop-filter:blur(20px) !important;
  -webkit-backdrop-filter:blur(20px) !important;
}

.post-type-archive-product .site-header:not(.scrolled) .header-logo,
.post-type-archive-product .site-header:not(.scrolled) .header-nav a,
.post-type-archive-product .site-header:not(.scrolled) .header-action-btn,
.tax-product_cat .site-header:not(.scrolled) .header-logo,
.tax-product_cat .site-header:not(.scrolled) .header-nav a,
.tax-product_cat .site-header:not(.scrolled) .header-action-btn,
.page-template-page-shop .site-header:not(.scrolled) .header-logo,
.page-template-page-shop .site-header:not(.scrolled) .header-nav a,
.page-template-page-shop .site-header:not(.scrolled) .header-action-btn{
  color:var(--ivory) !important;
}

.post-type-archive-product .site-header:not(.scrolled) .header-logo span,
.tax-product_cat .site-header:not(.scrolled) .header-logo span,
.page-template-page-shop .site-header:not(.scrolled) .header-logo span{
  color:var(--accent) !important;
}

.post-type-archive-product .site-header:not(.scrolled) .header-nav a::after,
.tax-product_cat .site-header:not(.scrolled) .header-nav a::after,
.page-template-page-shop .site-header:not(.scrolled) .header-nav a::after{
  background:var(--accent) !important;
}

/* The banner should start directly under the black nav strip */
.post-type-archive-product .shop-hero.shop-hero--image-banner,
.tax-product_cat .shop-hero.shop-hero--image-banner,
.page-template-page-shop .shop-hero.shop-hero--image-banner{
  margin-top:calc(var(--space-header-offset) + var(--space-header-y)) !important;
}

@media (max-width: 768px){
  .post-type-archive-product .site-header:not(.scrolled),
  .tax-product_cat .site-header:not(.scrolled),
  .page-template-page-shop .site-header:not(.scrolled){
    top:42px !important;
  }

  .post-type-archive-product .shop-hero.shop-hero--image-banner,
  .tax-product_cat .shop-hero.shop-hero--image-banner,
  .page-template-page-shop .shop-hero.shop-hero--image-banner{
    margin-top:calc(42px + 64px) !important;
  }
}
