/* Responsive Font System for SmartStone */
/* This file should be included after the main style.css */

/* Responsive Typography with clamp() */
h1, h2, h3, h4, h5, h6 {
    font-size: clamp(1.25rem, 1.1rem + 0.75vw, 2rem);
    font-weight: 600;
    line-height: 1.3;
}

h1 { font-size: clamp(2rem, 1.5rem + 2.5vw, 3rem); }
h2 { font-size: clamp(1.75rem, 1.3rem + 2.25vw, 2.5rem); }
h3 { font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2rem); }
h4 { font-size: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem); }
h5 { font-size: clamp(1.125rem, 1rem + 0.625vw, 1.25rem); }
h6 { font-size: clamp(1rem, 0.9rem + 0.5vw, 1.125rem); }

/* Hero Titles - Smaller and Responsive */
.hero-title {
    font-size: clamp(2rem, 1.8rem + 1vw, 2.5rem) !important;
}

.section-title {
    font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem) !important;
}

/* Body Text - Responsive */
body, p {
    font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
    line-height: 1.6;
}

/* Small Text Elements */
.small, .text-small {
    font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
}

.text-xs {
    font-size: clamp(0.625rem, 0.6rem + 0.125vw, 0.75rem);
}

.text-sm {
    font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
}

.text-lg {
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
}

.text-xl {
    font-size: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
}

/* Button Text - Responsive */
.btn {
    font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
}

.btn-sm {
    font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem) !important;
}

.btn-lg {
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
}

/* Navigation and Menu Items */
.nav-menu a {
    font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
}

/* Card Titles and Content */
.card-title {
    font-size: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
}

.card-subtitle {
    font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
}

/* Form Elements */
input, textarea, select {
    font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
}

label {
    font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
}

/* Breadcrumb and Meta Info */
.breadcrumb {
    font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
}

.meta-info {
    font-size: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
}

/* Mobile Specific Adjustments */
@media (max-width: 768px) {
    h1 { font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem); }
    h2 { font-size: clamp(1.25rem, 1.1rem + 0.75vw, 1.75rem); }
    h3 { font-size: clamp(1.125rem, 1rem + 0.625vw, 1.5rem); }
    
    .hero-title {
        font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem) !important;
    }
    
    .section-title {
        font-size: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem) !important;
    }
}

/* Large Screen Adjustments */
@media (min-width: 1200px) {
    h1 { font-size: clamp(2.5rem, 2rem + 2.5vw, 3rem); }
    h2 { font-size: clamp(2rem, 1.5rem + 2.5vw, 2.5rem); }
    h3 { font-size: clamp(1.75rem, 1.3rem + 2.25vw, 2rem); }
}
