﻿/* Font sizing */
html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

/* Focus ring for accessibility */
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/* Layout base */
html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

/* 🔽 Responsive carousel image with consistent aspect ratio */
.carousel-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1500 / 450; /* Modern browsers only */
}

/* 🔽 Optional fallback for fixed height */
@supports not (aspect-ratio: 1500 / 450) {
    .carousel-img {
        height: 450px;
        object-fit: cover;
    }
}

/* 🔽 Center carousel container on ultra-wide screens */
@media (min-width: 1500px) {
    #heroCarousel {
        max-width: 1500px;
        margin-left: auto;
        margin-right: auto;
    }
}
