/* Local layout fixes — must load AFTER hypevenom-custom.css */

/* Catalog / collection product grids: keep cards inset from the screen edge */
main[data-template="collection"] .facets-wrapper.page-width,
main[data-template="collection"] .collection.page-width {
  padding-left: max(1.5rem, env(safe-area-inset-left, 0px)) !important;
  padding-right: max(1.5rem, env(safe-area-inset-right, 0px)) !important;
  box-sizing: border-box !important;
}

@media screen and (min-width: 750px) {
  main[data-template="collection"] .facets-wrapper.page-width,
  main[data-template="collection"] .collection.page-width {
    padding-left: max(5rem, 2.5vw) !important;
    padding-right: max(5rem, 2.5vw) !important;
  }
}

main[data-template="collection"] #product-grid.product-grid {
  margin-left: 0 !important;
}

#shopify-section-template--29674524148045__featured_collection .slider-mobile-gutter.page-width {
  padding-left: max(1.2rem, env(safe-area-inset-left, 0px)) !important;
  padding-right: max(1.2rem, env(safe-area-inset-right, 0px)) !important;
  box-sizing: border-box !important;
}

@media screen and (min-width: 750px) {
  #shopify-section-template--29674524148045__featured_collection .slider-mobile-gutter.page-width {
    padding-left: max(2rem, 2.5vw) !important;
    padding-right: max(2rem, 2.5vw) !important;
  }
}

/* ---------- Floating header + ticker (home + product identical) ---------- */
.shopify-section-group-header-group.announcement-bar-section {
  display: none !important;
}

.shopify-section-group-header-group.section-header {
  position: fixed !important;
  top: 20px !important;
  left: 2.5% !important;
  width: 95% !important;
  z-index: 100 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 4px 24px #0000001f !important;
  transition: top 0.22s ease, border-radius 0.22s ease !important;
}

body:has(.vh-ticker) .shopify-section-group-header-group.section-header {
  top: 56px !important;
  border-radius: 0 0 12px 12px !important;
}

.vh-ticker {
  position: fixed !important;
  top: 20px !important;
  left: 2.5% !important;
  width: 95% !important;
  z-index: 101 !important;
  border-radius: 12px 12px 0 0 !important;
  transition: transform 0.22s ease, opacity 0.22s ease !important;
}

/* When ticker scrolls away: hide it fully, raise white menu flush to top */
body.hv-ticker-away .vh-ticker {
  transform: translateY(-160%) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.hv-ticker-away .shopify-section-group-header-group.section-header {
  top: 12px !important;
  border-radius: 12px !important;
}

/* Room under fixed chrome on product pages */
main[data-template="product"] {
  padding-top: 7.2rem !important;
}

body.hv-ticker-away main[data-template="product"] {
  padding-top: 5.6rem !important;
}

@media screen and (max-width: 989px) {
  .shopify-section-group-header-group.section-header,
  .vh-ticker {
    left: 0.8rem !important;
    width: calc(100% - 1.6rem) !important;
    max-width: none !important;
  }

  .vh-ticker {
    top: 0.8rem !important;
  }

  body:has(.vh-ticker) .shopify-section-group-header-group.section-header {
    top: 52px !important;
  }

  body.hv-ticker-away .shopify-section-group-header-group.section-header {
    top: 0.8rem !important;
  }

  header-drawer {
    margin-left: 0 !important;
  }

  .menu-drawer {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .menu-drawer__inner-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    box-sizing: border-box !important;
  }

  .menu-drawer__menu-item,
  .menu-drawer__menu .list-menu__item--link {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .header {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    column-gap: 0.6rem !important;
  }

  .header__icons {
    padding-right: 0 !important;
    gap: 0.2rem !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }

  .header__heading,
  .header__heading-logo-wrapper,
  .header__heading-logo {
    max-width: min(42vw, 16rem) !important;
  }
}

/* ---------- Product page: gutters + gallery + promo ---------- */
@media screen and (max-width: 749px) {
  main[data-template="product"] .page-width,
  main[data-template="product"] .product.page-width,
  main[data-template="product"] .product__info-wrapper,
  main[data-template="product"] .product__info-container {
    padding-left: max(1.2rem, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(1.2rem, env(safe-area-inset-right, 0px)) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main[data-template="product"] .product__media-wrapper,
  main[data-template="product"] .grid__item.product__media-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  main[data-template="product"] .custom-gallery {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main[data-template="product"] .custom-gallery__main {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  main[data-template="product"] .custom-gallery__main-image {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    max-height: min(68vh, 420px) !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
  }

  main[data-template="product"] .custom-gallery__main-image img,
  main[data-template="product"] .custom-gallery__main-image video,
  main[data-template="product"] .product__media img,
  main[data-template="product"] .product__media-item img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: min(68vh, 420px) !important;
    object-fit: contain !important;
  }

  main[data-template="product"] .custom-gallery__thumbnails,
  main[data-template="product"] .vh-gender-switcher {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  /* Red promo bar: compact stacked layout */
  .hv-promo-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    margin: 0 0 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .hv-promo-bar > div:first-child {
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }

  .hv-promo-bar > div:first-child > div:first-child {
    font-size: 12px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.04em !important;
  }

  .hv-promo-bar > div:first-child > div:last-child {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .hv-promo-bar .hv-copy-btn {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
}
