@font-face{font-family:"Open Sans";font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url(/assets/opensans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#dd1313;color:#5a5a5a;font:14px/24px "Open Sans",Helvetica,Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:#3452ff;text-decoration:none}
a:hover,a:focus{text-decoration:underline}
:focus-visible{outline:2px solid #3452ff;outline-offset:2px}
.saut{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:8px 14px;z-index:100}
.saut:focus{left:8px;top:8px}

#page{width:90%;max-width:1400px;margin:0 auto;background:#fff}
.conteneur{width:92%;margin:0 auto}

/* en-tête */
.entete{background:#fff;padding:28px 0 0;text-align:center}
.logo{display:block;margin:0 auto;width:960px;max-width:100%}
.logo img{display:block;margin:0 auto}
.menu-bouton{display:none}
.menu-case{position:absolute;opacity:0;pointer-events:none}
.menu{list-style:none;margin:0;padding:18px 0 14px;display:flex;justify-content:center;flex-wrap:wrap;gap:0 34px}
.menu>li{position:relative}
.menu a,.menu .groupe-titre{display:inline-block;color:#888;font-size:13px;line-height:20px;padding:4px 0;cursor:pointer}
.menu a:hover,.menu a:focus,.menu .groupe-titre:hover,.menu li:focus-within>.groupe-titre{color:#3452ff;text-decoration:none}
.menu .actif>a,.menu .actif>.groupe-titre{color:#3452ff}
.menu>li>a,.menu>li>.groupe-titre{border-bottom:2px solid transparent}
.menu>li:hover>a,.menu>li:hover>.groupe-titre,.menu>li:focus-within>.groupe-titre,.menu>li.actif>a,.menu>li.actif>.groupe-titre{border-bottom-color:#3452ff}
.sous{display:none;list-style:none;margin:0;padding:12px 0;position:absolute;left:50%;transform:translateX(-50%);min-width:280px;max-width:420px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.18);z-index:50;text-align:left}
.menu>li:hover>.sous,.menu>li:focus-within>.sous{display:block}
.sous a{display:block;padding:7px 22px;white-space:normal;font-size:13px;line-height:19px}
.sous .actif>a{color:#3452ff}

/* contenu */
main{padding:46px 0 70px;min-height:50vh}
.colonnes{display:flex;gap:4%;align-items:flex-start}
.principal{flex:0 0 66%;min-width:0}
.lateral{flex:1;min-width:0}
.pleine{flex:1}
h1,h2,h3,h4,h5{color:#444;font-weight:600;margin:0 0 .5em}
h1{font-size:46px;line-height:1.14;margin-bottom:.3em}
h2{font-size:32px;line-height:1.25;margin:1.1em 0 .4em}
h3{font-size:21px;line-height:1.5;margin:0 0 .3em}
h4{font-size:17px;line-height:29px;margin:0}
h5{font-size:14px;line-height:24px;margin:.9em 0 0}
.principal>h1:first-child,.pleine>h1:first-child{margin-top:0}
.principal h1+p,.pleine h2+header{margin-top:0}
p{margin:0 0 1.55em}
ul{margin:0 0 1.2em;padding-left:2.2em}
li{margin:0 0 .35em}
li>h2,li>h3{margin:.2em 0 .2em}
li>p{margin:0 0 .4em}
section{margin:0}
address{font-style:normal;margin:1em 0 1.4em}
.lateral p{margin:0 0 1.2em}
.lateral .lateral-nom,.lateral .lateral-titre{color:#444;font-weight:600}
.lateral .lateral-nom{font-size:17px;line-height:29px;margin:0}
.lateral .lateral-titre{font-size:14px;line-height:24px;margin:.9em 0 0}
.lateral-titre strong{font-weight:inherit}
.lateral address{margin:1.2em 0 1.2em}
.horaires{color:#444}
.legende{font-size:16px;font-weight:600;color:#444;margin:0 0 .7em}
.photospan img{float:left;margin:0 20px 10px 0}
.photospan{overflow:auto}
.harticle{margin-bottom:1.4em}
.accueil-titre{margin-bottom:0}

/* bandeau d'accueil */
h1 strong,h2 strong,h3 strong,h4 strong,h5 strong{font-weight:inherit}
.bandeau{position:relative;overflow:hidden;background:#222;height:650px;margin:28px 0 36px -4.348%;width:108.7%}
.bandeau img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.bandeau-texte{position:absolute;right:6%;top:50%;transform:translateY(-50%);width:44%;color:#fff}
.bandeau-titre{color:#fff;font-size:46px;line-height:1.14;font-weight:600;margin:0 0 .8em;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.bouton{display:inline-block;background:#3452ff;color:#fff!important;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:13px 21px;border-radius:5px;box-shadow:0 6px 14px rgba(0,0,0,.2);text-decoration:none!important}
.bouton:hover{filter:brightness(1.1)}

/* carte */
.carte{position:relative;max-width:720px;background:#e8e8e8}
.carte img,.carte iframe{display:block;width:100%;border:0}
.carte iframe{aspect-ratio:720/420;height:auto;min-height:320px}
.carte-action{padding:14px;background:#f6f6f6;font-size:13px;line-height:20px}
.carte-action button{font:inherit;font-weight:700;background:#3452ff;color:#fff;border:0;border-radius:5px;padding:10px 16px;cursor:pointer;margin-bottom:8px}
.carte-action p{margin:0 0 6px;color:#555}
.carte-attrib{font-size:11px;color:#777;margin:6px 0 0}
.acces h2{margin-top:1.4em}

/* pied */
.pied{background:#252525;color:#999;padding:22px 0;font-size:13px}
.pied-ligne{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.pied p{margin:0}
.reseaux{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.reseaux li{margin:0}
.reseaux a{display:flex;width:40px;height:40px;align-items:center;justify-content:center;color:#999}
.reseaux a:hover{color:#fff}
.reseaux svg{width:20px;height:20px;fill:currentColor}

/* barre mobile */
.barre{display:none}

@media (max-width:1000px){
  #page{width:100%}
  .bandeau{margin-left:0;width:100%}
  h1{font-size:36px}
  h2{font-size:26px}
  .bandeau{height:420px}
  .bandeau-titre{font-size:34px}
  .bandeau-texte{width:60%}
  .menu-bouton{display:inline-flex;align-items:center;gap:10px;margin:6px 0 8px;padding:10px 16px;border:1px solid #ccc;border-radius:5px;color:#444;font-size:14px;font-weight:600;cursor:pointer;background:#fff}
  .menu-bouton i,.menu-bouton i::before,.menu-bouton i::after{display:block;width:20px;height:2px;background:#444;position:relative;content:""}
  .menu-bouton i::before{position:absolute;top:-6px}
  .menu-bouton i::after{position:absolute;top:6px}
  .menu{display:none;flex-direction:column;align-items:stretch;gap:0;padding:6px 4% 14px;text-align:left}
  .menu-case:checked~.menu{display:flex}
  .menu a,.menu .groupe-titre{display:block;padding:9px 0;font-size:15px}
  .menu>li>a,.menu>li>.groupe-titre{border-bottom:0;font-weight:600;color:#444}
  .sous{display:block;position:static;transform:none;box-shadow:none;min-width:0;max-width:none;padding:0 0 6px 14px}
  .sous a{padding:6px 0;font-size:14px}
  .colonnes{flex-direction:column;gap:30px}
  .principal,.lateral{flex:none;width:100%}
  main{padding:30px 0 90px}
  .barre{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;box-shadow:0 -2px 12px rgba(0,0,0,.2)}
  .barre a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;font-weight:700;font-size:15px;text-decoration:none}
  .barre a:first-child{background:#3452ff;color:#fff}
  .barre a:last-child{color:#3452ff}
  .barre svg{width:18px;height:18px;fill:currentColor}
  .pied{padding-bottom:70px}
}
@media (max-width:600px){
  .conteneur{width:92%}
  h1{font-size:30px}
  h2{font-size:23px}
  h3{font-size:18px}
  .bandeau{height:340px;margin:18px 0 26px}
  .bandeau-titre{font-size:26px}
  .bandeau-texte{width:78%;right:6%}
  .photospan img{float:none;display:block;margin:0 0 14px}
  ul{padding-left:1.6em}
  .logo img{width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:#fff}.menu,.barre,.pied,.carte-action{display:none}}
