@charset "UTF-8";



/** ===============================================

  Responsive

  ===============================================**/

/** ===============================================

  Layout

  ===============================================**/

/** ===============================================

  Flexbox

  ===============================================**/

/** ===============================================

  Position

  ===============================================**/

/** ===============================================

  Effects

  ===============================================**/

/** ===============================================

  Buttons

  ===============================================**/

/** ===============================================

  Components

  ===============================================**/

/* Slider */

.slick-slider {

  position: relative;

  display: block;

  box-sizing: border-box;

  -webkit-touch-callout: none;

  -webkit-user-select: none;

  -khtml-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

  -ms-touch-action: pan-y;

  touch-action: pan-y;

  -webkit-tap-highlight-color: transparent;

}



.slick-list {

  position: relative;

  /* overflow: hidden; */

  /* overflow-y: hidden; */

  display: block;

  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;

  left: 0;

  top: 0;

  display: block;

  margin-left: auto;

  margin-right: auto;

}



.slick-track:before,

.slick-track:after {

  content: "";

  display: table;

}



.slick-track:after {

  clear: both;

}



.slick-loading .slick-track {

  visibility: hidden;

}



.slick-slide {

  float: left;

  height: 100%;

  min-height: 1px;

  display: none;

}



[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("./ajax-loader.gif") center center no-repeat;

}



/* Icons */

@font-face {

  font-family: "slick";

  src: url("./fonts/slick.eot");

  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");

  font-weight: normal;

  font-style: normal;

}



/* Arrows */

.slick-prev,

.slick-next {

  position: absolute;

  display: block;

  height: 20px;

  width: 20px;

  line-height: 0px;

  font-size: 0px;

  cursor: pointer;

  background: transparent;

  color: transparent;

  top: 50%;

  -webkit-transform: translate(0, -50%);

  -ms-transform: translate(0, -50%);

  transform: translate(0, -50%);

  padding: 0;

  border: none;

  outline: none;

}



.slick-prev:hover,

.slick-prev:focus,

.slick-next:hover,

.slick-next:focus {

  outline: none;

  background: transparent;

  color: 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: 0.25;

}



.slick-prev:before,

.slick-next:before {

  font-family: "slick";

  font-size: 20px;

  line-height: 1;

  color: white;

  opacity: 0.75;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

}



.slick-prev {

  left: -25px;

}



[dir="rtl"] .slick-prev {

  left: auto;

  right: -25px;

}



.slick-prev:before {

  content: "←";

}



[dir="rtl"] .slick-prev:before {

  content: "→";

}



.slick-next {

  right: -25px;

}



[dir="rtl"] .slick-next {

  left: -25px;

  right: auto;

}



.slick-next:before {

  content: "→";

}



[dir="rtl"] .slick-next:before {

  content: "←";

}



/* Dots */

.slick-dotted.slick-slider {

  margin-bottom: 30px;

}



.slick-dots {

  position: absolute;

  bottom: -25px;

  list-style: none;

  display: block;

  text-align: center;

  padding: 0;

  margin: 0;

  width: 100%;

}



.slick-dots li {

  position: relative;

  display: inline-block;

  height: 20px;

  width: 20px;

  margin: 0 5px;

  padding: 0;

  cursor: pointer;

}



.slick-dots li button {

  border: 0;

  background: transparent;

  display: block;

  height: 20px;

  width: 20px;

  outline: none;

  line-height: 0px;

  font-size: 0px;

  color: transparent;

  padding: 5px;

  cursor: pointer;

}



.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 {

  position: absolute;

  top: 0;

  left: 0;

  content: "•";

  width: 20px;

  height: 20px;

  font-family: "slick";

  font-size: 6px;

  line-height: 20px;

  text-align: center;

  color: black;

  opacity: 0.25;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

}



.slick-dots li.slick-active button:before {

  color: black;

  opacity: 0.75;

}



.slick-dotted.slick-slider {

  margin-bottom: 0;

  padding-bottom: 3rem;

  overflow-x: hidden;

  overflow-y: clip;

}



.slick-dotted.slick-slider .slick-prev,

.slick-dotted.slick-slider .slick-next {

  display: none;

}



.slick-dotted.slick-slider .media--view-mode-slider {

  background-color: black;

}



.slick-dots {

  bottom: 1rem;

}



.slick-dots li button {

  outline: none;

}



.slick-dots li button::before {

  color: #222222;

  font-size: 4rem;

}



.slick-slide img {

  max-height: 460px;

  width: auto;

  margin: auto;

}



.slick-slide .field--name-field-legend {

  position: absolute;



}



.paragraph--type-season .inner {

  max-width: none !important;

}



.season-slider {

  overflow: hidden;

  padding-bottom: 2rem;

}



.slider-categories .icon--next,

.slider-categories .icon--previous {

  position: absolute;

  top: 0;

  bottom: 0;

  margin: auto;

  z-index: 1;

}



.slider-categories .icon--next,

.slider-categories .slick-next {

  right: 0;

}



.slider-categories .icon--previous,

.slider-categories .slick-prev {

  left: 0;

}



.slider-categories .slick-list {

  margin-left: 2rem;

  margin-right: 1rem;

}



@media (min-width: 48rem) {

  .slider-categories .slick-list {

    margin: 0;

  }

}



.slider-categories.has-arrows .slick-list {

  margin-left: 3rem;

  margin-right: 1rem;

}



.slider-categories .slick-slide {

  padding-right: 1rem;

}



.slider-categories .line--selected {

  margin-top: -0.25rem;

  -webkit-transition: opacity;

  -moz-transition: opacity;

  -ms-transition: opacity;

  transition: opacity;

  opacity: 0;

}



.slider-categories .slick-current .line--selected {

  opacity: 1;

}



.node--view-mode-slider {

  background: #ffffff;

  padding: 0 1rem 1rem;

  border: 1px solid black;

}



@media (min-width: 48rem) {

  .node--view-mode-slider {

    margin-right: 2rem;

  }

}



.node--view-mode-slider .field--name-field-image {

  margin: 0 -1rem;

}



.node--view-mode-slider .field.field--name-field-dates.field--type-datetime {

  margin: 1rem auto 2rem;

}



.season-slider-more-link {

  display: block;

  width: calc(100% - 2rem);

  margin: auto;

}



@media (min-width: 48rem) {

  .season-slider-more-link {

    width: calc(50vw - 6rem);

  }

}



@media (min-width: 75rem) {

  .season-slider-more-link {

    width: 60%;

    margin-left: 2.5rem;

  }

}



@media (min-width: 75rem) {

  .slider-events .slick-current+.slick-slide {

    margin-left: -15vw;

    z-index: -1;

  }

}



@media (min-width: 82rem) {

  .slider-events .slick-current+.slick-slide {

    margin-left: -2%;

    z-index: -1;

  }

}



@media (min-width: 75rem) {

  .slider-events .slick-slide {

    -webkit-transition: opacity;

    -moz-transition: opacity;

    -ms-transition: opacity;

    transition: opacity;

    opacity: 0.7;

  }



  .slider-events .slick-slide>div>div {

    min-width: 25rem;

    max-width: 65%;

  }



  .slider-events .slick-current {

    opacity: 1;

  }

}



/* Force le ratio 16/9 sur les iframes YouTube dans le slider */

.slider iframe,

.media--type-remote-video iframe,

.media--type-video iframe {

  width: 100%;

  height: auto;

  aspect-ratio: 16 / 9;

}
/* Saison en pleine largeur : 4 / 3 / 2 / 1 cartes, Slick gere les largeurs. */
.paragraph--type-season .slider-events { width: 100%; min-width: 0; }
.paragraph--type-season .slider-events .slick-list { overflow: hidden; }
.paragraph--type-season .slider-events .slick-slide { margin-left: 0; opacity: 1; min-width: 0; }
.paragraph--type-season .slider-events .slick-current + .slick-slide { margin-left: 0; z-index: auto; }
.paragraph--type-season .slider-events .slick-slide > div > div { min-width: 0; max-width: none; width: 100%; box-sizing: border-box; }
.paragraph--type-season .slider-events .node--view-mode-slider { margin: 0 0.5rem; width: auto; box-sizing: border-box; }
.paragraph--type-season .slider-events img { max-width: 100%; height: auto; }
.paragraph--type-season .season-slider-more-link { width: auto; max-width: 68rem; margin: 1.5rem auto 0; }
@media (max-width: 767px) {
 .paragraph--type-season .slider-events .node--view-mode-slider { margin: 0 0.25rem; }
 .paragraph--type-season .season-slider-more-link { margin: 1rem auto 0; }
}

/* Accueil : carrousel Saison pleine largeur, 3 / 2 / 1 cartes.
   Les largeurs des slides sont calculees par Slick (js/slider.js). */
.page-node-type-homepage .paragraph--type-season {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.page-node-type-homepage .paragraph--type-season > .inner {
  display: block;
  width: calc(100% - 3rem);
  max-width: 90rem !important;
  margin: 0 auto;
  box-sizing: border-box;
  text-align: left;
}
.page-node-type-homepage .paragraph--type-season .season-slider,
.page-node-type-homepage .paragraph--type-season .slider-events,
.page-node-type-homepage .paragraph--type-season #block-season {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.page-node-type-homepage .paragraph--type-season .block-title {
  font-size: clamp(1.75rem, 2.5vw, 2.5rem);
  line-height: 1.2;
  margin: 0 0 1.25rem;
  text-align: left;
}
.page-node-type-homepage .paragraph--type-season .slick-list {
  overflow: hidden;
  margin: 0;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-track {
  display: flex;
  align-items: stretch;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide {
  float: none;
  height: auto;
  min-width: 0;
  margin: 0;
  padding: 0 .65rem;
  box-sizing: border-box;
  opacity: 1;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide > div {
  height: 100%;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide > div > div {
  width: 100%;
  min-width: 0;
  max-width: none;
  height: 100%;
  box-sizing: border-box;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-current + .slick-slide {
  margin-left: 0;
  z-index: auto;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider {
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  box-sizing: border-box;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
/* Fleches du carrousel de cartes : au-dessus des cartes et non superposees. */
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider {
  padding: 0 2.5rem;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-prev,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-next {
  position: absolute;
  top: 50%;
  z-index: 15;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-prev { left: .1rem; }
.page-node-type-homepage .paragraph--type-season .slider-events .slick-next { right: .1rem; }
.page-node-type-homepage .paragraph--type-season .slider-events .slick-prev:before,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-next:before {
  color: #222;
  opacity: 1;
  font-size: 1.8rem;
}
/* Navigation par categories : reserver une zone aux chevrons. */
.page-node-type-homepage .paragraph--type-season .slider-categories {
  position: relative;
  padding: 0 2.5rem;
  box-sizing: border-box;
}
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-list {
  margin: 0;
}
.page-node-type-homepage .paragraph--type-season .slider-categories .icon--previous,
.page-node-type-homepage .paragraph--type-season .slider-categories .icon--next,
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-prev,
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-next {
  z-index: 15;
  width: 2rem;
}
.page-node-type-homepage .paragraph--type-season .slider-categories .icon--previous,
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-prev { left: 0; }
.page-node-type-homepage .paragraph--type-season .slider-categories .icon--next,
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-next { right: 0; }
.page-node-type-homepage .paragraph--type-season .season-slider-more-link {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  margin: 1.5rem 0 0;
}
@media (max-width: 767px) {
  .page-node-type-homepage .paragraph--type-season > .inner {
    width: calc(100% - 1.5rem);
  }
  .page-node-type-homepage .paragraph--type-season .slider-events.slick-slider,
  .page-node-type-homepage .paragraph--type-season .slider-categories {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
  .page-node-type-homepage .paragraph--type-season .slider-events .slick-slide {
    padding: 0 .25rem;
  }
}

/* Saison : les largeurs des cartes sont calculees par Slick. */
.page-node-type-homepage .paragraph--type-season .slider-events.slick-initialized {
  width: 100%;
  min-width: 0;
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-initialized .slick-list {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-initialized .slick-slide {
  max-width: none;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider .field--name-field-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Accueil - Saison : largeur disponible avec marges et 4 cartes sur grand ecran. */
.page-node-type-homepage .paragraph--type-season > .inner {
  width: calc(100% - 4rem);
  max-width: none !important;
  margin-inline: auto;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider {
  display: flex;
  flex-direction: column;
}
.page-node-type-homepage .paragraph--type-season .slider-events .season-card-category {
  order: -1;
  padding: .65rem 1rem;
  min-height: 2.5rem;
  box-sizing: border-box;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.3;
  border-bottom: 2px solid #80b6d0;
}
.page-node-type-homepage .paragraph--type-season .slider-events .season-card-category .field__label {
  display: none;
}
.page-node-type-homepage .paragraph--type-season .slider-events .season-card-category .field__items {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem .5rem;
}
@media (max-width: 767px) {
  .page-node-type-homepage .paragraph--type-season > .inner {
    width: calc(100% - 1.5rem);
  }
}

/* Saison : aligner la navigation par categorie avec les cartes (4 / 3 / 2 / 1).
   Les deux Slick utilisent les memes breakpoints dans js/slider.js. */
.page-node-type-homepage .paragraph--type-season {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: clip;
}
.page-node-type-homepage .paragraph--type-season > .inner {
  width: calc(100% - clamp(1.5rem, 4vw, 5rem));
  max-width: none !important;
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
}
.page-node-type-homepage .paragraph--type-season .block-title {
  font-size: clamp(1.65rem, 2.4vw, 2.75rem);
  line-height: 1.18;
  margin: 0 0 clamp(1rem, 2vw, 1.75rem);
}
.page-node-type-homepage .paragraph--type-season .slider-categories,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider {
  width: 100%;
  padding-inline: clamp(1.5rem, 2.5vw, 2.5rem);
  box-sizing: border-box;
}
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-list,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-list {
  margin: 0 !important;
  overflow: hidden;
}
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-slide,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide {
  box-sizing: border-box;
  padding-inline: clamp(.3rem, .7vw, .75rem);
  min-width: 0;
}
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-slide {
  overflow: hidden;
  font-size: clamp(.85rem, 1.25vw, 1.35rem);
  line-height: 1.25;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-slide > * {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider {
  margin: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider .field--name-field-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider .node-title,
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider h2,
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider h3 {
  overflow-wrap: break-word;
  font-size: clamp(1.05rem, 1.65vw, 1.7rem);
  line-height: 1.25;
}
/* Les categories sont affichees dans la ligne au-dessus des cartes,
   ne pas les dupliquer dans le gabarit de chaque carte. */
.page-node-type-homepage .paragraph--type-season .slider-events .season-card-category {
  display: none;
}
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-prev,
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-next,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-prev,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-next {
  z-index: 20;
}
@media (max-width: 719px) {
  .page-node-type-homepage .paragraph--type-season > .inner {
    width: calc(100% - 1rem);
  }
  .page-node-type-homepage .paragraph--type-season .slider-categories,
  .page-node-type-homepage .paragraph--type-season .slider-events.slick-slider {
    padding-inline: 1.5rem;
  }
}

/* Correction navigation Saison : fleches au milieu des CARTES,
   et non dans la ligne des categories. */
.page-node-type-homepage .paragraph--type-season .slider-categories .slick-arrow,
.page-node-type-homepage .paragraph--type-season .slider-categories .icon--previous,
.page-node-type-homepage .paragraph--type-season .slider-categories .icon--next {
  display: none !important;
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider {
  position: relative;
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 30;
}


/* Saison : style des fleches precedentes, position centree sur les cartes. */
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next {
  width: 32px !important;
  height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  cursor: pointer;
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev { left: 0 !important; }
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next { right: 0 !important; }
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev::before,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next::before {
  content: "" !important;
  display: block;
  width: 12px;
  height: 12px;
  border: solid #222;
  border-width: 0 2px 2px 0;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 1 !important;
  font-family: inherit !important;
  transform: translate(-35%, -50%) rotate(135deg);
  transition: border-color .15s ease;
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next::before {
  transform: translate(-65%, -50%) rotate(-45deg);
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev:hover::before,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next:hover::before,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev:focus-visible::before,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next:focus-visible::before {
  border-color: #777;
}

/* Navigation : chevrons compacts, visibles, sans fond, centres sur les cartes. */
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next {
  width: 34px !important;
  height: 44px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev::before,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next::before {
  content: "" !important;
  width: 15px !important;
  height: 15px !important;
  border: solid #292929 !important;
  border-width: 0 3px 3px 0 !important;
  border-radius: 1px;
  opacity: 1 !important;
  transition: border-color .18s ease, scale .18s ease;
}
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev:hover::before,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next:hover::before,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-prev:focus-visible::before,
.page-node-type-homepage .paragraph--type-season .slider-events.slick-slider > .slick-next:focus-visible::before {
  border-color: #0079a8 !important;
  scale: 1.12;
}

/* 2026-10-23 - Saison : alignement du titre et des actions des cartes. */
/* Le titre commence sur le meme axe que le bord gauche de la premiere carte. */
.page-node-type-homepage .paragraph--type-season .block-title {
  padding-inline-start: calc(clamp(1.5rem, 2.5vw, 2.5rem) + clamp(.3rem, .7vw, .75rem));
  box-sizing: border-box;
}
/* Etirer le contenu de chaque carte sur toute sa hauteur. */
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider {
  display: flex;
  flex-direction: column;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider > [class*="node__content"],
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider > [class*="content"] {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}
/* Le bloc des boutons reste colle en bas, independamment de la longueur des titres. */
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider .node-links {
  margin-top: auto !important;
}
@media (max-width: 719px) {
  .page-node-type-homepage .paragraph--type-season .block-title {
    padding-inline-start: calc(1.5rem + clamp(.3rem, .7vw, .75rem));
  }
}


/* 2026-10-23 : CTA sur une ligne de base commune en bas des cartes. */
.page-node-type-homepage .paragraph--type-season .slider-events .slick-track,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide > div,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide > div > div {
  height: auto;
  align-self: stretch;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide > div,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide > div > div {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100%;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider > .node__content,
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider > .content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider .node-links {
  margin-top: auto !important;
  padding-top: 1rem;
  margin-bottom: 0 !important;
  flex-shrink: 0;
}
/* Espace au-dessus du titre de saison sans modifier son alignement horizontal. */
.page-node-type-homepage .paragraph--type-season .block-title {
  padding-top: 1.25rem;
}


/* 2026-10-23 - Cartes de meme hauteur, actions ancrees en bas.
   Le node.html.twig contient un div de contenu sans classe : il faut
   etirer ce div, et non uniquement .node__content/.content. */
.page-node-type-homepage .paragraph--type-season .slider-events .slick-track {
  display: flex !important;
  align-items: stretch !important;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide {
  display: flex !important;
  flex-direction: column;
  height: auto !important;
  align-self: stretch !important;
}
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide > div,
.page-node-type-homepage .paragraph--type-season .slider-events .slick-slide > div > div {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}
.page-node-type-homepage .paragraph--type-season .slider-events article.node--view-mode-slider {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100% !important;
}
.page-node-type-homepage .paragraph--type-season .slider-events article.node--view-mode-slider > div:not(.search-engine-friendly) {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}
.page-node-type-homepage .paragraph--type-season .slider-events article.node--view-mode-slider .node-links {
  margin-top: auto !important;
  padding-top: 1rem;
  flex-shrink: 0;
}

/* 2026-10-23 - Garder les dates sur le meme axe gauche que les titres.
   Le margin horizontal auto historique centrait le champ dans la carte
   depuis le passage du contenu en flex. */
.page-node-type-homepage .paragraph--type-season .slider-events .node--view-mode-slider .field.field--name-field-dates.field--type-datetime {
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-self: stretch;
  text-align: left;
}

/* 2026-10-25 - Harmonisation du bloc Saison PROD avec le rendu DEV.
   Corrections limitees a Saison : ne pas changer la couleur globale du theme. */
.page-node-type-homepage .paragraph--type-season .block-title,
.page-node-type-homepage .field--name-field-items .paragraph--type-season .block-title {
  font-family: hurme, sans-serif !important;
  font-weight: 400 !important;
  background: transparent;
}
.page-node-type-homepage .field--name-field-items .paragraph--type-season .block-title:not(.background-alt) {
  background: transparent;
}
/* La variable --primary-color est generee depuis les reglages Drupal du theme.
   Le bleu DEV est applique seulement aux bordures des CTA de Saison. */
.page-node-type-homepage .paragraph--type-season .button-border-main {
  border-color: #7fb5cd;
}
/* Les styles de colonnes ne doivent pas ramener Saison a 50 %. */
.page-node-type-homepage .paragraph--type-column.fullwidth > .inner
  > .field--name-field-items > .field-item:has(> .paragraph--type-season) {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
