/*
 * Astral Commerce responsive typography audit — v2.8.9
 * Calmer, conversion-focused heading scale across every storefront template.
 */
:root{
  --acp-display-xl:clamp(3rem,3.8vw,4rem);
  --acp-display-lg:clamp(2.65rem,3.35vw,3.6rem);
  --acp-display-md:clamp(2.15rem,2.55vw,2.75rem);
  --acp-title-lg:clamp(1.85rem,2.15vw,2.35rem);
  --acp-title-md:clamp(1.5rem,1.8vw,1.95rem);
  --acp-heading-line-height:1.08;
  --acp-heading-tracking:-.028em;
}

/* Primary page heroes: 404, home, campaign, learn, search, editorial and legal. */
.acp-home-hero h1,
.acp-campaign-hero__content h1,
.acp-journey-hero h1,
.acp-learn-hero__copy h1,
.acp-search-hero h1,
.acp-404-hero h1,
.acp-editorial-archive-hero h1,
.acp-legal-hero h1,
.acp-article-hero__copy h1{
  max-width:16ch;
  font-size:var(--acp-display-xl)!important;
  line-height:var(--acp-heading-line-height)!important;
  letter-spacing:var(--acp-heading-tracking)!important;
  text-wrap:balance;
  overflow-wrap:normal;
}

/* The 404 headline needs room beside the decorative numeral. */
.acp-404-hero h1{
  max-width:14ch;
  font-size:clamp(3rem,3.55vw,3.75rem)!important;
}

/* Shop, product category, collection and discovery heroes. */
.acp-discovery-hero h1,
.woocommerce-products-header .page-title,
.tax-product_cat .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title{
  max-width:16ch;
  font-size:var(--acp-display-lg)!important;
  line-height:1.07!important;
  letter-spacing:-.027em!important;
  text-wrap:balance;
  overflow-wrap:normal;
}

/* Product title: impactful but subordinate to the complete purchase composition. */
.acp-product-detail-page div.product .product_title,
.single-product .product_title,
.woocommerce div.product .product_title{
  max-width:13ch;
  font-size:clamp(2.75rem,3.15vw,3.5rem)!important;
  line-height:1.045!important;
  letter-spacing:-.03em!important;
  text-wrap:balance;
  overflow-wrap:normal;
}

/* Major content and conversion section headings. */
.acp-section-heading h2,
.acp-pdp-section__heading h2,
.acp-home-story__content h2,
.acp-home-brand-spotlight h2,
.acp-empty-cart-recovery__intro h2,
.acp-newsletter__copy h2,
.acp-marketing-newsletter-card__inner h2,
.acp-marketing-cta-panel__inner h2,
.acp-info-banner h2,
.acp-home-final-cta h2,
.acp-article-cta h2,
.acp-pdp-related h2,
.acp-pdp-reviews > .acp-pdp-section__heading h2{
  font-size:var(--acp-display-md)!important;
  line-height:1.1!important;
  letter-spacing:-.022em!important;
  text-wrap:balance;
}

/* Promotional banners are supporting content, not page heroes. */
.acp-campaign-banner h2,
.acp-product-bottom-campaign h2,
[data-campaign-placement="product-bottom"] h2{
  max-width:18ch;
  font-size:clamp(2rem,2.35vw,2.65rem)!important;
  line-height:1.1!important;
  letter-spacing:-.02em!important;
  text-wrap:balance;
}

/* Product-detail headings receive their own calmer hierarchy. */
.acp-pdp-section__heading h2,
#acp-pdp-details-title,
#acp-pdp-reviews-title{
  max-width:20ch;
  font-size:clamp(2.1rem,2.45vw,2.7rem)!important;
}

.acp-pdp-related .acp-section-heading h2,
.acp-pdp-related h2{
  font-size:clamp(2.1rem,2.55vw,2.8rem)!important;
}

/* Standard page and WooCommerce workflow titles. */
.acp-page-title,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-order-received h1,
.search-results .page-title,
.search-no-results .page-title{
  font-size:var(--acp-title-lg)!important;
  line-height:1.12!important;
  letter-spacing:-.018em!important;
  text-wrap:balance;
}

@media (max-width:1024px){
  :root{
    --acp-display-xl:clamp(2.65rem,5.6vw,3.55rem);
    --acp-display-lg:clamp(2.4rem,5vw,3.15rem);
    --acp-display-md:clamp(1.95rem,3.9vw,2.5rem);
    --acp-title-lg:clamp(1.75rem,3.2vw,2.2rem);
  }

  .acp-product-detail-page div.product .product_title,
  .single-product .product_title,
  .woocommerce div.product .product_title{
    max-width:15ch;
    font-size:clamp(2.35rem,4.8vw,3rem)!important;
  }

  .acp-campaign-banner h2,
  .acp-product-bottom-campaign h2,
  [data-campaign-placement="product-bottom"] h2{
    font-size:clamp(1.9rem,3.7vw,2.4rem)!important;
  }
}

@media (max-width:767px){
  :root{
    --acp-display-xl:clamp(2.15rem,8.8vw,2.75rem);
    --acp-display-lg:clamp(2rem,8.2vw,2.55rem);
    --acp-display-md:clamp(1.7rem,6.8vw,2.1rem);
    --acp-title-lg:clamp(1.55rem,6vw,1.95rem);
    --acp-title-md:clamp(1.35rem,5.2vw,1.7rem);
  }

  .acp-home-hero h1,
  .acp-campaign-hero__content h1,
  .acp-journey-hero h1,
  .acp-learn-hero__copy h1,
  .acp-search-hero h1,
  .acp-404-hero h1,
  .acp-editorial-archive-hero h1,
  .acp-legal-hero h1,
  .acp-article-hero__copy h1,
  .acp-discovery-hero h1{
    max-width:13ch;
    line-height:1.09!important;
    letter-spacing:-.022em!important;
  }

  .acp-404-hero h1{
    font-size:clamp(2.15rem,8.6vw,2.7rem)!important;
  }

  .acp-product-detail-page div.product .product_title,
  .single-product .product_title,
  .woocommerce div.product .product_title{
    max-width:15ch;
    font-size:clamp(1.95rem,8.1vw,2.4rem)!important;
    line-height:1.075!important;
    letter-spacing:-.022em!important;
  }

  .acp-pdp-section__heading h2,
  #acp-pdp-details-title,
  #acp-pdp-reviews-title,
  .acp-pdp-related .acp-section-heading h2,
  .acp-pdp-related h2{
    font-size:clamp(1.75rem,6.9vw,2.15rem)!important;
  }

  .acp-campaign-banner h2,
  .acp-product-bottom-campaign h2,
  [data-campaign-placement="product-bottom"] h2{
    max-width:16ch;
    font-size:clamp(1.7rem,6.7vw,2.05rem)!important;
  }

  .acp-home-hero,
  .acp-discovery-hero,
  .acp-journey-hero,
  .acp-learn-hero,
  .acp-article-hero{
    row-gap:1.1rem;
  }
}

@media (max-width:430px){
  :root{
    --acp-display-xl:clamp(2.05rem,9vw,2.55rem);
    --acp-display-lg:clamp(1.9rem,8.5vw,2.35rem);
    --acp-display-md:clamp(1.6rem,7vw,2rem);
  }

  .acp-product-detail-page div.product .product_title,
  .single-product .product_title,
  .woocommerce div.product .product_title{
    font-size:clamp(1.85rem,8.3vw,2.25rem)!important;
  }
}

/* Package 9.1.1 — compact recovery and recommendation hierarchy. */
.acp-404-hero{
  gap:clamp(28px,4vw,56px)!important;
  padding:clamp(30px,4vw,48px) 0 clamp(48px,6vw,68px)!important;
}
.acp-404-hero__code{
  font-size:clamp(6.5rem,13vw,12rem)!important;
  line-height:.76!important;
}
.acp-404-hero h1{
  max-width:15ch;
  font-size:clamp(2.35rem,2.9vw,3.15rem)!important;
  line-height:1.08!important;
}
.acp-404-recovery,
.acp-search-recovery{
  padding-top:clamp(48px,6vw,68px)!important;
}
.acp-article-related-products .acp-section-heading h2,
.acp-404-recovery .acp-section-heading h2,
.acp-pdp-related .acp-section-heading h2,
.acp-pdp-related h2{
  font-size:clamp(1.75rem,2.1vw,2.25rem)!important;
  line-height:1.12!important;
}
@media(max-width:767px){
  .acp-404-hero__code{font-size:clamp(5.5rem,27vw,8rem)!important}
  .acp-404-hero h1{font-size:clamp(2rem,8vw,2.45rem)!important}
  .acp-article-related-products .acp-section-heading h2,
  .acp-404-recovery .acp-section-heading h2,
  .acp-pdp-related .acp-section-heading h2,
  .acp-pdp-related h2{font-size:clamp(1.55rem,6.3vw,1.9rem)!important}
}
/* v3.8.1 — Allow text-only editorial heroes to use the available width. */
.acp-article-hero--text-only .acp-article-hero__copy h1{
  max-width:24ch;
  text-wrap:balance;
}
@media (max-width:767px){
  .acp-article-hero--text-only .acp-article-hero__copy h1{
    max-width:16ch;
  }
}
