/*
 * Modus Customer Commerce UI — custom settings
 *
 * This file is deliberately loaded last by the html_custom layouts. Keep local,
 * operator-controlled visual preferences here instead of editing FOSSBilling's
 * compiled Huraga CSS. Set --mc-font-size-step to 0px to restore the original
 * typography scale without changing any component stylesheet.
 */

:root {
    --mc-font-size-step: 1px;

    /* Modus design-system type scale: exactly one CSS pixel smaller per step. */
    --mc-text-xs: calc(0.75rem - var(--mc-font-size-step));
    --mc-text-sm: calc(0.875rem - var(--mc-font-size-step));
    --mc-text-base: calc(1rem - var(--mc-font-size-step));
    --mc-text-lg: calc(1.125rem - var(--mc-font-size-step));
    --mc-text-xl: calc(1.25rem - var(--mc-font-size-step));
    --mc-text-2xl: calc(1.5rem - var(--mc-font-size-step));
    --mc-text-3xl: calc(1.875rem - var(--mc-font-size-step));
    --mc-text-4xl: calc(2.25rem - var(--mc-font-size-step));
    --mc-text-5xl: calc(3rem - var(--mc-font-size-step));
    --mc-text-6xl: calc(3.75rem - var(--mc-font-size-step));
    --mc-text-7xl: calc(4.5rem - var(--mc-font-size-step));

    --bs-body-font-size: calc(1rem - var(--mc-font-size-step));
}

body {
    font-size: var(--bs-body-font-size);
}

/* Stock Huraga/Bootstrap headings. Families, weights, and line heights inherit
   unchanged from the existing Modus and Huraga stylesheets. */
h1,
.h1 { font-size: calc(2.5rem - var(--mc-font-size-step)); }

h2,
.h2 { font-size: calc(2rem - var(--mc-font-size-step)); }

h3,
.h3 { font-size: calc(1.75rem - var(--mc-font-size-step)); }

h4,
.h4 { font-size: calc(1.5rem - var(--mc-font-size-step)); }

h5,
.h5 { font-size: calc(1.25rem - var(--mc-font-size-step)); }

h6,
.h6 { font-size: calc(1rem - var(--mc-font-size-step)); }

.display-1 { font-size: calc(5rem - var(--mc-font-size-step)); }
.display-2 { font-size: calc(4.5rem - var(--mc-font-size-step)); }
.display-3 { font-size: calc(4rem - var(--mc-font-size-step)); }
.display-4 { font-size: calc(3.5rem - var(--mc-font-size-step)); }
.display-5 { font-size: calc(3rem - var(--mc-font-size-step)); }
.display-6 { font-size: calc(2.5rem - var(--mc-font-size-step)); }

/* Text roles and monospace. */
.lead { font-size: calc(1rem - var(--mc-font-size-step)); }

small,
.small,
.form-text,
.valid-feedback,
.invalid-feedback,
.dropdown-header,
.blockquote-footer,
.figure-caption,
.tooltip,
.popover,
.toast {
    font-size: calc(0.875rem - var(--mc-font-size-step));
}

code,
kbd,
pre,
samp {
    font-size: calc(0.875rem - var(--mc-font-size-step));
}

/* Controls and interactive text. */
.btn,
.form-control,
.form-select,
.input-group-text,
.nav-link,
.dropdown-item,
.page-link,
.accordion-button {
    font-size: calc(1rem - var(--mc-font-size-step));
}

.btn-sm,
.btn-group-sm > .btn,
.col-form-label-sm,
.pagination-sm .page-link {
    font-size: calc(0.875rem - var(--mc-font-size-step));
}

.btn-lg,
.btn-group-lg > .btn,
.col-form-label-lg,
.pagination-lg .page-link,
.navbar-brand,
.offcanvas-title {
    font-size: calc(1.25rem - var(--mc-font-size-step));
}

legend {
    font-size: calc(1.5rem - var(--mc-font-size-step));
}

.badge {
    font-size: calc(0.75rem - var(--mc-font-size-step));
}

/* Font-size utilities that are present in the compiled Huraga bundle use
   !important, so the custom settings counterpart must do the same. */
.fs-4 { font-size: calc(1.5rem - var(--mc-font-size-step)) !important; }
.fs-5 { font-size: calc(1.25rem - var(--mc-font-size-step)) !important; }
.fs-6 { font-size: calc(1rem - var(--mc-font-size-step)) !important; }
.fs-7 { font-size: calc(0.875rem - var(--mc-font-size-step)) !important; }

@media (max-width: 767.98px) {
    :root {
        --mc-font-size-step: 0px;
    }
}
