/**
 * CodeCaste global typography (matches blog single)
 * Headings: Merriweather | Body/UI: Google Sans
 */

:root {
    --font-display: 'Merriweather', Georgia, serif;
    --font-body: 'Google Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

    --text-xs: 0.8125rem;
    --text-sm: 0.875rem;
    --text-base: 1.0625rem;
    --text-md: 1.125rem;
    --text-lg: 1.375rem;
    --text-xl: 1.5rem;
    --text-2xl: 1.875rem;
    --text-3xl: 2.25rem;
    --text-display: clamp(2rem, 4vw, 3.25rem);

    --leading-tight: 1.2;
    --leading-snug: 1.4;
    --leading-normal: 1.65;

    --weight-body: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
}

body,
button,
input,
select,
textarea,
p,
li,
label,
a {
    font-family: var(--font-body);
}

body {
    font-size: var(--text-base);
    font-weight: var(--weight-body);
    line-height: var(--leading-normal);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.title,
.axil-display-1 {
    font-family: var(--font-display);
    font-weight: var(--weight-bold);
    color: var(--heading-color, #000248);
}

h1,
.h1,
h1.axil-display-1,
.axil-display-1 {
    font-size: var(--text-display);
    line-height: var(--leading-tight);
}

h2, .h2 {
    font-size: var(--text-3xl);
    line-height: var(--leading-snug);
}

h3, .h3 {
    font-size: var(--text-2xl);
    line-height: var(--leading-snug);
}

h4, .h4 {
    font-size: var(--text-lg);
    line-height: 1.45;
}

h5, .h5 {
    font-size: var(--text-md);
    line-height: 1.5;
}

h6, .h6 {
    font-size: var(--text-base);
    line-height: 1.5;
}

p,
li {
    font-size: var(--text-base);
    font-weight: var(--weight-body);
    line-height: var(--leading-normal);
}

p.subtitle-1 {
    font-size: var(--text-sm);
    line-height: 1.55;
}

p.subtitle-2 {
    font-size: var(--text-md);
    line-height: var(--leading-snug);
}

p.subtitle-3 {
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    color: #52526c;
}

ul.mainmenu li a,
.popup-mobile-manu .inner .menu-item ul.mainmenu-item li a,
.side-nav-content ul.main-navigation li a,
.footer-menu li a,
.footer-default .footer-widget-item ul.ft-menu li a,
.axil-breadcrumb-item a {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
}

a.axil-button,
button.axil-button,
.wpcf7-form input[type="submit"],
input.axil-button {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    text-transform: none;
    letter-spacing: 0;
}

/* Block normalization */
.axil-slide .content h1,
.axil-slide .content h1.axil-display-1,
.axil-slider-area .content h1 {
    font-family: var(--font-display);
    font-size: var(--text-display) !important;
    line-height: var(--leading-tight) !important;
    font-weight: var(--weight-bold) !important;
}

.axil-slider-area .axil-contact-form.contact-form-style-1 p.title.bold.h4 {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    line-height: 1.45;
    font-weight: var(--weight-bold);
}

.axil-service .inner .content h4,
.our-values .inner h4,
.axil-team .inner .content h4,
.axil-accordion .card .card-header button,
.axil-testimonial .clint-info-wrapper .client-info h4 {
    font-family: var(--font-display);
    font-weight: var(--weight-bold);
}

@media only screen and (max-width: 767px) {
    body {
        font-size: 1rem;
    }

    h2, .h2 {
        font-size: 1.75rem;
    }

    h3, .h3 {
        font-size: 1.5rem;
    }

    p, li, p.subtitle-3 {
        font-size: 1rem;
        line-height: 1.6;
    }
}
