/* Customer-facing text stays readable at desktop and narrow mobile widths. */
body { font-size: 16px; }
.topline { font-size: 12px; letter-spacing: .6px; }
.eyebrow, .hero .eyebrow, .section-title .eyebrow,
.collection .eyebrow, .collectors-note .eyebrow,
.detail-copy .eyebrow { font-size: 13px; line-height: 1.6; letter-spacing: 1px; }
.site-header nav, .cart, .cart-label { font-size: 14px; }
#cart-count { font-size: 13px; }
.intro, .hero .intro { font-size: 16px; line-height: 1.7; }
.hero-link, .hero-note { font-size: 14px; line-height: 1.6; }
.primary, .secondary, .hero .primary, .collection .primary,
.text-link, .collectors-note .text-link, .back-top { font-size: 15px; }
.benefits span:not(.benefit-icon) { font-size: 15px; }
.benefits small { font-size: 14px; line-height: 1.6; }
.notice, .purchase-strip #purchase-info { font-size: 14px; line-height: 1.7; }
.section-title h2 span { font-size: 14px; }
.sort-box, .catalog-filters label, .filter-summary, .reset-button { font-size: 14px; }
.search-box input, .sort-box select, .catalog-filters select,
.checkout input, .checkout select, .checkout textarea { font-size: 16px; min-height: 48px; }
.filter-bottom { flex-wrap: wrap; }
.filter-summary { max-width: none; }
.quick-category { font-size: 14px; min-height: 48px; }
.quick-category small { font-size: 13px; min-width: 27px; height: 27px; }
.product-image { padding-top: 49px; }
.badge { font-size: 12px; line-height: 1.5; padding: 5px 8px; letter-spacing: .3px; }
.badge .ui-icon { width: 15px; height: 15px; }
.product .series, .team, .used-label { font-size: 14px; line-height: 1.6; }
.product .series { min-height: 0; margin-bottom: 10px; }
.product h3 { font-size: 18px; line-height: 1.45; }
.lot-price, .net-price, .buy-row .net-price,
.detail-price .lot-price, .cart-item .net-price { font-size: 13px; line-height: 1.6; }
.buy-row { flex-wrap: wrap; gap: 10px; }
.buy-row strong { flex: 1 1 120px; min-width: 0; font-size: 24px; }
.buy-row .no-price { font-size: 15px; }
.buy-row button { flex: 0 0 44px; min-width: 44px; height: 44px; margin-left: auto; }
.product-highlights { gap: 7px; }
.highlight, .detail-copy .highlight, .featured-caption .highlight {
  font-size: 12px; line-height: 1.5; padding: 6px 8px;
  max-width: 100%; white-space: normal; overflow-wrap: anywhere;
}
.highlight .ui-icon { width: 14px; height: 14px; }
.rarity-flag small { font-size: 11px; line-height: 1.4; letter-spacing: .3px; }
.rarity-flag { max-width: calc(100% - 16px); }
.featured-heading, .featured-heading span { font-size: 13px; line-height: 1.6; }
.featured-caption .featured-sku, .featured-price small,
.featured-caption .net-price { font-size: 13px; line-height: 1.6; }
.featured-caption > strong {
  display: block; font-size: 15px; line-height: 1.5;
  min-height: 0; overflow: visible; -webkit-line-clamp: unset;
}
.featured-price { font-size: 23px; }
.featured-controls { flex-wrap: wrap; }
.featured-controls button { font-size: 14px; min-height: 44px; }
.collection-copy > p:not(.eyebrow) { font-size: 15px; }
.collection-copy .caption { font-size: 14px !important; }
.collection-photo > span { font-size: 12px; letter-spacing: .6px; }
footer h3, footer p, .footer-links button, .footer-links a { font-size: 14px; }
footer .footer-label { font-size: 12px !important; letter-spacing: 1px; }
.footnote { font-size: 13px; line-height: 1.6; }
.detail-copy p, .detail-copy > .primary + p { font-size: 15px; line-height: 1.7; }
.detail-copy dl { font-size: 15px; grid-template-columns: minmax(100px, 30%) minmax(0, 1fr); }
.detail-copy dt, .detail-copy dd { padding: 11px 0; }
.detail-copy dt { padding-right: 10px; }
.delivery-info strong { font-size: 15px; }
.delivery-info p { font-size: 14px; line-height: 1.7; }
.cart-item > div { font-size: 15px; line-height: 1.6; }
.cart-item small, .cart-item button, .tax-total { font-size: 13px; line-height: 1.6; }
.cart-item button { min-height: 44px; }
.total { font-size: 15px; }
.total > span { min-width: 0; }
.total > b { flex-shrink: 0; }
.checkout > p, .checkout label, .checkout .check, .legal-copy,
.empty-basket p { font-size: 15px; line-height: 1.7; }
.checkout .check input { min-height: 20px; width: 20px; flex: 0 0 20px; }
.close { width: 44px; height: 44px; }
.stock-note { font-size: 14px; line-height: 1.6; color: #9ddfd4; margin: 0 0 12px; }
.cart-line-total { display: block; font-size: 15px; margin-top: 8px; }
.quantity-controls { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.cart-item .quantity-controls button { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 6px; border: 1px solid #526b73; border-radius: 8px; background: #18302f; color: #b7f2e8; font-size: 22px; }
.quantity-controls span { min-width: 20px; text-align: center; font-variant-numeric: tabular-nums; }

@media (max-width: 600px) {
  html { scroll-padding-top: 145px; }
  .topline { font-size: 12px; }
  .site-header nav { gap: 10px; font-size: 13px; }
  .site-header nav a { min-height: 44px; }
  .cart { min-height: 44px; }
  .hero .eyebrow, .hero-note { font-size: 13px; }
  .hero-note { align-items: flex-start; }
  .note-icon { flex-shrink: 0; }
  .catalog-filters { gap: 16px 12px; }
  .catalog-filters select { padding: 10px 7px; }
  .quick-category { font-size: 14px; padding: 11px 9px; gap: 6px; }
  .filter-summary, .reset-button { font-size: 14px; }
  .product-info { padding: 14px 8px 0; }
  .product .series, .team { font-size: 13px; }
  .product h3 { font-size: 16px; }
  .badge { font-size: 12px; padding: 5px 6px; }
  .product-image { padding: 47px 8px 15px; }
  .highlight, .featured-caption .highlight { font-size: 12px; padding: 5px 6px; }
  .featured-offers { max-width: none; }
  .featured-caption > strong { font-size: 14px; }
  .featured-price { font-size: 22px; }
  .buy-row strong { font-size: 22px; flex-basis: 110px; }
  .rarity-flag { padding: 6px 8px; }
  .cart-item { display: grid; grid-template-columns: 50px minmax(0, 1fr); align-items: start; }
  .cart-item button { grid-column: 2; justify-self: start; padding: 5px 0; }
  .cart-item > .card-photo { grid-row: 1 / 3; }
  .mobile-cart-bar { gap: 10px; padding-inline: 12px; }
  .mobile-cart-summary > span:first-child { flex-wrap: wrap; gap: 2px 8px; font-size: 13px; }
  .mobile-cart-summary small { font-size: 13px; line-height: 1.5; }
  #mobile-cart-open { font-size: 14px; min-height: 48px; padding-inline: 10px; }
  #mobile-cart-count { font-size: 13px; }
  body { padding-bottom: calc(155px + env(safe-area-inset-bottom, 0px)); }
  #toast { bottom: calc(165px + env(safe-area-inset-bottom, 0px)); font-size: 14px; }
}

@media (max-width: 380px) {
  .site-header nav { gap: 8px; }
  .site-header nav a { gap: 4px; }
  .site-header nav a .ui-icon { display: none; }
  .detail-copy dl { grid-template-columns: 95px minmax(0, 1fr); }
}
