/* Bold */
.is-bold { font-weight: bold; }

/* Helpers */
.has-no-wrap {
    white-space: nowrap;
}
.is-sup {
    font-size: 0.75em;
    text-transform: uppercase;
    font-weight: bold;
    transform: translate(0.1em, -0.4em);
}

/* Text Decoration */
.has-line-through {
    text-decoration: line-through;
}

/* Font Weight */
.is-font-weight-normal { font-weight: normal; }

/* Line Height in rem */
.is-line-height-7 { line-height: 0.75rem; }
.is-line-height-6 { line-height: 1rem; }
.is-line-height-5 { line-height: 1.25rem; }
.is-line-height-4 { line-height: 1.5rem; }
.is-line-height-3 { line-height: 2rem; }
.is-line-height-2 { line-height: 2.5rem; }
.is-line-height-1 { line-height: 3rem; }

/* Default styles (mobile-first approach) */
.is-size-2px { font-size: 2px; line-height: 2px; }
.is-size-4px { font-size: 4px; line-height: 4px; }
.is-size-8px { font-size: 8px; line-height: 8px; }
.is-size-16px { font-size: 16px; line-height: 16px; }
.is-size-32px { font-size: 32px; line-height: 32px; }
.is-size-64px { font-size: 64px; line-height: 64px; }

/* Mobile */
@media (max-width: 768px) {
    .is-size-2px-mobile { font-size: 2px; line-height: 2px; }
    .is-size-4px-mobile { font-size: 4px; line-height: 4px; }
    .is-size-8px-mobile { font-size: 8px; line-height: 8px; }
    .is-size-16px-mobile { font-size: 16px; line-height: 16px; }
    .is-size-32px-mobile { font-size: 32px; line-height: 32px; }
    .is-size-64px-mobile { font-size: 64px; line-height: 64px; }
}

/* Tablet */
@media (min-width: 769px) {
    .is-size-2px-tablet { font-size: 2px; line-height: 2px; }
    .is-size-4px-tablet { font-size: 4px; line-height: 4px; }
    .is-size-8px-tablet { font-size: 8px; line-height: 8px; }
    .is-size-16px-tablet { font-size: 16px; line-height: 16px; }
    .is-size-32px-tablet { font-size: 32px; line-height: 32px; }
    .is-size-64px-tablet { font-size: 64px; line-height: 64px; }
}

/* Desktop */
@media (min-width: 1024px) {
    .is-size-2px-desktop { font-size: 2px; line-height: 2px; }
    .is-size-4px-desktop { font-size: 4px; line-height: 4px; }
    .is-size-8px-desktop { font-size: 8px; line-height: 8px; }
    .is-size-16px-desktop { font-size: 16px; line-height: 16px; }
    .is-size-32px-desktop { font-size: 32px; line-height: 32px; }
    .is-size-64px-desktop { font-size: 64px; line-height: 64px; }
}

/* Widescreen */
@media (min-width: 1216px) {
    .is-size-2px-widescreen { font-size: 2px; line-height: 2px; }
    .is-size-4px-widescreen { font-size: 4px; line-height: 4px; }
    .is-size-8px-widescreen { font-size: 8px; line-height: 8px; }
    .is-size-16px-widescreen { font-size: 16px; line-height: 16px; }
    .is-size-32px-widescreen { font-size: 32px; line-height: 32px; }
    .is-size-64px-widescreen { font-size: 64px; line-height: 64px; }
}

/* FullHD */
@media (min-width: 1408px) {
    .is-size-2px-fullhd { font-size: 2px; line-height: 2px; }
    .is-size-4px-fullhd { font-size: 4px; line-height: 4px; }
    .is-size-8px-fullhd { font-size: 8px; line-height: 8px; }
    .is-size-16px-fullhd { font-size: 16px; line-height: 16px; }
    .is-size-32px-fullhd { font-size: 32px; line-height: 32px; }
    .is-size-64px-fullhd { font-size: 64px; line-height: 64px; }
}
