.hero-overlay {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.15) 0%, rgba(118, 75, 162, 0.25) 100%);
}
.hero-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;overflow:hidden;contain:layout style}

.header-nav-mobile{display:none}

/* Menu mobile simplifié */
@media (max-width:767px){
    .header-content{
        position:relative;
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:1rem;
    }
    .header-nav-left,
    .header-nav-right{
        display:none !important;
    }
    .header-logo{
        background:none !important;
        box-shadow:none !important;
        padding:0 !important;
        margin:0 !important;
        display:flex !important;
        align-items:center !important;
        order:1 !important;
    }
    .header-logo .logo-img{
        width:46px !important;
        height:auto !important;
    }
    .header-social-link{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        color:var(--dark-blue) !important;
        text-decoration:none !important;
        transition:all 0.3s ease !important;
        padding:0.5rem !important;
    }
    .header-social-link:hover{
        color:var(--coral) !important;
    }
    .header-social-link .icon{
        width:18px !important;
        height:18px !important;
        fill:currentColor !important;
    }
    .mobile-menu-toggle{
        display:flex !important;
        align-items:center;
        justify-content:center;
        gap:6px;
        order:2 !important;
        margin-left:auto;
    }
    .mobile-menu-toggle span{
        display:block;
    }
    .header-nav-mobile{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:#ffffff;
        border-top:1px solid rgba(236,101,79,0.12);
        box-shadow:0 18px 35px rgba(0,0,0,0.12);
        display:none;
        flex-direction:column;
        z-index:1200;
    }
    .header-nav-mobile.mobile-active{
        display:flex;
    }
    .header-nav-mobile .nav-list{
        flex-direction:column;
        gap:0;
        padding:0.5rem 0;
        margin:0;
        width:100%;
    }
    .header-nav-mobile .nav-link{
        width:100%;
        text-align:center;
        padding:1.65rem 1.2rem;
        border-bottom:1px solid rgba(236,101,79,0.0);
        position:relative;
        font-family:var(--font-sans);
        font-weight:500;
        line-height:1.65;
    }
    .header-nav-mobile .nav-link::after{
        content:'';
        position:absolute;
        left:50%;
        bottom:8px;
        width:0;
        height:2px;
        background:var(--coral);
        transform:translateX(-50%);
        transition:width 0.2s ease;
    }
    .header-nav-mobile .nav-link.active::after{
        width:40%;
    }
    .header-nav-mobile .nav-link.active{
        color:var(--coral);
        font-family:var(--font-script);
    }
    .header-nav-mobile .nav-link:last-child{
        border-bottom:none;
    }
}

.nav-link:focus{outline:none}#newsletter-cta{scroll-margin-top:120px}.section-divider-logo{width:140px;height:140px;margin:-100px auto 1.5rem;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,0.12);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;z-index:5}.section-divider-logo img{width:72%;height:auto;object-fit:contain;display:block}.section-divider-logo:hover{transform:none;box-shadow:0 10px 30px rgba(0,0,0,0.12)}@media (max-width:768px){.section-divider-logo{width:110px;height:110px;margin:-55px auto 1rem}}.hero>.section-divider-logo{position:absolute;top:2vh;left:50%;transform:translateX(-50%);margin:0;z-index:2;background:transparent;box-shadow:none}.hero>.section-divider-logo img{width:90px;height:auto}@media (max-width:768px){.hero>.section-divider-logo img{width:70px}}:root{--coral:#ec654f;--yellow:#fcc549;--light-blue:#4e9eb0;--deep-green:#65ae99;--dark-blue:#004a6d;--blue-bottom:#0e7fad;--cream:#FAF5EE;--white:#FFFFFF;--black:#000000;--font-serif:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-sans:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-script:'Caveat','Comic Sans MS','Marker Felt',cursive;--font-title:var(--font-sans);--font-title-size:clamp(2.5rem,4.5vw,3.8rem);--font-title-weight:700;--font-title-transform:uppercase;--font-title-spacing:2px;--font-title-color:var(--black);--font-subtitle:var(--font-script);--font-subtitle-size:clamp(1.2rem,2.2vw,1.6rem);--font-subtitle-weight:400;--font-subtitle-style:italic;--font-subtitle-color:var(--coral);--font-body:var(--font-sans);--font-body-size:clamp(1rem,1.8vw,1.2rem);--font-body-weight:400;--font-body-color:var(--black);--font-body-line-height:1.6;--font-quote:var(--font-script);--font-quote-size:clamp(2rem,4vw,3rem);--font-quote-weight:400;--font-quote-style:italic;--font-quote-color:var(--black);--font-attribution:var(--font-sans);--font-attribution-size:clamp(0.9rem,1.5vw,1.1rem);--font-attribution-weight:600;--font-attribution-transform:uppercase;--font-attribution-spacing:3px;--font-attribution-color:var(--black);--font-button:var(--font-script);--font-button-size:1.2rem;--font-button-weight:600;--font-button-transform:none;--container-padding:2rem;--section-padding:6rem 0;--section-overlap:2rem;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--transition-duration:0.8s;--transition-easing:cubic-bezier(0.25,0.46,0.45,0.94);--transition:all 0.3s ease;--transition-slow:all 0.5s ease;--transition-connection:all 0.8s ease;--header-height:70px;--hero-safe-offset:calc(var(--header-height)+2rem);--hero-bottom-safe:12vh;--hero-progress:0;--hero-focus-y:65%;--hero-aspect:1.5}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--dark-blue);background:#FFFFFF;line-height:1.6;overflow-x:hidden;position:relative;min-height:100vh}.programme,.avis,.rencontres{background:#FFFFFF !important}.container{max-width:1200px;margin:0 auto;padding:0 var(--container-padding)}.hero-logo{display:flex;align-items:center;justify-content:center;margin-bottom:3rem}.hero-logo .logo-img{width:auto;height:180px;max-width:160px;object-fit:contain;background:white;padding:1.5rem;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,0.15);transition:transform 0.3s ease,box-shadow 0.3s ease}.hero-logo .logo-img:hover{transform:scale(1.05);box-shadow:0 6px 30px rgba(0,0,0,0.25)}.logo-img{width:50px;height:50px;object-fit:contain}.logo-text{font-family:var(--font-script);font-size:1.8rem;font-weight:700;color:var(--coral)}.hero{min-height:100vh;height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.section-divider-logo{width:140px;height:140px;margin:-70px auto 2rem;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,0.1);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;z-index:5;position:relative}.section-divider-logo img{width:70%;height:auto;object-fit:contain}.section-divider-logo:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,0.15)}@media (max-width:768px){.section-divider-logo{width:110px;height:110px;margin:-55px auto 1.5rem}}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#8B9A9E;background-size:100% auto;background-position:center top;background-repeat:no-repeat;background-attachment:scroll;z-index:-2}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient( to bottom,rgba(0,0,0,0.00) 0%,rgba(0,0,0,0.05) 20%,rgba(0,0,0,0.10) 35%,rgba(0,0,0,0.16) 55%,rgba(0,0,0,0.26) 75%,rgba(0,0,0,0.40) 100% );z-index:0}.hero-content{position:absolute;left:50%;bottom:3vh;transform:translate(-50%,var(--title-shift,0vh));z-index:1;text-align:center;color:white;width:100%;display:flex;align-items:flex-end;justify-content:center;padding:0;opacity:1}.hero-panel{backdrop-filter:blur(6px);background:rgba(0,0,0,0.25);padding:1rem 1.5rem;border-radius:16px;max-width:980px;margin:0 1rem}@media (min-width:768px){.hero{height:75vh}.hero-background{background-size:cover;background-position:center var(--hero-focus-y)}}.hero-pin{position:relative;top:auto;height:100%;display:flex;align-items:center;justify-content:center}.hero-mobile-image{display:none;width:100%;margin:0;padding:0}.hero-mobile-image img{width:100%;height:auto;display:block;object-fit:cover;object-position:center bottom}@media (max-width:768px){.hero-mobile-image{display:block;margin-bottom:2rem}.team-grid{display:grid !important;visibility:visible !important;opacity:1 !important;min-height:200px !important}.team-member{display:block !important;visibility:visible !important;opacity:1 !important;width:100% !important;height:400px !important;max-width:none !important;position:relative !important;overflow:hidden !important;margin-bottom:1rem !important}.member-photo{position:relative !important;width:100% !important;height:100% !important;padding:0 !important;margin:0 !important;overflow:hidden !important}.member-photo img{position:relative !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important;margin:0 !important;padding:0 !important;display:block !important}}@keyframes heroImageIntro{0%{opacity:0;transform:scale(1.02)}100%{opacity:1;transform:scale(1)}}body.hero-focus-photo .hero-content{opacity:0 !important;pointer-events:none}body.hero-focus-photo .hero-overlay{opacity:0 !important}body.hero-focus-photo .hero-background{opacity:1 !important;transform:scale(1) !important;filter:blur(0) !important}.hero-title{font-family:var(--font-sans);font-size:clamp(2.3rem,4.6vw,3.6rem);font-weight:700;margin-bottom:0.8rem;color:#FFFFFF;text-shadow:2px 2px 8px rgba(0,0,0,0.5);transform:none;letter-spacing:0.5px;line-height:1.1}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:1rem 2rem;border-radius:50px;text-decoration:none;font-family:var(--font-sans);font-weight:600;text-align:center;transition:var(--transition);border:2px solid transparent;cursor:pointer;font-size:1rem;letter-spacing:0.5px}.btn-primary{background:var(--coral);color:white;border-color:var(--coral);font-family:var(--font-button);font-size:var(--font-button-size);font-weight:var(--font-button-weight);text-transform:var(--font-button-transform);transform:rotate(-1deg);box-shadow:0 4px 15px rgba(236,101,79,0.3)}.btn-primary:hover{background:var(--dark-blue);color:white;border-color:var(--dark-blue);transform:rotate(0deg) scale(1.05)}.btn-secondary{background:transparent;color:var(--black);border:2px solid var(--black);font-family:var(--font-script);font-size:1.1rem;transform:rotate(0.5deg)}.hero .btn-secondary{background:transparent;color:white;border:2px solid white}.btn-secondary:hover{background:var(--black);color:white;border-color:var(--black);transform:rotate(0deg) scale(1.05)}.hero .btn-secondary:hover{background:white;color:var(--black);border-color:white}section{padding:var(--section-padding);position:relative;margin:0;background:transparent;overflow:hidden}section::before{content:'';position:absolute;top:-80px;left:0;right:0;height:160px;background:linear-gradient(180deg,rgba(236,101,79,0.12) 0%,rgba(236,101,79,0.06) 30%,rgba(14,127,173,0.04) 60%,transparent 100%);z-index:1;pointer-events:none;opacity:0;transform:translateY(-40px);transition:all var(--transition-duration) var(--transition-easing)}section::after{content:'';position:absolute;bottom:-80px;left:0;right:0;height:160px;background:linear-gradient(0deg,rgba(14,127,173,0.12) 0%,rgba(14,127,173,0.06) 30%,rgba(101,174,153,0.04) 60%,transparent 100%);z-index:1;pointer-events:none;opacity:0;transform:translateY(40px);transition:all var(--transition-duration) var(--transition-easing)}section.visible::before,section.visible::after{opacity:1;transform:translateY(0)}.hero::before{background:linear-gradient(180deg,rgba(236,101,79,0.15) 0%,rgba(236,101,79,0.08) 40%,rgba(252,197,73,0.04) 70%,transparent 100%)}.programme::before{background:linear-gradient(180deg,rgba(14,127,173,0.12) 0%,rgba(14,127,173,0.06) 40%,rgba(101,174,153,0.04) 70%,transparent 100%)}.avis::before{background:linear-gradient(180deg,rgba(101,174,153,0.12) 0%,rgba(101,174,153,0.06) 40%,rgba(252,197,73,0.04) 70%,transparent 100%)}.rencontres::before{background:linear-gradient(180deg,rgba(252,197,73,0.12) 0%,rgba(252,197,73,0.06) 40%,rgba(236,101,79,0.04) 70%,transparent 100%)}.equipe::before{background:linear-gradient(180deg,rgba(236,101,79,0.12) 0%,rgba(236,101,79,0.06) 40%,rgba(14,127,173,0.04) 70%,transparent 100%)}.charte::before{background:linear-gradient(180deg,rgba(14,127,173,0.12) 0%,rgba(14,127,173,0.06) 40%,rgba(101,174,153,0.04) 70%,transparent 100%)}.letter-surprise{position:relative;margin:3rem 0;padding:2rem;background:rgba(101,174,153,0.03);border-left:3px solid var(--deep-green);border-radius:0 8px 8px 0;transform:rotate(-0.2deg);box-shadow:2px 2px 10px rgba(0,0,0,0.05)}.letter-surprise::before{content:'💌';position:absolute;top:-10px;right:-10px;background:#FEFEFE;padding:0.5rem;border-radius:50%;font-size:1.5rem;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.section-title{font-family:var(--font-title);font-size:clamp(3rem,5.5vw,4.5rem);font-weight:var(--font-title-weight);text-transform:var(--font-title-transform);letter-spacing:var(--font-title-spacing);color:var(--font-title-color);text-align:center;margin-bottom:0.2rem;position:relative;transform:none;margin-left:0}.section-subtitle{font-family:var(--font-subtitle);font-size:clamp(1.6rem,3vw,2.8rem);font-weight:var(--font-subtitle-weight);font-style:var(--font-subtitle-style);color:var(--font-subtitle-color);text-transform:none;letter-spacing:0;margin-top:0.1rem;margin-bottom:2rem;text-align:center}.section-title .subtitle{font-family:var(--font-subtitle);font-size:var(--font-subtitle-size);font-weight:var(--font-subtitle-weight);font-style:var(--font-subtitle-style);color:var(--font-subtitle-color);text-transform:none;letter-spacing:0px;margin-top:0.5rem;display:block;opacity:0.9}.section-title .inline-subtitle{font-family:var(--font-subtitle);font-size:0.7em;font-weight:var(--font-subtitle-weight);font-style:var(--font-subtitle-style);color:var(--font-subtitle-color);text-transform:none;letter-spacing:0px}.programme{background:var(--white);position:relative}.filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.programme-cta{text-align:center;margin:3rem auto;padding:2.5rem;max-width:600px;background:white;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.08);transition:box-shadow 0.3s ease}.programme-cta:hover{box-shadow:0 4px 20px rgba(0,0,0,0.12)}.programme-cta .btn{margin-bottom:1rem}.programme-cta .cta-note{font-family:var(--font-sans);font-size:0.95rem;color:var(--deep-green);font-style:italic;margin:0;opacity:0.9;line-height:1.5}.cta-section{text-align:center;margin:3rem 0}.cta-content{max-width:800px;margin:0 auto;padding:2.5rem;background:white;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.08);transition:box-shadow 0.3s ease}.cta-content:hover{box-shadow:0 4px 20px rgba(0,0,0,0.12)}.cta-title{font-family:var(--font-script);font-size:2rem;color:var(--coral);margin-bottom:1rem;font-weight:600}.cta-description{font-family:var(--font-sans);font-size:1.1rem;color:rgba(0,74,109,0.85);margin-bottom:2rem;line-height:1.6}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-buttons .btn{min-width:200px}.newsletter-form{max-width:100%;margin:0 auto}.newsletter-form .form-group{display:flex;gap:0.75rem;margin-bottom:1rem;align-items:stretch}.newsletter-form input[type="text"]{flex:1;min-width:150px;padding:1rem 1.5rem;border:2px solid rgba(236,101,79,0.2);border-radius:50px;font-family:var(--font-sans);font-size:1rem;background:white;color:var(--dark-blue);transition:all 0.3s ease}.newsletter-form input[type="text"]::placeholder{color:rgba(0,74,109,0.5)}.newsletter-form input[type="text"]:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(236,101,79,0.1)}.newsletter-form input[type="email"]{flex:2;min-width:200px;padding:1rem 1.5rem;border:2px solid rgba(236,101,79,0.2);border-radius:50px;font-family:var(--font-sans);font-size:1rem;background:white;color:var(--dark-blue);transition:all 0.3s ease}.newsletter-form input[type="email"]:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(236,101,79,0.1)}.newsletter-form input[type="email"]::placeholder{color:rgba(0,74,109,0.5)}.newsletter-form .btn{padding:1rem 2rem;white-space:nowrap;min-width:auto}.newsletter-note{font-family:var(--font-sans);font-size:0.85rem;color:var(--deep-green);font-style:italic;margin:0;opacity:0.9;line-height:1.5;text-align:center}.filter-btn{display:flex;align-items:center;gap:0.5rem;padding:0.8rem 1.5rem;border:2px solid var(--blue-bottom);background:transparent;color:var(--dark-blue);border-radius:50px;cursor:pointer;transition:var(--transition);font-weight:500}.filter-btn:hover,.filter-btn.active{background:var(--blue-bottom);color:white;transform:translateY(-2px)}.filter-btn[data-filter="proteger"]{border-color:var(--deep-green);color:var(--deep-green)}.filter-btn[data-filter="proteger"]:hover,.filter-btn[data-filter="proteger"].active{background:var(--deep-green);border-color:var(--deep-green);color:white}.filter-btn[data-filter="tisser"]{border-color:var(--yellow);color:var(--dark-blue)}.filter-btn[data-filter="tisser"]:hover,.filter-btn[data-filter="tisser"].active{background:var(--yellow);border-color:var(--yellow);color:var(--dark-blue)}.filter-btn[data-filter="dessiner"]{border-color:var(--light-blue);color:var(--light-blue)}.filter-btn[data-filter="dessiner"]:hover,.filter-btn[data-filter="dessiner"].active{background:var(--light-blue);border-color:var(--light-blue);color:white}.filter-btn[data-filter="ouvrir"]{border-color:var(--dark-blue);color:var(--dark-blue)}.filter-btn[data-filter="ouvrir"]:hover,.filter-btn[data-filter="ouvrir"].active{background:var(--dark-blue);border-color:var(--dark-blue);color:white}.filter-btn[data-filter="citoyens"]{border-color:var(--blue-bottom);color:var(--blue-bottom)}.filter-btn[data-filter="citoyens"]:hover,.filter-btn[data-filter="citoyens"].active{background:var(--blue-bottom);border-color:var(--blue-bottom);color:white}.propositions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}.proposition-card{perspective:1000px;height:300px}.card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform 0.6s;transform-style:preserve-3d}.proposition-card:hover .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,0.1);overflow:hidden}.card-front{background:var(--white)}.card-front.proteger{background:linear-gradient(135deg,var(--deep-green) 0%,#7bb8a8 100%)}.card-front.tisser{background:linear-gradient(135deg,var(--yellow) 0%,#fdd470 100%)}.card-front.dessiner{background:linear-gradient(135deg,var(--light-blue) 0%,#6ba7b8 100%)}.card-front.ouvrir{background:linear-gradient(135deg,var(--dark-blue) 0%,#1a5f7a 100%)}.card-back{background:var(--cream);transform:rotateY(180deg);padding:1.5rem 1.5rem 1.5rem 1.5rem;padding-top:2rem;display:flex;flex-direction:column;justify-content:center}.card-image{position:relative;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:2rem}.card-title-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:2}.card-title-overlay h3{font-family:var(--font-sans);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:600;color:white;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,0.4);line-height:1.3;transform:none;letter-spacing:0.5px;position:relative}.card-title-text{font-family:var(--font-sans);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:600;color:white;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,0.4);line-height:1.3;transform:none;letter-spacing:0.5px;position:relative}.card-badge{position:absolute;top:1rem;right:1rem;background:var(--yellow);color:var(--dark-blue);padding:0.5rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 2px 8px rgba(0,0,0,0.2)}.card-badge.citoyenne{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:50%;box-shadow:0 2px 8px rgba(255,107,107,0.3);overflow:hidden;animation:pulse-citizen 2s infinite}.card-badge.citoyenne i{font-size:16px;line-height:1}.card-badge.citoyenne .badge-text{display:none}.badge-inline{display:inline-flex !important;position:static !important;width:22px;height:22px;vertical-align:-4px;box-shadow:0 2px 6px rgba(255,107,107,0.25);margin:0 4px}.badge-inline i{font-size:12px}@keyframes pulse-citizen{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.citizen-proposals-info{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #ff6b6b;border-radius:15px;padding:1.5rem;margin:2rem 0;text-align:center;box-shadow:0 4px 15px rgba(255,107,107,0.1)}.citizen-proposals-info .info-badge{display:inline-flex;align-items:center;gap:0.5rem;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:white;padding:0.8rem 1.5rem;border-radius:25px;font-weight:600;font-size:1.1rem;margin-bottom:1rem;box-shadow:0 4px 15px rgba(255,107,107,0.3)}.citizen-proposals-info .info-text{color:#495057;font-size:1rem;line-height:1.6;margin:0;max-width:600px;margin:0 auto}.citizen-proposals-info .info-badge i{font-size:1.2rem}.card-category{position:absolute;top:1rem;left:1rem;color:white;padding:0.4rem 1rem;border-radius:15px;font-size:0.75rem;font-weight:600;white-space:nowrap;max-width:calc(100% - 2rem);overflow:hidden;text-overflow:ellipsis}.card-category.proteger{background:var(--deep-green)}.card-category.tisser{background:var(--yellow);color:var(--dark-blue)}.card-category.dessiner{background:var(--light-blue);color:white}.card-category.ouvrir{background:var(--dark-blue)}.card-title{font-family:var(--font-serif);font-size:1.3rem;font-weight:600;color:var(--dark-blue);padding:1rem;height:30%;display:flex;align-items:center;justify-content:center}.card-content h3{font-family:var(--font-serif);font-size:1.1rem;color:var(--dark-blue);margin-bottom:0.75rem}.card-content p{margin-bottom:0.75rem;color:var(--dark-blue);font-size:0.9rem}.card-content ul{list-style:none;margin-bottom:1rem}.card-content li{padding:0.2rem 0;position:relative;padding-left:0.8rem;font-size:0.9rem}.card-content li::before{content:'•';position:absolute;left:0;color:var(--dark-blue);font-weight:bold;font-size:0.9rem;top:0.15em}.card-link{color:var(--coral);text-decoration:none;font-weight:600;transition:var(--transition)}.card-link:hover{color:var(--deep-green)}.transition-quote{position:relative;padding:8rem 0;background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden;min-height:300px}.transition-quote.programme-equipe{background-image:url('./Images/hero_test.png');background-position:center top}.transition-quote.equipe-rencontres{background-image:url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?w=1200&h=800&fit=crop');background-position:center center}.transition-quote.rencontres-charte{background-image:url('https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=1200&h=800&fit=crop');background-position:center center}.transition-quote.charte-idees{background-image:url('https://images.unsplash.com/photo-1587560699334-cc4ff634909a?w=1200&h=800&fit=crop');background-position:center center}.transition-quote::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.4) 50%,rgba(0,0,0,0.6) 100%);z-index:1}.transition-quote::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--deep-green) 20%,var(--light-blue) 50%,var(--coral) 80%,transparent 100%)}.transition-quote-content{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:3;padding:2rem 0}.transition-quote-text{font-family:var(--font-quote);font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:var(--font-quote-weight);font-style:var(--font-quote-style);color:#FFFFFF;line-height:1.3;margin-bottom:1.5rem;display:block;position:relative;padding:2rem 0}.transition-quote-text .quote-text{font-family:var(--font-quote);font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:var(--font-quote-weight);font-style:var(--font-quote-style);color:#FFFFFF;line-height:1.3;margin-bottom:1.5rem;display:block}.transition-quote-text .quote-author{font-family:var(--font-attribution);font-size:clamp(1rem,1.8vw,1.3rem);font-weight:var(--font-attribution-weight);text-transform:var(--font-attribution-transform);letter-spacing:var(--font-attribution-spacing);color:var(--coral);display:block;position:relative;padding:0.5rem 0}.transition-quote-text::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--coral) 0%,var(--yellow) 50%,var(--deep-green) 100%);border-radius:2px;opacity:0.6}.transition-quote-text .quote-author::before,.transition-quote-text .quote-author::after{content:'';position:absolute;top:50%;width:30px;height:2px;background:var(--deep-green);border-radius:1px}.transition-quote-text .quote-author::before{left:-40px}.transition-quote-text .quote-author::after{right:-40px}@media (max-width:768px){.transition-quote{padding:3rem 1rem}.transition-quote-text .quote-author::before,.transition-quote-text .quote-author::after{display:none}}.idees{background:var(--white);position:relative;padding:var(--section-padding)}.idees-content{max-width:800px;margin:0 auto;text-align:left;position:relative}.idees-text{margin-bottom:3rem}.idees-description{font-family:var(--font-body);font-size:var(--font-body-size);font-weight:var(--font-body-weight);color:var(--font-body-color);line-height:var(--font-body-line-height);margin-bottom:2.5rem;text-align:center}.contact-form{background:rgba(236,101,79,0.03);border-radius:15px;padding:2rem;border:1px solid rgba(236,101,79,0.1);margin-bottom:2rem}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;font-family:var(--font-sans);line-height:1.5}.alert-success{background:rgba(47,110,79,0.1);border:1px solid rgba(47,110,79,0.3);color:var(--deep-green)}.alert-error{background:rgba(220,53,69,0.1);border:1px solid rgba(220,53,69,0.3);color:#dc3545}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--dark-blue);margin-bottom:0.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.8rem;border:2px solid rgba(236,101,79,0.2);border-radius:8px;font-family:var(--font-sans);font-size:1rem;color:var(--dark-blue);background:white;transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(236,101,79,0.1)}.form-group textarea{resize:vertical;min-height:120px}.form-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.contact-note{font-family:var(--font-sans);font-size:0.9rem;color:var(--deep-green);margin-top:1rem;font-style:italic;text-align:center;opacity:0.9;line-height:1.5}.idees-decorations{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}@media (max-width:768px){.idees-content{padding:0 1rem}.contact-form{padding:1.5rem}.form-actions{flex-direction:column;align-items:center}.form-actions .btn{width:100%;max-width:300px}}@media (max-width:480px){.team-grid{grid-template-columns:1fr;gap:0.8rem;padding:0 1rem}.team-member{min-height:auto;margin-bottom:1rem}.member-photo{padding-bottom:133.33%}.member-overlay{padding:0.8rem}.member-name{font-size:0.8rem}.member-role{font-size:0.7rem}.member-description{font-size:0.65rem;line-height:1.3}}.avis-content{max-width:800px;margin:0 auto;text-align:center;position:relative}.avis-text{margin-bottom:3rem}.avis-description{font-family:var(--font-body);font-size:var(--font-body-size);font-weight:var(--font-body-weight);color:var(--font-body-color);line-height:var(--font-body-line-height);margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}.avis-cta{margin-top:2rem}.cta-note{font-family:var(--font-sans);font-size:0.9rem;color:var(--deep-green);margin-top:1rem;font-style:italic;opacity:0.9;line-height:1.5}.avis-decorations{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}@media (max-width:768px){.avis-content{padding:0 1rem}.avis-description{font-size:clamp(1rem,4vw,1.2rem)}}.rencontres{background:var(--white);position:relative}.events-timeline{max-width:800px;margin:0 auto}.event{display:flex;gap:2rem;margin-bottom:3rem;padding:2rem;background:var(--cream);border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,0.1);transition:var(--transition)}.event:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,0.15)}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--coral);color:white;padding:1.5rem;border-radius:15px;min-width:100px;text-align:center}.day{font-size:2rem;font-weight:700;line-height:1}.month{font-size:0.9rem;font-weight:500}.event-content{flex:1}.event-title{font-family:var(--font-script);font-size:1.6rem;color:var(--dark-blue);margin-bottom:0.5rem;transform:rotate(-0.5deg);letter-spacing:0.5px;position:relative}.event-title::after{content:'';position:absolute;bottom:-3px;left:0;width:80%;height:2px;background:var(--coral);border-radius:1px;transform:rotate(1deg);opacity:0.7}.event-description{margin-bottom:1rem;color:var(--dark-blue)}.event-details{display:flex;gap:2rem;flex-wrap:wrap}.event-details span{display:flex;align-items:center;gap:0.5rem;color:var(--coral);font-weight:500}.equipe{background:var(--white);position:relative;padding:var(--section-padding)}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.team-member{position:relative;border-radius:15px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.1);transition:var(--transition)}.team-member:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,0.2)}.member-photo{position:relative;width:100%;padding-bottom:133.33%;overflow:hidden}.member-photo img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:var(--transition)}.team-member:hover .member-photo img{transform:scale(1.1)}.member-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(44,62,80,0.9);color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center;opacity:0;transition:var(--transition)}.team-member:hover .member-overlay{opacity:1}.member-name{font-family:var(--font-script);font-size:1.5rem;margin-bottom:0.5rem;color:var(--coral);transform:rotate(-0.5deg);letter-spacing:0.5px;font-weight:600}.member-role{font-weight:600;margin-bottom:1rem;color:var(--yellow)}.member-description{font-style:italic;line-height:1.6}.charte{background:var(--white);position:relative;padding:var(--section-padding)}.charte-intro{max-width:800px;margin:3rem auto;text-align:center}.charte-intro p{font-family:var(--font-body);font-size:var(--font-body-size);font-weight:var(--font-body-weight);color:var(--font-body-color);line-height:var(--font-body-line-height);margin-bottom:0}.charte-intro strong{color:var(--coral);font-weight:600;display:block;margin-top:1rem}.charte-principles-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:3rem 0}.principle-modern{background:rgba(236,101,79,0.03);border:1px solid rgba(236,101,79,0.2);border-radius:12px;padding:1.5rem;transition:all 0.3s ease;position:relative;backdrop-filter:blur(5px)}.principle-modern:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(236,101,79,0.15);border-color:var(--coral);background:rgba(236,101,79,0.08)}.principle-special{background:rgba(236,101,79,0.05)}.principle-special:hover{background:rgba(236,101,79,0.1);box-shadow:0 12px 35px rgba(236,101,79,0.2)}.principle-badge-modern{position:absolute;top:-8px;right:1rem;background:var(--coral);color:white;padding:0.3rem 0.8rem;border-radius:12px;font-family:var(--font-sans);font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;box-shadow:0 2px 8px rgba(236,101,79,0.3)}.principle-number-modern{font-family:var(--font-script);font-size:2rem;font-weight:700;color:var(--coral);line-height:1;margin-bottom:1rem;text-align:center}.principle-content-modern h4{font-family:var(--font-sans);font-size:1.1rem;font-weight:600;color:var(--black);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.8rem;line-height:1.3}.principle-content-modern p{font-family:var(--font-body);font-size:0.95rem;font-weight:400;color:var(--font-body-color);line-height:1.5;margin-bottom:0.8rem}.principle-theme{font-family:var(--font-sans);font-size:0.8rem;color:var(--deep-green);font-style:italic;font-weight:500;background:rgba(101,174,153,0.1);padding:0.2rem 0.5rem;border-radius:6px;display:inline-block}.principle{display:flex;gap:1rem;padding:1.5rem;background:rgba(236,101,79,0.03);border-radius:15px;border-left:4px solid var(--coral);transition:all 0.3s ease}.principle:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(236,101,79,0.15);background:rgba(236,101,79,0.05)}.principle-number{font-family:var(--font-script);font-size:2rem;font-weight:700;color:var(--coral);line-height:1;min-width:50px;text-align:center}.principle-content h3{font-family:var(--font-sans);font-size:1.1rem;font-weight:600;color:var(--black);text-transform:uppercase;letter-spacing:1px;margin-bottom:0.8rem}.principle-content p{font-family:var(--font-body);font-size:0.95rem;font-weight:var(--font-body-weight);color:var(--font-body-color);line-height:1.5;margin-bottom:0.5rem}.principle-source{font-family:var(--font-sans);font-size:0.9rem;color:var(--deep-green);font-style:italic}.charte-signature{text-align:center;margin:4rem 0 2rem 0;padding:3rem 0;background:linear-gradient(135deg,rgba(236,101,79,0.05) 0%,rgba(14,127,173,0.05) 100%);border-radius:20px}.signature-text{font-family:var(--font-script);font-size:1.4rem;color:var(--black);font-style:italic;margin-bottom:2rem}.signature-line{width:200px;height:2px;background:linear-gradient(90deg,var(--coral) 0%,var(--deep-green) 100%);margin:1.5rem auto;border-radius:1px}.signature-team{font-family:var(--font-sans);font-size:var(--font-attribution-size);font-weight:var(--font-attribution-weight);text-transform:var(--font-attribution-transform);letter-spacing:var(--font-attribution-spacing);color:var(--font-attribution-color);margin-top:1rem}@media (max-width:1024px){.charte-principles{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:1024px){.charte-principles-modern{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.charte-principles-modern{grid-template-columns:1fr;gap:1rem;margin:2rem 0}.principle-modern{padding:1.25rem}.principle-badge-modern{position:static;display:inline-block;margin-bottom:1rem;font-size:0.7rem;padding:0.25rem 0.6rem}.principle-number-modern{font-size:1.8rem}.principle-content-modern h4{font-size:1rem}.principle-content-modern p{font-size:0.9rem}}.mediatheque{padding:6rem 0;background:var(--cream)}.mediatheque-content{text-align:center;max-width:600px;margin:0 auto}.mediatheque-description{margin-bottom:3rem}.mediatheque-description p{font-family:var(--font-sans);font-size:1.2rem;color:var(--dark-blue);line-height:1.6;margin:0}.mediatheque-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.mediatheque-btn{display:inline-flex;align-items:center;gap:0.8rem;padding:1.2rem 2.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;border-radius:50px;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(236,101,79,0.3)}.mediatheque-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(236,101,79,0.4)}.mediatheque-btn i{font-size:1.3rem}.mediatheque-note{font-family:var(--font-sans);font-size:0.9rem;color:var(--deep-green);font-style:italic;margin:0;opacity:0.9;line-height:1.5}@media (max-width:768px){.mediatheque{padding:4rem 0}.mediatheque-description p{font-size:1.1rem}.mediatheque-btn{padding:1rem 2rem;font-size:1rem}}.footer{background:var(--dark-blue);color:#FFFFFF;padding:4rem 0 2rem;position:relative}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-bottom:3rem}.footer-logo{display:flex;align-items:center;gap:0.5rem;margin-bottom:1rem}.footer-logo-img{height:40px;width:auto}.footer-logo-text{font-family:var(--font-script);font-size:1.5rem;font-weight:700;color:var(--coral)}.footer-description{line-height:1.6;margin-bottom:1rem}.footer-title{font-family:var(--font-sans);font-size:1.2rem;font-weight:600;margin-bottom:1.5rem;color:var(--coral);text-transform:uppercase;letter-spacing:0.5px}.newsletter{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}.newsletter-input{flex:1;padding:1rem 1.5rem;border:2px solid rgba(255,255,255,0.2);border-radius:50px;background:rgba(255,255,255,0.1);color:#FFFFFF;font-family:var(--font-sans);font-size:1rem;transition:all 0.3s ease}.newsletter-input:focus{outline:none;border-color:var(--coral);background:rgba(255,255,255,0.15)}.newsletter-input::placeholder{color:rgba(255,255,255,0.7)}.newsletter-btn{padding:1rem 1.5rem;background:var(--coral);color:white;border:none;border-radius:50px;font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:all 0.3s ease;white-space:nowrap}.newsletter-btn:hover{background:var(--turquoise-blue);transform:translateY(-2px)}.contact-info p{display:flex;align-items:center;gap:0.8rem;margin-bottom:0.8rem;color:#FFFFFF;font-family:var(--font-sans);font-size:1rem}.contact-info i{color:var(--coral);width:18px;font-size:1.1rem}.social-links{display:flex;gap:1rem}.social-link{display:flex;align-items:center;justify-content:center;width:45px;height:45px;background:rgba(255,255,255,0.1);border:2px solid rgba(255,255,255,0.2);border-radius:50%;color:#FFFFFF;text-decoration:none;transition:all 0.3s ease;font-size:1.2rem}.social-link:hover{background:var(--coral);border-color:var(--coral);color:white;transform:translateY(-3px);box-shadow:0 5px 15px rgba(236,101,79,0.3)}.footer-links{display:flex;flex-direction:column;gap:0.8rem}.footer-link{color:#FFFFFF;text-decoration:none;font-family:var(--font-sans);font-size:0.95rem;transition:all 0.3s ease;opacity:0.9}.footer-link:hover{color:var(--coral);opacity:1;transform:translateX(5px)}.footer-bottom{border-top:1px solid rgba(255,255,255,0.2);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-legal{display:flex;gap:2rem}.legal-link{color:#FFFFFF;text-decoration:none;transition:all 0.3s ease;font-family:var(--font-sans);font-size:0.9rem}.legal-link:hover{color:var(--coral)}.footer-copyright{color:#FFFFFF;opacity:0.8;font-family:var(--font-sans);font-size:0.9rem}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){:root{--container-padding:1rem;--section-padding:3rem 0}.hero-logo{margin-bottom:2rem}.hero-logo .logo-img{height:140px;max-width:120px;padding:1rem}.hero-buttons{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}.programme-cta{margin:2rem auto;padding:1.5rem}.cta-section{margin:2rem 0}.cta-content{padding:1.5rem}.cta-title{font-size:1.6rem}.cta-description{font-size:1rem}.cta-buttons{flex-direction:column;align-items:center}.cta-buttons .btn{min-width:250px;width:100%;max-width:300px}.newsletter-form .form-group{flex-direction:column;gap:1rem}.newsletter-form input[type="email"]{width:100%}.newsletter-form .btn{width:100%;padding:1rem}.filters{gap:0.5rem}.filter-btn{padding:0.6rem 1rem;font-size:0.9rem}.propositions-grid{grid-template-columns:1fr;gap:1.5rem}.avis-content{grid-template-columns:1fr;gap:2rem;text-align:center}.avis-text .section-title{text-align:center}.event{flex-direction:column;text-align:center}.event-date{align-self:center}.team-grid{grid-template-columns:1fr;gap:1rem;padding:0 1rem}.team-member{min-height:auto;margin-bottom:1rem}.member-photo{padding-bottom:133.33%}.member-overlay{padding:1rem}.member-name{font-size:0.9rem}.member-role{font-size:0.8rem}.member-description{font-size:0.75rem}.footer-content{grid-template-columns:1fr;text-align:center}.footer-bottom{flex-direction:column;text-align:center}.newsletter{flex-direction:column}}@media (max-width:480px){.proposition-card{height:250px}.card-back{padding:1rem}.team-member{margin:0 auto;max-width:280px}}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}button:focus,a:focus,input:focus{outline:2px solid var(--coral);outline-offset:2px}a{color:var(--coral);text-decoration:none}a:hover{color:var(--deep-green)}.excerpt-quote.modern{margin:4rem 0;position:relative;padding:0;background:none;border:none;transform:none;box-shadow:none;overflow:visible;text-align:center}.excerpt-quote.modern .quote-text{font-family:var(--font-quote);font-size:var(--font-quote-size);font-weight:var(--font-quote-weight);font-style:var(--font-quote-style);color:var(--font-quote-color);line-height:1.3;margin-bottom:1rem;display:block}.excerpt-quote.modern .quote-author{font-family:var(--font-attribution);font-size:var(--font-attribution-size);font-weight:var(--font-attribution-weight);text-transform:var(--font-attribution-transform);letter-spacing:var(--font-attribution-spacing);color:var(--font-attribution-color);margin-top:1.5rem;display:block;position:relative;padding:0.5rem 0}.excerpt-quote.modern .quote-author::before,.excerpt-quote.modern .quote-author::after{content:'';position:absolute;top:50%;width:30px;height:2px;background:var(--deep-green);border-radius:1px}.excerpt-quote.modern .quote-author::before{left:-40px}.excerpt-quote.modern .quote-author::after{right:-40px}.excerpt-quote.modern::before{content:'';position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--coral) 0%,var(--yellow) 50%,var(--deep-green) 100%);border-radius:2px;opacity:0.6}.excerpt-quote{font-family:var(--font-sans);font-size:clamp(1.4rem,2.5vw,1.8rem);color:var(--dark-blue);font-weight:600;text-align:left;margin:4rem 0;position:relative;padding:2rem 0;background:none;border:none;transform:none;box-shadow:none;overflow:visible}.excerpt-quote::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:80%;background:linear-gradient(180deg,var(--coral) 0%,var(--yellow) 50%,var(--coral) 100%);border-radius:3px;box-shadow:2px 0 8px rgba(236,101,79,0.3)}.excerpt-quote::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:100px;height:2px;background:linear-gradient(90deg,var(--coral) 0%,transparent 100%);border-radius:1px}.excerpt-quote:hover::before{width:8px;box-shadow:3px 0 12px rgba(236,101,79,0.4)}.excerpt-quote .quote-author{display:block;font-size:0.9rem;color:var(--deep-green);font-weight:500;margin-top:1rem;font-style:normal;text-transform:uppercase;letter-spacing:2px;position:relative;padding-left:2rem}.excerpt-quote .quote-author::before{content:'→';position:absolute;left:0;color:var(--coral);font-weight:bold;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{transform:translateX(0);opacity:0.7}50%{transform:translateX(3px);opacity:1}}.postcard-integrated{position:relative;background:#FEFEFE;border:1px solid rgba(236,101,79,0.3);border-radius:12px;padding:2rem;margin:2rem 0;box-shadow:0 4px 15px rgba(0,0,0,0.08);transition:var(--transition);transform:rotate(-0.5deg)}.postcard-integrated:nth-child(even){transform:rotate(0.3deg)}.postcard-integrated:hover{transform:rotate(0deg) scale(1.02);box-shadow:0 8px 25px rgba(0,0,0,0.12)}.postcard-integrated::before{content:'';position:absolute;top:10px;right:10px;width:30px;height:30px;background:var(--coral);border-radius:50%;opacity:0.1}.postcard-integrated::after{content:'';position:absolute;bottom:10px;left:10px;width:60px;height:40px;border:1px solid rgba(236,101,79,0.2);border-radius:4px;opacity:0.5}.marker-highlight{position:relative;background:linear-gradient(135deg,rgba(236,101,79,0.15) 0%,rgba(252,197,73,0.1) 50%,rgba(236,101,79,0.05) 100%);padding:1.5rem 2rem;border-radius:20px;border-left:6px solid var(--coral);margin:2rem 0;transform:rotate(-1deg);box-shadow:0 15px 30px rgba(236,101,79,0.15),0 5px 15px rgba(252,197,73,0.1),inset 0 1px 0 rgba(255,255,255,0.2);transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);overflow:hidden}.marker-highlight::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.1) 50%,transparent 70%);transform:translateX(-100%);transition:transform 0.6s ease}.marker-highlight:hover::before{transform:translateX(100%)}.marker-highlight:hover{transform:rotate(0deg) translateY(-5px) scale(1.02);box-shadow:0 20px 40px rgba(236,101,79,0.2),0 8px 20px rgba(252,197,73,0.15),inset 0 1px 0 rgba(255,255,255,0.3)}.marker-title{position:relative;display:inline-block}.marker-title::after{content:'';position:absolute;bottom:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--coral) 0%,var(--yellow) 50%,var(--coral) 100%);opacity:0.3;transform:rotate(-0.5deg);z-index:-1;border-radius:2px}.floating-element{position:absolute;border-radius:50%;background:linear-gradient(135deg,rgba(236,101,79,0.1) 0%,rgba(252,197,73,0.08) 50%,rgba(14,127,173,0.1) 100%);animation:floatAround 15s ease-in-out infinite;z-index:0;pointer-events:none}.floating-element:nth-child(1){width:80px;height:80px;top:20%;left:10%;animation-delay:0s}.floating-element:nth-child(2){width:120px;height:120px;top:60%;right:15%;animation-delay:5s}.floating-element:nth-child(3){width:60px;height:60px;bottom:30%;left:20%;animation-delay:10s}@keyframes floatAround{0%,100%{transform:translateY(0) rotate(0deg) scale(1);opacity:0.3}25%{transform:translateY(-20px) rotate(90deg) scale(1.1);opacity:0.6}50%{transform:translateY(-10px) rotate(180deg) scale(0.9);opacity:0.4}75%{transform:translateY(-30px) rotate(270deg) scale(1.05);opacity:0.5}}.surprise-bubble{position:absolute;width:40px;height:40px;background:radial-gradient(circle,rgba(236,101,79,0.8) 0%,rgba(236,101,79,0.3) 70%,transparent 100%);border-radius:50%;animation:bubbleFloat 8s ease-in-out infinite;z-index:5}.surprise-bubble:nth-child(odd){background:radial-gradient(circle,rgba(252,197,73,0.8) 0%,rgba(252,197,73,0.3) 70%,transparent 100%);animation-delay:4s}@keyframes bubbleFloat{0%,100%{transform:translateY(0) scale(1);opacity:0}10%{opacity:0.8}50%{transform:translateY(-100px) scale(1.2);opacity:0.6}90%{opacity:0.8}}.text-note{font-family:var(--font-sans);font-size:0.9rem;color:var(--deep-green);font-style:italic;opacity:0.9;line-height:1.5;margin:0}.text-description{font-family:var(--font-sans);font-size:1.1rem;color:rgba(0,74,109,0.85);line-height:1.6;margin-bottom:var(--spacing-md)}.cta-box{text-align:center;margin:var(--spacing-xl) auto;padding:var(--spacing-lg);max-width:800px;background:white;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.08);transition:box-shadow 0.3s ease}.cta-box:hover{box-shadow:0 4px 20px rgba(0,0,0,0.12)}.cta-box--compact{max-width:600px;padding:var(--spacing-md)}.cta-box__title{font-family:var(--font-script);font-size:2rem;color:var(--coral);margin-bottom:var(--spacing-sm);font-weight:600}.cta-box__buttons{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap;margin-top:var(--spacing-md);margin-bottom:0}.cta-box__buttons .btn{min-width:200px}.cta-box>.btn{margin-bottom:0}.cta-box .btn+.text-description,.cta-box .btn+.text-note,.cta-box__buttons+.text-description,.cta-box__buttons+.text-note{margin-top:var(--spacing-md);margin-bottom:0}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.mb-5{margin-bottom:var(--spacing-2xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mt-5{margin-top:var(--spacing-2xl)}.my-1{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-2{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.my-3{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-4{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.p-1{padding:var(--spacing-sm)}.p-2{padding:var(--spacing-md)}.p-3{padding:var(--spacing-lg)}.p-4{padding:var(--spacing-xl)}.flex{display:flex}.flex-center{display:flex;justify-content:center;align-items:center}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--spacing-sm)}.gap-2{gap:var(--spacing-md)}.gap-3{gap:var(--spacing-lg)}.hidden{display:none !important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-italic{font-style:italic}.text-bold{font-weight:600}.cta-note,.contact-note,.newsletter-note,.mediatheque-note,.programme-cta .cta-note{font-family:var(--font-sans);font-size:0.9rem;color:var(--deep-green);font-style:italic;opacity:0.9;line-height:1.5;margin:0}.idees-description,.avis-description{font-family:var(--font-sans);font-size:1.1rem;color:rgba(0,74,109,0.85);line-height:1.6;margin-bottom:var(--spacing-md)}.event-actions{margin-top:1rem}.btn-add-calendar,button.btn-add-calendar{background:none;color:var(--coral);border:none;padding:0.5rem 0;font-size:0.85rem;font-weight:400;cursor:pointer;transition:all 0.3s ease;display:inline-flex;align-items:center;gap:0.4rem;text-decoration:none;border-bottom:1px solid transparent}.btn-add-calendar:hover,button.btn-add-calendar:hover{color:var(--primary-color);border-bottom-color:var(--primary-color)}.btn-add-calendar i,button.btn-add-calendar i{font-size:0.9rem}.calendar-menu{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn 0.2s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.calendar-menu-content{background:white;padding:2rem;border-radius:16px;max-width:400px;width:90%;position:relative;animation:slideUp 0.3s ease}@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.calendar-menu-content h4{margin:0 0 1.5rem 0;color:var(--text-color);font-size:1.4rem;text-align:center}.calendar-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#999;cursor:pointer;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color 0.2s ease}.calendar-close:hover{color:var(--primary-color)}.calendar-option{display:flex;align-items:center;gap:1rem;padding:1rem;margin-bottom:0.75rem;background:#f8f9fa;border-radius:10px;text-decoration:none;color:var(--text-color);transition:all 0.3s ease;border:2px solid transparent}.calendar-option:hover{background:var(--primary-color);color:white;transform:translateX(5px);border-color:var(--primary-color)}.calendar-option i{font-size:1.5rem;width:30px;text-align:center}.calendar-option:last-child{margin-bottom:0}@media (max-width:768px){.calendar-menu-content{padding:1.5rem}.btn-add-calendar{font-size:0.85rem;padding:0.5rem 1rem}}.btn-view-photo{position:absolute;right:var(--spacing-md);bottom:var(--spacing-md);background:rgba(0,0,0,0.35);color:#fff;border:1px solid rgba(255,255,255,0.3);border-radius:999px;font-family:var(--font-sans);font-size:0.85rem;padding:0.35rem 0.75rem;text-decoration:none;opacity:0.8;transition:opacity .2s ease,background .2s ease,border-color .2s ease}.btn-view-photo:hover{opacity:1;background:rgba(0,0,0,0.45);border-color:rgba(255,255,255,0.5)}@media (max-width:768px){.btn-view-photo{right:var(--spacing-sm);bottom:var(--spacing-sm);font-size:0.8rem}}
/* === Overrides optimisation logo (taille/hover) === */
.header-logo{transition:none !important}
.header-logo:hover{transform:none !important}
.header-logo .logo-img{transition:none !important}
.hero-logo .logo-img{transition:none !important}
.hero-logo .logo-img:hover{transform:none !important}

/* Header: centrer le logo dans la nav et répartir les liens à gauche/droite (desktop) */
@media (min-width: 768px) {
    /* Disposition en 3 colonnes pour le header */
    .header-content{display:grid !important; grid-template-columns:1fr auto 1fr !important; align-items:end !important; position:relative !important; padding:0.5rem 2rem !important; column-gap:0.25rem !important}
    .header-nav{display:flex !important}
    .header-nav-left{grid-column:1 !important; justify-self:start !important}
    .header-logo{grid-column:2 !important; justify-self:center !important}
    .header-nav-right{grid-column:3 !important; justify-self:end !important}
    .header-social-link{display:inline-flex !important; align-items:center !important; justify-content:center !important; color:var(--dark-blue) !important; text-decoration:none !important; transition:all 0.3s ease !important; padding:0.5rem 0.75rem !important; vertical-align:middle !important; line-height:1 !important}
    .header-social-link:hover{color:var(--coral) !important; transform:translateY(-2px) !important}
    .header-social-link .icon{width:20px !important; height:20px !important; fill:currentColor !important; display:block !important}
    .header-nav-left .nav-list{justify-content:flex-end !important}
    .header-nav-right .nav-list{justify-content:flex-start !important}
    .header-nav-mobile{display:none !important;}
    .mobile-menu-toggle{display:none !important;}
}

/* === Desktop: taille logo hero + padding réduit === */
@media (min-width: 1024px) {
    .hero-logo .logo-img {
        width: 200px !important;
        height: auto !important;
        padding: 1rem !important;
        transform: none !important;
    }
    .hero-logo:hover .logo-img {
        transform: none !important;
    }
    /* Forcer la taille et le rendu du logo du hero (section-divider) en desktop */
    .hero > .section-divider-logo {
        padding: 4px !important;
        background: #ffffff !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
        border-radius: 20px !important;
        transform: translateX(-50%) !important;
        overflow: hidden !important; /* évite que l'image dépasse du cadre arrondi */
        width: 150px !important;
        height: 150px !important;
    }
    .hero > .section-divider-logo img {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
    }
}

/* Conserver le centrage au survol (pas de décalage) */
.hero > .section-divider-logo:hover,
.hero > .section-divider-logo:focus,
.hero > .section-divider-logo:active {
    transform: translateX(-50%) !important;
}

/* Bouton flottant "Faire une proposition" */
.fab-proposez{
    position: fixed;
    right: 24px;
    bottom: calc(24px + env(safe-area-inset-bottom, 0));
    z-index: 2000;
    background: var(--coral);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 0.8rem 1.5rem;
    font-family: var(--font-sans);
    font-weight: 600;
    text-decoration: none;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    box-shadow: 0 12px 32px rgba(236,101,79,0.35);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.fab-proposez::before{
    content: '💡';
    font-size: 1.1rem;
    line-height: 1;
}
.fab-proposez:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(236,101,79,0.45);
    background: var(--dark-blue);
}
@media (max-width:768px){
    .fab-proposez{
        right: 16px;
        bottom: calc(16px + env(safe-area-inset-bottom, 0));
        padding: 0.75rem 1.1rem;
        font-size: 0.95rem;
    }
}

/* Header: centrage parfait du logo + débordement vers le bas (desktop) */
@media (min-width:1024px){
    .header-logo{position:relative !important; left:auto !important; transform:none !important; margin-bottom:-22px !important; background:#ffffff !important; border-radius:18px !important; padding:4px 6px !important; box-shadow:0 8px 20px rgba(0,0,0,0.12) !important}
    .header-logo:hover{transform:none !important}
    .header-logo .logo-img{width:62px !important; height:auto !important; object-fit:contain !important}
}

/* Empêcher toute coupure du logo qui déborde le header */
.header-sticky{overflow:visible !important}

/* Empêcher toute coupure du logo qui déborde le header */
.header-sticky{overflow:visible !important}

/* Header - styles de base */
.header-sticky{position:fixed;top:0;left:0;right:0;z-index:1000;background:#ffffff;backdrop-filter:blur(20px);border-bottom:1px solid rgba(236,101,79,0.1);box-shadow:0 16px 40px rgba(0,0,0,0.08);transition:all 0.3s ease;transform:translateY(-100%);opacity:0}
.header-sticky.visible{transform:translateY(0);opacity:1}
.header-content{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;max-width:1200px;margin:0 auto}
.header-content.header-centered{justify-content:center}
.header-content.header-centered .header-logo{position:absolute;left:50%;transform:translateX(-50%)}
.header-content.header-centered .header-nav{visibility:hidden;height:0;overflow:hidden}
.header-logo{display:flex;align-items:center;text-decoration:none;transition:transform 0.3s ease}
.header-logo:hover{transform:scale(1.05)}
.header-logo .logo-img{width:45px;height:45px;object-fit:contain}
.header-nav{display:flex;align-items:center}
.nav-list{display:flex;align-items:center;gap:2rem;margin:0;padding:0;list-style:none}
.nav-link{color:var(--dark-blue);text-decoration:none;font-family:var(--font-sans);font-weight:500;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.3s ease;position:relative;padding:0.5rem 0}
.nav-link-btn{background:var(--coral);color:white !important;padding:0.6rem 1.5rem !important;border-radius:50px;text-transform:none;font-weight:600;font-size:0.95rem;cursor:pointer;position:relative;z-index:10}
.nav-link-btn:hover{background:var(--dark-blue);transform:translateY(-2px);color:white !important}
.nav-link-btn::after{display:none !important}
.nav-link.active{color:var(--coral);font-family:var(--font-script);font-weight:600}
.nav-link.active::after{width:100%;background:var(--coral)}
.nav-link:hover{color:var(--deep-green);font-family:var(--font-script);font-weight:600}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--deep-green);transition:width 0.3s ease}
.nav-link:hover::after{width:100%}
.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:0.5rem}
.mobile-menu-toggle span{width:20px;height:2px;background:var(--coral);transition:all 0.3s ease;border-radius:1px}

/* === Restauration du header desktop & du logo hero === */
@media (min-width: 1024px) {
    .header-sticky {
        background: #ffffff !important;
        box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12) !important;
    }

    .header-content {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: end !important;
        padding: 0.75rem 2.5rem !important;
        gap: 1.5rem !important;
    }

    .header-nav {
        display: flex !important;
    }

    .header-nav-left {
        grid-column: 1 !important;
        justify-self: start !important;
    }

    .header-nav-right {
        grid-column: 3 !important;
        justify-self: end !important;
    }

    .header-nav-left .nav-list {
        justify-content: flex-end !important;
    }

    .header-nav-right .nav-list {
        justify-content: flex-start !important;
    }

    .header-logo {
        grid-column: 2 !important;
        justify-self: center !important;
        background: #ffffff !important;
        border-radius: 22px !important;
        padding: 0.45rem 0.75rem !important;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18) !important;
        margin-bottom: -30px !important;
    }

    .header-logo .logo-img {
        width: 72px !important;
        height: auto !important;
    }
}

.hero > .section-divider-logo {
    background: #ffffff !important;
    border-radius: 28px !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.18) !important;
    padding: 1.65rem 0.95rem 1.4rem 0.95rem !important;
    width: 160px !important;
    height: 160px !important;
    transform: translate(-50%, 0) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hero > .section-divider-logo img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

@media (max-width: 768px) {
    .hero > .section-divider-logo {
        width: 112px !important;
        height: 112px !important;
        padding: 1.2rem 0.7rem 1rem 0.7rem !important;
    }
}

/* === Styles pour le dévoilement progressif === */
.hero-image--blurred,
.hero-image--blurred img {
    filter: blur(var(--hero-blur, 10px));
    transition: filter 0.3s ease;
}

/* Flou hero côté conteneur (desktop) */
.hero--blurred .hero-background,
.hero--blurred .hero-image {
    filter: blur(var(--hero-blur, 10px));
}

/* Cartouche d'information sur le hero flouté */
.hero-badge {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    z-index: 2;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 0.5rem 0.75rem;
    border-radius: 10px;
    font-size: 0.9rem;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
@media (max-width: 768px) {
    .hero-badge {
        left: 0.75rem;
        bottom: 0.75rem;
        font-size: 0.8rem;
        padding: 0.45rem 0.65rem;
    }
}

.process-timeline-enhanced {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin: 3rem 0;
    gap: 1rem;
    background: linear-gradient(135deg, rgba(236, 101, 79, 0.05), rgba(252, 197, 73, 0.05));
    padding: 2rem;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.process-step {
    flex: 1;
    text-align: center;
    position: relative;
    padding: 1.5rem 1rem;
    background: white;
    border-radius: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.process-step:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(236, 101, 79, 0.2);
}

.process-icon {
    font-size: 2.5rem;
    color: var(--coral);
    margin-bottom: 0.5rem;
}

.process-number {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--coral);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 auto 1rem;
    box-shadow: 0 4px 10px rgba(236, 101, 79, 0.3);
}

.process-title {
    font-weight: 700;
    color: var(--dark-blue);
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
}

.process-description {
    color: #666;
    font-size: 0.95rem;
    line-height: 1.5;
}

.process-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 2rem;
    color: var(--coral);
    opacity: 0.6;
}

.programme-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    pointer-events: none;
    border-radius: 15px;
}

.team-reveal-banner {
    background: linear-gradient(135deg, var(--coral), var(--yellow));
    color: white;
    padding: 1rem 2rem;
    border-radius: 50px;
    text-align: center;
    margin: 2rem auto;
    max-width: 600px;
    box-shadow: 0 4px 15px rgba(236, 101, 79, 0.3);
}

.member-photo-blurred {
    filter: blur(10px);
    transition: filter 0.3s ease;
}

.member-overlay--hidden {
    opacity: 1 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: var(--dark-blue);
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    text-align: center;
    z-index: 2;
}

/* Lisibilité renforcée des cartes équipe cachées sur mobile */
@media (max-width: 768px) {
    .member-overlay--hidden .member-name { font-size: 1rem !important; color: var(--coral) !important; }
    .member-overlay--hidden .member-role { font-size: 0.9rem !important; color: var(--yellow) !important; }
    .member-overlay--hidden .member-description { font-size: 0.85rem !important; color: var(--dark-blue) !important; }
}

.badge {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 0.375rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.badge-success {
    background-color: #10b981;
    color: white;
}

.badge-warning {
    background-color: #f59e0b;
    color: white;
}

.member-visibility {
    margin-top: 0.5rem;
}

.proposition-card--hidden .card-front {
    filter: blur(10px);
    opacity: 0.7;
    pointer-events: none;
}
/* Verso flouté aussi */
.proposition-card--hidden .card-back {
    filter: blur(10px);
    opacity: 0.7;
    pointer-events: none;
}

.card-hidden-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.9);
    filter: none !important;
    z-index: 5;
}

.programme-info-banner {
    background: linear-gradient(135deg, rgba(236, 101, 79, 0.1), rgba(252, 197, 73, 0.1));
    border-left: 4px solid var(--coral);
    padding: 1.5rem;
    margin: 2rem 0;
    border-radius: 8px;
    text-align: center;
}

/* Floutage individuel des cartes programme */
.proposition-card { position: relative; }

.source-badge.visible {
    background-color: #10b981;
    color: white;
}

.source-badge.hidden {
    background-color: #f59e0b;
    color: white;
}

@media (max-width: 768px) {
    .process-timeline-enhanced {
        flex-direction: column;
        gap: 1.5rem;
        padding: 1.5rem;
    }
    
    .process-arrow {
        transform: rotate(90deg);
        height: 30px;
        font-size: 1.5rem;
    }
    
    .process-icon {
        font-size: 2rem;
    }
    
    .team-reveal-banner h4 {
        font-size: 1rem;
    }
}
/* === Hero responsive fixes === */
@media (max-width: 768px) {
	.hero {
		min-height: 70vh !important;
		height: auto !important;
	}
	.hero-background {
		background-size: cover !important;
		background-position: center top !important;
		background-color: transparent !important;
	}
	/* Éclaircir l'overlay pour éviter l'aplat trop sombre */
	.hero-overlay {
		background: linear-gradient(
			to bottom,
			rgba(0,0,0,0.00) 0%,
			rgba(0,0,0,0.04) 30%,
			rgba(0,0,0,0.10) 60%,
			rgba(0,0,0,0.18) 100%
		) !important;
	}
	/* Remonter le titre et réduire l'aplat du panneau */
	.hero-content {
		bottom: 12vh !important;
	}
	.hero-panel {
		background: rgba(0,0,0,0.15) !important;
		padding: 0.8rem 1rem !important;
		border-radius: 12px !important;
	}
	/* Limiter la hauteur de l'image mobile pour éviter qu'elle prenne tout l'écran */
	.hero-mobile-image img {
		max-height: 45vh !important;
		object-fit: cover !important;
	}
	/* Réduire légèrement le séparateur-logo si présent */
	.section-divider-logo {
		width: 90px !important;
		height: 90px !important;
		top: 1.5vh !important;
	}
}

/* === Pages Légales === */
.legal-page {
    min-height: 100vh;
    background: var(--gray-100, #f8f9fa);
    padding: 2rem 0;
}

.legal-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1rem;
}

.legal-header {
    text-align: center;
    margin-bottom: 3rem;
    padding: 2rem 0;
    background: var(--white, #ffffff);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.legal-header h1 {
    color: var(--dark-blue, #004a6d);
    font-size: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.legal-header p {
    color: var(--gray-600, #6c757d);
    font-size: 1.1rem;
}

.legal-content {
    background: var(--white, #ffffff);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    margin-bottom: 2rem;
}

.legal-section {
    margin-bottom: 2.5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--gray-200, #e9ecef);
}

.legal-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.legal-section h2 {
    color: var(--dark-blue, #004a6d);
    font-size: 1.5rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.legal-section h3 {
    color: var(--primary-color, #ec654f);
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
}

.legal-section h4 {
    color: var(--gray-700, #495057);
    font-size: 1rem;
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.legal-section p {
    color: var(--gray-700, #495057);
    line-height: 1.6;
    margin-bottom: 1rem;
}

.legal-section ul {
    color: var(--gray-700, #495057);
    line-height: 1.6;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
}

.legal-section li {
    margin-bottom: 0.5rem;
}

.legal-section a {
    color: var(--primary-color, #ec654f);
    text-decoration: none;
    font-weight: 500;
}

.legal-section a:hover {
    text-decoration: underline;
}

.legal-footer {
    background: var(--white, #ffffff);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    text-align: center;
}

.footer-links {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.footer-links a {
    color: var(--gray-600, #6c757d);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.footer-links a:hover {
    color: var(--primary-color, #ec654f);
}

.footer-info {
    color: var(--gray-500, #adb5bd);
    font-size: 0.9rem;
}

/* Gestion des cookies */
.cookie-category {
    background: var(--gray-100, #f8f9fa);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid var(--primary-color, #ec654f);
}

.cookie-controls {
    background: var(--gray-50, #f8f9fa);
    border-radius: 8px;
    padding: 1.5rem;
    margin: 1.5rem 0;
}

.cookie-setting {
    margin-bottom: 1.5rem;
}

.cookie-setting label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
    color: var(--gray-700, #495057);
    cursor: pointer;
}

.cookie-setting input[type="checkbox"] {
    width: auto;
    margin: 0;
}

.cookie-description {
    margin: 0.5rem 0 0 2rem;
    color: var(--gray-600, #6c757d);
    font-size: 0.9rem;
    font-style: italic;
}

@media (max-width: 768px) {
    .legal-page {
        padding: 1rem 0;
    }
    
    .legal-container {
        padding: 0 0.5rem;
    }
    
    .legal-header h1 {
        font-size: 2rem;
    }
    
    .legal-content {
        padding: 1.5rem;
    }
    
    .footer-links {
        flex-direction: column;
        gap: 1rem;
    }
}
/* === Hero mobile: Section 1 contenu flouté + Section 2 image nette (LCP) === */
@media (max-width: 768px) {
	.hero { 
		min-height: auto !important; 
		height: auto !important; 
		padding: 0 !important; 
		position: relative !important;
		display: flex !important;
		flex-direction: column !important;
	}
	
	/* SECTION 1: Contenu avec fond coloré (order: 1, en haut) */
	.hero-content { 
		position: relative !important; 
		transform: none !important; 
		bottom: auto !important; 
		left: auto !important;
		width: 100% !important;
		min-height: 50vh !important;
		padding: 2rem 1rem !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		order: 1 !important;
		background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
		background-size: cover !important;
		background-position: center !important;
	}
	
	/* Assurer que le contenu est bien visible */
	.hero-content > * {
		position: relative !important;
		z-index: 1 !important;
	}
	
	/* SECTION 2: Image nette (order: 2, en bas, devient le LCP) */
	.hero-background { 
		display: block !important; 
		margin: 0 !important;
		margin-top: 1.5rem !important;
		width: 100% !important;
		height: auto !important;
		order: 2 !important;
		position: relative !important;
		background: none !important;
	}
	
	.hero-background img.hero-image {
		position: static !important;
		top: auto !important;
		left: auto !important;
		width: 100% !important;
		height: auto !important;
		max-height: 50vh !important;
		display: block !important;
		object-fit: cover !important;
		z-index: auto !important;
	}
	
	/* Masquer l'overlay sur mobile */
	.hero-overlay { 
		display: none !important; 
	}
	
	.hero-panel { 
		background: transparent !important; 
		backdrop-filter: none !important; 
		padding: 0 !important; 
	}
	
	/* Logo centré */
	.hero-logo {
		text-align: center !important;
		margin-bottom: 1.5rem !important;
	}
	.hero-logo .logo-img {
		max-width: 120px !important;
		height: auto !important;
		filter: drop-shadow(0 2px 8px rgba(0,0,0,0.8)) !important;
	}
	
	/* Titre centré */
	.hero-title {
		text-align: center !important;
		font-size: 1.8rem !important;
		margin-bottom: 1.5rem !important;
		color: white !important;
		text-shadow: 0 2px 8px rgba(0,0,0,0.8) !important;
		width: 100% !important;
		padding: 0 1rem !important;
	}
	
	.hero h1 {
		text-align: center !important;
		font-size: 1.8rem !important;
		margin-bottom: 1rem !important;
		color: white !important;
		text-shadow: 0 2px 8px rgba(0,0,0,0.8) !important;
	}
	
	/* Boutons centrés */
	.hero-buttons {
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 1rem !important;
		align-items: center !important;
		width: 100% !important;
	}
	.hero-buttons .btn {
		width: 100% !important;
		max-width: 280px !important;
	}
	
	/* Masquer le logo section-divider dans le hero sur mobile pour éviter les conflits d'alignement */
	.hero > .section-divider-logo {
		display: none !important;
	}
	
	/* S'assurer que le titre prend toute la largeur disponible */
	.hero-title {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 1rem !important;
		text-align: center !important;
	}
	
	/* === Styles supplémentaires pour la section charte sur mobile === */
	.charte-principles-modern {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
		margin: 2rem 0 !important;
		padding: 0 1rem !important;
	}
	
	.principle-modern {
		display: block !important;
		width: 100% !important;
		padding: 1.5rem !important;
		margin-bottom: 1rem !important;
	}
	
	.principle-content-modern {
		display: block !important;
		width: 100% !important;
	}
	
	.principle-content-modern h4 {
		font-size: 1rem !important;
		line-height: 1.4 !important;
		margin-bottom: 0.8rem !important;
	}
	
	.principle-content-modern p {
		font-size: 0.9rem !important;
		line-height: 1.5 !important;
	}
	
	/* === Simplification des badges de cartes === */
	.card-badge.citoyenne {
		font-size: 1.2rem !important;
		line-height: 1 !important;
		text-align: center !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	
	.card-badge.badge-inline {
		font-size: 1rem !important;
		display: inline !important;
	}
}

/* === Styles pour la section médiathèque avec posts === */
.mediatheque {
	padding: 6rem 0;
	background: var(--cream);
}

.mediatheque-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 2rem;
	margin-top: 3rem;
}

.mediatheque-post-card {
	background: white;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
}

.mediatheque-post-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.mediatheque-post-image {
	width: 100%;
	height: 250px;
	overflow: hidden;
	background: #f0f0f0;
	position: relative;
}

.mediatheque-post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.mediatheque-post-card:hover .mediatheque-post-image img {
	transform: scale(1.05);
}

.mediatheque-post-content {
	padding: 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.mediatheque-post-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
	font-size: 0.85rem;
}

.mediatheque-post-type {
	text-transform: uppercase;
	font-weight: 600;
	color: var(--coral);
	letter-spacing: 0.5px;
	font-size: 0.75rem;
}

.mediatheque-post-date {
	color: #6c757d;
	font-size: 0.85rem;
}

.mediatheque-post-title {
	font-family: var(--font-sans);
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--dark-blue);
	margin: 0 0 0.75rem 0;
	line-height: 1.3;
}

.mediatheque-post-description {
	font-family: var(--font-sans);
	font-size: 0.95rem;
	color: #666;
	line-height: 1.6;
	margin: 0;
	flex: 1;
}

.mediatheque-empty {
	text-align: center;
	padding: 4rem 2rem;
}

.mediatheque-empty-message {
	font-family: var(--font-sans);
	font-size: 1.1rem;
	color: #6c757d;
	font-style: italic;
}

@media (max-width: 768px) {
	.mediatheque {
		padding: 4rem 0;
	}
	
	.mediatheque-posts-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		margin-top: 2rem;
	}
	
	.mediatheque-post-image {
		height: 200px;
	}
	
	.mediatheque-post-content {
		padding: 1.25rem;
	}
	
	.mediatheque-post-title {
		font-size: 1.1rem;
	}
}