/* ============================================
   LUXE STAR - PREMIUM PROFESSIONAL TYPOGRAPHY
   ============================================ */

/* ============================================
   GLOBAL FONT DEFINITIONS
   ============================================ */

/* Base Body and HTML */
html,
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: -0.011em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ============================================
   HEADINGS - PLAYFAIR DISPLAY (LUXURY SERIF)
   ============================================ */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: inherit;
    margin-top: 0;
}

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

h2, .h2 {
    font-size: 2.5rem;
    font-weight: 600;
}

h3, .h3 {
    font-size: 2rem;
    font-weight: 600;
}

h4, .h4 {
    font-size: 1.5rem;
    font-weight: 600;
}

h5, .h5 {
    font-size: 1.25rem;
    font-weight: 600;
}

h6, .h6 {
    font-size: 1rem;
    font-weight: 600;
}

/* Special Heading Classes */
.section-title,
.section-header h2,
.heading_title h4,
.premium-title,
.luxury-heading {
    font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
    font-weight: 600;
    letter-spacing: -0.02em;
}

/* ============================================
   BODY TEXT - INTER (CLEAN SANS-SERIF)
   ============================================ */

p,
.paragraph,
.description,
.content,
.text,
span,
div,
li,
td,
th {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.011em;
}

/* Service Descriptions */
.service-description,
.influencer-category,
.step-description,
.section-subtitle,
.card-description {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 0.95rem;
    line-height: 1.6;
    letter-spacing: -0.008em;
    color: rgba(0, 0, 0, 0.75);
}

/* Small Text */
small,
.small-text,
.caption {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
}

/* ============================================
   UI ELEMENTS - MONTSERRAT (MODERN GEOMETRIC)
   ============================================ */

/* Buttons */
button,
.btn,
.service-btn,
.influencer-book-btn,
.banner-btn,
input[type="button"],
input[type="submit"],
.button,
a.btn {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: none;
}

/* Navigation */
.nav-link,
.navbar-nav .nav-link,
.menu-item,
.navigation a {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* Labels and Badges */
label,
.label,
.badge,
.tag,
.influencer-price-badge,
.influencer-discount-badge {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* View All Links */
.view-text,
.btn-link,
.view-all {
    font-family: 'Montserrat', 'Inter', sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ============================================
   CARD ELEMENTS
   ============================================ */

/* Celebrity/Influencer Names */
.influencer-name,
.celebrity-name,
.feature_cardfooter h4 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    font-size: 1.1rem;
    letter-spacing: -0.015em;
}

/* Service Titles */
.service-title,
.service-card h3,
.step-title {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    letter-spacing: -0.02em;
}

/* ============================================
   RESPONSIVE TYPOGRAPHY
   ============================================ */

/* Tablet and Below */
@media (max-width: 991px) {
    html, body {
        font-size: 15px;
    }
    
    h1, .h1 {
        font-size: 2.5rem;
    }
    
    h2, .h2 {
        font-size: 2rem;
    }
    
    h3, .h3 {
        font-size: 1.75rem;
    }
    
    h4, .h4 {
        font-size: 1.35rem;
    }
}

/* Mobile */
@media (max-width: 767px) {
    html, body {
        font-size: 14px;
    }
    
    h1, .h1 {
        font-size: 2rem;
        letter-spacing: -0.025em;
    }
    
    h2, .h2 {
        font-size: 1.75rem;
    }
    
    h3, .h3 {
        font-size: 1.5rem;
    }
    
    h4, .h4 {
        font-size: 1.25rem;
    }
    
    h5, .h5 {
        font-size: 1.1rem;
    }
    
    h6, .h6 {
        font-size: 1rem;
    }
    
    .influencer-name,
    .celebrity-name {
        font-size: 1rem;
    }
}

/* ============================================
   SPECIFIC SECTION OVERRIDES
   ============================================ */

/* Hero/Banner Text */
.carousel-item h1,
.hero-content h1,
.banner-content {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}

/* Category Section Headings */
.heading_title h4 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Highlight Text (keep orange/brand colors) */
.highlight {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}

/* Premium Section Titles */
.section-title {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    font-size: 2.25rem;
    line-height: 1.3;
}

/* ============================================
   PERFORMANCE OPTIMIZATIONS
   ============================================ */

/* Font Display Optimization */
@font-face {
    font-display: swap;
}

/* Prevent Layout Shift */
body {
    font-display: swap;
}

/* ============================================
   ACCESSIBILITY
   ============================================ */

/* Ensure good contrast */
body {
    color: #1a1a1a;
}

/* Link Styles */
a {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

/* ============================================
   FORM ELEMENTS
   ============================================ */

input,
textarea,
select {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    letter-spacing: -0.01em;
}

input::placeholder,
textarea::placeholder {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    opacity: 0.6;
}
