@font-face {
    font-display: swap;
    font-family: "VC Geist";
    font-style: normal;
    font-weight: 100 900;
    src: url("/fonts/geist-latin.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "VC Playfair";
    font-style: normal;
    font-weight: 400 700;
    src: url("/fonts/playfair-display-latin.woff2") format("woff2");
}

:root {
    --vc-background: #f6f2ec;
    --vc-beige: #efe8dd;
    --vc-border: #e3dbcc;
    --vc-gold: #dfbb89;
    --vc-gold-soft: #eac89b;
    --vc-ivory: #f6f2ec;
    --vc-muted: #5f6b63;
    --vc-navy: #2f4e50;
    --vc-navy-deep: #223b3c;
    --vc-font-heading: "VC Playfair", Georgia, serif;
    --vc-font-sans: "VC Geist", Arial, sans-serif;
    color-scheme: light;
    font-family: var(--vc-font-sans);
    font-synthesis: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    background: var(--vc-background);
    scroll-behavior: smooth;
}

body {
    background: var(--vc-background);
    color: var(--vc-navy-deep);
    font-family: var(--vc-font-sans);
    margin: 0;
    min-width: 320px;
    -webkit-font-smoothing: antialiased;
}

button,
input,
textarea,
select {
    font: inherit;
    letter-spacing: 0;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: 3px solid rgb(223 187 137 / 0.7);
    outline-offset: 3px;
}

img,
svg {
    max-width: 100%;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #b32121;
}

.blazor-error-boundary {
    background: #b32121;
    color: #fff;
    padding: 1rem;
}

.blazor-error-boundary::after {
    content: "Ocorreu um erro inesperado.";
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
