/*
 * Theme Name: Le Studio
 * Description: 
 * Author: Le Studio
 * Version: 2.0.1
 * Tags: 
 */


body {
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1em;
    font-family: 'Neo Sans', sans-serif;
    color: var(--couleur_principale);
    position: relative;
    overflow-x: hidden;
    margin: 0;
    background-color: var(--gris_clair);
}

body, section, article, div, ul, li, p, img, textarea, input {
    box-sizing: border-box;
}

.wrapper.clearfix{
    overflow-x: hidden;
}

h1 { font-size: 48px;  font-weight: bold; margin: 0; line-height: 110%; color: var(--couleur_principale);  }
h2 { font-size: 32px; margin: 0; line-height: 120%; color: var(--couleur_principale); }
h3 { font-size: 20px; margin: 0; line-height: 130%; color: var(--couleur_principale); }
h4 { font-size: 18px; margin: 0; line-height: 150%; }
h5 { font-size: 15px;  margin: 0; line-height: 150%; }
h6 { font-size: 15px;  margin: 0; line-height: 150%; }
p{ font-size: 16px; line-height: 150%; color: var(--couleur_principale); }
li{ font-size: 16px; line-height: 150%; color: var(--couleur_principale); }
a{ color: var(--bleu); }
img { max-width: 100%; height: auto; }



/* *** TYPOS *** */
/* REGULAR */
@font-face {
  font-family: 'Neo Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(''),
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Regular.woff') format('woff'), /* Modern Browsers */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Regular.svg#NeoSans') format('svg'); /* Legacy iOS */
}
@font-face {
  font-family: 'Neo Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: local(''),
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Italic.woff') format('woff'), /* Modern Browsers */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Italic.svg#NeoSans') format('svg'); /* Legacy iOS */
}

/* BOLD */
@font-face {
  font-family: 'Neo Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(''),
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Bold.woff') format('woff'), /* Modern Browsers */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Bold.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Bold.svg#NeoSans') format('svg'); /* Legacy iOS */
}
@font-face {
  font-family: 'Neo Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: local(''),
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-BoldItalic.woff') format('woff'), /* Modern Browsers */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-BoldItalic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-BoldItalic.svg#NeoSans') format('svg'); /* Legacy iOS */
}

/* LIGHT */
@font-face {
  font-family: 'Neo Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local(''),
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Light.woff') format('woff'), /* Modern Browsers */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Light.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Light.svg#NeoSans') format('svg'); /* Legacy iOS */
}
@font-face {
  font-family: 'Neo Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: local(''),
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-LightItalic.woff') format('woff'), /* Modern Browsers */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-LightItalic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-LightItalic.svg#NeoSans') format('svg'); /* Legacy iOS */
}

/* BLACK */
@font-face {
  font-family: 'Neo Sans';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local(''),
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Black.woff') format('woff'), /* Modern Browsers */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Black.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-Black.svg#NeoSans') format('svg'); /* Legacy iOS */
}
@font-face {
  font-family: 'Neo Sans';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: local(''),
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-BlackItalic.woff') format('woff'), /* Modern Browsers */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-BlackItalic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/wp-content/themes/lestudio/fonts/NeoSansStd-BlackItalic.svg#NeoSans') format('svg'); /* Legacy iOS */
}

/* kalam-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Kalam';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/themes/lestudio/fonts/kalam-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('/wp-content/themes/lestudio/fonts/kalam-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/wp-content/themes/lestudio/fonts/kalam-v17-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/wp-content/themes/lestudio/fonts/kalam-v17-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('/wp-content/themes/lestudio/fonts/kalam-v17-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('/wp-content/themes/lestudio/fonts/kalam-v17-latin-regular.svg#Kalam') format('svg'); /* Legacy iOS */
}


/* *** CLASS FLEX *** */
.flex {
    display: flex;
}
.flex-column {
    display: flex;
    flex-direction: column;
}
.flex-wrap {
    flex-wrap: wrap;
}
.ai-center {
    align-items: center;
}
.ai-flex-start {
    align-items: flex-start;
}
.ai-flex-end {
    align-items: flex-end;
}
.jc-space-around {
    justify-content: space-around; 
}
.jc-space-between {
    justify-content: space-between; 
}
.jc-flex-end {
    justify-content: flex-end;
}
.jc-flex-start {
    justify-content: flex-start;
}
.jc-center {
    justify-content: center;
}



/* *** COULEURS *** */
:root {
  --couleur_principale: #324C5B;
  --couleur_texte: #1D1D1D;
  --vert: #82AE28;
  --jaune: #FFCC00;
  --bleu: #6490AA;
  --gris_clair: #F5F5F5;
  --gris_moyen: #E2E2E2;
  --gris_fonce: #BABABA;
}

.has-couleur-principale-background-color {
    background-color: #324C5B;
}
.has-couleur-principale-color,
.has-couleur-principale-color h1,
.has-couleur-principale-color h2,
.has-couleur-principale-color h3,
.has-couleur-principale-color h4,
.has-couleur-principale-color p{
    color: #324C5B;
}

.has-bleu-background-color {
    background-color: #6490AA;
}
.has-bleu-color,
.has-bleu-color h1,
.has-bleu-color h2,
.has-bleu-color h3,
.has-bleu-color h4,
.has-bleu-color p{
    color: #6490AA;
}

.has-bleu-moyen-background-color {
    background-color: #A9C5D6;
}
.has-bleu-moyen-color,
.has-bleu-moyen-color h1,
.has-bleu-moyen-color h2,
.has-bleu-moyen-color h3,
.has-bleu-moyen-color h4,
.has-bleu-moyen-color p{
    color: #A9C5D6;
}

.has-bleu-leger-background-color {
    background-color: #D9E4EA;
}
.has-bleu-leger-color,
.has-bleu-leger-color h1,
.has-bleu-leger-color h2,
.has-bleu-leger-color h3,
.has-bleu-leger-color h4,
.has-bleu-leger-color p{
    color: #D9E4EA;
}

.has-vert-background-color {
    background-color: #82AE28;
}
.has-vert-color,
.has-vert-color h1,
.has-vert-color h2,
.has-vert-color h3,
.has-vert-color h4,
.has-vert-color p{
    color: #82AE28;
}

.has-jaune-background-color {
    background-color: #FFCC00;
}
.has-jaune-color,
.has-jaune-color h1,
.has-jaune-color h2,
.has-jaune-color h3,
.has-jaune-color h4,
.has-jaune-color p{
    color: #FFCC00;
}

.has-orange-background-color {
    background-color: #E84E1B;
}
.has-orange-color,
.has-orange-color h1,
.has-orange-color h2,
.has-orange-color h3,
.has-orange-color h4,
.has-orange-color p{
    color: #E84E1B;
}

.has-gris-clair-background-color {
    background-color: #F5F5F5;
}
.has-gris-clair-color,
.has-gris-clair-color h1,
.has-gris-clair-color h2,
.has-gris-clair-color h3,
.has-gris-clair-color h4,
.has-gris-clair-color p{
    color: #F5F5F5;
}

.has-gris-moyen-background-color {
    background-color: #E2E2E2;
}
.has-gris-moyen-color,
.has-gris-moyen-color h1,
.has-gris-moyen-color h2,
.has-gris-moyen-color h3,
.has-gris-moyen-color h4,
.has-gris-moyen-color p{
    color: #E2E2E2;
}

.has-gris-fonce-background-color {
    background-color: #BABABA;
}
.has-gris-fonce-color,
.has-gris-fonce-color h1,
.has-gris-fonce-color h2,
.has-gris-fonce-color h3,
.has-gris-fonce-color h4,
.has-gris-fonce-color p{
    color: #BABABA;
}

.has-couleur-texte-background-color {
    background-color: #1D1D1D;
}
.has-couleur-texte-color,
.has-couleur-texte-color h1,
.has-couleur-texte-color h2,
.has-couleur-texte-color h3,
.has-couleur-texte-color h4,
.has-couleur-texte-color p{
    color: #1D1D1D;
}

.has-blanc-background-color {
    background-color: #ffffff;
}
.has-blanc-color,
.has-blanc-color h1,
.has-blanc-color h2,
.has-blanc-color h3,
.has-blanc-color h4,
.has-blanc-color p{
    color: #ffffff;
}


/* ************************ GLOBALE ************************ */

/* *** PRELOADER *** */
#preloader{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: 9999999999;
    display: flex;
    align-items: center ;
    justify-content: center ;
}
  
#loading{
    width: 150px;
    height: 150px;
    position: relative;
    -webkit-animation: mymove 1.5s infinite; 
    animation: mymove 1.5s infinite;
}

/*** ANIMATION PRELOADER ***/
@-webkit-keyframes mymove {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.5);
    }
    100% {
        transform: scale(1);
    }
}  

.wrapper-contenu{
    position: relative;
    padding: 60px 15px;
}
.titre-wrapper-contenu{
    position: relative;
    text-align: center;
}
.titre-wrapper-contenu .pre-titre{
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 3px;
    line-height: 200%;
}

.titre-wrapper-contenu h2{
    font-size: 48px;
    margin-bottom: 20px;
}

/* ************************ NAGIGATION ************************ */
.menu_ordi{
    display: block;
    position: relative;
    z-iindex: 2;
}

.bottom-rounded-shape {
  position: relative;
  z-index: 1;
  width: 100%;
  line-height: 0;
  overflow: hidden;
  background: linear-gradient(180deg,rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
  margin-top: -35px;
}

.bottom-rounded-shape svg {
  display: block;
  width: 100%;
  min-width: 1920px;
  height: 60px; /* ajuste l’effet de courbure ici */
  position: relative;
  left: 50%;
  transform: translateX(-50%);

}

#preheader{
    position: absolute;
    z-index: 3;
    top: 0;
    right: 16px;
    padding: 4px;
    background: var(--vert);
    color: white;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    font-size: 13px;
    line-height: 100%;
}

#preheader a{
    color: white;
    text-decoration: none;
    display: block;
    padding: 4px 16px;
}
.block-telephone a{
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.block-preheader{
    padding-left: 8px;
    padding-right: 8px;
    border-right: 1px solid white;
}
.block-preheader:last-child{
    border-right: 0px solid white;
}

.block-preheader img{
    vertical-align: middle;
}

.block-telephone img{
    margin-right: 5px;
}

#logo-header-mobile{ display: none; }


/* ************************ HEADER ************************ */
.filtre-noir{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
}
header.header{
    position: fixed;
    z-index: 5;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    min-height: 170px;
}
#bandeau-entete{
    position: relative;
    z-index: 1;
    padding-top: 170px;
}
body.home #bandeau-entete{
    background-color: var(--couleur_principale);
    padding-top: 110px; /* 170 - 60 (bordure) */
}

#bloc-video-accueil{
    position: relative;
    height: calc(100vh - 110px);
    min-height: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 60px;
    padding-bottom: 60px;
}

#fond-bloc-video{
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    top: 0;
    left: 0;
}

#fond-bloc-video video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#contenu-header-accueil{
    position: relative;
    z-index: 2;
    color: white;
}

#contenu-header-accueil h1{
    font-size: 77px;
    line-height: 100%;
    color: white;
}
#contenu-header-accueil h1 span{
    margin-bottom: 20px;
}
#contenu-header-accueil h1 span.ta-1{
    text-transform: uppercase;
    letter-spacing: 6px;
}

.ta-1, .ta-2, .ta-3, .ta-4 {
  opacity: 0;
  animation: fadeInUp 0.6s ease forwards;
}
.ta-1 { animation-delay: 0.4s; }
.ta-2 { animation-delay: 0.8s; }
.ta-3 { animation-delay: 1.2s; }
.ta-4 { animation-delay: 1.6s; }

@keyframes fadeInUp {
  to {
    opacity: 1;
  }
}

#btn-scroll-down{
    opacity: 0;
    position: absolute;
    bottom: 60px;
    left: 50%;
    z-index: 2;
    transform: translateX(-50%);
    animation: fadeInUp 0.6s ease forwards;
}
#btn-scroll-down{ animation-delay: 3s; }

.inner-btn-scroll {
    width: 50px;
    height: 50px;
    background: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all .2s ease-in-out;
    cursor: pointer;
    opacity: 1;
}
.inner-btn-scroll:hover{
    opacity: 0.8;
}

.inner-contenu-accueil{
    position: relative;
}

.pastille{
    background: var(--vert);
    text-align: center;
    padding: 5px;
    border-radius: 50%;
    width: 130px;
    height: 130px;
    line-height: 120%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    top: -30px;
    right: -30px;
    transform: rotate(-2deg);
}
.pastille p{
    color: white;
    line-height: 120%;
}
#pastille-header{
    position: absolute;
    opacity: 0;
    animation: fadeInUp 0.6s ease forwards;
}

#pastille-header{ animation-delay: 2s; }

#bandeau-entete .titre-wrapper-contenu{
    margin-top: 60px;
    margin-bottom: 60px;
    padding-left: 30px;
    padding-right: 30px;
}

/*** slider header ***/
.bandeau-slider,
.bandeau-slider .slick-list,
.bandeau-slider .slick-track,
.bandeau-slider .slide {
    height: 100%;
    width: 100%;
}
.bandeau-slider{
    width: 100%;
    position: absolute !important;
}
.bandeau-slider .slide {
    width: 100vw !important;
    position: relative !important;
}
.bandeau-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bandeau-slider .slick-prev{
    z-index: 2;
    left: 10px;
}
.bandeau-slider .slick-next{
    z-index: 2;
    right: 10px;
}
.bandeau-slider .slick-prev, .bandeau-slider .slick-next{
    background-color: white;
    opacity: 0;
}
.bandeau-slider:hover .slick-prev, .bandeau-slider:hover .slick-next{
    opacity: 1;
}
.bandeau-slider .slick-prev:hover, .bandeau-slider .slick-next:hover{
    background-color: white;
}

.bandeau-slider .slick-prev:before, .bandeau-slider .slick-next:before{
    color: black;
}

/* ************************ PAGE ACCUEIL ************************ */

/*** actus ***/
#bloc-actus-accueil{
    position: relative;
    width: 50%;
    background: var(--gris_clair);
}

#dernieres-actus{
    position: relative;
    display: block;
    width: 100%;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    margin-bottom: 20px;
}

.actu-accueil a{
    text-decoration: none;
}

.inner-actu-accueil{
    display: flex;
    text-decoration: none;
    margin-bottom: 15px;
    background: transparent;
    padding: 15px;
    border-radius: 15px;
    transition: all 0.2s ease-in-out;
    gap: 20px;
}

.inner-actu-accueil:hover{
    background: white;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}

.inner-actu-accueil .bloc-image img{
    width: 160px;
    height: 160px;
    object-fit: cover;
    object-position: center;
    border-radius: 15px;
} 

.inner-actu-accueil .bloc-contenu{
    width: calc(100% - 180px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.inner-actu-accueil .categories{
    margin-bottom: 20px;
}

.btn-categorie{
    display: inline-block;
    background-color: var(--couleur_principale);
    padding: 8px 10px;
    margin-right: 10px;
    border-radius: 30px;
    font-size: 12px;
    text-decoration: none;
    color: white;
    line-height: 140%;
    font-weight: bold;
}

/*** Agenda ***/
#bloc-agenda-accueil{
    position: relative;
    width: 50%;
    background: var(--couleur_principale);
}

#prochains-evenements{
    position: relative;
    display: block;
    width: 100%;
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    margin-bottom: 20px;
}

#bloc-agenda-accueil .pre-titre, #bloc-agenda-accueil h2{
    color: white;
}

#bloc-actus-accueil .wp-block-button__link{
    background-color: var(--couleur_principale);
    color: white;
}
#bloc-agenda-accueil .wp-block-button__link{
    background-color: white;
    color: var(--couleur_principale);
}

#bloc-agenda-accueil, #bloc-actus-accueil{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.evt-accueil a {
    text-decoration: none;
}
.inner-evt-accueil {
    display: flex;
    text-decoration: none;
    margin-bottom: 15px;
    background: transparent;
    padding: 15px;
    border-radius: 15px;
    transition: all 0.2s ease-in-out;
    gap: 20px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}
.inner-evt-accueil:hover{
    background: var(--bleu);
}

.bloc-dates-evt{
    width: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.dates-evt{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.date-evt-fin{
    border-left: 1px solid white;
}
.horaires-evt{
    text-align: center;
    padding: 4px 8px;
    font-size: 14px;
    background: white;
    color: var(--couleur_principale);
    border-radius: 8px;
    transform: rotate(-2deg);
    margin-top: 10px;
    font-weight: bold;
}

.date-evt{
    color: white;
    font-weight: bold;
    width: 80px;
    padding: 5px;
}

.l-evt{
    font-size: 14px;
}
.j-evt{
    font-weight: 900;
    font-size: 32px;
    margin-bottom: 4px;
    margin-top: 4px;
}
.f-evt{
    font-size: 16px;
}
.bloc-contenu-evt{
    width: calc(100% - 180px);
    color: white;
}
.bloc-contenu-evt p{
    color: white;
    font-size: 14px;
}

#prochains-evenements h3{
    color: white;
    margin-bottom: 4px;
}

.organisateur-evt{
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 15px;
}

.organisateur-evt span{
    text-decoration: underline;
}


/*** contenu accueil ***/
#bandeau-kerval-accueil{
    position: relative;
    background: white;
    padding: 30px 0 60px 0;
}

#bandeau-kerval-accueil:before{
    position: absolute;
    content: "";
    background: url(/wp-content/themes/lestudio/img/fond_bandeau_presentation.svg);
    width: 12vw;
    height: 100%;
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
    z-index: 0;
}

#bandeau-kerval-accueil > *{
    position: relative;
    z-index: 1;
}

#presentation-kerval{
    gap: 60px;
}

#colonne-texte-presentation .wp-block-button__link {
    background-color: var(--couleur_principale);
    color: white;
    margin-top: 30px;
}
#colonne-texte-presentation .titre-wrapper-contenu{
    text-align: left;
}

#colonne-texte-presentation .inner-colonne-texte-presentation{
    max-width: 670px;
    margin-left: auto;
    margin-right: 0;
    padding: 30px;
}

#liens-rapides{
    position: relative;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding: 30px;
}

#liens-rapides .carousel-liens-rapides{
    position: relative;
    width: 100%;
    padding: 30px 60px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
    border-bottom-left-radius: 60px;
    border-bottom-right-radius: 60px;
    background: white;
}

.carousel-liens-rapides .carousel-item a{
    text-decoration: none;
    color: var(--couleur_principale);
    font-weight: bold;
    display: block;
    max-width: 110px;
    margin-left: auto;
    margin-right: auto;

}
.carousel-liens-rapides .carousel-item {
    text-align: center;
}

.carousel-liens-rapides .carousel-item img{
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-bottom: 15px;
    margin-top: 0;
    transition: all 0.2s ease-in-out;
}
.carousel-liens-rapides .carousel-item a:hover img{
    margin-bottom: 5px;
    margin-top: 10px;
}

/*** partie visites ***/
#bandeau-visites{
    position: relative;
}

#liste-visites{
    max-width: 1400px;
    margin: 60px auto;
    gap: 60px;
}

.visite-accueil{
    width: calc(33% - 60px);
    max-width: 350px;
}
.contenu-visite-accueil{
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
    z-index: 1;
    border-radius: 30px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}
.image-visite-accueil{
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
}
.description-visite-accueil{
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 100%;
    left: 0;
    background: var(--couleur_principale);
    color: white;
    transition: all 0.2s ease-in-out;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.description-visite-accueil p{
    color: white;
    width: 100%;
    text-align: center;
}
.visite-accueil:hover .description-visite-accueil{
    top: 0;
}

.description-visite-accueil .wp-block-button__link {
    background-color: white;
    color: var(--couleur_principale);
}
.visite-accueil h3{
    margin-top: 15px;
    text-align: center;
    font-size: 18px;
}

/*** slider ***/
#equipements-pedagogiques-accueil .wrapper-slick-diaporama{
    padding-top: 45px;
}
#equipements-pedagogiques-accueil h2{
    color: white;
}


/*** En un clic ***/
#en-un-clic{
    position: relative;
    background: white;
}
#grille-en-un-clic{
    width: 100%;
    max-width: 1600px;
    margin: 60px auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 15px;
    grid-row-gap: 15px;
}
#grille-en-un-clic .div1 { grid-area: 1 / 1 / 4 / 2; }
#grille-en-un-clic .div2 { grid-area: 4 / 1 / 5 / 2; }
#grille-en-un-clic .div3 { grid-area: 1 / 2 / 3 / 3; }
#grille-en-un-clic .div4 { grid-area: 3 / 2 / 5 / 3; }
#grille-en-un-clic .div5 { grid-area: 1 / 3 / 2 / 4; }
#grille-en-un-clic .div6 { grid-area: 2 / 3 / 5 / 4; }
#grille-en-un-clic .div7 { grid-area: 1 / 4 / 3 / 5; }
#grille-en-un-clic .div8 { grid-area: 3 / 4 / 5 / 5; }
#grille-en-un-clic .div9 { grid-area: 1 / 5 / 5 / 6; }


.inner-bloc-grille{
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    height: 100%;
}
.inner-bloc-grille.bloc-chiffre{
    background-color: var(--vert);
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
}
.bloc-grille a{
    color: white;
    text-decoration: none;
}

.photo-grille{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    object-fit: cover;
    object-position: center;
    transition: all 0.2s ease-in-out;
}

.bloc-grille:hover .photo-grille{
    transform: scale(1.1);
}

.contenu-bloc-titre{
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    background: linear-gradient(to top, #324C5B, transparent 50%, transparent);
}

.contenu-bloc-titre p{
    color: white;
    width: 100%;
    padding: 0 20px;
}

.contenu-bloc-titre, .description-grille{
    font-weight: bold;
    line-height: 140%;
    font-size: 16px;
}

.description-grille{
    text-align: center;
    margin-bottom: 15px;
}
.chiffre-grille{
    font-size: 30px;
    margin-bottom: 5px;
    font-weight: bold;
}

/* ************************ ARTICLE ************************ */

#btn-retour{
    margin-top: 80px;
    margin-bottom: 0;
    padding: 15px;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
.contenu-article{
    padding: 15px;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    gap: 80px;
    margin-bottom: 30px;
}
.colonne-principale-article{
    width: calc(100% - 480px);
}

.inner-colonne-principale{
    padding: 30px;
    background: white;
    border-radius: 30px;
    position: relative;
}

.colonne-principale-article h1{
    line-height: 110%;
    font-size: 48px;
    margin-bottom: 15px;
}

.date-page-article{
    background-color: var(--bleu);
    color: white;
    padding: 8px 10px;
    border-radius: 30px;
    font-weight: bold;
    font-size: 12px;
    line-height: 140%;
}

.colonne-annexe-article{
    width: 400px;
}

.thumbnail-page-article img{
    width: 100%;
    height: auto;
    border-radius: 30px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}

.bloc-annexe{
    position: relative;
    margin-bottom: 80px;
    border-radius: 30px;
    padding: 30px;
    background: white;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;

}

.thumbnail-page-article.bloc-annexe{
    background: transparent;
    box-shadow: none;
    padding: 0;
}

.titre-bloc-annexe{
    background: var(--couleur_principale);
    padding: 8px 16px;
    display: inline-block;
    position: absolute;
    top: -20px;
    transform: rotate(-3deg);
}
.titre-bloc-annexe h2{
    font-family: 'Kalam';
    font-size: 20px;
    color: white;
    margin-bottom: 0;
}
.titre-bloc-annexe img{
    vertical-align: middle;
}

.photo-orga-page-event{
    background: var(--gris_clair);
    width: 250px;
    max-width: 100%;
    height: 250px;
    border-radius: 50%;
    margin-bottom: 20px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}

.contacts-orga-page-event{
    text-align: center;
    padding: 0;
}
.contacts-orga-page-event li{
    list-style: none;
    text-align: center;
    line-height: 150%;
    word-break: break-word;
}

.rappel-inscription{
    background: var(--couleur_principale);
    padding: 10px 15px;
    color: white;
    border-radius: 15px;
    font-family: 'Kalam';
    font-size: 15px;
    margin-bottom: 0;
}
.description-orga-page-event, .description-orga-page-event p{
    color: var(--bleu);
    font-weight: bold;
}

#liste-intervenants{
    padding-bottom: 60px;
    gap: 30px;
}
#liste-intervenants .slick-track {
    display: flex !important;
    align-items: stretch; /* Force les enfants à s'étirer sur toute la hauteur */
}
#liste-intervenants .slick-slide {
    height: inherit !important; 
    display: flex !important;
    flex-direction: column;
}
.bloc-orga-mdlt {
    padding: 15px 15px 30px 15px;
    text-align: center;
}
.bloc-orga-mdlt .carte-intervenant{
    padding: 15px;
    background: white;
    border-radius: 30px;
    margin-top: 115px;
    width: 280px;
    max-width: 100%;
    text-align: center;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}
.bloc-orga-mdlt .photo-orga-page-event{
    margin-top: -115px;
    margin-bottom: auto;
    width: 200px;
    height: 200px;
    margin-left: auto;
    margin-right: auto;
}
#liste-intervenants .slick-prev{
    z-index: 2;
    left: -5px;
}
#liste-intervenants .slick-next{
    z-index: 2;
    right: -5px;
}
.carte-intervenant ul{
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/*** events ***/
#tribe-events-pg-template {
    margin: 0;
    max-width: 100%;
    padding: 0;
}
.bloc-titre-event{
    gap: 30px;
    margin-bottom: 30px;
}
.bloc-titre-event h1{
    margin-bottom: 0;
}
.date-page-event{
    min-width: 135px;
    border: 1px solid var(--couleur_principale);
    border-radius: 15px;
    padding: 8px;
}
.date-page-event .date-evt{
    color: var(--couleur_principale);
}
.date-page-event .horaires-evt{
    background-color: var(--couleur_principale);
    color: white;
}
.date-page-event .date-evt-fin {
    border-left: 1px solid var(--couleur_principale);
}

.infos-event{
    gap: 10px;
    margin-bottom: 60px;
    flex-wrap: wrap;
}

.info-orga-event, .info-lieu-event{
    background-color: var(--couleur_principale);
    color: white;
    padding: 8px 10px;
    border-radius: 30px;
    font-weight: bold;
    font-size: 12px;
    line-height: 140%;
}
.info-lieu-event{
    background-color: var(--bleu);
}

.bloc-lieu-page-event{
    position: relative;
    padding: 30px;
    background: white;
    border-radius: 30px;
    margin-top: 80px;
}

.inner-bloc-lieu{
    gap: 30px;
}
.colonne-map-event{
    width: 600px;
}
.colonne-map-event iframe{
    border-radius: 30px;
}

.colonne-adresse-event{
    width: calc(100% - 630px);
    text-align: center;
}


/*** ajouter au calendrier ***/
#bouton-calendrier{
    position: absolute;
    top: 0;
    right: 0;
    background: #D9E4EA;
    width: 50px;
    height: 50px;
    border-bottom-left-radius: 50px;
}
.add-to-calendar-wrapper{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    height: 40px;
    padding: 5px;
}

#toggle-calendar-dropdown{
    background: transparent;
    border: none;
    cursor: pointer;
}

#calendar-dropdown{
    background: var(--couleur_principale);
    border-radius: 15px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}
#calendar-dropdown ul{
    padding: 10px;
    width: 150px;
}
#calendar-dropdown li{
    list-style: none;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: center;
}

#calendar-dropdown li:last-child{
    margin-bottom: 0;
}

#calendar-dropdown li a{
    color: white;
    text-decoration: none;
}
#calendar-dropdown li a:hover{
    text-decoration: underline;
}

#btn-retour a{
    text-decoration: none;
    text-transform: uppercase;
    color: var(--couleur_principale);
    font-weight: bold;
    letter-spacing: 3px;
}
#btn-retour a:hover{
    text-decoration: underline;
}


/*** PAGES ***/
.bandeau-image-header{
    position: relative;
    width: 100%;
    margin-top: -50px;
    /*min-height: calc( 40vw + 50px);*/
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    aspect-ratio: 21 / 9;
    min-height: 300px;
}

.bandeau-image-header.titre-gauche{
    align-items: flex-start;
}
.bandeau-image-header.titre-droite{
    align-items: flex-end;
}

.bandeau-image-header img{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.bloc-titre-image-header{
    position: relative;
    z-index: 2;
    background: var(--gris_clair);
    margin-bottom: -2px;
}

.bandeau-image-header.titre-gauche .bloc-titre-image-header{
    width: calc(30vw - (50vw - 670px));
    left: calc(50vw - 670px);
    right: auto;
    min-width: 30vw;
    max-width: 50vw;
}
.bandeau-image-header.titre-droite .bloc-titre-image-header{
    width: calc(30vw - (50vw - 670px));
    right: calc(50vw - 670px);
    left: auto;
    min-width: 30vw;
    max-width: 50vw;
}


#bandeau-entete .bloc-titre-image-header .titre-wrapper-contenu{
    margin-top: 0;
    margin-bottom: 0;
}

.bloc-titre-image-header:after{
    content: "";
    position: absolute;
    top: 0;
    right: -148px;
    width: 150px;
    height: calc(100% + 2px);
    background: var(--gris_clair);

    clip-path: url(#custom-slope);

    z-index: -1;
}
.bloc-titre-image-header:before{
    position: absolute;
    content: "";
    width: 50vw;
    height: 100%;
    left: -100%;
    top: 0;
    z-index: -1;
    background: var(--gris_clair);
}

.bandeau-image-header.titre-droite .bloc-titre-image-header::after{
    left: -148px;
    right: auto;
    transform: scaleX(-1);
}
.bandeau-image-header.titre-droite .bloc-titre-image-header:before{
    right: -50vw;
    left: auto;
}

.bandeau-image-header.titre-gauche .bloc-titre-image-header .titre-wrapper-contenu{
    width: 100%;
    padding: 60px 30px 0px 30px;
    text-align: left;
}
.bandeau-image-header.titre-droite .bloc-titre-image-header .titre-wrapper-contenu{
    width: 100%;
    padding: 60px 30px 0px 30px;
    text-align: left;
}


/* ************************ PAGE DEFAUT ************************ */
/* Gutenberg */
.wp-block-button__link{
    opacity: 1;
    transition: all 0.2s ease-in-out;
    line-height: 140%;
}
.wp-block-button__link:hover{
    opacity: 0.8;
}
.contenu_gutenberg{
    width: 100%;
    margin: 0 auto 50px auto;
}

/* Gestion des largeur des wrappers */
.contenu_gutenberg > *{
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
}
.contenu_gutenberg > .wp-block-cover{
    max-width: 100%;
}

.contenu_gutenberg > .wp-block-group{
    max-width: 100%;
    position: relative;
}
.contenu_gutenberg > .wp-block-group > .wp-block-group__inner-container,
.contenu_gutenberg > .bloc-avec-sidebar > .wp-block-group > .wp-block-group__inner-container{
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
    padding: 15px 30px;
}


.contenu_gutenberg p{
    margin-bottom: 15px;
}
.contenu_gutenberg p.has-small-font-size{
    font-size: 12px !important;
}
.contenu_gutenberg p.has-medium-font-size{
    font-size: 16px !important;
}
.contenu_gutenberg p.has-large-font-size{
    font-size: 22px !important;
}

.contenu_gutenberg p.has-text-align-center{
    text-align: center;
}
.contenu_gutenberg p.has-text-align-left{
    text-align: left;
}
.contenu_gutenberg p.has-text-align-right{
    text-align: right;
}
.contenu_gutenberg p.has-background{
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 15px;
}

.contenu_gutenberg ul,
.contenu_gutenberg ol{
    margin-bottom: 15px;
    padding-left: 15px;
}
.contenu_gutenberg .wp-block-group__inner-container > ul,
.contenu_gutenberg .wp-block-group__inner-container > ol{
    padding: 0;
    padding-left: 20px;
}
.contenu_gutenberg ul li,
.contenu_gutenberg ol li{
    list-style-position: outside;
    padding-bottom: 5px;
}
.contenu_gutenberg .wp-block-columns, .contenu_gutenberg .wp-block-media-text{
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 15px 0;
}
.contenu_gutenberg .wp-block-buttons, .contenu_gutenberg .wp-block-table{
    margin-top: 30px;
    margin-bottom: 30px;
}

.contenu_gutenberg .wp-block-columns .wp-block-media-text{
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.contenu_gutenberg .wp-block-image{
    margin-top: 30px;
    margin-bottom: 30px;    
}
.contenu_gutenberg .wp-block-image img{
    border-radius: 0;
}

.contenu_gutenberg .is-style-rounded img{
    border-radius: 50%;
}

.contenu_gutenberg .wp-block-image.arrondi img{
    border-radius: 30px;
}
.contenu_gutenberg  .wp-block-gallery  img{
    border-radius: 30px;
}


.wp-block-image.ombre img{
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}

.contenu_gutenberg .wp-block-group.titre-section{
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
}

.contenu_gutenberg .wp-block-group.titre-section .wp-block-image{
    margin-top: 30px;
    margin-bottom: 0;
}

.contenu_gutenberg h2{
    margin-top: 50px;
    margin-bottom: 50px;
}

.contenu_gutenberg h3{
    margin-top: 28px;
    margin-bottom: 28px;
}

.contenu_gutenberg h4{
    margin-top: 28px;
    margin-bottom: 28px;
}

.contenu_gutenberg > *:last-child,
.contenu_gutenberg .wp-block-columns p:last-child, .contenu_gutenberg .wp-block-media-text p:last-child,
.contenu_gutenberg .wp-block-columns ul:last-child, .contenu_gutenberg .wp-block-media-text ul:last-child,
.contenu_gutenberg .wp-block-columns ol:last-child, .contenu_gutenberg .wp-block-media-text ol:last-child{
    margin-bottom: 0;
}

.contenu_gutenberg > *:firs-child,
.contenu_gutenberg .wp-block-columns p:first-child, .contenu_gutenberg .wp-block-media-text p:first-child,
.contenu_gutenberg .wp-block-columns ul:first-child, .contenu_gutenberg .wp-block-media-text ul:first-child,
.contenu_gutenberg .wp-block-columns ol:first-child, .contenu_gutenberg .wp-block-media-text ol:first-child{
    margin-top: 0;
}

.contenu_gutenberg .wp-block-details summary{
    font-size: 22px;
    font-weight: bold;
    border-radius: 15px;
    padding: 20px 30px 10px 30px;
    background: white;
    position: relative;
    margin-bottom: 10px;
}
.contenu_gutenberg .wp-block-details{
    background-color: white;
    border-radius: 15px;
    margin-bottom: 30px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
}

.contenu_gutenberg .wp-block-details summary ~ *{
    margin: 0 20px;
    padding-bottom: 15px;

}

.contenu_gutenberg .wp-block-details summary:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    width: calc(100% - 40px);
    border-bottom: 1px solid var(--couleur_principale);
    display: none;
}

.contenu_gutenberg .wp-block-details[open] summary:before{
    display: block;
}

.contenu_gutenberg .wp-block-details[open] summary{
    padding: 20px 30px 20px 30px;
    margin-bottom: 20px;
}

.contenu_gutenberg .wp-block-details summary {
  position: relative;
  padding-right: 1.5em; /* espace pour la flèche */
  cursor: pointer;
  list-style: none; /* cache la flèche native dans certains navigateurs */
}

/* Cache la flèche native (surtout Firefox) */
.contenu_gutenberg .wp-block-details summary::-webkit-details-marker {
  display: none;
}
.contenu_gutenberg .wp-block-details summary::marker {
  display: none;
}

/* Ajoute une fausse flèche à droite */
.contenu_gutenberg .wp-block-details summary::after {
  content: "▸"; /* ou "▼" ou "►" */
  width: 20px;
  height: 20px;
  position: absolute;
  right: 20px;
  top: 20px;
  transform-origin: center center; 
  transform: rotate(0deg);
  transition: transform 0.3s ease;
}

/* Rotation quand le details est ouvert */
.contenu_gutenberg .wp-block-details[open] summary::after {
  transform: rotate(90deg);
}

.contenu_gutenberg iframe{
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}

.wp-block-table{
    margin-top: 30px;
    margin-bottom: 30px;
}
.wp-block-table td{
    padding: 10px;
    border: 1px solid white !important;
    line-height: 130%;
}
.wp-block-table th{
    padding: 10px;
    line-height: 130%;
    font-size: 1em;
    font-weight: bold;
}
.wp-block-table thead tr{
    background-color: var(--couleur_principale);
    color: white;
}
.wp-block-table tbody tr:nth-child(even){
    background-color: #e5eddc;
}
.wp-block-table tbody tr:nth-child(odd){
    background-color: #f5f7f2;
}
.wp-block-table thead{
    border-bottom: 3px solid white;
}

.wp-block-media-text.is-image-fill-element>.wp-block-media-text__media{
    position: relative;
}
.wp-block-media-text.is-image-fill-element>.wp-block-media-text__media img{
    position: absolute;
}

/*** Diaporamas slick sur page ***/
.wp-block-group, .slick-diaporama .description-diapo{
    transition: all 0.2s ease-in-out;
}
.contenu_gutenberg > .wrapper-slick-diaporama{
    max-width: 100%;
}
.contenu_gutenberg .wp-block-group__inner-container:has(> .wrapper-slick-diaporama) {
    max-width: none;
    padding: 0;
}
.wrapper-slick-diaporama{
    position: relative;
    width: 100%;
    padding: 80px 30px;
}
.wrapper-slick-diaporama .slick-diaporama{
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
}
.wrapper-slick-diaporama .slick-diaporama .slick-list{
    height: 40vw;
    max-height: 600px;
}
.wrapper-slick-diaporama .slick-diaporama .slick-track{
    height: 100%;
}
.wrapper-slick-diaporama .slick-diaporama .slick-track .slide{
    position: relative;
    height: 100%;
    overflow: hidden;
}
.wrapper-slick-diaporama .slick-diaporama .slick-track .slide img{
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 30px;
    position: relative;
    z-index: 1;
}
.slick-diaporama .description-diapo{
    position: absolute;
    right: -15px;
    bottom: -15px;
    background: var(--couleur_principale);
    z-index: 2;
    width: 350px;
    height: auto;
    padding: 15px;
    /*padding: 15px 30px 30px 15px;*/
    border-radius: 30px;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0;
}

.slick-diaporama .inner-description-diapo{
    background: white;
    padding: 30px;
    border-radius: 30px;
    /*box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 12px 12px;*/
}
.slick-diaporama .inner-description-diapo .wp-block-button__link{
    background-color: var(--couleur_principale);
    width: auto;
}
.slick-diaporama .inner-description-diapo p{
    color: var(--couleur_principale);
}


/*** gestion des galeries ***/
/* Masonry layout */
.wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery {
  display: block !important; /* annule flex */
  column-count: 4;
  column-gap: 15px;
  margin-bottom: 45px;
  margin-top: 60px;
}

.wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery.columns-5 {
  column-count: 5;
}
.wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery.columns-4 {
  column-count: 4;
}
.wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery.columns-3 {
  column-count: 3;
}
.wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery.columns-2{
  column-count: 2;
}

.wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery figure.wp-block-image {
  display: inline-block;
  width: 100% !important;
  margin: 0 0 1rem;
  break-inside: avoid;
}
@media (max-width: 1024px) {
  .wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery.columns-4,
  .wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery.columns-3,
  .wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery.columns-5 {
    column-count: 2;
  }
}

@media (max-width: 600px) {
  .wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery{
    column-count: 1 !important;
  }
}
.wp-block-gallery.wp-block-gallery-is-layout-flex.masonry-gallery {
  display: block !important;
}
.masonry-gallery {
  column-count: 4;
  column-gap: 1rem;
}
.masonry-gallery figure.wp-block-image {
  break-inside: avoid;
  margin: 0 0 15px 0 !important;
  display: inline-block;
}

/*** Video Youtube ***/
.wp-block-embed,
.wp-block-embed__wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 30px;
    margin-bottom: 30px;
}
.wp-block-embed.is-type-video iframe {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    display: block;
}


/*** partage reseaux ***/
.titre-partager{
    font-weight: bold;
    margin-top: 80px;
    margin-bottom: 15px;
    font-size: 20px;
    color: var(--couleur_principale);
}
.social-share-buttons{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    flex-wrap: wrap;
}

.social-share-buttons a{
    color: black;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}
.social-share-buttons a:hover{
    color: var(--couleur_secondaire);
    text-decoration: none;
}
.social-share-buttons .dashicons{
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 30px;
}


/*** gestion couleur lie ***/
.contenu-article.lieu-66 .info-lieu-event,
.contenu-article.lieu-66 .titre-bloc-annexe,
.contenu-article.lieu-66 .rappel-inscription,
.contenu-article.cat-la-maison-du-terre .info-lieu-event,
.contenu-article.cat-la-maison-du-terre .titre-bloc-annexe,
.contenu-article.cat-la-maison-du-terre .rappel-inscription,
body.page-id-265 #colonne-infos-ressources .titre-bloc-annexe,
body.page-id-265 #colonne-infos-ressources .rappel-inscription{
    background-color: var(--vert);
    color: white;
}

.contenu-article.lieu-407 .info-lieu-event,
.contenu-article.lieu-407 .titre-bloc-annexe,
.contenu-article.lieu-407 .rappel-inscription,
.contenu-article.cat-la-maison-du-tri .info-lieu-event,
.contenu-article.cat-la-maison-du-tri .titre-bloc-annexe,
.contenu-article.cat-la-maison-du-tri .rappel-inscription{
    background-color: var(--jaune);
    color: var(--couleur_principale);
}
.contenu-article.lieu-407 .titre-bloc-annexe h2,
.contenu-article.cat-la-maison-du-tri .titre-bloc-annexe h2{
    color: var(--couleur_principale);
}


/* ************************ PAGE ACTUS ************************ */
#news-tabs{
    margin-bottom: 80px;
}
#news-tabs .articles{
    gap: 30px;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
.article-item{
    width: calc(50% - 15px);
}
.article-item.hidden {
    display: none;
}
.article-item a {
    text-decoration: none;
}

#news-tabs .tabs{
    margin-top: 50px;
    margin-bottom: 40px;
}

/*** Layz Load Youtbue ***/
.yt-lazy-load {
    background-color: #000;
    position: relative;
    padding-bottom: 56.25%; /* Ratio 16:9 */
    background-size: cover;
    background-position: center;
    cursor: pointer;
    display: block;
}

.yt-lazy-load .play-button {
    width: 70px;
    height: 46px;
    background-color: rgba(33, 33, 33, 0.8);
    border-radius: 12%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: background-color 0.3s;
}

.yt-lazy-load:hover .play-button {
    background-color: #FF0000;
}

.yt-lazy-load .play-button:before {
    content: "";
    border-style: solid;
    border-width: 10px 0 10px 20px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%);
}


/* ************************ Page Agenda ************************ */
body.post-type-archive-tribe_events main#main{
    background-color: var(--couleur_principale);
}

body.post-type-archive-tribe_events #news-tabs{
    padding-bottom: 80px;
    margin-bottom: 0;
}

body.post-type-archive-tribe_events  #bandeau-entete{
    background-color: var(--couleur_principale);
}
body.post-type-archive-tribe_events  #bandeau-entete .titre-wrapper-contenu{
    color: white;
    padding-bottom: 60px;
    padding-top: 60px;
    margin-bottom: 0;
    margin-top: 0;
}
body.post-type-archive-tribe_events  #bandeau-entete .titre-wrapper-contenu h1{
    color: white;
}
body.post-type-archive-tribe_events  #news-tabs .tabs{
    margin-top: 0;
    padding-top: 50px;
}
body.post-type-archive-tribe_events  #news-tabs .tabs .wp-block-button__link {
    background: white !important;
    color: var(--couleur_principale) !important;
}
body.post-type-archive-tribe_events  #news-tabs .tabs .active .wp-block-button__link {
    background: var(--bleu) !important;
    color: white !important;
}
body.post-type-archive-tribe_events  #news-tabs h3{
    color: white;
}
body.post-type-archive-tribe_events .inner-evt-accueil{
    min-height: 175px;
}

#prochains-evenements-mdlt {
    gap: 30px;
    margin-bottom: 60px;
}

#prochains-evenements-mdlt .inner-evt-accueil{
    min-height: 230px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}
#prochains-evenements-mdlt  .evt-accueil{
    width: calc(50% - 15px);
}

#prochains-evenements-mdlt .bloc-contenu-evt,
#prochains-evenements-mdlt .bloc-contenu-evt p{
    color: var(--couleur_principale);
}
#prochains-evenements-mdlt .horaires-evt{
    background: var(--couleur_principale);
    color: white;
}
#prochains-evenements-mdlt .date-evt{
    color: var(--couleur_principale);
}
#prochains-evenements-mdlt .evt-accueil:hover .inner-evt-accueil{
    background: white;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 1px, rgba(0, 0, 0, 0.1) 0px 2px 2px, rgba(0, 0, 0, 0.1) 0px 4px 4px, rgba(0, 0, 0, 0.1) 0px 8px 8px, rgba(0, 0, 0, 0.1) 0px 16px 16px;
}

/* ************************ PAGE ERREUR (404) ************************ */


/* ************************ FOOTER ************************ */

/*** logos partenaires ***/
section#footer{
    box-shadow: 0px 20px 15px 5px rgba(0, 0, 0, 0.1);
    position: relative;
}

#logos-footer{
    width: 100%;
    position: relative;
}
.partenaires-logos{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    gap: 20px;
    padding: 30px 20px;

}
img.logo_partenaire{
    width: 180px;
    height: 112px;
    padding: 10px;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    filter: grayscale(1);
    opacity: 0.7;

}
.footer-rounded-shape {
  position: relative;
  width: 100%;
  line-height: 0;
  overflow: hidden;
  margin-top: -20px;
}
.footer-rounded-shape svg {
  display: block;
  width: 100%;
  height: 20px;
  margin-bottom: -2px;
}

/*** newsletter ***/
#bandeau-newsletter{
    background: var(--vert);
    position: relative;
    padding: 30px 20px;
    overflow: hidden;
}

#bandeau-newsletter h2{
    color: white;
    text-align: left;
    font-size: 36px;
    margin-bottom: 0;
}
#bandeau-newsletter .pre-titre{
    color: white;
    text-align: left;
    padding-left: 3px;
}
.inner-bandeau-newsletter{
    position: relative;
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
}

.inner-bandeau-newsletter .titre-wrapper-contenu:before{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -150px;
    width: 115px;
    height: 50px;
    background: url(/wp-content/themes/lestudio/img/picto_newsletter.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

#formulaire-newsletter form {
    color: var(--couleur_principale);
}

#formulaire-newsletter form a{
    color: var(--couleur_principale);
}
.contenu_gutenberg .sib_signup_form {
    max-width: 600px;
}

#formulaire-newsletter input[type="checkbox"],
.contenu_gutenberg .sib_signup_form input[type="checkbox"]{
    margin-right: 10px;
}

#formulaire-newsletter input[type="email"],
.contenu_gutenberg .sib_signup_form input[type="email"],
.contenu_gutenberg .sib_signup_form input[type="text"]{
    width: 300px;
    max-width: 100%;
    height: 40px;
    border-radius: 30px;
    font-size: 15px;
    line-height: 30px;
    padding: 5px 15px;
    border: none;
    margin-right: 15px;
}
#formulaire-newsletter input[type="submit"],
.contenu_gutenberg .sib_signup_form input[type="submit"]{
    width: 95px;
    max-width: 100%;
    height: 40px;
    border-radius: 30px;
    font-size: 15px;
    line-height: 30px;
    padding: 5px 15px;
    border: none;
    text-align: center;
    color: white;
    background-color: var(--couleur_principale);
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}
#formulaire-newsletter input[type="submit"]:hover,
.contenu_gutenberg .sib_signup_form input[type="submit"]:hover{
    opacity: 0.8;
}
#formulaire-newsletter form div{
    margin-bottom: 15px;
}
.contenu_gutenberg .sib_signup_form input[type="text"],
.contenu_gutenberg .sib_signup_form input[type="email"]{
    width: 100% !important;
}

#bandeau-footer{
    background: white;
    padding: 60px 15px;
    color : var(--couleur_principale);
}
#bandeau-footer p{
    color : var(--couleur_principale);
}

.inner-bandeau-footer{
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

#btn-contact-footer .wp-block-button__link{
    background-color: var(--couleur_principale);
    margin-top: 30px;
}

.btn-tel-footer{
    display: block;
    line-height: 30px;
    margin-top: 30px;
    font-size: 18px;
    text-decoration: none;
    color: var(--couleur_principale);
}

.btn-tel-footer:hover{
    text-decoration: underline;
}

.btn-tel-footer img{
    vertical-align: middle;
    margin-right: 10px;
}

#colonne-infos-footer > div{
    margin-bottom: 30px;
}
#colonne-infos-footer > div strong{
    font-size: 16px;
}

#menu-footer{
    padding-left: 0;
}
#menu-footer li{
    list-style: none;
    margin-bottom: 20px;
}
#menu-footer li strong{
    font-size: 16px;
}
#menu-footer li a{
    display: block;
    text-decoration: none;
    padding-left: 0;
    padding-right: 10px;
    transition: all 0.2s ease-in-out;
    color: var(--couleur_principale);
}
#menu-footer li a:hover{
    padding-left: 10px;
    padding-right: 0;
}

#colonne-infos-footer, #colonne-menu-footer{
    margin-top:30px;
}
#colonne-logo-footer{ margin-bottom: 30px; }

#bandeau-reseaux-footer{
    background: white;
    padding: 30px 15px;
}

#bandeau-reseaux-footer .block-reseaux-footer{
    gap: 20px;
}

#bandeau-reseaux-footer img{
    width: 40px;
    height: 40px;
    object-fit: contain;
    object-position: center;
}

#bandeau-reseaux-footer .btn-preheader{
    padding-top: 5px;
    padding-bottom: 0;
    transition: all 0.2s ease-in-out;
}

#bandeau-reseaux-footer .btn-preheader:hover{
    padding-top: 0;
    padding-bottom: 5px;
}


/*** CARTE SVG ***/
#tooltip {
    position: absolute;
    display: none;
    background: white;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    max-width: 250px;
    word-wrap: break-word;
    font-size: 14px;
    /*pointer-events: none;*/
    z-index: 1000;
    text-align: center;
    /* Pour gérer la flèche via ::after */
}

#tooltip::after {
    content: "";
    position: absolute;
    bottom: -8px;        /* place la flèche juste sous la bulle */
    left: 50%;           /* centre horizontalement */
    transform: translateX(-50%);
    border-width: 8px 8px 0 8px;   /* triangle pointant vers le bas */
    border-style: solid;
    border-color: white transparent transparent transparent; /* couleur de la bulle */
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.1)); /* légère ombre sur la flèche */
}

#tooltip h3{
    font-size: 14px;
    margin-top: 0;
    margin-bottom: 0;
}

#tooltip div p{
    font-size: 12px;
}

#svg-container{
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 30px;
    background: #DCE1E3;
}

#bloc-carte{
    position: relative;
    padding: 30px;
    z-index: 1;
    width: 100%;
}

#zoom-in, #zoom-out{
    position: absolute;
    right: 45px;
    width: 30px;
    height: 30px;
    border-radius: 5px;
    font-size: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: white;
    border: 1px solid var(--gris_clair);
    transition: all 0.2s ease-in-out;
    opacity: 1;
    cursor: pointer;
}
#zoom-in{
    bottom: 95px;
}
#zoom-out{
    bottom: 55px;
}
#zoom-in:hover, #zoom-out:hover{
    opacity: 0.8;
}

/*** carte accueil ***/
#presentation-kerval{
    width: 100%;
    position: relative;
}
#colonne-carte-presentation{
    position: relative;
    width: 50%;
}
#colonne-texte-presentation{
    position: relative;
    width: 50%;
}
#colonne-carte-presentation #bloc-carte{
    padding: 30px 0;
}
#colonne-carte-presentation #bloc-carte #svg-container{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/*** carte page ***/
.contenu_gutenberg #bloc-carte{
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
}

#legende-carte{
    width: 100%;
    gap: 20px;
}
#legende-carte p{
    line-height: 120%;
    margin-bottom: 0;
    margin-top: 0;
}
.leg-carte{
    width: 200px;
    max-width: 100%;
    gap: 15px;
}


/*** PAGE CONTACT ***/
.contact-item {
    gap: 15px;
    margin-bottom: 30px;
    margin-top: 15px;
}
.contact-item .photo{
    width: 80px;
}
.contact-item .infos{
    width: calc(100% - 95px);
}
.contact-item .photo img{
    width: 80px;
    height: 80px;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
}
.contact-item h3{
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
}
.contact-item p{
    margin-top: 0;
    margin-bottom: 0;
}
.contact-item .email-contact,
.contact-item .tel-contact{
    margin-top: 5px;
    margin-bottom: 5px;
    font-size: 14px;
}
.contact-item .email-contact{
    font-weight: bold;
}
.contact-item .description-contact{
    font-size: 14px;
    line-height: 120%;
    color: var(--bleu);
}

.wpcf7{
    padding: 30px;
    border-radius: 30px;
    background: white;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea{
    width: 100%;
    padding: 10px 15px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
}
.wpcf7 p{
    margin-bottom: 30px;
}

.wpcf7 input[type="submit"]{
    width: 180px;
    height: 40px;
    background: var(--couleur_principale);
    color: white;
    font-weight: bold;
    font-size: 16px;
    border: none;
    border-radius: 30px;
}

.wpcf7 select{
    -webkit-appearance: none;
    -moz-appearance: none;
}

/*** sidebar ***/
.bloc-avec-sidebar {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    margin-bottom: 2rem;
    z-index: 2;
    position: relative;
}

.bloc-avec-sidebar > div {
    flex: 1 1 0;
}

#colonne-infos-ressources {
    flex: 0 0 400px;
    margin-top: -60px;
}
#colonne-infos-ressources .bloc-annexe{
    margin-bottom: 0;
}

.contenu_gutenberg .titre-bloc-annexe h2{
    margin-top: 0;
    margin-bottom: 0;
}

#toggle-sidebar-popup {
    position: fixed;
    bottom: 15px;
    right: 15px;
    background: var(--couleur_principale);
    border: none;
    border-radius: 50%;
    z-index: 9999;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    width: 50px;
    height: 50px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
#toggle-sidebar-popup  img,
#toggle-sidebar-popup  svg {
  width: 24px;
  height: 24px;
  pointer-events: none;
}

#colonne-infos-ressources.visible-en-popup {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 400px;
    max-width: 100%;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    z-index: 9998;
    padding: 50px 30px 30px 30px;
}

@media (max-width: 1023px) {
  #colonne-infos-ressources {
    display: none;
  }

  #colonne-infos-ressources.visible-en-popup {
    display: block;
  }
}

#colonne-infos-ressources .lien-infos a{
    display: flex;
    padding: 15px;
    border-radius: 30px;
    background: white;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    color: var(--couleur_principale);
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    font-weight: bold;

}

#colonne-infos-ressources .lien-infos a:hover{
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
    z-index: 2;
}
#colonne-infos-ressources .lien-infos a img{
    margin-right: 15px;
    vertical-align: middle;
}

.contenu_gutenberg #colonne-infos-ressources ul{
    padding: 0;
    margin: 30px 0;
}

.contenu_gutenberg #colonne-infos-ressources li{
    list-style: none;
    margin: 0;
    padding: 0;
}

#colonne-infos-ressources .titre-bloc-annexe,
#colonne-infos-ressources .rappel-inscription{
    background-color: var(--couleur_principale);
}



/*** gestion padding contneu gutenberg ***/
.contenu_gutenberg > *:not(.wp-block-group), .contenu-sans-group{
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
}
.contenu_gutenberg > .bloc-avec-sidebar{
    padding-left: 0px;
    padding-right: 0px;
}

.colonne-principale-article .contenu_gutenberg > *:not(.wp-block-group){
    padding-left: 0px;
    padding-right: 0px;
}
.colonne-principale-article .contenu_gutenberg > *:not(.wp-block-group).has-background{
    padding-left: 15px;
    padding-right: 15px;
}

.contenu_gutenberg > .wp-block-media-text{
    max-width: 100%;
    padding: 80px 0;
}
.contenu_gutenberg > .wp-block-media-text .wp-block-media-text__content{
    max-width: calc(50vw - (50vw - 670px));
    justify-self: flex-start;
    padding-left: 10%;
    padding-right: 0;
    padding-bottom: 50px;
    padding-top: 30px;
}
.contenu_gutenberg > .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
    justify-self: flex-end;
    padding-left: 0;
    padding-right: 10%;
}
.contenu_gutenberg > .wp-block-media-text .wp-block-media-text__media img{
    border-top-right-radius: 80px;
    border-bottom-right-radius: 80px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.contenu_gutenberg > .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media img{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 80px;
    border-bottom-left-radius: 80px;
}

.contenu_gutenberg > .wp-block-group > .wp-block-group__inner-container > *:first-child{
    margin-top: 60px;
}
.contenu_gutenberg > .wp-block-group > .wp-block-group__inner-container > *:last-child{
    margin-bottom: 60px;
}


/*** Image LightBox ***/



/* ************************ COPYRIGHT ************************ */
#copyright {
    background-color: white;
    text-align: center;
    padding: 15px 15px 30px 15px;
}
#copyright span{
    font-weight: lighter;
    margin-left: 10px;
    margin-right: 10px;
}
#copyright a{
    color: var(--couleur_principale);
    text-decoration: none;
}
#copyright a:hover{
    text-decoration: underline;
}

.lestudio {
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 15px;
}
.lestudio img {
    margin: 5px;
}


.amelia-v2-booking #amelia-container.am-fs__wrapper{
    margin-top: 60px !important;
}
.amelia-v2-booking, .amelia-v2-booking #amelia-container{
    max-width: 1340px;
}


/*** Intégration ***/

.colonnes-large{
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
}
.colonnes-elus,
.colonnes-2{
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.colonnes-elus.colonnes-2{
    max-width: 600px;
}

.colonnes-encart > .wp-block-column,
.wp-block-column.colonne-vignette{
    border-radius: 30px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}
.colonnes-encart > .wp-block-column > .wp-block-image{
    margin-top: 0;
}
.colonnes-encart > .wp-block-column > p,
.colonnes-encart > .wp-block-column > h3{
    padding-left: 15px;
    padding-right: 15px;
}

.colonnes-encart > .wp-block-column > *:last-child,
.wp-block-column.colonne-vignette > *:last-child{
    padding-bottom: 30px;
}

.colonnes-infos-pratiques .wp-block-columns{
    margin-bottom: 0;
    margin-top: 0;
}

p.paragraphe-court{
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.contenu_gutenberg ul.wp-block-social-links{
    padding-left: 0;
}
.contenu_gutenberg ul.wp-block-social-links li svg{
    width: 30px;
    height: 30px;
}
.contenu_gutenberg > .colonnes-full{
    max-width: 100%;
    justify-content: center;
}

.contenu_gutenberg > .colonnes-full > .wp-block-column{
    max-width: 610px;
}
.contenu_gutenberg .colonnes-titre-infos{
    gap: 10px;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}
.contenu_gutenberg .colonnes-titre-infos .wp-block-column .wp-block-image,
.contenu_gutenberg .colonnes-titre-infos .wp-block-column p{
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}
/*.contenu_gutenberg > .colonnes-full > .wp-block-column.colonne-form-scolaire{
    max-width: 680px;
}
.contenu_gutenberg > .colonnes-full > .wp-block-column.colonne-infos-scolaire{
    max-width: 500px;
}*/
.contenu_gutenberg .colonne-infos-scolaire .wp-block-columns{
    gap: 30px;
}
.contenu_gutenberg .colonne-infos-scolaire .colonnes-titre-infos{
    gap: 10px;
    margin-bottom: 0;
    margin-top: 15px;
    padding: 0;
}
.groupe-encart{
    padding: 30px;
    border-radius: 30px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
    margin-top: 30px;
    margin-bottom: 30px;
    border-left: 6px solid #6490AA;
}
.groupe-encart *:first-child{ margin-top: 0; }
.groupe-encart *:last-child{ margin-bottom: 0; }

.wp-block-separator {
    border: none;
    border-top: 2px solid #E2E2E2 !important;
    margin-top: 30px;
    margin-bottom: 30px;
}
.has-large-font-size{ font-size: 28px !important; }


/*** Rapport d'activité ***/
#liste-rapports{
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 30px;
    max-width: 1145px;
}
#liste-rapports .rapports{
    width: 200px;
}
#liste-rapports .rapports img{
    width: 200px;
    height: 280px;
    object-fit: cover;
    object-position: center;
    margin-bottom: 5px;
    margin-top: 5px;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}
#liste-rapports .rapports a:hover img{
    margin-bottom: 0px;
    margin-top: 10px;
}
#liste-rapports .rapports p{
    margin-top: 0;
}
#liste-rapports a{
    font-weight: bold;
    text-decoration: none;
}

/*** Délibérations ***/
.liste-deliberations, .liste-marches{
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
}
.liste-deliberations summary{
    cursor: pointer;
}
.liste-deliberations > details > details {
    padding: 15px;
    background: white;
    margin-top: 15px;
    margin-bottom: 15px;
}

.liste-marches > details {
    padding: 15px;
    background: white;
    margin-top: 15px;
    margin-bottom: 15px;
    border-radius: 15px;
}

.liste-marches > details > summary {
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
}
.liste-marches .delib-description{
    margin-top: 30px;
}

.liste-deliberations > details > summary {
    position: relative;
    cursor: pointer;
    list-style: none;
    font-size: 22px;
    font-weight: bold;
    border-radius: 15px;
    padding: 20px 30px 10px 30px;
    background: var(--bleu);
    color: white;
    position: relative;
    margin-bottom: 10px;
    padding-right: 1.5em;
}
.liste-deliberations > details > summary::after {
    content: "▸";
    width: 20px;
    height: 20px;
    position: absolute;
    right: 20px;
    top: 20px;
    transform-origin: center center;
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}
.liste-deliberations > details[open] > summary::after {
    transform: rotate(90deg);
}

.delib-description{
    margin-top: 15px;
    margin-bottom: 15px;
}
.liste-deliberations > details > details ul{
    margin-top: 15px;
}

.liste-deliberations > details > details > summary{
    font-weight: bold;
    font-size: 1.1em;
}
.liste-deliberations > details > details ul{
    padding-left: 0;
}
.liste-deliberations > details > details ul li {
    list-style: none;
}
.liste-deliberations > details > details ul li svg,
.liste-marches > details ul li svg{
    vertical-align: middle;
    margin-right: 10px;
}

/*** Composition fiche valoriser ***/
.colonne_fiche_valoriser {
    padding: 15px;
    border-radius: 15px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
    position: relative;
}
.colonne_fiche_valoriser  .wp-block-table{
    margin-top: 0;
    margin-bottom: 0;
}
.colonne_fiche_chiffres_cles .wp-block-columns,
.colonne_fiche_chiffres_cles .wp-block-column{
    margin: 0;
}
.colonne_fiche_chiffres_cles .wp-block-columns{
    padding: 10px 10px 0 10px;
    gap: 10px;
}
.colonne_fiche_chiffres_cles .wp-block-column p{
    margin: 0;
}

.colonne_fiche_chiffres_cles .wp-block-columns .wp-block-column{
    padding: 10px;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.colonne_fiche_valoriser .wp-block-table td{
    color: black;
}
.colonne_fiche_valoriser .wp-block-table tbody tr:nth-child(odd) {
    background-color: #ffe788;
}
.colonne_fiche_valoriser .wp-block-table tbody tr:nth-child(even) {
    background-color: #fff0b3;
}
.colonne_fiche_valoriser.colonne_vert .wp-block-table tbody tr:nth-child(odd) {
    background-color: #d8f4a1;
}
.colonne_fiche_valoriser.colonne_vert .wp-block-table tbody tr:nth-child(even) {
    background-color: #eafacb;
}
.colonne_fiche_valoriser.colonne_rouge .wp-block-table tbody tr:nth-child(odd) {
    background-color: #ffae93;
}
.colonne_fiche_valoriser.colonne_rouge .wp-block-table tbody tr:nth-child(even) {
    background-color: #ffcebd;
}


.colonne_fiche_chiffres_cles h2{
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 24px;
}
.colonne_fiche_valoriser h2{
    position: absolute;
    top: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding: 5px 15px !important;
    font-family: 'Kalam';
    font-size: 24px;
    font-weight: bold;
    transform: translateX(-30px) translateY(-30px) rotate(-3deg);
}

#dates-cles.wp-block-group{
    position: relative;
    overflow: hidden;
}
#dates-cles.wp-block-group:before {
    position: absolute;
    content: "";
    background: url(/wp-content/themes/lestudio/img/fond_bandeau_presentation.svg);
    width: 12vw;
    height: 100%;
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
    z-index: 0;
}
.timeline_valoriser .wp-block-group__inner-container{
    max-width: 1024px !important;
    position: relative;
}
.timeline_valoriser .colonne_detail_dates{
    border-bottom: 3px solid #c4c4c4;
    padding: 15px;
    position: relative;
}
.timeline_valoriser .wp-block-columns{
    margin-top: 0;
    margin-bottom: 0;
}
.timeline_valoriser p{
    margin-top: 0;
}
.timeline_valoriser .colonne_detail_dates p{
    margin-bottom: 15px;
}
.timeline_valoriser .colonne_detail_dates p:last-child{
    margin-bottom: 0;
}
.timeline_valoriser .colonne_detail_dates:after {
    content: "";
    position: absolute;
    top: 50%;
    right: -13px;
    width: 0;
    height: 0;
    margin-top: -14px;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 14px solid #F5F5F5;
}
.timeline_valoriser .colonne_detail_dates:last-child:after {
    left: -13px;
    border-left: none;
    border-right: 14px solid #F5F5F5;
}

.timeline_valoriser > .wp-block-group__inner-container > .wp-block-columns{
    position: relative;
}
.timeline_valoriser > .wp-block-group__inner-container > .wp-block-columns:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    margin: -6px auto 0;
    background: var(--couleur_principale);
    border-radius: 50%;
    z-index: 2;
}
.timeline_valoriser > .wp-block-group__inner-container:before {
    content: "";
    position: absolute;
    top: 150px;
    left: 50%;
    transform: translateX(-50%);
    width: 3px;
    height: calc(100% - 210px);
    margin: auto;
    background: #dddddd;
}

/*** Badge Annulé ***/
.badge-annule {
    display: inline-block;
    background-color: #e74c3c;
    color: #ffffff;
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 10px 15px;
    border-radius: 50px;
    margin-bottom: 20px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/*** message confirm résa ***/
.custom-finish-message {
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid #dc3545;
    background-color: #f8d7da;
    color: #721c24;
    border-radius: 0.25rem;
    font-weight: 500;
    text-align: center;
}


/* BOUTON DE RECHERCHE EN-TÊTE */
.header-search-container {
    position: absolute;
    display: inline-block;
    top: 60px;
    right: 25px;
    z-index: 2;
}

.search-toggle-btn {
    background: transparent;
    border: 2px solid var(--couleur_principale);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #333;
}

.search-toggle-btn:hover {
    background: var(--couleur_principale);
    color: #fff;
    transform: scale(1.1);
}

.search-form-wrapper {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
}

.search-form-wrapper.active {
    opacity: 1;
    visibility: visible;
}

.search-form {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid var(--couleur_principale);
    border-radius: 25px;
    padding: 5px 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    min-width: 300px;
}

.search-field {
    border: none;
    outline: none;
    padding: 8px 12px;
    font-size: 14px;
    flex: 1;
    background: transparent;
}

.search-field::placeholder {
    color: #999;
}

.search-submit,
.search-close {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--couleur_principale);
    transition: color 0.3s ease;
}

.search-submit:hover,
.search-close:hover {
    color: #0073aa;
}

.search-close {
    margin-left: 5px;
}

/* Responsive */
@media (max-width: 768px) {
    .search-form {
        min-width: 250px;
        right: -10px;
    }
}

/* ************************ PAGE RESULTATS RECHERCHES ************************ */

.element-recherche h2{
    text-align: left !important;
    margin-bottom: 0;
}

.element-recherche h2 strong:after,
.element-recherche h2 strong:before{
    display: none !important;
}

.page_recherche .resultats-recherche {
    padding-top: 60px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.page_recherche .resultats-recherche .titre-recherche{
    margin: 25px 0 10px 0;
    padding-bottom: 5px;
    border-bottom: solid 4px var(--couleur_principale);
    display: flex;
    justify-content: space-between;
}

.page_recherche .resultats-recherche span {
    color: var(--couleur_secondaire);
    font-weight: bold;
    font-size: 0.9em;
    text-transform: uppercase;
    width: 150px;
    text-align: right;
}


.element-recherche {
    list-style: none !important;
    margin-bottom: 50px !important;

}

.element-recherche a{
    text-decoration: none;
}

.search-excerpt {
    background-color: #f7a900;
    padding: 0 5px;
    color: white;
}

.rubrique-recherche {
    color: #4fbacd;
    font-size: 0.9em;
    font-style: italic;
}

.date-recherche {
    color: grey;
    font-size: 0.8em;
}

.pagination .page-numbers {
    padding: 8px;
    font-size: 1em;
}

.pagination .page-numbers.current {
    border: solid 1px var(--couleur_principale);
    color: #007796;
}

.page_recherche .pagination{
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.element-recherche h2{
    margin-top: 0;
    font-size: 1.4em;
    width: calc(100% - 150px);
}

/*******************************************/
/************** MEDIA QUERIES **************/
/*******************************************/


@media only screen and (min-width : 1400px) {
    .wp-block-columns{
        gap: 60px;
    }
}

/*** MAX MEGA MENU ***/
.menu-logo > a {
    font-size: 0 !important;
    padding: 0 !important;
    width: 170px !important;
    height: 130px !important;
    overflow: hidden !important;
}


@media only screen and (min-width : 1024px) {
    #mega-menu-wrap-Top{
        background: white !important;
        padding-top: 15px;
        z-index: 2;
    }
    #mega-menu-Top{
        position: relative;
        z-index: 2;
        width: 100% !important;
        max-width: 1024px !important; 
        margin-left: auto !important; 
        margin-right: auto !important; 
    }
    .menu-logo > a::before {
        content: "" !important;
        display: block !important;
        width: 170px !important;
        height: 127px !important;
        background-image: url('/wp-content/themes/lestudio/img/logo-kerval-centre-couleur.svg') !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        margin: 0 auto !important;
    }

    #mega-menu-wrap-Top #mega-menu-Top li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator{
        display: block !important;
        bottom: 60px !important;
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        height: 40px !important;
        font-size: 25px !important;
        margin-left: 0 !important;
        opacity: 0 !important;
        transition: all 0.2s ease-in-out;
    }
    #mega-menu-wrap-Top #mega-menu-Top li.mega-menu-item-has-children > a.mega-menu-link:hover > span.mega-indicator{
        opacity: 1 !important;
    }

    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-item{
        width: calc(25% - 45px) !important;
    }
    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-item.menu-logo {
        width: 170px !important;
    }
    #mega-menu-Top > .mega-menu-item > .mega-sub-menu:after {
        position: absolute !important;
        content: "" !important;
        display: block !important;
        z-index: 1 !important;
        width: 100% !important;
        height: 100% !important;
        left: -100% !important;
        background: var(--couleur_principale) !important;
        pointer-events: none;
    }  
    #mega-menu-Top > .mega-menu-item > .mega-sub-menu:before {
        position: absolute !important;
        content: "" !important;
        display: block !important;
        z-index: 1 !important;
        width: 100% !important;
        height: 100% !important;
        right: -100% !important;
        background: var(--couleur_principale) !important;
        pointer-events: none;
    }


    /*** valoriser ***/
    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-megamenu.mega-menu-item-31 > ul.mega-sub-menu,
    #mega-menu-Top > .mega-menu-item.mega-menu-item-31 > .mega-sub-menu:before,
    #mega-menu-Top > .mega-menu-item.mega-menu-item-31 > .mega-sub-menu:after {
        background: var(--jaune) !important;
    }
    #mega-menu-wrap-Top #mega-menu-Top li.mega-menu-item-has-children.mega-menu-item-31 > a.mega-menu-link > span.mega-indicator:after{
        color: var(--jaune) !important;
    }
     #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-megamenu.mega-menu-item-31 > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link{
        color: var(--couleur_principale) !important;
    }

    /*** sensibiliser ***/
    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-megamenu.mega-menu-item-30 > ul.mega-sub-menu,
    #mega-menu-Top > .mega-menu-item.mega-menu-item-30 > .mega-sub-menu:before,
    #mega-menu-Top > .mega-menu-item.mega-menu-item-30 > .mega-sub-menu:after {
        background: var(--bleu) !important;
    }
    #mega-menu-wrap-Top #mega-menu-Top li.mega-menu-item-has-children.mega-menu-item-30 > a.mega-menu-link > span.mega-indicator:after{
        color: var(--bleu) !important;
    }

    /*** réduire ***/
    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-megamenu.mega-menu-item-29 > ul.mega-sub-menu,
    #mega-menu-Top > .mega-menu-item.mega-menu-item-29 > .mega-sub-menu:before,
    #mega-menu-Top > .mega-menu-item.mega-menu-item-29 > .mega-sub-menu:after {
        background: var(--vert) !important;
    }
    #mega-menu-wrap-Top #mega-menu-Top li.mega-menu-item-has-children.mega-menu-item-29 > a.mega-menu-link > span.mega-indicator:after{
        color: var(--vert) !important;
    }


    .amelia-v2-booking #amelia-container.am-fs__wrapper{ margin-left: 0 !important; }
    .mega-menu-column{ margin-top: 60px !important; margin-bottom: 60px !important; position: relative !important; border-right: 1px solid rgba(255, 255, 255, 0.5) !important; padding-left: 30px !important; padding-right: 30px !important;}
    .mega-menu-column:last-child{ border-right: 0px solid white !important; }
    #mega-menu-wrap-Top #mega-menu-Top li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item{ padding: 10px !important; }
    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link{ transition: all 0.2s ease-in-out !important; padding-right: 15px !important; padding-left: 0px !important; min-height: 35px !important; vertical-align: middle !important; }
    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover{ padding-right: 0px !important; padding-left: 15px !important }
    .mega-has-icon .mega-menu-link:before{ font-size: 21px !important; vertical-align: middle !important; margin-right: 10px !important; }
    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item h4.mega-block-title{ min-height: 35px !important; vertical-align: middle !important; font-weight: 900 !important; }
}

@media only screen and (max-width : 1023px) {
    .bottom-rounded-shape{ display: none; }
    .menu_ordi{ position: fixed; top: 16px; left: 16px; z-index: 9;}
    #mega-menu-wrap-Top .mega-menu-toggle .mega-toggle-block-1:after{ margin: 0 !important; font-size: 35px !important; color: white !important; width: 38px !important;}
    #mega-menu-wrap-Top .mega-menu-toggle{ line-height: 50px !important; height: 50px !important; width: 50px !important; border-radius: 50% !important; text-align: center !important; transition: all 0.2s ease-in-out; }
    #mega-menu-wrap-Top .mega-menu-toggle:hover{ background: #6490AA !important; }
    #mega-menu-Top{ padding-top: 150px !important; }
    /*#mega-menu-Top:before{ content: "" !important; position: absolute !important; display: block !important; height: 120px !important; width: 60% !important; top: 15px !important; left: 20% !important; background-image: url('/wp-content/themes/lestudio/img/logo_menu_mobile.svg') !important; background-size: contain !important; background-position: center !important; background-repeat: no-repeat !important;}
    .menu-logo{ display: none !important;  }*/
    .menu-logo{ position: absolute !important; display: block !important; height: 120px !important; width: 60% !important; top: 15px !important; left: 20% !important; }
    .menu-logo > a{ display: block !important; height: 100% !important; width: 100% !important; background: transparent !important;}
    .menu-logo > a::before { content: "" !important; position: relative !important; display: block !important; width: 100% !important; height: 100% !important; background-image: url('/wp-content/themes/lestudio/img/logo_menu_mobile.svg') !important; background-size: contain !important; background-position: center !important; background-repeat: no-repeat !important; }
    #mega-menu-wrap-Top #mega-menu-Top li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item{ padding: 8px !important;  }
    #mega-menu-wrap-Top #mega-menu-Top > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item h4.mega-block-title{ padding: 0 !important; }
}
/*** FIN MMM ***/


/* ********** ECRANS EN DESSOUS DE 1400px ***********/
@media only screen and (max-width : 1400px) {
    .bandeau-image-header.titre-gauche .bloc-titre-image-header{ width: 30%; left: 0; right: auto; }
    .bandeau-image-header.titre-droite .bloc-titre-image-header{ width: 30%; right: 0; left: auto; }
    .bandeau-image-header.titre-droite .bloc-titre-image-header:before, .bandeau-image-header.titre-gauche .bloc-titre-image-header:before{ display: none; }
    #liste-visites{ gap: 30px; }
    .visite-accueil{ width: calc(33% - 30px); }
    .contenu_gutenberg > .wp-block-media-text .wp-block-media-text__content{ padding-right: 30px;}
    .contenu_gutenberg > .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{ padding-left: 30px;}
    #colonnes-form-resa{ align-items: normal!important; flex-wrap: wrap!important; }
    .colonne-form-scolaire{ flex-basis: 100%!important; max-width: 100% !important; order: 2; }
    .colonne-infos-scolaire{ flex-basis: 100%!important; max-width: 100% !important; order: 1; }

}

/* ********** ECRANS EN DESSOUS DE 1220px ***********/
@media only screen and (max-width : 1220px) {

    .contenu-article { gap: 30px; }
    .colonne-principale-article{ width: calc(100% - 430px); }

    #grille-en-un-clic.parent {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(6, 1fr);
        grid-column-gap: 15px;
        grid-row-gap: 15px;
    }

    #grille-en-un-clic .div1 { grid-area: 1 / 2 / 4 / 3; }
    #grille-en-un-clic .div4 { grid-area: 3 / 1 / 4 / 2; }
    #grille-en-un-clic .div3 { grid-area: 1 / 1 / 3 / 2; }
    #grille-en-un-clic .div2 { grid-area: 1 / 3 / 2 / 4; }
    #grille-en-un-clic .div5 { grid-area: 4 / 2 / 5 / 3; }
    #grille-en-un-clic .div6 { grid-area: 4 / 1 / 7 / 2; }
    #grille-en-un-clic .div7 { grid-area: 5 / 2 / 7 / 3; }
    #grille-en-un-clic .div8 { grid-area: 6 / 3 / 7 / 4; }
    #grille-en-un-clic .div9 { grid-area: 2 / 3 / 6 / 4; }

    header.header{ position: relative; }
    #bandeau-entete{ padding-top: 0; }

}


/* ********** ECRANS EN DESSOUS DE 1023px ********** */
@media only screen and (max-width : 1023px) {
    /*.menu_ordi{ display: none; }
    .menu_mobile{ display: block; }*/
    #preheader{ position: fixed; margin-left: auto; margin-right: 0; width: 400px; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;}
    header.header{ position: relative; min-height: 212px; padding: 60px 15px 24px 15px; box-sizing: border-box; }
    #logo-header-mobile{ display: block; text-align: center; }
    #logo-header-mobile img{ cursor: pointer; }
    #bandeau-entete, body.home #bandeau-entete{ padding-top: 0; }
    #bloc-video-accueil{ height: calc(100vh - 212px); }
    section#actus-agenda{ flex-wrap: wrap; }
    #bloc-actus-accueil, #bloc-agenda-accueil{ width: 100%; }
    .contenu-article{ flex-wrap: wrap; gap: 60px }
    .colonne-principale-article{ width: 100%; }
    .bloc-lieu-page-event{ margin-top: 60px;  }
    .bloc-annexe{ margin-bottom: 60px; max-width: 100%;}
    .colonne-annexe-article{ margin-left: auto; margin-right: auto; }
    .bandeau-image-header{ margin-top: 0; min-height: calc( 50vw + 50px); aspect-ratio: 16 / 9; min-height: 300px; }
    .bandeau-image-header.titre-gauche .bloc-titre-image-header{ width: 50%; }
    .bandeau-image-header.titre-droite .bloc-titre-image-header{ width: 50%; }

    .wrapper-slick-diaporama .slick-diaporama .slick-list{ height: auto; max-height: 100vh; }
    .wrapper-slick-diaporama .slick-diaporama .slick-track{ height: 100%; }
    .wrapper-slick-diaporama .slick-diaporama .slick-track .slide{ position: relative; height: 100%; }
    .wrapper-slick-diaporama .slick-diaporama .slick-track .slide img{ height: 50vw; max-height: 720px; }
    .slick-diaporama .description-diapo{ position: relative; width: 100%; padding: 30px 0; right: 0; bottom: 0; }
    .slick-diaporama .description-diapo .inner-description-diapo{ max-width: 600px; width: 100%; margin-left: auto; margin-right: auto; }
    #presentation-kerval{ flex-wrap: wrap; gap: 30px;}
    #colonne-carte-presentation{ width: 100%; max-width: 720px; margin-left: auto; margin-right: auto; }
    #colonne-texte-presentation{ width: 100%; }
    #colonne-texte-presentation .inner-colonne-texte-presentation{ margin-right: auto; }
    #colonne-carte-presentation #bloc-carte #svg-container{ border-top-right-radius: 30px; border-bottom-right-radius: 30px; }
    .visite-accueil{ width: calc(50% - 15px); }


    #grille-en-un-clic.parent {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(8, 1fr);
        grid-column-gap: 15px;
        grid-row-gap: 15px;
    }
    #grille-en-un-clic .div1 { grid-area: 2 / 1 / 5 / 2; }
    #grille-en-un-clic .div2 { grid-area: 1 / 1 / 2 / 2; }
    #grille-en-un-clic .div6 { grid-area: 5 / 1 / 6 / 2; }
    #grille-en-un-clic .div4 { grid-area: 4 / 2 / 6 / 3; }
    #grille-en-un-clic .div5 { grid-area: 8 / 1 / 9 / 2; }
    #grille-en-un-clic .div3 { grid-area: 3 / 2 / 4 / 3; }
    #grille-en-un-clic .div7 { grid-area: 6 / 1 / 8 / 2; }
    #grille-en-un-clic .div8 { grid-area: 1 / 2 / 3 / 3; }
    #grille-en-un-clic .div9 { grid-area: 6 / 2 / 9 / 3; }
    .contenu-bloc-titre, .description-grille{ font-size: 14px; }

    .mega-block-title{ opacity: 0.6; }
}

/* ********** ECRANS EN DESSOUS DE 800px********** */
@media only screen and (max-width : 800px) {
    .inner-bandeau-footer{flex-direction: column; align-items: center; justify-content: center;}
    .inner-bandeau-footer > div{width: 400px; max-width: calc(100% - 30px); }
    #bandeau-newsletter h2{ margin-bottom: 30px; }
    .inner-bandeau-newsletter{ flex-direction: column; }
    #bandeau-newsletter .pre-titre, #bandeau-newsletter h2{ text-align: center; width: 100%; }
    .inner-bandeau-newsletter .titre-wrapper-contenu:before{ display: none; }
    #formulaire-newsletter input[type="email"]{ width: calc(100% - 110px); }
    #formulaire-newsletter form div{ width: 410px margin-left: auto; margin-right: auto; max-width: 100%; }
    .article-item { width: 100%; }
    .contenu_gutenberg > .wp-block-media-text{ padding: 30px 0; }
    .contenu_gutenberg > .wp-block-media-text.is-stacked-on-mobile{ grid-template-columns: 100%!important; }
    .contenu_gutenberg > .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media {grid-column: 1;grid-row: 1;}
    .contenu_gutenberg > .wp-block-media-text.is-image-fill-element>.wp-block-media-text__media img{ border-radius: 0 !important; position: relative; }
    .contenu_gutenberg > .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content {grid-column: 1;grid-row: 2;}
    .contenu_gutenberg > .wp-block-media-text .wp-block-media-text__content{ padding: 30px;}
    .contenu_gutenberg > .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{ padding: 30px;}
    #prochains-evenements-mdlt .evt-accueil{ width: 100%; }
    .contenu_gutenberg > .wp-block-media-text .wp-block-media-text__content{ max-width: 100%; }
    .contenu_gutenberg > .wp-block-media-text.media-texte-groupe{ padding: 0; }

}

/* ********** ECRANS EN DESSOUS DE 767px********** */
@media only screen and (max-width : 767px) {
    body { font-size: 0.9em; }
    #dernieres-actus, #prochains-evenements{ margin-bottom: 50px; }
    .bandeau-image-header{ aspect-ratio: auto; }
    .bandeau-image-header img{ position: relative; width: 100%; aspect-ratio: 16 / 9; }
    .bandeau-slider{ position:relative !important; }
    .bandeau-image-header.titre-gauche, .bandeau-image-header.titre-droite{ align-items: center; }
    .bloc-titre-image-header, .bandeau-image-header.titre-gauche .bloc-titre-image-header, .bandeau-image-header.titre-droite .bloc-titre-image-header{ width: 100%; left: 0; right: 0; min-width: 100%; max-width: 100%; position: relative;}
    .bloc-titre-image-header .titre-wrapper-contenu, .bandeau-image-header.titre-gauche .bloc-titre-image-header .titre-wrapper-contenu, .bandeau-image-header.titre-droite .bloc-titre-image-header .titre-wrapper-contenu{ text-align: center; }
    .bloc-titre-image-header:after{ display: none; }
    #bandeau-kerval-accueil:before{ display: none; }
    #liens-rapides{ display: none; }
    img.logo_partenaire{ max-width: 40%; }

    .timeline_valoriser > .wp-block-group__inner-container > .wp-block-columns:before,
    .timeline_valoriser > .wp-block-group__inner-container:before { display: none; }

    .contenu_gutenberg > .wp-block-group > .wp-block-group__inner-container > *:first-child{
        margin-top: 30px;
    }
    .contenu_gutenberg > .wp-block-group > .wp-block-group__inner-container > *:last-child{
        margin-bottom: 30px;
    }

}


/* ********** ECRANS EN DESSOUS DE 600px********** */
@media only screen and (max-width : 600px) {
    #preheader{ width: 200px; }
    .btn-telephone.btn-preheader span{ display: none; }
    .block-preheader{ padding-left: 2px; padding-right: 2px; }
    #preheader a{ padding: 4px 8px; }
    #contenu-header-accueil h1{ font-size: 48px; }
    .colonne-principale-article h1{ font-size: 30px; }
    .titre-wrapper-contenu h2{ font-size: 30px; }
    h2{ font-size: 24px; margin-bottom: 20px; }
    h3{ font-size: 18px; margin-bottom: 15px; }
    h4{ font-size: 16px; margin-bottom: 15px; }
    #pastille-header{  position: relative; top: 20px; right: auto; margin-right: auto; margin-left: auto; }
    #bloc-video-accueil{ height: auto; }
    #btn-scroll-down{ display: none; }
    #bloc-video-accueil{ padding: 60px 15px; }
    .inner-actu-accueil{ flex-wrap: wrap; }
    .inner-actu-accueil .bloc-image{ width: 100%; text-align: center; }
    .inner-actu-accueil .bloc-contenu{ width: 100%; }
    .inner-actu-accueil .bloc-image img{ max-width: 100%; width: 250px; height: 220px; margin-left: auto; margin-right: auto; }
    .inner-evt-accueil{ flex-direction: column; align-items: center; }
    .bloc-contenu-evt{ width: 100%; margin-top: 15px; }
    .inner-bloc-lieu{ flex-wrap: wrap; }
    .colonne-map-event{ order: 1; }
    .colonne-adresse-event{ order: 2; }
    .colonne-adresse-event, .colonne-map-event{ width: 100%; }
    .bloc-titre-event { flex-wrap: wrap; }
    #bloc-carte{ padding: 15px 0px 30px 0px; }
    #colonne-carte-presentation #bloc-carte{ padding: 30px }
    #liens-rapides .carousel-liens-rapides{ padding: 15px; }
    #presentation-kerval{ gap: 15px; }
    #liste-visites{ flex-direction: column; align-items: center; padding-left: 15px; padding-right: 15px; }
    .visite-accueil{ width: 100%; }
    .slick-diaporama .inner-description-diapo{ padding: 15px; border-radius: 15px; }
    .wrapper-slick-diaporama .slick-diaporama .slick-track .slide img{ border-radius: 15px; height: 75vw; }
    .slick-diaporama .description-diapo{ padding: 15px 0; }
    #equipements-pedagogiques-accueil .wrapper-slick-diaporama{ padding-top: 15px; padding-bottom: 30px; }

    #grille-en-un-clic.parent {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(9, 1fr);
        grid-column-gap: 15px;
        grid-row-gap: 15px;
    }
    #grille-en-un-clic .div1 { grid-area: 1 / 1 / 2 / 2; }
    #grille-en-un-clic .div2 { grid-area: 2 / 1 / 3 / 2; }
    #grille-en-un-clic .div3 { grid-area: 5 / 1 / 6 / 2; }
    #grille-en-un-clic .div4 { grid-area: 3 / 1 / 4 / 2; }
    #grille-en-un-clic .div5 { grid-area: 4 / 1 / 5 / 2; }
    #grille-en-un-clic .div6 { grid-area: 6 / 1 / 7 / 2; }
    #grille-en-un-clic .div7 { grid-area: 8 / 1 / 9 / 2; }
    #grille-en-un-clic .div8 { grid-area: 7 / 1 / 8 / 2; }
    #grille-en-un-clic .div9 { grid-area: 9 / 1 / 10 / 2; }

    .colonne_fiche_chiffres_cles h2{ margin-top: 50px; font-size: 24px; color: var(--couleur_principale); }

}


/* ********** ECRANS EN DESSOUS DE 480px ********** */
@media only screen and (max-width: 480px) {
    .inner-actu-accueil .bloc-image img{ width: 100%; }
    .inner-colonne-principale, .bloc-lieu-page-event, .bloc-annexe{ padding: 20px; border-radius: 20px; }
    .thumbnail-page-article.bloc-annexe{ padding: 0; }
    .contenu-visite-accueil{ max-height: calc(100vw - 30px); }
}


/*** SLICK ***/
/* Slider */
.slick-slider{ position: relative; display: block; box-sizing: border-box; -webkit-user-select: none;  -moz-user-select: none;  -ms-user-select: none;  user-select: none;  -webkit-touch-callout: none;  -khtml-user-select: none; -ms-touch-action: pan-y;  touch-action: pan-y; -webkit-tap-highlight-color: transparent;}

.slick-list{  position: relative;  display: block;  overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus{ outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}

.slick-slider .slick-track,
.slick-slider .slick-list{ -webkit-transform: translate3d(0, 0, 0);  -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0);  transform: translate3d(0, 0, 0);}

.slick-track{ position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto;}
.slick-track:before,
.slick-track:after{ display: table;  content: '';}
.slick-track:after{ clear: both;}
.slick-loading .slick-track{ visibility: hidden;}

.slick-slide{ display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide{ float: right;}
.slick-slide img{ display: block;}
.slick-slide.slick-loading img{ display: none;}
.slick-slide.dragging img{  pointer-events: none;}
.slick-initialized .slick-slide{ display: block;}
.slick-loading .slick-slide{ visibility: hidden;}
.slick-vertical .slick-slide{ display: block;height: auto;  border: 1px solid transparent;}
.slick-arrow.slick-hidden { display: none;}

/* Slider */
.slick-loading .slick-list{ background: #fff url('/wp-content/themes/lestudio/img/ajax-loader.gif') center center no-repeat;}

/* Icons */
/* Arrows */
.slick-prev,
.slick-next{ font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; width: 20px; height: 20px; padding: 0;  -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%);  cursor: pointer; color: transparent;  border: none; outline: none; background: transparent;}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before{ opacity: 1;}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before{ opacity: .25;}

.slick-prev:before,
.slick-next:before{ font-family: 'slick'; font-size: 20px; line-height: 1; opacity: .75; color: white; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

.slick-prev{ left: -40px;}
[dir='rtl'] .slick-prev{ right: -40px; left: auto;}
.slick-prev:before{  content: '←';}
[dir='rtl'] .slick-prev:before{ content: '→';}
.slick-next{ right: -40px;}
[dir='rtl'] .slick-next{ right: auto; left: -40px;}
.slick-next:before{ content: '→';}
[dir='rtl'] .slick-next:before{ content: '←';}

/* Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots{ position: absolute; bottom: -25px; display: block;  width: 100%; padding: 0; margin: 0; list-style: none; text-align: center;}
.slick-dots li{ position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button{ font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent;}
.slick-dots li button:hover,
.slick-dots li button:focus{outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before{opacity: 1;}
.slick-dots li button:before { font-family: 'slick';font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.slick-dots li.slick-active button:before{opacity: .75;color: black;}

.slick-prev, .slick-next{
    width: 36px;
    height: 36px;
    background: var(--couleur_principale);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: all 0.2s ease-in-out;
}
.slick-prev:hover, .slick-next:hover{
    background: var(--couleur_principale);
    opacity: 0.75;
}
.slick-prev:before, .slick-next:before{
    content: "<";
    font-family: 'Neo Sans', sans-serif;
    color: white;
    font-size: 30px;
    height: 30px;
    line-height: 36px;
    display: block;
    font-weight: bold;
}
.slick-next:before{
    content: ">";
}

