/* Nordic Apothecary featured product hero
   Aesop-inspired product-first split: dominant media, compact buy column. */

.na-featured {
  --na-rule: rgba(var(--color-foreground), 0.14);
  --na-text: rgb(var(--color-foreground));
  --na-muted: rgba(var(--color-foreground), 0.62);
  --na-soft: rgba(var(--color-foreground), 0.045);
  --na-panel-max: 44rem;
  --na-media-max: 72rem;
}

.na-featured .gradient,
.na-featured .background-secondary {
  background: transparent !important;
}

.na-featured .na-shell {
  max-width: min(var(--page-width), 144rem);
  margin: 0 auto;
  padding: 1.6rem 2rem 3.2rem;
}

.na-featured .featured-product.product {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  background: transparent !important;
}

.na-featured .product__media-wrapper {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.na-featured .product__media-wrapper > media-gallery,
.na-featured .product__media-wrapper media-gallery,
.na-featured .product__media-wrapper slider-component {
  display: block !important;
  width: 100% !important;
}

.na-featured .product__media-list,
.na-featured .product__media,
.na-featured .media-gallery,
.na-featured .product__media-item,
.na-featured .product-media-container,
.na-featured .product__modal-opener {
  width: 100% !important;
  max-width: var(--na-media-max) !important;
  margin: 0 auto !important;
}

.na-featured .product__media-list {
  justify-content: center !important;
}

.na-featured .product__media-item,
.na-featured .product-media-container,
.na-featured .global-media-settings,
.na-featured .media {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.na-featured .product-media-container .media {
  aspect-ratio: 4 / 5;
  min-height: 0 !important;
  max-height: none !important;
  padding-top: 0 !important;
}

.na-featured .product__media img,
.na-featured .product-media-container img,
.na-featured .media img,
.na-featured .deferred-media__poster img {
  width: 100% !important;
  height: 100% !important;
  object-position: center !important;
}

.na-featured .product__media img,
.na-featured .product-media-container img,
.na-featured .media img {
  object-fit: contain !important;
}

.na-featured .product-media-container.media-fit-cover img,
.na-featured .product-media-container.media-fit-cover .deferred-media__poster img {
  object-fit: cover !important;
}

.na-featured .na-product-media-fallback .na-product-fallback-image {
  object-fit: cover !important;
  object-position: center !important;
}

.na-featured .product__info-wrapper {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 2.6rem 0 0 !important;
}

.na-featured .product__info-container {
  width: 100% !important;
  max-width: var(--na-panel-max) !important;
  margin: 0 auto !important;
}

.na-featured .product__info-container > * + * {
  margin-top: 1.2rem !important;
  margin-bottom: 0 !important;
}

.na-featured .product__text {
  margin: 0 0 0.8rem !important;
  font-family: var(--font-body-family);
  font-size: 1.1rem !important;
  line-height: 1.4;
  letter-spacing: 0 !important;
  text-transform: uppercase;
  color: var(--na-muted);
}

.na-featured .product__title,
.na-featured .product__title *,
.na-featured h1,
.na-featured h2,
.na-featured h3 {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  letter-spacing: 0 !important;
}

.na-featured .product__title {
  margin: 0 0 1.4rem !important;
  font-family: var(--font-heading-family);
  font-style: var(--font-heading-style);
  font-weight: var(--font-heading-weight);
  font-size: 3rem !important;
  line-height: 1.12 !important;
  color: var(--na-text);
}

.na-featured .price--large,
.na-featured .price {
  font-family: var(--font-body-family);
  font-size: 1.6rem !important;
  line-height: 1.45;
  letter-spacing: 0 !important;
  color: var(--na-text);
}

.na-featured .price__badge-sale,
.na-featured .price__badge-sold-out {
  display: none !important;
}

.na-featured .na-rule {
  border-top: 1px solid var(--na-rule);
  margin: 1.6rem 0 !important;
}

.na-featured .product__tax {
  margin-top: 0.8rem !important;
  margin-bottom: 1.6rem !important;
  font-family: var(--font-body-family);
  font-size: 1.2rem !important;
  line-height: 1.5;
  color: var(--na-muted);
}

.na-featured .product-form__input .form__label,
.na-featured .quantity__label.form__label {
  margin-bottom: 0.8rem;
  font-family: var(--font-body-family);
  font-size: 1.1rem !important;
  line-height: 1.4;
  letter-spacing: 0 !important;
  text-transform: uppercase;
  color: var(--na-muted);
}

.na-featured .product-form__quantity {
  margin: 0 0 1.4rem !important;
  max-width: 13.6rem !important;
  min-width: 0 !important;
}

.na-featured quantity-input.quantity {
  min-height: 4.8rem;
  padding: 0;
  background: transparent;
  border: 1px solid var(--na-rule);
  border-radius: 0;
}

.na-featured .quantity__button,
.na-featured .quantity__input {
  min-height: 4.8rem;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  color: var(--na-text);
}

.na-featured .quantity__input {
  font-size: 1.4rem;
}

.na-featured .product-form {
  margin: 0 !important;
}

.na-featured .product-form__buttons {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
}

.na-featured .product-form__submit {
  width: 100% !important;
  min-height: 5.2rem;
  margin-bottom: 0 !important;
  border-radius: var(--buttons-radius, 0) !important;
  font-family: var(--font-body-family);
  font-size: 1.4rem !important;
  font-weight: var(--font-body-weight);
  letter-spacing: 0 !important;
  background: rgb(var(--color-button)) !important;
  color: rgb(var(--color-button-text)) !important;
  border: 0.1rem solid rgb(var(--color-button)) !important;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.na-featured .product-form__submit:hover {
  background: rgba(var(--color-button), 0.88) !important;
  border-color: rgba(var(--color-button), 0.88) !important;
}

.na-featured .shopify-payment-button,
.na-featured .shopify-payment-button__button {
  display: none !important;
  width: 100% !important;
}

.na-featured #shopify-buyer-consent {
  display: none !important;
}

.na-featured .shopify-payment-button__button--unbranded {
  min-height: 5.2rem;
  border-radius: var(--buttons-radius, 0) !important;
  background: transparent !important;
  color: var(--na-text) !important;
  border: 0.1rem solid var(--na-rule) !important;
  letter-spacing: 0 !important;
  transition: border-color 160ms ease, background 160ms ease;
}

.na-featured .shopify-payment-button__button--unbranded:hover {
  border-color: rgba(var(--color-foreground), 0.42) !important;
  background: var(--na-soft) !important;
}

.na-featured .share-button {
  margin-top: 1.4rem !important;
}

.na-featured .product__view-details {
  margin-top: 1.4rem !important;
  font-family: var(--font-body-family);
  font-size: 1.3rem;
  letter-spacing: 0;
  color: var(--na-text) !important;
  text-decoration: underline;
  text-underline-offset: 0.4rem;
}

@media screen and (min-width: 750px) {
  .na-featured .na-shell {
    padding: 2.4rem 4rem 4rem;
  }

  .na-featured .featured-product.product {
    grid-template-columns: minmax(0, 56fr) minmax(34rem, 44fr) !important;
  }

  .na-featured .product__info-wrapper {
    padding: 3.2rem 0 3.2rem 4rem !important;
  }

  .na-featured .product__info-container {
    margin-right: auto !important;
    margin-left: 0 !important;
  }
}

@media screen and (min-width: 990px) {
  .na-featured .na-shell {
    padding: 2.8rem 5rem 4.8rem;
  }

  .na-featured .featured-product.product {
    grid-template-columns: minmax(0, 58fr) minmax(36rem, 42fr) !important;
  }

  .na-featured .product__info-wrapper {
    padding: 4.8rem 0 4.8rem 5.6rem !important;
  }

  .na-featured .product__title {
    font-size: 3.4rem !important;
  }
}

@media screen and (min-width: 1200px) {
  .na-featured .product__info-wrapper {
    padding-left: 6.4rem !important;
  }
}

@media screen and (max-width: 749px) {
  .na-featured .na-shell {
    max-width: 100%;
    padding: 0 0 3.2rem;
  }

  .na-featured .featured-product.product {
    gap: 0 !important;
  }

  .na-featured .product__media-list,
  .na-featured .product__media,
  .na-featured .media-gallery,
  .na-featured .product__media-item,
  .na-featured .product-media-container,
  .na-featured .product__modal-opener {
    max-width: 100% !important;
  }

  .na-featured .product-media-container .media {
    aspect-ratio: 1 / 1;
  }

  .na-featured .product__info-wrapper {
    padding: 2.4rem 2rem 0 !important;
  }

  .na-featured .product__info-container {
    max-width: 100% !important;
  }

  .na-featured .product__title {
    font-size: 2.8rem !important;
    line-height: 1.12 !important;
  }
}
