/****
    *
    *	@Author [Benoit Hinck]
    *	@Copyright [2007]
    *
    *	@Pagename : header-style.css 
    *
    *	@Revisions
    *		Le 03/11/2025 : Création
    *
    ****/

    /* =============================================================== */
    /* ---------------------- HEADER FULL WIDTH ---------------------- */
    /* =============================================================== */
    header.banner {
        align-items: center;
        backdrop-filter: blur(4px);
        background: linear-gradient(135deg, #004080, #037ffa);
        color: white;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 1rem 2rem;
        opacity: 1;
        transition: opacity 0.8s ease;
        width: 100%;
        
        position: relative;
        z-index: 50;    /* reste au-dessus */
    }

    /* Fade banner on scroll */
    header.banner.scrolled {
        opacity: 0.5;
    }

    /* Logo zoom on load */
    .logo-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        animation: zoomLogo 1.2s ease forwards;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    /* Zoom progressif au chargement */
    @keyframes zoomLogo {
        from { opacity: 0; transform: scale(0.8); }
        to { opacity: 1; transform: scale(1); }
    }

    .logo-container:hover {
        transform: scale(1.05);
        box-shadow: 0 0 20px rgba(255,255,255,0.8);
    }

    .logo-text {
        font-size: 2.5rem;
        font-weight: 600;
    }

    .logo-text span.red {
        color: #e63946;
    }

    .definition {
        font-size: 1rem;
        margin-top: 0.3rem;
        line-height: 1.4;
    }

    .banner-images {
        display: flex;
        gap: 10px;
        margin-left: 20px;
    }

    /* Banner images fade + zoom */
    .banner-images img {
        width: 146px;
        height: 112px;
        object-fit: cover;
        border-radius: 8px;
        opacity: 0;
        transform: scale(0.9);
        animation: fadeZoom 1.2s ease forwards;
    }

    .banner-images img:nth-child(1) { animation-delay: 0.3s; }
    .banner-images img:nth-child(2) { animation-delay: 0.6s; }
    .banner-images img:nth-child(3) { animation-delay: 0.9s; }

    @keyframes fadeZoom {
        to { 
            opacity: 1;
            transform: scale(1);
        }
    }

    .banner-images img:hover {
        transform: scale(1.1);
        box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    }

    @media (max-width: 768px) {
        .banner-images {
            display: none;
        }
    }

    /* Menu and burger */
    .menu {
        display: flex;
        flex-wrap: wrap;
        margin-top: 1rem;
        transition: max-height 1.2s ease, opacity 1s ease, transform 1s ease;
        overflow: hidden;
        opacity: 1;
        transform: translateY(0);
    }

    .menu.show {
        opacity: 1;
        transform: translateY(0);
    }

    .menu a {
        color: white;
        margin-left: 1rem;
        text-decoration: none;
        font-weight: 600;
        transition: color 0.3s ease;
        opacity: 0;
        animation: fadeInElement 1s ease forwards;
        animation-delay: 1.2s;
    }

    @keyframes fadeInElement {
        to { 
            opacity: 1;
        }
    }

    .menu a:hover {
        color: #a0c4ff;
    }

     /* !-- ================= Burger menu ================ --! */
     /* !-- ================= ----------- ================ --! */
    .burger {
        display: none;
        flex-direction: column;
        cursor: pointer;
        opacity: 1;
        transition: opacity 0.4s ease, transform 0.4s ease;
    }

    .burger.open {
        opacity: 0.8;
        transform: rotate(90deg);
    }

    .burger span {
        height: 3px;
        width: 25px;
        background: white;
        margin: 4px 0;
        transition: 0.4s;
    }

    .burger.open span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    .burger.open span:nth-child(2) {
        opacity: 0;
    }
    .burger.open span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

    @media (max-width: 768px) {
        .menu {
            display: flex;
            flex-direction: column;
            width: 100%;
            text-align: center;
            background: #004080;
            max-height: 0;
            opacity: 0;
            transform: translateY(-20px);
        }
        .menu.show {
            max-height: 300px;
            opacity: 1;
            transform: translateY(0);
        }
        .burger {
            display: flex;
        }
    }

    /* !-- ================= Shantell Sans : classe CSS pour un style variable ================ --! */
    /* !-- ================= <weight>: Use a value from 300 to 800 ================ --! */
    /* !-- ================= <uniquifier>: Use a unique and descriptive class name ================ --! */ 

    .shantell-sans-comic {
        font-family: "Shantell Sans", cursive;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: italic;
        font-variation-settings:
        "BNCE" 0,
        "INFM" 0,
        "SPAC" 14;
    }

    /* =============================================================== */
    /* ------------------------ FIN HEADER --------------------------- */
    /* =============================================================== */
