/* =========================================================
   SHARED BASE v1
   Small global normalization layer.
========================================================= */

html {
    font-family: var(--mtv-font-sans);
    color: var(--mtv-text-primary);
    background: var(--mtv-surface-canvas);
}

body {
    margin: 0;
    color: var(--mtv-text-primary);
    background: var(--mtv-surface-canvas);
    font-family: var(--mtv-font-sans);
    line-height: var(--mtv-line-height-body);
}

h1,
h2,
h3,
h4 {
    color: var(--mtv-brand-navy-950);
}

button,
input,
select,
textarea {
    font: inherit;
}

a {
    color: inherit;
}

.mtv-page-container {
    width: min(
        calc(100% - (var(--mtv-layout-page-gutter) * 2)),
        var(--mtv-layout-content-max)
    );
    margin-inline: auto;
}

.mtv-surface {
    background: var(--mtv-surface-primary);
    border: 1px solid var(--mtv-border-subtle);
    border-radius: var(--mtv-radius-lg);
    box-shadow: var(--mtv-shadow-sm);
}

.mtv-focus-ring:focus-visible,
:where(button, a, input, select, textarea):focus-visible {
    outline: 3px solid rgba(47, 111, 159, .28);
    outline-offset: 3px;
}

@media (max-width: 700px) {
    :root {
        --mtv-layout-page-gutter: 12px;
        --mtv-card-padding: 20px;
        --mtv-panel-padding: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
