.muzzy-bfcm-page .muzzy-bfcm-hero {
  position: relative;
  overflow: hidden;
  color: #2d255d;
  font-family: Quicksand, sans-serif;
  background: linear-gradient(110deg, #a9cdd8 0%, #c3c5d1 48%, #d6b6b6 100%);
}
.muzzy-bfcm-hero, .muzzy-bfcm-hero * { box-sizing: border-box; }
.muzzy-bfcm-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  gap: 20px;
  max-width: 1440px;
  margin: auto;
  min-height: max(535px, calc(43.75vw - 15px));
  padding: 42px clamp(26px, 6vw, 86px) 27px;
}
.muzzy-bfcm-hero__copy { min-width: 0; position: relative; z-index: 1; }
.muzzy-bfcm-hero__copy h1 {
  width: calc(clamp(72px, 12vw, 200px) * 2.7);
  color: #2d255d;
  margin: 0 0 12px;
  font-family: 'Baloo 2', Quicksand, sans-serif;
  font-size: clamp(72px, 12vw, 200px);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.025em;
  text-align: center;
  white-space: nowrap;
}
.muzzy-bfcm-hero__copy > .muzzy-bfcm-offer {
  display: block;
  width: calc(clamp(72px, 12vw, 200px) * 2.7);
  margin: 0 0 22px;
  padding: 10px 22px;
  color: #fff;
  background: #dc2f74;
  border-radius: 99px;
  font-size: clamp(19px, 2.3vw, 32px);
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.muzzy-bfcm-hero__copy > .muzzy-bfcm-details {
  max-width: none;
  margin: 0;
  color: #2d255d;
  font-size: clamp(15px, 1.45vw, 21px);
  font-weight: 700;
  line-height: 1.45;
  white-space: nowrap;
}
.muzzy-bfcm-hero__copy .wp-block-buttons { display: flex; margin-top: 28px; }
.muzzy-bfcm-page .muzzy-bfcm-hero__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 56px;
  padding: 16px 32px;
  border-radius: 99px;
  color: #fff;
  background: #9138d1;
  box-shadow: 0 4px 12px #9138d14d;
  font-family: Quicksand, sans-serif;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  scroll-margin-block: 140px;
}
.muzzy-bfcm-page .muzzy-bfcm-hero__cta:hover { background: #a832e6; }
.muzzy-bfcm-page .muzzy-bfcm-hero__cta:focus-visible { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #33245b; }
.muzzy-bfcm-hero__visual {
  position: relative;
  width: 100%;
  height: 550px;
  overflow: hidden;
}
.muzzy-bfcm-hero__visual picture {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  mask-image: linear-gradient(0deg, transparent, #000 6% 94%, transparent), linear-gradient(90deg, transparent, #000 8% 92%, transparent);
  mask-composite: intersect;
}
.muzzy-bfcm-hero__art {
  position: absolute;
  display: block;
  width: auto;
  max-width: none;
  height: 110%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -53%);
}
.muzzy-bfcm-hero__new {
  position: absolute;
  top: 20px;
  left: 18px;
  z-index: 1;
  display: block;
  width: clamp(72px, 8.7vw, 140px);
  height: auto;
  filter: drop-shadow(0 3px 5px #31265b25);
}
.muzzy-bfcm-shopping > #shopify-section-muzzy-hero { display: none !important; }
body:has(.muzzy-bfcm-page:not(.muzzy-bfcm-banner-home)) .mdr-dnav__item:not(.mdr--open) > .mdr-ddrop { display: none; }
body:has(.muzzy-bfcm-banner-home) #shopify-section-muzzy-hero { display: none !important; }
@media (min-width: 750px) {
  .muzzy-bfcm-hero__copy > .muzzy-bfcm-offer { padding: 12px 28px; font-size: clamp(32px, 3.15vw, 52px); }
  .muzzy-bfcm-hero__copy > .muzzy-bfcm-details { font-size: clamp(14px, 1.8vw, 26px); }
  .muzzy-bfcm-hero__new { top: 10%; left: 18px; }
  .muzzy-bfcm-page .muzzy-bfcm-hero__cta {
    min-width: clamp(230px, 19.5vw, 330px);
    min-height: clamp(56px, 4.5vw, 76px);
    font-size: clamp(19px, 1.7vw, 28px);
    font-weight: 800;
  }
}
@media (max-width: 749px) {
  .muzzy-bfcm-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    height: calc(177.777778vw - 85px);
    min-height: 0;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    gap: 0;
    padding: 18px 18px calc(19.423868vw - 50px);
    text-align: center;
  }
  .muzzy-bfcm-hero__copy { display: contents; }
  .muzzy-bfcm-hero__copy h1 { order: 0; justify-self: center; width: calc(clamp(56px, 16vw, 72px) * 2.4); margin-bottom: 8px; font-size: clamp(56px, 16vw, 72px); }
  .muzzy-bfcm-hero__copy > .muzzy-bfcm-offer { order: 1; justify-self: center; width: calc(clamp(56px, 16vw, 72px) * 2.4); margin: 0 0 10px; padding: 7px 10px; font-size: clamp(12px, 3.6vw, 15px); }
  .muzzy-bfcm-hero__copy > .muzzy-bfcm-details { order: 2; justify-self: center; max-width: none; font-size: clamp(12px, 3.25vw, 14px); line-height: 1.4; }
  .muzzy-bfcm-hero__visual {
    order: 3;
    justify-self: center;
    width: min(100%, 350px);
    height: auto;
    align-self: stretch;
    overflow: hidden;
    margin: 12px 0;
  }
  .muzzy-bfcm-hero__visual picture { mask-image: none; }
  .muzzy-bfcm-hero__art { width: auto; max-width: 100%; height: 100%; object-fit: contain; transform: translate(-50%, -50%); }
  .muzzy-bfcm-hero__new { display: none; }
  .muzzy-bfcm-hero__copy .wp-block-buttons { order: 4; justify-content: center; margin: 0; }
  .muzzy-bfcm-hero__copy .wp-block-button { width: 57.407407vw; }
  .muzzy-bfcm-page .muzzy-bfcm-hero__cta { width: 100%; min-width: 0; min-height: 44px; height: 12.12963vw; padding: 0 16px; font-size: clamp(14px, 4.8vw, 22px); font-weight: 800; transform: translateY(-18px); }
}

/* Hide immediately on BFCM, before the visibility controller finishes loading. */
body:has(.muzzy-bfcm-page .muzzy-bfcm-hero) #mh-widget:not(.muzzy-bfcm-help-available) .mh-launcher,
#mh-widget.muzzy-bfcm-help-hidden .mh-launcher { visibility: hidden !important; pointer-events: none !important; }
