/* ==========================================================================
   Full-width page hero (home, wholesale, etc.)
   ========================================================================== */

.coffee-hero-page #main-content,
.coffee-hero-page #brx-content,
.coffee-hero-page .coffee-home,
.coffee-hero-page .coffee-wholesale,
.coffee-hero-page .coffee-contact,
.coffee-hero-page .coffee-impact,
.coffee-hero-page .coffee-discover {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.coffee-page-hero,
.coffee-home-hero {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  margin-left: calc(50% - 50vw);
  height: calc(100dvh - var(--header-height));
  min-height: calc(100dvh - var(--header-height));
  max-height: calc(100dvh - var(--header-height));
  display: grid;
  align-items: end;
  overflow: hidden;
}

@supports not (height: 100dvh) {
  .coffee-page-hero,
  .coffee-home-hero {
    height: calc(100vh - var(--header-height));
    min-height: calc(100vh - var(--header-height));
    max-height: calc(100vh - var(--header-height));
  }
}

.coffee-page-hero__media,
.coffee-home-hero__media {
  position: absolute;
  inset: 0;
  top: 0;
}

.coffee-page-hero__image,
.coffee-home-hero__image,
.coffee-page-hero__media .coffee-media--placeholder,
.coffee-home-hero__media .coffee-media--placeholder {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.coffee-home-hero__image,
.coffee-home-hero__media .coffee-media--placeholder {
  object-position: center 30%;
}

.coffee-page-hero__image,
.coffee-wholesale-hero .coffee-media--placeholder {
  object-position: center;
}

.coffee-page-hero__overlay,
.coffee-home-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(18, 16, 14, 0.15) 0%,
    rgba(18, 16, 14, 0.72) 100%
  );
}

.coffee-page-hero__content,
.coffee-home-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: var(--space-10) var(--space-8);
  color: var(--color-text-inverse);
}

/* Home: vertically center brand + tagline + CTAs */
.coffee-home-hero {
  align-items: center;
}

.coffee-home-hero__content {
  padding-block: var(--space-8);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.coffee-page-hero__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.03em;
  max-width: 18ch;
}

.coffee-page-hero__brand {
  margin: 0 0 var(--space-3);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.92;
}
