/*-------------------------------------------*/
/*-------------------------------------------*/
/*----------------GENERAL--------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
/* fallback */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(../vendor/fonts/files/material-icons.woff2) format('woff2'); /* AUDIT 07/09/2026 : était fonts.gstatic.com */
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
body {
    background-color: #fff;
    color: #3c4858;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.5rem;
}
ol ol, ol ul, ul ol, ul ul {
    padding-left: 15px;
}
.bg-gris {
  background-color: #f7f6f5!important;
  padding:20px;
}
section.faible, .faible {
    padding-left: 20px;
    padding-right: 20px;
}
.pagination.pagination-info > .active > a, .pagination.pagination-info > .active > a:focus, .pagination.pagination-info > .active > a:hover, .pagination.pagination-info > .active > span, .pagination.pagination-info > .active > span:focus, .pagination.pagination-info > .active > span:hover {
    background-color: #e20613;
    border-color: #e20613;
    box-shadow: none;
}
.alignright {
    float: right;
  	margin-bottom:0;
  	margin-top:0;
}
p {
    font-size: 1rem;
  	line-height:1.5;
}
p:last-child {
    margin: 0 0 10px 0;
}
.h1, h1 {
    font-size: 2rem;
  	line-height:2rem;
	color:#938a80;
    font-weight: 400;
    margin-top: 20px;
    margin-bottom: 20px;
}
.h2, h2 {
    font-size: 1.5rem;
  	line-height:1.7rem;
	color:#c00000;
    font-weight: 400;
    margin-top: 20px;
  	margin-bottom: 20px;
  	padding-bottom:20px;
  	position:relative;
}
.h3, h3 {
    font-size: 1.25rem;
  	line-height:1.4rem;
	color:#797066; /* 05/11/2026 : était #938a80 (3,39:1), 4,86:1 sur blanc */
    font-weight: 400;
    margin-top: 20px;
  	margin-bottom:15px;
}
h2:not(.ref-h2)::after{
	content:'';
  	left:0;
    bottom:0px;
  	width:25px;
  	height:2px;
  	position:absolute;
  	background:#c00000;
}
.single h1 {
  margin: 30px 0 30px 0;
}
b, strong {
	font-weight:600;
}
i, em {
    font-size: 0.8rem;
    color: #212529;
    /* font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; */
}
.contenu-reference {
  font-size: 0.9rem;
}
.ref-h2, .ref-h3, .ref-h4 {
  font-size: 1.2rem;
	color:#938a80;
    font-weight: 400;
  margin:0;
  padding:0;
  margin-bottom:10px;
}
.ref-p {
  font-size: 1rem;
    font-weight: 600;
}
.portfolio-hover {
  display: none;
}
.su-divider.su-divider-style-dotted {
    width: 60%;
    margin-left: 20% !important;
    display: block;
}
.bg-light {
    background-color: #f6f5f4!important;
}
#breadcrumbs {
    background-color: #f6f5f4!important;
  text-align:right;
  margin: 0 15px 0 15px;
  padding:5px;
  font-size:13px;
}
#breadcrumbs a {
    color: #000!important;
}
a {
    color: #e20613;
}
a:hover, a:focus {
    color: #000;
}
.container-fluid.aucune {
    padding: 0;
}
footer > .container-fluid > .row{margin-left:0;margin-right:0}
.bg-secondary {
    background-color: #f7f6f5!important;
}
.btn-fab i {
    color: #FFF;
}
.bx-wrapper {
    margin-bottom: 40px;
}
.bx-wrapper .bx-controls-direction a {
    margin-top: -60px;
    height: 120px;
    background-color: #958b81 !important; /* 05/11/2026 : opaque (était à 50 %, 1,71:1), flèche blanche à 3,34:1 */
    background-size: 32px 32px !important;
}
.bx-wrapper .bx-prev, .bx-wrapper .bx-prev:hover {
    left: -16px;
  	background-size: 32px 32px !important;
    background-color: #958b81 !important;
}
.bx-wrapper .bx-next, .bx-wrapper .bx-next:hover {
    right: -16px;
  	background-size: 32px 32px !important;
    background-color: #958b81 !important;
}
.bx-wrapper .bx-pager.bx-default-pager a {
    background: #958b81;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active, .bx-wrapper .bx-pager.bx-default-pager a:focus {
    background: #e20613;
}
.bxslider-wrap {
  border-left: solid white 20px;
  border-right: solid white 20px;
}

.home-societe, .home-produits, .home-video, .home-actualites, .home-references {
    position: relative;
}
@media (min-width:1500px){
  .home-actualites::before {
      content: 'Actualit00e9s';
      position: absolute;
      bottom: -20px;
      color: #f7f6f5;
      font-size: 60px;
	  font-weight:800;
      transform: rotate(-90deg) translate(50%, 0%);
  }
    .home-societe::before {
      content: 'La socié00e9t00e9';
      position: absolute;
      bottom: -20px;
      color: #f7f6f5;
      font-size: 60px;
	  font-weight:800;
      transform: rotate(-90deg) translate(50%, 0%);
  }
  .home-references::before {
      content: 'R00e9f00e9rences';
      position: absolute;
      bottom: -20px;
      color: #f7f6f5;
      font-size: 60px;
	  font-weight:800;
      transform: rotate(-90deg) translate(50%, 0%);
  }
  .home-video::before {
      content: 'Vid00e9os';
      position: absolute;
      bottom: -30px;
      color: #f7f6f5;
      font-size: 60px;
	  font-weight:800;
      transform: rotate(-90deg) translate(50%, 0%);
  }
  .home-produits::before {
      content: 'Produits';
      position: absolute;
      bottom: -20px;
      color: #f7f6f5;
      font-size: 60px;
	  font-weight:800;
      transform: rotate(-90deg) translate(50%, 0%);
  }
  .home-right::before{
  	right:-30px;
  }
  .home-left::before{
  	left:-30px;
  }
  .bg-secondary.home-societe::before, .bg-secondary.home-produits::before, .bg-secondary.home-video::before, .bg-secondary.home-references::before, .bg-secondary.home-actualites::before{
  	color:#FFF;
  }
}

.home-references {
    position: relative;
}

.reference-info {
    background: rgba(228, 10, 20, 0.9); /* 05/11/2026 : était 0.6 ; titre blanc à 4,5:1 même sur une photo claire */
}
form.reference-form {
    padding: 0;
    margin: 0;
}
.reference-info h4 {
    color: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  	line-height: 1.2;
}
.reference_small .reference-info {
    padding-top: 0;
    padding-left: 15px;
    padding-right: 15px;
}
.references-list {
    margin-bottom: 15px;
}
.references-list a:hover, .references-list a.active {
    color: #e20613; /* 05/11/2026 : rouge de la charte (#e40a14 : 4,47:1 sur #f7f6f5) */
    font-style: normal;
    text-decoration: none;
}
.references .next a {
    color: #e20613;
  	border-bottom: 0 !important;
}
a#all-actu, a#all-ref {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
    padding: 10px 24px;
    background: #7a7067; /* 05/11/2026 : était #bebeb4 (1,87:1), 4,84:1 */
    color: #FFF;
    font-style: italic;
  	z-index:100;
  	transition: background-color .2s cubic-bezier(.4, 0, .2, 1);
}
a#all-actu:hover, a#all-ref:hover{
	background-color:#7a7067; /* même teinte au survol (#958b81 : 3,34:1) */
}
.has-info .form-control, .is-focused .has-info .form-control {
    background-image: linear-gradient(0deg, #e20613  2px, rgba(0,188,212, 0) 0), linear-gradient(0deg, #949494 1px, hsla(0, 0%, 58%, 0) 0); /* 05/11/2026 : trait gris #949494 (3,03:1), était #d2d2d2 */
}
.btn, .btn.btn-default {
    color: #fff;
    background-color: #7a7067; /* 05/11/2026 : était #958b81 (3,34:1), 4,84:1 */
    border-color: #7a7067;
    box-shadow: none;
    border-radius: 0;
    text-transform: initial;
    font-size: 0.9rem;
    padding: 10px 30px;
}
.btn:hover, .btn.btn-default:hover, .btn:focus, .btn.btn-default:focus, .btn:active, .btn.btn-default:active  {
    color: #fff;
    background-color: #e20613;
    border-color: #e20613;
}

.form-control{
	padding-left: 5px;
}

/*-------------------------------------------*/
/*-------------------------------------------*/
/*-----------------HEADER--------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
.navbar{box-shadow:none}
.navbar .navbar-brand {
    height: auto;
    border-left: 4px solid #FFF;
    border-right: 4px solid #FFF;
}
.navbar-brand img {
    margin-top: 0;
    max-height: inherit;
}
#sectionsNav::before {
    content: '';
    background: #e20613;
    position: absolute;
    left: 15px;
    right: 15px;
    top: 60px;
    height: 40px;
}
.contact_text {
    color: #FFF;
    font-weight: 600;
    display: inline-block;
    margin-left: 10px;
}
nav .container {
    max-width: 1500px;
}
#klh-logo {
    position: relative;
    padding: 0 0px;
    margin-left: 17px;
}
#klh-logo img {
    position: relative;
    z-index: 10;
}
#klh-logo::after {
    content: '';
    position: absolute;
    left: -10px;
    right: -10px;
    top: -80px;
    bottom: -11px;
    background: transparent;
    z-index: 0;
    border-left: 11px solid #FFF;
    border-right: 11px solid #FFF;
}
#klh-logo img {
    position: relative;
    z-index: 10;
    top: 6px;
    margin-top: -69px;
}
/*-------------------------------------------*/
/*-------------------------------------------*/
/*------------------MENU---------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
button.navbar-toggler {
    position: fixed;
    z-index: 999999999;
    right: 10px;
    top: 10px;
}
#sectionsNav.has_contact_menu {
    padding: 0;
}
.col.collapse.navbar-collapse {
  margin-top: 68px;
}
.services figure {
    width: 100%;
}
@media (min-width: 1200px){
    ul.navbar-nav.ml-auto {
        padding-top: 0;
    }
    .navbar-expand-xl .navbar-nav {
        flex-direction: row;
        margin-top: 25px;
    }
}
@media (min-width: 992px){
    .navbar-expand-xl .navbar-collapse {
        flex-basis: 0;
    	display: block !important;
    }
}
@media (max-width:1300px){
  .md-small{
  	font-size:0.8rem;
  }
}
.navbar .navbar-nav .nav-item .nav-link {
    position: relative;
    color: inherit;
    padding: 0 8px;
    font-size: 14px !important;
    text-transform: uppercase;
    border-radius: 3px;
    line-height: 20px;
}
@media (max-width: 1199.98px){
    .navbar-expand-xl .navbar-collapse {
        position: fixed;
        display: block;
        top: 0;
        height: 100vh;
        width: 100%;
        margin-top: 0 !important;
        right: 0;
        margin-right: 0!important;
        z-index: 1032;
        visibility: visible;
        background-color: #FFF;
        overflow-y: auto;
        border-top: none;
        text-align: left;
        padding-right: 0;
        padding-left: 0;
        max-height: none!important;
        transform: translate3d(100%, 0, 0);
        transition: all .5s cubic-bezier(.685, .0473, .346, 1);
    }
}
a.contact_text .ripple-container {
    display: none;
}
/*-------------------------------------------*/
/*-------------------------------------------*/
/*------------------TEXTE--------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/

.su-quote-inner {
    font-family: 'Alegreya Sans', sans-serif;
    font-style: initial;
    color: #856c58; /* 05/11/2026 : était #bba898 (2,12:1 sur #f7f6f5), 4,54:1 */
    text-align: center;
}
.su-quote-inner a {
    color: #856c58;
}
.su-quote-inner p {
    font-size: 1.4rem;
    line-height: 1.8rem;
}
.su-quote-inner i, .su-quote-inner em {
    color: #856c58;
    font-size: 1rem;
}

.card-title, .footer-big h4, .footer-big h5, .footer-brand, .info-title, .media .media-heading, .title {
    font-family: Roboto, Helvetica, Arial, sans-serif;
}

ul#menu-menu-references, ul#menu-menu-references li, ul#menu-menu-references ul,
ul#menu-menu-references-2, ul#menu-menu-references-2 li, ul#menu-menu-references-2 ul{
    list-style-type: none;
    padding: 0;
    margin: 0;
    line-height: 1.4;
}
ul#menu-menu-references > li > a {
    font-weight: bold;
}
ul#menu-menu-references li li a, ul#menu-menu-references-2 li a {
    color: #000;
  	font-weight:400;
}
ul#menu-menu-references .current-menu-item a {
    font-weight: 600;
}
ul#menu-menu-references > li > ul {
    margin-bottom: 20px;
  	padding-left: 5px;
}
p.titre {
    color: #e20613;
    font-weight: bold;
}

button#close-widget-product-filter {
    position: fixed;
    top: 15px;
    right: 15px;
    border: none;
    appearance: none;
    background: url(/medias/2023/03/close.png) no-repeat center center;
  	height:26px;
  	width:26px;
  	color:#861715;
  	font-size:0;
    cursor:pointer;
}
@media (max-width:991.66667px){
  .filter-header {
      width: auto;
      height: 48px;
      background: url(/medias/2023/03/filter.png) no-repeat right center;
      font-size: 1rem;
      vertical-align: baseline;
      margin-top: 0;
      opacity: 1;
      position: relative;
      margin-right: 10px;
      appearance: none;
      padding-right: 10px;
      border: none;
      padding-right: 44px;
      text-transform: uppercase;
      font-size: 0.8rem;
      color: #333333 !important;
      line-height: 47px;
      -webkit-appearance: none;
      display: inline-block;
      font-weight: 300;
      cursor:pointer;
  }
  #widget-product-filter {
      position: fixed;
      padding: 60px calc((100% - 250px) / 2);
      top: 0;
      background: #FFF;
      z-index: 66666666666;
      left: 0;
      right: 0;
      bottom: 0;
      margin-bottom: 0 !important;
      overflow: auto;
      display: block !important;
      transform: translateX(-100%);
      transition: all .5s cubic-bezier(.685, .0473, .346, 1);
  }
  .navbar.navbar-expand-xl .navbar-nav {
      max-width: 230px;
      margin: 60px auto !important;
  }
  #widget-product-filter.active {
      transform: translateX(0);
  }
}


/*-------------------------------------------*/
/*-------------------------------------------*/
/*----------------PARTIALS-------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/

.element-01 {
 background: url("/medias/2022/04/element-01.jpg") no-repeat center;
  padding:30px;
  background-size:cover;
}
.element-02 {
 background: url("/medias/2022/04/element-02.jpg") no-repeat center; 
  padding:30px;
  background-size:cover;
}
.element-03 {
 background: url("/medias/2022/04/element-03.jpg") no-repeat center; 
  padding:30px;
  background-size:cover;
}

.text-white.info p {
    color: #fff !important;
}

.element-01 img, .element-02 img, .element-03 img {
 border:solid white 0px; 
}
.element-01 .info-title, .element-02 .info-title, .element-03 .info-title {
	margin-top:0 !important;
}
.element-01, .element-02, .element-03 {
	position:relative;
}

.home .service-button {
    position: absolute;
    right: 0;
    bottom: -55px;
}
@media (max-width:991.666667px){
    .element-01, .element-02, .element-03 {
        margin-bottom:80px;
    }
}

.wp-caption-text {
    border: 0px solid #CCC;
}
@media (max-width: 992px){
  .references-list {
      text-align: left;
  }
}

.img-fluid, .img-thumbnail {
    max-width: 100%;
    height: auto;
    width: 100%;
}
a.su-button.su-button-style-flat {
    width: 105px;
}
/*-------------------------------------------*/
/*-------------------------------------------*/
/*-----------------FOOTER--------------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
#toTop {
    background-color: #fff;
}
footer {
    text-align: left;
}
footer td {
    vertical-align:top;
  padding-right:10px;
}
.footer-custom a {
  color:#fff;
}
.footer-custom a:hover, .footer-custom a:focus {
  color:#fa424d; /* 05/11/2026 : était #e20613 (3,23:1 sur #222222), 4,51:1 */
}
.noANimate{transition:all 0s !important;}

/*-------------------------------------------*/
/*-------------------------------------------*/
/*--------------ACCESSIBILITE----------------*/
/*-------------------------------------------*/
/*-------------------------------------------*/
/* 05/11/2026 : lien d'évitement, focus visible au clavier et contrastes (WCAG 2.1 AA, RGAA 4) */

/* Lien d'évitement (gabarit/haut.php) : masqué (sr-only) jusqu'au premier appui sur Tab */
a.lien-evitement:focus {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1000000000;
    padding: 10px 16px;
    background: #fff;
    color: #000;
    font-weight: 600;
    text-decoration: underline;
    outline: 2px solid #000;
    outline-offset: 2px;
}

/* Focus visible au clavier : material-kit.css retire tout contour. :focus-visible ne s'affiche pas
   au clic de la souris. Contour noir de 2 px (21:1 sur blanc, 4,27:1 sur le rouge #e20613) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.btn:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
}
/* Sur fond sombre (pied de page) ou rouge (bandeau de l'en-tête) : contour blanc */
footer a:focus-visible,
footer button:focus-visible {
    outline-color: #fff;
}
/* Relecture du 05/11/2026 : icônes de contact sur le bandeau rouge (contour blanc), affichées à partir de
   1200 px seulement (voir ci-dessous) */
@media (min-width: 1200px){
    a.contact_text:focus-visible {
        outline-color: #fff;
    }
}
/* Relecture 2 du 05/11/2026 : sous 1200 px, la barre de contact du menu (courriel, téléphone, plan) était
   invisible dans le menu ouvert (icônes blanches sur fond blanc, sous le calque blanc .navbar-collapse::after
   de material-kit et en partie sous le bouton « Menu »), mais restait atteignable au clavier avec un contour
   de focus caché. Elle est retirée du menu mobile, sans changement visible : le pied de page mène aux mêmes
   pages (contact, téléphone). !important : .d-flex de Bootstrap impose display: flex !important */
@media (max-width: 1199.98px){
    #sectionsNav .navbar-collapse .d-flex {
        display: none !important;
    }
}
/* Bouton « haut de page » : theme.css retire son contour (#toTop) ; opaque au focus, comme au survol */
#toTop:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
    opacity: 1;
}
/* Relecture du 05/11/2026 : flèches et pastilles du diaporama, dont jquery.bxslider.css retire le contour
   par des règles plus précises (outline: 0) ; overflow: hidden borne le contour au bouton (texte décalé
   par text-indent: -9999px) */
.bx-wrapper .bx-controls-direction a:focus-visible,
.bx-wrapper .bx-pager.bx-default-pager a:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
    overflow: hidden;
}
/* Relecture du 05/11/2026 : sous 1200 px, le menu replié (sorti de l'écran par translate3d) quitte aussi
   l'ordre de tabulation et les lecteurs d'écran ; material-kit l'ouvre en ajoutant nav-open à <html>.
   La transition (all .5s) garde l'animation de fermeture : visibility ne bascule qu'à la fin */
@media (max-width: 1199.98px){
    html:not(.nav-open) .navbar-expand-xl .navbar-collapse {
        visibility: hidden;
    }
}
/* Vignettes de références : le titre et le lien, cachés hors survol, apparaissent aussi au focus */
.reference:focus-within .reference-info {
    top: 0;
    opacity: 1;
}
/* Relecture du 05/11/2026 : vignettes visibles dès le chargement (partials/references.css les cachait
   jusqu'à l'animation WOW, retirée de references.php et blocs/grille-references.php) ; un élément caché
   ne reçoit pas le focus, et le clavier sautait toutes les fiches hors de l'écran */
.reference {
    visibility: visible;
}

/* Petits textes (dates des actualités, crédits photo, plan du site) : #777 de material-kit.css
   (4,48:1 sur blanc, 4,15:1 sur #f7f6f5) */
small, .small {
    color: #717171;
}
/* Pagination « Page 1 sur 1 » : #999 de theme.css (2,85:1) */
.pagination > li > a,
.pagination > li > span,
.pagination > li > a:hover, .pagination > li > a:focus,
.pagination > li > span:hover,
.pagination > li > span:focus {
    color: #767676;
}
/* Libellés du formulaire de demande RGPD : #aaa de material-kit.css (2,32:1) */
.wpcf7-form label {
    color: #767676;
}
/* Trait sous les champs du formulaire RGPD : #D2D2D2 de plugins/wpcf7.css (1,51:1) remplacé par #949494
   (3,03:1) ; le trait de couleur qui s'étend au focus est inchangé (champ de recherche : .has-info plus haut) */
.wpcf7 input[type="text"].form-control,
.wpcf7 input[type="email"].form-control,
.wpcf7 textarea.form-control {
    background-image: linear-gradient(#9c27b0, #9c27b0), linear-gradient(#949494, #949494);
}
/* Bordure du champ de recherche (.border de Bootstrap, #dee2e6 : 1,30:1) et de la liste du formulaire RGPD */
.search-form .form-control.border {
    border-color: #949494 !important;
}
.wpcf7-form select {
    border-color: #949494;
}
/* Bouton de partage Twitter : icône blanche sur #55acee (2,46:1) */
.bck-twitter, .bck-twitter:hover {
    background-color: #319aea !important;
}
/* Relecture du 05/11/2026 : liens de la ligne légale du pied de page (Mentions légales, Cookies…)
   soulignés, pour les distinguer du texte « Copyright » autrement que par la couleur (RGAA 10.6) */
.footer-custom p a {
    text-decoration: underline;
}
/* Relecture 2 du 05/11/2026 : liens insérés dans un texte soulignés eux aussi. Leur rouge (#e20613) ne
   contraste qu'à 1,89:1 avec le texte (#3c4858), sans autre marque (RGAA 10.6, WCAG 1.4.1). Sont visés les
   paragraphes et listes des pages et des fiches, les prix des fiches (liens à la suite de « Prix et
   récompenses »), le texte des actualités (.bg-white, actualite.php) et les mentions des formulaires.
   Boutons (.btn), menus, filtres, partage et liens « Toutes les … » restent sans soulignement */
.post-content p a:not(.btn),
.post-content li a:not(.btn),
.post-content p ~ a:not(.btn),
.post-content .bg-white a:not(.btn),
.bloc_texte p a:not(.btn),
.portfolio-caption p a:not(.btn),
.lgn-note a {
    text-decoration: underline;
}
/* Relecture 2 du 05/11/2026 : à 320 et 375 px, des crédits photo sans espace (ex. « Collège_Lamballe_… »)
   et des adresses affichées en entier débordaient de la page (défilement horizontal, WCAG 1.4.10). Un mot
   plus long que la ligne est désormais coupé ; rien ne change quand il tient sur la ligne. Bouton « En
   savoir plus » de la liste des actualités : sur deux lignes à 320 px plutôt que hors de sa colonne
   (.col-auto de Bootstrap n'a pas de largeur maximale) */
.post-content {
    overflow-wrap: break-word;
}
.post-content .btn {
    white-space: normal;
}
.post-content .col-auto {
    max-width: 100%;
}
/* Relecture finale du 05/11/2026 : boutons des légendes du diaporama (accueil), hors de .post-content, rognés
   sur téléphone (white-space: nowrap de material-kit, diaporama en overflow: hidden ; à 375 px, 50 px coupés
   sur le libellé le plus long). Passage à la ligne permis et colonne bornée à la diapositive : rien ne change
   quand le libellé tient sur une ligne */
.bloc_slider_v2 .btn {
    white-space: normal;
}
.bloc_slider_v2 .col-auto {
    max-width: 100%;
}
/* 12/11/2026 : page de recherche, trait « separator » de material-kit (largeur 100 % plus 2 × 20 px de
   marge intérieure). Sous 768 px, la colonne n'a que 16 px de marge à droite (pr-3) : la page défilait
   en largeur (24 px à 375 px, déjà sur l'ancien site). Le trait tient désormais dans la colonne ; à
   768 px et au-delà, rien ne change */
@media (max-width: 767.98px) {
    hr.separator {
        box-sizing: border-box;
    }
}
/* 12/11/2026 : icônes « avion en papier » des vignettes de références (animate.css, bounce sans fin).
   Cachées hors survol et focus, elles ne bougent à l'écran que lorsque le visiteur affiche la légende
   d'une vignette, et disparaissent avec elle : le mouvement s'affiche et se masque à la demande (RGAA
   13.8). Pour qui a demandé à son système de réduire les animations, elles restent immobiles */
@media (prefers-reduced-motion: reduce) {
    .animated.infinite {
        animation: none;
    }
}
/* 13/11/2026 (décision T26, TITRES-A11Y) : niveaux de titres. Accueil : les titres des trois actualités, des
   trois panneaux et de la vidéo suivaient le <h1> en <h3> ; recherche : le nombre de résultats était un <h5>,
   suivi des titres des résultats en <h3>. Ils passent en <h2>, et ces classes leur rendent l'aspect d'origine :
   elles reprennent les valeurs des règles « h3 » et « h5 » (material-kit.css, ce fichier) là où celles des
   règles « h2 » diffèrent (taille, interligne, couleur, marges, graisse du <h5>, marge intérieure, position,
   trait rouge h2::after et, à l'impression, saut de page du <h5>). Elles ne fixent pas la graisse des
   panneaux (.info-title) ; ailleurs, les règles qui donnaient la valeur finale (.mt-0, .mb-5, .text-white,
   .text-muted, .info .info-title) la donnent encore. Styles calculés comparés dans le navigateur, élément
   par élément, de 320 à 1500 px : rien ne change à l'écran */
h2.lgn-titre-h3 {
    font-size: 1.25rem;
    line-height: 1.4rem;
    color: #797066;
    margin-bottom: 15px;
    padding-bottom: 0;
    position: static;
}
h2.lgn-titre-h5 {
    font-size: 1.0625rem;
    line-height: 1.55em;
    font-weight: 300;
    color: inherit;
    margin-top: 10px;
    margin-bottom: 15px;
    padding-bottom: 0;
    position: static;
}
h2.lgn-titre-h3::after,
h2.lgn-titre-h5::after {
    content: none;
}
@media print {
    h2.lgn-titre-h5 {
        orphans: inherit;
        widows: inherit;
        page-break-after: auto;
    }
}
/* 13/11/2026 (décision T26) : colonne du logo à 320 px avec une barre de défilement classique (zoom de 400 %
   sur ordinateur). Large comme son contenu (col-auto), elle comptait la marge droite du logo (1rem,
   .navbar-brand de Bootstrap) et dépassait de 2 px de la zone d'affichage dès que celle-ci mesurait moins de
   307 px : la page défilait en largeur. Sous 1200 px, cette marge ne sépare le logo de rien (bouton « Menu »
   et menu en position fixe) ; elle est retirée sous 576 px seulement. Rien ne change à l'écran */
@media (max-width: 575.98px) {
    #sectionsNav .navbar-brand {
        margin-right: 0;
    }
    /* Fenêtre de 305 px avec barre de défilement classique : le logo (283 px et ses marges) dépassait d'1 px */
    #sectionsNav .navbar-brand img {
        max-width: calc(100vw - 23px);
        height: auto;
    }
}
/* 13/11/2026 : fil d'Ariane entre 992 et 1199,98 px. Col-lg-12 lui donne toute la largeur de la rangée, à
   laquelle s'ajoutent ses marges de 15 px (#breadcrumbs, ancien thème) : il dépassait de 15 px à droite de
   son conteneur et, avec une barre de défilement classique, faisait défiler la page en largeur entre 992 et
   environ 1005 px. Dans cette plage seulement, il reste dans la rangée, en retrait de 15 px de chaque côté
   comme sous 992 px : son bord droit et son texte, aligné à droite, passent 30 px plus à gauche. Rien ne
   change sous 992 px ni à 1200 px et plus */
@media (min-width: 992px) and (max-width: 1199.98px) {
    #breadcrumbs {
        max-width: calc(100% - 30px);
    }
}
/* 13/11/2026 (relecture de T7) : tarteaucitron 1.37.0 donnait au bandeau des boutons jaunes à texte noir, sans
   ✓ ni ✗, et aux vignettes « Autoriser » un bouton jaune. Couleurs et signes de l'ancien site (1.9.9) rendus :
   « Tout accepter » vert, « Tout refuser » rouge, « Autoriser » vert, lien de la politique en 15 px. Le panneau
   « Personnaliser » garde l'aspect de la 1.37.0 (à faire valider) */
body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
  border-radius: 0;
  line-height: 1.2;
  padding: 5px 10px;
}
body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  background: #008300;
  color: #fff;
}
body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
  background: #9c1a1a;
  color: #fff;
}
body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton .tarteaucitronCheck,
body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton .tarteaucitronCross {
  display: inline;
}
body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton .tarteaucitronCheck::before {
  content: '\2713' !important;
  color: #fff;
}
body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton .tarteaucitronCross::before {
  content: '\2717' !important;
  color: #fff;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  border-radius: 0;
  font-size: 15px !important;
  line-height: normal;
  padding: 0;
}
body .tac_activate .tac_float .tarteaucitronAllow {
  background-color: #1b870b;
  color: #fff;
  padding: 6px 10px;
}
/* fancyBox 3.5.7 : bouton « vignettes » masqué sous 800 px, comme fancyBox 3.1.28 de l'ancien site */
@media (max-width: 799.98px) {
    .fancybox-button--thumbs {
        display: none;
    }
}