/* ==========================================================================
   Main Collection Cover Banner Restyling
   ========================================================================== */

.main-collection-cover {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Full Width Banner Container */
.block-main-collection__banner {
  position: relative;
  display: block;
  width: 100%;
}

/* --------------------------------------------------------------------------
   NO IMAGE STATE: Full Width Background Color Across Screen
   -------------------------------------------------------------------------- */
.block-main-collection__banner--no-image {
  width: 100%;
  height: auto;
  min-height: 0;
  border-radius: 0;
  background-color: transparent !important;
}

.block-main-collection__banner--no-image .block-main-collection__banner-inner {
  position: relative;
  inset: auto;
  height: auto;
  max-width: var(--page-width, 1400px);
  margin: 0 auto;
  padding: 48px 20px;
  font-family: "Poppins", sans-serif;
  text-align: center;
}

/* --------------------------------------------------------------------------
   WITH IMAGE STATE: Rounded Card Container
   -------------------------------------------------------------------------- */
.block-main-collection__banner:not(.block-main-collection__banner--no-image) {
  max-width: 75%;
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;
}

@media (max-width: 1024px) {
  .block-main-collection__banner:not(.block-main-collection__banner--no-image) {
    max-width: 90%;
  }
}

.block-main-collection__banner--no-image .block-main-collection__banner-inner {
  max-width: 75%;
  margin: 0 auto;
}

@media (max-width: 749px) {
  .block-main-collection__banner:not(.block-main-collection__banner--no-image) {
    margin: 0 12px;
  }
}

.block-main-collection__banner-sizer {
  width: 100%;
  height: 100%;
  aspect-ratio: var(--banner-aspect-ratio, 16 / 5);
  min-height: 260px;
  max-height: 480px;
}

@media (max-width: 959px) {
  .block-main-collection__banner-sizer {
    aspect-ratio: var(--mobile-banner-aspect-ratio, 16 / 7);
    min-height: 180px;
  }
}

/* Dark Overlay Gradient for Banner Image */
.block-main-collection__banner-mask::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.45) 100%);
  pointer-events: none;
}

.block-main-collection__banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--object-position, center);
}

.block-main-collection__banner-inner {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: rgb(var(--color-text));
  padding: 20px;
}

.block-main-collection__banner-inner a {
  padding-inline-end: 10px;
  color: inherit;
  text-decoration: none;
}

.block-main-collection__banner-inner>div {
  text-align: center;
  width: 100%;
}

/* Base Heading Title Style */
.block-main-collection__heading {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 52px;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
}

@media (max-width: 959px) {
  .block-main-collection__heading {
    font-size: 32px;
  }
}

/* White text & shadow ONLY when banner HAS a background image */
.block-main-collection__banner:not(.block-main-collection__banner--no-image) .block-main-collection__heading {
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.block-main-collection__banner:not(.block-main-collection__banner--no-image) .block-main-collection__description {
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

.block-main-collection__banner:not(.block-main-collection__banner--no-image) .block-main-collection__banner-inner a {
  color: rgba(255, 255, 255, 0.85);
}

/* Default dark text when banner has NO image */
.block-main-collection__banner--no-image .block-main-collection__heading {
  color: rgb(var(--color-text));
  text-shadow: none;
}

.block-main-collection__banner--no-image .block-main-collection__description {
  color: rgb(var(--color-text));
  text-shadow: none;
}

.block-main-collection__description {
  margin-block-start: 16px;
}

@media (max-width: 959px) {
  .block-main-collection__description {
    margin-block-end: 16px;
  }
}