/* Repairs only: the archive's typography, palette, content and layout are retained. */
:root{--brand:#d70a0f}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0}
a,button,input,textarea{touch-action:manipulation}
button,input,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #2874bc!important;outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;background:#fff;padding:12px;color:#000}
.skip-link:focus{top:10px}
.onepage header:after{pointer-events:none}
.custom-slide-header .slide-items img{display:block;width:100%;height:700px;object-fit:cover;object-position:center}
.navbar .dropdown{position:relative;padding-right:25px}
.submenu-toggle{position:absolute;right:0;top:2px;width:28px;min-height:32px;border:0;background:transparent;color:#000;font-size:22px}
.navbar .dropdown.open .dropdown-menu,.navbar .dropdown:focus-within .dropdown-menu{display:block}
.dropdown-menu a:focus,.dropdown-menu a:hover{color:#000;background:#fff}
.source-note{padding:22px;background:#f4f4f4;border-left:4px solid var(--brand);margin:30px 0}
.social-link-card{border-left:4px solid var(--brand);padding:20px 22px;background:#f7f7f7;color:#222;margin-bottom:18px;text-align:left}
body .social-link-card h3{font-size:23px;color:#111;margin:0 0 12px}
.social-link-card a{color:#98070a;text-decoration:underline;font-weight:700}
.unite-galery{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:28px 0}
.gallery-open{border:0;padding:0;background:#f5f5f5;overflow:hidden;min-height:160px}
.gallery-open img{width:100%;height:230px;object-fit:cover;transition:transform .2s}
.gallery-open:hover img{transform:scale(1.035)}
#lightbox{border:0;border-radius:4px;background:#151515;color:#fff;padding:48px 24px 20px;max-width:min(90vw,950px);max-height:90vh}
#lightbox::backdrop{background:#000d}
#lightbox figure{margin:0;text-align:center}
#lightbox figure img{display:block;max-height:65vh;width:auto;max-width:100%;margin:auto;object-fit:contain}
#lightbox figcaption{margin:14px 0;font-size:16px}
#lightbox button{background:#fff;color:#111;border:0;border-radius:4px;min-width:44px;min-height:44px;font-size:25px}
.lightbox-close{position:absolute;top:4px;right:4px}
.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:20px}
body:has(#lightbox[open]){overflow:hidden}
.demo-contact{max-width:850px;margin:60px auto 10px;padding:32px;border:1px solid #ddd;background:#fff;color:#222}
.demo-contact[hidden]{display:none!important}
.demo-contact fieldset{border:0;padding:0;margin:0;min-width:0}
.demo-badge{display:inline-block;background:#fcebed;color:#8e080b;font-size:13px;font-weight:700;padding:7px 10px;margin-bottom:18px}
body #contact .demo-contact h2,body .demo-contact h2{font-size:32px;color:#111;-webkit-text-stroke:0;font-weight:600;margin:0 0 15px}
body #contact .demo-contact p,body .demo-contact p{font-size:16px;font-weight:400;line-height:1.5;color:#333;margin:0 0 20px}
.demo-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.demo-fields label{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600;min-width:0}
.demo-fields .wide{grid-column:1/-1}
.demo-fields input,.demo-fields textarea{width:100%;border:1px solid #888;border-radius:3px;padding:11px;background:#fff;color:#111;min-height:46px}
.demo-fields textarea{resize:vertical}
.demo-submit{border:0;background:var(--brand);color:#fff;padding:13px 22px;margin:22px 0;min-height:48px}
.demo-submit:hover{background:#ac080c}
body #contact #demo-status,body #demo-status{font-weight:600;color:#225b32;margin:0}
.contact-interne .contact{overflow-wrap:anywhere}
@media(min-width:992px){
 body.scrolled #sticker{position:fixed;top:0;left:0;right:0;background:#fff!important;padding:0!important;margin:0!important;box-shadow:0 2px 12px #0002}
 body.scrolled #sticker .navbar-brand img{height:60px}
 body.scrolled #sticker .nav-link{font-size:14px}
}
@media(max-width:1199px) and (min-width:992px){.navbar .nav-link{padding:5px 14px!important}}
@media(max-width:991px){
 .custom-slide-header .slide-items img{height:clamp(220px,48vw,460px)}
 .navbar-collapse.show{display:block}
 #main_nav{max-height:80vh;overflow-y:auto;padding:12px 0}
 .navbar .nav-item.dropdown{padding:0 36px}
 .submenu-toggle{right:16px;top:0;min-height:40px;width:40px}
 .dropdown-menu{position:static;text-align:center}
 .navbar .dropdown:not(.open) .dropdown-menu{display:none}
 .navbar .nav-link{padding:10px!important}
 .body-interne h2.titre-page{font-size:clamp(30px,7vw,45px);overflow-wrap:anywhere}
 .interne .h1.style-titre-p{font-size:24px}
 .content-activites .content_img{display:flex;align-items:center;background:#171717;border-radius:10px}
 .content-activites .content_img img{float:none;margin:0 12px 0 0;max-width:40%;object-fit:cover}
 .container_autres_activites h4{font-size:18px;padding:16px 8px;background:none!important;min-width:0;height:auto;overflow-wrap:anywhere}
 .contact-interne img{max-width:40px}
 .contact-interne p{font-size:20px}
 .contact-interne .contact{font-size:18px}
 .demo-contact{padding:22px;margin-top:35px}
 footer{padding:30px 0}
}
@media(max-width:767px){body{padding-bottom:85px}.demo-fields{grid-template-columns:1fr}.demo-contact h2{font-size:27px!important}.gallery-open img{height:200px}.unite-galery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-open{min-height:120px}.gallery-open img{height:155px}.list-act li a h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
