/* One type system for native theme sections, legacy content and embedded review text.
   Important declarations intentionally replace older section-level font overrides. */
body.bn-theme {
  --font-body-family: 'Manrope', 'Segoe UI', sans-serif;
  --font-heading-family: 'Manrope', 'Segoe UI', sans-serif;
  --font-body-weight: 400;
  --font-body-weight-bold: 700;
  --font-heading-weight: 650;
  --bn-type-display: clamp(36px,4.3vw,60px);
  --bn-type-title: clamp(32px,3.6vw,48px);
  --bn-type-section: clamp(28px,2.8vw,38px);
  font-weight: 400;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}
.bn-theme :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,label,summary,legend,li,dt,dd,blockquote,figcaption,td,th,small,strong,em),
.bn-theme [data-oke-container], .bn-theme .okeReviews {
  font-family: var(--font-body-family) !important;
}
.bn-theme :is(h1,h2,h3,h4,h5,h6,.h0,.h1,.h2,.h3,.section_title,.main_title) {
  font-weight: 650 !important;
  letter-spacing: -.035em !important;
  line-height: 1.2 !important;
  text-wrap: balance;
}
.bn-theme :is(h1,.h0,.h1,.main-page-title,.product__title h1,.collection-hero__title) { font-size: var(--bn-type-title) !important; }
.bn-theme :is(h2,.h2,.section_title,.main_title,.faq__title) { font-size: var(--bn-type-section) !important; }
.bn-theme :is(h3,.h3) { font-size: clamp(21px,2vw,26px) !important; }
.bn-theme h4 { font-size: 20px !important; }
.bn-theme h5 { font-size: 17px !important; }
.bn-theme h6 { font-size: 15px !important; }
.bn-theme :is(.rte,.rte p,.rte li,.product__description,.about_header p,.about_sec2 p,.about-page-sec3 p,.contact-banner p,.bn-editorial p,.bn-editorial li) {
  font-size: 16px; line-height: 1.75; letter-spacing: 0; font-weight: 400;
}
.bn-theme :is(strong,b) { font-weight: 700; }
.bn-theme :is(button,.button,.common_btn,.bn-card-options,.bn-footer-shop) { font-size: 15px; font-weight: 650; letter-spacing: .015em; line-height: 1.4; }
.bn-theme :is(input,textarea,select,.field__input,.select__select) { font-size: 16px; font-weight: 400; line-height: 1.5; }
.bn-theme :is(label,legend,.form__label,.field__label) { font-size: 14px; letter-spacing: 0; }
.bn-theme :is(.header__menu-item,.list-menu__item) { font-size: 15px; font-weight: 500; letter-spacing: 0; }
.bn-theme .menu-drawer__menu-item { font-size: 18px; }
.bn-theme .homepageBanner .slide-content-inner h2 { font-size: var(--bn-type-display) !important; font-weight: 700 !important; }
.bn-theme .homepageBanner .slide-content-inner h3 { font-size: clamp(28px,3.2vw,46px) !important; font-weight: 400 !important; letter-spacing: -.025em !important; }
.bn-theme .homepageBanner .slide-content-inner p { font-size: clamp(16px,1.5vw,20px) !important; font-weight: 500 !important; line-height: 1.6; letter-spacing: 0; }
.bn-theme .homepageBanner .learn_more { font-size: 16px; font-weight: 700; }
.bn-theme .collection-hero__description, .bn-theme .collection-hero__description p { font-size: 17px !important; line-height: 1.7; }
.bn-theme .card__heading, .bn-theme #product-grid .card__heading { font-size: clamp(21px,1.8vw,24px) !important; line-height: 1.3 !important; }
.bn-theme #product-grid .bn-card-description { font-size: 15px !important; line-height: 1.65; letter-spacing: 0; }
.bn-theme :is(.price,.price-item,.bn-purchase__variant-price) { font-family: var(--font-body-family) !important; font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.01em; }
.bn-theme #product-grid .price { font-size: 18px !important; }
.bn-theme :is(.price__sale s,.price__regular s) { font-size: 13px; }
.bn-theme :is(.bn-purchase__variant-copy strong,.bn-purchase__variant-price strong) { font-size: 18px; }
.bn-theme :is(.bn-purchase__unit,.bn-purchase__terms,.bn-purchase__saving) { font-size: 13px; line-height: 1.5; }
.bn-theme :is(.bn-guide-card h2,.bn-routine h2) { font-size: clamp(24px,2.3vw,30px) !important; }
.bn-theme :is(.bn-testimonial h3,.bn-ingredient-details h3,.reviews-slider h3) { font-size: 20px !important; line-height: 1.35 !important; }
.bn-theme :is(.bn-testimonial__body,.reviews-slider p) { font-size: 15px; line-height: 1.75; letter-spacing: 0; }
.bn-theme :is(.bn-guide-question summary,.faq .accordion-button) { font-size: 16px !important; font-weight: 600; line-height: 1.5 !important; letter-spacing: -.01em; }
.bn-theme :is(.faq .accordion-body,.bn-guide-question .rte),
.bn-theme :is(.faq .accordion-body,.bn-guide-question .rte) * { font-family: var(--font-body-family) !important; }
.bn-theme :is(.faq .accordion-body,.bn-guide-question .rte) { font-size: 16px; line-height: 1.75; letter-spacing: 0; }
.bn-theme :is(.bn-eyebrow,.bn-collection-eyebrow,.bn-footer-eyebrow) { font-size: 12px !important; font-weight: 700 !important; line-height: 1.5 !important; letter-spacing: .13em !important; }
.bn-theme :is(.badge,.caption,.caption-with-letter-spacing,.bn-testimonial__person,.bn-testimonials__heading p) { font-size: 13px; line-height: 1.5; }
.bn-theme .footer .footer-block__heading { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .1em !important; line-height: 1.5 !important; }
.bn-theme .footer :is(.footer-block__details-content,.footer-block__details-content p,.footer-block__details-content a) { font-size: 14px !important; line-height: 1.8; font-weight: 400; }
.bn-theme .footer :is(.copyright__content,.copyright__content a,.bn-footer-disclaimers p) { font-size: 12px !important; line-height: 1.7; letter-spacing: 0; }
.bn-theme .footer .localization-form h2 { font-size: 12px !important; letter-spacing: 0 !important; }
.bn-theme :is(.cart-item__name,.cart-drawer h2,.predictive-search__heading) { font-size: 18px !important; line-height: 1.4 !important; }
.bn-theme :is(.product-count__text,.facets__heading,.facet-filters__label,.mobile-facets__heading,.cart-notification__heading) { font-size: 14px !important; line-height: 1.5 !important; letter-spacing: 0 !important; font-weight: 500 !important; }
.bn-theme :is(.totals h2,.totals__total,.cart__warnings h2) { font-size: 24px !important; }
.bn-theme :is(.shopify-policy__body,.shopify-policy__body p,.shopify-policy__body li) { font-size: 16px; line-height: 1.8; }
@media (max-width: 749px) {
  .bn-theme .collection-hero__description, .bn-theme .collection-hero__description p { font-size: 16px !important; }
  .bn-theme .product__title h1 { font-size: 32px !important; }
}
