/* #region STRUCTURE ----------------------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
TYPOGRAPHIES
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* À laisser pour le copyright */

@font-face {
  font-family: 'scifly';
  src: url('../typographies/scifly-sans-webfont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Mes typographies */

@font-face {
  font-family: 'albert';
  src: url('../typographies/albertsans-variablefont_wght.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'barlow';
  src: url('../typographies/barlow-medium.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'bebas';
  src: url('../typographies/bebasneue-regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}



/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  VARIABLES
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* ----------------------------------------
   TYPOGRAPHIES
---------------------------------------- */

:root {

  --font-gestimark: 'scifly', sans-serif; /* police de gestimark */

  --font-primary: 'barlow', sans-serif; /* police principale */
  --font-secondary: 'bebas', sans-serif; /* police principale */
  --font-heading: 'albert', sans-serif; /* police titre */
  --font-link-menu: 'albert', sans-serif; /* police titre */
  
  
  /* Tailles de police */
  --font-size-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);     /* 12-14px */
  --font-size-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);       /* 14-16px */
  --font-size-base: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);       /* 16-18px */
  --font-size-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);      /* 18-20px */
  --font-size-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);       /* 20-24px */
  --font-size-2xl: clamp(1.5rem, 1.3rem + 1vw, 1.875rem);        /* 24-30px */
  --font-size-3xl: clamp(1.875rem, 1.6rem + 1.375vw, 2.15rem);   /* 30-36px */
  --font-size-4xl: clamp(1.775rem, 1.775rem + 1.75vw, 2.5rem);        /* 36-48px */
  --font-size-4xl-footer: clamp(1.775rem, 1.775rem + 1.75vw, 3.5rem);        /* 36-48px */
  --font-size-5xl: clamp(2rem, 2rem + 2.5vw, 6rem);            /* 48-64px */
  
}

@media (min-width: 1200px) {
  :root {
    /* Augmentation subtile pour très grands écrans */
    --font-size-base: clamp(1.125rem, 1rem + 0.5vw, 1.25rem);
  }
}

/* ----------------------------------------
   COULEURS
---------------------------------------- */

/* Palette de couleurs */
:root {
  --color-primary: #213C5A; /* Couleur principale */
  --color-secondary: #E55B2A; /* Couleur secondaire */
  --color-heading: #213C5A; /* Couleur Titres */
  --color-heading-secondary: #343434; /* Couleur Titres */
  --color-text: #1d1d1d; /* texte principal */
  --color-text-light: #ffffff; /* texte sur fond de couleur */
  --color-background: #213C5A; /* fond d'arrière plan */
  --color-background-light: #F2A93B; /* fond d'arrière plan light */
  --color-background-button: #f19e1f; /* Couleur des boutons */
  --color-background-button-hover: #ef5245; /* Couleur des boutons au hover */
  --color-background-button-secondary: #ef5245; /* Couleur des boutons secondaires */
  --color-background-button-secondary-hover: #f19e1f; /* Couleur des boutons secondaires au hover */
  --color-background-readmore: #ff00bf; /* Couleur des boutons readmore */
  --color-background-readmore-hover: #6d0d55; /* Couleur des boutons readmore au hover */
  --color-link: #E55B2A; /* couleur des liens */
  --color-link-hover: #f19e1f; /* Couleur des liens au hover */
  --color-link-active: #E55B2A; /* Couleur des liens au hover */
  --color-link-light: #fff; /* Couleur des liens light */
  --color-link-light-hover: #E55B2A; /* Couleur des liens light au hover */
  --color-link-light-active: #E55B2A; /* Couleur des liens light au hover */
  --color-link-menu: #213C5A; /* couleur des liens */
  --color-link-menu-hover: #E55B2A; /* Couleur des liens au hover */
}

/* ----------------------------------------
   ESPACEMENTS
---------------------------------------- */

/* Marges et paddings */
:root {
  /* Espacements responsive basés sur la viewport */
  --space-xs: clamp(0.25rem, 0.5vw, 0.5rem);     /* 4px → 8px */
  --space-sm: clamp(0.5rem, 1vw, 1rem);          /* 8px → 16px */
  --space-md: clamp(1rem, 2vw, 1.5rem);          /* 16px → 24px */
  --space-lg: clamp(1.5rem, 3vw, 2.5rem);        /* 24px → 40px */
  --space-xl: clamp(2rem, 4vw, 3.5rem);          /* 32px → 56px */
  --space-2xl: clamp(2.5rem, 5vw, 5rem);         /* 40px → 80px */
  --space-3xl: clamp(3rem, 6vw, 6rem);           /* 48px → 96px */
  --space-4xl: clamp(4rem, 8vw, 8rem);           /* 64px → 128px */
  --space-5xl: clamp(5rem, 10vw, 12rem);         /* 80px → 192px */ 
}

/* ----------------------------------------
   AUTRES VARIABLES UTILES
---------------------------------------- */

/* Bordures arrondies */
:root {
  --border-radius: 2vw; /* arrondir les coins */
  --border-radius-small: 10px; /* petit arrondi */
  --border-radius-button: 99px; /* boutons arrondis */
  --border-radius-25: 25px; /* faire des arrondis */
  --border-radius-50: 50px; /* faire des arrondis */
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  RESET
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

html {
  max-width: 2560px;
  height: 100%;
  margin: 0 auto;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  font-size: var(--font-size-base);
  font-family: var(--font-primary);
  background-color: #FFFCF9;
  overflow-x: hidden;
}

body, div, span, applet, iframe, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, ::before, ::after {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}

.gtm-wrapper {
  flex-grow: 1;
  margin-bottom: var(--space-lg);
  position: relative;
}

img {
  max-width: 100%;
  height: auto;
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  NOS CLASSES
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------------------------------------
  Titres, texte, liens, listes 
--------------------------------------------------------------------------------------------------------------------- */

/* -------------------- Titres -------------------- */

h1 {
  font-size: var(--font-size-5xl);
  margin-bottom: var(--space-lg);
  font-family: var(--font-heading);
  color: var(--color-heading);
  text-align: center;
  padding: 0 var(--space-md);
}

h2 {
  font-size: var(--font-size-4xl);
  margin-top: var(--space-3xl);
  margin-bottom: var(--space-lg);
  font-family: var(--font-heading);
  color: var(--color-heading);
  text-align: center !important;
}

h3 {
  font-size: var(--font-size-3xl);
  margin-top: var(--space-lg);
  margin-bottom: var(--space-sm);
  font-family: var(--font-heading);
  color: var(--color-heading);
  text-align: center;
  font-weight: 600;
}

h4 {
  font-size: var(--font-size-2xl);
  margin-top: var(--space-md);
  margin-bottom: var(--space-sm);
  font-family: var(--font-primary);
  color: var(--color-heading);
}

h5 {
  font-size: var(--font-size-xl);
  margin-top: var(--space-md);
  margin-bottom: var(--space-xs);
  font-family: var(--font-heading);
  color: var(--color-heading-secondary);
}

h6 {
  font-size: var(--font-size-lg);
  margin-top: var(--space-md);
  margin-bottom: var(--space-xs);
  font-family: var(--font-primary);
  color: var(--color-heading-secondary);
}

@media screen and (min-width: 1200px) { 
  h1 {
    margin-top: var(--space-md);
  }
}

/* -------------------- Textes -------------------- */

p {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-sm);
  line-height: 1.5;
  color: var(--color-primary)
}

blockquote {
  font-size: var(--font-size-lg);
  font-family: var(--font-secondary);
  margin-bottom: var(--space-sm);
}

/* Texte d'introduction */
.gtm-text-lead {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-sm);
}

/* Texte petit */
.gtm-text-small {
  font-size: var(--font-size-sm);
  margin-bottom: var(--space-xs);
}

/* Texte petit */
.gtm-text-xs {
  font-size: var(--font-size-xs);
}

/* -------------------- Liens -------------------- */

a {
  text-decoration: none !important;
  cursor: pointer;
  color: var(--color-link);
  font-size: var(--font-size-xl);
  transition: color .5s ease-in-out;
  position: relative;
  margin-bottom: var(--space-xs);
}

a:hover {
  color: var(--color-link-hover);
}

a.gtm-lien-secondary {
  color: var(--color-link-light);
}

a.gtm-lien-secondary:hover {
  color: var(--color-link-light-hover);
}

/* -------------------- Boutons -------------------- */

/* boutons gestimark */

a.gtm-btn-primary, button#soumettre, button#Soumettre {
  border-radius: var(--border-radius-button) !important;
  margin-top: var(--space-xs) !important;
  margin-bottom: var(--space-xs) !important;
  box-sizing: border-box !important;
  font-size: var(--font-size-xl) !important;
  color: var(--color-text-light) !important;
  background-color: #E55B2A !important;
  line-height: 1.2 !important;
  padding: var(--space-sm) var(--space-lg) !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: manipulation !important;
  display: inline-block !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background .2s ease-in-out !important;
  text-transform: uppercase !important;
  font-family: var(--font-link-meu) !important;
  letter-spacing: 1px !important;
}


a.gtm-btn-primary:hover, button#soumettre:hover, button#Soumettre:hover{
  background-color: var(--color-link-hover) !important;
}


a.gtm-btn-secondary {
  border-radius: var(--border-radius-button) !important;
  margin-top: var(--space-xs) !important;
  margin-bottom: var(--space-xs) !important;
  box-sizing: border-box !important;
  font-size: var(--font-size-2xl) !important;
  color: var(--color-text-light) !important;
  background-color: #E55B2A !important;
  line-height: 1.2 !important;
  padding: var(--space-sm) var(--space-md) !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: manipulation !important;
  display: inline-block !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background .2s ease-in-out !important;
  text-transform: uppercase !important;
  font-family: var(--font-link-meu) !important;
  letter-spacing: 1px !important;
}


a.gtm-btn-secondary:hover {
  background-color: var(--color-background-button-hover);
}

a.gtm-btn-third, a.gtm-btn-fourth {
  border-radius: var(--border-radius-button) !important;
  border: 2px solid #fff;
  margin-top: var(--space-lg) !important;
  margin-bottom: var(--space-xs) !important;
  box-sizing: border-box !important;
  font-size: var(--font-size-xl) !important;
  color: var(--color-text-light) !important;
  background-color: transparent !important;
  line-height: 1.2 !important;
  padding: var(--space-sm) var(--space-lg) !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: manipulation !important;
  display: inline-block !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background .2s ease-in-out !important;
  text-transform: uppercase !important;
  font-family: var(--font-link-meu) !important;
  letter-spacing: 1px !important;
}


a.gtm-btn-third:hover {
  background-color: #fff !important;
  color: var(--color-background-light) !important;
}

a.gtm-btn-fourth:hover {
  background-color: #fff !important;
  color: #E55B2A !important;
}


/* boutons joomla */

.btn.btn-primary {
  background-color: var(--color-background-button);
  border: none;
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  margin: var(--space-xs) 0;
  border-radius: var(--border-radius-small);
  cursor: pointer;
  transition: background .3s ease-in-out;
}


.btn.btn-primary:hover {
  background-color: var(--color-background-button-hover);
}

.btn.btn-secondary {
  background-color: var(--color-background-button-secondary);
  border: none;
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-base);
  color: var(--color-text-light);
  margin: var(--space-xs) 0;
  border-radius: var(--border-radius-small);
  cursor: pointer;
  transition: background .3s ease-in-out;
}

.btn.btn-secondary:hover {
  background-color: var(--color-background-button-secondary-hover);
}

/* boutons lire la suite */

.readmore {
  border-radius: var(--border-radius-button);
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
  box-sizing: border-box;
  font-size: var(--font-size-base);
  color: var(--color-text-light) !important;
  background-color: var(--color-background-readmore);
  line-height: 1.2;
  padding: var(--space-xs) var(--space-sm);
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  transition: background-color .2s ease-in-out;
}

.readmore:hover {
  background-color: var(--color-background-readmore-hover);
}

/* bouton envoyer */

button[type="submit"] {
  background-color: var(--color-background-button) !important;
  border: none !important;
  padding: var(--space-xs) var(--space-sm) !important;
  font-size: var(--font-size-base) !important;
  color: var(--color-text-light) !important;
  margin: var(--space-xs) 0 !important;
  border-radius: var(--border-radius-small) !important;
  text-shadow: none !important;
  background-image: none !important;
  cursor: pointer !important;
  transition: all .2s ease-in-out !important;
}


button[type="submit"]:hover {
  background-color: var(--color-background-button-hover) !important;
}


/* -------------------- Listes -------------------- */

/* Liste gestimark */
ul, ol {
  margin-left: var(--space-md);
  margin-bottom: var(--space-sm);
  font-size: var(--font-size-xl);
}

ul li,
ol li {
  margin-bottom: var(--space-xs);
  color: var(--color-primary);
}

ul.gtm-liste-picto {
  margin-left: var(--space-xs);
}

ul.gtm-liste-picto li {
  list-style: none;
  padding-bottom: 5px;
  background: url(/images/gtm-list-pict.png) no-repeat 0 6px;
  background-size: 15px;
  padding-left: var(--space-xs);
  font-size: var(--font-size-base);
}

/* Liste compte */
ul.mod-login__options {
  list-style-type: none;
  margin-left: 0;
}

ul.mod-login__options li a {
  font-size: var(--font-size-base);
}

/* Formulaires (input, textarea...) */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="password"],
textarea {
  width: 100% !important;
  padding: var(--space-xs) !important;
  box-sizing: border-box !important;
  height: auto !important;
  border: 1px solid !important;
  outline: 0 !important;
  box-shadow: none !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus {
  outline: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--color-primary) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* ---------------------------------------------------------------------------------------------------------------------
  Background
--------------------------------------------------------------------------------------------------------------------- */

.moduletable.gtm-bg {
  padding: var(--space-0);
  background-color: var(--color-background);
  color: var(--color-text-light);
}

.moduletable.gtm-img-bg {
  padding: var(--space-0);
}

.moduletable.gtm-bg .gtm-custom {
  padding: var(--space-xs);
}

.gtm-img-bg .gtm-custom {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  padding: var(--space-xs);
}

@media screen and (min-width: 1024px) {
  .moduletable.gtm-bg .gtm-custom {
    padding: var(--space-xs), var(--space-sm), var(--space-xs), var(--space-sm);
  }

  .gtm-img-bg .gtm-custom {
    padding: var(--space-xs), var(--space-sm), var(--space-xs), var(--space-sm);
  }
}

/* -----------------------------------------------------------
                    VIDEOS
------------------------------------------------------------ */

/* Juste pour les cas spéciaux ou osyoutube ne fais pas l'affaire */

/* .gtm-video-container {
      position:relative;
      overflow:hidden;
      width:100%;
      padding-top:56.25%
    }
      
    .gtm-responsive-iframe {
      position:absolute;
      top:0;
      left:0;
      bottom:0;
      right:0;
      width:100%;
      height:100%;
      border-radius:2vw;
    }
*/

/* ---------------------------------------------------------------------------------------------------------------------
  Centrage
--------------------------------------------------------------------------------------------------------------------- */

/* centrer du texte */
.gtm-center {
  text-align: center;
}

/* centrer le module sur lui-même */
.gtm-module-center {
  align-self: center;
}

/* centrer tout le contenu du module */
.gtm-content-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* centrer un seul élément */
.gtm-element-center .gtm-custom {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%);
  width: 100%;
}

/* ---------------------------------------------------------------------------------------------------------------------
  Style des éléments
--------------------------------------------------------------------------------------------------------------------- */

/* Angles arrondis */

.gtm-border {
  border-radius: var(--border-radius);
}

/* Bordure */

.gtm-border {
  border: 2px solid var(--color-primary);
}

/* ---------------------------------------------------------------------------------------------------------------------
  Positions
--------------------------------------------------------------------------------------------------------------------- */

/* positions collante au top de l'écran lors du scroll */

.gtm-sticky {
  position: sticky;
  top: 20px;
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  STRUCTURE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------------------------------------
  Articles
--------------------------------------------------------------------------------------------------------------------- */

/* .com-content-article {
  padding: var(--space-lg);
}
 */

/* ---------------------------------------------------------------------------------------------------------------------
  Modules
--------------------------------------------------------------------------------------------------------------------- */

.moduletable {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: var(--space-xl);
}

.moduletable .gtm-custom {
  width: 100%;
}

.moduletable.gtm-bg h1,
.moduletable.gtm-bg h2,
.moduletable.gtm-bg h3,
.moduletable.gtm-bg h4,
.moduletable.gtm-bg h5,
.moduletable.gtm-bg h6 {
  padding: var(--space-xs) var(--space-xs) var(--space-0) var(--space-xs);
}

/* marge entre le titre et le contenu */
.moduletable .gtm-custom {
  padding-top: var(--space-xs);
}

.gtm-right .moduletable .gtm-custom,
.gtm-left .moduletable .gtm-custom {
  padding-top: 0;
}

.gtm-debug .moduletable {
  padding: 0;
}

/* --------- Menu ---------- */
.gtm-menu .moduletable {
  padding: 0px;
}

@media screen and (min-width: 1024px) {
  .moduletable {
    padding: var(--space-xs) var(--space-xl);
  }

  .moduletable.gtm-bg h1,
  .moduletable.gtm-bg h2,
  .moduletable.gtm-bg h3,
  .moduletable.gtm-bg h4,
  .moduletable.gtm-bg h5,
  .moduletable.gtm-bg h6 {
    padding: var(--space-xs) var(--space-sm) var(--space-0) var(--space-sm);
  }
}

@media screen and (min-width: 1200px) { 
  .gtm-menu .moduletable {
    background: #fff;
    height: 150px;
    position: fixed;
  }
}

@media screen and (min-width: 1600px) {
  .moduletable {
    padding: 0;
  }
}


/* ---------------------------------------------------------------------------------------------------------------------
  Blogue - Page de présentation
--------------------------------------------------------------------------------------------------------------------- */

/* ----------- marges du blog ----------- */
.com-content-category-blog__items.blog-items {
  padding: var(--space-xs);
}

.com-content-category-blog .page-header h1 {
  padding: var(--space-xs);
}

/* ----------- Article en vedette ----------- */

.com-content-category-blog__items.blog-items.items-leading .com-content-category-blog__item.blog-item {
  display: flex;
  gap: 20px;
  margin-bottom: var(--space-xl);
}

/* ----------- Articles du blogue ------------ */

/* Design du blogue 2 colonnes */
.com-content-category-blog__items.blog-items.masonry-2, .com-content-category-blog__items.blog-items.masonry-3, .com-content-category-blog__items.blog-items.masonry-4, .com-content-category-blog__items.blog-items.masonry-5, .com-content-category-blog__items.blog-items.masonry-6 {
  display: block;
}


/* Alignement colonne des articles */
.com-content-category-blog__items.blog-items.masonry-2 .com-content-category-blog__item.blog-item figure.item-image,
.com-content-category-blog__items.blog-items.masonry-3 .com-content-category-blog__item.blog-item figure.item-image,
.com-content-category-blog__items.blog-items.masonry-4 .com-content-category-blog__item.blog-item figure.item-image,
.com-content-category-blog__items.blog-items.masonry-2 .com-content-category-blog__item.blog-item .item-content,
.com-content-category-blog__items.blog-items.masonry-3 .com-content-category-blog__item.blog-item .item-content,
.com-content-category-blog__items.blog-items.masonry-4 .com-content-category-blog__item.blog-item .item-content {
  width: 100%;
}

.com-content-category-blog__items.blog-items.masonry-2 .com-content-category-blog__item.blog-item,
.com-content-category-blog__items.blog-items.masonry-3 .com-content-category-blog__item.blog-item,
.com-content-category-blog__items.blog-items.masonry-4 .com-content-category-blog__item.blog-item {
  display: block;
}

/* Design en ligne lorsque le blogue est en une seule colonne */
.com-content-category-blog__items.blog-items .com-content-category-blog__item.blog-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: var(--space-xl);
}

/* Design des images */
.com-content-category-blog__items.blog-items figure.item-image img {
  width: 100%;
  margin-bottom: var(--space-xs);
}

/* Design des titres des articles */
.com-content-category-blog__items.blog-items .item-content .page-header h2 {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-xs);
}

.com-content-category-blog__items.blog-items.masonry-4 .item-content .page-header h2 {
  font-size: var(--font-size-4xl);
  margin-bottom: var(--space-xs);
}

/* Design des titres avec lien des articles */
.com-content-category-blog__items.blog-items .item-content .page-header h2 a {
  font-size: var(--font-size-4xl);
  margin-bottom: var(--space-xs);
  display: block;
}

.com-content-category-blog__items.blog-items.masonry-4 .item-content .page-header h2 a {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--space-xs);
  display: block;
}

@media screen and (min-width: 768px) { 
  /* Design du blogue 2 colonnes */
  .com-content-category-blog__items.blog-items.masonry-3 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }
}

/* --------------------------------- Version Desktop ------------------------------------- */

@media screen and (min-width: 992px) {

  /* marges du blog */
  .com-content-category-blog__items.blog-items {
    padding: 20px 40px;
    padding: var(--space-xs) var(--space-sm);
  }

  .com-content-category-blog .page-header h1 {
    padding: var(--space-xs) var(--space-sm);
  }

  /* Design en ligne lorsque le blogue est en une seule colonne */
  .com-content-category-blog__items.blog-items .com-content-category-blog__item.blog-item {
    flex-direction: row;
    gap: 40px;
  }

  /* tailles des boites images et textes de l'article en vedette */
  .com-content-category-blog__items.blog-items.items-leading .com-content-category-blog__item.blog-item figure.item-image,
  .com-content-category-blog__items.blog-items.items-leading .com-content-category-blog__item.blog-item div.item-content {
    width: 50%;
  }

  /* tailles des boites images des articles */
  .com-content-category-blog__items.blog-items .com-content-category-blog__item.blog-item figure.item-image {
    width: 40%;
  }

  /* tailles des boites textes des articles */
  .com-content-category-blog__items.blog-items .com-content-category-blog__item.blog-item .item-content {
    width: 60%;
  }

  /* ----------- Articles du blogue ------------ */

  /* Design du blogue 2 colonnes */
  .com-content-category-blog__items.blog-items.masonry-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }

  /* Design du blogue 3 colonne */
  .com-content-category-blog__items.blog-items.masonry-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }

  /* Design du blogue 4 colonne */
  .com-content-category-blog__items.blog-items.masonry-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }

  /* ------------ Article de blogue ouvert -------------- */

  .com-content-article.item-page.gtm-blogue {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 40px;
  }

  .com-content-article.item-page.gtm-blogue .page-header:nth-child(1) {
    grid-column: span 12;
  }

  .com-content-article.item-page.gtm-blogue .page-header:nth-child(2) {
    grid-column: span 12;
  }

  .com-content-article.item-page.gtm-blogue .left.item-image {
    grid-column: span 6;
  }

  .com-content-article.item-page.gtm-blogue .com-content-article__body {
    grid-column: span 6;
  }

  .com-content-article.item-page.gtm-blogue .left.item-image img {
    position: sticky;
    top: 20px;
  }
}

@media screen and (min-width: 1200px) {

  /* Design du blogue 3 colonne */
  .com-content-category-blog__items.blog-items.masonry-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }

  /* Design du blogue 4 colonne */
  .com-content-category-blog__items.blog-items.masonry-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 40px;
  }
}



/* ---------------------------------------------------------------------------------------------------------------------
  Margin 
--------------------------------------------------------------------------------------------------------------------- */

/* Marges sur tous les côtés */
.gtm-m-0 { margin: var(--space-0); }
.gtm-m-xs { margin: var(--space-xs); }
.gtm-m-sm { margin: var(--space-sm); }
.gtm-m-md { margin: var(--space-md); }
.gtm-m-lg { margin: var(--space-lg); }
.gtm-m-xl { margin: var(--space-xl); }
.gtm-m-2xl { margin: var(--space-2xl); }
.gtm-m-3xl { margin: var(--space-3xl); }
.gtm-m-4xl { margin: var(--space-4xl); }
.gtm-m-5xl { margin: var(--space-5xl); }
.gtm-m-auto { margin: var(--space-auto); }

/* Marges horizontales (gauche + droite) */
.gtm-mx-0 { margin-left: var(--space-0); margin-right: var(--space-0); }
.gtm-mx-xs { margin-left: var(--space-xs); margin-right: var(--space-xs); }
.gtm-mx-sm { margin-left: var(--space-sm); margin-right: var(--space-sm); }
.gtm-mx-md { margin-left: var(--space-md); margin-right: var(--space-md); }
.gtm-gtm-mx-lg { margin-left: var(--space-lg); margin-right: var(--space-lg); }
.gtm-mx-xl { margin-left: var(--space-xl); margin-right: var(--space-xl); }
.gtm-mx-2xl { margin-left: var(--space-2xl); margin-right: var(--space-2xl); }
.gtm-mx-3xl { margin-left: var(--space-3xl); margin-right: var(--space-3xl); }
.gtm-mx-auto { margin-left: var(--space-auto); margin-right: var(--space-auto); }

/* Marges verticales (haut + bas) */
.gtm-my-0 { margin-top: var(--space-0); margin-bottom: var(--space-0); }
.gtm-my-xs { margin-top: var(--space-xs); margin-bottom: var(--space-xs); }
.gtm-my-sm { margin-top: var(--space-sm); margin-bottom: var(--space-sm); }
.gtm-my-md { margin-top: var(--space-md); margin-bottom: var(--space-md); }
.gtm-my-lg { margin-top: var(--space-lg); margin-bottom: var(--space-lg); }
.gtm-my-xl { margin-top: var(--space-xl); margin-bottom: var(--space-xl); }
.gtm-my-2xl { margin-top: var(--space-2xl); margin-bottom: var(--space-2xl); }
.gtm-my-3xl { margin-top: var(--space-3xl); margin-bottom: var(--space-3xl); }

/* Marges individuelles */
.gtm-mt-0 { margin-top: var(--space-0); }
.gtm-mt-xs { margin-top: var(--space-xs); }
.gtm-mt-sm { margin-top: var(--space-sm); }
.gtm-mt-md { margin-top: var(--space-md); }
.gtm-mt-lg { margin-top: var(--space-lg); }
.gtm-mt-xl { margin-top: var(--space-xl); }
.gtm-mt-2xl { margin-top: var(--space-2xl); }
.gtm-mt-3xl { margin-top: var(--space-3xl); }
.gtm-mt-4xl { margin-top: var(--space-4xl); }
.gtm-mt-5xl { margin-top: var(--space-5xl); }

.gtm-mb-0 { margin-bottom: var(--space-0); }
.gtm-mb-xs { margin-bottom: var(--space-xs); }
.gtm-mb-sm { margin-bottom: var(--space-sm); }
.gtm-mb-md { margin-bottom: var(--space-md); }
.gtm-mb-lg { margin-bottom: var(--space-lg); }
.gtm-mb-xl { margin-bottom: var(--space-xl); }
.gtm-mb-2xl { margin-bottom: var(--space-2xl); }
.gtm-mb-3xl { margin-bottom: var(--space-3xl); }
.gtm-mb-4xl { margin-bottom: var(--space-4xl); }
.gtm-mb-5xl { margin-bottom: var(--space-5xl); }

.gtm-ml-0 { margin-left: var(--space-0); }
.gtm-ml-xs { margin-left: var(--space-xs); }
.gtm-ml-sm { margin-left: var(--space-sm); }
.gtm-ml-md { margin-left: var(--space-md); }
.gtm-ml-lg { margin-left: var(--space-lg); }
.gtm-ml-xl { margin-left: var(--space-xl); }
.gtm-ml-2xl { margin-left: var(--space-2xl); }
.gtm-ml-3xl { margin-left: var(--space-3xl); }
.gtm-ml-auto { margin-left: var(--space-auto); }

.gtm-mr-0 { margin-right: var(--space-0); }
.gtm-mr-xs { margin-right: var(--space-xs); }
.gtm-mr-sm { margin-right: var(--space-sm); }
.gtm-mr-md { margin-right: var(--space-md); }
.gtm-mr-lg { margin-right: var(--space-lg); }
.gtm-mr-xl { margin-right: var(--space-xl); }
.gtm-mr-2xl { margin-right: var(--space-2xl); }
.gtm-mr-3xl { margin-right: var(--space-3xl); }
.gtm-mr-auto { margin-right: var(--space-auto); }

/* ---------------------------------------------------------------------------------------------------------------------
  Padding 
--------------------------------------------------------------------------------------------------------------------- */

.moduletable.gtm-no-padding {
    padding: 0 0 0 0;
}

/* Paddings sur tous les côtés */
.gtm-p-0 { padding: var(--space-0); }
.gtm-p-xs { padding: var(--space-xs); }
.gtm-p-sm { padding: var(--space-sm); }
.gtm-p-md { padding: var(--space-md); }
.gtm-p-lg { padding: var(--space-lg); }
.gtm-p-xl { padding: var(--space-xl); }
.gtm-p-2xl { padding: var(--space-2xl); }
.gtm-p-3xl { padding: var(--space-3xl); }
.gtm-p-4xl { padding: var(--space-4xl); }
.gtm-p-5xl { padding: var(--space-5xl); }

/* Paddings horizontaux (gauche + droite) */
.gtm-px-0 { padding-left: var(--space-0); padding-right: var(--space-0); }
.gtm-px-xs { padding-left: var(--space-xs); padding-right: var(--space-xs); }
.gtm-px-sm { padding-left: var(--space-sm); padding-right: var(--space-sm); }
.gtm-px-md { padding-left: var(--space-md); padding-right: var(--space-md); }
.gtm-px-lg { padding-left: var(--space-lg); padding-right: var(--space-lg); }
.gtm-px-xl { padding-left: var(--space-xl); padding-right: var(--space-xl); }
.gtm-px-2xl { padding-left: var(--space-2xl); padding-right: var(--space-2xl); }
.gtm-px-3xl { padding-left: var(--space-3xl); padding-right: var(--space-3xl); }
.gtm-px-4xl { padding-left: var(--space-4xl); padding-right: var(--space-4xl); }
.gtm-px-5xl { padding-left: var(--space-5xl); padding-right: var(--space-5xl); }

/* Paddings verticaux (haut + bas) */
.gtm-py-0 { padding-top: var(--space-0); padding-bottom: var(--space-0); }
.gtm-py-xs { padding-top: var(--space-xs); padding-bottom: var(--space-xs); }
.gtm-py-sm { padding-top: var(--space-sm); padding-bottom: var(--space-sm); }
.gtm-py-md { padding-top: var(--space-md); padding-bottom: var(--space-md); }
.gtm-py-lg { padding-top: var(--space-lg); padding-bottom: var(--space-lg); }
.gtm-py-xl { padding-top: var(--space-xl); padding-bottom: var(--space-xl); }
.gtm-py-2xl { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
.gtm-py-3xl { padding-top: var(--space-3xl); padding-bottom: var(--space-3xl); }
.gtm-py-4xl { padding-top: var(--space-4xl); padding-bottom: var(--space-4xl); }
.gtm-py-5xl { padding-top: var(--space-5xl); padding-bottom: var(--space-5xl); }

/* Paddings individuels */
.gtm-pt-0 { padding-top: var(--space-0); }
.gtm-pt-xs { padding-top: var(--space-xs); }
.gtm-pt-sm { padding-top: var(--space-sm); }
.gtm-pt-md { padding-top: var(--space-md); }
.gtm-pt-lg { padding-top: var(--space-lg); }
.gtm-pt-xl { padding-top: var(--space-xl); }
.gtm-pt-2xl { padding-top: var(--space-2xl); }
.gtm-pt-3xl { padding-top: var(--space-3xl); }
.gtm-pt-4xl { padding-top: var(--space-4xl); }
.gtm-pt-5xl { padding-top: var(--space-5xl); }

.gtm-pb-0 { padding-bottom: var(--space-0); }
.gtm-pb-xs { padding-bottom: var(--space-xs); }
.gtm-pb-sm { padding-bottom: var(--space-sm); }
.gtm-pb-md { padding-bottom: var(--space-md); }
.gtm-pb-lg { padding-bottom: var(--space-lg); }
.gtm-pb-xl { padding-bottom: var(--space-xl); }
.gtm-pb-2xl { padding-bottom: var(--space-2xl); }
.gtm-pb-3xl { padding-bottom: var(--space-3xl); }
.gtm-pb-4xl { padding-bottom: var(--space-4xl); }
.gtm-pb-5xl { padding-bottom: var(--space-5xl); }

.gtm-pl-0 { padding-left: var(--space-0); }
.gtm-pl-xs { padding-left: var(--space-xs); }
.gtm-pl-sm { padding-left: var(--space-sm); }
.gtm-pl-md { padding-left: var(--space-md); }
.gtm-pl-lg { padding-left: var(--space-lg); }
.gtm-pl-xl { padding-left: var(--space-xl); }
.gtm-pl-2xl { padding-left: var(--space-2xl); }
.gtm-pl-3xl { padding-left: var(--space-3xl); }
.gtm-pl-4xl { padding-left: var(--space-4xl); }
.gtm-pl-5xl { padding-left: var(--space-5xl); }

.gtm-pr-0 { padding-right: var(--space-0); }
.gtm-pr-xs { padding-right: var(--space-xs); }
.gtm-pr-sm { padding-right: var(--space-sm); }
.gtm-pr-md { padding-right: var(--space-md); }
.gtm-pr-lg { padding-right: var(--space-lg); }
.gtm-pr-xl { padding-right: var(--space-xl); }
.gtm-pr-2xl { padding-right: var(--space-2xl); }
.gtm-pr-3xl { padding-right: var(--space-3xl); }
.gtm-pr-4xl { padding-right: var(--space-4xl); }
.gtm-pr-5xl { padding-right: var(--space-5xl); }




/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  COMPTE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

.gtm-compte {
  text-align: center;
  max-width: 400px;
  margin: auto;
}

.gtm-compte form {
  display: flex;
  flex-direction: column;
}

/* Identifiant */

.gtm-compte form .form-group .input-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: var(--space-xs);
}

.gtm-compte form .mod-login__username .input-group input {
  order: 2;
}

.gtm-compte form .mod-login__username .input-group label {
  order: 1;
}

/* Mdp */


.gtm-compte form .mod-login__password .input-group input {
  order: 2;
}

.gtm-compte form .mod-login__password .input-group label {
  order: 1;
}

.gtm-compte form .mod-login__password .input-group button {
  order: 3;
  width: fit-content;
}

/* affichage */
.com-users-login.login {
    grid-area: 1 / 3 / 2 / 10;
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  FORMULAIRE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* dimenssions du formulaire */

.gtm-form {
  width: 100%;
  margin: var(--space-auto);
}

.gtm-form label {
  font-size: var(--font-size-base);
  margin-bottom: var(--space-xs);
}

/* design du formulaire */

.formControls {
  display: block;
}

.rsform-input-box {
  width: 100%;
  padding: var(--space-0) !important;
}


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  COPYRIGHT
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */


.gtm-copyright-dark {
  display: none;
}

.gtm-copyright {
  text-align: center;
  padding-left: var(--space-sm);
  padding-right: var(--space-sm);
  color: var(--color-text);
  font-size: var(--font-size-xs) !important;
  margin-bottom: var(--space-xs);
  font-family: 'scifly';
}

.gtm-flinks {
  margin-bottom: var(--space-xs);
}

.gtm-flinks a {
  margin-top: var(--space-xs);
  color: var(--color-link);
  font-size: var(--font-size-xs) !important;
}


.gtm-flinks a:hover {
  color: var(--color-link-hover);
}


.gtm-copyright .moduletable.gtm-copyright-content {
  padding: var(--space-0);
}


.gtm-copy-anim-logo {
  margin: auto;
  max-width: 400px;
}

.gtm-copy-anim-logo .gtm-lien-gestimark {
  display: flex;
  justify-content: center;
  align-items: center;
}

a.gtm-lien-gestimark span {
  color: var(--color-text);
  letter-spacing: 1px;
  font-size: var(--font-size-xs);
  padding-right: var(--space-xs);
}

.gtm-copy-anim-logo .gtm-lien-gestimark img.gtm-g-gestimark {
  width: 35px;
  transform-origin: center;
  transition: all .2s ease-in-out;
}

.gtm-copy-anim-logo .gtm-lien-gestimark img.gtm-creation-de {
  width: 100px;
  padding-right: var(--space-xs);
}

.gtm-copy-anim-logo:hover .gtm-lien-gestimark img.gtm-g-gestimark {
  transform: rotate(-30deg);
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  CREDITS
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

.gtm-credits .page-header {
  text-align: center;
}

.gtm-credits .com-content-article__body {
  text-align: center;
}

.gtm-credits .com-content-article__body img.gtm-logo-gestimark-credit {
  width: 100%;
  max-width: 400px !important;
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
MERCI / OUPS
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

#oups .gtm-wrapper,
#merci .gtm-wrapper {
  margin-top: var(--space-0);
  margin-bottom: var(--space-0);
}

.gtm-img-merci .gtm-custom {
  min-height: 50dvh;
}

.gtm-img-oups .gtm-custom {
  min-height: 100dvh;
}


.gtm-img-oups, .gtm-img-merci {
  margin-bottom: var(--space-xl);
}

@media screen and (min-width: 1024px) {

  .gtm-merci,
  .gtm-oups {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .gtm-img-merci .gtm-custom,
  .gtm-img-oups .gtm-custom {
    min-height: 100dvh;
  }
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  COOKIES
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

/* image de cookie */

.cc-revoke.cc-bottom {
  position: relative;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) !important;
  width: 30px;
  height: 40px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1268.1 1268.1'><g><circle fill='%23fff' cx='634' cy='634' r='626.2'/><path fill='%23E55B2A' d='M448.7 783.8c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2 53.2-23.9 53.2-53.2-23.9-53.2-53.2-53.2zM1072.5 758.6c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2c3.4 0 6.9-.3 10.5-1.1 13.4-26.2 24.7-53.6 33.4-82.2-9-13.9-15.2-23.1-43.8-23.1zM516 418.1c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2 53.2-23.9 53.2-53.2-23.9-53.2-53.2-53.2zM223.3 412.3c29.5 0 53.2-31.9 53.2-53.2s-12.1-38.9-29.7-47.6c-9.2 11-18 22.4-26.3 34.2-9.5 13.6-18.3 27.6-26.5 42.1-1.9 3.4-3.7 6.8-5.5 10.2-.1.3-.3.5-.4.8 8.5 8.5 6.6 13.6 35.2 13.6zM1115.3 603.7c-36-1.9-67.7-23.2-82.9-56-2.9-6.5-8.7-11.4-15.7-13.3-7-2-14.3-.5-20.4 3.6-16.2 11.4-36 17.6-55.8 17.6s-33.6-4.6-48.1-13.1c-32.7-18.9-51.3-55.2-47.9-92.6.7-7.3-2-14.3-7-19.3s-12-7.8-19.3-7c-2.9.3-5.8.5-8.7.5-34.6 0-66.8-18.6-84-48.4-18.9-32.7-16.9-73.5 4.9-104.2 4.1-5.8 5.6-13.3 3.6-20.4-2-7-6.8-12.6-13.3-15.7-32.7-15.2-54.2-46.9-56.1-82.9-.8-12.9-11.3-22.9-24.1-23.1h-6.5c-137.7.2-262.7 55.8-353.8 145.6 26.8 18.4 44.4 49.1 44.4 84 0 56.1-45.3 101.5-101 101.5s-40.5-6.3-56.5-17.1c-24.1 58.8-37.4 123.2-37.4 190.6 0 278.1 226.2 504.3 504.3 504.3s330.4-90.1 420.8-226.6c-47.6-8.2-84-44.2-84-99.9s45.5-101.6 101.6-101.6 40.9 6.5 57.2 17.5c5.7-30.4 8.7-61.7 8.7-93.7v-6.5c-.3-12.8-10.2-23.3-23-23.9zM448.7 938.6c-56.1 0-101.6-45.5-101.6-101.6s45.5-101.6 101.6-101.6 101.6 45.5 101.6 101.6-45.5 101.6-101.6 101.6zM516 572.9c-56.1 0-101.6-45.5-101.6-101.6s45.5-101.6 101.6-101.6 101.6 45.5 101.6 101.6-45.5 101.6-101.6 101.6zM725.9 890.2c-72 0-130.6-58.6-130.6-130.6s58.5-130.6 130.6-130.6 130.6 58.6 130.6 130.6-58.6 130.6-130.6 130.6zM725.9 677.2c-45.3 0-82.3 37-82.3 82.3s37.1 82.3 82.3 82.3 82.3-37 82.3-82.3-37-82.3-82.3-82.3z'/></g></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  background-color: transparent !important;
  order: 999999;
    -webkit-animation: cookie 0.4ss .8s both;
  animation: cookie 0.4s .8s both;
  transition: background-image 0.3s ease;
}

.cc-revoke.cc-bottom:hover {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1268.1 1268.1'><g><circle fill='%23fff' cx='634' cy='634' r='626.2'/><path fill='%23f19e1f' d='M448.7 783.8c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2 53.2-23.9 53.2-53.2-23.9-53.2-53.2-53.2zM1072.5 758.6c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2c3.4 0 6.9-.3 10.5-1.1 13.4-26.2 24.7-53.6 33.4-82.2-9-13.9-15.2-23.1-43.8-23.1zM516 418.1c-29.3 0-53.2 23.9-53.2 53.2s24 53.2 53.2 53.2 53.2-23.9 53.2-53.2-23.9-53.2-53.2-53.2zM223.3 412.3c29.5 0 53.2-31.9 53.2-53.2s-12.1-38.9-29.7-47.6c-9.2 11-18 22.4-26.3 34.2-9.5 13.6-18.3 27.6-26.5 42.1-1.9 3.4-3.7 6.8-5.5 10.2-.1.3-.3.5-.4.8 8.5 8.5 6.6 13.6 35.2 13.6zM1115.3 603.7c-36-1.9-67.7-23.2-82.9-56-2.9-6.5-8.7-11.4-15.7-13.3-7-2-14.3-.5-20.4 3.6-16.2 11.4-36 17.6-55.8 17.6s-33.6-4.6-48.1-13.1c-32.7-18.9-51.3-55.2-47.9-92.6.7-7.3-2-14.3-7-19.3s-12-7.8-19.3-7c-2.9.3-5.8.5-8.7.5-34.6 0-66.8-18.6-84-48.4-18.9-32.7-16.9-73.5 4.9-104.2 4.1-5.8 5.6-13.3 3.6-20.4-2-7-6.8-12.6-13.3-15.7-32.7-15.2-54.2-46.9-56.1-82.9-.8-12.9-11.3-22.9-24.1-23.1h-6.5c-137.7.2-262.7 55.8-353.8 145.6 26.8 18.4 44.4 49.1 44.4 84 0 56.1-45.3 101.5-101 101.5s-40.5-6.3-56.5-17.1c-24.1 58.8-37.4 123.2-37.4 190.6 0 278.1 226.2 504.3 504.3 504.3s330.4-90.1 420.8-226.6c-47.6-8.2-84-44.2-84-99.9s45.5-101.6 101.6-101.6 40.9 6.5 57.2 17.5c5.7-30.4 8.7-61.7 8.7-93.7v-6.5c-.3-12.8-10.2-23.3-23-23.9zM448.7 938.6c-56.1 0-101.6-45.5-101.6-101.6s45.5-101.6 101.6-101.6 101.6 45.5 101.6 101.6-45.5 101.6-101.6 101.6zM516 572.9c-56.1 0-101.6-45.5-101.6-101.6s45.5-101.6 101.6-101.6 101.6 45.5 101.6 101.6-45.5 101.6-101.6 101.6zM725.9 890.2c-72 0-130.6-58.6-130.6-130.6s58.5-130.6 130.6-130.6 130.6 58.6 130.6 130.6-58.6 130.6-130.6 130.6zM725.9 677.2c-45.3 0-82.3 37-82.3 82.3s37.1 82.3 82.3 82.3 82.3-37 82.3-82.3-37-82.3-82.3-82.3z'/></g></svg>");
}



@keyframes cookie {
  0% {  
    visibility: hidden;
    transform: translate(0%, 100%); 
  }
  100% {
    visibility: visible;
    transform: translate(0%, 0%); 
  }
}

/* grille du pop up */
.cc-message-text {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, auto);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}
  
.cc-message-text .p1 { 
  grid-area: 1 / 1 / 2 / 2; 
  font-size: var(--font-size-lg);
}

.cc-message-text .cc-checkboxes-container {
  grid-area: 2 / 1 / 3 / 2;
  margin-top: var(--space-xs);
  margin-bottom: var(--space-xs);
}

.cc-message-text .cc-compliance {
  grid-area: 3 / 1 / 4 / 2;
}

/* bouton fermeture popup */
.cc-close {
  top: 0.8em;
  right: 0.6em;
  font-size: var(--font-size-xs);  
}


/* boutons */
span.cc-cookie-settings-toggle, div.cc-window a.cc-btn {
  border-radius: var(--border-radius-button) !important;
  text-decoration: none !important;
  font-size: var(--font-size-lg);
}

span.cc-cookie-settings-toggle, .cc-btn.cc-allowall, .cc-btn.cc-deny, a.cc-btn.cc-allow {
  font-weight: 500;
  padding: var(--space-xs) !important;
  line-height: 1.2;
  height: inherit !important;
  font-size: var(--font-size-lg);
}

span.cc-cookie-settings-toggle:hover, .cc-btn.cc-allowall:hover, .cc-btn.cc-deny:hover, a.cc-btn.cc-allow:hover {
  background-color: #f19e1f !important;
  border-color: #f19e1f !important;
  color: var(--color-text-light) !important;
}

/* lien politique de confidentialité et catégories de cookies */
a.cc-link.cc-privacy {
  font-size: var(--font-size-lg);
}

a.cc-link.cc-privacy:hover {
  color: #f19e1f !important;
}

a.cc-link.cc-cookie-checkbox:hover label {
  color: #f19e1f;
}

/* alignement */
div.cc-checkboxes-container {
  align-items: center;
  margin-top: var(--space-0);
}

input.cc-cookie-checkbox+span:after, input.cc-cookie-checkbox+span:before {
  display: none;
}

input.cc-cookie-checkbox {
  appearance: auto !important;
  opacity: 1;
}

.cc-cookie-settings-toggler {
  display: none !important;
}

input.cc-cookie-checkbox:checked+span:after, input.cc-cookie-checkbox:checked+span:before {
  display: none !important;
}

div.cc-checkboxes-container a.cc-btn.cc-allow {
  margin-bottom: var(--space-0) !important;
}

/* ---------------------------------------------------------------------------------------------------------------------
  PAGE POLITIQUE DE CONFIDENTIALITÉ
--------------------------------------------------------------------------------------------------------------------- */

#politique-de-confidentialite h2, #politique-de-confidentialite h3 {
  text-align: left;
}

#politique-de-confidentialite .rsform {
  width: 100%;
}

/* ---------------------------------------------------------------------------------------------------------------------
  SITEMAP
--------------------------------------------------------------------------------------------------------------------- */
#sitemap .gtm-box-article {
  display: flex;
  padding: var(--space-xs) var(--space-xl);
}

div#osmap {
    width: 100%;
}

/* ---------------------------------------------------------------------------------------------------------------------
  OPENGRAPH
--------------------------------------------------------------------------------------------------------------------- */
.og-image {
    display: none;
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  MATRICE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

.gtm-top1,
.gtm-top2,
.gtm-top3,
.gtm-top4,
.gtm-top5,
.gtm-top6,
.gtm-top7,
.gtm-top8,
.gtm-top9,
.gtm-top10,
.gtm-top11,
.gtm-top12,
.gtm-box-article,
.gtm-bottom1,
.gtm-bottom2,
.gtm-bottom3,
.gtm-bottom4,
.gtm-bottom5,
.gtm-bottom6,
.gtm-bottom7,
.gtm-bottom8,
.gtm-bottom9,
.gtm-bottom10,
.gtm-bottom11,
.gtm-bottom12,
.gtm-footer {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}

.com-content-article, form {
  grid-column: span 12;
}

/* Mobiles (jusqu'à 768px) */
.com-content-article,
.com-content-article.gtm-12,
.com-content-category-blog,
.com-content-category-blog.gtm-12,
.moduletable,
.moduletable.gtm-12,
form.gtm-12 {
  grid-column: span 12
}

.com-content-article.gtm-1,
.com-content-category-blog.gtm-1,
.moduletable.gtm-1,
form.gtm-1 {
  grid-column: span 1
}

.com-content-article.gtm-2,
.com-content-category-blog.gtm-2,
.moduletable.gtm-2,
form.gtm-2 {
  grid-column: span 2
}

.com-content-article.gtm-3,
.com-content-category-blog.gtm-3,
.moduletable.gtm-3,
form.gtm-3 {
  grid-column: span 3
}

.com-content-article.gtm-4,
.com-content-category-blog.gtm-4,
.moduletable.gtm-4,
form.gtm-4 {
  grid-column: span 4
}

.com-content-article.gtm-5,
.com-content-category-blog.gtm-5,
.moduletable.gtm-5,
form.gtm-5 {
  grid-column: span 5
}

.com-content-article.gtm-6,
.com-content-category-blog.gtm-6,
.moduletable.gtm-6,
form.gtm-6 {
  grid-column: span 6
}

.com-content-article.gtm-7,
.com-content-category-blog.gtm-7,
.moduletable.gtm-7,
form.gtm-7 {
  grid-column: span 7
}

.com-content-article.gtm-8,
.com-content-category-blog.gtm-8,
.moduletable.gtm-8,
form.gtm-8 {
  grid-column: span 8
}

.com-content-article.gtm-9,
.com-content-category-blog.gtm-9,
.moduletable.gtm-9,
form.gtm-9 {
  grid-column: span 9
}

.com-content-article.gtm-10,
.com-content-category-blog.gtm-10,
.moduletable.gtm-10,
form.gtm-10 {
  grid-column: span 10
}

.com-content-article.gtm-11,
.com-content-category-blog.gtm-11,
.moduletable.gtm-11,
form.gtm-11 {
  grid-column: span 11
}

/* Appareils de taille moyenne (tablettes, 768px et plus) */
@media (min-width : 768px) {

  .com-content-article.gtm-tablette-1,
  .com-content-category-blog.gtm-tablette-1,
  .moduletable.gtm-tablette-1,
  form.gtm-tablette-1 {
    grid-column: span 1
  }

  .com-content-article.gtm-tablette-2,
  .com-content-category-blog.gtm-tablette-12,
  .moduletable.gtm-tablette-2,
  form.gtm-tablette-2 {
    grid-column: span 2
  }

  .com-content-article.gtm-tablette-3,
  .com-content-category-blog.gtm-tablette-3,
  .moduletable.gtm-tablette-3,
  form.gtm-tablette-3 {
    grid-column: span 3
  }

  .com-content-article.gtm-tablette-4,
  .com-content-category-blog.gtm-tablette-4,
  .moduletable.gtm-tablette-4,
  form.gtm-tablette-4 {
    grid-column: span 4
  }

  .com-content-article.gtm-tablette-5,
  .com-content-category-blog.gtm-tablette-5,
  .moduletable.gtm-tablette-5,
  form.gtm-tablette-5 {
    grid-column: span 5
  }

  .com-content-article.gtm-tablette-6,
  .com-content-category-blog.gtm-tablette-6,
  .moduletable.gtm-tablette-6,
  form.gtm-tablette-6 {
    grid-column: span 6
  }

  .com-content-article.gtm-tablette-7,
  .com-content-category-blog.gtm-tablette-7,
  .moduletable.gtm-tablette-7,
  form.gtm-tablette-7 {
    grid-column: span 7
  }

  .com-content-article.gtm-tablette-8,
  .com-content-category-blog.gtm-tablette-8,
  .moduletable.gtm-tablette-8,
  form.gtm-tablette-8 {
    grid-column: span 8
  }

  .com-content-article.gtm-tablette-9,
  .com-content-category-blog.gtm-tablette-9,
  .moduletable.gtm-tablette-9,
  form.gtm-tablette-9 {
    grid-column: span 9
  }

  .com-content-article.gtm-tablette-10,
  .com-content-category-blog.gtm-tablette-10,
  .moduletable.gtm-tablette-10,
  form.gtm-tablette-10 {
    grid-column: span 10
  }

  .com-content-article.gtm-tablette-11,
  .com-content-category-blog.gtm-tablette-11,
  .moduletable.gtm-tablette-11,
  form.gtm-tablette-11 {
    grid-column: span 11
  }

  .com-content-article.gtm-tablette-12,
  .com-content-category-blog.gtm-tablette-12,
  .moduletable.gtm-tablette-12,
  form.gtm-tablette-12 {
    grid-column: span 12
  }
}

/* Grands appareils (grandes tablettes, ordinateurs de bureau, 992px et plus) */
@media (min-width : 992px) {

  .com-content-article.gtm-tablette-plus-1,
  .com-content-category-blog.gtm-tablette-plus-1,
  .moduletable.gtm-tablette-plus-1,
  form.gtm-tablette-plus-1 {
    grid-column: span 1
  }

  .com-content-article.gtm-tablette-plus-2,
  .com-content-category-blog.gtm-tablette-plus-2,
  .moduletable.gtm-tablette-plus-2,
  form.gtm-tablette-plus-2 {
    grid-column: span 2
  }

  .com-content-article.gtm-tablette-plus-3,
  .com-content-category-blog.gtm-tablette-plus-3,
  .moduletable.gtm-tablette-plus-3,
  form.gtm-tablette-plus-3 {
    grid-column: span 3
  }

  .com-content-article.gtm-tablette-plus-4,
  .com-content-category-blog.gtm-tablette-plus-4,
  .moduletable.gtm-tablette-plus-4,
  form.gtm-tablette-plus-4 {
    grid-column: span 4
  }

  .com-content-article.gtm-tablette-plus-5,
  .com-content-category-blog.gtm-tablette-plus-5,
  .moduletable.gtm-tablette-plus-5,
  form.gtm-tablette-plus-5 {
    grid-column: span 5
  }

  .com-content-article.gtm-tablette-plus-6,
  .com-content-category-blog.gtm-tablette-plus-6,
  .moduletable.gtm-tablette-plus-6,
  form.gtm-tablette-plus-6 {
    grid-column: span 6
  }

  .com-content-article.gtm-tablette-plus-7,
  .com-content-category-blog.gtm-tablette-plus-7,
  .moduletable.gtm-tablette-plus-7,
  form.gtm-tablette-plus-7 {
    grid-column: span 7
  }

  .com-content-article.gtm-tablette-plus-8,
  .com-content-category-blog.gtm-tablette-plus-8,
  .moduletable.gtm-tablette-plus-8,
  form.gtm-tablette-plus-8 {
    grid-column: span 8
  }

  .com-content-article.gtm-tablette-plus-9,
  .com-content-category-blog.gtm-tablette-plus-9,
  .moduletable.gtm-tablette-plus-9,
  form.gtm-tablette-plus-9 {
    grid-column: span 9
  }

  .com-content-article.gtm-tablette-plus-10,
  .com-content-category-blog.gtm-tablette-plus-10,
  .moduletable.gtm-tablette-plus-10,
  form.gtm-tablette-plus-10 {
    grid-column: span 10
  }

  .com-content-article.gtm-tablette-plus-11,
  .com-content-category-blog.gtm-tablette-plus-11,
  .moduletable.gtm-tablette-plus-11,
  form.gtm-tablette-plus-11 {
    grid-column: span 11
  }

  .com-content-article.gtm-tablette-plus-12,
  .com-content-category-blog.gtm-tablette-plus-12,
  .moduletable.gtm-tablette-plus-12,
  form.gtm-tablette-plus-12 {
    grid-column: span 12
  }
}

/* Appareils très grands (grands ordinateurs, 1200px et plus) */
@media (min-width : 1200px) {

  .com-content-article.gtm-ordinateur-1,
  .com-content-category-blog.gtm-ordinateur-1,
  .moduletable.gtm-ordinateur-1,
  form.gtm-ordinateur-1 {
    grid-column: span 1
  }

  .com-content-article.gtm-ordinateur-2,
  .com-content-category-blog.gtm-ordinateur-2,
  .moduletable.gtm-ordinateur-2,
  form.gtm-ordinateur-2 {
    grid-column: span 2
  }

  .com-content-article.gtm-ordinateur-3,
  .com-content-category-blog.gtm-ordinateur-3,
  .moduletable.gtm-ordinateur-3,
  form.gtm-ordinateur-3 {
    grid-column: span 3
  }

  .com-content-article.gtm-ordinateur-4,
  .com-content-category-blog.gtm-ordinateur-4,
  .moduletable.gtm-ordinateur-4,
  form.gtm-ordinateur-4 {
    grid-column: span 4
  }

  .com-content-article.gtm-ordinateur-5,
  .com-content-category-blog.gtm-ordinateur-5,
  .moduletable.gtm-ordinateur-5,
  form.gtm-ordinateur-5 {
    grid-column: span 5
  }

  .com-content-article.gtm-ordinateur-6,
  .com-content-category-blog.gtm-ordinateur-6,
  .moduletable.gtm-ordinateur-6,
  form.gtm-ordinateur-6 {
    grid-column: span 6
  }

  .com-content-article.gtm-ordinateur-7,
  .com-content-category-blog.gtm-ordinateur-7,
  .moduletable.gtm-ordinateur-7,
  form.gtm-ordinateur-7 {
    grid-column: span 7
  }

  .com-content-article.gtm-ordinateur-8,
  .com-content-category-blog.gtm-ordinateur-8,
  .moduletable.gtm-ordinateur-8,
  form.gtm-ordinateur-8 {
    grid-column: span 8
  }

  .com-content-article.gtm-ordinateur-9,
  .com-content-category-blog.gtm-ordinateur-9,
  .moduletable.gtm-ordinateur-9,
  form.gtm-ordinateur-9 {
    grid-column: span 9
  }

  .com-content-article.gtm-ordinateur-10,
  .com-content-category-blog.gtm-ordinateur-10,
  .moduletable.gtm-ordinateur-10,
  form.gtm-ordinateur-10 {
    grid-column: span 10
  }

  .com-content-article.gtm-ordinateur-11,
  .com-content-category-blog.gtm-ordinateur-11,
  .moduletable.gtm-ordinateur-11,
  form.gtm-ordinateur-11 {
    grid-column: span 11
  }

  .com-content-article.gtm-ordinateur-12,
  .com-content-category-blog.gtm-ordinateur-12,
  .moduletable.gtm-ordinateur-12,
  form.gtm-ordinateur-12 {
    grid-column: span 12
  }
}

/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  PAGE POSITIONS
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */
#positions .gtm-bloc-section {
  margin-bottom: var(--space-lg);
}

#positions .gtm-mod-matrice {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 20px;
  row-gap: 20px;
}

.gtm-mod-hero {
  grid-column: span 12;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: var(--space-xs) var(--space-sm);
  text-align: center;
}

.gtm-mod-top-content, .gtm-mod-bottom-content, .gtm-mod-content-left, .gtm-mod-content-article, .gtm-mod-content-right, .gtm-mod-hero, .gtm-mod-footer {
  grid-column: span 12;
  min-height: 300px;
  border-radius: var(--border-radius-small);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: var(--space-xs) var(--space-sm);
}

.gtm-mod-hero {
    background-color: #f0a8e3;
    transition: background-color .2s ease-in-out;
}

.gtm-mod-hero:hover {
    background-color: #ff00d0;
}

.gtm-mod-top-content {
  background-color: #91ebbe;
  transition: background-color .2s ease-in-out;
}

.gtm-mod-top-content:hover {
  background-color: #00e974;
}

.gtm-mod-content-left, .gtm-mod-content-article, .gtm-mod-content-right {
  background-color: #d3ec7a;
  transition: background-color .2s ease-in-out;
}

.gtm-mod-content-left:hover, .gtm-mod-content-article:hover, .gtm-mod-content-right:hover {
  background-color: #e1ff00;
}

.gtm-mod-bottom-content {
  background-color: #a8def0;
  transition: background-color .2s ease-in-out;
}

.gtm-mod-bottom-content:hover {
  background-color: #00b0ea;
}

.gtm-mod-footer {
    background-color: #f0a8a8;
    transition: background-color .2s ease-in-out;
}

.gtm-mod-footer:hover {
    background-color: #e91f1f;
}


#positions .gtm-important {
  color: red;
  font-family: var(--font-heading);
}

.gtm-1 {grid-column: span 1;}.gtm-2 {grid-column: span 2;}.gtm-3 {grid-column: span 3;}.gtm-4 {grid-column: span 4;}.gtm-5 {grid-column: span 5;}.gtm-6 {grid-column: span 6;}.gtm-7 {grid-column: span 7;}.gtm-8 {grid-column: span 8;}.gtm-9 {grid-column: span 9;}.gtm-10 {grid-column: span 10;}.gtm-11 {grid-column: span 11;}.gtm-12 {grid-column: span 12;}

@media screen and (min-width: 768px) {
  .gtm-tablette-1 {grid-column: span 1;} .gtm-tablette-2 {grid-column: span 2;}.gtm-tablette-3 {grid-column: span 3;}.gtm-tablette-4 {grid-column: span 4;}.gtm-tablette-5 {grid-column: span 5;}.gtm-tablette-6 {grid-column: span 6;}.gtm-tablette-7 {grid-column: span 7;}.gtm-tablette-8 {grid-column: span 8;}.gtm-tablette-9 {grid-column: span 9;}.gtm-tablette-10 {grid-column: span 10;}.gtm-tablette-11 {grid-column: span 11;}.gtm-tablette-12 {grid-column: span 12;}
}

@media screen and (min-width: 992px) {
  .gtm-tablette-plus-1 {grid-column: span 1;}.gtm-tablette-plus-2 {grid-column: span 2;}.gtm-tablette-plus-3 {grid-column: span 3;}.gtm-tablette-plus-4 {grid-column: span 4;}.gtm-tablette-plus-5 {grid-column: span 5;}.gtm-tablette-plus-6 {grid-column: span 6;}.gtm-tablette-plus-7 {grid-column: span 7;}.gtm-tablette-plus-8 {grid-column: span 8;}.gtm-tablette-plus-9 {grid-column: span 9;}.gtm-tablette-plus-10 {grid-column: span 10;}.gtm-tablette-plus-11 {grid-column: span 11;}.gtm-tablette-plus-12 {grid-column: span 12;}
}

@media screen and (min-width: 992px) {
  .gtm-ordinateur-1 {grid-column: span 1;}.gtm-ordinateur-2 {grid-column: span 2;}.gtm-ordinateur-3 {grid-column: span 3;}.gtm-ordinateur-4 {grid-column: span 4;}.gtm-ordinateur-5 {grid-column: span 5;}.gtm-ordinateur-6 {grid-column: span 6;}.gtm-ordinateur-7 {grid-column: span 7;}.gtm-ordinateur-8 {grid-column: span 8;}.gtm-ordinateur-9 {grid-column: span 9;}.gtm-ordinateur-10 {grid-column: span 10;}.gtm-ordinateur-11 {grid-column: span 11;}.gtm-ordinateur-12 {grid-column: span 12;}
}



/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  DARK MODE
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */

.gtm-dark-mode .gtm-custom {
  padding: var(--space-0);
}

/* Mode sombre selon la préférence système ou classe active */
@media (prefers-color-scheme: dark) {
  body {
    background-color: var(--color-background);
    color: var(--color-text-light);
  }
}

/* Si dark-mode est désactivé, on neutralise le dark mode système */
body:not(.dark-mode) {
  background-color: initial !important;
  color: initial !important;
}

body.dark-mode {
  background-color: var(--color-background);
  color: var(--color-text-light);
}


.dark-mode a {
  color: var(--color-link-light);
}

body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 {
  color: var(--color-primary);
}

body.dark-mode .gtm-btn-primary {
  color: var(--color-text-light);
}

/* Style du bouton toggle */
.dark-mode-toggle {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 1000;
}

.switch {
  position: relative;
  display: inline-block;
  width: 34px;
  height: 20px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var( --color-background-light);
  transition: background-color 0.4s;
  border-radius: var(--border-radius);
}

.slider:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: var(--color-link-light);
  transition: transform 0.4s;
  border-radius: 50%;
}

input:checked+.slider {
  background-color: #007bff;
}

input:checked+.slider:before {
  transform: translateX(14px);
  background-color: var(--color-text-light);
}

/* Couleurs du mode sombre pour le switch */
body.dark-mode .slider {
  background-color: #80cbc4;
}

body.dark-mode input:checked+.slider {
  background-color: #ffca28;
}

/* -------- dark mode copyright ------------ */

body.dark-mode .gtm-copyright {
  color: whitesmoke;
}

body.dark-mode .gtm-copyright-dark {
  display: block;
}

body.dark-mode .gtm-copyright-standard {
  display: none;
}


/* #endregion */

/* #region STYLE ----------------------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   LOGO RESTO POP
-------------------------------------------------------------------------------- */
.gtm-logo-restopop {
  width: 90px;
  margin-top: 10px;
  margin-left: 10px;
  padding: 0;
}

#le-resto-pop .gtm-bottom3 {
    margin-top: 100px;
}

@media screen and (min-width: 576px) and (max-width: 767px) { 
  #le-resto-pop .gtm-cta-implication-gauche, #le-resto-pop .gtm-cta-implication-droite {
    flex-direction: column !important;
  }
}

@media screen and (min-width: 992px) { 
  #le-resto-pop .gtm-bottom3 {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4%;
  }
}

@media screen and (min-width: 1200px) { 
  /* .gtm-logo-restopop {
    display: none;
  } */
}

/* --------------------------------------------------------------------------------
   EN-TÊTE - HERO
-------------------------------------------------------------------------------- */
.gtm-section-en-tete {
  position: relative;
  margin-top: 11%;
}

img.gtm-image-hero-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  border-radius: 25px;
  transform: translate(-75%, -50%);
}

.gtm-image-hero-2 {
  position: absolute;
  top: 0;
  left: 50%;
  width: 60%;
  border-radius: 25px;
  transform: translate(-50%, -50%);
}

.gtm-image-hero-3 {
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  border-radius: 25px;
  transform: translate(75%, -50%);
}

@media screen and (min-width: 576px) { 
  img.gtm-image-hero-1 {
    width: 50%;
    transform: translate(-60%, -50%);
  }

  .gtm-image-hero-2 {
    width: 50%;
  }

  .gtm-image-hero-3 {
    width: 50%;
    transform: translate(60%, -50%);
  }
}

@media screen and (min-width: 992px) { 
  img.gtm-image-hero-1 {
    width: 40%;
    transform: translate(-35%, -50%);
  }

  .gtm-image-hero-2 {
    width: 40%;
  }

  .gtm-image-hero-3 {
    width: 40%;
    transform: translate(35%, -50%);
  }
}


@media screen and (min-width: 1400px) { 
  .gtm-section-en-tete {
    margin-top: 125px;
    max-width: 1230px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* --------------------------------------------------------------------------------
  BACKGROUND JAUNE
-------------------------------------------------------------------------------- */
.gtm-bloc-jaune {
  background-color: var(--color-background-light);
  padding: 25px;
  color: var(--color-text-light);
  box-shadow: -1px 2px 2px 0px rgba(0,0,0,0.24);
  -webkit-box-shadow: -1px 2px 2px 0px rgba(0,0,0,0.24);
  -moz-box-shadow: -1px 2px 2px 0px rgba(0,0,0,0.24);
}

.gtm-bloc-jaune h2 {
  color: var(--color-text-light);
  margin-top: 20%;
  margin-bottom: 5%;
}

.gtm-bloc-jaune h3 {
  color: var(--color-text-light);
}

.gtm-bloc-jaune p {
  color: var(--color-text-light);
  text-align: center;
}

.gtm-bulle-jaune {
  background-color: var(--color-background-light);
  padding: 30px 25px;
  color: var(--color-text-light);
  max-width: 70%;
  margin: 0 auto;
  border-radius: var(--border-radius-25) var(--border-radius-25) 0 var(--border-radius-25);
  box-shadow: -1px 2px 2px 0px rgba(0,0,0,0.24);
  -webkit-box-shadow: -1px 2px 2px 0px rgba(0,0,0,0.24);
  -moz-box-shadow: -1px 2px 2px 0px rgba(0,0,0,0.24);
}

.gtm-bulle-jaune p {
  color: var(--color-text-light);
  text-align: center;
}

@media screen and (min-width: 576px) { 
  .gtm-bloc-jaune {
    padding: 30px 50px;
  }
}

@media screen and (min-width: 992px) { 
  .gtm-bloc-jaune {
    background-color: #fff;
    padding: 100px 0 0 0;
    color: var(--color-text-light);
    box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0);
    -webkit-box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0);
    -moz-box-shadow: -1px 2px 2px 0px rgba(0,0,0,0);
  }

  .gtm-bloc-jaune h2 {
    color: var(--color-primary);
    margin-top: 10%;
    margin-bottom: 50px;
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
  }

  .gtm-bloc-jaune h3 {
    color: var(--color-primary);
  }
  
  .gtm-bloc-jaune p {
    background-color: var(--color-background-light);
    padding: 50px;
    border-radius: var(--border-radius-50);
    margin-top: 40px;
    box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0.24);
    -webkit-box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0.24);
    -moz-box-shadow: -1px 2px 2px 0px rgba(0,0,0,0.24);
  }

  .gtm-bloc-50 {
    max-width: 70%;
    margin: 0 auto;  
  }

  .gtm-bloc-70 {
    max-width: 70%;
    margin: 0 auto;  
  }

  .gtm-bulle-jaune {
    border-radius: var(--border-radius-50);
    padding: 50px;
  }

  .gtm-bulle-jaune p {
    text-align: left;
  }
}

@media screen and (min-width: 1500px) { 
  .gtm-bloc-70, .gtm-bulle-jaune {
    max-width: 1000px;
  }
}

/* --------------------------------------------------------------------------------
   CENTRAL - SLIDER INFOS
-------------------------------------------------------------------------------- */
.gtm-central {
  position: relative;
  margin: auto;
}

.gtm-central h2, .gtm-central p {
  color: var(--color-text-light);
}

.gtm-central h2 {
  font-size: var(--font-size-4xl);
}

.gtm-central-inside p {
  font-size: var(--font-size-2xl);
}

.gtm-central .gtm-custom {
  border-radius: 60px 60px 0 60px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.slider-wrapper {
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  position: absolute;
  left: 0;
}

.slider-wrapper * {
  box-sizing: border-box;
}

.slider-wrapper p {
  color: #fff;
  filter: blur(2px);  
}

.slider-wrapper p.gtm-p-special {
  font-size: var(--font-size-4xl);
}

.gtm-boite-lunch p {
  margin-bottom: 0;
}

/* rail horizontal */
.slider-infos {
  display: flex;
  gap: 0;
  padding: 5px 0;
  margin: 0;
  transition: transform 0.6s ease;
  will-change: transform;
  margin-top: var(--space-md);
}

/* une carte */
.slider-infos .slide {
  flex: 0 0 75%;
  padding: 0 12px;
  margin: 0 !important;
  width: auto !important;
  position: relative;
  min-height: 200px;
}

/* fond */
.slide-bg {
  position: absolute;
  inset: 0 12px;
  border-radius: 45px;
  background-color: #213C5A;
  box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0.24);
  transition: background-color 0.3s ease;
}

/* slide mise de l’avant */
.slide.is-active .slide-bg {
  background-color: #F2A93B;
}

.slide.is-active p {
  filter: blur(0px);
  color: #fff;
}

/* Disable transitions during reset */
.disable-transitions .slide-bg {
  transition: none !important;
}

/* contenu */
.slide-content {
  position: relative;
  z-index: 1;
  color: #fff;
  padding: 20px 32px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.gtm-central p.gtm-p-special {
  font-size: var(--font-size-3xl);
  font-weight: 600;
}

@media screen and (min-width: 768px) { 
  .slider-infos .slide {
      flex: 0 0 33.3333%;
  }
}

@media screen and (min-width: 992px) { 
  .slide-content {
    padding: 50px 40px;
  }
}

/* --------------------------------------------------------------------------------
   ACCUEIL
-------------------------------------------------------------------------------- */

#restaurant-populaire-de-victoriaville h1 {
  text-transform: uppercase;
  margin-top: 30%;
}

.gtm-section-jaune-accueil h2 {
  text-align: left;
  color: #fff;
  margin-top: var(--space-lg);
}

.gtm-section-jaune-accueil p {
  color: #fff;
}

.gtm-section-jaune-accueil {
  padding: var(--space-md) var(--space-lg) var(--space-xl) var(--space-lg);
  background-color: var(--color-background-light);
}

#restaurant-populaire-de-victoriaville .gtm-central-inside h2, #restaurant-populaire-de-victoriaville .gtm-central-inside p {
  text-align: center;
}

#restaurant-populaire-de-victoriaville .gtm-bottom3 {
  margin-top: 50px;
}

#restaurant-populaire-de-victoriaville .gtm-titre-bg-jaune h2, #restaurant-populaire-de-victoriaville .gtm-titre-bg-jaune-reverse h2 {
  text-align: left;
}

.gtm-section-en-tete-accueil {
  background-color: var(--color-background);
  color: var(--color-text-light);
  box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0);
  -webkit-box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0);
  -moz-box-shadow: -1px 2px 2px 0px rgba(0,0,0,0);
  border-radius: var(--border-radius-25) var(--border-radius-25) 0 var(--border-radius-25);
  /* padding: 30px 25px; */
  box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0.24);
  -webkit-box-shadow: -1px 2px 2px 0px rgba(0, 0, 0, 0.24);
  -moz-box-shadow: -1px 2px 2px 0px rgba(0,0,0,0.24);
  position: relative;
  margin-top: var(--space-5xl);
}

.gtm-section-en-tete-accueil img {
  width: 175px;
  position: absolute;
  top: 0;
  right: 50%;
  transform: translate(50%, -44%);
}

.gtm-section-en-tete-accueil h2 {
  margin-top: 95px;
  color: #fff;
  text-align: center;
}

.gtm-section-en-tete-accueil p {
  color: #fff;
  text-align: center;
}

.gtm-bloc-bleu-accueil {
  padding: 30px 25px;
}

.gtm-section-en-tete-accueil, .gtm-ajout-margin {
  margin-bottom: var(--space-2xl);
}

@media screen and (min-width: 576px) { 
  .gtm-section-en-tete-accueil img {
    width: 250px;
  }

  .gtm-section-en-tete-accueil h2 {
    margin-top: 135px;
  }
}

@media screen and (min-width: 992px) { 
  #restaurant-populaire-de-victoriaville h1 {
    margin-top: 21%;
    padding: var(--space-lg) var(--space-4xl) var(--space-xl) var(--space-4xl);
  }

  .gtm-section-jaune-accueil {
    margin-left: 10%;
    margin-right: 10%;
    border-radius: 70px;
    padding: var(--space-lg) var(--space-4xl) var(--space-xl) var(--space-4xl);
  }

  #restaurant-populaire-de-victoriaville .gtm-box-bottom-3, #le-resto-pop .gtm-box-bottom-3, #parrainer-une-boite-a-lunch .gtm-box-bottom-3  {
    padding: 0;
  }

  #restaurant-populaire-de-victoriaville .gtm-bottom3 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 2%;
  }

  #restaurant-populaire-de-victoriaville .gtm-horaire {
    grid-area: 1 / 1 / 2 / 7;
  }

  #restaurant-populaire-de-victoriaville .gtm-heures-ouverture {
    grid-area: 1 / 7 / 2 / 13;
  }

  .gtm-accueil .gtm-bloc-jaune h2 {
    color: #fff;
    text-align: left;
  }

  .gtm-accueil .gtm-bloc-jaune p {
    background-color: transparent;
    margin-top: 40px;
    text-align: left;
  }

  .gtm-section-en-tete-accueil {
    border-radius: 0 var(--border-radius-50) var(--border-radius-50) 0;
    padding: var(--space-5xl) var(--space-5xl) var(--space-5xl) var(--space-xl);
    margin-right: 25%;
  }

  .gtm-section-en-tete-accueil h2, .gtm-section-en-tete-accueil p {
    text-align: left;
  }

  .gtm-section-en-tete-accueil img {
    top: 50%;
    right: 0;
    transform: rotate(-90deg) translate(35%, 70%);
    width: 450px;
  }

  .gtm-bloc-bleu-accueil {
    padding: 0;
  }

  .gtm-bloc-bleu-accueil h2 {
    margin-top: var(--space-xl);
    margin-right: var(--space-5xl);
  }

  .gtm-section-en-tete-accueil p {
    margin-right: var(--space-5xl);
  }
}

@media screen and (min-width: 1300px) {
  .gtm-section-en-tete-accueil img {
    width: 50%;
    max-width: 600px;
  }
}

@media screen and (min-width: 1600px) { 
  .gtm-box-bottom-1, .gtm-box-bottom-2, .gtm-box-bottom-3, #devenir-benevole .gtm-box-bottom-6, #notre-equipe .gtm-box-bottom-4 {
    padding-left: 10%;
    padding-right: 10%;
  }

  #devenir-benevole .gtm-box-bottom-6, #notre-equipe .gtm-box-bottom-4 {
    margin-bottom: var(--space-xl);
  }

  #notre-equipe .gtm-box-bottom-4 {
    margin-top: 100px;
  }

  #restaurant-populaire-de-victoriaville .gtm-bottom3, #le-resto-pop .gtm-bottom3 {
    padding-left: 10%;
  }

  #restaurant-populaire-de-victoriaville .gtm-horaire, #le-resto-pop .gtm-horaire {
    padding-left: 0%;
  }

  .gtm-bloc-bleu-accueil {
    padding-left: 15%;
  }

  .gtm-section-en-tete-accueil {
    padding: var(--space-5xl) var(--space-5xl) var(--space-5xl) 0;
  }
}

@media screen and (min-width: 2550px) { 
  .gtm-titre-bg-jaune {
    border-radius: 50px 50px 0 50px !important;
  }

  .gtm-section-jaune-accueil {
    border-radius: 70px 70px 0 70px;
  }

  .gtm-section-en-tete-accueil {
    border-radius: var(--border-radius-50) var(--border-radius-50) var(--border-radius-50) 0;
  }
}

/* --------------------------------------------------------------------------------
   MISSION, VISION, HISTOIRE - ACCORDÉONS
-------------------------------------------------------------------------------- */
#rlta-en-1983, #rlta-depuis-2014, #rlta-aujourdhui {
    width: 250px;
    height: 60px;
    margin: 30px auto;
    border-radius: 99px;
    background-color: var(--color-background);
    border: var(--color-background);
}

#rlta-en-1983[aria-expanded="true"], #rlta-en-1983[data-rlta-state="open"], #rlta-depuis-2014[aria-expanded="true"], #rlta-depuis-2014[data-rlta-state="open"], #rlta-aujourdhui[aria-expanded="true"], #rlta-aujourdhui[data-rlta-state="open"] {
    width: 100%;
    max-width: 900px;
    height: 80px;
    margin: 0 auto;
    border-radius: 30px 30px 0 0;
    padding-bottom: 0;
}

#rlta-en-1983 h3, #rlta-depuis-2014 h3, #rlta-aujourdhui h3 {
    color: #fff;
    font-size: var(--font-size-4xl);
}

.gtm-margin-plus {
    margin-top: var(--space-2xl);
}

@media screen and (min-width: 375px) { 
  #rlta-en-1983, #rlta-depuis-2014, #rlta-aujourdhui {
    width: 270px;
  }
}

@media screen and (min-width: 450px) { 
  #rlta-en-1983, #rlta-depuis-2014, #rlta-aujourdhui {
    width: 350px;
  }
}

/* --------------------------------------------------------------------------------
   ÉQUIPE - ACCORDÉONS
-------------------------------------------------------------------------------- */
#rlta-notre-equipe, #rlta-notre-ca, #rlta-nos-benevoles {
    width: 300px;
    height: 60px;
    margin: 30px auto;
    border-radius: 99px;
    background-color: var(--color-background);
    border: var(--color-background);
}

#rlta-notre-equipe[aria-expanded="true"], #rlta-notre-equipe[data-rlta-state="open"], #rlta-notre-ca[aria-expanded="true"], #rlta-notre-ca[data-rlta-state="open"], #rlta-nos-benevoles[aria-expanded="true"], #rlta-nos-benevoles[data-rlta-state="open"] {
    width: 100%;
    max-width: 900px;
    height: 80px;
    margin: 0 auto;
    border-radius: 30px 30px 0 0;
    padding-bottom: 0;
}

#rlta-notre-equipe h3, #rlta-notre-ca h3, #rlta-nos-benevoles h3 {
    color: #fff;
    font-size: var(--font-size-4xl);
}

div#rlta-panel-notre-equipe ul li, div#rlta-panel-notre-ca ul li {
    color: #fff;
    font-size: var(--font-size-2xl);
    padding-top: var(--space-md);
}

.gtm-margin-plus {
    margin-top: var(--space-2xl);
}

@media screen and (min-width: 375px) { 
  #rlta-notre-equipe, #rlta-notre-ca, #rlta-nos-benevoles {
    width: 300px;
  }
}

@media screen and (min-width: 450px) { 
  #rlta-notre-equipe, #rlta-notre-ca, #rlta-nos-benevoles {
    width: 350px;
  }
}

/* ----- Formulaire ----- */
.formResponsive input, .formResponsive textarea {
    width: 100%;
}

/* --------------------------------------------------------------------------------
   COMMENT ÇA FONCTIONNE - ACCORDÉONS
-------------------------------------------------------------------------------- */
.gtm-central-inside {
  padding: 40px 30px 80px 30px;
}

/* accordéon chiffres */
#rlta-1, #rlta-2, #rlta-3 {
    width: 60px;
    height: 60px;
    margin: 30px auto;
    border-radius: 99px;
    background-color: var(--color-background);
    border: var(--color-background);
}

#rlta-1[aria-expanded="true"], #rlta-1[data-rlta-state="open"], #rlta-2[aria-expanded="true"], #rlta-2[data-rlta-state="open"], #rlta-3[aria-expanded="true"], #rlta-3[data-rlta-state="open"] {
    width: 100%;
    max-width: 900px;
    height: 80px;
    margin: 0 auto;
    border-radius: 30px 30px 0 0;
    padding-bottom: 0;
}

#rlta-1 h3, #rlta-2 h3, #rlta-3 h3 {
    color: #fff;
    font-size: var(--font-size-4xl);
}

#rlta-2 h3, #rlta-3 h3 {
    transform: translateX(-17%);
}

#rlta-1[aria-expanded="true"] h3, #rlta-1[data-rlta-state="open"] h3, #rlta-2[aria-expanded="true"] h3, #rlta-2[data-rlta-state="open"] h3, #rlta-3[aria-expanded="true"] h3, #rlta-3[data-rlta-state="open"] h3 {
    font-size: var(--font-size-5xl);
    transform: translateX(0);
}

[data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=accordions]>[data-rlta-element=panel], [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=tabs]>[data-rlta-element=panels]>[data-rlta-element=panel] {
    background: var(--color-background);
    border: 1px solid var(--color-background);
    border-radius: 30px;
    width: 100%;
    max-width: 900px;
    margin: 0 auto 30px auto;
}

[data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=accordions]>[data-rlta-element=panel] p, [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=tabs]>[data-rlta-element=panels]>[data-rlta-element=panel] p {
    color: #fff;
    text-align: center;
}

[data-rlta-element=container][data-rlta-state=ready][data-rlta-type=accordions]>[data-rlta-element=panel]>[data-rlta-element=panel-content], [data-rlta-element=container][data-rlta-state=ready][data-rlta-type=tabs]>[data-rlta-element=panels]>[data-rlta-element=panel]>[data-rlta-element=panel-content] {
    padding: 0 0 1.25em 0 !important;
}

[data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=accordions]>[data-rlta-element=button][data-rlta-state="open"] {
    padding: 1rem 1.25rem 1.25rem 1.25rem !important;
}

@media screen and (min-width: 576px) { 
  .gtm-central-inside {
    padding: 40px 50px 80px 50px;
  }

  #rlta-1[aria-expanded="true"], #rlta-1[data-rlta-state="open"], #rlta-2[aria-expanded="true"], #rlta-2[data-rlta-state="open"], #rlta-3[aria-expanded="true"], #rlta-3[data-rlta-state="open"] {
    height: 90px;  
  }

  [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=accordions]>[data-rlta-element=button][data-rlta-state="open"] {
    padding: 1.25rem 1.25rem 1.25rem 1.25rem !important;
  }
}

@media screen and (min-width: 768px) { 
  .gtm-central h2 {
    margin-bottom: 70px;
  }
  #rlta-1[aria-expanded="true"], #rlta-1[data-rlta-state="open"], #rlta-2[aria-expanded="true"], #rlta-2[data-rlta-state="open"], #rlta-3[aria-expanded="true"], #rlta-3[data-rlta-state="open"] {
    padding-bottom: 10px;
  }

  [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=accordions]>[data-rlta-element=button][data-rlta-state="open"] {
    padding: 1.45rem 1.25rem 1.25rem 1.25rem !important;
  }
}

@media screen and (min-width: 992px) {
    #rlta-1[aria-expanded="true"], #rlta-1[data-rlta-state="open"], #rlta-2[aria-expanded="true"], #rlta-2[data-rlta-state="open"], #rlta-3[aria-expanded="true"], #rlta-3[data-rlta-state="open"] {
        height: 100px;
    }
}

@media screen and (min-width: 1200px) { 
  [data-rlta-element=container][data-rlta-state=ready][data-rlta-theme=neutral][data-rlta-type=accordions]>[data-rlta-element=button][data-rlta-state="open"] {
    padding: 1.55rem 1.25rem 1.25rem 1.25rem !important;
  }
}

@media screen and (min-width: 1500px) {
    #rlta-1[aria-expanded="true"], #rlta-1[data-rlta-state="open"], #rlta-2[aria-expanded="true"], #rlta-2[data-rlta-state="open"], #rlta-3[aria-expanded="true"], #rlta-3[data-rlta-state="open"] {
        height: 110px;
    }
}

@media screen and (min-width: 2000px) {
    #rlta-1[aria-expanded="true"], #rlta-1[data-rlta-state="open"], #rlta-2[aria-expanded="true"], #rlta-2[data-rlta-state="open"], #rlta-3[aria-expanded="true"], #rlta-3[data-rlta-state="open"] {
        height: 120px;
    }
}

/* ---------- Slider ---------- */
.gtm-fonctionne-box {
  margin-top: 290px;
}

.gtm-fonctionne-box .slider-wrapper {
  top: -265px;
}

@media screen and (min-width: 768px) { 
  .gtm-fonctionne-box {
    margin-top: 385px;
  }

  .gtm-fonctionne-box .slider-wrapper {
    top: -360px;
  }
}

@media screen and (min-width: 771px) { 
  .gtm-fonctionne-box {
    margin-top: 355px;
  }

  .gtm-fonctionne-box .slider-wrapper {
    top: -330px;
  }
}

@media screen and (min-width: 792px) {
  .gtm-fonctionne-box {
    margin-top: 325px;
  }

  .gtm-fonctionne-box .slider-wrapper {
    top: -295px;
  }
}

@media screen and (min-width: 992px) { 
  .gtm-fonctionne-box {
    margin-top: 200px;
  }

  .gtm-fonctionne-box .slider-wrapper {
    top: 0;
    transform: translateY(-50%);
  }

  .gtm-fonctionne {
    margin-top: 150px;
  }
}

/* --------------------------------------------------------------------------------
   Le Resto Pop
-------------------------------------------------------------------------------- */
#le-resto-pop .gtm-bottom6 {
    margin-top: 50px;
    margin-bottom: 50px;
}

.gtm-nourrissants {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

#le-resto-pop .gtm-titre-bg-jaune h2, #le-resto-pop .gtm-titre-bg-jaune-reverse h2 {
    text-align: left;
}

@media screen and (min-width: 610px) { 
  .gtm-titre-bg-jaune-reverse h2 {
    border-radius: 70px 0 0 70px;
  }
}

@media screen and (min-width: 992px) {
  #le-resto-pop .gtm-bottom5 {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4%;
  }

  #le-resto-pop .gtm-bottom6 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4%;
    margin-top: 100px;
    margin-bottom: 100px;
  }

  /* .gtm-titre-bg-jaune-reverse h2 {
    border-radius: 0 70px 70px 0;
    margin-left: 0;
    text-align: left;
  } */
}

/* ---------- Slider ---------- */
.gtm-nourrissants-box {
  margin-top: 300px;
}

.gtm-nourrissants-box .slider-wrapper {
  top: -265px !important;
}

.gtm-central-inside li {
  color: #fff;
}

#le-resto-pop .gtm-nourrissants-box .slider-wrapper {
  top: -285px !important;
}

@media screen and (min-width: 378px) { 
  .gtm-nourrissants-box {
    margin-top: 300px;
  }

  .gtm-nourrissants-box .slider-wrapper {
    top: -255px !important;
  }

  #le-resto-pop .gtm-nourrissants-box .slider-wrapper {
    top: -275px !important;
  }
}

@media screen and (min-width: 768px) { 
  .gtm-nourrissants-box {
    margin-top: 375px;
  }

  .gtm-nourrissants-box .slider-wrapper {
    top: -330px !important;
  }

  #le-resto-pop .gtm-nourrissants-box .slider-wrapper {
    top: -350px !important;
  }
}

@media screen and (min-width: 888px) { 
  .gtm-nourrissants-box {
    margin-top: 340px;
  }

  .gtm-nourrissants-box .slider-wrapper {
    top: -300px !important;
  }

  #le-resto-pop .gtm-nourrissants-box .slider-wrapper {
    top: -320px !important;
  }
}

@media screen and (min-width: 992px) { 
  .gtm-nourrissants-box {
    margin-top: 200px;
  }

  .gtm-nourrissants-box .slider-wrapper, #le-resto-pop .gtm-nourrissants-box .slider-wrapper {
    top: 0 !important;
    transform: translateY(-50%);
  }

  .gtm-nourrissants {
    margin-top: 150px;
  }
}

/* --------------------------------------------------------------------------------
   call-to-action - comment s'impliquer
-------------------------------------------------------------------------------- */
.gtm-cta-implication-gauche, .gtm-cta-implication-droite {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gtm-cta-implication-gauche p, .gtm-cta-implication-droite p {
  text-align: center;
}

.gtm-cta-implication-gauche img, .gtm-cta-implication-droite img {
  border-radius: var(--border-radius-25);
}

@media screen and (min-width: 576px) { 
  .gtm-cta-implication-gauche {
    flex-direction: row;
    margin: auto;
    gap: 4%;
    justify-content: space-between;
  }

  .gtm-cta-implication-droite {
    flex-direction: row-reverse;
    margin: auto;
    gap: 4%;
  }

  .gtm-cta-implication-gauche .gtm-div-implication, .gtm-cta-implication-gauche p, .gtm-cta-implication-droite .gtm-div-implication, .gtm-cta-implication-droite p {
    width: 48%;
    gap: 4%;
  }

  .gtm-cta-implication-gauche .gtm-div-implication p, .gtm-cta-implication-droite .gtm-div-implication p {
    width: 100%;
  }
}

@media screen and (min-width: 992px) { 
  .gtm-cta-implication-gauche img, .gtm-cta-implication-droite img {
    border-radius: var(--border-radius-50);
  }
}

@media screen and (min-width: 1600px) { 
  .gtm-cta-implication-gauche, .gtm-cta-implication-droite {
    margin-left: 10%;
    margin-right: 10%;
  }
}

/* --------------------------------------------------------------------------------
   Partenaires
-------------------------------------------------------------------------------- */

.gtm-partenaires {
  padding: 0 var(--space-xl);
  text-align: center;
}

/* --------------------------------------------------------------------------------
   Nous joindre
-------------------------------------------------------------------------------- */
#nous-joindre .gtm-bottom1 {
    margin-top: 50px;
}

.gtm-titre-bg-jaune {
  text-align: left;
  padding: 5px var(--space-xl);
  background-color: #F2A93B;
}

.gtm-titre-bg-jaune-reverse {
  text-align: right;
  padding: 5px var(--space-xl);
  background-color: #F2A93B;
}

.gtm-titre-bg-bleu-reverse {
  text-align: right;
  padding: 5px var(--space-xl);
  background-color: #213C5A;
  
}

.gtm-titre-bg-jaune h2, .gtm-titre-bg-jaune-reverse h2,  .gtm-titre-bg-bleu-reverse h2 {
  color: #fff;
  margin-top: var(--space-lg);
}

.gtm-horaire h3 {
  text-align: left;
}

.gtm-horaire h4 {
  margin-bottom: 0;
}

.gtm-section-bleue {
  background-color: #213C5A;
  padding: var(--space-xl);
  border-radius: var(--border-radius-25);
}

.gtm-section-bleue-haut h2, .gtm-section-bleue-haut p, .gtm-section-bleue-bas p {
    color: #fff !important;
}

.gtm-telephone, .gtm-courriel, .gtm-adresse {
  margin-left: 30px;
}

.gtm-telephone::before {
  content: "";
  display: inline-block;
  height: 20px;
  width: 20px;
  background-size: 20px 20px;
  background-image: url(/images/icone-telephone.svg);
  background-repeat: no-repeat;
  margin-left: -30px;
  margin-right: 10px;
}

.gtm-courriel::before {
  content: "";
  display: inline-block;
  height: 20px;
  width: 20px;
  background-size: 20px 20px;
  background-image: url(/images/icone-courriel.svg);
  background-repeat: no-repeat;
  margin-left: -30px;
  margin-right: 10px;
}

.gtm-adresse::before {
  content: "";
  display: inline-block;
  height: 20px;
  width: 20px;
  background-size: 20px 20px;
  background-image: url(/images/icone-adresse.svg);
  background-repeat: no-repeat;
  margin-left: -30px;
  margin-right: 10px;
}

@media screen and (min-width: 610px) { 
  .gtm-titre-bg-jaune {
    margin-right: 30%;
    border-radius: 0 70px 70px 0;
  }
  
  .gtm-titre-bg-jaune-reverse,  .gtm-titre-bg-bleu-reverse {
    margin-left: 30%;
    border-radius: 70px 0 0 70px;
  }
}

@media screen and (min-width: 992px) { 
  #nous-joindre .gtm-top2 {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4%;
  }

  .gtm-titre-bg-jaune .gtm-custom, .gtm-titre-bg-jaune-reverse .gtm-custom, .gtm-titre-bg-bleu-reverse .gtm-custom {
    display: flex;
  }

  .gtm-titre-bg-jaune {
    display: flex;
    align-items: center;
    margin-right: 0;
    border-radius: 50px 0 0 50px;
    height: 300px;
  }

  .gtm-titre-bg-jaune-reverse, .gtm-titre-bg-bleu-reverse {
    display: flex;
    align-items: center;
    margin-left: 0;
    border-radius: 50px 0 0 50px;
    height: 300px;
  }

  .gtm-titre-bg-jaune-reverse, .gtm-titre-bg-bleu-reverse {
    display: flex;
    align-items: center;
    margin-right: 0;
    border-radius: 0 50px 50px 0;
    height: 300px;
  }

  .gtm-titre-bg-jaune h2, .gtm-titre-bg-jaune-reverse h2, .gtm-titre-bg-bleu-reverse h2 {
    margin-top: 0;
    margin-bottom: 0;
  }

  .gtm-coordonnees-completes {
    display: flex;
    gap: 2%;
    margin-left: auto;
    margin-right: auto;
  }

  .gtm-coordonnees-completes h2 {
    text-align: left;
  }

  .gtm-section-bleue { 
    width: 40%;
    display: flex;
    flex-direction: column;
    border-radius: var(--border-radius-50);
  }

  #nous-joindre .gtm-section-bleue, #notre-equipe .gtm-section-bleue, #devenir-benevole .gtm-section-bleue {
    width: 100%;
  }

  #notre-equipe .gtm-bottom4 {
    margin-top: var(--space-xl);
    margin-bottom: var(--space-xl);
  }

  .gtm-section-bleue-haut {
    padding-bottom: var(--space-xl);
  }

  .gtm-section-bleue-bas.gtm-bas-3xl {
    padding-top: var(--space-3xl);  
  }

  .gtm-section-bleue-bas.gtm-bas-xl {
    padding-top: var(--space-xl);
  }

  .rsform { 
    width: 60%;
    margin-top: var(--space-xl);
    margin-bottom: var(--space-lg);
  }
}

@media screen and (min-width: 1600px) { 
  .gtm-formulaire {
    margin-left: 10%;
  }

  #etre-benevole .gtm-coordonnees-completes {
    margin-left: 0%;
    margin-right: 0%;
  }

  #nous-joindre .moduletable {
    padding: 0;
  }

  #nous-joindre .gtm-horaire {
    padding: 0 0 0 10% !important;
  }
}

/* --------------------------------------------------------------------------------
   NOUS SOUTENIR - PAGE STYLE BLOGUE
-------------------------------------------------------------------------------- */
.gtm-nous-soutenir img {
  border-radius: 25px;
}

.gtm-nous-soutenir h2 {
  margin-top: var(--space-xs);
}

#nous-supporter .gtm-bottom1 {
  margin-top: 5%;
  margin-left: auto;
  margin-right: auto;
}

.gtm-nous-soutenir a {
  font-size: var(--font-size-4xl);
}

@media screen and (min-width: 1600px) { 
  #nous-supporter .gtm-bottom1 {
    margin-left: 10%;
    margin-right: 10%;
  }
}

/* --------------------------------------------------------------------------------
   LE RESTO POP
-------------------------------------------------------------------------------- */
.gtm-pour-qui {
  margin-bottom: var(--space-xl);
}

/* --------------------------------------------------------------------------------
   PARRAINER UNE BOITE À LUNCH
-------------------------------------------------------------------------------- */
#parrainer-une-boite-a-lunch .gtm-fonctionne {
  color: #fff;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

#parrainer-une-boite-a-lunch .gtm-fonctionne ul li {
  color: #fff;
}

@media screen and (min-width: 768px) { 
  .gtm-changeons {
    max-width: 800px;
    margin: auto;
  }
}

@media screen and (min-width: 992px) { 
  #parrainer-une-boite-a-lunch .gtm-bottom3 {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4%;
    margin-top: 100px;
  }

  #parrainer-une-boite-a-lunch .gtm-bottom4, #faire-un-don .gtm-bottom4 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4%;
    margin-top: 100px;
  }

  .gtm-ajout-margin {
    margin-bottom: var(--space-2xl);
  }
}

@media screen and (min-width: 1600px) { 
  #parrainer-une-boite-a-lunch .moduletable {
    padding: 0;
  }

  #parrainer-une-boite-a-lunch .gtm-horaire {
    padding-left: 10% !important;
  }

  .gtm-horaire.gtm-horaire-droite {
    padding: 0 10% 0 0 !important;
  }
}

@media screen and (min-width: 1600px) { 
  #parrainer-une-boite-a-lunch .gtm-titre-bg-jaune-reverse {
    padding-left: 25%;
  }
}

@media screen and (min-width: 2550px) { 
  .gtm-titre-bg-jaune-reverse {
    border-radius: 50px 50px 50px 0;
  }
}

/* --------------------------------------------------------------------------------
   ÊTRE BÉNÉVOLE
-------------------------------------------------------------------------------- */

.gtm-border-radius img {
    border-radius: 30px;
}

#etre-benevole .gtm-bottom4 {
  margin-left: auto;
  margin-right: auto;
}

#etre-benevole .gtm-coordonnees-completes {
  margin-top: var(--space-3xl);
}

.gtm-coordonnees-completes {
  height: 100%;
}

div#gtm-custom247, div#gtm-custom191 {
  background-color: #213C5A;
  border-radius: var(--border-radius-25);
  min-height: 100%;
}

.gtm-poste {
  text-align: center;
}

#etre-benevole .gtm-central p {
  text-align: center;
}

@media screen and (min-width: 768px) { 
  .gtm-poste:nth-child(2n+1), .gtm-nous-soutenir:nth-child(2n+1) {
    padding-right: 2%;
  }

  .gtm-poste:nth-child(2n+2), .gtm-nous-soutenir:nth-child(2n+2) {
    padding-left: 2%;
  }
}

@media screen and (min-width: 1200px) { 
  .gtm-nous-soutenir:nth-child(1) {
    padding-right: 2%;
    padding-left: var(--space-lg);
  }

  .gtm-nous-soutenir:nth-child(2) {
    padding-left: 2%;
    padding-right: 2%;
  }

  .gtm-nous-soutenir:nth-child(3) {
    padding-left: 2%;
    padding-right: var(--space-lg);
  }
}

@media screen and (min-width: 1600px) { 
  #etre-benevole .gtm-bottom4, #devenir-benevole .gtm-bottom4, #devenir-benevole .gtm-bottom6, #nous-joindre .gtm-bottom1, #etre-benevole #bottom-4, #notre-equipe .gtm-bottom4 {
    margin-left: 10%;
    margin-right: 10%;
  }


  .gtm-nous-soutenir:nth-child(1) {
    padding-left: 0;
  }

  .gtm-nous-soutenir:nth-child(3) {
    padding-right: 0;
  }
}

/* --------------------------------------------------------------------------------
   FOOTER
-------------------------------------------------------------------------------- */
.gtm-footer {
  /* margin-top: 70px; */
  margin-left: auto;
  margin-right: auto;
}

#gtm-custom185, #gtm-custom272 {
  height: 370px;
  border-radius: 65px 65px 0 0;
  position: relative;
  background-position: 50% 65%;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: linear-gradient(180deg, rgb(251 179 143 / 70%) 0%, rgb(223 140 126 / 70%) 100%), url(/images/restaurant-populaire-footer-0A1A9493.jpg);
  border-bottom: 6px solid #E55B2A;
}

.gtm-image-footer div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.gtm-logo-footer p {
  text-align: center;
}

.gtm-logo-footer img {
  margin-top: 16px;
  width: 50%;
  max-width: 200px;
}

.gtm-contact-footer h2, .gtm-horaire-footer h2, .gtm-suivre-footer h2 {
  margin-bottom: var(--space-sm);
}

.gtm-btn-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.gtm-btn-footer h2 {
  width: 100%;
  font-size: var(--font-size-4xl-footer);
  margin-top: 0;
}

.gtm-btn-footer a {
  margin-left: 5px;
  margin-right: 5px;
}

.gtm-horaire-footer h2, .gtm-suivre-footer h2, .gtm-contact-footer h2 {
  text-align: left !important;
}

@media screen and (min-width: 576px) { 
  #gtm-custom185 {
    height: 350px;
  }

  .gtm-coordonnees .gtm-custom {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 4%;
  }

  .gtm-contact-footer { 
    grid-area: 1 / 1 / 2 / 9; 
  }

  .gtm-suivre-footer { 
    grid-area: 1 / 9 / 2 / 13; 
  }

  .gtm-horaire-footer { 
    grid-area: 2 / 1 / 3 / 9; 
  }

  .gtm-horaire-footer .gtm-custom {
    display: block;
  }

  .gtm-logo-footer { 
    grid-area: 2 / 9 / 3 / 13; 
    margin-top: 20px;
  }

  .gtm-logo-footer p {
    text-align: left;
  }

  .gtm-logo-footer img {
    width: 100%;
    max-width: 200px;
  }
}

@media screen and (min-width: 992px) { 
  #gtm-custom185, #gtm-custom272 {
    height: 350px;
  }

  .gtm-coordonnees {
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 4%;
    grid-row-gap: 4%;
    max-width: 1500px;
    margin: 20px auto;
  }

  .gtm-logo-footer { 
    grid-area: 1 / 1 / 3 / 4; 
    margin-top: 30px;
  }

  .gtm-contact-footer { 
    grid-area: 1 / 4 / 3 / 8; 
  }

  .gtm-horaire-footer { 
    grid-area: 1 / 9 / 2 / 13; 
  }

  .gtm-suivre-footer { 
    grid-area: 2 / 9 / 3 / 13; 
  }

  .gtm-suivre-footer h2 {
    margin-top: var(--space-md);
  }
}

@media screen and (min-width: 1024px) { 
  #nous-joindre .gtm-image-footer, #les-boites-a-lunch .gtm-image-footer, #devenir-benevole .gtm-image-footer {
      padding-top: var(--space-xl);
  }
}

@media screen and (min-width: 1200px) { 
  #gtm-custom185 {
    height: 450px;
  }
}

@media screen and (min-width: 1600px) { 
  .gtm-footer, .gtm-bottom10 {
    margin-left: 10%;
    margin-right: 10%;
  }
}


/* #endregion */

/* #region MENU ----------------------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
  MENU PRINCIPAL
------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------- */


/* ===================================================================
                           LOGO DANS LE MENU
=================================================================== */
/* Affiche le logo dans le menu lorsque la classe .gtmOpen est présente */
.gtmHeader.gtmOpen::before {
  content: url("/images/image.png");
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 1;
  z-index: 0;
  box-sizing: border-box;
  padding: var(--space-sm) var(--space-sm) 0 var(--space-sm);
}

/* ===================================================================
                          ICÔNE BURGER
=================================================================== */

/* Conteneur de l'icône burger, positionné en haut à droite */
.gtmHeader .gtm-open-nav-menu {
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  height: 45px;
  width: 45px;
  border-radius: 50%;
  background-color: var(--color-background);
  margin: var(--space-xs) var(--space-xs) 0;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10000000;
}

/* Barre centrale du burger */
.gtmHeader .gtm-open-nav-menu span {
  display: block;
  position: relative;
  height: 3px;
  width: 25px;
  background-color: #fff;
  border-radius: var(--border-radius-small);
}

/* Barres haute et basse du burger */
.gtmHeader .gtm-open-nav-menu span:before,
.gtmHeader .gtm-open-nav-menu span:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: all .2s ease;
  border-radius: var(--border-radius-small);
}

/* Position des barres haute et basse */
.gtmHeader .gtm-open-nav-menu span:before {
  top: -7px;
}

.gtmHeader .gtm-open-nav-menu span:after {
  top: 7px;
}

/* Transformation du burger en croix lors de l'ouverture du menu */
.gtm-hidden-scrolling .gtmHeader .gtm-open-nav-menu span {
  background-color: transparent !important;
}

.gtm-hidden-scrolling .gtmHeader .gtm-open-nav-menu span:before {
  transform: rotate(45deg);
  top: 0;
  background-color: #fff;
}

.gtm-hidden-scrolling .gtmHeader .gtm-open-nav-menu span:after {
  transform: rotate(-45deg);
  top: 0;
}

/* ===================================================================
                              MENU
=================================================================== */
/* Conteneur principal du menu */
.gtm-menu {
  z-index: 2000;
  position: relative;
}

/* En-tête du menu (plein écran lorsqu'ouvert) */

@media screen and (max-width: 1199px) {
  .gtmHeader {
    position: fixed;
    width: 100%;
    min-height: 100dvh;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    top: -100%;
    transition: all 0.5s ease;
  }
}

/* En-tête actif : s'affiche en haut */
.gtmHeader.gtmOpen {
  top: 0;
  z-index: 100;
  background-color: #fff;
}

/* Conteneur du contenu principal de l'en-tête */
.gtm-header-main {
  position: relative;
  z-index: 10;
}

/* Réinitialise la liste des menus */
nav.gtm-nav-menu ul.menu {
  list-style: none;
  margin-left: 0;
}

/* ===================================================================
                        NAVIGATION PRINCIPALE
=================================================================== */

/* Styles de la boite de la navigation */
.gtmHeader .menu {
  text-align: center;
}

/* Styles des liens du menu */
.gtmHeader .menu>.menu-item>a {
  color: var(--color-link);
  font-size: var(--font-size-base);
  font-weight: 400;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.menu-item img {
    margin-bottom: var(--space-md);
}

/* Survol des liens */
.gtmHeader .menu>.menu-item>a:hover {
  color: var(--color-link-hover);
}

/* Lien actif */
.menu>.gtmFada.active>a {
  color: var(--color-link-active);
  font-weight: 600;
}

/* Espacement vertical entre les éléments du menu */
.gtmHeader .menu>.menu-item {
  margin-bottom: var(--space-sm);
}

/* Curseur pointeur sur les séparateurs */
.separator {
  cursor: pointer;
}

/* Séparateur actif */
.parent.gtm-active a.separator {
  color: var(--color-link-active) !important;
  font-weight: 600 !important;
}

/* Style des images par défaut dans le menu */
.default img {
  width: 100px;
}

/* ===================================================================
                           SOUS-MENU
=================================================================== */

/* Liste des sous-menus */
nav.gtm-nav-menu .menu .gtm-sub-menu {
  display: block;
  text-align: center;
  list-style: none;
  margin-left: 0;
}

/* Sous-menu masqué par défaut */
.gtmHeader .menu>.gtm-menu-item-has-children .gtm-sub-menu {
  position: relative;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transition: all .2s ease-in-out;
}

/* Sous-menu actif (visible) */
.gtmHeader .menu>.gtm-menu-item-has-children.gtm-active .gtm-sub-menu {
  visibility: visible;
  opacity: 1;
}

/* Premier élément du sous-menu avec un espace au-dessus */
nav.gtm-nav-menu .gtm-sub-menu li:first-child {
  padding-top: var(--space-xs);
}

/* Style des liens du sous-menu */
nav.gtm-nav-menu .gtm-sub-menu li a {
  color: var(--color-link);
  font-size: var(--font-size-sm);
  font-weight: 400;
  line-height: 1.2rem;
  margin-bottom: 0px;
  transition: all 0.3s ease;
}

/* Lien actif du sous-menu */
nav.gtm-nav-menu .gtm-sub-menu li.active a {
  color: var(--color-link-hover);
}

/* ===================================================================
                        ICÔNES DES SOUS-MENU
=================================================================== */

/* Conteneur de l'icône "+" */
.gtm-menu-item-has-children .separator {
  position: relative;
}

/* Icône "+" : lignes horizontale et verticale */
.gtm-menu-item-has-children .separator::before,
.gtm-menu-item-has-children .separator::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 2px;
  background-color: var(--color-background);
  transition: all .3s ease;
}

/* Ligne verticale (avant) */
.gtm-menu-item-has-children .separator::before {
  top: 48%;
  right: -15px;
  transform: translateY(48%) rotate(-90deg);
}

/* Ligne horizontale */
.gtm-menu-item-has-children .separator::after {
  top: 48%;
  right: -15px;
  transform: translateY(48%);
}

/* Icône "+" transformée en "-" (lorsqu'actif) */
.gtm-menu-item-has-children.gtm-active .separator::before {
  transform: rotate(0deg);
}

/* Changement de couleur lorsqu'actif */
.gtm-menu-item-has-children.gtm-active .separator::after,
.gtm-menu-item-has-children.gtm-active .separator::before {
  background-color: var(--color-link-active);
}

/* Pour les cas actifs supplémentaires */
.gtm-menu-item-has-children.active .separator::after,
.gtm-menu-item-has-children.active .separator::before {
  background-color: var(--color-link-active);
}

/* ===================================================================
                           MENU DESKTOP
=================================================================== */
@media screen and (min-width: 1200px) {
  /* Cache l'icône burger sur grand écran */
  .gtmHeader .gtm-open-nav-menu {
    display: none;
  }

  /* Cache le logo "default" */
  .menu-item.default {
    display: none;
  }

  .gtm-hero.hero {
    position: relative;
    height: 150px;
    width: 100%;
    margin: auto;
  }

  .gtm-logo-restopop {
    margin-top: 0;
    margin-left: 0;
    position: fixed;
    top: 10px;
    left: 18%;
    z-index: 10000;
  }

  /* Menu centré */
  .gtm-header-main {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-40%);
    width: max-content;
    /* margin-left: auto;
    margin-right: auto; */
  }

  /* Apparence du menu lors du scroll */
  .gtm-header-main.scroll .menu {
    background-color: var(--color-background);
  }

  /* Liste horizontale des liens */
  nav.gtm-nav-menu ul.menu {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    padding: 0 var(--space-md) 0 var(--space-sm);
    list-style: none;
    margin: 0;
    height: 150px;
  }

  nav.gtm-nav-menu ul.menu li {
    padding: var(--space-xs) 0;
    position: relative;
  }

  /* Apparence des liens */
  .gtmHeader .menu>.menu-item>a {
    color: var(--color-link);
    font-size: var(--font-size-base);
    letter-spacing: 1px;
    font-weight: 500;
  }

  .gtmHeader .menu>.menu-item>a:hover {
    color: var(--color-link-hover);
  }

  .menu>.gtmFada.active>a {
    color: var(--color-link-active);
    font-weight: 600;
  }

  /* Ajustement de l'espace pour les icônes */
  .gtm-menu-item-has-children {
    padding-right: var(--space-xs) !important;
  }

  .menu-item a {
    display: flex;
    align-items: center;
  }

  .default img {
    height: 35px;
  }

  /* Sous-menu en survol : s'affiche sous l'élément parent */
  .gtmHeader .menu>.gtm-menu-item-has-children>.gtm-sub-menu {
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 250px;
    background-color: var(--color-background);
    padding: 0 10px 10px 10px;
    padding: var(--space-sm);
    overflow: visible;
    opacity: 0;
    visibility: hidden;
    margin: 0;
    transition: all 0.3s ease;
    border-radius: var(--border-radius-25) var(--border-radius-25) 0 var(--border-radius-25);
  }

  .gtmHeader .menu>.gtm-menu-item-has-children:hover>.gtm-sub-menu {
    opacity: 1;
    visibility: visible;
    max-height: 10000px;
  }

  /* Ajuste l'alignement des sous-menus */
  .gtmHeader .menu>.menu-item:last-child>.gtm-sub-menu {
    right: 0;
    left: auto;
  }

  /* Style des liens du sous-menu */
  nav.gtm-nav-menu .gtm-sub-menu li a {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2rem;
    transition: all 0.3s ease;
  }

  nav.gtm-nav-menu .gtm-sub-menu li:hover a,
  nav.gtm-nav-menu .gtm-sub-menu li.active a {
    color: var(--color-link-hover);
  }

  /* Modification de l'icône "+" en vert */
  .gtm-menu-item-has-children .separator::before,
  .gtm-menu-item-has-children .separator::after {
    background-color: var(--color-link);
  }

  .gtm-menu-item-has-children:hover .separator::before {
    transform: rotate(0deg);
    background-color: var(--color-link-hover);
  }

  .gtm-menu-item-has-children.active .separator::after,
  .gtm-menu-item-has-children.active .separator::before {
    background-color: var(--color-link-active);
  }
}

@media screen and (min-width: 1300px) { 
  .gtm-logo-restopop {
    left: 21%;
  }
}

@media screen and (min-width: 1400px) { 
  .gtm-logo-restopop {
    left: 23%;
  }
}

@media screen and (min-width: 1500px) { 
  .gtm-logo-restopop {
    left: 25%;
  }
}

@media screen and (min-width: 1600px) { 
  .gtm-logo-restopop {
    left: 26%;
  }

  .gtm-hero.hero {
    max-width: 1600px
  }
}

/* #endregion */