/*
 * AK Global global typography overrides
 * Loaded after style.css and inner-pages.css so every public page uses
 * the same readable type scale without resizing icons or media.
 */

html {
    font-size: 18px;
}

body {
    font-size: 18px !important;
    line-height: 1.7;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Standard copy, navigation, cards, tables and forms */
body :where(
    p,
    li,
    li > a,
    label,
    input,
    textarea,
    select,
    button,
    td,
    th,
    blockquote,
    figcaption,
    address
) {
    font-size: 18px !important;
}

body :where(p, li, blockquote, address) {
    line-height: 1.7 !important;
}

/* Secondary information remains smaller, but never becomes unreadable. */
body :where(
    small,
    time,
    .sub-title,
    .pre-title,
    .akg-breadcrumb,
    .akg-content__meta,
    .akg-blog-card__date,
    .akg-blog-detail__date,
    .header-top-area-wrapper li,
    .header-top-area-wrapper li > a,
    .header-top-area-wrapper span
) {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

/* Main menu and dropdowns */
.header-main-one-wrapper .nav-area > ul > li > a,
.header-main-one-wrapper .submenu a,
.header-main-one-wrapper .akg-product-submenu > li > a,
#mobile-menu-active a,
.rts-sidebar-menu-desktop a {
    font-size: 17px !important;
    line-height: 1.4 !important;
}

/* Buttons and form controls */
.rts-btn,
.akg-btn,
.quote-btn,
.akg-link,
.akg-filter,
.akg-cookie-consent button,
button[type="submit"],
input[type="submit"] {
    font-size: 17px !important;
    line-height: 1.35 !important;
}

input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
    font-size: 17px !important;
    line-height: 1.5 !important;
}

/* Content components that previously used fixed 12-16px values. */
#main-content,
.disc,
.akg-about-points li,
.akg-media-card__body p,
.akg-media-empty-note,
.akg-blog-card p,
.akg-contact-panel p,
.akg-field label,
.akg-contact-consent span,
.akg-policy-item p,
.akg-empty,
.footer-two-single-wized p,
.footer-two-single-wized li,
.copyright-h-2-wrapper p,
.copyright-h-2-wrapper a {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* Consistent heading scale. Descendants inherit so linked headings do not shrink. */
h1, .h1 {
    font-size: clamp(40px, 4vw, 56px) !important;
    line-height: 1.12 !important;
}

h2, .h2 {
    font-size: clamp(34px, 3.2vw, 46px) !important;
    line-height: 1.18 !important;
}

h3, .h3 {
    font-size: clamp(28px, 2.5vw, 36px) !important;
    line-height: 1.22 !important;
}

h4, .h4 {
    font-size: clamp(23px, 2vw, 29px) !important;
    line-height: 1.28 !important;
}

h5, .h5 {
    font-size: clamp(20px, 1.6vw, 24px) !important;
    line-height: 1.32 !important;
}

h6, .h6 {
    font-size: 18px !important;
    line-height: 1.4 !important;
}

body :where(h1, h2, h3, h4, h5, h6) :where(a, span, strong, em) {
    font-size: inherit !important;
    line-height: inherit !important;
}

@media (max-width: 991px) {
    html,
    body {
        font-size: 17px !important;
    }

    body :where(p, li, li > a, label, input, textarea, select, button, td, th, blockquote, figcaption, address),
    #main-content,
    .disc,
    .akg-media-card__body p,
    .akg-blog-card p,
    .akg-contact-panel p,
    .akg-policy-item p,
    .footer-two-single-wized p,
    .footer-two-single-wized li {
        font-size: 17px !important;
    }
}

@media (max-width: 575px) {
    html,
    body {
        font-size: 16px !important;
    }

    body :where(p, li, li > a, label, input, textarea, select, button, td, th, blockquote, figcaption, address),
    #main-content,
    .disc,
    .akg-media-card__body p,
    .akg-blog-card p,
    .akg-contact-panel p,
    .akg-policy-item p,
    .footer-two-single-wized p,
    .footer-two-single-wized li {
        font-size: 16px !important;
    }

    body :where(small, time, .sub-title, .pre-title, .akg-breadcrumb, .akg-content__meta, .akg-blog-card__date, .akg-blog-detail__date) {
        font-size: 14px !important;
    }

    .header-main-one-wrapper .nav-area > ul > li > a,
    .header-main-one-wrapper .submenu a,
    #mobile-menu-active a,
    .rts-sidebar-menu-desktop a {
        font-size: 17px !important;
    }
}

/* Component-specific heading corrections */
.akg-hero h1 {
    font-size: clamp(28px, 2.2vw, 34px) !important;
    line-height: 1.2 !important;
}

.akg-media-card__body h3,
.akg-media-card--document .akg-media-card__body h3 {
    font-size: clamp(21px, 1.55vw, 25px) !important;
    line-height: 1.3 !important;
}

.akg-product-catalogue__heading h1 {
    font-size: clamp(32px, 3vw, 42px) !important;
    line-height: 1.12 !important;
}

.akg-product-tile h2,
.akg-product-tile h2 a {
    font-size: clamp(18px, 1.45vw, 22px) !important;
    line-height: 1.35 !important;
}

.akg-policy-content h2 {
    font-size: clamp(25px, 2.2vw, 30px) !important;
    line-height: 1.25 !important;
}

.akg-policy-content h3,
.akg-policy-item h3 {
    font-size: clamp(20px, 1.65vw, 23px) !important;
    line-height: 1.32 !important;
}

@media (max-width: 575px) {
    .akg-hero h1 {
        font-size: 24px !important;
    }

    .akg-media-card__body h3,
    .akg-media-card--document .akg-media-card__body h3 {
        font-size: 20px !important;
    }

    .akg-product-catalogue__heading h1 {
        font-size: 30px !important;
    }

    .akg-product-tile h2,
    .akg-product-tile h2 a {
        font-size: 18px !important;
    }

    .akg-policy-content h2 {
        font-size: 24px !important;
    }

    .akg-policy-content h3,
    .akg-policy-item h3 {
        font-size: 20px !important;
    }
}
