/*
 * ==========================================================
 * FitUI
 * The Design System for FitOcala
 *
 * File: 01-base.css
 * Version: 1.0.0
 * ==========================================================
 */

/*
|--------------------------------------------------------------------------
| Base Reset
|--------------------------------------------------------------------------
*/

.fit-v2-body,
.fit-v2-body *,
.fit-v2-body *::before,
.fit-v2-body *::after {
    box-sizing: border-box;
}

.fit-v2-body {
    margin: 0;
    min-height: 100vh;

    background: var(--fit-bg);
    color: var(--fit-text);

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: 16px;
    line-height: 1.5;

    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;

    scroll-behavior: smooth;
}

/*
|--------------------------------------------------------------------------
| Media
|--------------------------------------------------------------------------
*/

.fit-v2-body img,
.fit-v2-body picture,
.fit-v2-body video,
.fit-v2-body canvas,
.fit-v2-body svg {
    display: block;
    max-width: 100%;
}

.fit-v2-body img,
.fit-v2-body video {
    height: auto;
}

/*
|--------------------------------------------------------------------------
| Links
|--------------------------------------------------------------------------
*/

.fit-v2-body a {
    color: inherit;
    text-decoration: none;
}

/*
|--------------------------------------------------------------------------
| Form Controls
|--------------------------------------------------------------------------
*/

.fit-v2-body button,
.fit-v2-body input,
.fit-v2-body textarea,
.fit-v2-body select {
    margin: 0;
    font: inherit;
}

.fit-v2-body button,
.fit-v2-body select {
    cursor: pointer;
}

.fit-v2-body button:disabled,
.fit-v2-body input:disabled,
.fit-v2-body textarea:disabled,
.fit-v2-body select:disabled {
    cursor: not-allowed;
}

/*
|--------------------------------------------------------------------------
| Typography
|--------------------------------------------------------------------------
*/

.fit-v2-body h1,
.fit-v2-body h2,
.fit-v2-body h3,
.fit-v2-body h4,
.fit-v2-body h5,
.fit-v2-body h6,
.fit-v2-body p {
    margin-top: 0;
}

.fit-v2-body h1,
.fit-v2-body h2,
.fit-v2-body h3,
.fit-v2-body h4,
.fit-v2-body h5,
.fit-v2-body h6 {
    color: var(--fit-text);
    font-weight: 800;
    line-height: 1.1;
}

.fit-v2-body p:last-child {
    margin-bottom: 0;
}

/*
|--------------------------------------------------------------------------
| Accessibility
|--------------------------------------------------------------------------
*/

.fit-v2-body :focus-visible {
    outline: 2px solid var(--fit-gold);
    outline-offset: 3px;
}

.fit-v2-body [hidden] {
    display: none;
}

/*
|--------------------------------------------------------------------------
| Selection
|--------------------------------------------------------------------------
*/

.fit-v2-body ::selection {
    background: var(--fit-gold);
    color: var(--fit-bg);
}

/*
|--------------------------------------------------------------------------
| Reduced Motion
|--------------------------------------------------------------------------
*/

@media (prefers-reduced-motion: reduce) {
    .fit-v2-body {
        scroll-behavior: auto;
    }

    .fit-v2-body *,
    .fit-v2-body *::before,
    .fit-v2-body *::after {
        animation-duration: .01ms;
        animation-iteration-count: 1;
        transition-duration: .01ms;
        scroll-behavior: auto;
    }
}