/* Readable typography for the remaining storefront sections. Header and hero stay unchanged. */
.section-heading { margin-bottom: 28px; gap: 28px; }
.section-heading h2 { font-size: 40px; line-height: 1.15; }
.featured .text-link { font-size: 15px; }
.product-grid { gap: 16px; }
.product-body { padding: 18px 16px 16px; }
.product-title { font-size: 16px; line-height: 1.45; min-height: 48px; }
.product-body p { font-size: 14px; line-height: 1.55; min-height: 48px; margin: 8px 0 12px; color: #585b57; }
.price { margin: auto 0 16px; }
.price small { font-size: 13px; line-height: 1.5; }
.price strong { font-size: 23px; line-height: 1.4; }
.add { font-size: 15px; min-height: 48px; gap: 8px; padding: 12px 8px; }
.badge { font-size: 12px; padding: 8px 12px; }
.asset-note { font-size: 13px; line-height: 1.6; margin-top: 16px; }
#filter-status:not(:empty) { font-size: 15px; }
.campaigns { margin-top: 40px; }
.campaign { height: 360px; }
.campaign-copy { width: 61%; padding: 32px 16px 32px 32px; }
.campaign .eyebrow { font-size: 13px; line-height: 1.5; margin-bottom: 14px; }
.campaign h2 { font-size: 40px; line-height: 1.08; margin-bottom: 18px; }
.campaign p:not(.eyebrow) { font-size: 16px; line-height: 1.55; margin-bottom: 24px; max-width: 310px; }
.campaign p:not(.eyebrow) br { display: none; }
.campaign .button { font-size: 13px; min-height: 48px; padding: 12px 16px; line-height: 1.4; white-space: normal; max-width: 100%; }
.campaign .button span { flex-shrink: 0; }
.trust-bar strong { font-size: 16px; }
.trust-bar small, .benefit-condition { font-size: 14px; }
.testimonials { padding-top: 40px; padding-bottom: 56px; gap: 28px; }
.review-title { flex-basis: 205px; }
.review-title h2 { font-size: 36px; line-height: 1.1; }
.carousel-controls { margin-top: 24px; gap: 12px; }
.round { width: 44px; height: 44px; font-size: 18px; }
.review-track { gap: 16px; scroll-padding-inline: 0; }
.review { flex-basis: calc((100% - 48px) / 4); min-width: 225px; padding: 20px; flex-direction: column; gap: 12px; }
.review img { width: 48px; height: 48px; }
.stars { font-size: 18px; letter-spacing: 1px; }
.review blockquote { font-size: 15px; line-height: 1.6; color: #515650; margin: 10px 0 16px; min-height: 120px; }
.review strong { font-size: 14px; line-height: 1.5; }
.review small { font-size: 13px; line-height: 1.5; margin-top: 4px; }
footer { padding-top: 64px; padding-bottom: 32px; }
.footer-grid { gap: 32px; }
.brand-column p { font-size: 16px; line-height: 1.6; }
.footer-column h3, .newsletter h3 { font-size: 16px; line-height: 1.5; margin-bottom: 16px; }
.footer-column button { font-size: 14px; line-height: 1.55; padding: 5px 0; }
.newsletter p { font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
.newsletter input { font-size: 14px; padding: 13px 14px; min-height: 48px; }
.newsletter .button { font-size: 14px; padding: 12px 16px; }
.footer-bottom { margin-top: 48px; padding-top: 24px; }
.footer-bottom small, .footer-bottom button, .footer-bottom span { font-size: 13px; line-height: 1.5; }
.category { min-width: 140px; gap: 8px; }
.category strong, .category span { font-size: 14px; line-height: 1.4; }
.category img { width: 96px; height: 96px; }
#panel-content > p, .detail > p { font-size: 16px; line-height: 1.6; }
.cart-item strong, .cart-item p { font-size: 16px; line-height: 1.5; }
.quantity .remove, .cart-item .text-link { font-size: 14px; }
.muted { font-size: 15px; }
.cart-item .button, .detail .button, #panel-content > .button { font-size: 15px; }
@media (max-width: 1199px) {
  .product-title { font-size: 18px; min-height: 52px; }
  .product-body p { font-size: 15px; min-height: 48px; }
  .product-body { padding: 20px; }
  .campaign-copy { width: 65%; padding-left: 24px; }
  .campaign h2 { font-size: 34px; }
  .campaign p:not(.eyebrow) { font-size: 15px; }
  .campaign .button { font-size: 13px; padding: 12px; }
  .review { flex-basis: calc((100% - 16px) / 2); }
  .review blockquote { min-height: 96px; }
  .footer-grid { gap: 32px 24px; }
}
@media (max-width: 767px) {
  .section-heading { gap: 16px; flex-wrap: wrap; align-items: center; margin-bottom: 24px; }
  .section-heading h2 { font-size: 32px; }
  .section-heading .text-link { font-size: 14px; max-width: none; padding: 4px 0; text-align: left; margin: 0; }
  .product-grid { gap: 16px 12px; }
  .product-body { padding: 16px 12px 12px; }
  .product-title { font-size: 16px; min-height: 70px; }
  .product-body p { font-size: 14px; min-height: 88px; margin: 8px 0 12px; }
  .price strong { font-size: 22px; }
  .add { font-size: 14px; gap: 6px; min-height: 48px; }
  .add svg { width: 18px; height: 18px; }
  .badge { font-size: 11px; padding: 7px 8px; }
  .asset-note { font-size: 12px; }
  .campaigns { margin-top: 32px; gap: 20px; }
  .campaign { height: 340px; }
  .campaign-copy { width: 68%; padding: 24px 12px 24px 20px; }
  .campaign h2 { font-size: 34px; }
  .campaign .eyebrow { font-size: 12px; }
  .campaign p:not(.eyebrow) { font-size: 15px; max-width: none; }
  .campaign .button { font-size: 12px; padding: 12px; }
  .trust-bar strong { font-size: 14px; }
  .trust-bar small, .benefit-condition { font-size: 13px; }
  .testimonials { padding-top: 32px; padding-bottom: 40px; gap: 24px; }
  .review-title { flex-basis: auto; }
  .review-title h2 { font-size: 32px; max-width: 230px; }
  .carousel-controls { margin-top: 0; gap: 8px; }
  .review { flex-basis: 88%; min-width: 260px; padding: 24px; }
  .review blockquote { font-size: 16px; min-height: 96px; }
  .review strong { font-size: 15px; }
  .review small { font-size: 14px; }
  footer { padding-top: 48px; }
  .footer-grid { gap: 32px 20px; }
  .footer-column button { font-size: 15px; padding: 6px 0; }
  .footer-bottom { margin-top: 32px; gap: 16px; }
  .footer-bottom div { flex-wrap: wrap; }
}
@media (max-width: 359px) {
  .product-title, .product-body p { min-height: 0; }
  .product-title { font-size: 18px; }
  .product-body p { font-size: 15px; }
  .product-body { padding: 20px; }
  .campaign h2 { font-size: 30px; }
  .review-title h2 { font-size: 29px; max-width: 175px; }
  .newsletter form { flex-direction: column; }
}
