/**
 * Site-wide typography — v1.0
 * Single Poppins scale for all pages and sections.
 */

:root {
    --font-main: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --text-dark: #1a1a2e;
    --text-body: #4a4a5a;
    --text-muted: #6b7280;

    --fs-base: 15px;
    --fs-sm: 13px;
    --fs-xs: 12px;
    --fs-lg: 17px;
    --fs-nav: clamp(16px, 1.15vw, 18px);
    --fs-nav-cta: clamp(14px, 1vw, 16px);
    --fs-btn: 12px;
    --fs-eyebrow: 14px;

    --lh-body: 1.65;
    --lh-tight: 1.3;
    --lh-heading: 1.35;

    --fs-h1: clamp(28px, 3.6vw, 42px);
    --fs-h2: clamp(24px, 2.8vw, 32px);
    --fs-h3: clamp(20px, 2.2vw, 24px);
    --fs-h4: clamp(18px, 2vw, 20px);
    --fs-h5: 16px;
    --fs-h6: 15px;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
}

body,
body.light-theme {
    font-family: var(--font-main) !important;
    font-size: var(--fs-base) !important;
    font-weight: 400;
    line-height: var(--lh-body) !important;
    color: var(--text-body) !important;
}

body *,
.site-main *,
.header *,
.footer_rw * {
    font-family: inherit;
}

button,
input,
textarea,
select,
.main-btn,
.about_outline_btn,
.read_more,
.wpcf7,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select {
    font-family: var(--font-main) !important;
}

p,
li,
td,
th,
label,
figcaption,
address {
    font-size: var(--fs-base);
    line-height: var(--lh-body);
    color: var(--text-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-main);
    font-weight: 600;
    line-height: var(--lh-heading);
    color: var(--text-dark);
    margin: 0;
}

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); text-transform: capitalize; }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }
h5 { font-size: var(--fs-h5); }
h6 { font-size: var(--fs-h6); }

a {
    color: inherit;
}

.main-btn,
.about_outline_btn {
    font-size: var(--fs-btn) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.02em;
}

.read_more {
    font-size: var(--fs-sm) !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

.heading p,
.page_seo_eyebrow,
.home_faq_eyebrow,
.trust_item span {
    font-size: var(--fs-eyebrow) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.heading h2,
.tratment_slide .heading_lft h2,
.book_nw .heading h2,
.blog_rw .heading_lft h2,
.home_faq_intro h2 {
    font-size: var(--fs-h2) !important;
    line-height: var(--lh-heading) !important;
}

.about_doctor .heading h2 {
    font-size: clamp(17px, 1.75vw, 20px) !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0;
    max-width: 36em;
    color: var(--text-dark) !important;
}

.inner_slider h1,
.page_inner_banner h1 {
    font-size: clamp(26px, 3.2vw, 38px) !important;
    line-height: 1.25 !important;
}

.inner_slider p,
.page_inner_banner p {
    font-size: var(--fs-sm) !important;
    line-height: 1.5 !important;
}

.header .navbar li a {
    font-size: var(--fs-nav) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
}

.header .navbar li:last-child a {
    font-size: var(--fs-nav-cta) !important;
    font-weight: 700 !important;
}

.top_bar ul li a {
    font-size: var(--fs-xs) !important;
    line-height: 1.4 !important;
}

.header_tel_right small {
    font-size: var(--fs-xs) !important;
}

.header_tel_right p {
    font-size: 16px !important;
    line-height: 1.2 !important;
    color: var(--text-dark) !important;
}

.service_text h3,
.servicerm_bx_txt h3,
.teatment_list .service_text h3,
.blog_des h2,
.blog_des h2 a {
    font-size: clamp(18px, 2vw, 22px) !important;
    line-height: var(--lh-heading) !important;
}

.service_text p,
.servicerm_bx_txt p,
.blog_des p,
.about_doc_left p,
.award_win_txt p,
.home_faq_a p {
    font-size: var(--fs-base) !important;
    line-height: var(--lh-body) !important;
}

.testi_bx p {
    font-size: var(--fs-base) !important;
    line-height: var(--lh-body) !important;
}

.testi_bx h3 {
    font-size: var(--fs-lg) !important;
    line-height: var(--lh-tight) !important;
}

.ratings p {
    font-size: var(--fs-sm) !important;
}

.bk_form h3 {
    font-size: clamp(20px, 2.4vw, 22px) !important;
    line-height: var(--lh-heading) !important;
}

.bk_form p {
    font-size: var(--fs-sm) !important;
}

.footer_links h4,
.footer_social h4 {
    font-size: var(--fs-lg) !important;
    line-height: var(--lh-tight) !important;
}

.footer_links ul li a,
.footer_info p,
.footer_info a,
.copyright p {
    font-size: var(--fs-sm) !important;
    line-height: var(--lh-body) !important;
}

.blog-category a {
    font-size: var(--fs-xs) !important;
}

.home_seo_h1 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.about_page_intro h2,
.about_page_tabs .heading h2,
.about_page_specialties .heading h2,
.page_seo_intro_inner h2,
.contact_page_head h2,
.svc_page .heading h2,
.blog_single_modern .blog_single_title {
    font-size: var(--fs-h2) !important;
    line-height: var(--lh-heading) !important;
}

.about_page_intro p,
.page_seo_intro_inner p,
.contact_page_head p,
.privacy-policy p,
.privacy-policy li {
    font-size: var(--fs-base) !important;
    line-height: var(--lh-body) !important;
}

.home_faq_q {
    font-size: var(--fs-base) !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

.trust_item strong {
    font-size: 18px !important;
    line-height: 1.2 !important;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

@media only screen and (max-width: 767px) {
    :root {
        --fs-base: 14px;
        --fs-sm: 12px;
        --fs-xs: 11px;
        --fs-lg: 16px;
        --fs-btn: 11px;
    }

    h1 { font-size: clamp(24px, 6vw, 30px); }
    h2 { font-size: clamp(22px, 5.5vw, 28px); }
    h3 { font-size: clamp(18px, 4.8vw, 22px); }

    .about_doctor .heading h2 {
        font-size: clamp(15px, 4vw, 17px) !important;
        line-height: 1.45 !important;
        max-width: 100%;
    }

    p,
    li {
        line-height: 1.6;
    }
}
