/* ============================================================
   PALETTE DE COULEURS
   ------------------------------------------------------------
   Toutes les couleurs de la charte Renédale centralisées ici.
   ============================================================ */
:root {
    --rouge: #c61e24;
    --bleu-profond: #0d5d5d;
    --vert-sombre: #103430;
    --bleu-clair: #6db1b2;

    --texte: #103430;
    --fond: #f7f9fa;
    --blanc: #fff;
}

/* ============================================================
   STRUCTURE GLOBALE & FOOTER COLLÉ
   ============================================================ */
html, body {
    min-height: 100vh;
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    flex-direction: column;
    font-family: "Montserrat", sans-serif;
    background-color: var(--fond);
    color: var(--texte);
}

/* Le wrapper occupe tout l’espace disponible */
.page-wrapper {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

/* Le contenu principal s’étire */
main {
    flex: 1 0 auto;
}

/* Le footer ne bouge pas */
footer {
    flex-shrink: 0;
}

/* ============================================================
   TYPOGRAPHIE GLOBALE
   ============================================================ */
h1, h2, h3, h4, h5 {
    font-family: "Montserrat", sans-serif;
    color: var(--bleu-profond);
    font-weight: 600;
}

.section-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

/* ============================================================
   HEADER PREMIUM RENÉDALE (style Annecy)
   ============================================================ */
header {
    background: var(--fond);
    border-bottom: 3px solid var(--bleu-clair) !important;
    padding: 8px 0;
}

/* Logo */
.logo-nav {
    height: 80px;
    width: auto;
}

/* Navbar */
.navbar {
    padding-top: 0;
    padding-bottom: 0;
}

@media (max-width: 991px) {
    .navbar-toggler {
        margin-right: 10px;   /* pousse le toggler vers la gauche */
        margin-left: 0;       /* optionnel : colle à gauche */
    }
}

/* ------------------------------------------------------------
   LIENS PRINCIPAUX DU MENU
   ------------------------------------------------------------ */
.navbar-nav .nav-link {
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--texte) !important;
    padding: 12px 18px;
    position: relative;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    display: inline-block;
}

/* Barre dégradée partielle au repos */
.navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    left: 18px;
    bottom: 6px;
    width: 35%; /* petite barre visible */
    height: 3px;
    background: linear-gradient(90deg, var(--bleu-profond), var(--bleu-clair));
    transition: width .35s ease;
    border-radius: 2px;
}

/* Déploiement complet au survol */
.navbar-nav .nav-link:hover::after {
    width: calc(100% - 36px);
}

/* ------------------------------------------------------------
   DROPDOWN
   ------------------------------------------------------------ */
/* Animation premium du dropdown : fade + slide-down */
.dropdown-menu {
    display: block !important; /* empêche Bootstrap de casser l'animation */
    opacity: 0 !important;
    visibility: hidden;
    transform: translateY(10px) !important;
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    border: none !important;
}

/* Quand le dropdown est ouvert */
.dropdown-menu.show {
    opacity: 1 !important;
    visibility: visible;
    transform: translateY(0) !important;
    border: none !important;
}


.dropdown-item {
    font-weight: 500;
    color: var(--bleu-profond) !important;
    padding: 10px 20px;
}

.dropdown-item:hover {
    background: var(--bleu-profond);
    color: var(--blanc) !important;
    border-radius: 6px;
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-left: .3em solid transparent;
}

/* Supprime la flèche Bootstrap pour pouvoir utiliser ton soulignement */
.navbar-nav .dropdown-toggle::after {
    display: none !important;
}

/* Soulignement dégradé animé pour les dropdown-toggle */
.navbar-nav .dropdown-toggle {
    position: relative;
    display: inline-block;
}

/* Barre dégradée partielle au repos */
.navbar-nav .dropdown-toggle::before {
    content: "";
    position: absolute;
    left: 18px;
    bottom: 6px;
    width: 35%;
    height: 3px;
    background: linear-gradient(90deg, var(--bleu-profond), var(--bleu-clair));
    transition: width .35s ease;
    border-radius: 2px;
}

/* Déploiement complet au survol */
.navbar-nav .dropdown-toggle:hover::before {
    width: calc(100% - 36px);
}


/* Bouton burger */
.navbar-toggler {
    border-color: var(--bleu-profond);
}

.navbar-toggler-icon {
    filter: invert(30%) sepia(20%) saturate(800%) hue-rotate(140deg);
}

/* Responsive navbar */
@media (max-width: 992px) {
    .navbar-nav .nav-link {
        padding: 10px 12px;
    }
    .navbar-nav .nav-link::after {
        left: 12px;
    }
}

@media (max-width: 992px) {
    .dropdown-menu.show {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

@media (max-width: 992px) {
    .dropdown-menu {
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        margin-top: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}

/* ============================================================
   MODALES
   ============================================================ */
.modal-content {
    color: var(--bleu-profond) !important;
    pointer-events: auto;
}

/* Police Montserrat pour tout le contenu des modales */
.modal-content,
.modal-content p,
.modal-content li,
.modal-content ul,
.modal-content .modal-body {
    font-family: "Montserrat", sans-serif !important;
    font-weight: 400;
    color: var(--bleu-profond);
}

.modal-contact-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: var(--bleu-profond);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    transition: 0.25s ease;
    cursor: pointer;
	border: 3px solid var(--bleu-profond);
}

.modal-contact-circle:hover {
    background: var(--bleu-profond);
    color: white;
    transform: scale(1.12);
}

/* ------------------------------------------------------------
   LIENS DU DROPDOWN OUVRANT DES MODALES
   (style identique aux nav-link + soulignement animé)
   ------------------------------------------------------------ */
.dropdown-link-modal {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 1.05rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--texte) !important;
    padding: 12px 18px;
    position: relative;
    display: block;
    background: transparent !important; /* pas de fond */
}

/* Barre dégradée partielle au repos */
.dropdown-link-modal::after {
    content: "";
    position: absolute;
    left: 18px;
    bottom: 6px;
    width: 35%;
    height: 3px;
    background: linear-gradient(90deg, var(--bleu-profond), var(--bleu-clair));
    transition: width .35s ease;
    border-radius: 2px;
}

/* Déploiement complet au survol */
.dropdown-link-modal:hover::after {
    width: calc(100% - 36px);
}


/* Animation au survol */
.dropdown-link-modal:hover::after {
    width: calc(100% - 36px);
    background: var(--bleu-profond); /* ligne reste bleu profond */
}

/* Hover premium SANS fond bleu */
.dropdown-link-modal:hover {
    background-color: transparent !important; /* suppression du fond bleu */
    color: var(--bleu-profond) !important;    /* texte reste bleu */
}

/* ============================================================
   HERO BANNER
   ============================================================ */
.hero-banner {
    width: 100%;
    height: 400px;
    background-image: url('images/DJI_0992_1.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    border-bottom: 6px solid var(--bleu-profond);
    flex-shrink: 0;
}

.hero-overlay {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-title {
    color: #fff;
    font-size: 2.6rem;
    font-weight: 700;
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
    font-family: "Montserrat", sans-serif;
}

/* Responsive hero */
@media (max-width: 768px) {
    .hero-banner {
        height: 160px;
    }
    .hero-title {
        font-size: 1.8rem;
    }
}

/* ============================================================
   ACCÈS RAPIDES
   ============================================================ */
.acces-rapides {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

/* Titre */
.acces-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--texte);
}
.acces-title span {
    color: var(--bleu-profond);
}

/* Liste */
.acces-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

/* Item */
.acces-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    width: 295px;
    padding: 20px;
    border-radius: 14px;
    color: var(--texte);
}

/* Icône : grand cercle */
.acces-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: var(--blanc);
    border: 3px solid var(--bleu-profond);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    transition: .3s ease;
}

/* Petit cercle intérieur (Font Awesome) */
.icone-rapide-circle {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    color: var(--bleu-profond);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
}

/* Texte */
.acces-text {
    text-align: center;
    font-weight: 500;
    line-height: 1.2;
    font-size: 1.1rem;
    color: var(--vert-sombre);
    position: relative;
    display: inline-block;
}

/* Barre dégradée */
.acces-text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 35%;
    height: 3px;
    background: linear-gradient(90deg, var(--bleu-profond), var(--bleu-clair));
    transition: width .35s ease;
    border-radius: 2px;
}

.acces-item a:hover .acces-text::after {
    width: 100%;
}

/* Mobile */
@media (max-width: 576px) {

    .acces-list {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }

    .acces-item a {
        width: 100% !important;
        max-width: 350px;
        padding: 18px;
    }

    .acces-icon {
        width: 80px;
        height: 80px;
    }

    .icone-rapide-circle {
        width: 45px;
        height: 45px;
        font-size: 1.3rem;
    }

    .acces-title {
        text-align: center;
        justify-content: center;
        font-size: 1.6rem;
    }
}

/* ============================================================
   CARTES
   ============================================================ */
.actualites-bg {
    width: 100%;
    background-color: var(--bleu-profond);
    padding-top: 60px;
    padding-bottom: 60px;
}

.actualites-cards-bg {
    background-color: var(--bleu-profond);
    border-radius: 20px;
}

.card-img-fixed {
    height: 220px;                 /* même hauteur que l’iframe */
    overflow: hidden;
    border-radius: 12px 12px 0 0;  /* arrondi identique à la card */
	margin-top: 10px;
}

.card-img-fixed img {
    width: 100%;
    height: 100%;
    object-fit: contain;             /* recadrage propre */
    display: block;
}

.card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.card:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

.card-title {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: var(--bleu-profond);
}

.card-text {
    color: var(--vert-sombre) !important;
}

.actualites-section {
    margin-top: 2rem;
    margin-bottom: 3rem; /* si tu veux garder le bas */
}

/* ============================================================
   BOUTONS
   ============================================================ */
.btn-primary {
    background-color: var(--bleu-profond);
    border-color: var(--bleu-profond);
}

.btn-primary:hover {
    background-color: var(--blanc);
    border-color: var(--bleu-profond);
    color: var(--bleu-profond);
}

.btn-danger {
    background-color: var(--rouge);
    border-color: var(--rouge);
}

.btn-danger:hover {
    background-color: #a3181d;
    border-color: #a3181d;
}

/* ============================================================
   FOOTER
   ============================================================ */
footer {
    background-color: var(--bleu-profond);
}

footer p,
footer small {
    color: #fff;
}

.logo-footer {
    height: 60px;
    width: auto;
    opacity: 0.9;
}

/* ============================================================
   UTILITAIRES
   ============================================================ */
.text-rouge { color: var(--rouge); }
.text-bleu { color: var(--bleu-profond); }
.text-vert { color: var(--vert-sombre); }
.text-bleu-clair { color: var(--bleu-clair); }

.bg-rouge { background-color: var(--rouge); }
.bg-bleu { background-color: var(--bleu-profond); }
.bg-vert { background-color: var(--vert-sombre); }
.bg-bleu-clair { background-color: var(--bleu-clair); }
