/* Certive Baby typography system (Rubik) */

:root {
    --font-family-base: 'Rubik', sans-serif;

    --font-size-xs: 12px;
    --font-size-sm: 14px;
    --font-size-base: 16px;
    --font-size-md: 18px;
    --font-size-lg: 22px;
    --font-size-xl: 28px;
    --font-size-2xl: 32px;
    --font-size-3xl: 48px;

    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;

    --line-height-tight: 1.3;
    --line-height-base: 1.6;
    --line-height-relaxed: 1.75;
}

/* Universal Rubik — overrides Montserrat/Cookie/Bootstrap from template */
html {
    font-family: var(--font-family-base) !important;
}

*,
*::before,
*::after {
    font-family: var(--font-family-base) !important;
}

/* Restore icon fonts (must come after universal rule) */
.fa,
.fa::before,
[class^="fa-"],
[class^="fa-"]::before,
[class*=" fa-"],
[class*=" fa-"]::before {
    font-family: "FontAwesome" !important;
}

[data-icon]::before,
[class^="icon_"],
[class^="icon_"]::before,
[class*=" icon_"],
[class*=" icon_"]::before,
[class^="arrow_"],
[class^="arrow_"]::before,
[class*=" arrow_"],
[class*=" arrow_"]::before {
    font-family: "ElegantIcons" !important;
}

body {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-base);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Heading scale */
h1 {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-extrabold);
    line-height: var(--line-height-tight);
}

h2 {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}

h3 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}

h4 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
}

h5 {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-semibold);
}

h6 {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
}

p {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-base);
}

strong, b {
    font-weight: var(--font-weight-bold);
}

em:not([class*="fa"]):not([class*="icon_"]),
i:not(.fa):not([class*="fa-"]):not([class^="icon_"]):not([class*=" icon_"]) {
    font-style: italic;
}

/* Header navigation */
.header__menu ul li a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.5px;
}

.slicknav_menu a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

/* Section titles */
.section-title h4 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
}

/* Product filter tabs */
.filter__controls li {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

/* Product card */
.product__item__text h6 a {
    font-size: 15px;
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
}

.product__price {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
}

.product__price-from {
    font-size: 13px;
    font-weight: var(--font-weight-regular);
    font-style: italic;
}

.product__item__pic .label {
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.5px;
}

/* Testimonials */
.testimonials__label {
    font-size: 13px;
    font-weight: var(--font-weight-semibold);
    letter-spacing: 2px;
}

.testimonials__header h2 {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
}

.testimonials__desc {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-relaxed);
}

.testimonials__quote {
    font-size: 15px;
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-relaxed);
}

.testimonials__author strong {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
}

.testimonials__author span {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
}

/* Stores */
.stores__header h4 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
}

.stores__brand {
    font-size: 20px;
    font-weight: var(--font-weight-bold);
    letter-spacing: -0.5px;
}

/* Footer */
.footer__widget h6,
.footer__newslatter h6 {
    font-size: 13px;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.5px;
}

.footer__about p,
.footer__widget ul li a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-regular);
}

.footer__copyright__text p {
    font-size: 13px;
    font-weight: var(--font-weight-regular);
}

/* Buttons */
.site-btn,
.primary-btn {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.5px;
}

/* Responsive scale */
@media only screen and (max-width: 767px) {
    body {
        font-size: 15px;
    }

    h1 {
        font-size: 36px;
    }

    h2,
    .testimonials__header h2 {
        font-size: 26px;
    }

    h3 {
        font-size: 24px;
    }

    h4,
    .section-title h4,
    .stores__header h4 {
        font-size: 20px;
    }
}
