/**
 * RWD/rev9 Font Imports
 * Modern Typography Setup
 */

/* Import Manrope - Modern, Clean Sans-Serif */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* Import Playfair Display - Elegant Serif for Special Elements (Optional) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&display=swap');

/* Font Stack Definitions */
:root {
    --font-primary: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-mono: 'Fira Code', 'Courier New', monospace;
}

/* Base Typography */
body {
    font-family: var(--font-primary);
    font-weight: 400;
    font-optical-sizing: auto;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Heading Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-primary);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

h1 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 800;
}

h2 {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
}

h3 {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 600;
}

h4 {
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 600;
}

h5 {
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    font-weight: 500;
}

h6 {
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Special Display Text */
.display-text {
    font-family: var(--font-display);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.1;
}

/* Body Text Variations */
.text-large {
    font-size: 1.125rem;
    line-height: 1.7;
}

.text-small {
    font-size: 0.875rem;
    line-height: 1.6;
}

.text-xs {
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
}

/* Font Weight Utilities */
.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

.font-extrabold {
    font-weight: 800;
}

/* Letter Spacing Utilities */
.tracking-tight {
    letter-spacing: -0.02em;
}

.tracking-normal {
    letter-spacing: 0;
}

.tracking-wide {
    letter-spacing: 0.02em;
}

.tracking-wider {
    letter-spacing: 0.05em;
}

/* Text Transform Utilities */
.uppercase {
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.capitalize {
    text-transform: capitalize;
}

/* Text Alignment */
.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

/* Product-Specific Typography */
.product-title {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.4;
    letter-spacing: -0.01em;
}

.product-price {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: -0.02em;
}

.product-price-old {
    font-weight: 400;
    text-decoration: line-through;
    opacity: 0.6;
}

/* Button Typography */
button,
.button,
.btn {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 0.9375rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

/* Form Typography */
input,
textarea,
select {
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1rem;
}

label {
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 0.875rem;
    letter-spacing: 0.01em;
}

/* Navigation Typography */
.nav-link {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 0.9375rem;
    letter-spacing: 0.02em;
}

/* Badge Typography */
.badge {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 0.6875rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Code Typography */
code,
pre {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    font-weight: 400;
}
