/* ==================================================
   IMPORT
================================================== */

/* Google Fonts chargées via wp_enqueue_style avec display=swap (voir inc/enqueue.php) */

/* ==================================================
   VARIABLES
================================================== */

:root {
  /* Colors */
  --white: #fff;
  --black: #000;
  --gray-dark: #0c0c0c;
  --gray-mid: #191919;
  --gray-light: #333333;
  --gray-muted: #a5a5a5;

  /* Viewport */
  --min-viewport: 320;
  --max-viewport: 1920;

  /* Typography */
  --font: 'Montserrat', Helvetica, Arial, sans-serif;

  --font-size-xl: 63px;
  --line-height-xl: 63px;
  --font-weight-xl: 900;

  --font-size-lg: 39px;
  --line-height-lg: 39px;
  --font-weight-lg: 900;

  --font-size-md: 24px;
  --line-height-md: 24px;

  --font-size-sm: 15px;
  --line-height-sm: 22px;
  --font-weight-sm: 300;

  --font-size-xs: 14px;
  --line-height-xs: 14px;

  --font-style-italic: italic;
  --text-transform-upper: uppercase;

  /* Spacing */
  --section-padding: 120px 100px;
  --margin-xl: 100px;
  --margin-lg: 60px;
  --margin-md: 30px;

  /* Transitions */
  --transition: 0.2s cubic-bezier(0.7, 0, 0.3, 1);

  /* Z-indexes */
  --z-nav: 98;
  --z-loader: 999999;
  --z-loader-icon: 9999991;
  --z-mobile-nav: 100000;
}

/* ==================================================
   RESET & BASE
================================================== */

*:focus {
  outline: 2px solid rgba(255, 255, 255, 0.6);
  outline-offset: 3px;
}

*:focus:not(:focus-visible) {
  outline: none;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  background-color: var(--black);
  color: var(--white);
}

body {
  width: 100%;
  overflow-x: hidden;
}

::selection {
  background-color: var(--white);
  color: var(--black);
}

/* ==================================================
   TYPOGRAPHY
================================================== */

h1 {
  font-family: var(--font);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
}

h2 {
  font-family: var(--font);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  color: var(--black);
  font-weight: var(--font-weight-lg);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  text-shadow:
    1px 1px 0 var(--white),
    -1px -1px 0 var(--white),
    1px -1px 0 var(--white),
    -1px 1px 0 var(--white);
}

h3 {
  font-family: var(--font);
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
}

p {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
}

p strong {
  font-weight: var(--font-weight-xl);
}

p a {
  font-family: var(--font);
  color: var(--white);
  font-style: var(--font-style-italic);
  text-decoration: underline;
  font-weight: var(--font-weight-xl);
}

/* ==================================================
   SECTIONS
================================================== */

section {
  padding: var(--section-padding);
}

/* ==================================================
   OPACITY OVERRIDES
   (Barba / WP admin / event categories)
================================================== */

#barba-wrapper p,
#barba-wrapper h1,
#barba-wrapper h2,
#barba-wrapper h3,
#barba-wrapper h4,
#barba-wrapper a,
#barba-wrapper dotlottie-player,
#barba-wrapper lottie-player,
#wpadminbar *,
.mm-events_day_category_inner p,
.mm-events_day_category a,
.mm-events_day_category a p {
  opacity: 1 !important;
}

.mm-events_day_category_inner p,
.mm-events_day_category a,
.mm-events_day_category a p {
  visibility: visible !important;
}

/* ==================================================
   BUTTONS — Underline hover
================================================== */

.mm_underline_btn a {
  display: block;
  max-width: fit-content;
  position: relative;
}

.mm_underline_btn a::after {
  content: '';
  position: absolute;
  width: 0;
  height: 2px;
  display: block;
  right: 0;
  background: var(--white);
  transition: var(--transition);
}

.mm_underline_btn a:hover::after {
  width: 100%;
  left: 0;
  background: var(--white);
}

/* ==================================================
   BUTTONS — Rollover (letter animation)
================================================== */

.wp-block-button {
  background-color: var(--white);
}

.wp-block-button a {
  border-radius: 0;
  border: none;
  background-color: transparent;
  display: inline-block;
  font-family: var(--font);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  text-decoration: none;
  overflow: hidden;
  color: var(--black);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  padding: 14px 25px 10px;
}

.wp-block-button a .mm_btn_inner,
.wpcf7 input[type=submit] .mm_btn_inner {
  overflow: hidden;
  display: inline-block;
  height: 14px;
  width: calc(100% + 2px);
}

.wp-block-button a .letter,
.wpcf7 input[type=submit] .letter {
  display: inline-block;
  transition: var(--transition);
}

.wp-block-button a:hover .letter,
.wp-block-button a .play .letter,
.wpcf7 input[type=submit]:hover .letter,
.wpcf7 input[type=submit] .play .letter {
  transform: translateY(-100%);
}

/* Letter transition delays */
.wp-block-button a .letter:nth-child(1)  { transition-delay: 0s; }
.wp-block-button a .letter:nth-child(2)  { transition-delay: 0.015s; }
.wp-block-button a .letter:nth-child(3)  { transition-delay: 0.030s; }
.wp-block-button a .letter:nth-child(4)  { transition-delay: 0.045s; }
.wp-block-button a .letter:nth-child(5)  { transition-delay: 0.060s; }
.wp-block-button a .letter:nth-child(6)  { transition-delay: 0.075s; }
.wp-block-button a .letter:nth-child(7)  { transition-delay: 0.090s; }
.wp-block-button a .letter:nth-child(8)  { transition-delay: 0.105s; }
.wp-block-button a .letter:nth-child(9)  { transition-delay: 0.120s; }
.wp-block-button a .letter:nth-child(10) { transition-delay: 0.135s; }
.wp-block-button a .letter:nth-child(11) { transition-delay: 0.150s; }
.wp-block-button a .letter:nth-child(12) { transition-delay: 0.165s; }
.wp-block-button a .letter:nth-child(13) { transition-delay: 0.180s; }
.wp-block-button a .letter:nth-child(14) { transition-delay: 0.195s; }
.wp-block-button a .letter:nth-child(15) { transition-delay: 0.210s; }
.wp-block-button a .letter:nth-child(16) { transition-delay: 0.225s; }
.wp-block-button a .letter:nth-child(17) { transition-delay: 0.240s; }
.wp-block-button a .letter:nth-child(18) { transition-delay: 0.255s; }
.wp-block-button a .letter:nth-child(19) { transition-delay: 0.270s; }
.wp-block-button a .letter:nth-child(20) { transition-delay: 0.285s; }
.wp-block-button a .letter:nth-child(21) { transition-delay: 0.300s; }
.wp-block-button a .letter:nth-child(22) { transition-delay: 0.315s; }
.wp-block-button a .letter:nth-child(23) { transition-delay: 0.330s; }
.wp-block-button a .letter:nth-child(24) { transition-delay: 0.345s; }
.wp-block-button a .letter:nth-child(25) { transition-delay: 0.360s; }
.wp-block-button a .letter:nth-child(26) { transition-delay: 0.375s; }
.wp-block-button a .letter:nth-child(27) { transition-delay: 0.390s; }
.wp-block-button a .letter:nth-child(28) { transition-delay: 0.405s; }
.wp-block-button a .letter:nth-child(29) { transition-delay: 0.420s; }
.wp-block-button a .letter:nth-child(30) { transition-delay: 0.435s; }

/* ==================================================
   LOADER
================================================== */

#mm_loader {
  position: fixed;
  background-color: var(--black);
  height: 100%;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: var(--z-loader);
}

#mm_loader_icon {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  z-index: var(--z-loader-icon);
  opacity: 0;
  visibility: visible;
}

/* ==================================================
   NAVIGATION — Desktop
================================================== */

.mm_nav_container {
  position: fixed;
  width: 100%;
  background: var(--black);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: var(--z-nav);
  padding: 10px 10%;
  height: auto;
  top: 0;
}

.mm_nav_container a img,
.mm_nav_container a svg {
  height: 35px;
  width: auto;
}

.mm_nav_container .mm_nav_inner_left {
  display: flex;
  align-items: center;
}

.mm_nav_container .mm_nav_inner_left .mm_menu_logo {
  opacity: 1 !important;
}

.mm_nav_container .mm_nav_inner_left .mm_nav_description {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--font-size-sm);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  display: block;
  max-width: 200px;
  margin-left: 50px;
}

.mm_nav_container .mm_nav_inner_left .mm_nav_description .mm_description_letter {
  display: inline-block;
}

.mm_nav_container .mm_nav_inner_right #menu-menu-principal {
  display: flex;
}

.mm_nav_container .mm_nav_inner_right #menu-menu-principal li,
.mm_nav_inner_mobile li {
  margin: 8px 5px;
}

.mm_nav_container .mm_nav_inner_right #menu-menu-principal li a,
.mm_nav_inner_mobile li a {
  position: relative;
  text-decoration: none;
  color: var(--white);
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  display: block;
  padding: 5px;
  opacity: 1 !important;
  min-width: max-content;
}

/* Language switcher (gtranslate) */
.menu-item-gtranslate > a {
  display: none !important;
}

.menu-item-gtranslate > ul {
  display: flex !important;
}

.menu-item-gtranslate > ul li {
  margin: 0 !important;
  background-color: var(--white);
}

.menu-item-gtranslate > ul li:first-child {
  margin-right: 10px !important;
}

.menu-item-gtranslate > ul li a {
  color: var(--black) !important;
  padding-right: 8px !important;
}

/* ==================================================
   NAVIGATION — Hamburger toggle
================================================== */

#menu-toggle-btn {
  display: none;
  justify-content: center;
  align-items: center;
  height: 25px;
  width: 30px;
  position: relative;
  cursor: pointer;
  transition: all 0.3s;
  z-index: var(--z-mobile-nav);
}

#menu-toggle-btn span {
  height: 2px;
  background: var(--white);
  width: 24px;
  display: inline-block;
  position: absolute;
  top: 50%;
  transition: all 0.3s;
}

#menu-toggle-btn span::before {
  content: " ";
  position: absolute;
  display: inline-block;
  height: 2px;
  background: var(--white);
  transform: translateY(-4px);
  width: 24px;
  transition: all 0.3s;
  top: -2px;
}

#menu-toggle-btn span::after {
  content: " ";
  position: absolute;
  display: inline-block;
  height: 2px;
  background: var(--white);
  transform: translateY(4px);
  width: 24px;
  transition: all 0.3s;
  top: 2px;
}

#menu-toggle-btn.active span {
  transform: rotate(45deg);
}

#menu-toggle-btn.active span::before {
  top: unset;
  transform: rotate(-90deg);
}

#menu-toggle-btn.active span::after {
  opacity: 0;
  transform: rotate(0deg);
}

/* ==================================================
   NAVIGATION — Mobile overlay
================================================== */

.mm_nav_inner_mobile {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: var(--black);
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
}

.mm_nav_inner_mobile ul {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mm_nav_inner_mobile ul li a {
  font-size: var(--font-size-lg);
  line-height: var(--font-size-lg);
}

.mm_nav_inner_mobile ul .menu-item-gtranslate a {
  font-size: var(--font-size-sm);
}

.mm_nav_inner_mobile ul .menu-item-gtranslate ul {
  flex-direction: row;
}

/* ==================================================
   HEADER — Page hero image/video
================================================== */

.mm_page_header {
  height: calc(500px + 62px);
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-top: 62px;
}

.mm_page_little_header {
  height: calc(100px + 62px);
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-top: 62px;
}

.mm_page_header img {
  min-width: 100%;
  min-height: 100%;
  height: auto;
  width: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.mm_page_header iframe,
.mm_page_header object,
.mm_page_header embed {
  width: 100%;
}

.mm_page_header #mm_map {
  min-width: 100%;
  min-height: 100%;
  height: auto;
  width: auto;
  outline: none !important;
  border: none !important;
}

#mm_map iframe + div {
  border: none !important;
}

#mm_map img {
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.mm_page_header .mm_header_link {
  position: absolute;
  bottom: 50px;
  right: 10%;
  z-index: 2;
}

.mm_page_header .mm_header_link a {
  border: none;
  background-color: transparent;
  font-family: var(--font);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  text-decoration: none;
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
}

/* ==================================================
   FRONT PAGE — Hero
================================================== */

.front-page-hero {
  position: relative;
  overflow: hidden;
  min-width: 100%;
  width: 100%;
  height: calc(100vh - 62px) !important;
  margin-top: 62px;
}

.front-page-hero .mm_front-page_hero_video,
.mm_page_hero_video {
  display: block;
  position: relative;
  background-color: var(--black);
  left: 50%;
  top: 50%;
  overflow: hidden;
  transform: translate(-50%, -50%);
}

.front-page-hero .mm_front-page_hero_video img {
  height: 100%;
  width: auto;
  position: relative;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.front-page-hero iframe,
.front-page-hero object,
.front-page-hero embed,
.mm_page_hero_video iframe,
.mm_page_hero_video object,
.mm_page_hero_video embed {
  height: 100%;
  width: 100%;
  position: relative;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.front-page-hero #scrollDown {
  position: absolute;
  width: 60px;
  height: auto;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0) scale(1);
  transition: all 0.3s;
  z-index: 5;
}

.front-page-hero #scrollDown:hover {
  transform: translate(-50%, 0) scale(1.2);
  cursor: pointer;
}

/* Header link variant (bottom-right) */
.front-page-hero .mm_header_link,
.mm_page_header .mm_header_link {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}

/* ==================================================
   FRONT PAGE — Artistes names
================================================== */

.mm_frontpage_section_artistes {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.mm_frontpage_section_artistes_link {
  text-decoration: none;
  padding: 5px 15px;
  display: block;
  transition: all 0.15s ease-in-out;
  width: max-content;
  position: relative;
}

.mm_frontpage_section_artistes_link_artiste {
  position: relative;
  font-family: var(--font);
  font-weight: var(--font-weight-xl);
  text-transform: var(--text-transform-upper);
  font-style: var(--font-style-italic);
  font-size: 87px;
  color: var(--white);
  opacity: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: var(--transition);
  transition-duration: 0.2s;
  z-index: 1;
  text-wrap: balance;
}

.mm_frontpage_section_artistes .mm_frontpage_section_artistes_link_artiste:hover {
  color: var(--white) !important;
  z-index: 3;
}

/* Hover image gallery */
.mm_frontpage_section_names_img_container {
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.mm_frontpage_section_names_img_gallery {
  pointer-events: none;
}

.mm_frontpage_section_names_img_items {
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  background: #b0b0b0;
  margin: 10px;
  opacity: 0;
}

.mm_frontpage_section_names_img_items img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==================================================
   FRONT PAGE — Programmation
================================================== */

.mm_frontpage_section_programmation h2 {
  margin-bottom: var(--margin-md);
}

/* ==================================================
   FRONT PAGE — Participer
================================================== */

.mm_frontpage_section_participer .mm_frontpage_participer_columns {
  margin-top: var(--margin-xl);
  justify-content: space-between;
}

.mm_frontpage_section_participer .mm_frontpage_participer_columns .mm_frontpage_participer_column {
  display: flex;
  flex-direction: column;
  max-width: 25%;
  position: relative;
}

.mm_frontpage_section_participer .mm_frontpage_participer_columns .wp-block-gb-lottiefiles {
  width: fit-content;
  position: absolute;
  left: -35px;
  top: -13px;
}

.mm_frontpage_section_participer .mm_frontpage_participer_columns p {
  margin: var(--margin-md) 0;
}

.mm_frontpage_section_participer .mm_frontpage_participer_columns .wp-block-buttons {
  align-self: flex-start;
  margin-top: auto;
}

/* ==================================================
   FRONT PAGE — Partenaires
================================================== */

.mm_frontpage_section_partenaires .mm_frontpage_partenaires_columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

.mm_frontpage_section_partenaires .mm_frontpage_partenaires_columns p {
  margin-top: var(--margin-lg);
  max-width: 600px;
}

.mm_frontpage_section_partenaires .mm_frontpage_partenaires_columns .wp-block-buttons {
  margin-top: var(--margin-md);
}

.mm_frontpage_section_partenaires .mm_frontpage_partenaires_columns .wp-block-gb-lottiefiles {
  margin-top: var(--margin-lg);
}

.mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_taxonomies {
  margin-top: var(--margin-lg);
}

.mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_taxonomies:first-child {
  margin-top: 0;
}

.mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_taxonomies h3 {
  margin-bottom: 10px;
}

.mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_taxonomies_logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.mm_frontpage_section_partenaires_separateur {
  flex-basis: 100%;
  margin: 0 !important;
}

.mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_link {
  display: block;
  margin: 15px;
}

.mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_link:hover img {
  transform: scale(0.9);
}

.mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_link img {
  max-width: 100px;
  max-height: 75px;
  height: auto;
  width: auto;
  transform: scale(1);
  transition: var(--transition);
}

/* Force visibility for participer & partenaires sections */
.mm_frontpage_section_participer *,
.mm_frontpage_section_partenaires * {
  opacity: 1 !important;
  visibility: visible !important;
}

/* ==================================================
   FRONT PAGE — Waiting page
================================================== */

.front-page-hero-waiting {
  position: relative;
  overflow: hidden;
  min-width: 100%;
  width: 100%;
  height: calc(100vh - 62px) !important;
  margin-top: 62px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.front-page-hero-waiting .text-waiting {
  max-width: 700px;
}

.front-page-hero-waiting .text-waiting > * {
  text-align: left !important;
  margin-bottom: 15px;
}

.front-page-hero-waiting .text-waiting h1 {
  margin-bottom: 40px;
}

/* ==================================================
   INTRO SECTION
================================================== */

.mm_section_intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: 600px;
}

.mm_section_intro .mm_intro_left {
  display: flex;
  flex-direction: column;
}

.mm_section_intro .mm_intro_left .mm_intro_left_title {
  width: max-content;
  max-width: 100%;
  display: flex;
  flex-direction: column;
}

.mm_section_intro .mm_intro_left lottie-player {
  margin-top: auto;
}

.mm_section_intro .mm_intro_left h1 {
  max-width: 600px;
}

.mm_section_intro .mm_intro_left p {
  margin-top: 18px;
  max-width: 600px;
}

.mm_section_intro .mm_intro_right p {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
}

.mm_section_intro .mm_intro_right .wp-block-button {
  width: max-content;
  margin-top: var(--margin-md);
}

/* Page-specific overrides */
.page-id-92 .mm_section_intro .mm_intro_right .wp-block-button {
  display: none;
}

.page-id-81 .mm_section_intro {
  grid-template-columns: minmax(0, 1fr) 1fr;
  gap: 0;
}

.page-id-16 .mm_section_intro .mm_intro_right {
  min-width: 45%;
}

/* ==================================================
   BASIC / BASE PAGE
================================================== */

.mm_section_base_page {
  padding: 150px 25%;
}

.mm_section_base_page h3 {
  margin-top: var(--margin-md);
  margin-bottom: calc(var(--margin-md) / 3);
}

/* ==================================================
   ARTISTES — Solo page
================================================== */

.mm_section_creas {
  padding: 0;
  position: relative;
  overflow: hidden;
}

.mm_section_creas_top,
.mm_section_creas_bottom {
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  overflow: visible;
  width: 800vh;
}

.mm_section_creas_bottom {
  flex-direction: row-reverse;
}

.mm_section_creas img {
  height: 400px;
  width: auto;
  padding: 1rem;
  align-items: center;
  display: inline-flex;
  pointer-events: none;
}

.mm_section_events_artiste {
  display: flex;
  justify-content: space-between;
}

.mm_section_events_artiste .mm_artiste_photo,
.single-artistes .mm_artiste_photo {
  height: 500px;
  width: 450px;
  position: relative;
  overflow: hidden;
}

.mm_section_events_artiste .mm_artiste_photo img,
.single-artistes .mm_artiste_photo img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.mm_section_events_artiste .mm_artiste_content {
  max-width: 700px;
}

.mm_section_events_artiste .mm_artiste_content h2 {
  font-family: var(--font);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  margin: var(--margin-md) 0;
  text-shadow: none;
}

.mm_intro_left_links {
  display: flex;
  margin-top: var(--margin-md);
}

.mm_intro_left_links li {
  margin-right: 15px;
}

.mm_intro_left_links a {
  display: block;
}

.mm_intro_left_links a img {
  width: 25px;
  height: auto;
}

/* ==================================================
   EVENTS — Timeline / Programme
================================================== */

.mm-events_timeline {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 80px auto auto auto;
  cursor: grab;
  position: relative;
  overflow-x: scroll;
}

.mm-events_timeline.disable-click {
  pointer-events: none;
}

.mm-events_timeline.grabbing {
  cursor: grabbing !important;
}

.mm-events_timeline > * {
  font-family: 'Montserrat';
  user-select: none;
}

.mm-events_timeline::-webkit-scrollbar {
  height: 10px;
}

.mm-events_timeline::-webkit-scrollbar-track {
  background: #1a1a1a;
}

.mm-events_timeline::-webkit-scrollbar-thumb {
  border-radius: 1px;
  background-color: var(--white);
}

.mm-events_day_selector {
  display: flex;
  justify-content: space-between;
  margin: 80px 0 20px;
}

.mm-events_day_selector .mm-events_day_selector_btn {
  display: flex;
}

.mm-events_day_selector lottie-player {
  margin-top: -4px;
}

.mm-events_day_selector button {
  border: solid 1px var(--white);
  margin: 0 15px;
  text-decoration: none;
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  padding: 12px 25px;
  border-radius: 1px;
  text-transform: uppercase;
  font-size: var(--font-size-xs);
  transition: all 0.3s ease;
  display: block;
  position: relative;
  overflow: hidden;
  background-color: transparent;
  transform: scale(1);
}

.mm-events_day_selector button:hover {
  transform: scale(0.95);
}

.mm-events_day_selector .selected {
  background-color: var(--white);
  color: var(--black);
}

.mm-events_day {
  min-width: 6000px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  grid-gap: 0;
  padding: 25px 0;
  position: relative;
}

.mm-events_timeline_hours {
  display: grid;
  grid-template-columns: 100px 1fr;
  grid-template-rows: 1fr;
  grid-gap: 10px;
  border-bottom: 1px solid var(--white);
}

.mm-events_day_inner {
  grid-row: 1 / 4;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mm-events_timeline_hours_inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.mm-events_timeline_hours_inner p {
  transform: translateX(-50%);
}

.mm-events_timeline_hours_container {
  display: grid;
  grid-template-columns: repeat(19, 1fr);
  grid-template-rows: 1fr;
  grid-gap: 5px;
}

.mm-events_day_category {
  display: grid;
  grid-gap: 5px;
  padding: 5px 0;
}

.mm-events_day_category_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  grid-row: 1 / 4;
}

.mm-events_day_category_inner p {
  text-decoration: none;
  color: var(--white);
  text-transform: uppercase;
  display: block;
  position: relative;
  font-weight: 400;
  font-style: normal;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
}

.mm-events_event {
  text-decoration: none;
  color: var(--white);
  padding: 9px;
  border-radius: 1px;
  text-transform: uppercase;
  transition: all 0.3s ease;
  display: block;
  position: relative;
  overflow: hidden;
  transform-origin: left;
}

.mm-events_event p {
  position: relative;
  z-index: 2;
  font-weight: 600;
  font-style: var(--font-style-italic);
  font-size: 12px;
  line-height: 16px;
  word-break: break-word;
}

.mm-events_event .mm-events_event_infos {
  margin-bottom: 4px;
  font-weight: 400;
  font-size: 10px;
  line-height: 10px;
  font-style: normal;
  color: var(--gray-muted);
  word-break: break-word;
}

.mm-events_event .mm-events_event_hours {
  margin-top: 4px;
  font-size: 10px;
  font-weight: 400;
  line-height: 10px;
  font-style: normal;
  color: var(--gray-muted);
  word-break: break-word;
}

.mm-events_event .mm-events_event_lieux {
  margin-top: 4px;
  font-weight: 400;
  font-size: 10px;
  line-height: 10px;
  font-style: normal;
  color: var(--gray-muted);
  word-break: break-word;
}

.mm-events_event_infos b {
  font-weight: 600;
}

.mm-events_day_lieux {
  background-color: var(--gray-dark);
  padding: 5px;
  display: grid;
  grid-template-columns: 100px 1fr;
  border: solid 0.5px var(--black);
}

.mm-events_day_lieux:nth-child(2n) {
  background-color: var(--gray-mid);
}

.mm-events_day_category a {
  background-color: var(--gray-light) !important;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.mm-events_timeline lottie-player {
  position: absolute;
  top: calc(50% + 40px);
  left: calc(100% - 50px);
  transform: translate(-50%, -50%);
}

/* ==================================================
   INFOS PRATIQUES
================================================== */

.gm-style-iw-d div {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--black);
  font-weight: var(--font-weight-sm);
}

.mm_infos-pratiques_lieux {
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.mm_infos-pratiques_lieux > div {
  margin-top: var(--margin-lg);
}

.mm_infos-pratiques_lieux > div:first-child {
  margin-top: 0;
}

.mm_infos-pratiques_lieux > div:nth-child(2) {
  margin-top: var(--margin-lg);
}

.mm_infos-pratiques_lieux .wp-block-column {
  display: flex;
  flex-direction: column;
}

.mm_infos-pratiques_lieux h3 a {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  text-decoration: none;
}

.mm_infos-pratiques_lieux .wp-block-buttons {
  margin-top: auto;
}

.mm_infos-pratiques_lieux .wp-block-column.is-layout-flow p:last-of-type {
  margin-bottom: var(--margin-md);
}

.mm_infos-pratiques_lieux p {
  margin-top: calc(var(--margin-md) - 10px);
}

.mm_infos-pratiques_section_journees > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.mm_infos-pratiques_section_journees .wp-block-group__inner-container > div h3 {
  margin-top: calc(var(--margin-md) - 20px);
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
}

/* ==================================================
   FAQ
================================================== */

#faq h2 {
  margin-bottom: 100px;
}

#faq h3 {
  margin-top: calc(var(--margin-md) - 20px);
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
}

#faq .faq-question > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 60px;
}

.faq-devenir-benevole {
  margin-top: 30px !important;
}

.mm_faq_section {
  padding: var(--section-padding);
}

.mm_faq_section h2 {
  font-family: var(--font);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  text-shadow: none;
}

.mm_faq_section p {
  margin-top: var(--margin-md);
}

.mm_faq_section .wp-block-buttons {
  margin-top: calc(var(--margin-md) / 2);
}

.mm_faq_section .wp-block-group__inner-container > div {
  margin-top: var(--margin-lg);
}

.mm_faq_section .wp-block-group__inner-container > div:first-child {
  margin-top: 0;
}

.mm_faq_section .wp-block-group__inner-container lottie-player {
  margin-top: -13px;
}

/* ==================================================
   PARTICIPATION
================================================== */

.mm_participation_media-text .wp-block-media-text__content {
  padding: 0 10%;
  min-height: 700px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.mm_participation_media-text .wp-block-media-text__content h2 {
  color: var(--white);
  font-family: var(--font);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  margin-bottom: var(--margin-md);
  text-shadow: none;
}

.mm_participation_media-text .wp-block-media-text__content p {
  max-width: 600px;
}

.mm_participation_media-text .wp-block-media-text__content .wp-block-buttons {
  margin-top: var(--margin-md);
}

.mm_participation_media-text .wp-block-media-text__content lottie-player {
  margin-top: var(--margin-md);
}

/* ==================================================
   KEYFRAME — Livraison fichier
================================================== */

.mm_keyframe_livraisonfichier {
  margin-top: var(--margin-lg);
  align-items: flex-start !important;
  justify-content: space-between !important;
}

.mm_keyframe_livraisonfichier_right,
.mm_keyframe_livraisonfichier_left {
  max-width: 33%;
}

.mm_keyframe_livraisonfichier_left .wp-block-group__inner-container > div {
  margin-bottom: var(--margin-md);
}

.mm_keyframe_livraisonfichier_right .wp-block-buttons {
  margin-top: var(--margin-md);
}

/* ==================================================
   A PROPOS — Chiffres
================================================== */

.mm_a-propos_section_chiffres .wp-block-columns {
  margin-top: var(--margin-md);
}

.mm_a-propos_section_chiffres lottie-player {
  margin-top: var(--margin-xl);
}

.mm_a-propos_section_chiffres .mm_a-propos_section_chiffres_inner {
  display: flex;
  justify-content: space-between;
}

.mm_a-propos_section_chiffres .mm_a-propos_section_chiffres_bloc {
  width: 300px;
}

.mm_a-propos_section_chiffres .mm_a-propos_section_chiffres_bloc > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.mm_a-propos_section_chiffres .mm_a-propos_section_chiffres_bloc h4 {
  background-color: var(--white);
  display: flex;
  height: 130px;
  color: var(--black);
  width: 200px;
  justify-content: center;
  align-items: center;
  font-family: var(--font);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
}

.mm_a-propos_section_chiffres .mm_a-propos_section_chiffres_bloc p {
  margin-top: var(--margin-md);
}

.mm_a-propos_section_chiffres_right > * {
  align-items: flex-start !important;
}

.mm_a-propos_section_chiffres_right > div:last-child {
  margin-top: var(--margin-md);
}

/* ==================================================
   A PROPOS — Equipe
================================================== */

.mm_a-propos_section_equipe .wp-block-group__inner-container > p {
  margin: var(--margin-xl) 0 var(--margin-md);
  max-width: 700px;
}

.mm_section_equipe {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto;
}

.mm_section_equipe .mm_section_equipe_link {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  margin-top: var(--margin-md);
  text-decoration: none;
  width: 225px;
}

.mm_section_equipe .mm_section_equipe_link:hover img {
  transform: scale(0.9);
}

.mm_section_equipe .mm_section_equipe_link:hover p {
  letter-spacing: -0.5px;
}

.mm_section_equipe .mm_section_equipe_link img {
  transform: scale(1);
  transition: var(--transition);
  height: 150px;
  width: 150px;
}

.mm_section_equipe p {
  text-align: center;
  transition: var(--transition);
}

.mm_section_equipe .mm_section_equipe_solo_nom {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: 18px;
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  margin-top: 15px;
}

.mm_section_equipe .mm_section_equipe_solo_poste {
  margin-top: 10px;
  text-transform: uppercase;
  max-width: 300px;
}

.mm_section_equipe .mm_section_equipe_solo_poste p {
  font-family: var(--font);
  font-size: 12px;
  line-height: 14px;
  color: var(--white);
  font-weight: var(--font-weight-sm);
}

/* ==================================================
   PREROLL
================================================== */

.mm_preroll_au-programme h2 {
  margin-bottom: var(--margin-xl);
}

.mm_preroll_au-programme .wp-container-core-columns-layout-2 h3 {
  margin-bottom: var(--margin-md);
}

/* ==================================================
   CONTACT — CF7 Form
================================================== */

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 15px 25px;
  border: 2px solid #00a0d2;
  font-family: var(--font);
  font-weight: var(--font-weight-sm);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border: none;
  background: rgb(252, 148, 69);
}

.wpcf7-not-valid-tip {
  color: rgb(174, 20, 14);
  font-family: var(--font);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-sm);
  font-size: var(--font-size-sm);
  display: block;
  position: absolute;
  right: 35px;
  top: 50%;
  transform: translateY(-50%);
}

.wpcf7 input[type=text],
.wpcf7 select,
.wpcf7 input[type=email],
.wpcf7 textarea {
  width: 100%;
  padding: 8px 10px;
  border: none;
  resize: vertical;
  font-family: var(--font);
  font-size: var(--font-size-xs);
  line-height: 21px;
  color: var(--white);
  font-weight: 300;
  margin-bottom: 15px;
  background-color: var(--gray-mid);
}

.wpcf7 input[type=file] {
  width: 100%;
  padding: 8px 10px;
  border: none;
  font-family: var(--font);
  font-size: var(--font-size-xs);
  line-height: 21px;
  font-weight: 300;
  margin-bottom: 15px;
  color: var(--white);
  background-color: var(--gray-mid);
}

.wpcf7 input[type=submit] {
  background-color: var(--white) !important;
  border-radius: 0 !important;
  border: none !important;
  display: inline-block !important;
  font-family: var(--font) !important;
  font-size: var(--font-size-xs) !important;
  line-height: var(--line-height-xs) !important;
  text-decoration: none !important;
  overflow: hidden !important;
  color: var(--black) !important;
  font-weight: 900 !important;
  font-style: italic !important;
  padding: 14px 25px !important;
  float: left !important;
}

.wpcf7 .recaptcha {
  display: block;
  margin-bottom: var(--margin-md);
}

/* ==================================================
   PROTECTION DES DONNÉES
================================================== */

.page-id-175 h1 {
  margin-bottom: var(--margin-lg);
  margin-top: var(--margin-md);
}

.page-id-175 h2 {
  margin-top: var(--margin-xl);
  margin-bottom: var(--margin-md);
  font-family: var(--font);
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  text-shadow: none;
}

.page-id-175 h3 {
  margin-top: 20px;
  margin-bottom: 15px;
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  text-shadow: none;
}

#battle h4,
.page-id-175 h4 {
  margin-top: 15px;
  margin-bottom: 10px;
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  text-shadow: none;
}

.page-id-175 h5 {
  margin-top: 10px;
  margin-bottom: 5px;
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  text-shadow: none;
}

.page-id-175 li {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
}

.page-id-175 li a {
  text-decoration: none;
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
  font-style: var(--font-style-italic);
}

/* ==================================================
   BATTLE
================================================== */

#battle li {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
}

#battle .wp-block-media-text__media {
  background-position: 100% 50% !important;
}

#battle h2 {
  margin: 0 0 5px;
}

#battle h4 {
  margin: 0 0 var(--margin-md);
}

/* ==================================================
   GALLERY — Masonry
================================================== */

.wp-lightbox-overlay .scrim {
  background-color: var(--black) !important;
}

.is-style-masonry {
  display: block !important;
}

.is-style-masonry.columns-default {
  -webkit-columns: 3;
  -moz-columns: 3;
  columns: 3;
}

.is-style-masonry .wp-block-image {
  width: 100% !important;
  margin-bottom: var(--wp--style--unstable-gallery-gap) !important;
}

.is-style-masonry.columns-1 { -webkit-columns: 1; -moz-columns: 1; columns: 1; }
.is-style-masonry.columns-2 { -webkit-columns: 2; -moz-columns: 2; columns: 2; }
.is-style-masonry.columns-3 { -webkit-columns: 3; -moz-columns: 3; columns: 3; }
.is-style-masonry.columns-4 { -webkit-columns: 4; -moz-columns: 4; columns: 4; }
.is-style-masonry.columns-5 { -webkit-columns: 5; -moz-columns: 5; columns: 5; }
.is-style-masonry.columns-6 { -webkit-columns: 6; -moz-columns: 6; columns: 6; }
.is-style-masonry.columns-7 { -webkit-columns: 7; -moz-columns: 7; columns: 7; }
.is-style-masonry.columns-8 { -webkit-columns: 8; -moz-columns: 8; columns: 8; }

/* ==================================================
   FOOTER
================================================== */

.mm_page_footer {
  padding: var(--section-padding);
}

.mm_section_footer_flex {
  display: flex;
  justify-content: space-between;
}

/* Footer — First column */
.mm_page_footer .mm_section_footer_first {
  display: flex;
  flex-direction: column;
  width: fit-content;
}

.mm_page_footer .mm_section_footer_first h3 {
  font-family: var(--font);
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
  max-width: 330px;
}

.mm_page_footer .mm_section_footer_first p {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
  max-width: 175px;
  margin-top: var(--margin-md);
}

.mm_page_footer .mm_section_footer_first .mm_nav_footer_rs {
  display: flex;
  align-items: center;
  margin-left: var(--margin-xl);
}

.mm_page_footer .mm_section_footer_first .mm_nav_footer_rs ul {
  display: flex;
}

.mm_page_footer .mm_section_footer_first .mm_nav_footer_rs ul a {
  padding: 5px;
  margin: 5px;
}

.mm_page_footer .mm_section_footer_first .mm_nav_footer_rs ul a img {
  height: 20px;
}

.mm_page_footer .mm_section_footer_first .mm_hashtag a {
  text-decoration: none;
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
}

/* Footer — Second column */
.mm_page_footer .mm_section_footer_second {
  display: flex;
  justify-content: space-between;
  gap: 60px;
}

.mm_page_footer .mm_section_footer_second div {
  width: 200px;
}

.mm_page_footer .mm_section_footer_second h4 {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-xl);
  font-style: var(--font-style-italic);
  text-transform: var(--text-transform-upper);
}

.mm_page_footer .mm_nav_footer_menu {
  margin-top: var(--margin-md);
}

.mm_page_footer .mm_section_footer_second li {
  max-width: 188px;
  margin-bottom: 7px;
}

.mm_page_footer .mm_section_footer_second a {
  font-family: var(--font);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  color: var(--white);
  font-weight: var(--font-weight-sm);
  text-decoration: none;
  display: block;
  max-width: fit-content;
  position: relative;
}

/* Footer — Third row */
.mm_page_footer .mm_section_footer_third {
  width: 100%;
  margin-top: var(--margin-lg);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

/* ==================================================
   ERROR PAGE
================================================== */

.mm_section_error {
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 70px;
}

.mm_section_error > p {
  margin-top: var(--margin-lg);
  margin-bottom: var(--margin-md);
}

.tatto-odsk-gif {
  max-width: 500px;
}

/* ==================================================
   RESPONSIVE — 1620px (hide desktop nav)
================================================== */

@media all and (max-width: 1620px) {
  .mm_nav_inner_right {
    display: none;
  }

  #menu-toggle-btn {
    display: flex;
  }

  .mm_nav_container {
    justify-content: center;
    align-items: flex-start;
  }

  .mm_nav_container .mm_nav_inner_left {
    width: 100%;
    justify-content: space-between;
  }
}

/* ==================================================
   RESPONSIVE — 1356px (large breakpoint)
================================================== */

@media all and (max-width: 1356px) {
  .mm_infos-pratiques_section_lieux .wp-block-group__inner-container > .wp-block-columns {
    flex-wrap: wrap !important;
    flex-direction: column;
  }

  .mm_infos-pratiques_section_lieux .wp-container-core-columns-layout-2 .wp-block-column {
    max-width: max-content;
  }

  .mm_section_events_artiste {
    flex-direction: column;
  }

  .mm_section_events_artiste .mm_artiste_photo {
    height: 400px;
    width: 100%;
  }

  /* Partenaires */
  .mm_frontpage_section_partenaires .mm_frontpage_partenaires_columns {
    grid-template-columns: 1fr;
    gap: var(--margin-md);
  }

  /* Footer */
  .mm_section_footer_flex {
    flex-direction: column;
    gap: var(--margin-lg);
  }

  .mm_page_footer .mm_section_footer_first {
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
  }

  .mm_page_footer .mm_section_footer_first h3 {
    max-width: 100%;
  }

  .mm_page_footer .mm_section_footer_first p {
    max-width: 100%;
    margin-left: 0;
  }

  .mm_page_footer .mm_section_footer_first .mm_nav_footer_rs {
    margin-left: 0;
    margin-top: var(--margin-md);
  }

  .mm_page_footer .mm_section_footer_first .mm_nav_footer_rs ul a {
    margin: 0;
    margin-right: 15px;
    display: block;
  }

  .mm_page_footer .mm_section_footer_first .mm_nav_footer_rs ul a img {
    height: 25px;
    display: block;
  }

  .mm_page_footer .mm_section_footer_second {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
    width: 100%;
  }

  .mm_page_footer .mm_section_footer_second div {
    width: 100%;
  }

  .mm_page_footer .mm_section_footer_second a {
    font-size: 20px;
    line-height: 20px;
    max-width: 100%;
    margin: 0 auto;
  }

  .mm_page_footer .mm_section_footer_second > div {
    margin-top: var(--margin-lg);
    width: 100%;
  }

  .mm_page_footer .mm_section_footer_second .mm_footer_menu_infos-pratiques {
    margin-top: 0;
  }

  .mm_page_footer .mm_section_footer_second ul {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .mm_page_footer .mm_section_footer_second li {
    max-width: max-content;
    margin-bottom: 15px;
  }

  .mm_page_footer .mm_nav_footer_menu {
    margin-top: calc(var(--margin-lg) - 20px);
  }

  .mm_page_footer .mm_section_footer_third {
    width: 100%;
    margin-top: 75px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    text-align: center;
  }
}

/* ==================================================
   RESPONSIVE — 1024px (tablet)
================================================== */

@media all and (max-width: 1024px) {
  .mm_section_intro {
    grid-template-columns: 1fr;
    gap: var(--margin-xl);
  }

  .page-id-81 .mm_section_intro {
    grid-template-columns: 1fr;
    gap: var(--margin-xl);
  }

  .page-id-16 .mm_section_intro .mm_intro_right {
    min-width: unset;
  }

  /* Infos pratiques — Journées */
  .mm_infos-pratiques_section_journees > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  /* FAQ */
  #faq .faq-question > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    margin-bottom: var(--margin-lg);
  }

  #faq h2 {
    margin-bottom: var(--margin-xl);
  }
}

/* ==================================================
   RESPONSIVE — 768px (mobile / tablet)
================================================== */

@media all and (max-width: 768px) {
  :root {
    --font-size-xl: 35px;
    --line-height-xl: 35px;
    --font-size-lg: 26px;
    --line-height-lg: 26px;
    --font-size-sm: 14px;
    --line-height-sm: 21px;
    --section-padding: 50px 25px;
    --margin-xl: 70px;
    --margin-lg: 50px;
    --margin-md: 20px;
  }

  .mm_skew_letter {
    font-size: var(--font-size-lg) !important;
    line-height: var(--line-height-lg) !important;
  }

  /* Nav */
  .mm_nav_container {
    justify-content: center;
    align-items: flex-start;
    padding: 10px 25px;
  }

  .mm_nav_container .mm_nav_inner_left {
    width: 100%;
    justify-content: space-between;
  }

  .mm_nav_container a img,
  .mm_nav_container a svg {
    height: 35px;
  }

  .mm_nav_container .mm_nav_inner_left .mm_nav_description {
    margin-left: 0;
    text-align: center;
    font-size: 16px;
    line-height: 18px;
    max-width: 211px;
  }

  /* Header */
  .mm_page_header {
    height: calc(200px + 62px);
  }

  .front-page-hero {
    height: calc(100dvh - 74px) !important;
    margin-top: 74px;
  }

  /* Intro */
  .mm_section_intro {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--margin-xl);
  }

  .page-id-81 .mm_section_intro {
    grid-template-columns: 1fr;
    gap: var(--margin-xl);
  }

  .mm_section_intro .mm_intro_left {
    flex-direction: column;
  }

  .mm_section_intro .mm_intro_left .mm_intro_left_title {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-top: 18px;
  }

  .mm_section_intro .mm_intro_right {
    margin-top: 0;
    min-width: unset !important;
  }

  .page-id-16 .mm_section_intro .mm_intro_right {
    min-width: unset;
  }

  /* Artistes names */
  .mm_frontpage_section_artistes_link {
    padding: 3px 8px;
  }

  .mm_frontpage_section_artistes_link_artiste {
    font-size: 20px;
  }

  /* Columns */
  .wp-container-core-columns-layout-1.wp-container-core-columns-layout-1 {
    flex-wrap: nowrap;
    flex-direction: column;
  }

  /* Participer */
  .mm_frontpage_section_participer .mm_frontpage_participer_columns {
    margin-top: 0;
  }

  .mm_frontpage_section_participer .mm_frontpage_participer_columns .mm_frontpage_participer_column {
    max-width: 100%;
    margin-top: 35px;
  }

  .mm_frontpage_section_participer .mm_frontpage_participer_columns .wp-block-gb-lottiefiles {
    left: 0;
  }

  .mm_frontpage_section_participer .mm_frontpage_participer_columns h3 {
    padding-left: 30px;
  }

  .mm_frontpage_section_participer .mm_frontpage_participer_columns p {
    margin: 20px 0;
  }

  /* Partenaires */
  .mm_frontpage_section_partenaires .mm_frontpage_partenaires_columns {
    grid-template-columns: 1fr;
    gap: var(--margin-md);
  }

  .mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_taxonomies_logos {
    justify-content: center;
  }

  .mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_link {
    margin: 10px;
  }

  .mm_frontpage_section_partenaires .mm_frontpage_section_partenaires_link img {
    max-width: 80px;
    max-height: 60px;
  }

  /* Infos pratiques — Journées */
  .mm_infos-pratiques_section_journees > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  /* FAQ */
  #faq .faq-question > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    margin-bottom: var(--margin-md);
  }

  #faq h2 {
    margin-bottom: var(--margin-xl);
  }

  /* Events day selector */
  .mm-events_day_selector {
    display: flex;
    justify-content: space-between;
    margin: 35px 0 0;
  }

  .mm-events_day_selector .mm-events_day_selector_btn {
    flex-direction: column;
    width: 100%;
  }

  .mm-events_day_selector button {
    margin: 7px 0;
    padding: 15px 25px;
    font-size: 16px;
  }

  .mm-events_day_selector lottie-player {
    display: none;
  }

  .mm-events_timeline_hours {
    grid-template-columns: 75px 1fr;
  }

  .mm-events_day_lieux {
    grid-template-columns: 75px 1fr;
  }

  /* Footer */
  .mm_page_footer {
    padding: var(--section-padding);
  }

  .mm_page_footer .mm_section_footer_third {
    width: 100%;
    margin-top: 75px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    text-align: center;
  }

  /* Gallery */
  .is-style-masonry.columns-default {
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
  }

  /* Chiffres */
  .mm_a-propos_section_chiffres_inner .wp-container-core-group-layout-4.wp-container-core-group-layout-4,
  .mm_a-propos_section_chiffres_inner .wp-container-core-group-layout-8.wp-container-core-group-layout-8 {
    justify-content: center !important;
  }

  /* Equipe */
  .mm_section_equipe .mm_section_equipe_link {
    width: 50%;
  }

  /* Keyframe */
  .mm_keyframe_livraisonfichier {
    flex-direction: column;
  }

  .mm_keyframe_livraisonfichier_right,
  .mm_keyframe_livraisonfichier_left {
    max-width: 100%;
  }
}

/* ==================================================
   RESPONSIVE — 350px (very small screens)
================================================== */

@media all and (max-width: 350px) {
  :root {
    --font-size-lg: 22px;
    --line-height-lg: 22px;
  }
}

/* ==================================================
   VIMEO — cover responsive sans JS
================================================== */

.mm_page_hero_video {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.mm_page_hero_video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;  /* 16:9 */
  min-height: 100%;
  min-width: 177.78vh; /* 16:9 inverse */
  transform: translate(-50%, -50%);
  border: 0;
}

/* ==================================================
   HERO IMAGE — LCP
================================================== */

.front-page-hero .mm_front-page_hero_video img {
  display: block;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  object-position: center;
}

/* ==================================================
   WILL-CHANGE — éléments GSAP fréquemment animés
================================================== */

#mm_loader,
#mm_loader_icon,
.mm_nav_inner_mobile {
  will-change: transform, opacity;
}

/* ==================================================
   PREFERS REDUCED MOTION
================================================== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .mm_section_creas_top img,
  .mm_section_creas_bottom img {
    animation: none !important;
  }
}
