/* =========================================================================
   N-INNER HERO – Shared internal page/collection hero
   ========================================================================= */

.n-inner-hero {
  position: relative;
  width: 100%;
  background: var(--vf-color-bg-alt, #f9f8f6);
  color: var(--vf-color-primary, #1a1a1a);
  overflow: hidden;
}

.n-inner-hero.has-media {
  min-height: clamp(28rem, 68vh, 52rem);
  color: #fff;
  background: #111;
}

.n-inner-hero__media,
.n-inner-hero__overlay {
  position: absolute;
  inset: 0;
}

.n-inner-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.n-inner-hero__overlay {
  background: linear-gradient(
    180deg,
    rgba(17, 17, 17, 0.2) 0%,
    rgba(17, 17, 17, 0.52) 100%
  );
}

.n-inner-hero__inner {
  position: relative;
  z-index: 1;
  width: min(100%, var(--vf-max-width, 1500px));
  min-height: inherit;
  margin: 0 auto;
  padding: clamp(7rem, 14vw, 11rem)
    var(--vf-section-gutter, clamp(1.5rem, 3vw, 4rem)) clamp(4rem, 8vw, 6rem);
  display: flex;
  align-items: flex-end;
}

.n-inner-hero--compact .n-inner-hero__inner {
  padding-top: clamp(6rem, 12vw, 8rem);
  padding-bottom: clamp(3rem, 6vw, 4rem);
}

.n-inner-hero--align-center .n-inner-hero__content {
  margin-inline: auto;
  text-align: center;
}

.n-inner-hero__content {
  width: min(100%, 48rem);
}

.n-inner-hero__eyebrow {
  display: inline-block;
  margin-bottom: var(--vf-section-eyebrow-gap, 1.25rem);
  font-family: var(--vf-font-body, 'Montserrat', sans-serif);
  font-size: var(--vf-section-eyebrow-size, clamp(0.65rem, 0.9vw, 0.8rem));
  letter-spacing: var(--vf-tracking-wider, 0.25em);
  text-transform: uppercase;
  color: currentColor;
}

.n-inner-hero__title {
  margin: 0;
  font-family: var(--vf-font-heading, 'Cormorant Garamond', serif);
  font-size: clamp(2.2rem, 5.2vw, 5rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: clamp(0.08em, 0.6vw, 0.18em);
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  text-wrap: balance;
  text-transform: uppercase;
  color: currentColor;
}

.n-inner-hero__description {
  margin-top: clamp(1.25rem, 2vw, 1.8rem);
  font-family: var(--vf-font-body, 'Montserrat', sans-serif);
  font-size: var(--vf-section-copy-size, clamp(0.92rem, 1.1vw, 1rem));
  line-height: var(--vf-section-copy-line-height, 1.85);
  color: currentColor;
  opacity: 0.92;
}

.n-inner-hero__description p:last-child {
  margin-bottom: 0;
}

.n-inner-page__content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(3rem, 6vw, 5rem)
    var(--vf-section-gutter, clamp(1.5rem, 3vw, 4rem)) clamp(4rem, 8vw, 6rem);
}

.n-inner-page {
  --vf-page-container-width: var(--vf-max-width, 1500px);
}

.n-inner-page.elementor-page-content > .elementor {
  width: 100%;
  max-width: none;
}

.n-inner-page.elementor-page-content {
  --container-max-width: var(--vf-page-container-width);
}

.n-inner-page.elementor-page-content
  .elementor-section.elementor-section-boxed
  > .elementor-container,
.n-inner-page.elementor-page-content .e-con-boxed > .e-con-inner {
  width: min(100%, var(--vf-page-container-width));
  max-width: var(--vf-page-container-width);
}

.n-inner-page .vf-page-container {
  width: min(100%, var(--vf-page-container-width));
  margin-inline: auto;
  padding-inline: var(--vf-section-gutter, clamp(1.5rem, 3vw, 4rem));
}

@media (max-width: 1024px) {
  .n-inner-hero__content {
    width: min(100%, 40rem);
  }

  .n-inner-hero__title {
    font-size: clamp(1.95rem, 5.6vw, 3.6rem);
    line-height: 1.08;
    letter-spacing: 0.075em;
  }
}

@media (max-width: 767px) {
  .n-inner-hero.has-media {
    min-height: 24rem;
  }

  .n-inner-hero__inner {
    padding-top: 6.5rem;
    padding-bottom: 3rem;
  }

  .n-inner-hero__title {
    font-size: clamp(1.5rem, 8.8vw, 2.35rem);
    line-height: 1.1;
    letter-spacing: 0.06em;
  }
}
