/* cmsms stylesheet: 120_Slider modified: vendredi 24 octobre 2025 06:20:55 */
/* Slider horizontal — styles namespacés "hs-" pour éviter tout conflit */



/* Réglages globaux (tu peux les modifier) */

:root{

  --hs-slide-duration: .65s;            /* vitesse de transition (.55s / .85s / 1s) */

  --hs-slide-ease: cubic-bezier(.22,.61,.36,1); /* easing par défaut */

}



/* Scène (prend toute la hauteur dispo du parent) */

.hs-stage{

  position: relative;

  flex: 1 1 auto;

  min-height: 0;

  overflow: hidden;

  background: var(--bs-body-bg, #fff);

  /* Hauteur animée si mode autoHeight actif */

  transition: height .35s ease;

}



/* Piste */

.hs-track{

  display: flex;

  height: 100%;

  width: 100%;

  transform: translate3d(0,0,0);

  transition: transform var(--hs-slide-duration) var(--hs-slide-ease);

  will-change: transform;

  outline: none;

}



/* Slide (une “page” de contenu) — mode "plein écran" par défaut */

.hs-slide{

  flex: 0 0 100%;      /* largeur = largeur visible de .hs-stage */

  min-width: 100%;

  height: 100%;        /* plein conteneur (idéal pour layout fixe) */

  overflow: auto;      /* scroll vertical interne si contenu long */

  padding: 1.5rem 1rem;

}



/* Démo visuelle (retirable) */

.hs-slide:nth-child(odd){ background:rgb(250,250,250); }

.hs-slide:nth-child(even){ background:rgb(250,250,250); }



/* Flèches */

.hs-arrow{

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  z-index: 10;

  border: none;

  border-radius: 999px;

  padding: .6rem .9rem;

  font-size: 1.4rem;

  line-height: 1;

  background: #fff;

  color: #111;

  box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.15);

  cursor: pointer;

  user-select: none;

}

.hs-arrow:disabled{ opacity: .4; cursor: not-allowed; }

.hs-arrow.prev{ left: .5rem; }

.hs-arrow.next{ right: .5rem; }



/* Pagination (points) */

.hs-dots{

  position: absolute;

  left: 0; right: 0; bottom: .5rem;

  display: flex; gap: .4rem; justify-content: center;

  z-index: 9;

}

.hs-dots .dot{

  width: .6rem; height: .6rem; border-radius: 999px;

	background: rgba(227,6,19,0.25);
	border: 0; padding: 0; cursor: pointer;

}

.hs-dots .dot[aria-current="true"]{ background:rgb(58,170,53); }



/* --------- Effets au choix (combinables avec le slide de base) --------- */

/* 1) slide (par défaut) : pas de styles particuliers nécessaires */



/* 2) slide + fade : tous les panneaux sont un peu atténués sauf l'actif */

.hs-effect-slide-fade .hs-slide{

  transition: opacity var(--hs-slide-duration) var(--hs-slide-ease);

  opacity: .45;

}

.hs-effect-slide-fade .hs-slide.is-active{

  opacity: 1;

}



/* 3) slide + zoom (léger) : l'actif est à 100%, les voisins un peu réduits */

.hs-effect-slide-zoom .hs-slide{

  transition:

    opacity var(--hs-slide-duration) var(--hs-slide-ease),

    transform var(--hs-slide-duration) var(--hs-slide-ease);

  opacity: .65;

  transform: scale(.965);

  transform-origin: center center;

}

.hs-effect-slide-zoom .hs-slide.is-active{

  opacity: 1;

  transform: scale(1);

}



/* --------- Hauteur adaptative (slides de hauteurs différentes) --------- */

/* Quand ce mode est activé, la scène anime sa hauteur pour s'ajuster.

   Et les slides n'imposent plus de height:100%. */

.hs-autoheight .hs-track{

  /* la piste garde sa transition de position */

}

/* Mode hauteur adaptative */
.hs-autoheight {              /* classe posée sur .hs-stage par le JS */
  flex: 0 0 auto;            /* ← ne remplit plus la fenêtre, se cale sur le contenu */
  height: auto;              /* ← fini le 100% */
  transition: height .35s ease; /* animation de la hauteur (optionnel) */
}

.hs-autoheight .hs-slide{

  height: auto;       /* ← essentiel */

  /*min-height: auto;   /* ← essentiel */
  min-height: 0;

  overflow: visible;  /* on laisse le contenu définir la hauteur */

}



/* Accessibilité */

@media (prefers-reduced-motion: reduce){

  .hs-track{ transition: none; }

  .hs-effect-slide-fade .hs-slide,

  .hs-effect-slide-zoom .hs-slide{

    transition: none;

  }

}
/* cmsms stylesheet: 120_style modified: samedi 8 novembre 2025 15:27:09 */
/* spec 120 */

/* :root { --nav-h: 70px; }           ajuste à la hauteur réelle de ta navbar */
/*#legal-toc-wrapper { top: calc(var(--nav-h) + 1rem); }   1rem = marge visuelle */

/* ---- Offset navbar pour le menu sticky + ancrages ---- */

/* Définis la hauteur de ta barre de nav (desktop & mobile si différent) */
:root { --nav-h: 72px; }                    /* desktop par défaut */
@media (max-width: 991.98px) {
  :root { --nav-h: 64px; }                  /* mobile/tablette, ajuste si besoin */
}

/* Décale le wrapper sticky du sommaire sous la navbar */
#legal-toc-wrapper {
  top: calc(var(--nav-h) + 1rem);           /* 1rem = marge visuelle sous la nav */
}

/* Quand on arrive sur une ancre, on évite qu’elle soit masquée par la navbar */
.scroll-mt {
  scroll-margin-top: calc(var(--nav-h) + 1rem);
}

/* Optionnel : si ta navbar est fixed-top, tu peux aussi pousser le body */
body.navbar-fixed-padding {
  padding-top: var(--nav-h);
}



.div-gallery
{
	color: white;
	padding: 2em;
	
}
/* FONTS */
.pompiere-regular {
  font-family: "Pompiere", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.badeen-display-regular {
  font-family: "Badeen Display", system-ui;
  font-weight: 400;
  font-style: normal;
}
.oi-regular {
  font-family: "Oi", serif;
  font-weight: 400;
  font-style: normal;
}
.faster-one-regular {
  font-family: "Faster One", system-ui;
  font-weight: 400;
  font-style: normal;
}
.content-120
{
	font-size: 0.95rem;
}
.content-120 h2, .content-120 .h2
{
	font-size: 1.5rem;
}
.content-120 h3, .content-120 .h3
{
	font-size: 1.3rem;
}
.content-120 h3, .content-120 .h3
{
	font-size: 1.1rem;
}

/* shadows */
.shadow-end
{
  box-shadow: .5rem .5rem 1rem rgba(0,0,0,.15) !important;
} 
.shadow-start
{
  box-shadow: -0.5rem .5rem 1rem rgba(0,0,0,.15) !important;
} 

/* ===== Brevo form (scopé) ===== */
.cms_form label {
  display:block;
  margin:0 0 .375rem;
  font-weight:600;
  font-size:.85rem;
}

/* Champs générés par CMSMS */
.cms_form input.cms_textfield {
  display:block;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding:.3rem .45rem;
  line-height:1.5;
  font-size:.85rem;
  border:1px solid var(--bs-border-color, #ced4da);
  border-radius:.3rem;           /* arrondi propre */
  background:#fff;
}

/* Focus accessible (compatible Bootstrap si présent) */
.cms_form input.cms_textfield:focus {
  outline:0;
  border-color:#86b7fe;
  box-shadow:0 0 0 .25rem rgba(13,110,253,.25);
}

/* Bouton CMSMS */
.cms_form input.cms_submit {
  display:inline-block;
  padding:.35rem .55rem;
  font-size:1rem;
  font-weight: 600;
  line-height:1.5;
  border-radius:.3rem;
  border:1px solid #161616;
  color:#161616;
  background-color:#fafafa;      /* équivalent btn-primary */
  cursor:pointer;
}

/* Hover/Focus bouton */
.cms_form input.cms_submit:hover,
.cms_form input.cms_submit:focus {
  background-color:#161616;
  color:#eee;
  border:1px solid transparent;
  
}

/* Espacement simple entre champs */
.cms_form .mb-3 { margin-bottom:1rem; }

/* Sécurité anti-débordement des colonnes/containers parents */
.cms_form,
.cms_form * { min-width:0; }

/* Optionnel : adapter les champs sur très petits écrans */
@media (max-width: 575px){
  .cms-_form input.cms_submit { width:100%; }
}


