/* NDTC Typography System */
:root {
    --insuba-font: "Roboto", sans-serif;
    --insuba-font2: "Roboto", sans-serif;
    --insuba-heading-font: "Roboto", sans-serif;
    --insuba-special-font: "Roboto", sans-serif;
    --bs-font-sans-serif: "Roboto", sans-serif;

    --ndtc-text-xs: clamp(0.6875rem, 0.66rem + 0.15vw, 0.75rem);
    --ndtc-text-sm: clamp(0.8125rem, 0.78rem + 0.2vw, 0.875rem);
    --ndtc-text-base: clamp(0.875rem, 0.82rem + 0.35vw, 1rem);
    --ndtc-text-md: clamp(0.9375rem, 0.88rem + 0.35vw, 1.0625rem);
    --ndtc-text-lg: clamp(1rem, 0.92rem + 0.45vw, 1.125rem);
    --ndtc-text-xl: clamp(1.125rem, 1rem + 0.65vw, 1.375rem);
    --ndtc-text-2xl: clamp(1.375rem, 1.15rem + 1vw, 1.75rem);
    --ndtc-text-3xl: clamp(1.625rem, 1.3rem + 1.5vw, 2.1875rem);
    --ndtc-text-4xl: clamp(1.875rem, 1.45rem + 2.2vw, 2.625rem);

    --ndtc-leading-tight: 1.25;
    --ndtc-leading-snug: 1.35;
    --ndtc-leading-normal: 1.6;
    --ndtc-leading-relaxed: 1.75;
}

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

body {
    font-family: "Roboto", sans-serif;
    font-size: var(--ndtc-text-base);
    line-height: var(--ndtc-leading-relaxed);
}

.page-wrapper,
h1, h2, h3, h4, h5, h6,
p, blockquote, figcaption, cite,
label, legend, small, strong, em,
input, textarea, select, option, button,
table, th, td,
.main-menu a,
.mobile-nav__content,
.topbar,
.footer-widget,
.mean-container .mean-nav ul li a,
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button,
.irs,
.mfp-title,
.mfp-counter {
    font-family: "Roboto", sans-serif;
}

p,
ul,
ol,
li,
dl,
dt,
dd,
blockquote,
figcaption,
label,
legend,
td,
th,
.about-one__text,
.blog-card__text,
.blog-card__content,
.footer-widget__about,
.footer-widget__links a,
.product__item__cat,
.product__item__cat a,
.all-products-overview__content,
.mobile-nav__content .main-menu__list li a,
.contact-page__text,
.sidebar__single p {
    font-size: var(--ndtc-text-base);
    line-height: var(--ndtc-leading-relaxed);
}

h1,
.page-header__title {
    font-size: var(--ndtc-text-4xl);
    line-height: var(--ndtc-leading-tight);
}

h2,
.sec-title__title {
    font-size: var(--ndtc-text-3xl);
    line-height: var(--ndtc-leading-tight);
}

h3,
.footer-widget__title,
.product__item__title,
.product__sidebar__title,
.blog-card__title,
.blog-card__title a {
    font-size: var(--ndtc-text-xl);
    line-height: var(--ndtc-leading-snug);
}

h4 {
    font-size: var(--ndtc-text-lg);
    line-height: var(--ndtc-leading-snug);
}

h5 {
    font-size: var(--ndtc-text-md);
    line-height: var(--ndtc-leading-normal);
}

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

.sec-title__tagline,
.brickz-tagline,
.page-header_descripttion {
    font-size: var(--ndtc-text-lg);
    line-height: var(--ndtc-leading-snug);
}

.insuba-breadcrumb li,
.insuba-breadcrumb li a,
.insuba-breadcrumb li span {
    font-size: var(--ndtc-text-md);
    line-height: var(--ndtc-leading-snug);
}

.topbar__text,
.topbar--two .topbar__text {
    font-size: var(--ndtc-text-sm);
    line-height: var(--ndtc-leading-normal);
}

.main-menu .main-menu__list > li > a {
    font-size: var(--ndtc-text-md);
    line-height: var(--ndtc-leading-snug);
}

.insuba-btn,
.insuba-btn span,
button,
input,
textarea,
select,
.product__item .insuba-btn {
    font-size: var(--ndtc-text-base);
    line-height: var(--ndtc-leading-normal);
}

.about-brickz__desc {
    font-size: var(--ndtc-text-base);
    line-height: var(--ndtc-leading-relaxed);
}

.service-details__text,
.service-details__description p,
.service-details__policies__list p {
    font-size: var(--ndtc-text-base);
    line-height: var(--ndtc-leading-relaxed);
}

.brickz-title {
    font-size: var(--ndtc-text-3xl) !important;
    line-height: var(--ndtc-leading-tight) !important;
}

.brickz-desc {
    font-size: var(--ndtc-text-base) !important;
    line-height: var(--ndtc-leading-relaxed) !important;
}

.all-products-overview__toggle {
    font-size: var(--ndtc-text-md);
}

.product__item__price {
    font-size: var(--ndtc-text-lg);
}

.insuba-ratings__icon {
    font-size: var(--ndtc-text-sm);
}

.post-pagination a,
.post-pagination span {
    font-size: var(--ndtc-text-base);
}

@media (max-width: 991px) {
    .main-menu .main-menu__list > li > a {
        font-size: var(--ndtc-text-base);
    }

    .footer-widget__title {
        font-size: var(--ndtc-text-lg);
    }

    .brickz-tagline {
        font-size: var(--ndtc-text-sm);
    }
}

@media (max-width: 767px) {
    body {
        line-height: var(--ndtc-leading-normal);
    }

    .page-header__title {
        margin-bottom: 8px;
    }

    .sec-title__tagline,
    .brickz-tagline {
        font-size: var(--ndtc-text-md);
    }

    .product__item__title {
        font-size: var(--ndtc-text-lg);
    }

    .footer-widget__title {
        margin-bottom: 28px;
    }

    .brickz-desc,
    .about-brickz__desc {
        font-size: var(--ndtc-text-base) !important;
    }
}

@media (max-width: 575px) {
    .insuba-breadcrumb li,
    .insuba-breadcrumb li a,
    .insuba-breadcrumb li span {
        font-size: var(--ndtc-text-base);
    }

    .topbar__text,
    .topbar--two .topbar__text {
        font-size: var(--ndtc-text-xs);
    }

    .brickz-tagline {
        font-size: var(--ndtc-text-xs);
    }

    .brickz-desc,
    .about-brickz__desc {
        font-size: var(--ndtc-text-sm) !important;
    }
}
