/* Small usability improvements; original Bootstrap theme, typography and layout remain. */
:root { --bb-action: #b53c23; --bb-action-hover: #96301c; }

html { scroll-padding-top: 110px; }
#schedules, #main-content { scroll-margin-top: 110px; }

/* Static content is ready immediately, including when an external script is unavailable. */
#spinner { display: none !important; }
.header-carousel:not(.owl-loaded) { display: block; }
.header-carousel:not(.owl-loaded) > .owl-carousel-item:not(:first-child) { display: none; }

.bb-skip-link:focus {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100000;
    padding: 12px 20px;
    color: #fff;
    background: #103741;
    border-radius: 8px;
}
a:focus-visible, button:focus-visible, [tabindex]:focus-visible,
.navbar .navbar-nav .nav-link:focus-visible {
    outline: 3px solid #103741;
    outline-offset: 4px;
    box-shadow: 0 0 0 6px #fff;
}
.btn, .navbar-toggler, .owl-nav button, .owl-dot {
    min-height: 44px;
    min-width: 44px;
}
/* A deeper shade of the existing coral keeps small button text readable. */
.btn-primary, .btn-primary:focus, .btn-primary:active {
    background-color: var(--bb-action);
    border-color: var(--bb-action);
    color: #fff;
}
.btn-primary:hover { background-color: var(--bb-action-hover); border-color: var(--bb-action-hover); }
.btn-outline-primary { color: var(--bb-action); border-color: var(--bb-action); }
.btn-outline-primary:hover, .btn-outline-primary:active { background-color: var(--bb-action); border-color: var(--bb-action); color: #fff; }
.navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link.active { color: var(--bb-action); }
.accordion-button:not(.collapsed) { background-color: var(--bb-action); color: #fff; }
.bb-contact-actions .btn { display: inline-flex; align-items: center; justify-content: center; }
a[href^="mailto:"] { overflow-wrap: anywhere; }
.header-carousel .owl-dots {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    display: flex;
    z-index: 4;
}
.header-carousel .owl-dot { display: flex; align-items: center; justify-content: center; }
.header-carousel .owl-dot span {
    display: block;
    width: 11px;
    height: 11px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #103741;
}
.header-carousel .owl-dot.active span { background: #FE5D37; }

@media (max-width: 991.98px) {
    html { scroll-padding-top: 84px; }
    #schedules, #main-content { scroll-margin-top: 84px; }
    .navbar .navbar-nav .nav-link { min-height: 44px; }
    .back-to-top { right: 18px; bottom: 18px; }
}
@media (max-width: 575.98px) {
    .bb-contact-actions .btn { flex: 1 1 calc(50% - 8px); }
    .header-carousel .owl-carousel-item .btn { margin-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .wow { visibility: visible !important; }
}
