/* Static-mirror fixes — empty theme header shell must not collapse the
   layout spacer the Elementor top strip compensates for with -100px. */

/* Let clicks reach in-page nav through the empty absolute shell */
#header-wrapper.header-top-absolute:has(#header-216:empty),
#header-wrapper.header-top-absolute:has(#header-216:empty) #header,
#header-216:empty {
  pointer-events: none !important;
}

#header-216:empty {
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/*
 * Theme pairs #header-wrapper { margin-bottom: 100px } with
 * .elementor-501 .elementor-element-1a107c7 { margin-top: -100px }.
 * Collapsing the wrapper margin (older mirror-fixes) left the -100px
 * pull-up alone and clipped the announcement + nav off the top.
 * Keep the pair intact — do NOT zero #header-wrapper height/margin.
 */
#header-wrapper.header-top-absolute:has(#header-216:empty) {
  margin-bottom: 100px !important;
  height: auto !important;
  min-height: 0;
  overflow: visible !important;
}

body.home .elementor-501 > .elementor-element-1a107c7 {
  margin-top: -100px !important;
}

/* Sticky clone must not intercept clicks while hidden off-screen */
#header .wdt-header-tpl .sticky-header-active:not(.wdt-header-top) {
  pointer-events: none !important;
}

/* Homepage in-page nav anchors above overlapping layers */
body.home .wdt-header-menu .wdt-primary-nav > .menu-item > a {
  position: relative;
  z-index: 5;
}

/* About/inner: header-213 stays above page content */
#header-wrapper.header-top-absolute #header .wdt-header-tpl.header-213 {
  position: relative;
  z-index: 100;
}


/* ============================================================
   Track / jacket product row (elementor 13072f7)
   v3 — CSS grid, equal columns/rows, kill Bootstrap mb-4
   ============================================================ */

body.home .elementor-element-13072f7.e-con.e-flex {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: 1fr !important;
  gap: 20px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  flex-wrap: nowrap !important; /* ignore Elementor flex wrap */
}

body.home .elementor-element-13072f7 > .e-con.e-child,
body.home .elementor-element-13072f7 > .elementor-element.e-con {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
  flex: none !important; /* not a flex item anymore */
}

/* Each column stacks two product widgets in equal rows */
body.home .elementor-element-13072f7 > .e-con.e-child > .e-con-inner {
  display: grid !important;
  grid-template-rows: 1fr 1fr !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 20px !important;
  height: 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.home .elementor-element-13072f7 > .e-con.e-child > .e-con-inner > .elementor-widget {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100% !important;
}

/* Flatten Magical Products / Bootstrap wrappers so the card fills the cell */
body.home .elementor-element-13072f7 .elementor-widget-container,
body.home .elementor-element-13072f7 .mgproductd-grid,
body.home .elementor-element-13072f7 .mgpde-items,
body.home .elementor-element-13072f7 .mgpde-items > .row,
body.home .elementor-element-13072f7 .mgpde-items .col-12,
body.home .elementor-element-13072f7 .mgpde-items [class*="col-"] {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Bootstrap .row negative gutters break equal columns — neutralize */
body.home .elementor-element-13072f7 .mgpde-items > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
}

body.home .elementor-element-13072f7 .mgpde-shadow.mgpde-card.mgpdeg-card,
body.home .elementor-element-13072f7 .mgpde-card.mb-4 {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important; /* kill Bootstrap mb-4 */
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Square image frame — identical across all 8 cards */
body.home .elementor-element-13072f7 .mgpde-card .mgpde-card-img,
body.home .elementor-element-13072f7 .mgpde-card .mgpdeg-card-img {
  position: relative !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
  padding: 14px 14px 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

body.home .elementor-element-13072f7 .mgpde-card .mgpde-card-img figure,
body.home .elementor-element-13072f7 .mgpde-card .mgpdeg-card-img figure {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #0a0a0a !important;
  border-radius: 0 !important;
}

body.home .elementor-element-13072f7 .mgpde-card .mgpde-card-img a,
body.home .elementor-element-13072f7 .mgpde-card .mgpdeg-card-img a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.home .elementor-element-13072f7 .mgpde-card .mgpde-card-img img,
body.home .elementor-element-13072f7 .mgpde-card .mgpdeg-card-img img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Catalog flat-lays sit smaller than lifestyle crops — zoom to match weight */
body.home .elementor-element-13072f7 a[href="/product/red-jacket/"] img {
  object-fit: cover !important;
  object-position: center 42% !important;
  transform: scale(1.55);
  transform-origin: center center;
}
body.home .elementor-element-13072f7 a[href="/product/red-jogger/"] img {
  object-fit: cover !important;
  object-position: center 35% !important;
  transform: scale(1.4);
  transform-origin: center center;
}

/* Text block: fixed structure so prices share one baseline */
body.home .elementor-element-13072f7 .mgpde-card .mgpde-card-text,
body.home .elementor-element-13072f7 .mgpde-card .mgpdeg-card-text {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  padding: 12px 14px 18px !important;
  box-sizing: border-box !important;
  min-height: 118px !important; /* category + 2-line title + price */
}

body.home .elementor-element-13072f7 .mgpde-card .mgpde-category {
  flex: 0 0 auto !important;
  min-height: 1.25em !important;
  max-height: 1.25em !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 1.25em !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

body.home .elementor-element-13072f7 .mgpde-card .mgpde-ptitle-link {
  display: block !important;
  flex: 0 0 auto !important;
  min-height: 2.6em !important;
  max-height: 2.6em !important;
  margin: 6px 0 0 !important;
  overflow: hidden !important;
}

body.home .elementor-element-13072f7 .mgpde-card .mgpde-ptitle {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 2.6em !important;
  max-height: 2.6em !important;
  line-height: 1.3em !important;
  font-size: 18px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.home .elementor-element-13072f7 .mgpde-card .mgpdeg-product-price,
body.home .elementor-element-13072f7 .mgpde-card .mgpdeg-product-price.mb-2 {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 10px !important;
  padding-bottom: 0 !important;
  flex: 0 0 auto !important;
}

@media (max-width: 1024px) {
  body.home .elementor-element-13072f7.e-con.e-flex {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.home .elementor-element-13072f7.e-con.e-flex {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.home .elementor-element-13072f7 > .e-con.e-child > .e-con-inner {
    grid-template-rows: auto auto !important;
  }
}


/* ============================================================
   Magical Products smash fix
   Elementor post-501.css locks:
     .elementor-501 .elementor-element.elementor-element-eec41e0
       .mgpdeg-card-img figure img { height:276px }
       figure { height:292px } / card { height:450px }
   Must beat that specificity + square aspect (match 13072f7).
   Jogger inventory only: Black / Red / White (no fake blue).
   ============================================================ */

/* Parent was a 4-col flex row; empty siblings squeezed joggers. */
body.home .elementor-element-09918f7 {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}

body.home .elementor-element-2f0d8e3,
body.home .elementor-element-2f0d8e3 > .e-con-inner,
body.home .elementor-element-eec41e0,
body.home .elementor-element-eec41e0 > .elementor-widget-container,
body.home .elementor-element-c68c423,
body.home .elementor-element-c68c423 > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
}

body.home .elementor-element-6722bb9,
body.home .elementor-element-abef52f,
body.home .elementor-element-b3a9249 {
  display: none !important;
}

/* Lone T-shirt above joggers: was col-12 full-bleed pancake. */
body.home .elementor-element-c68c423 .mgpde-items > .row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
}

body.home .elementor-element-c68c423 .mgpde-items [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* Jogger colorways: 4 equal inventory cards (Black/Blue/Red/White) */
body.home .mbk-jogger-colors.mgproductd-grid,
body.home .mbk-jogger-colors .mgpde-items {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.home .mbk-jogger-colors .mgpde-items > .row,
body.home .mbk-jogger-colors .row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
}

body.home .mbk-jogger-colors .mbk-jogger-cell {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/*
  Beat Elementor fixed heights. Selector must include
  .elementor-501 .elementor-element.elementor-element-XXXX
  (same chain Elementor uses) + body.home for the win.
*/
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpde-card.mgpdeg-card,
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-c68c423 .mgpde-card.mgpdeg-card,
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-94330bc .mgpde-card.mgpdeg-card,
body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpde-card.mgpdeg-card,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpde-card.mgpdeg-card,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpde-card.mgpdeg-card,
body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mbk-jogger-card.mgpde-card,
body.home .mbk-jogger-colors .mbk-jogger-card.mgpde-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpde-card-img,
body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpdeg-card-img,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpde-card-img,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpdeg-card-img,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpde-card-img,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpdeg-card-img,
body.home .mbk-jogger-colors .mgpde-card-img,
body.home .mbk-jogger-colors .mgpdeg-card-img {
  position: relative !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 14px 14px 0 !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

/* Kill Elementor figure height:292px — square frame */
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpdeg-card-img figure,
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-c68c423 .mgpdeg-card-img figure,
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-94330bc .mgpdeg-card-img figure,
body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpdeg-card-img figure,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpdeg-card-img figure,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpdeg-card-img figure,
body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpde-card-img figure,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpde-card-img figure,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpde-card-img figure,
body.home .mbk-jogger-colors .mgpde-card-img figure,
body.home .mbk-jogger-colors .mgpdeg-card-img figure {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #0a0a0a !important;
  border-radius: 0 !important;
}

body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpdeg-card-img a,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpdeg-card-img a,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpdeg-card-img a,
body.home .mbk-jogger-colors .mgpde-card-img a,
body.home .mbk-jogger-colors .mgpdeg-card-img a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

/* Kill Elementor img height:276px — contain in square */
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpdeg-card-img figure img,
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-c68c423 .mgpdeg-card-img figure img,
body.home.page-id-501 .elementor-501 .elementor-element.elementor-element-94330bc .mgpdeg-card-img figure img,
body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpdeg-card-img figure img,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpdeg-card-img figure img,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpdeg-card-img figure img,
body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpde-card-img img,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpde-card-img img,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpde-card-img img,
body.home .mbk-jogger-colors .mgpde-card-img img,
body.home .mbk-jogger-colors .mgpdeg-card-img img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}



body.home .elementor-501 .elementor-element.elementor-element-eec41e0 .mgpde-card-text,
body.home .elementor-501 .elementor-element.elementor-element-c68c423 .mgpde-card-text,
body.home .elementor-501 .elementor-element.elementor-element-94330bc .mgpde-card-text,
body.home .mbk-jogger-colors .mgpde-card-text {
  padding: 12px 14px 18px !important;
  text-align: center !important;
}

/* T-Shirts Magical Products grid: keep Bootstrap cols, square images */
body.home .elementor-element-94330bc .mgpde-items > .row {
  --bs-gutter-x: 1.25rem !important;
  --bs-gutter-y: 1.25rem !important;
}

@media (max-width: 1024px) {
  body.home .elementor-element-c68c423 .mgpde-items > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.home .mbk-jogger-colors .mgpde-items > .row,
  body.home .mbk-jogger-colors .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 700px) {
  body.home .elementor-element-c68c423 .mgpde-items > .row,
  body.home .mbk-jogger-colors .mgpde-items > .row,
  body.home .mbk-jogger-colors .row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
