/* Compléments Bootstrap (site public): header fixe, héros, sections héritées de home.css */

/*
 * Débordement horizontal (lignes Bootstrap négatives, tableaux…) — souvent invisible en local,
 * mais visible une fois déployé sur petits écrans ou avec barres de défilement du navigateur.
 */
html {
    overflow-x: hidden;
}

#siteMain img,
#siteMain video {
    max-width: 100%;
    height: auto;
}

:root {
    --site-header-extra: clamp(120px, 22vw, 168px);
    --transition: 0.3s ease;
}

/* Pas de reset global pour laisser agir Bootstrap Reboot */

.site-main-offset {
    padding-top: var(--site-header-extra);
    transition: padding-top var(--transition);
}

.site-logo {
    height: clamp(52px, 12vw, 76px);
    width: auto;
    transition: height var(--transition);
}

.site-brand-title {
    font-size: clamp(0.9rem, 2.8vw, 1.35rem);
    transition: font-size var(--transition);
}

#siteHeader.scrolled .site-logo {
    height: clamp(40px, 10vw, 52px);
}

#siteHeader.scrolled .site-brand-title {
    font-size: clamp(0.82rem, 2.5vw, 1.1rem);
}

#siteHeader.scrolled .site-brand-tagline {
    display: none !important;
}

/* Navbar blanche soulignée (accent proche référence fédération) */
.navbar-site .site-nav-link {
    border-bottom: 3px solid transparent;
    transition: border-color var(--transition), color var(--transition);
}

.navbar-site .site-nav-link:hover,
.navbar-site .site-nav-link:focus-visible {
    border-bottom-color: #e4c200;
}

.navbar-site .nav-link.dropdown-toggle.site-nav-link::after {
    margin-left: 0.35em;
}

.navbar-site .site-nav-link.active {
    border-bottom-color: #e4c200;
    color: var(--bs-primary) !important;
}

@media (max-width: 991.98px) {
    :root {
        --site-header-extra: clamp(92px, 22vw, 124px);
    }
}

.hero,
.page-hero {
    margin-top: 0 !important;
}

/*
 * Hero d’accueil (.hero) : éviter height:100vh sous #siteMain avec padding pour
 * header fixe — sinon dépasse la fenêtre et crée une barre de défilement inutile.
 */
.site-main-offset > .hero:first-child {
    height: calc(100svh - var(--site-header-extra));
    min-height: 22rem;
    max-height: none;
}

#backToTop {
    bottom: 1.5rem;
    right: 1.5rem;
    width: 3rem;
    height: 3rem;
    z-index: 1040;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition), visibility var(--transition);
}

#backToTop.show {
    opacity: 1;
    visibility: visible;
}

.min-w-0 {
    min-width: 0;
}

.text-white-75 {
    color: rgba(255, 255, 255, 0.8) !important;
}
