/* ========================================
   GLOBAL TYPOGRAPHY - Plus Jakarta Sans
   Elegant & Premium E-commerce Styling
   ======================================== */

/* Base Typography */
body {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.65;
    letter-spacing: -0.01em;
    color: #1a1a2e;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.ps-page__header h1,
.ps-section__header h3,
.ps-block__header h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.25;
    color: #0f0f23;
}

h1, .h1 {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

h2, .h2 {
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: -0.025em;
}

h3, .h3 {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

h4, .h4 {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: -0.015em;
}

h5, .h5 {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

h6, .h6 {
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0;
}

/* Paragraphs */
p {
    line-height: 1.7;
    letter-spacing: -0.005em;
}

/* Navigation */
.menu--product-categories .menu__content li a,
.navigation .menu li a,
.header .navigation li a,
.menu li a,
.ps-block--menu .ps-block__content li a,
nav a {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    letter-spacing: -0.01em;
    font-size: 14px;
}

/* Product Titles */
.ps-product__title,
.ps-product__title a,
.ps-product .ps-product__vendor a,
.ps-product--detail .ps-product__title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    letter-spacing: -0.015em;
}

.ps-product__title a {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.45;
}

.ps-product--detail .ps-product__title {
    font-weight: 700;
    letter-spacing: -0.025em;
}

/* Prices */
.ps-product__price,
.ps-product__price span,
.ps-product--detail .ps-product__price {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.ps-product__price del {
    font-weight: 400;
}

/* Buttons */
.ps-btn,
.btn,
button,
input[type="submit"],
input[type="button"],
.btn-primary,
.ps-btn--black,
.ps-btn--warning {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    letter-spacing: -0.01em;
    font-size: 14px;
}

/* Form Inputs */
input,
select,
textarea,
.form-control,
.form-input {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: -0.005em;
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder,
.form-input::placeholder {
    font-weight: 400;
    letter-spacing: 0;
    color: #9ca3af;
}

/* Breadcrumbs */
.ps-breadcrumb ol li a,
.ps-breadcrumb ol li span,
.breadcrumb li a,
.breadcrumb li span {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
}

/* Badges & Labels */
.ps-badge,
.ps-product__badge,
.badge,
.label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

/* Footer */
.ps-footer,
.ps-footer h4,
.ps-footer p,
.ps-footer a,
.ps-footer li a,
footer,
footer h4,
footer a {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.ps-footer h4,
footer h4 {
    font-weight: 700;
    letter-spacing: -0.015em;
    font-size: 15px;
}

.ps-footer a,
.ps-footer li a,
.ps-footer p,
footer a,
footer p {
    font-weight: 400;
    font-size: 14px;
    letter-spacing: -0.005em;
    line-height: 1.7;
}

/* Header */
.header,
.header a,
.header__extra,
.header .navigation,
.ps-top-bar,
.ps-top-bar a {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Search */
.ps-search-bar input,
.header .header__search input,
.ps-form--search-mobile input {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: -0.005em;
}

/* Categories */
.ps-block--categories li a,
.ps-categories .ps-categories__name,
.menu--product-categories li a {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.01em;
}

/* Tabs */
.ps-tab-list li a,
.ps-tabs .ps-tab-list li a,
.nav-tabs li a,
.tab-list a {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: -0.01em;
}

/* Cart & Checkout */
.ps-cart-listing th,
.ps-cart-listing td,
.ps-block--checkout-step h4,
.ps-checkout label,
table th,
table td {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Sidebar Widgets */
.ps-block--shop-features .ps-block__content h4,
.ps-block__content h4,
.widget-title,
.ps-block--sidebar h4,
aside h4 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: -0.015em;
}

/* Small/Caption Text */
small,
.small,
.text-muted,
.ps-product__vendor,
.text-sm {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.5;
}

/* Dropdown Menus */
.ps-dropdown .ps-dropdown__menu li a,
.dropdown-menu a,
.mega-menu a {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.005em;
}

/* Modal & Popups */
.modal-title,
.modal-body,
.modal-content {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Alerts & Notifications */
.alert,
.ps-alert,
.notification {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 500;
    font-size: 14px;
}

/* Links - Refined */
a {
    transition: color 0.2s ease;
}

/* Global Override - Ensure No Fallback Overrides */
* {
    font-family: inherit;
}
