@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');.hero-container {
  position: relative;
  width: 100%;
  height: 150vh;
  min-height: 560px;
  background: #000;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  display: block;
}

.hero-video-fallback {
  position: absolute;
  inset: 0;
  background: #111;
  z-index: 1;
}

.hero-play-button {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.3s ease, background 0.3s ease;
}

.hero-play-button:hover {
  transform: translate(-50%, -50%) scale(1.1);
  background: rgba(255, 255, 255, 0.18);
}

.play-icon-inner {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 0 9px 16px;
  border-color: transparent transparent transparent #ffffff;
  margin-left: 4px;
}

.pause-icon-inner {
  display: flex;
  gap: 5px;
}

.pause-icon-inner::before,
.pause-icon-inner::after {
  content: "";
  width: 3px;
  height: 18px;
  background: white;
  border-radius: 2px;
}

.hero-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.92));
  z-index: 5;
  display: flex;
  align-items: flex-end;
  padding: 0 80px 60px;
  pointer-events: none;
  box-sizing: border-box;
}

.overlay-content {
  max-width: 900px;
  width: 100%;
  pointer-events: auto;
  overflow: hidden;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 18px;
  border-radius: 27px;
  border: 0.5px solid rgba(255, 255, 255, 0.70);
  background: rgba(199, 199, 199, 0.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 24px;
}

.hero-title {
  margin: 0 0 18px;
  font-size: clamp(24px, 4.5vw, 72px);
  color: #F2E8D5;
  font-family: "Silk Serif";
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -1px;
  word-break: break-word;
  overflow-wrap: break-word;
}

.hero-description {
  max-width: 520px;
  width: 100%;
  color: rgba(255, 255, 255, 0.58);
  font-family: Poppins, sans-serif;
  font-size: clamp(13px, 1.2vw, 17px);
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.loader-container {
  position: fixed;
  inset: 0;
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.theatre-logo-loader {
  position: relative;
  width: 60px;
  height: 60px;
  border: 1px solid rgba(242, 232, 213, 0.1);
  border-radius: 50%;
}

.theatre-logo-loader::before {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid transparent;
  border-top: 1px solid #F2E8D5;
  border-radius: 50%;
  animation: spin-elegant 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}

.loader-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4px;
  height: 4px;
  background: #F2E8D5;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(242, 232, 213, 0.5);
  animation: pulse-dot 1.5s ease-in-out infinite;
}


@keyframes spin-elegant {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes pulse-dot {
  0%, 100% { opacity: 0.3; transform: translate(-50%, -50%) scale(0.8); }
  50%       { opacity: 1;   transform: translate(-50%, -50%) scale(1.2); }
}

@media (max-width: 1024px) {
  .hero-overlay {
    padding: 0 48px 52px;
  }
}

@media (max-width: 768px) {
  .hero-container {
    height: 100svh;
    min-height: 500px;
  }

  .hero-overlay {
    padding: 0 24px 44px;
    height: 65%;
  }

  .hero-badge {
    font-size: 11px;
    padding: 6px 14px;
    margin-bottom: 16px;
  }

  .hero-title {
    font-size: clamp(22px, 5vw, 40px);
    letter-spacing: -0.5px;
    margin-bottom: 12px;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .hero-description {
    font-size: 14px;
    max-width: 100%;
    padding-right: 8px;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .hero-play-button {
    width: 60px;
    height: 60px;
  }
}

@media (max-width: 480px) {
  .hero-container {
    height: 100svh;
    min-height: 480px;
  }

  .hero-overlay {
    padding: 0 20px 36px;
    height: 70%;
  }

  .hero-badge {
    font-size: 10px;
    padding: 5px 12px;
    margin-bottom: 12px;
    letter-spacing: 0.3px;
  }

  .hero-title {
    font-size: clamp(20px, 6.5vw, 32px);
    letter-spacing: -0.3px;
    margin-bottom: 10px;
    line-height: 1.15;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .hero-description {
    font-size: 13px;
    max-width: 100%;
    padding-right: 0;
    line-height: 1.6;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .hero-play-button {
    width: 52px;
    height: 52px;
  }

  .play-icon-inner {
    border-width: 7px 0 7px 13px;
  }

  .pause-icon-inner::before,
  .pause-icon-inner::after {
    height: 14px;
  }
}

@media (max-width: 360px) {
  .hero-overlay {
    padding: 0 16px 28px;
  }
}/**
 * Swiper 12.1.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 24, 2026
 */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: '';
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &,
  &.swiper-pagination-disabled {
    display: none !important;
  }
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
  .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  button& {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }

  &:only-child {
    display: none !important;
  }
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition:
        200ms transform,
        200ms top;
    }
  }
}
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition:
        200ms transform,
        200ms left;
    }
  }
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition:
    200ms transform,
    200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &,
  &.swiper-pagination-horizontal,
  .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-vertical > &,
  &.swiper-pagination-vertical,
  .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
}
.swiper-pagination-lock {
  display: none;
}
.slider-section {
  padding: 60px ;
border-bottom: 2.691px solid #C7BDAA;
}
@media (max-width:767px) {
    .slider-section{
        padding:60px 20px;
    }
}
.slider-card {
  width: 100%;
  height: 250px; /* Ajuste la hauteur selon tes besoins */
  border-radius: 15px; /* Les bords arrondis de ton image */
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.slider-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  transition: transform 0.5s ease;
}

.slider-card:hover img {
  transform: scale(1.05); /* Petit effet de zoom au survol */
}

/* Personnalisation des points de pagination Swiper */
.swiper-pagination-bullet-active {
  background: #9E8E72 !important; /* Ta couleur dorée */
}.evts {
  background: #0a0a0a;
  padding: 100px 6%;
  font-family: 'Poppins', sans-serif;
}

.evts__header {
  text-align: center;
  margin-bottom: 40px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}

.evts.is-visible .evts__header {
  opacity: 1;
  transform: translateY(0);
}

.evts__title {
  font-size: clamp(26px, 3.5vw, 46px);
  margin: 0 0 16px 0;
  color: #C7BDAA;
  text-align: center;
  font-family: "Silk Serif";
  font-weight: 500;
  line-height: 80px;
}

.evts__subtitle {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.5);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.7;
}

.evts__filters {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 6px;
  margin-bottom: 36px;
  scrollbar-width: none;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s 0.15s ease, transform 0.8s 0.15s ease;
}

.evts__filters::-webkit-scrollbar {
  display: none;
}

.evts.is-visible .evts__filters {
  opacity: 1;
  transform: translateY(0);
}

.evts__filter-btn {
  color: #fff;
  text-align: center;
  font-family: Poppins;
  font-size: 12.907px;
  font-weight: 500;
  line-height: 18.438px;
  flex-shrink: 0;
  padding: 7px 18px;
  background: transparent;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: all 0.25s ease;
  white-space: nowrap;
}

.evts__filter-btn:hover {
  border-color: #d5cebf;
}

.evts__filter-btn.is-active {
  background: #C7BDAA;
  box-shadow: 0 0 13.828px 0 rgba(209, 177, 145, 0.30);
  color: #0a0a0a;
  font-weight: 500;
  border-color: transparent;
}

.evts__featured {
  display: flex;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 16px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.9s 0.2s ease, transform 0.9s 0.2s ease;
}

.evts.is-visible .evts__featured {
  opacity: 1;
  transform: translateY(0);
}

.evts__featured-img {
  width: 55%;
  flex-shrink: 0;
  overflow: hidden;
  max-height: 500px;
  position: relative;
}

.evts__featured-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, transparent 90%);
  z-index: 1;
  pointer-events: none;
}

.evts__featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.evts__featured:hover .evts__featured-img img {
  transform: scale(1.04);
}

.evts__featured-content {
  flex: 1;
  background: #111;
  padding: 50px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
}

.evts__description {
  overflow: hidden;
  color: rgba(244, 241, 234, 0.70);
  text-overflow: ellipsis;
  font-family: Poppins;
  font-size: 14px;
  font-weight: 400;
  line-height: 19.956px;
  max-height: 150px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.evts__badge {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  border: 0.877px solid rgba(255, 255, 255, 0.05);
  background: #5A3F2A;
  box-shadow: 0 8.772px 13.158px -2.632px rgba(0, 0, 0, 0.10), 0 3.509px 5.263px -3.509px rgba(0, 0, 0, 0.10);
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 11.404px;
  font-weight: 500;
  line-height: 17.105px;
  letter-spacing: 0.285px;
  margin-bottom: 20px;
  width: fit-content;
}

.evts__badge--card {
  position: absolute;
  bottom: 14px;
  left: 14px;
  margin-bottom: 0;
  background: rgba(140, 110, 60, 0.88);
  color: #fff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 2;
}

.evts__badge--hover {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  border: 0.877px solid rgba(255, 255, 255, 0.05);
  background: #5A3F2A;
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.285px;
  width: fit-content;
  margin-bottom: 6px;
}

.evts__featured-title {
  margin: 0 0 24px 0;
  color: #C7BDAA;
  font-family: "Silk Serif", 'Georgia', serif;
  font-size: 52.632px;
  font-weight: 400;
  line-height: 65.789px;
  letter-spacing: -1.316px;
}

.evts__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 20px;
}

.evts__meta--small {
  margin-bottom: 0;
  margin-top: 10px;
}

.evts__meta-item {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(244, 241, 234, 0.90);
  font-family: Poppins;
  font-size: 14px;
  font-weight: 300;
  line-height: 19.737px;
}

.evts__billet-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 13px 26px;
  border-radius: 6px;
  background: #C7BDAA;
  box-shadow: 0 0 17.544px 0 rgba(200, 162, 93, 0.15);
  color: #0B0B0C;
  text-align: center;
  font-family: Poppins;
  font-size: 10.526px;
  font-weight: 700;
  line-height: 15.789px;
  letter-spacing: 2.105px;
  text-transform: uppercase;
  text-decoration: none;
  width: fit-content;
  margin-top: 20px;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.evts__billet-btn:hover {
  background: #c1ad88;
  box-shadow: 0 0 24px 0 rgba(200, 162, 93, 0.30);
}

.evts__billet-btn--card {
  width: 90%;
  justify-content: center;
  margin-top: auto;
  padding: 13px 20px;
}

.evts__swiper {
  margin-bottom: 50px;
  padding-bottom: 40px; 
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.9s 0.35s ease, transform 0.9s 0.35s ease;
}
.evts__swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
.evts.is-visible .evts__swiper {
  opacity: 1;
  transform: translateY(0);
}

.evts__card-content, 
.evts__card-hover, 
.evts__badge--card {
  position: relative;
  z-index: 2;
}

.evts__card {
  position: relative;
  overflow: hidden; 
  min-height: 450px; 
  width: 100%; 
  display: flex;
  flex-direction: column;
  justify-content: flex-end; 
  color: white; 
  border-radius: 6px;
}

.evts__card:hover {
  transform: translateY(-4px);
}

.evts__card-img {
  position: relative;
  height: 230px;
  overflow: hidden;
}

.evts__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.evts__card:hover .evts__card-img img {
  transform: scale(1.06);
}

.evts__card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
  z-index: 1;
}

.evts__card-content {
  padding: 0 18px 22px;
  transition: opacity 0.3s ease;
}

.evts__card:hover .evts__card-content,
.evts__card:hover .evts__badge--card {
  opacity: 0;
  visibility: hidden; 
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.evts__card-title {
  margin: 0;
  font-family: "Silk Serif";
  color: #C7BDAA;
  font-size: 34px;
  font-weight: 400;
  line-height: 40px;
}

.evts__card-hover {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10, 10, 10, 0.60) 0%,
    rgba(10, 10, 10, 0.95) 35%
  );
  padding: 22px 20px 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
  z-index: 4;
}

.evts__card:hover .evts__card-hover {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.evts__card-hover-title {
  font-family: 'Silk Serif', 'Georgia', serif;
  font-size: 26px;
  font-weight: 400;
  color: #C7BDAA;
  margin: 0;
  line-height: 1.25;
  letter-spacing: -0.5px;
}

.evts__card-hover-desc {
  font-family: Poppins;
  font-size: 13px;
  font-weight: 400;
  color: rgba(244, 241, 234, 0.70);
  line-height: 1.6;
  margin: 4px 0 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
  max-height: 150px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.evts__footer {
  display: flex;
  justify-content: center;
  margin-top: 50px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s 0.5s ease, transform 0.8s 0.5s ease;
}

.evts.is-visible .evts__footer {
  opacity: 1;
  transform: translateY(0);
}

.evts__voir-tout {
  padding: 14px 42px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.60);
  color: rgba(255, 255, 255, 0.8);
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  text-align: center;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.evts__voir-tout:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
}

.evts__loader {
  text-align: center;
  padding: 80px;
  color: rgba(255, 255, 255, 0.4);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  background: #0a0a0a;
}

@media (max-width: 900px) {
  .evts__featured {
    flex-direction: column;
  }

  .evts__featured-img {
    width: 100%;
    max-height: 340px;
  }

  .evts__featured-content {
    padding: 36px 28px;
  }
}

@media (max-width: 600px) {
  .evts {
    padding: 70px 5%;
  }

  .evts__featured-title {
    font-size: 28px;
    line-height: 1.2;
  }
}
.coming-soon-wrapper {
  background: #0f0f0f;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
}

.coming-soon-box {
  width: 100%;
  max-width: 700px;
  border-radius: 16px;
  border: 1px solid #C7BDAA;
  padding: 120px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
}

.coming-soon-text {
    font-size: clamp(28px, 5vw, 80px);
    color: #C7BDAA;
    text-align: center;
    font-weight: 500;
    text-transform: uppercase;
}.bloc-architecte {
  position: relative;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-top: 2.691px solid #C7BDAA;
border-bottom: 2.691px solid #C7BDAA;
}

.bloc-architecte__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  z-index: 1;
}

.bloc-architecte__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: 100px 6%;
  width: 100%;

  /* Animation */
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.bloc-architecte.is-visible .bloc-architecte__inner {
  opacity: 1;
  transform: translateY(0);
}

/* ── Texte gauche ── */
.bloc-architecte__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bloc-architecte__texte {
 color: #C7BDAA;
    text-align: justify;
    leading-trim: both;
    text-edge: cap;
    font-family: Poppins;
    font-size: 25px;
    font-weight: 300;
    line-height: 42px; /* 168% */
  font-size: clamp(13px, 1.4vw, 16px);
  text-align: justify;
  margin: 0;
}

/* ── Image droite ── */
.bloc-architecte__right {
  display: flex;
  justify-content: center;
  align-items: center;

  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.9s ease 0.2s, transform 0.9s ease 0.2s;
}

.bloc-architecte.is-visible .bloc-architecte__right {
  opacity: 1;
  transform: translateX(0);
}

.bloc-architecte__img-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.bloc-architecte__img {
  width: 100%;
  max-width: 460px;
  object-fit: contain;
  filter: brightness(1.1) contrast(1.05);
}

.bloc-architecte__caption {
  color: #C7BDAA;
    text-align: justify;
    font-size: 25px;
    font-style: italic;
    font-weight: 400;
    line-height: 42px; /* 168% */
  margin: 0;
  text-align: right;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .bloc-architecte__inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 60px 6%;
  }

  .bloc-architecte__right {
    transform: translateY(20px);
  }

  .bloc-architecte.is-visible .bloc-architecte__right {
    transform: translateY(0);
  }

  .bloc-architecte__img {
    max-width: 100%;
  }

  .bloc-architecte__caption {
    text-align: center;
  }
}.loading-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease, visibility 0s linear 0s;
}

.loading-overlay.fade-out {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}

.loading-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.loading-icon img {
  width: 80px;
  opacity: 0.9;
  animation: pulse-logo 1.5s ease-in-out infinite;
}

.loading-dots {
  display: flex;
  gap: 8px;
}

.loading-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #C7BDAA;
  animation: loading-bounce 0.8s infinite alternate;
}

.loading-dots span:nth-child(2) { animation-delay: 0.2s; }
.loading-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes pulse-logo {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50%       { opacity: 1;   transform: scale(1.05); }
}

@keyframes loading-bounce {
  from { opacity: 0.3; transform: translateY(0); }
  to   { opacity: 1;   transform: translateY(-8px); }
}.ps {
  background: #0a0a0a;
  min-height: 100vh;
  color: #f5f0e8;
}

.ps-error {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.35);
  background: #0a0a0a;
  letter-spacing: 0.5px;
}
.ps__banner {
  width: 100%;
  height: 100vh;
  min-height: 340px;
  overflow: hidden;
  opacity: 0;
  transform: scale(1.03);
  transition: opacity 1.2s ease-out, transform 1.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ps__banner.is-visible {
  opacity: 1;
  transform: scale(1);
}
.ps__banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.ps__body {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  max-width: 1100px;
  margin: 0 auto;
  padding: 52px 7% 120px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 1s 0.2s ease-out, transform 1.1s 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ps__body.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.ps__breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(248, 245, 242, 0.40);
  font-family: Poppins;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  margin-bottom: 48px;
}
.ps__breadcrumb-link {
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  transition: color 0.3s ease;
}
.ps__breadcrumb-link:hover { color: rgba(255, 255, 255, 0.8); }
.ps__breadcrumb-sep {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.25);
}
.ps__breadcrumb-current { color: rgba(255, 255, 255, 0.65); }

.ps__citation-wrap {
  max-width: 50%;
  margin: 0 0 60px auto;
}
.ps__citation-text {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.9;
  font-style: normal;
  border: none;
  padding: 0;
  margin: 0 0 16px;
}
.ps__citation-source {
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: rgba(199, 189, 170, 0.6);
  line-height: 1.6;
  margin: 0;
}
.ps__title {
  font-size: clamp(28px, 5vw, 52px);
  margin-bottom: 2rem;
  color: #F2E8D5;
  font-weight: 500;
}
.ps__description {
  color: rgba(255, 255, 255, 0.75);
  text-align: justify;
  font-family: Poppins;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
}
.ps__description p + p { margin-top: 1.3em; }
.ps__description strong,
.ps__description b {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
}
.ps__description h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(18px, 2.2vw, 26px);
  font-weight: 400;
  color: #f5f0e8;
  margin: 2.5em 0 0.8em;
}
.ps__description h3 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(16px, 1.8vw, 21px);
  font-weight: 400;
  color: #e8e0d0;
  margin: 2em 0 0.6em;
}
.ps__description ul,
.ps__description ol {
  padding-left: 1.4em;
  margin: 1.2em 0;
  color: rgba(255, 255, 255, 0.65);
}
.ps__description li { margin-bottom: 0.6em; }
.ps__description a {
  color: #c9b89a;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.3s ease;
}
.ps__description a:hover { color: #fff; }

@media (max-width: 768px) {
  .ps__banner { height: 50vw; min-height: 240px; }
  .ps__body { padding: 40px 6% 80px; }
  .ps__citation-wrap { max-width: 100%; margin: 0 0 40px; }
}
@media (max-width: 480px) {
  .ps__banner { height: 60vw; }
  .ps__title { font-size: 26px; }
  .ps__description { font-size: 14px; }
}.page-contenu {
  background: #0a0a0a;
  min-height: 100vh;
  color: #fff;
  padding-top: 80px;
}

.page-contenu__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 2rem 100px;
}

.page-contenu__title {
    font-size: clamp(2rem, 5vw, 50px);
    margin: 0 0 40px;
    color: #F2E8D5;
    font-weight: 500;
    line-height: 70.4px;
}

.page-contenu__body {
  font-family: Poppins, sans-serif;
  line-height: 1.8;
  font-size: 19px;
  color: rgba(255,255,255,0.75);
}

.page-contenu__body h2,
.page-contenu__body h3 {
  color: #F4F1EA;
  font-weight: 500;
  margin: 30px 0 10px;
}

.page-contenu__body p {
    color: rgba(255, 255, 255, 0.75);
    font-family: Poppins;
    font-weight: 300;
    line-height: 43.368px;
    margin: 0 0 16px;
}

.page-contenu__body strong {
   color: #C7BDAA;
    font-family: Poppins;
    font-weight: 500;
    line-height: 43.368px; 
}

.page-contenu__body ul {
  padding-left: 20px;
  margin: 0 0 16px;
}

.page-contenu__body li {
  margin-bottom: 8px;
}

.page-contenu__body a {
  color: #C7BDAA;
  text-decoration: underline;
}

.page-contenu__error {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  color: rgba(255,255,255,0.4);
  font-family: Poppins, sans-serif;
}.prog { background: #0a0a0a; min-height: 100vh; color: #fff; }
.prog__hero {
  position: relative;
  height: 110vh;
  min-height: 500px;
  overflow: hidden;
}
.prog__hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
}

.prog__hero-slide.active { opacity: 1; }

.prog__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%);
  z-index: 1;
}

.prog__hero-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  text-align: center;
  padding: 0 20px;
}

.prog__hero-title {
    margin-top: 9rem;
    color: #C7BDAA;
    text-align: center;
    font-size: clamp(32px, 5vw, 64px);
    font-weight: 400;
    max-width: 800px;
}

.prog__hero-desc {
max-width: 600px;
margin: 20px auto 30px;
color: rgba(248, 245, 242, 0.80);
text-align: center;
font-family: Poppins;
font-size: 18px;
font-weight: 300;
line-height: 25.813px;
}

.prog__hero-dots {
  display: flex;
  gap: 8px;
}

.prog__dot {
  width: 9px;
  height: 9px;
  border-radius: 30933634px;
  background: rgba(255, 255, 255, 0.40);
  border: none;
  cursor: pointer;
  transition: background 0.3s;
  padding: 0;
}

.prog__dot.active { 
    width: 30px;
    background: #C7BDAA;
 }

.prog__body { padding: 60px 6%; }

.prog__filters {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}

.prog__cats { display: flex; gap: 10px; flex-wrap: wrap; }

.prog__cat-btn {
  padding: 7px 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.25s;
}

.prog__cat-btn:hover { border-color: #C7BDAA; }
.prog__cat-btn.active { background: #C7BDAA; color: #0a0a0a; font-weight: 600; }
.prog__search-div{
    position: relative;
}
.prog__search-div svg{
    position: absolute;
    top: 13px;
    left: 9px;
}
.prog__search {
  padding: 0.6rem 2rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.2);
  background: transparent;
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  width: 220px;
  outline: none;
}

.prog__search::placeholder { color: rgba(255,255,255,0.4); }

.prog__featured {
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 60px;
  background: #111;
}

.prog__featured-img { width: 55%; overflow: hidden; max-height: 500px; }
.prog__featured-img img { width: 100%; height: 100%; object-fit: cover; }

.prog__featured-content {
  flex: 1;
  padding: 50px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}

.prog__badge {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: #5A3F2A;
  color: #C7BDAA;
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 500;
  width: fit-content;
}

.prog__badge--card {
  position: absolute;
  bottom: 14px;
  left: 14px;
  margin: 0;
  background: rgba(90,63,42,0.9);
}

.prog__featured-title {
  font-family: 'Silk Serif', Georgia, serif;
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 400;
  color: #C7BDAA;
  margin: 0;
  line-height: 1.2;
}

.prog__meta {
  display: flex;
  gap: 20px;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,0.7);
}
.prog__meta span{
  display: flex;
  gap: 10px;
}
.prog__featured-desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
  margin: 0;
  max-height: 150px;       
  overflow-y: auto;    
  padding-right: 10px;  
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.prog__ticket-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: 6px;
  background: #C7BDAA;
  color: #0a0a0a;
  font-family: Poppins, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  width: fit-content;
  transition: background 0.3s;
}

.prog__ticket-btn:hover { background: #b5a992; }

.prog__section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
  gap: 20px;
}

.prog__dropdowns {
  display: flex;
  gap: 15px;
}
@media (max-width: 900px) {
    .prog__featured-content {
        padding: 36px 20px;
    }
}
@media (max-width: 768px) {
  .prog__section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
  }

  .prog__dropdowns {
    width: 100%; 
    flex-direction: column;
    gap: 12px;
  }

  .prog__dropdown-wrapper {
    width: 100%;
  }

  .prog__section-title {
    font-size: 28px; 
  }
}

.prog__dropdowns { 
  display: flex; 
  gap: 12px; 
}

.prog__dropdown-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 180px; 
}

.prog__dropdown-icon-left {
  position: absolute;
  left: 14px;
  pointer-events: none;
  z-index: 2;
  display: flex;
  align-items: center;
}

.prog__dropdown-trigger {
  width: 100%;
  padding: 9px 16px 9px 38px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  color: #fff;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s ease;
}

.prog__dropdown-trigger:hover, 
.prog__dropdown-trigger.is-open {
  border-color: #C7BDAA;
  background-color: rgba(255, 255, 255, 0.05);
}
.prog__dropdown-arrow {
  transition: transform 0.3s ease;
  margin-left: 8px;
}
.prog__dropdown-arrow.is-open {
  transform: rotate(180deg);
}
.prog__dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #111;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  list-style: none;
  padding: 8px 0;
  margin: 0;
  z-index: 100;
  box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}
.prog__dropdown-item {
  padding: 10px 20px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
}

.prog__dropdown-item:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.prog__dropdown-item.is-selected {
  background: #5A3F2A;
  color: #C7BDAA;
}
.prog__section-title {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-bottom: 30px;
}

.prog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 30px;
  margin-top: 40px;
  padding: 0 20px;
}
@media (max-width: 1024px) {
  .prog__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .prog__grid {
    grid-template-columns: 1fr;
  }
}
.prog__meta--hover {
  color: #C7BDAA;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 5px;
}

.evts__billet-btn--card {
  align-self: flex-start;
  margin-top: auto;
}
.prog__load-more {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.prog__load-more button {
  padding: 14px 42px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.4);
  background: transparent;
  color: rgba(255,255,255,0.8);
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s;
}

.prog__load-more button:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.6);
}

.prog__loader {
  text-align: center;
  padding: 80px;
  color: rgba(255,255,255,0.4);
  font-family: Poppins, sans-serif;
}

@media (max-width: 900px) {
  .prog__featured { flex-direction: column; }
  .prog__featured-img { width: 100%; max-height: 300px; }
  .prog__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .prog__grid { grid-template-columns: 1fr; }
  .prog__filters { flex-direction: column; align-items: flex-start; }
  .prog__hero-title {
    margin-top: 5rem !important;
    }
}:root {
  --visites-bg:        #0a0a0a;
  --visites-gold:      #c9a96e;
  --visites-gold-light:#E9D29F;
  --visites-white:     #ffffff;
  --visites-gray:      #888;
  --visites-card-bg:   #141414;
  --visites-border:    #242424;
  --visites-radius:    10px;
  --visites-max-width: 1160px;
}

.visites-page {
  background-color: var(--visites-bg);
  color: var(--visites-white);
  min-height: 100vh;
  font-family: inherit;
}

.visites-error {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  color: var(--visites-gray);
  font-size: 0.95rem;
}

.visites-section-title {
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  margin: 0 0 0.9rem;
  color: #C7BDAA;
  font-weight: 500;
  line-height: 33px;
  letter-spacing: 1.38px;
  text-transform: uppercase;
}
.visites-section-title--upper {
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: clamp(1.75rem, 1.5vw, 0.85rem);
  color: var(--visites-gold-light);
  font-weight: 500;
  margin-bottom: 1.2rem;
}
.visites-section-desc {
  font-size: clamp(0.82rem, 1.4vw, 0.92rem);
  color: rgba(248, 245, 242, 0.70);
  font-family: Poppins;
  font-weight: 400;
  line-height: 26px;
  max-width: 560px;
  margin: 0;
}

.visites-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}
.visites-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.72) 60%, rgba(0,0,0,0.88) 100%);
}
.visites-hero__content {
  position: relative;
  z-index: 1;
  max-width: 680px;
  padding: 140px 2rem 100px;
  text-align: center;
}
.visites-hero__title {
  margin: 0 0 1.3rem;
  color: #C7BDAA;
  text-align: center;
  font-size: 65px;
  font-weight: 400;
  line-height: 85.25px;
}
.visites-hero__desc {
  margin: 0 auto;
  color: rgba(248, 245, 242, 0.80);
  text-align: center;
  font-family: Poppins;
  font-size: 18px;
  font-weight: 400;
  line-height: 26.705px;
}

.visites-360 {
  max-width: var(--visites-max-width);
  margin: 0 auto;
  padding: 80px 2rem;
}
.visites-360__text { margin-bottom: 2rem; }
.visites-360__embed {
  position: relative;
  width: 100%;
  border-radius: var(--visites-radius);
  overflow: hidden;
  background: #0d0d0d;
  border: 1px solid var(--visites-border);
  box-shadow: 0 8px 40px rgba(0,0,0,0.5);
}
.visites-360__iframe {
  width: 100%;
  height: 500px;
  border: none;
  display: block;
}
.visites-360__placeholder {
  width: 100%;
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0d0d0d;
  color: var(--visites-gray);
  font-size: 0.88rem;
}
.visites-360__nav {
  position: absolute;
  left: 18px;
  bottom: 18px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  color: var(--visites-white);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  transition: background 0.2s;
  line-height: 1;
}
.visites-360__nav:hover { background: rgba(255,255,255,0.22); }

.visites-explorer {
  padding: 80px 2rem;
  background: #080808;
  border-top: 1px solid var(--visites-border);
  border-bottom: 1px solid var(--visites-border);
}
.visites-explorer__header {
  max-width: var(--visites-max-width);
  margin: 0 auto 2.5rem;
}
.visites-explorer__grid {
  max-width: var(--visites-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.visites-explorer__card {
  position: relative;
  border-radius: var(--visites-radius);
  overflow: hidden;
  aspect-ratio: 3/3;
  cursor: pointer;
  background: #111;
}
.visites-explorer__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.visites-explorer__hover {
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,0.80);
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: end;
  padding: 24px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  z-index: 3;
}
.visites-explorer__card:hover .visites-explorer__hover {
  opacity: 1;
  transform: translateY(0);
}
.visites-explorer__card:hover .visites-explorer__nom { opacity: 0; }
.visites-explorer__hover-title {
  font-family: 'Silk Serif', Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  color: #C7BDAA;
  margin: 0 0 12px;
  text-align: center;
  line-height: 1.2;
}
.visites-explorer__hover-desc {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.7);
  line-height: 1.6;
  margin: 0;
}
.visites-explorer__header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.visites-explorer__louer-btn {
  flex-shrink: 0;
  padding: 12px 24px;
  border-radius: 6px;
  background: #C7BDAA;
  box-shadow: 0 0 17.544px 0 rgba(200, 162, 93, 0.15);
  color: #0B0B0C;
  text-align: center;
  font-family: Poppins;
  font-size: 10.526px;
  font-weight: 700;
  letter-spacing: 2.105px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
  text-decoration: none;
  white-space: nowrap;
}

.visites-explorer__louer-btn:hover {
  background: #a5977d;
}
.visites-explorer__nom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 32px 16px 14px;
  background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, transparent 100%);
  font-size: 28px;
  color: #C7BDAA;
  font-weight: 500;
  line-height: 36px;
}

.visites-guidee {
  max-width: var(--visites-max-width);
  margin: 0 auto;
  padding: 80px 2rem 100px;
}
.visites-guidee__header { margin-bottom: 2.5rem; }
.visites-guidee__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.visites-guidee__card {
  background: var(--visites-card-bg);
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.07);
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color 0.25s, transform 0.25s;
}
.visites-guidee__card:hover {
  border-color: rgba(199,189,170,0.2);
  transform: translateY(-3px);
}

.visites-guidee__card-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(199,189,170,0.08);
  border: 1px solid rgba(199,189,170,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: rgba(199,189,170,0.7);
}
.visites-guidee__card-icon img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.7;
}

.visites-guidee__card-title {
  color: #F4F1EA;
  font-family: 'Silk Serif', Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
  margin: 0;
}

.visites-guidee__card-prix-list {
  display: none !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.visites-guidee__card-prix {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  background: rgba(199,189,170,0.08);
  border: 1px solid rgba(199,189,170,0.2);
  border-radius: 20px;
  padding: 5px 14px;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: rgba(199,189,170,0.85);
  letter-spacing: 0.03em;
}

.visites-guidee__card-desc {
  color: rgba(244,241,234,0.60);
  font-family: Poppins;
  font-size: 13px;
  font-weight: 400;
  line-height: 22px;
  flex: 1;
  margin: 0;
}

.visites-guidee__card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  padding: 13px 20px;
  border-radius: 8px;
  background: #C7BDAA;
  border: none;
  box-shadow: 0 0 17px 0 rgba(200,162,93,0.15);
  color: #0B0806;
  font-family: Poppins;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  width: 100%;
  transition: background 0.2s, box-shadow 0.2s;
}
.visites-guidee__card-btn:hover {
  background: #c1ad88;
  box-shadow: 0 0 24px rgba(200,162,93,0.3);
}

@media (max-width: 960px) {
  .visites-explorer__grid { grid-template-columns: repeat(2, 1fr); }
  .visites-explorer__nom { font-size: 22px; line-height: 28px; }
  .visites-guidee__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .visites-hero__title { font-size: 40px; line-height: 60px; }
  .visites-hero__desc { font-size: 13px; }
  .visites-hero { min-height: 420px; }
  .visites-hero__content { padding: 120px 1.5rem 80px; }
  .visites-360,
  .visites-explorer,
  .visites-guidee { padding: 60px 1.2rem; }
  .visites-360__iframe,
  .visites-360__placeholder { height: 280px; }
  .visites-explorer__grid { grid-template-columns: 1fr; }
  .visites-explorer__nom,
  .visites-explorer__hover-title { font-size: 18px; }
  .visites-explorer__hover-desc { font-size: 10px; }
  .visites-guidee__grid { grid-template-columns: 1fr; }
}/* ── Overlay ── */
.formpopup__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  backdrop-filter: blur(8px);
  animation: fpOverlayIn 0.25s ease;
}

@keyframes fpOverlayIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* ── Popup box ── */
.formpopup {
  position: relative;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 48px;
  width: 100%;
  max-width: 680px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  animation: fpBoxIn 0.3s ease;
  scrollbar-width: thin;
  scrollbar-color: rgba(199, 189, 170, 0.2) transparent;
}

@keyframes fpBoxIn {
  from { opacity: 0; transform: translateY(20px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.formpopup::-webkit-scrollbar { width: 4px; }
.formpopup::-webkit-scrollbar-track { background: transparent; }
.formpopup::-webkit-scrollbar-thumb { background: rgba(199, 189, 170, 0.2); border-radius: 4px; }
.formpopup::-webkit-scrollbar-thumb:hover { background: rgba(199, 189, 170, 0.4); }

/* ── Bouton fermer ── */
.formpopup__close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  opacity: 0.6;
  transition: opacity 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.formpopup__close:hover { opacity: 1; }

.formpopup__titre {
  font-family: 'Silk Serif', 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(24px, 3vw, 39px);
  font-weight: 500;
  color: #C7BDAA;
  text-align: center;
  margin: 32px 20px;
  line-height: 30px;
}

.formpopup__form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.formpopup__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.formpopup__coming-soon {
  padding: 40px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 560px) {
  .formpopup__row { grid-template-columns: 1fr; }
  .formpopup { padding: 40px 20px 28px; }
}

/* ── Champ ── */
.formpopup__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.formpopup__field--full {
  width: 100%;
}

/* ── Label ── */
.formpopup__label {
  color: #C7BDAA;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 21px;
}

/* ── Input & Select & Textarea ── */
.formpopup__input,
.formpopup__select,
.formpopup__textarea {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 8px;
  padding: 13px 16px;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #fff;
  outline: none;
  transition: border-color 0.25s ease;
  width: 100%;
  box-sizing: border-box;
}

.formpopup__input::placeholder,
.formpopup__textarea::placeholder {
  color: rgba(255, 255, 255, 0.25);
}

.formpopup__input:focus,
.formpopup__select:focus,
.formpopup__textarea:focus {
  border-color: rgba(199, 189, 170, 0.4);
}

/* ── Select arrow custom ── */
.formpopup__select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C7BDAA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}

.formpopup__select option {
  background: #1e1c1a;
  color: #fff;
}

/* ── Textarea ── */
.formpopup__textarea {
  resize: none;
  min-height: 120px;
}

/* ── File upload — style natif comme dans le design ── */
.formpopup__file-label {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 8px;
  padding: 10px 16px;
  cursor: pointer;
  transition: border-color 0.25s ease;
  min-height: 48px;
}

.formpopup__file-label:hover {
  border-color: rgba(199, 189, 170, 0.4);
}

.formpopup__file-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #1a1814;
  background: #d4cfc6;
  padding: 5px 12px;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,0.15);
  flex-shrink: 0;
  cursor: pointer;
}

.formpopup__file-label:hover .formpopup__file-btn {
  background: #c7bdaa;
}

.formpopup__file-name {
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.35);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Messages état ── */
.formpopup__success {
  text-align: center;
  color: rgba(199, 189, 170, 0.85);
  font-size: 14px;
  padding: 40px 0;
}

.formpopup__error {
  font-size: 12.5px;
  color: rgba(255, 100, 100, 0.85);
  margin: 0;
  text-align: center;
}

/* ── Bouton submit ── */
.formpopup__submit {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 21px;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: #C7BDAA;
  color: #1a1814;
  border: none;
  padding: 15px 32px;
  border-radius: 10px;
  box-shadow: 0 0 18px 0 rgba(200, 162, 93, 0.20);
  cursor: pointer;
  align-self: center;
  margin-top: 8px;
  transition: all 0.3s ease;
}

.formpopup__submit:hover:not(:disabled) {
  background: #d4c9b8;
  box-shadow: 0 0 28px 0 rgba(200, 162, 93, 0.35);
}

.formpopup__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.formpopup__input--error {
  border-color: rgba(255, 100, 100, 0.6) !important;
}
.formpopup__field-error {
  font-size: 11px;
  color: rgba(255, 100, 100, 0.85);
  margin-top: 2px;
}
.formpopup__file-label--error {
  border-color: rgba(255, 100, 100, 0.6) !important;
}.architecte-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}

.architecte-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}

.architecte-bio {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 60px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 180px 6% 80px;
}

.architecte-bio__text {
  flex: 1;
  max-width: 520px;
}
.architecte-bio__nom {
  color: #C7BDAA;
  font-family: "Silk Serif";
  font-size: 65px;
  font-weight: 500;
  line-height: 63px;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0 0 24px;
}
.architecte-bio__desc {
    color: rgba(248, 245, 242, 0.70);
    font-family: Poppins;
    font-size: 14px;
    font-style: italic;
    font-weight: 300;
    line-height: 26px; 
    margin: 0 0 14px;
    padding: 0;
    border: none;
}
.architecte-bio__desc:first-of-type {
  position: relative;
  padding-left: 16px;
  color: rgba(255,255,255,0.75);
  border: none;
}
.architecte-bio__desc:first-of-type::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(180deg, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(162,153,138,0.26) 57.14%, rgba(126,119,107,0.21) 64.29%, rgba(92,87,77,0.17) 71.43%, rgba(60,56,50,0.13) 78.57%, rgba(30,28,24,0.09) 85.71%, rgba(5,5,4,0.04) 92.86%, rgba(0,0,0,0.00) 100%);
}
.architecte-bio__dates {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  font-weight: 300;
  color: rgba(199,189,170,0.6);
  letter-spacing: 0.3em;
  margin-top: 24px;
}
.architecte-bio__dates::before,
.architecte-bio__dates::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 1px;
  background: rgba(199, 189, 170, 0.20);
}
.architecte-bio__dates::after {
  transform: rotate(180deg);
}
.architecte-bio__photo-wrap {
  flex-shrink: 0;
  /* width: 300px; */
  background: #F4F1EA;
  box-shadow: 0 15.571px 31.142px -7.474px rgba(0, 0, 0, 0.25);
  padding: 10px;
}
.architecte-bio__photo {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: top;
  display: block;
}
.architecte-hommage {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.architecte-hommage__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  filter: brightness(0.35);
}
.architecte-hommage__overlay-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.95) 100%);
  z-index: 1;
}
.architecte-hommage__header {
  position: relative;
  z-index: 2;
  padding: 120px 6% 40px; 
  max-width: 500px;
}
.architecte-hommage__titre {
  font-size: clamp(28px, 4vw, 48px);
  margin: 0 0 20px;
  color: #C7BDAA;
  font-size: 58px;
  font-weight: 400;
  line-height: 60.9px; 
  position: relative;
  padding-bottom: 20px;
}
.architecte-hommage__titre::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(162,153,138,0.26) 57.14%, rgba(126,119,107,0.21) 64.29%, rgba(92,87,77,0.17) 71.43%, rgba(60,56,50,0.13) 78.57%, rgba(30,28,24,0.09) 85.71%, rgba(5,5,4,0.04) 92.86%, rgba(0,0,0,0.00) 100%);
}
.architecte-hommage__desc {
  margin: 0;
  padding-left: 0;
  color: rgba(248, 245, 242, 0.65);
  font-family: Poppins;
  font-size: 15px;
  font-weight: 300;
  line-height: 28px; 
}
.architecte-hommage__slider-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 2;
  padding-bottom:10rem;
}
.architecte-hommage__slider {
  overflow: hidden;
  width: 100%;
}
.architecte-hommage__track {
  display: flex;
  gap: 12px;
  width: max-content;
  animation: slideTrack 30s linear infinite;
}
@keyframes slideTrack {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.architecte-hommage__slide {
  flex-shrink: 0;
  width: 200px;
  height: 260px;
}
.architecte-hommage__slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.architecte-hommage__overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 180px;
  z-index: 2;
  pointer-events: none;
}
.architecte-hommage__overlay--left {
  left: 0;
  background: linear-gradient(to right, #0d0d0d 0%, transparent 100%);
}
.architecte-hommage__overlay--right {
  right: 0;
  background: linear-gradient(to left, #0d0d0d 0%, transparent 100%);
}
@media (max-width: 900px) {
  .architecte-bio {
    align-items: center;
    flex-direction: column-reverse;
    padding: 80px 5% 60px;
    gap: 36px;
  }
  /* .architecte-bio__photo-wrap {
    width: 100%;
  } */
  .architecte-bio__photo {
    height: 300px;
    object-position: center top;
  }
  .architecte-hommage__slide {
    width: 150px;
    height: 200px;
  }
}.benevole-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}
.benevole-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}
.benevole-hero {
  position: relative;
  height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.benevole-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0.95) 100%);
}
.benevole-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 700px;
  padding: 0 5%;
}
.benevole-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 12.325px;
  font-weight: 400;
  line-height: 18.488px;
  letter-spacing: 3.081px;
  text-transform: uppercase;
  color: #C7BDAA;
  text-align: center;
  margin-bottom: 20px;
}
.benevole-hero__badge::before,
.benevole-hero__badge::after {
  content: '—';
  color: rgba(199,189,170,0.4);
}
.benevole-hero__titre {
  font-size: clamp(40px, 5vw, 65px);
  font-weight: 500;
  color: #C7BDAA;
  margin: 0 0 20px;
  line-height: 72.308px;
  text-align: center;
}
.benevole-hero__desc {
    color: rgba(248, 245, 242, 0.80);
    text-align: center;
    font-family: Poppins;
    font-size: 18.488px;
    font-weight: 400;
    line-height: 29.581px;
    margin: 0;
}
.benevole-section-titre {
    color: #C7BDAA;
    font-size: 28.759px;
    font-weight: 500;
    line-height: 43.138px; 
    letter-spacing: 1.438px;
    text-transform: uppercase;
    margin: 0 0 36px;
    position: relative;
    padding-bottom: 16px;
}
.benevole-section-titre::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 1px;
  background: rgba(199,189,170,0.4);
}
.benevole-engagement {
  max-width: 1100px;
  margin: 0 auto;
  padding: 100px 6% 80px;
}
.benevole-engagement__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.benevole-engagement__card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 24px 28px;
  max-width: 500px;
}
.benevole-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 14.379px;
  background: #5A3F2A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.benevole-card__icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.7;
}
.benevole-card__texte {
    color: rgba(248, 245, 242, 0.75);
    font-family: Poppins;
    font-size: 18.488px;
    font-weight: 400;
    line-height: 33.278px;
    margin: 0;
}
.benevole-roles {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 6% 100px;
}
.benevole-roles__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.benevole-roles__card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.benevole-roles__card-titre {
    color: #F4F1EA;
    font-family: Poppins;
    font-size: 15.407px;
    font-weight: 500;
    line-height: 21.569px; 
    margin: 0;
}
.benevole-roles__card-desc {
    color: rgba(244, 241, 234, 0.60);
    font-family: Poppins;
    font-size: 13.352px;
    font-weight: 400;
    line-height: 22.699px; 
    margin: 0;
}
.benevole-cta {
  text-align: center;
  padding: 80px 6% 120px;
  max-width: 700px;
  margin: 0 auto;
}
.benevole-cta__titre {
    font-size: clamp(28px, 4vw, 48px);
    color: #C7BDAA;
    text-align: center;
    font-weight: 500;
    line-height: 59.161px; 
    margin: 0 0 16px;
    }
.benevole-cta__desc {
    color: rgba(248, 245, 242, 0.70);
    text-align: center;
    font-family: Poppins;
    font-size: 16.434px;
    font-weight: 400;
    line-height: 27.937px; 
    margin: 0 0 36px;
}
.benevole-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #0a0a0a;
  background: #C7BDAA;
  border: none;
  padding: 14px 32px;
  border-radius: 10.271px;
  box-shadow: 0 0 18.488px 0 rgba(200,162,93,0.20);
  text-decoration: none;
  transition: all 0.3s ease;
}
.benevole-cta__btn:hover {
  background: #d4c9b8;
  box-shadow: 0 0 28px 0 rgba(200,162,93,0.35);
}
@media (max-width: 768px) {
  .benevole-roles__grid {
    grid-template-columns: 1fr;
  }

  .benevole-engagement__card {
    max-width: 100%;
  }
}.membre-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}

.membre-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}
.membre-hero {
  position: relative;
  height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.membre-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0.95) 100%);
}
.membre-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 700px;
  padding: 0 5%;
}
.membre-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 12.325px;
  font-weight: 400;
  line-height: 18.488px;
  letter-spacing: 3.081px;
  text-transform: uppercase;
  color: #C7BDAA;
  text-align: center;
  margin-bottom: 20px;
}
.membre-hero__badge::before,
.membre-hero__badge::after {
  content: '—';
  color: rgba(199,189,170,0.4);
}

.membre-hero__titre {
  font-family: 'Silk Serif', 'Cormorant Garamond', serif;
  font-size: clamp(40px, 5vw, 65px);
  font-weight: 500;
  color: #C7BDAA;
  margin: 0 0 20px;
  line-height: 1.15;
  text-align: center;
}

.membre-hero__desc {
  margin: 0;
  color: rgba(248, 245, 242, 0.80);
  text-align: center;
  font-family: Poppins;
  font-size: 18.488px;
  font-weight: 400;
  line-height: 29.581px; 
}
.membre-section-titre {
  margin: 0 0 36px;
  position: relative;
  color: #C7BDAA;
  font-size: 28.759px;
  font-style: normal;
  font-weight: 500;
  line-height: 43.138px; 
  letter-spacing: 1.438px;
  text-transform: uppercase;
}
.membre-pourquoi {
  max-width: 1100px;
  margin: 0 auto;
  padding: 100px 6% 80px;
}
.membre-pourquoi__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.membre-pourquoi__texte {
 color: rgba(248, 245, 242, 0.75);
  font-family: Poppins;
  font-size: 18.488px;
  font-weight: 400;
  line-height: 33.278px; 
  margin: 0;
}
.membre-pourquoi__liste {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.membre-pourquoi__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(244, 241, 234, 0.90);
  font-family: Poppins;
  font-size: 14.379px;
  font-weight: 400;
  line-height: 21.569px; 
}
.membre-pourquoi__bullet {
  color: #C7BDAA;
  flex-shrink: 0;
  margin-top: 2px;
}
.membre-avantages {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 6% 100px;
}
.membre-avantages__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.membre-avantages__card {
  border-radius: 16.434px;
  border: 1.027px solid rgba(255, 255, 255, 0.06);
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.membre-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 14.379px;
  background: #5A3F2A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.membre-card__icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.85;
}
.membre-avantages__card-titre {
 color: #F4F1EA;
font-family: Poppins;
font-size: 15.407px;
font-weight: 500;
line-height: 21.569px; 
  margin: 0;
}
.membre-avantages__card-desc {
  color: rgba(244, 241, 234, 0.60);
  font-family: Poppins;
  font-size: 13.352px;
  font-weight: 400;
  line-height: 22.699px; 
  margin: 0;
}
.membre-formules {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 6% 120px;
}
.membre-formules__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.membre-formules__card {
  border: 0.911px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.03);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.membre-formules__card-img-wrap {
  height: 140px;
  overflow: hidden;
}
.membre-formules__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.membre-formules__card:hover .membre-formules__card-img {
  transform: scale(1.04);
}

.membre-formules__card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.membre-formules__card-titre {
  color: #F4F1EA;
  font-size: 22.446px;
  font-weight: 500;
  line-height: 28.057px; 
  margin: 0;
}
.membre-formules__card-sous {
  color: rgba(244, 241, 234, 0.60);
  font-family: Poppins;
  font-size: 12.156px;
  font-weight: 400;
  line-height: 18.211px; 
  margin: 0;
}
.membre-formules__card-prix {
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 26.188px;
  font-weight: 400;
  line-height: 26.188px; 
  margin: 4px 0;
}
.membre-formules__card-liste {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.membre-formules__card-item {
 color: rgba(244, 241, 234, 0.80);
  font-family: Poppins;
  font-size: 12.156px;
  font-weight: 400;
  line-height: 18.211px; 
  display: flex;
  gap: 8px;
}
.membre-formules__card-item span {
  color: #C7BDAA;
  flex-shrink: 0;
}
.membre-formules__card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 9.352px;
    border: 0.911px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.05);
    border: none;
    padding: 11px 20px;
    color: #C7BDAA;
    text-align: center;
    font-family: Poppins;
    font-size: 11.2px;
    font-weight: 500;
    line-height: 16.8px; 
    letter-spacing: 1.867px;
    text-decoration: none;
    text-transform: uppercase;
    margin-top: auto;
    transition: all 0.3s ease;
}
.membre-formules__card-btn:hover {
    border-radius: 9.352px;
    background: #C7BDAA;
    box-shadow: 0 0 16.846px 0 rgba(200, 162, 93, 0.15);
    color: #0B0806;
    text-align: center;
    font-family: Poppins;
    font-size: 11.2px;
    font-weight: 500;
    line-height: 16.8px; 
    letter-spacing: 1.867px;
    text-transform: uppercase;
}
.membre-formules__card-btn:hover svg path{
    stroke: #0B0806;
    }

@media (max-width: 1024px) {
  .membre-avantages__grid,
  .membre-formules__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .membre-pourquoi__content {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .membre-avantages__grid,
  .membre-formules__grid {
    grid-template-columns: 1fr;
  }
}.contact-page {
  position: relative;
  background-color: #0a0a0a;
  background-size: contain;
  background-position: center bottom;
  background-attachment: scroll;
  background-repeat: no-repeat;
  color: #fff;
  min-height: 100vh;
}
.contact-page__overlay {
  position: fixed;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.55) 50%,
    rgba(0, 0, 0, 0.70) 100%
  );
  z-index: 0;
  pointer-events: none;
}

.contact-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
  position: relative;
  z-index: 1;
}
.contact-header {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 60px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 140px 6% 80px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.contact-header.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.contact-header__left {
  display: flex;
  flex-direction: column;
}

.contact-header__titre {
  font-family: 'Silk Serif', 'Cormorant Garamond', serif;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 500;
  color: #C7BDAA;
  margin: 0 0 20px;
  line-height: 1.15;
}

.contact-header__desc {
  color: #CFC9C0;
  font-family: Poppins;
  font-size: 17px;
  font-weight: 300;
  line-height: 29.581px;
  margin: 0;
  max-width: 400px;
}

.contact-header__map {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  height: 280px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

.contact-map__iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
.contact-form-section {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 6% 120px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s 0.1s ease-out, transform 0.7s 0.1s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.contact-form-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.contact-form {
  background: rgb(14, 3, 3);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 20px;
  padding: 52px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.3);
}

.contact-form__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.contact-form__label {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  letter-spacing: 0.15em;
  color: #CFC9C0;
  font-family: Poppins;
  font-size: 12px;
  letter-spacing: 0.616px;
  text-transform: uppercase;text-transform: uppercase;
  transition: color 0.3s ease;
}

.contact-form__field:focus-within .contact-form__label {
  color: #C7BDAA;
}

.contact-form__input,
.contact-form__textarea {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 10px;
  padding: 14px 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #fff;
  outline: none;
  transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
  resize: none;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: rgba(255,255,255,0.2);
}

.contact-form__input:focus,
.contact-form__textarea:focus {
  border-color: rgba(199,189,170,0.5);
  background: rgba(255,255,255,0.07);
  box-shadow: 0 0 0 3px rgba(199,189,170,0.08);
}

.contact-form__textarea {
  min-height: 140px;
}

.contact-form__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}

.contact-form__success {
  font-size: 12.5px;
  color: rgba(199,189,170,0.85);
}

.contact-form__error {
  font-size: 12.5px;
  color: rgba(255,100,100,0.85);
}

.contact-form__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #0a0a0a;
  background: #C7BDAA;
  border: none;
  padding: 14px 36px;
  border-radius: 10px;
  box-shadow: 0 0 18px rgba(200,162,93,0.20);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.contact-form__btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0);
  transition: background 0.3s ease;
}

.contact-form__btn:hover {
  background: #d4c9b8;
  box-shadow: 0 0 32px rgba(200,162,93,0.40);
  transform: translateY(-1px);
}

.contact-form__btn:hover::after {
  background: rgba(255,255,255,0.06);
}

.contact-form__btn:active {
  transform: translateY(0);
}

.contact-form__btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
@media (max-width: 900px) {
  .contact-header {
    grid-template-columns: 1fr;
    padding: 100px 5% 60px;
    gap: 40px;
  }

  .contact-form__row {
    grid-template-columns: 1fr;
  }

  .contact-form {
    padding: 28px 20px;
  }
}

@media (max-width: 480px) {
  .contact-header__titre {
    font-size: 28px;
  }

  .contact-form__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .contact-form__btn {
    justify-content: center;
  }
}.mecenat-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}

.mecenat-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}
.mecenat-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 12.325px;
  font-weight: 400;
  letter-spacing: 3.081px;
  text-transform: uppercase;
  color: #C7BDAA;
  margin-bottom: 20px;
}

.mecenat-badge::before,
.mecenat-badge::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 1px;
  background: linear-gradient(90deg, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(162,153,138,0.26) 57.14%, rgba(126,119,107,0.21) 64.29%, rgba(92,87,77,0.17) 71.43%, rgba(60,56,50,0.13) 78.57%, rgba(30,28,24,0.09) 85.71%, rgba(5,5,4,0.04) 92.86%, rgba(0,0,0,0.00) 100%);
  vertical-align: middle;
}

.mecenat-badge::after {
  transform: rotate(180deg);
}

.mecenat-badge--small {
  font-size: 10px;
  letter-spacing: 2px;
  margin-bottom: 16px;
}
.mecenat-section-titre {
    color: #C7BDAA;
    font-size: 29px;
    font-weight: 500;
    line-height: 43px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    margin: 0 0 36px;
    position: relative;
    padding-bottom: 16px;
}
.mecenat-hero {
  position: relative;
  height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mecenat-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0.95) 100%);
}
.mecenat-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 700px;
  padding: 0 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mecenat-hero__titre {
  font-family: 'Silk Serif', 'Cormorant Garamond', serif;
  font-size: clamp(36px, 5vw, 65px);
  font-weight: 500;
  color: #C7BDAA;
  margin: 0 0 20px;
  line-height: 1.15;
  text-align: center;
}
.mecenat-hero__desc {
    margin: 0;
    color: rgba(248, 245, 242, 0.70);
    text-align: center;
    font-family: Poppins;
    font-size: 20;
    font-weight: 400;
    max-width: 600px;
}
.mecenat-mission {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 120px 6% 100px;
}
.mecenat-mission__img-wrap {
  border-radius: 16px;
  overflow: hidden;
  height: 420px;
}
.mecenat-mission__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mecenat-mission__content {
  display: flex;
  flex-direction: column;
}
.mecenat-mission__titre {
    font-size: clamp(28px, 3.5vw, 44px);
    margin: 0 0 24px;
    color: #F4F1EA;
    font-weight: 400;
    line-height: 59.881px; 
}
.mecenat-mission__titre em {
  font-style: italic;
  color: #C7BDAA;
}
.mecenat-mission__desc {
    color: rgba(248, 245, 242, 0.65);
    font-family: Poppins;
    font-size: 16px;
    font-weight: 400;
    line-height: 32.079px; 
    margin: 0 0 16px;
}
.mecenat-impact {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 6% 100px;
}
.mecenat-impact__header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mecenat-impact__titre {
    font-size: clamp(28px, 4vw, 48px);
    margin: 0 0 16px;
    color: #F4F1EA;
    text-align: center;
    font-size: 53px;
    font-weight: 400;
    line-height: 65.584px; 
}
.mecenat-impact__titre em {
  font-style: italic;
  color: #C7BDAA;
}
.mecenat-impact__desc {
  margin: 0;
  color: rgba(248, 245, 242, 0.60);
    text-align: center;
    font-family: Poppins;
    font-size: 16x;
    font-weight: 400;
    line-height: 30.297px; 
}
.mecenat-impact__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.mecenat-impact__card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mecenat-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 14.379px;
  background: #5A3F2A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mecenat-card__icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.85;
}
.mecenat-impact__card-titre {
    color: #F4F1EA;
    font-family: Poppins;
    font-size: 18px;
    font-weight: 500;
    line-height: 28.515px; 
    margin: 0;
}
.mecenat-impact__card-desc {
    color: rgba(248, 245, 242, 0.50);
    font-family: Poppins;
    font-size: 14px;
    font-weight: 400;
    line-height: 26.257px; 
    margin: 0;
}
.mecenat-cta {
  text-align: center;
  padding: 80px 6% 100px;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mecenat-cta__dot {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
}
.mecenat-cta__dot::before {
  content: '';
  width: 30px;
  height: 1px;
  background: linear-gradient(to left, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(0,0,0,0.00) 100%);
  flex-shrink: 0;
}

.mecenat-cta__dot::after {
  content: '';
  width: 30px;
  height: 1px;
  background: linear-gradient(to right, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(0,0,0,0.00) 100%);
  flex-shrink: 0;
}
.mecenat-cta__titre {
    margin: 0 0 16px;
    color: #C7BDAA;
    text-align: center;
    font-size: 59.406px;
    font-weight: 400;
    line-height: 68.317px; 
}

.mecenat-cta__titre em {
  font-style: italic;
  color: #C7BDAA;
}

.mecenat-cta__desc {
    margin: 0 0 36px;
    color: rgba(248, 245, 242, 0.60);
    text-align: center;
    font-family: Poppins;
    font-size: 16px;
    font-weight: 400;
    line-height: 30.297px;
}
.mecenat-cta__btn {
    display: inline-flex;
    align-items: center;
    border: none;
    border-radius: 9.505px;
    background: #C7BDAA;
    box-shadow: 0 0 23.762px 0 rgba(200, 162, 93, 0.25);
    padding: 14px 32px;
    color: #0B0806;
    text-align: center;
    font-family: Poppins;
    font-size: 14.257px;
    font-weight: 400;
    line-height: 21.386px; 
    letter-spacing: 2.376px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
}
.mecenat-cta__btn:hover {
   background: #d4c9b8;
}
.mecenat-don {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 6% 120px;
}
.mecenat-don__card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 16px;
  padding: 36px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.mecenat-don__icon {
  margin-bottom: 4px;
}
.mecenat-don__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.mecenat-don__titre {
    color: #F4F1EA;
    font-size: 40px;
    font-weight: 500;
    line-height: 50.4px; 
    margin: 0 0 16px;
}
.mecenat-don__desc {
    margin: 0 0 28px;
    color: rgba(248, 245, 242, 0.70);
    font-family: Poppins;
    font-size: 15px;
    font-weight: 400;
    line-height: 28.8px; 
}
.mecenat-don__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #0a0a0a;
  background: #C7BDAA;
  border: none;
  padding: 12px 24px;
  border-radius: 10.271px;
  box-shadow: 0 0 18.488px 0 rgba(200,162,93,0.20);
  text-decoration: none;
  transition: all 0.3s ease;
}
.mecenat-don__btn:hover {
  background: #d4c9b8;
}
.mecenat-don__liste {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 8px;
}
.mecenat-don__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: rgba(244, 241, 234, 0.65);
    font-family: Poppins;
    font-size: 14px;
    font-weight: 400;
    line-height: 22.5px;
}
.mecenat-don__check {
  color: #C7BDAA;
  flex-shrink: 0;
  font-size: 12px;
  margin-top: 2px;
}
@media (max-width: 1024px) {
  .mecenat-impact__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .mecenat-mission {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 80px 5% 60px;
  }

  .mecenat-impact__grid {
    grid-template-columns: 1fr;
  }

  .mecenat-don__body {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .mecenat-don__card {
    padding: 24px 20px;
  }
}.partenariat-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}

.partenariat-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}
.partenariat-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 12.325px;
  font-weight: 400;
  letter-spacing: 3.081px;
  text-transform: uppercase;
  color: #C7BDAA;
  margin-bottom: 20px;
}

.partenariat-badge::before,
.partenariat-badge::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 1px;
  background: linear-gradient(90deg, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(0,0,0,0.00) 100%);
}

.partenariat-badge::after {
  transform: rotate(180deg);
}
.partenariat-section-titre {
    color: #C7BDAA;
    font-size: 29.786px;
    font-weight: 500;
    line-height: 43px; 
    letter-spacing: 1.438px;
    text-transform: uppercase;
    margin: 0 0 36px;
    position: relative;
}
.partenariat-hero {
  position: relative;
  height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.partenariat-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0.95) 100%);
}
.partenariat-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 700px;
  padding: 0 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.partenariat-hero__titre {
  font-family: 'Silk Serif', 'Cormorant Garamond', serif;
  font-size: clamp(36px, 5vw, 65px);
  font-weight: 500;
  color: #C7BDAA;
  margin: 0 0 20px;
  line-height: 1.15;
  text-align: center;
}
.partenariat-hero__desc {
    margin: 0;
    color: rgba(248, 245, 242, 0.80);
    text-align: center;
    font-family: Poppins;
    font-size: 17px;
    font-weight: 400;
    line-height: 29.581px; 
    max-width: 500px;
}
.partenariat-pourquoi {
  max-width: 1100px;
  margin: 0 auto;
  padding: 100px 6% 80px;
}
.partenariat-pourquoi__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.partenariat-pourquoi__texte {
    color: rgba(244, 241, 234, 0.60);
    font-family: Poppins;
    font-size: 13.352px;
    font-weight: 400;
    line-height: 20.029px; 
    margin: 0;
}
.partenariat-pourquoi__liste {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.partenariat-pourquoi__item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(244, 241, 234, 0.90);
    font-family: Poppins;
    font-size: 13px;
    font-weight: 400;
    line-height: 21.569px; /* 150% */
}
.partenariat-pourquoi__bullet {
  color: #C7BDAA;
  flex-shrink: 0;
}
.partenariat-avantages {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 6% 100px;
}
.partenariat-avantages__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.partenariat-avantages__card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.partenariat-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 14.379px;
  background: #5A3F2A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.partenariat-card__icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.85;
}
.partenariat-avantages__card-titre {
    color: #F4F1EA;
    font-family: Poppins;
    font-size: 14px;
    font-weight: 500;
    line-height: 21.569px;
    margin: 0;
}
.partenariat-avantages__card-desc {
    color: rgba(244, 241, 234, 0.60);
    font-family: Poppins;
    font-size: 13.352px;
    font-weight: 400;
    line-height: 22.699px; 
    margin: 0;
}
.partenariat-rejoindre {
  max-width: 1100px;
  margin: 0 auto;
  padding: 90px 6% 120px;
}
.partenariat-rejoindre__card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 16px;
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 600px;
}
.partenariat-rejoindre__card-titre {
    font-size: clamp(20px, 2.5vw, 25px);
    color: #F4F1EA;
    font-weight: 500;
    line-height: 38.516px; 
    margin: 0;
}
.partenariat-rejoindre__card-desc {
    color: rgba(244, 241, 234, 0.60);
    font-family: Poppins;
    font-size: 12px;
    font-weight: 400;
    line-height: 20.029px; 
    margin: 0;
}
.partenariat-rejoindre__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #0a0a0a;
  background: #C7BDAA;
  border: none;
  padding: 12px 24px;
  border-radius: 10.271px;
  box-shadow: 0 0 18.488px 0 rgba(200,162,93,0.20);
  text-decoration: none;
  width: fit-content;
  transition: all 0.3s ease;
}
.partenariat-rejoindre__btn:hover {
  background: #d4c9b8;
  box-shadow: 0 0 28px 0 rgba(200,162,93,0.35);
}


.infos-licence {
  border-top: 1.027px solid rgba(199, 189, 170, 0.20);
  border-bottom: 1.027px solid rgba(199, 189, 170, 0.20);
  background: #0A0807;  
  padding: 100px 6%;
}

.infos-licence__inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.infos-licence__titre {
  font-size: clamp(28px, 4vw, 48px);
  color: #C7BDAA;
  text-align: center;
  font-weight: 500;
  line-height: 73.951px;
  margin: 0;
}

.infos-licence__divider {
  width: 40px;
  height: 1px;
  background: #C7BDAA;
  margin: 4px auto;
}

.infos-text {
  color: rgba(248, 245, 242, 0.75);
  font-family: Poppins;
  font-size: 17px;
  font-weight: 300;
  line-height: 36.976px;
  margin: 0 0 16px;
}

.infos-text--center {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 16px;
}

.infos-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Poppins;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2.054px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 2.054px;
  border: 1.027px solid rgba(199, 189, 170, 0.30);
  background: rgba(255, 255, 255, 0.03);
  transition: all 0.3s ease;
}

.infos-btn--primary {
  color: #C7BDAA;
  background: #0a0a0a;
  box-shadow: 0 0 18px 0 rgba(200,162,93,0.20);
}

.infos-btn--primary:hover {
  color: #0a0a0a;
  background: #C7BDAA;
}

.infos-btn--primary:hover svg path {
  stroke: #0a0a0a;
}
@media (max-width: 768px) {
  .partenariat-pourquoi__content {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .partenariat-avantages__grid {
    grid-template-columns: 1fr;
  }
  .partenariat-rejoindre__card {
    padding: 28px 20px;
  }
}.restaurant-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}
.restaurant-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}
.restaurant-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 13px;
  font-weight: 500;
  line-height: 21px;
  letter-spacing: 1.383px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.restaurant-badge--small {
  font-size: 11px;
  letter-spacing: 2px;
}
.restaurant-badge--brown {
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 29433700px;
  background: #5A3F2A;
  box-shadow: 0 8.772px 13.158px 0 rgba(0, 0, 0, 0.10);
  padding: 6px 14px;
  color: #C7BDAA;
  text-align: center;
  font-family: Poppins;
  font-size: 10px;
  font-weight: 500;
  line-height: 17.106px; 
  letter-spacing: 0.285px;
  gap: 0;
}
.restaurant-hero {
  position: relative;
  height: 70vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.restaurant-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.6) 70%, rgba(0,0,0,0.95) 100%);
}
.restaurant-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 700px;
  padding: 0 5% 80px;
}
.restaurant-hero__titre {
  font-size: clamp(32px, 5vw, 60px);
  margin: 0 0 16px;
  color: #C7BDAA;
  text-align: center;
  font-size: 65px;
  font-weight: 500;
  line-height: 82.971px; 
}
.restaurant-hero__desc {
 color: rgba(248, 245, 242, 0.80);
text-align: center;
font-family: Poppins;
font-size: 17px;
font-weight: 300;
line-height: 25.813px; 
  margin: 0;
}
.restaurant-philosophie {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 80px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 6% 80px;
}
.restaurant-philosophie__content {
  display: flex;
  flex-direction: column;
}
.restaurant-philosophie__titre {
  font-size: clamp(28px, 3.5vw, 50px);
  margin: 0 0 24px;
  color: #C7BDAA;
  font-weight: 400;
  line-height: 65.789px;
  letter-spacing: -1.316px;
}
.restaurant-philosophie__titre em {
  font-style: italic;
  color: #C7BDAA;
}
.restaurant-philosophie__desc {
  color: rgba(244, 241, 234, 0.70);
  font-family: Poppins;
  font-size: 15px;
  font-weight: 400;
  line-height: 24px; 
  margin: 0 0 16px;
}
.restaurant-philosophie__img-wrap {
  border-radius: 16px;
  overflow: hidden;
  height: 400px;
}
.restaurant-philosophie__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.restaurant-carte {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 6% 100px;
}
.restaurant-carte__header {
  text-align: center;
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.restaurant-carte__titre {
  font-size: clamp(28px, 4vw, 50px);
  color: #C7BDAA;
  text-align: center;
  font-weight: 400;
  line-height: 78.948px;
  letter-spacing: -1.316px;
  margin: 0 0 12px;
}
.restaurant-carte__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 40px;
}
.restaurant-carte__card {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  height: 340px;
  cursor: pointer;
}
.restaurant-carte__card-img-wrap {
  position: absolute;
  inset: 0;
}
.restaurant-carte__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.restaurant-carte__card:hover .restaurant-carte__card-img {
  transform: scale(1.06);
}
.restaurant-carte__card-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px 20px;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.restaurant-carte__card-titre {
 color: #F4F1EA;
  font-size: 30px;
  font-weight: 400;
  line-height: 48px;
  margin: 0;
}
.restaurant-carte__card-desc {
 color: rgba(244, 241, 234, 0.70);
font-family: Poppins;
font-size: 13px;
font-weight: 400;
line-height: 19.956px; 
  margin: 0;
}
.restaurant-carte__footer {
  text-align: center;
}
.restaurant-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.05);
  color: #C7BDAA;
  text-align: center;
  font-family: Poppins;
  font-size: 9px;
  font-weight: 700;
  line-height: 15.789px; 
  letter-spacing: 2.105px;
  text-transform: uppercase;
  padding: 13px 28px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.restaurant-btn:hover {
  color: #0a0a0a;
  background: #d4c9b8;
  box-shadow: 0 0 28px 0 rgba(200,162,93,0.35);
}
.restaurant-btn:hover svg path{
  stroke:#0a0a0a ;
}
.restaurant-spectacle {
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  padding: 100px 6%;
}
.restaurant-spectacle__header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.restaurant-spectacle__titre {
  font-size: clamp(28px, 4vw, 48px);
  margin: 0 0 16px;
  color: #C9BDA8;
  font-size: 52.632px;
  font-style: italic;
  font-weight: 400;
  line-height: 78.948px;
  letter-spacing: -1.316px;
}
.restaurant-spectacle__titre em {
  font-style: italic;
  color: #C7BDAA;
}
.restaurant-spectacle__desc {
  color: rgba(244, 241, 234, 0.70);
  text-align: center;
  font-family: Poppins;
  font-size: 15px;
  font-weight: 400;
  line-height: 24px; 
  margin: 0;
}
.restaurant-spectacle__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}
.restaurant-spectacle__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  background: rgba(255, 255, 255, 0.02);
  padding: 2.5rem 2rem;
  gap: 14px;
}
.restaurant-spectacle__icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.5;
}
.restaurant-spectacle__card-titre {
  color: #F4F1EA;
  text-align: center;
  font-size: 23px;
  font-weight: 400;
  line-height: 36px; 
  margin: 0;
}
.restaurant-spectacle__card-desc {
  color: rgba(244, 241, 234, 0.70);
  text-align: center;
  font-family: Poppins;
  font-size: 13px;
  font-weight: 400;
  line-height: 19.956px; 
  margin: 0;
}
.restaurant-atmosphere {
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 6% 120px;
}
.restaurant-atmosphere__header {
  text-align: center;
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.restaurant-atmosphere__titre {
  font-size: clamp(28px, 4vw, 48px);
  color: #C7BDAA;
  text-align: center;
  font-size: 51px;
  font-weight: 400;
  line-height: 78.948px; 
  letter-spacing: -1.316px;
  margin: 0 0 12px;
}
.restaurant-atmosphere__grid {
  columns: 3;
  column-gap: 12px;
}
.restaurant-atmosphere__item {
  break-inside: avoid;
  margin-bottom: 12px;
  border-radius: 8px;
  overflow: hidden;
}
.restaurant-atmosphere__img {
  width: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.restaurant-atmosphere__item:hover .restaurant-atmosphere__img {
  transform: scale(1.03);
}
@media (max-width: 1024px) {
  .restaurant-carte__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .restaurant-philosophie {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .restaurant-spectacle__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .restaurant-atmosphere__grid {
    columns: 2;
  }
  .restaurant-carte__grid {
    grid-template-columns: 1fr;
  }
}.media-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}

.media-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}

/* ── BADGE ── */
.media-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 12.325px;
  font-weight: 400;
  letter-spacing: 3.081px;
  text-transform: uppercase;
  color: #C7BDAA;
  margin-bottom: 20px;
}

.media-badge::before,
.media-badge::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 1px;
  background: linear-gradient(90deg, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(0,0,0,0.00) 100%);
}

.media-badge::after {
  transform: rotate(180deg);
}

.media-section-titre {
  color: #C7BDAA;
  font-family: "Playfair Display";
  font-size: 27px;
  font-weight: 500;
  line-height: 43.138px; 
  letter-spacing: 1.541px;
  text-transform: uppercase;
  margin: 0 0 36px;
  position: relative;
  padding-bottom: 16px;
}

.media-hero {
  position: relative;
  height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.media-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.65) 60%, rgba(0,0,0,0.95) 100%);
}

.media-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 800px;
  padding: 0 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.media-hero__titre {
  font-size: clamp(28px, 4vw, 60px);
  margin: 0 0 16px;
  color: #C7BDAA;
  text-align: center;
  font-style: normal;
  font-weight: 500;
  line-height: 58.75px; 
}

.media-hero__desc {
  margin: 0;
  color: rgba(248, 245, 242, 0.80);
  text-align: center;
  font-family: Poppins;
  font-size: 17px;
  font-weight: 400;
  line-height: 29.581px;
  max-width: 600px;
}

/* ── ACTUALITÉS ── */
.media-actualites {
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px 6% 80px;
}

.media-actualites__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.media-actualites__card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: border-color 0.25s ease;
}

.media-actualites__card:hover {
  border-color: rgba(199,189,170,0.25);
}

.media-actualites__card-img-wrap {
  height: 220px;
  overflow: hidden;
  flex-shrink: 0;
}

.media-actualites__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.media-actualites__card:hover .media-actualites__card-img {
  transform: scale(1.04);
}

.media-actualites__card-body {
  padding: 20px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.media-actualites__card-date {
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 10px;
  font-weight: 400;
  line-height: 16.947px;
  letter-spacing: 1.027px;
  text-transform: uppercase;
}

.media-actualites__card-titre {
  margin: 0;
  color: #F4F1EA;
  font-size: 18px;
  font-weight: 600;
  line-height: 21.569px; 
}

.media-actualites__card-desc {
  overflow: hidden;
  color: rgba(244, 241, 234, 0.60);
  text-overflow: ellipsis;
  font-family: Poppins;
  font-size: 12px;
  font-weight: 400;
  line-height: 22.699px; /* 170% */
  margin: 0;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.media-actualites__card-lien {
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 11px;
  font-weight: 400;
  line-height: 18.488px;
  letter-spacing: 1.027px;
  text-transform: uppercase;
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ── COMMUNIQUÉS ── */
.media-communiques {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 6% 80px;
}

.media-communiques__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.media-communiques__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  gap: 20px;
}

.media-communiques__item-left {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
}

.media-communiques__icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #5A3F2A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: rgba(199,189,170,0.8);
}

.media-communiques__item-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.media-communiques__date {
color: #C7BDAA;
font-family: Poppins;
font-size: 10px;
font-weight: 400;
line-height: 16.947px;
letter-spacing: 1.027px;
text-transform: uppercase;
}

.media-communiques__titre {
  color: #F4F1EA;
  font-family: Poppins;
  font-size: 13px;
  font-weight: 400;
  line-height: 21.569px;
  margin: 0;
}

.media-communiques__item-right {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}

.media-communiques__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 1.027px;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.2s ease;
}

.media-communiques__link:hover {
  color: #C7BDAA;
}

/* ── CONFÉRENCES ── */
.media-conferences {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 6% 120px;
}

.media-conferences__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.media-conferences__card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color 0.25s ease;
}

.media-conferences__card:hover {
  border-color: rgba(199,189,170,0.2);
}

.media-conferences__statut {
  display: inline-flex;
  width: fit-content;
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 10px;
  font-weight: 400;
  line-height: 16.947px; 
  letter-spacing: 1.027px;
  text-transform: uppercase;
  border: 1px solid rgba(199,189,170,0.2);
  padding: 4px 12px;
  border-radius: 34463864px;
  background: #5A3F2A;
}

.media-conferences__card-titre {
  font-family: 'Jost', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255,255,255,0.90);
  margin: 0;
  line-height: 1.4;
}

.media-conferences__card-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.media-conferences__meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: Poppins;
    font-size: 12px;
    font-weight: 400;
    line-height: 20.029px; 
    color: rgba(255,255,255,0.50);
}

.media-conferences__meta-item svg {
  flex-shrink: 0;
  color: rgba(199,189,170,0.5);
}

.media-conferences__card-lien {
  display: flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  color: #C7BDAA;
  font-family: Poppins;
  font-size: 12.325px;
  font-weight: 400;
  line-height: 18.488px;
  letter-spacing: 1.027px;
  text-transform: uppercase;
  margin-top: 4px;
  transition: opacity 0.2s ease;
}

.media-conferences__card-lien:hover {
  opacity: 0.75;
}

@media (max-width: 768px) {
  .media-actualites__grid,
  .media-conferences__grid {
    grid-template-columns: 1fr;
  }

  .media-communiques__item {
    flex-direction: column;
    align-items: flex-start;
  }
  .media-actualites {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0px 6% 80px;
  }

  .media-hero__titre {
    font-size: clamp(24px, 6vw, 36px);
    line-height: 1.2;
  }

  .media-hero__desc {
    font-size: 14px;
  }
}


.media-empty {
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.media-empty__line1 {
  color: rgba(199,189,170,0.5);
  font-family: Poppins;
  font-size: 14px;
  font-weight: 400;
  margin: 0;
}

.media-empty__line2 {
  color: rgba(199,189,170,0.7);
  font-family: Poppins;
  font-size: 14px;
  font-weight: 400;
  margin: 0;
}.infos-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}

.infos-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}

/* ── BADGE ── */
.infos-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 12.325px;
  font-weight: 400;
  letter-spacing: 3.081px;
  text-transform: uppercase;
  color: #C7BDAA;
  margin-bottom: 20px;
}

.infos-badge::before,
.infos-badge::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 1px;
  background: linear-gradient(90deg, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(0,0,0,0.00) 100%);
}

.infos-badge::after {
  transform: rotate(180deg);
}

.infos-badge--small {
  font-size: 10px;
  letter-spacing: 2px;
  margin-bottom: 12px;
}

.infos-badge--small::before,
.infos-badge--small::after {
  display: none;
}

/* ── SECTION TITRE ── */
.infos-section-titre {
    color: #C7BDAA;
    font-size: 44px;
    font-weight: 500;
    letter-spacing: 1.027px;
    margin: 0 0 8px;
}

/* ── TEXT ── */
.infos-text {
    color: rgba(248, 245, 242, 0.75);
    font-family: Poppins;
    font-size: 17px;
    font-weight: 300;
    line-height: 36.976px; 
    margin: 0 0 16px;
}

.infos-text--center {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 16px;
}

.infos-text strong, .infos-text b {
  color: rgba(255,255,255,0.85);
  font-weight: 500;
}

/* ── HERO ── */
.infos-hero {
  position: relative;
  height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.infos-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 60%, rgba(0,0,0,0.95) 100%);
}

.infos-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 800px;
  padding: 0 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.infos-hero__titre {
    font-size: clamp(32px, 4vw, 60px);
    margin: 0 0 16px;
    color: #C7BDAA;
    text-align: center;
    font-weight: 500;
}

.infos-hero__desc {
    margin: 0;
    color: rgba(248, 245, 242, 0.70);
    text-align: center;
    font-family: Poppins;
    font-size: 17px;
    font-weight: 300;
    line-height: 36.976px; 
    max-width: 560px;
    }

/* ── ACCESSIBILITÉ ── */
.infos-accessibilite {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: end;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 6% 80px;
}

.infos-accessibilite__header {
  margin-bottom: 24px;
}

.infos-assistance__card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.infos-assistance__card--outlined {
  background: transparent;
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 20px;
}

.infos-assistance__icon {
  object-fit: contain;
  opacity: 0.85;
}
.infos-card__icon img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.85;
}

.infos-assistance__titre {
    color: #F4F1EA;
    text-align: center;
    font-size: 40px;
    font-weight: 500;
    line-height: 43px;
    margin: 0;
}

.infos-assistance__desc {
    color: rgba(244, 241, 234, 0.60);
    font-family: Poppins;
    font-size: 14px;
    font-weight: 300;
    line-height: 27.732px; 
    margin: 0;
}

/* ── LOCATION ── */
.infos-location {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 6% 100px;
}

.infos-location__images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
  height: 420px;
}

.infos-location__img-wrap {
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
}

.infos-location__img-wrap:first-child {
  grid-column: auto;
  height: 100%;
}

.infos-location__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.infos-location__content {
  display: flex;
  flex-direction: column;
}

.infos-location__titre {
    font-size: clamp(24px, 3vw, 44px);
    margin: 0 0 4px;
    color: #C7BDAA;
    font-weight: 500;
    line-height: 67.789px;
    letter-spacing: 1.027px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.infos-location__titre::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(199,189,170,0.5) 0%, rgba(0,0,0,0) 100%);
}

.infos-location__btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

/* ── BOUTONS ── */
.infos-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-align: center;
    font-family: Poppins;
    font-size: 11px;
    font-weight: 500;
    line-height: 18.488px;
    letter-spacing: 2.054px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 2.054px;
    border: 1.027px solid rgba(199, 189, 170, 0.30);
    background: rgba(255, 255, 255, 0.03);
    transition: all 0.3s ease;
}

.infos-btn--primary {
  color: #C7BDAA;
  background:#0a0a0a ;
  box-shadow: 0 0 18px 0 rgba(200,162,93,0.20);
}
.infos-btn--primary:hover {
  color: #0a0a0a;
  background:#C7BDAA ;
  box-shadow: 0 0 18px 0 rgba(200,162,93,0.20);
}
.infos-btn--primary:hover svg path {
  stroke: #0a0a0a;
}
.infos-btn--outline {
  color: #C7BDAA;
  border: 1px solid rgba(255,255,255,0.2);
}

.infos-btn--outline:hover {
  border-color: rgba(255,255,255,0.5);
}

/* ── LICENCE ── */
.infos-licence {
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  padding: 100px 6%;
}

.infos-licence__inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.infos-licence__titre {
    font-size: clamp(28px, 4vw, 48px);
    color: #C7BDAA;
    text-align: center;
    font-weight: 500;
    line-height: 73.951px; 
    margin: 0;
}

.infos-licence__divider {
  width: 40px;
  height: 1px;
  background: #C7BDAA;
  margin: 4px auto;
}

/* ── HORAIRES ── */
.infos-horaires {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 6% 80px;
}

.infos-horaires__titre {
    font-size: clamp(24px, 3vw, 50px);
    margin: 0 0 16px;
    color: #D4C4A1;
    font-weight: 500;
    letter-spacing: 2.2px;
    position: relative;
    padding-bottom: 16px;
    max-width: 400px;
}

.infos-horaires__titre::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 1px;
  background: rgba(199,189,170,0.4);
}

/* Container global */
.infos-horaires__right {
  background-color: #000;
  padding: 60px 20px;
  display: flex;
  justify-content: center;
}

/* La carte avec la bordure */
.infos-horaires__card {
  border: 1px solid #333;
  padding: 50px 30px 30px 30px;
  position: relative;
  width: 100%;
  max-width: 450px;
}

/* Titre (Théâtre) qui coupe la bordure du haut */
.infos-horaires__lieu {
  position: absolute;
  top: 0;
  left: 30px;
  transform: translateY(-50%);
  background-color: #000; /* Indispensable pour masquer le trait */
  padding: 0 15px;
  margin: 0;
  color: #C7BDAA;
  font-size: 40px;
  font-weight: 400;
  line-height: 48px;
}

/* Chaque bloc d'horaire */
.infos-horaires__plage {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #222; /* Ligne de séparation grise */
}

.infos-horaires__plage:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}

/* Ligne heure - trait - heure */
.infos-horaires__plage-time {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #C7BDAA;
  font-size: 30px;
  font-weight: 400;
  line-height: 36px;
  margin-bottom: 8px;
}

/* Le trait doré entre les heures */
.infos-horaires__dash {
  flex-grow: 1;
  height: 1px;
  background-color: #c5b081;
  margin: 0 20px;
  opacity: 0.5;
}

/* Description (Du jour au jour / Jour) */
.infos-horaires__plage-desc {
  margin: 0;
  color: #FFF;
  font-family: Poppins;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px; 
  letter-spacing: 0.45px;
}

/* Section "Fermé" */
.infos-horaires__ferme {
  margin-top: 10px;
}

.infos-horaires__ferme-label {
  display: block;
  color: #c5b081;
  font-family: "Playfair Display", serif;
  font-size: 1.8rem;
  margin-bottom: 8px;
}

.infos-horaires__ferme-jour {
  color: #fff;
  font-family: sans-serif;
  font-size: 1rem;
}

/* ── FAQ ── */
.infos-faq {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 6% 120px;
}

.infos-faq__header {
  text-align: center;
  margin-bottom: 48px;
}

.infos-faq__titre {
    font-size: clamp(28px, 4vw, 45px);
    color: #C7BDAA;
    text-align: center;
    font-weight: 500;
    margin: 0 0 12px;
}

.infos-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.infos-faq__item {
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

.infos-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 0;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: rgba(255,255,255,0.80);
  transition: color 0.2s ease;
}
.infos-faq__question span{
    color: #C7BDAA;
    font-family: Poppins;
    font-size: 18px;
    font-weight: 500;
    line-height: 30.813px;
}

.infos-faq__question:hover {
  color: #fff;
}

.infos-faq__arrow {
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.infos-faq__item.is-open .infos-faq__arrow {
  transform: rotate(180deg);
}

.infos-faq__item.is-open .infos-faq__question {
  color: #C7BDAA;
}

.infos-faq__reponse {
  padding: 0 0 20px;
}

.infos-faq__reponse p {
 color: rgba(248, 245, 242, 0.60);
font-family: Poppins;
font-size: 15px;
font-weight: 300;
line-height: 29.581px;
  margin: 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .infos-accessibilite,
  .infos-location,
  .infos-horaires {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 80px 5% 60px;
  }

  .infos-location__images {
    grid-template-columns: 1fr;
  }

  .infos-location__img-wrap:first-child {
    grid-column: auto;
  }
}.carrieres-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}

.carrieres-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255,255,255,0.4);
  font-size: 14px;
}

/* ── BADGE ── */
.carrieres-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Poppins', sans-serif;
  font-size: 12.325px;
  font-weight: 400;
  letter-spacing: 3.081px;
  text-transform: uppercase;
  color: #C7BDAA;
  margin-bottom: 20px;
}

.carrieres-badge::before,
.carrieres-badge::after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 1px;
  background: linear-gradient(90deg, #C7BDAA 0%, rgba(199,189,170,0.30) 50%, rgba(0,0,0,0.00) 100%);
}

.carrieres-badge::after {
  transform: rotate(180deg);
}

.carrieres-badge--small {
  font-size: 10px;
  letter-spacing: 2px;
  margin-bottom: 0;
  margin-top: 8px;
}

.carrieres-badge--small::before,
.carrieres-badge--small::after {
  display: none;
}

/* ── HERO ── */
.carrieres-hero {
  position: relative;
  height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carrieres-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 10%, rgba(0,0,0,0.95) 100%);
}

.carrieres-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 700px;
  padding: 7rem 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.carrieres-hero__titre {
  font-family: 'Silk Serif', 'Cormorant Garamond', serif;
  font-size: clamp(32px, 5vw, 65px);
  font-weight: 500;
  color: #C7BDAA;
  margin: 0 0 20px;
  line-height: 1.15;
  text-align: center;
}

.carrieres-hero__desc {
  margin: 0;
  color: rgba(248, 245, 242, 0.70);
  text-align: center;
  font-family: Poppins;
  font-size: 17px;
  font-weight: 300;
  line-height: 33.188px;
  max-width: 500px;
}

/* ── POSTES ── */
.carrieres-postes {
  max-width: 1000px;
  margin: 0 auto;
  padding: 30px 6% 120px;
}

.carrieres-postes__header {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.carrieres-postes__titre {
  font-size: clamp(24px, 3vw, 40px);
  color: #C7BDAA;
  font-family: "Silk Serif";
  font-size: 39px;
  font-weight: 500;
  line-height: 60.845px;
  letter-spacing: 0.922px;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}

.carrieres-postes__titre::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(199,189,170,0.4) 0%, transparent 100%);
  min-width: 60px;
}

.carrieres-postes__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.carrieres-postes__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 28px 32px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  margin-bottom: 12px;
  transition: border-color 0.25s ease, background 0.25s ease;
}

.carrieres-postes__item:hover {
  border-color: rgba(199,189,170,0.2);
  background: rgba(255,255,255,0.05);
}

.carrieres-postes__item-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.carrieres-postes__item-titre {
  color: #F4F1EA;
  font-size: 24px;
  font-weight: 500;
  line-height: 38.72px;
  margin: 0;
}

.carrieres-postes__item-desc {
  color: rgba(244, 241, 234, 0.60);
  font-family: Poppins;
  font-size: 12px;
  font-weight: 300;
  line-height: 24.891px;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.carrieres-postes__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #C7BDAA;
  text-align: center;
  font-family: Poppins;
  font-size: 10px;
  font-weight: 500;
  line-height: 16.594px;
  letter-spacing: 1.844px;
  text-transform: uppercase;
  border-radius: 1.844px;
  border: 0.922px solid rgba(199, 189, 170, 0.30);
  background: rgba(255, 255, 255, 0.03);
  padding: 11px 22px;
  box-shadow: 0 0 18.488px 0 rgba(200,162,93,0.20);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

.carrieres-postes__btn:hover {
  color: #0a0a0a;
  background: #d4c9b8;
  box-shadow: 0 0 28px 0 rgba(200,162,93,0.35);
}

.carrieres-postes__btn:hover svg path {
  stroke: #0a0a0a;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .carrieres-postes__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}
.billetterie-page {
  background: #0a0a0a;
  color: #fff;
  min-height: 100vh;
}

.billetterie-error {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60vh;
  color: rgba(255, 255, 255, 0.4);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
}

/* ── Hero ── */
.billetterie-hero {
  position: relative;
  height: 100vh;
  min-height: 360px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(1.03);
  transition: opacity 1.2s ease-out, transform 1.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.billetterie-hero.is-visible {
  opacity: 1;
  transform: scale(1);
}

.billetterie-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0.65) 100%
  );
}

.billetterie-hero__content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 700px;
  padding: 0 6%;
}

.billetterie-hero__titre {
    font-size: clamp(32px, 5vw, 62px);
    margin: 0 0 20px;
    color: #C7BDAA;
    text-align: center;
    font-weight: 400;
    line-height: 82.971px; 
}

.billetterie-hero__desc {
    color: rgba(248, 245, 242, 0.80);
    text-align: center;
    font-family: Poppins;
    font-size: 18px;
    font-weight: 300;
    line-height: 25.813px;
    margin: 0;
}

/* ── Zone iframe ── */
.billetterie-iframe-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 6% 100px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 1s 0.2s ease-out, transform 1.1s 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.billetterie-iframe-wrap.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .billetterie-hero {
    height: 50vw;
    min-height: 280px;
  }

  .billetterie-hero__titre {
    font-size: 28px;
  }

  .billetterie-iframe-wrap {
    padding: 40px 6% 60px;
  }
}

@font-face {
  font-family: "silk-regular";
  src: url("/frontend/react-js-theatre/dist/assets/SilkSerif-Light-DT7NXfDf.woff") format("woff"),
        url("/frontend/react-js-theatre/dist/assets/SilkSerif-Light-BJVzwb6u.woff2") format("woff2");
}

*{
  margin: 0;
  padding: 0;
}

body {
  margin: 0 !important;
   font-family: "silk-regular";
  -webkit-font-smoothing: antialiased;
  background-color: black;
}
