@use "../abstracts/index" as *;

/* Typography
============================================================== */

/* Heading */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: $font-main;
    text-rendering: optimizeLegibility;
    font-weight: 500;
    margin-bottom: 0;
    letter-spacing: 0;
    // color: var(--main);
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: $font-main;
    text-rendering: optimizeLegibility;
    font-weight: 400;
    margin-bottom: 0;
    letter-spacing: 0;
    // color: var(--main);
}

h1,
.h1 {
    font-size: clamp(36px, 5vw, 64px);
    line-height: clamp(44px, 5.5vw, 68px);
}

h2,
.h2 {
    font-size: clamp(32px, 4.5vw, 56px);
    line-height: clamp(40px, 5vw, 64px);
}

h3,
.h3 {
    font-size: clamp(28px, 4vw, 48px);
    line-height: clamp(36px, 4.5vw, 56px);
}

h4,
.h4 {
    font-size: clamp(26px, 3.5vw, 40px);
    line-height: clamp(34px, 4vw, 48px);
}

h5,
.h5 {
    font-size: clamp(22px, 3vw, 32px);
    line-height: clamp(28px, 3.5vw, 40px);
}

h6,
.h6 {
    font-size: clamp(20px, 2.5vw, 24px);
    line-height: clamp(26px, 3vw, 32px);
}



/* Font custom */
.font-main {
    font-family: $font-main;
}

.text-display-1 {
    font-size: clamp(60px, 8vw, 96px);
    line-height: clamp(60px, 8vw, 96px);
}

.text-display-2 {
    font-size: clamp(32px, 6vw, 72px);
    line-height: clamp(40px, 6.5vw, 80px);
}

.text-body-1 {
    font-size: 18px;
    line-height: 28px;
}

.text-body-2 {
    font-size: 16px;
    line-height: 24px;
}

.text-body-3 {
    font-size: 14px;
    line-height: 20px;
}

.text-caption {
    font-size: 12px;
    line-height: 16px;
    letter-spacing: -0.01em;
}

/* Text Font */
.text-24 {
    font-size: clamp(18px, 2vw, 24px);
    line-height: clamp(18px, 2vw, 24px);
}

.text-64 {
    font-size: clamp(36px, 5vw, 64px);
    line-height: clamp(36px, 5vw, 64px);
}

.text-80 {
    font-size: clamp(40px, 6vw, 80px);
    line-height: clamp(48px, 6.6vw, 88px);
}


/* Font size */
.fs-4 {
    font-size: 4px !important;
}

.fs-8 {
    font-size: 8px !important;
}

.fs-10 {
    font-size: 10px !important;
}

.fs-12 {
    font-size: 12px !important;
}

.fs-14 {
    font-size: 14px !important;
}

.fs-16 {
    font-size: 16px !important;
}

.fs-18 {
    font-size: 18px !important;
}

.fs-20 {
    font-size: 20px !important;
}

.fs-24 {
    font-size: 24px !important;
}

.fs-32 {
    font-size: 32px !important;
}

.fs-35 {
    font-size: 35px !important;
}

/* Line height */
.lh-8 {
    line-height: 8px !important;
}

.lh-10 {
    line-height: 10px !important;
}

.lh-11 {
    line-height: 11px !important;
}

.lh-13 {
    line-height: 13px !important;
}

.lh-19 {
    line-height: 19px !important;
}

.lh-20 {
    line-height: 20px !important;
}

.lh-24 {
    line-height: 24px !important;
}

.lh-26 {
    line-height: 26px !important;
}

.lh-28 {
    line-height: 28px !important;
}

.lh-30 {
    line-height: 30px !important;
}

.lh-32 {
    line-height: 32px !important;
}

/* Letter spacing */
.letter-space-0 {
    letter-spacing: 0px !important;
}

.letter-space--1 {
    letter-spacing: -0.01em !important;
}

.letter-space--2 {
    letter-spacing: -0.02em !important;
}

.letter-space--3 {
    letter-spacing: -0.03em !important;
}

.letter-space--4 {
    letter-spacing: -0.04em !important;
}

/* Responsive */
@include res(xxl, min) {
    .lh-xxl-11 {
        line-height: 11px !important;
    }

    .lh-xxl-19 {
        line-height: 19px !important;
    }

    .lh-xxl-22 {
        line-height: 22px !important;
    }

    .lh-xxl-56 {
        line-height: 56px !important;
    }
}

@include res(xl, min) {
    .lh-xl-54 {
        line-height: 54px !important;
    }

    .lh-xl-36 {
        line-height: 36px !important;
    }
}

@include res(lg, min) {
    .lh-lg-56 {
        line-height: 56px !important;
    }
}