/* Saška's packaging-led typography, October 2026.
 * Load after the component styles. Font files are served locally.
 * Display 600 / product identity 500 / reading text 300–400.
 */
:root {
  --aa-font-body: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --aa-font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --aa-font-heading: var(--aa-font-display);
}

body {
  font-family: var(--aa-font-body);
  font-weight: 400;
}

/* Native controls and Select2 should match the surrounding storefront.
 * Icon elements, pseudo-elements and payment-provider frames are untouched.
 */
body :is(button, input, select, textarea),
body .select2-container,
body .select2-dropdown {
  font-family: var(--aa-font-body);
}

/* The earlier brand refinement uses important heading weights. */
body :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--aa-font-display) !important;
  font-weight: 600 !important;
}

body :is(strong, b) {
  font-weight: 600;
}

/* Campaign display copy and large editorial introductions. */
body .aa-home-campaign-202610 :is(.aa-campaign-hero__copy h1, .aa-campaign-bf__banner h2, .aa-campaign-compare__copy h2) {
  font-weight: 600 !important;
  letter-spacing: -.035em;
}

.aa-home-campaign-202610 .aa-campaign-hero__description,
.aa-home-campaign-202610 .aa-campaign-compare__description,
.aa-home-campaign-202610 .aa-campaign-bf__headline,
.aa-home-campaign-202610 .aa-campaign-bf__subline,
.aa-pdp .aa-pdp-decision,
.aa-page__intro,
.aa-article__deck {
  font-weight: 300;
}

.aa-home-campaign-202610 :is(.aa-campaign-hero__description, .aa-campaign-compare__description) strong {
  font-weight: 500;
}

.aa-home-campaign-202610 .aa-campaign-hero__soon > span,
.aa-home-campaign-202610 .aa-campaign-offer__contents strong,
.aa-home-campaign-202610 .aa-campaign-offer__price .aa-tetra-set-price__current strong,
.aa-cream-bf-hero__caption strong,
.aa-archive-card__note--offer strong,
.aa-site-strip__offer strong {
  font-weight: 600;
}

/* Full product names remain smaller than editorial headings, in one line.
 * Existing container-relative sizing is retained for the product grids.
 */
body h1.aa-product-name,
body .aa-pdp-summary h1.aa-product-name,
body .aa-az h1.aa-product-name,
body .aa-home-campaign-202610 .aa-campaign-offer h3,
body .aa-archive-card h2,
body .aa-offer-card__body h3,
body .aa-bundle-card h2,
body .aa-cream-guide__card h2,
body .aa-pdp .aa-pdp-compare__card h3,
body .aa-pdp .aa-pdp-pairing__info > strong,
body .aa-pdp-summary .aa-pdp-choice__top strong,
body .aa-pdp-choice strong,
body .aa-routine-names,
body .aa-home-range-card__title h3,
body .aa-shop-chooser__option strong,
body .aa-texture-guide__option strong,
body .aa-pp-product h3,
body .aa-cart-items .product-name > a,
body .aa-checkout__summary .product-name,
body .aa-checkout__summary .cg-checkout-table-product-name,
body .aa-sidecart__item-name,
body .aa-sidecart__offer-product strong,
body .aa-sidecart__choice-copy strong,
body .aa-sidecart__bundle-product strong,
body .aa-dtc-sticky__name {
  font-family: var(--aa-font-body) !important;
  font-weight: 500 !important;
}

.aa-campaign-offer__body {
  container-type: inline-size;
}

body .aa-home-campaign-202610 .aa-campaign-offer h3 {
  font-size: clamp(13px, 5.2cqw, 24px);
  line-height: 1.35;
  letter-spacing: -.025em;
}

/* Routine cards name each included product on its own line. */
body .aa-archive-card__info .aa-routine-names {
  font-size: clamp(12px, 5.2cqw, 20px) !important;
  font-weight: 500 !important;
}

body .aa-archive-card__info .aa-routine-names > span,
body .aa-archive-card__info .aa-routine-names > a > span {
  display: block;
  white-space: nowrap;
}

/* Functional labels retain contrast and clarity without the old heavy weight. */
body :is(.aa-site-nav a, .aa-site-language, .aa-site-cart, .aa-site-mobile-nav > a),
body :is(.aa-site-footer h2, .aa-site-footer nav p.aa-site-footer__review-note),
body :is(.aa-sidecart__eyebrow, .aa-sidecart__countline, .aa-sidecart__view-bag),
body :is(.aa-page__eyebrow, .aa-pdp-eyebrow, .aa-archive-card__kind, .aa-pdp-choice__label),
body :is(.aa-pdp-stock, .aa-pdp-accordion summary, .aa-pdp-quickhow strong),
body :is(.aa-pdp-context__eyebrow, .aa-pdp-context__detail, .aa-pdp-compare__kind),
body :is(.aa-pdp-compare__head p, .aa-pdp-compare__card dt),
body :is(.aa-pdp-review-card__attribution cite, .aa-pdp-review-card__attribution span) {
  font-weight: 500;
}

/* Action labels use the same 600 as the campaign headlines. */
body .aa-home-campaign-202610 .aa-campaign-button,
body.single-product .aa-pdp form.cart button.single_add_to_cart_button,
body :is(.aa-archive-card__link, .aa-offer-card__body .aa-button, .aa-cream-guide__card a),
body :is(.aa-sidecart__checkout, .aa-sidecart__empty-link, .aa-sidecart__offer-action, .aa-sidecart__choice-buy button),
body :is(.aa-dtc-sticky__action, .aa-pdp-reviews .aa-pdp-reviews__more, .aa-withdraw__button),
body .aa-order-confirmation .aa-pp-button {
  font-weight: 600;
}

/* Reading text stays at 400 in dense commerce interfaces and long product copy. */
body .aa-pdp-description,
body .aa-pdp-accordion,
body .aa-archive-card__info,
body .aa-offer-card__body,
body .aa-sidecart,
body .aa-cart,
body .aa-checkout,
body .aa-site-footer,
body .aa-page__content {
  font-weight: 400;
}

body .aa-site-footer__brand p {
  font-weight: 300;
}

/* Klaviyo's theme variables cover widgets without replacing their star font. */
body :is(.aa-pdp-reviews, .aa-pdp-rating, .aa-home-reviews, .aa-review-stars-summary) {
  --kl-reviews-stars-primary-font-font-family: var(--aa-font-body);
  --kl-reviews-reviews-primary-font-font-family: var(--aa-font-body);
  --kl-reviews-reviews-secondary-font-font-family: var(--aa-font-body);
  --kl-reviews-reviews-button-font-font-family: var(--aa-font-body);
  --kl-reviews-featured-primary-font-font-family: var(--aa-font-body);
}

/* A full product identity may wrap in narrow transactional rows rather than
 * colliding with the remove control or the order total. Grid/PDP titles above
 * retain their one-line treatment.
 */
body .aa-sidecart__panel .aa-sidecart__item-name {
  white-space: normal;
  overflow-wrap: normal;
  letter-spacing: -.015em;
  line-height: 1.45;
}

@media (max-width: 680px) {
  body .aa-home-campaign-202610 .aa-campaign-hero__copy h1 {
    font-size: clamp(29px, 7.8vw, 45px);
    line-height: 1.13;
  }
  body .aa-home-campaign-202610 .aa-campaign-compare__copy h2 {
    line-height: 1.13;
  }
  body .aa-home-campaign-202610 .aa-campaign-hero__description {
    line-height: 1.7;
  }
}

/* The parent theme's production Customizer prints default Inter and blue links.
   Keep the storefront's approved type and product-link colour in either language. */
body:is(.aa-lang-en, .aa-lang-sl) {
  font-family: var(--aa-font-body) !important;
  color: #202020;
}
body .aa-archive .aa-archive-card h2 a,
body .aa-archive .aa-archive-card h2 a:visited,
body .aa-campaign-offer h3 a,
body .aa-archive__head h1,
body .aa-shop-chooser h2,
body .aa-pdp h1,
body .aa-cream-bf-offer h2 {
  color: #202020;
}
