/* ========================================
   TEXT SIZE OVERRIDE - Réduction globale
   ======================================== */

/* Base font size reduction */
html {
    font-size: 14px;
}

body {
    font-size: 0.95rem;
    line-height: 1.6;
}

/* Headings reduction */
h1, .h1 {
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
}

h2, .h2, .section-title {
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
}

h3, .h3 {
    font-size: clamp(1.1rem, 2vw, 1.4rem) !important;
}

h4, .h4 {
    font-size: clamp(1rem, 1.5vw, 1.2rem) !important;
}

h5, .h5, h6, .h6 {
    font-size: 0.95rem !important;
}

/* Paragraphs and text */
p, .text, .description {
    font-size: 0.9rem;
    line-height: 1.65;
}

/* Hero sections */
.hero-title,
.hero h1,
.hero-split h1,
[class*="hero"] h1 {
    font-size: clamp(1.8rem, 4.5vw, 3rem) !important;
}

.hero-subtitle,
.hero p,
.hero-split p,
[class*="hero"] > p,
[class*="hero"] .subtitle {
    font-size: 1rem !important;
}

/* Section titles */
.section-title {
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
}

.section-subtitle {
    font-size: 0.9rem !important;
}

/* Cards */
.card-title,
.offer-title,
.service-card h3 {
    font-size: 1.1rem !important;
}

.card-text,
.offer-description,
.service-card p {
    font-size: 0.85rem !important;
}

/* Buttons */
.btn, button, [class*="btn-"] {
    font-size: 0.85rem;
    padding: 10px 20px;
}

.btn-lg {
    font-size: 0.9rem !important;
    padding: 12px 24px !important;
}

.btn-sm {
    font-size: 0.8rem !important;
    padding: 8px 16px !important;
}

/* Navigation */
.nav-link {
    font-size: 0.85rem !important;
}

/* Footer */
.footer {
    font-size: 0.85rem;
}

.footer h4 {
    font-size: 1rem !important;
}

/* Badges */
.badge, .hero-badge, [class*="badge"] {
    font-size: 0.75rem !important;
    padding: 8px 16px !important;
}

/* Lists */
ul li, ol li {
    font-size: 0.9rem;
}

/* Testimonials */
.testimonial-content {
    font-size: 0.9rem !important;
}

/* Prices */
.price, [class*="price"] {
    font-size: 1.4rem !important;
}

/* Stats */
.stat-value, .stat-number, [class*="stat"] span:first-child {
    font-size: 1.6rem !important;
}

.stat-label {
    font-size: 0.7rem !important;
}

/* FAQ specific */
.faq-question {
    font-size: 0.9rem !important;
}

.faq-answer, .faq-answer-content {
    font-size: 0.85rem !important;
}

/* Blog */
.blog-card-title, .article-title {
    font-size: 1.1rem !important;
}

.blog-card-excerpt, .article-excerpt {
    font-size: 0.85rem !important;
}

/* Forms */
input, textarea, select {
    font-size: 0.9rem !important;
}

label {
    font-size: 0.85rem !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    html {
        font-size: 13px;
    }
    
    h1, .h1 {
        font-size: clamp(1.5rem, 5vw, 2rem) !important;
    }
    
    h2, .h2, .section-title {
        font-size: clamp(1.2rem, 4vw, 1.6rem) !important;
    }
    
    h3, .h3 {
        font-size: 1.1rem !important;
    }
    
    .hero-title,
    [class*="hero"] h1 {
        font-size: clamp(1.5rem, 6vw, 2rem) !important;
    }
}
