/* ==========================================================================
   Springedge Technology Pvt. Ltd.
   PREMIUM CUSTOM TYPOGRAPHY & DESIGN SYSTEM OVERRIDES
   ========================================================================== */

/* 1. Root & Variables */
:root {
    --title-font: "Inter", sans-serif !important;
    --body-font: "Inter", sans-serif !important;
}

/* 2. Base Body & Paragraphs */
body, p, li, td, th {
    font-family: var(--body-font) !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
    letter-spacing: -0.005em !important;
}

p {
    margin-bottom: 1.25rem !important;
}

/* 3. Global Headings Scaling (Fluid & Elegant) */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: var(--title-font) !important;
    font-weight: 700 !important;
}

h1, .h1 {
    font-size: 46px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em !important;
}

h2, .h2 {
    font-size: 34px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
}

h3, .h3 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em !important;
}

h4, .h4 {
    font-size: 18px !important;
    line-height: 1.38 !important;
    letter-spacing: -0.01em !important;
}

h5, .h5 {
    font-size: 17.5px !important;
    line-height: 1.4 !important;
    letter-spacing: -0.005em !important;
}

h6, .h6 {
    font-size: 15px !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
}

/* Responsive Headings Scaling */
@media (max-width: 1200px) {
    h1, .h1 { font-size: 38px !important; }
    h2, .h2 { font-size: 30px !important; }
    h3, .h3 { font-size: 22px !important; }
    h4, .h4 { font-size: 18.5px !important; }
}

@media (max-width: 768px) {
    h1, .h1 { font-size: 32px !important; line-height: 1.25 !important; }
    h2, .h2 { font-size: 26px !important; line-height: 1.3 !important; }
    h3, .h3 { font-size: 20px !important; }
    h4, .h4 { font-size: 17.5px !important; }
    h5, .h5 { font-size: 16px !important; }
    h6, .h6 { font-size: 14px !important; }
    body, p, li, td, th {
        font-size: 14.5px !important;
        line-height: 1.62 !important;
    }
}

/* 4. Section Title Area */
.sec-title {
    font-size: 34px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 20px !important;
}

.sec-text {
    font-size: 15px !important;
    line-height: 1.7 !important;
    letter-spacing: -0.005em !important;
}

@media (max-width: 991px) {
    .sec-title { font-size: 28px !important; }
}

@media (max-width: 768px) {
    .sec-title { font-size: 24px !important; }
    .sec-text { font-size: 14.5px !important; }
}

/* 5. Subtitle Typography (Uppercase Micro-Badges) */
.sub-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--theme-color) !important;
    margin-bottom: 12px !important;
}

.sub-title.style-2 {
    font-size: 12px !important;
    font-weight: 600 !important;
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 16px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.sub-title span {
    width: 22px !important;
    height: 22px !important;
}

/* 6. Navigation / Header Menu Overrides */
.main-menu a {
    font-size: 14.5px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}

.main-menu ul.sub-menu a {
    font-size: 14px !important;
    font-weight: 550 !important;
    letter-spacing: -0.005em !important;
    padding: 10px 20px !important;
}

.page-breadcrumb li, 
.page-breadcrumb li a {
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

/* 7. Hero Section Typography (Style 4 & others) */
.hero-section.style-4 .hero-content .title {
    font-size: 40px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
}

.hero-section.style-4 .hero-content .text {
    font-size: 15.5px !important;
    line-height: 1.68 !important;
    margin: 15px 0 35px !important;
}

.hero-section.style-4 .hero-content .sub-title {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
}

@media (max-width: 1200px) {
    .hero-section.style-4 .hero-content .title { font-size: 38px !important; }
}

@media (max-width: 991px) {
    .hero-section.style-4 .hero-content .title { font-size: 32px !important; }
    .hero-section.style-4 .hero-content .text { font-size: 15px !important; }
}

@media (max-width: 575px) {
    .hero-section.style-4 .hero-content .title { font-size: 26px !important; }
}

/* 8. Inner Page Header Banner */
.breadcrumb-section .title-outer .title {
    font-size: 38px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
}

.breadcrumb-section .title-outer .text p {
    font-size: 15px !important;
    line-height: 1.65 !important;
}

@media (max-width: 767px) {
    .breadcrumb-section .title-outer .title { font-size: 28px !important; }
}

/* 9. Buttons & Interactive Elements */
.theme-btn, .header-btn {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

.service-btn {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
}

/* 10. List Items Adjustments */
.features-list li, .list-style-1 li {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
}

.feature-single-box .title {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
}

/* 11. Word Wrap Fix for Animated Text (SplitType) */
.word {
    white-space: nowrap !important;
    display: inline-block !important;
}
