html { font-size: 14px; }

@media (min-width: 768px) {
    html { font-size: 16px; }
}

:root {
    --vf-dark: #141414;
    --vf-orange: #ff7a1a;
    --vf-gold: #ffbf2f;
    --vf-soft: #fff7ef;
}

body {
    margin-bottom: 0;
    background: #fff;
}

/* Ensure footer is reached only at page bottom (after scrolling through page content) */
main { min-height: 80vh; }

.vf-navbar {
    background: linear-gradient(90deg, #101010 0%, #1d1d1d 100%);
}

.vf-logo {
    width: 42px;
    height: 42px;
    object-fit: cover;
    border-radius: 8px;
    background: #fff;
}

.vf-logo-footer {
    width: 56px;
    height: 56px;
}

.vf-home-logo {
    max-width: 320px;
    border-radius: 24px;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, .08);
}

.vf-hero {
    background: linear-gradient(135deg, #fff7ef 0%, #ffffff 60%, #fff2d8 100%);
    border: 1px solid #ffe1bf;
}

.vf-contacts-hero {
    background: linear-gradient(135deg, #ffffff 0%, #fff7ef 75%, #fff2d8 100%);
    border: 1px solid #ffe1bf;
}

.vf-footer {
    background: linear-gradient(180deg, #171717 0%, #0f0f0f 100%);
}

.vf-footer-link {
    color: #f3d7b0;
    text-decoration: none;
}

.vf-footer-link:hover {
    color: #fff;
}

.vf-check-list li + li {
    margin-top: .75rem;
}

.vf-contact-line {
    margin-bottom: .5rem;
    color: #495057;
}

.vf-contact-line a {
    color: #495057;
    text-decoration: none;
}

.vf-contact-line a:hover {
    color: #1d1d1d;
    text-decoration: underline;
}

.navbar .nav-link:hover { opacity: 0.8; }

.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: block; }
.htmx-request.htmx-indicator  { display: block; }

.card { transition: box-shadow .2s; }
.card:hover { box-shadow: 0 .25rem .75rem rgba(0,0,0,.1); }

#upload-progress-wrap { transition: opacity .3s; }
