/* One typography system across collection, product, care, and cart interfaces.
   Layout, color, spacing, and animation stay in styles.css. */
:root {
  --font-sans: 'Inter', Arial, sans-serif;
  --font-display: 'Italiana', Georgia, serif;
  --font-product-name: Georgia, 'Times New Roman', serif;
  --weight-body: 400;
  --weight-ui: 500;
  --weight-strong: 600;
  --text-body: .9375rem;
  --text-small: .8125rem;
  --text-label: .625rem;
  --text-nav: .8125rem;
  --text-button: .875rem;
  --text-product-title: 1.25rem;
  --text-product-page-title: clamp(1.75rem, 3.2vw, 2.75rem);
  --text-section-title: clamp(1.75rem, 3vw, 2.5rem);
  --text-benefit-title: 1.0625rem;
  --text-display: clamp(2rem, 5.3vw, 5rem);
  --text-price: 1rem;
  --leading-body: 1.65;
  --leading-ui: 1.45;
  --leading-heading: 1.25;
  --leading-display: 1.08;
  --tracking-body: 0;
  --tracking-heading: -.025em;
  --tracking-label: .14em;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: var(--weight-body);
  line-height: var(--leading-body);
  letter-spacing: var(--tracking-body);
  font-synthesis: none;
}
body { font-size: var(--text-body); }
button, input, select, textarea { font-family: var(--font-sans); font-size: var(--text-button); font-weight: var(--weight-ui); line-height: var(--leading-ui); letter-spacing: 0; }
a { font-family: inherit; }
h1, h2, h3, h4 { font-family: var(--font-sans); font-weight: var(--weight-ui); line-height: var(--leading-heading); letter-spacing: var(--tracking-heading); }
strong, b { font-weight: var(--weight-strong); } .product-card p, .detail details p, .review-grid blockquote p, .care-lead, .care-grid p,
.footer-upper p{
  font-family: var(--font-sans); font-size: var(--text-body); font-weight: var(--weight-body);
  line-height: var(--leading-body); letter-spacing: var(--tracking-body);
} .rating, .review-summary, .review-grid cite,
.detail dl, .cart-row p, .cart-empty, .cart-suggestions h3, .cart-footer p{
  font-family: var(--font-sans); font-size: var(--text-small); font-weight: var(--weight-body);
  line-height: var(--leading-body); letter-spacing: var(--tracking-body);
} .eyebrow, .section-heading .eyebrow, .product-category,
.styled-masthead, .styled-caption{
  font-family: var(--font-sans); font-size: var(--text-label); font-weight: var(--weight-ui);
  line-height: var(--leading-ui); letter-spacing: var(--tracking-label); text-transform: uppercase;
} .site-header nav a, .footer-upper nav a{
  font-family: var(--font-sans); font-size: var(--text-nav); font-weight: var(--weight-ui);
  line-height: var(--leading-ui); letter-spacing: 0;
}
.announcement { font-family: var(--font-sans); font-size: var(--text-small); font-weight: var(--weight-ui); line-height: var(--leading-ui); letter-spacing: var(--tracking-label); } .product-card h2 { font-size: var(--text-product-title); font-weight: var(--weight-ui); } .section-heading h1, .section-heading h2, .reviews h2, .details>h2,
.care-page>h1 { font-family: var(--font-sans); font-size: var(--text-section-title); font-weight: var(--weight-ui); line-height: var(--leading-heading); letter-spacing: var(--tracking-heading); }
.care-grid h2, .cart-heading h2 { font-size: var(--text-product-title); }
.detail h3 { font-family: var(--font-sans); font-size: var(--text-product-page-title); } .benefits h2, .trust-strip h2 { font-family: var(--font-sans); font-size: var(--text-benefit-title); font-weight: var(--weight-strong); line-height: var(--leading-heading); letter-spacing: -.015em; }
.benefits p, .trust-strip p, .section-heading>p, .styled-intro p { font-family: var(--font-sans); font-size: var(--text-small); font-weight: var(--weight-body); line-height: var(--leading-body); letter-spacing: var(--tracking-body); } .back-link,
.cart-add, .cart-checkout, .care-grid summary, .detail summary {
  font-family: var(--font-sans); font-size: var(--text-button); font-weight: var(--weight-ui);
  line-height: var(--leading-ui); letter-spacing: 0;
} .price, .cart-subtotal, .cart-total {
  font-family: var(--font-sans); font-size: var(--text-price); font-weight: var(--weight-ui);
  line-height: var(--leading-ui); letter-spacing: -.01em; font-variant-numeric: tabular-nums;
}
.cart-row h3 { font-size: var(--text-body); font-weight: var(--weight-ui); }
.cart-add span, .detail dd { font-weight: var(--weight-ui); }
.cart-remove { font-size: var(--text-small); }
.cart-count { font-size: .625rem; font-weight: var(--weight-strong); line-height: 17px; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.cart-close { font-size: 1.5rem; line-height: 1; }
.video-time { font-family: var(--font-sans); font-size: .6875rem; font-weight: var(--weight-ui); line-height: 1.3; letter-spacing: 0; font-variant-numeric: tabular-nums; }
.campaign-hero .hero-step span { font-size: var(--text-small); font-weight: var(--weight-ui); line-height: 1; }
.rating span, .review-grid blockquote div, .review-summary span { letter-spacing: .07em; }
.review-grid cite { font-weight: var(--weight-ui); font-style: normal; }
.detail summary:after { font-size: 1.35rem; font-weight: var(--weight-body); } .styled h2, .styled .styled-page-title{
  font-family: var(--font-display); font-size: var(--text-display); font-weight: 400;
  line-height: var(--leading-display); letter-spacing: -.03em;
}
.brand-footer .footer-upper h2 { font-family: var(--font-sans); font-size: 1.125rem; font-weight: var(--weight-strong); line-height: 1.35; letter-spacing: .025em; }
.brand-footer .footer-upper p, .brand-footer .footer-upper nav a, .brand-footer .footer-policy { font-family: var(--font-sans); font-size: 1.0625rem; font-weight: var(--weight-body); line-height: 1.6; letter-spacing: 0; }
.brand-footer .footer-support strong { font-weight: var(--weight-strong); }
.brand-footer .footer-copyright { font-family: var(--font-sans); font-size: 1rem; line-height: 1.5; }
@media(max-width:700px) {
  :root { --text-product-title: 1.125rem; --text-product-page-title: 1.875rem; --text-section-title: 1.875rem; --text-display: clamp(2rem, 8vw, 2.75rem); }
  .site-header nav a { font-size: var(--text-body); }
  .announcement { font-size: .6875rem; }
}
