/*
 * SONIC public typography scale
 *
 * Loaded after page-specific styles so the storefront keeps one readable,
 * consistent Persian type scale. The admin panel intentionally does not load
 * this file.
 */

:root {
  --sonic-font-body: 17px;
  --sonic-font-ui: 16px;
  --sonic-font-small: 14px;
  --sonic-font-micro: 12px;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-size: var(--sonic-font-body);
  line-height: 1.9;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Header and navigation */
.topbar { font-size: 15px; }
.brand-copy small { font-size: 14px; }
.header-search input { font-size: 16px; }
.tool-icon b { font-size: 13px; }
.tool-text { font-size: 15px; }
.tool-text small { font-size: 13px; }
.logout-inline button { font-size: 14px; }
.nav-link,
.sonic-nav .nav-link { font-size: 17px; }
.category-cta { font-size: 16px; }
.dropdown-panel strong,
.sonic-nav .dropdown-panel strong { font-size: 16px; }
.dropdown-panel small,
.sonic-nav .dropdown-panel small { font-size: 14px; }
.site-message { font-size: 16px; }

/* Homepage */
.hero-badge { font-size: 15px; }
.hero-copy > p,
.sonic-hero-copy p { font-size: 17px; }
.btn { font-size: 16px; }
.hero-mini-stats span { font-size: 14px; }
.hero-product-overlay span,
.hero-console-caption span,
.hero-gamer-card .hero-console-caption span { font-size: 14px; }
.hero-product-overlay strong,
.hero-console-caption strong { font-size: 20px; }
.hero-float-tag,
.hero-floating-tag { font-size: 15px; }
.trust-item strong,
.sonic-trust .trust-item strong { font-size: 16px; }
.trust-item small,
.sonic-trust .trust-item small { font-size: 14px; }
.section-kicker { font-size: 14px; }
.section-heading h2 { font-size: 26px; }
.section-link,
.section-heading a { font-size: 15px; }
.category-tile-body strong,
.sonic-category-card .category-tile-body strong { font-size: 16px; }
.category-tile-body small,
.sonic-category-card .category-tile-body small { font-size: 14px; }
.product-badge,
.discount-badge { font-size: 13px; }
.store-product-title a,
.sonic-product-card .store-product-title a {
  min-height: 49px;
  font-size: 17px;
}
.store-product-info > small { font-size: 14px; }
.rating-row span { font-size: 14px; }
.rating-row small { font-size: 13px; }
.price-row strong,
.sonic-product-card .price-row strong { font-size: 18px; }
.price-row strong small,
.sonic-product-card .price-row strong small { font-size: 13px; }
.price-row del { font-size: 14px; }
.quick-add button { font-size: 15px; }
.dark-promo span { font-size: 14px; }
.dark-promo p { font-size: 16px; }

/* Catalog and product detail */
.products-header p { font-size: 16px; }
.sort-form select,
.filter-section select,
.price-filter-form input { font-size: 15px; }
.filter-header h3 { font-size: 17px; }
.clear-filters { font-size: 14px; }
.filter-section h4,
.filter-section > a,
.price-filter-form button { font-size: 15px; }
.products-result-meta { font-size: 14px; }
.products-grid .product-name { font-size: 17px; }
.products-grid .product-brand,
.products-grid .product-old-price,
.product-stock,
.product-out-stock { font-size: 13px; }
.products-grid .product-price { font-size: 17px; }
.products-pagination a,
.products-pagination span { font-size: 15px; }
.product-breadcrumb { font-size: 14px; }
.product-detail-brand { font-size: 15px; }
.product-detail-short-description { font-size: 17px; }
.product-detail-category { font-size: 14px; }
.product-detail-old-price { font-size: 16px; }
.product-detail-discount { font-size: 14px; }
.product-detail-stock,
.product-detail-out-stock { font-size: 15px; }
.add-to-cart { font-size: 17px; }
.product-trust-box strong { font-size: 14px; }
.product-trust-box small { font-size: 13px; }
.product-description { font-size: 16px; }
.specification-key,
.specification-value { font-size: 14px; }
.related-product-info small,
.related-product-info del { font-size: 13px; }
.related-product-info h3,
.related-product-info strong { font-size: 16px; }

/* Cart, checkout and payment */
.continue-shopping,
.payment-back { font-size: 15px; }
.cart-product-name { font-size: 17px; }
.cart-brand,
.cart-price .old-price { font-size: 13px; }
.discount-price { font-size: 16px; }
.cart-item-quantity span { font-size: 15px; }
.cart-item-total { font-size: 17px; }
.cart-item-total span { font-size: 13px; }
.cart-summary h2 { font-size: 19px; }
.summary-row { font-size: 15px; }
.summary-total span { font-size: 15px; }
.checkout-btn,
.continue-shopping-btn { font-size: 16px; }
.empty-cart p { font-size: 16px; }
.checkout-form label { font-size: 15px; }
.checkout-form input,
.checkout-form select,
.checkout-form textarea,
.checkout-form button { font-size: 16px; }
.form-errors,
.coupon-error { font-size: 14px; }
.coupon-box h3 { font-size: 15px; }
.coupon-form input { font-size: 15px; }
.coupon-form button,
.coupon-remove,
.coupon-applied,
.checkout-item { font-size: 14px; }
.checkout-price-row { font-size: 15px; }
.eyebrow { font-size: 14px; }
.payment-note,
.payment-test-box strong,
.payment-total span { font-size: 15px; }
.payment-test-box span { font-size: 13px; }
.order-success > p,
.order-number { font-size: 16px; }
.success-info p { font-size: 14px; }

/* Customer account, support and authentication */
.account-header p { font-size: 15px; }
.account-stat span,
.section-title span { font-size: 14px; }
.section-title h2,
.orders-card > h2 { font-size: 19px; }
.orders-table th,
.orders-table td { font-size: 14px; }
.table-link { font-size: 14px; }
.status,
.install-reply-ready,
.install-reply-waiting { font-size: 13px; }
.empty-state p { font-size: 14px; }
.order-line { font-size: 15px; }
.order-line span { font-size: 13px; }
.order-total { font-size: 16px; }
.info-list p { font-size: 14px; }
.install-customer-message span,
.support-quoted-price span { font-size: 14px; }
.install-customer-message p,
.support-chat-bubble { font-size: 16px; }
.support-reply-message { font-size: 17px; }
.support-form label { font-size: 15px; }
.support-field-error,
.support-form-errors { font-size: 14px; }
.support-message-id { font-size: 14px; }
.support-message-main strong { font-size: 15px; }
.support-message-main small,
.support-message-status { font-size: 13px; }
.support-detail-meta { font-size: 14px; }
.auth-card > p,
.auth-card label,
.auth-links { font-size: 15px; }
.auth-security-hint { font-size: 14px; }
.account-security-card p { font-size: 15px; }

/* Game installation service */
.install-hero p { font-size: 17px; }
.install-group-head strong,
.install-option small,
.install-form label small,
.install-selection-preview span,
.install-account-note { font-size: 14px; }
.install-option b { font-size: 17px; }
.install-form label { font-size: 16px; }
.install-form input,
.install-form select,
.install-form textarea { font-size: 16px; }
.install-submit-row p { font-size: 15px; }

/* About, guide, contact and order tracking */
.about-badge,
.floating-note { font-size: 15px; }
.about-copy p { font-size: 17px; }
.about-mini-stats strong,
.about-stat-card strong,
.value-chip strong,
.process-step h3 { font-size: 17px; }
.about-mini-stats span,
.about-stat-card p,
.value-chip p,
.feature-box p,
.process-step p { font-size: 16px; }
.about-card-caption span { font-size: 14px; }
.story-panel p,
.about-cta-card p { font-size: 17px; }
.feature-box h3 { font-size: 19px; }
.contact-hero span { font-size: 16px; }
.contact-card p,
.guide-card p,
.faq p { font-size: 17px; }
.guide-card a { font-size: 16px; }
.track-hero span { font-size: 16px; }

/* Controller repair tools */
.repair-kicker,
.repair-card-kicker,
.repair-pricing > div:first-child > span,
.repair-hero-pills span,
.repair-hero-device > span { font-size: 14px; }
.repair-hero p { font-size: 17px; }
.repair-lab-head p { font-size: 15px; }
.repair-connection-state { font-size: 14px; }
.repair-connect-copy h3,
.repair-card-head h3 { font-size: 17px; }
.repair-connect-copy p { font-size: 14px; }
.repair-live { font-size: 11px; }
.repair-device-meta,
.repair-test-status,
.stick-label,
.repair-hint,
.test-button,
.trigger-row,
.diagnosis-badge,
.repair-estimate small,
.repair-price-list div,
.manual-issues-head span,
.manual-issue { font-size: 13px; }
.diagnosis-item,
.diagnosis-empty,
.repair-pricing p,
.manual-issues-head strong,
.sensitivity-control small,
.repair-firmware-note { font-size: 14px; }
.manual-issue b { font-size: 11px; }
.repair-estimate span { font-size: 17px; }
.sensitivity-control label,
.repair-form-grid label,
.repair-secondary { font-size: 15px; }
.repair-success-card p { font-size: 17px; }

/* Footer */
.footer-highlight strong { font-size: 16px; }
.footer-highlight small { font-size: 14px; }
.footer-description { font-size: 16px !important; }
.footer-social-title { font-size: 14px; }
.footer-grid h3 { font-size: 17px; }
.footer-column a { font-size: 15px; }
.footer-contact-intro { font-size: 14px !important; }
.footer-contact-item small { font-size: 13px; }
.footer-contact-item strong { font-size: 14px; }
.footer-support-button { font-size: 15px; }
.footer-bottom { font-size: 14px; }

@media (max-width: 760px) {
  :root {
    --sonic-font-body: 16px;
  }

  .topbar { font-size: 14px; }
  .sonic-nav .nav-link { font-size: 14px; }
  .sonic-hero-copy p { font-size: 16px; }
  .sonic-hero-copy h1 { font-size: 36px; }
  .hero-floating-tag { font-size: 13px; }
  .section-heading h2 { font-size: 22px; }
  .about-copy p { font-size: 17px; }
  .floating-note { font-size: 13px; }
}

@media (max-width: 520px) {
  .btn { padding-inline: 17px; }
  .header-search input { font-size: 15px; }
  .sonic-hero-copy h1 { font-size: 30px; }
  .section-heading h2 { font-size: 21px; }
  .store-product-title a { font-size: 16px; }
  .footer-description { font-size: 15px !important; }
}
