 .events-timeline {
     background: #ffffff;
 }

 /* TIMELINE */
 .timeline {
     position: relative;
     padding-left: 100px;
     /* + d'espace */
 }

 .timeline-item::before {
     left: -54px;
     top: 30px;
 }


 /* .timeline::before {
            content: "";
            position: absolute;
            left: 20px;
            top: 0;
            width: 1px;
            height: 100%;
            background: var(--color-gold);
            opacity: 0.5;
        } */

 /* ITEM */
 .timeline-item {
     position: relative;
     margin-bottom: 60px;
 }

 /* DATE */
 .timeline-date {
     position: absolute;
     left: 40px;
     top: 0;

     width: 60px;
     height: 60px;

     background: var(--color-gold);
     color: #fff;

     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;

     font-family: 'Lexend';
     z-index: 9;
 }

 .timeline-date .day {
     font-size: 18px;
     line-height: 1;
 }

 .timeline-date .month {
     font-size: 10px;
     letter-spacing: 2px;
     margin-top: 2px;
 }

 /* CARD */
 .event-card {
     position: relative;
     overflow: hidden;
 }

 .event-card img {
     width: 100%;
     display: block;
     object-fit: cover;
     transition: transform 1.2s ease;
 }

 .event-card:hover img {
     transform: scale(1.1) translateY(-10px);
 }

 /* OVERLAY (reprend ton style site) */
 .event-card {
     position: relative;
     overflow: hidden;
     aspect-ratio: 16/9;
 }

 /* 🔥 IMAGE EN BACKGROUND */
 .event-card img {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1;
 }

 /* 🔥 OVERLAY AU-DESSUS */
 .event-overlay {
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     padding: 40px;
     z-index: 2;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
 }

 .event-overlay .button-underline {
     color: var(--color-white);
 }

 .event-overlay .button-underline.complet {
     text-decoration: line-through;
 }

 .event-overlay h4 {
     font-family: 'Playfair Display', serif;
     font-size: 24px;
     margin-bottom: 10px;
     color: var(--color-white);
 }

 .event-overlay p {
     color: #fff;
     font-size: 14px;
     max-width: 500px;
 }

 /* BADGE */
 .event-badge {
     position: absolute;
     top: 20px;
     right: 20px;
     font-family: 'Lexend', sans-serif;
     font-size: 10px;
     letter-spacing: 2px;
     text-transform: uppercase;
     border: 1px solid #fff;
     padding: 5px 10px;
     color: #fff;
 }

 /* HOVER CTA */
 .event-overlay a {
     margin-top: 10px;
     display: inline-block;
 }

 .event-card {
     position: relative;
     overflow: hidden;
 }


 .season-block .TallTitle {
     font-size: 37px;
 }

 .events-content .timeline-item {
     opacity: 0;
     transform: translateY(60px);
     transition: all 1s ease;
 }

 .timeline-item.visible {
     opacity: 1;
     transform: translateY(0);
 }

 @media (max-width: 768px) {
     .event-card {
         height: 300px;
     }
 }

 .event-overlay {
     opacity: 0.9;
     transition: all 0.6s ease;
 }

 .event-card:hover .event-overlay {
     opacity: 1;
 }

 .timeline::before {
     content: "";
     position: absolute;
     left: 30px;
     top: 0;
     width: 1px;
     height: 100%;
     background: linear-gradient(to bottom,
             transparent 0%,
             var(--color-gold) 20%,
             var(--color-gold) 80%,
             transparent 100%);
     opacity: 0.7;
 }


 .season-block {
     position: relative;
     margin-bottom: 120px;
 }



 .month-block {
     margin-top: 60px;
     margin-bottom: 40px;
 }

 .month-block h3 {
     position: relative;
     padding-left: 20px;
 }

 .month-number {
     font-family: 'Playfair Display', serif;
     font-size: 40px;
     color: var(--color-gold);
     margin-right: 15px;
     opacity: 0.6;
 }

 .season-block .SmallTitle {
     letter-spacing: 6px;
     color: var(--color-gold);
     margin-bottom: 10px;
 }

 .timeline-item {
     padding-bottom: 40px;
 }

 .season-divider {
     width: 60px;
     height: 1px;
     background: var(--color-gold);
     margin-top: 20px;
     margin-bottom: 40px;
 }

 .month-title {
     position: relative;
     display: inline-block;
 }

 /* GROS NUMÉRO EN FILIGRANE */
 .month-bg {
     position: absolute;
     top: 50%;
     left: 0;
     transform: translateY(-50%);
     font-family: 'Playfair Display', serif;
     font-size: 90px;
     color: var(--color-gold);
     opacity: 0.2;
     line-height: 1;
     z-index: 1;
     pointer-events: none;
 }

 /* TEXTE DEVANT */
 .month-name {
     position: relative;
     z-index: 2;
     font-size: 20px;
     letter-spacing: 4px;
     text-transform: uppercase;
     font-family: 'Lexend';
 }

 .month-block .MediumTitle {
     margin-bottom: 40px;
 }

 .events-layout {
     display: flex;
     gap: 60px;
 }

 /* NAV */
 .events-nav {
     width: 180px;
     position: sticky;
     top: 120px;
     height: fit-content;
 }

 .events-nav ul {
     margin-top: 60px;
     list-style: none;
     padding: 0;
 }

 .events-nav li {
     margin-bottom: 15px;
 }

 .events-nav a {
     font-family: 'Lexend';
     font-size: 12px;
     letter-spacing: 3px;
     text-transform: uppercase;
     color: #000;
     opacity: 0.5;
     transition: all 0.3s ease;
 }

 .events-nav a:hover {
     opacity: 1;
     color: var(--color-gold);
 }

 /* CONTENT */
 .events-content {
     flex: 1;
 }

 html {
     scroll-behavior: smooth;
 }

 .events-nav a.active {
     opacity: 1;
     color: var(--color-gold);
 }

 .events-nav a.active::before {
     content: "";
     display: inline-block;
     width: 10px;
     height: 1px;
     background: var(--color-gold);
     margin-right: 10px;
 }

 @media (max-width: 768px) {
     .events-layout {
         flex-direction: column;
     }

     .events-nav {
         position: relative;
         width: 100%;
         display: flex;
         overflow-x: auto;
     }

     .events-nav ul {
         display: flex;
         gap: 20px;
     }

     .event-card {
         aspect-ratio: unset;
     }

     .events-nav {
         display: none;
     }

 }

 .events-nav {
     border-left: 1px solid rgba(0, 0, 0, 0.08);
     padding-left: 20px;
 }

 .month-block {
     scroll-margin-top: 120px;
     /* ajuste selon ton header */
 }



 .agenda-detail-date {
     font-size: 12px;
     text-transform: uppercase;
     letter-spacing: 3px;
 }

 .events-timeline {
     background: #ffffff;
 }

 /* TIMELINE */
 .timeline {
     position: relative;
     padding-left: 80px;
     /* + d'espace */
 }

 .timeline::before {
     left: 30px;
 }


 /* .timeline::before {
            content: "";
            position: absolute;
            left: 20px;
            top: 0;
            width: 1px;
            height: 100%;
            background: var(--color-gold);
            opacity: 0.5;
        } */

 /* ITEM */
 .timeline-item {
     position: relative;
     margin-bottom: 60px;
 }

 /* DATE */
 .timeline-date {
     position: absolute;
     left: 0;
     top: 20px;
     width: 80px;
     text-align: right;
     font-family: 'Lexend', sans-serif;
     font-size: 12px;
     letter-spacing: 3px;
     color: var(--color-black);
     background-color: var(--color-gold);
     z-index: 9;
 }

 /* CARD */
 .event-card {
     position: relative;
     overflow: hidden;
 }

 .event-card img {
     width: 100%;
     display: block;
     object-fit: cover;
     transition: transform 1.2s ease;
 }

 .event-card:hover img {
     transform: scale(1.1) translateY(-10px);
 }

 /* OVERLAY (reprend ton style site) */
 .event-card {
     position: relative;
     overflow: hidden;
     aspect-ratio: 16/9;
 }

 /* 🔥 IMAGE EN BACKGROUND */
 .event-card img {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1;
 }

 /* 🔥 OVERLAY AU-DESSUS */
 .event-overlay {
     position: absolute;
     bottom: 0;
     left: 0;
     width: 100%;
     padding: 40px;
     z-index: 2;
     background: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
 }

 .event-overlay .button-underline {
     color: var(--color-white);
 }

 .event-overlay .button-underline.complet {
     text-decoration: line-through;
 }

 .event-overlay h4 {
     font-family: 'Playfair Display', serif;
     font-size: 24px;
     margin-bottom: 10px;
     color: var(--color-white);
 }

 .event-overlay p {
     color: #fff;
     font-size: 14px;
     max-width: 500px;
 }

 /* BADGE */
 .event-badge {
     position: absolute;
     top: 20px;
     right: 20px;
     font-family: 'Lexend', sans-serif;
     font-size: 10px;
     letter-spacing: 2px;
     text-transform: uppercase;
     border: 1px solid #fff;
     padding: 5px 10px;
     color: #fff;
 }

 /* HOVER CTA */
 .event-overlay a {
     margin-top: 10px;
     display: inline-block;
 }

 .event-card {
     position: relative;
     overflow: hidden;
 }


 .season-block .TallTitle {
     font-size: 37px;
 }

 .events-content .timeline-item {
     opacity: 0;
     transform: translateY(60px);
     transition: all 1s ease;
 }

 .timeline-item.visible {
     opacity: 1;
     transform: translateY(0);
 }

 @media (max-width: 768px) {
     .event-card {
         height: 300px;
     }
 }

 .event-overlay {
     opacity: 0.9;
     transition: all 0.6s ease;
 }

 .event-card:hover .event-overlay {
     opacity: 1;
 }

 .timeline::before {
     content: "";
     position: absolute;
     left: 30px;
     top: 0;
     width: 1px;
     height: 100%;
     background: linear-gradient(to bottom,
             transparent 0%,
             var(--color-gold) 20%,
             var(--color-gold) 80%,
             transparent 100%);
     opacity: 0.7;
 }

 .events-content .timeline-item::before {
     content: "";
     position: absolute;
     left: -54.5px;
     top: 44px;
     width: 10px;
     height: 10px;
     background: var(--color-gold);
     border-radius: 50%;
     z-index: 2;
 }

 .season-block {
     position: relative;
     margin-bottom: 120px;
 }



 .month-block {
     margin-top: 60px;
     margin-bottom: 40px;
 }

 .month-block h3 {
     position: relative;
     padding-left: 20px;
 }

 .month-number {
     font-family: 'Playfair Display', serif;
     font-size: 40px;
     color: var(--color-gold);
     margin-right: 15px;
     opacity: 0.6;
 }

 .season-block .SmallTitle {
     letter-spacing: 6px;
     color: var(--color-gold);
     margin-bottom: 10px;
 }

 .timeline-item {
     padding-bottom: 40px;
 }

 .season-divider {
     width: 60px;
     height: 1px;
     background: var(--color-gold);
     margin-top: 20px;
     margin-bottom: 40px;
 }

 .month-title {
     position: relative;
     display: inline-block;
 }

 /* GROS NUMÉRO EN FILIGRANE */
 .month-bg {
     position: absolute;
     top: 50%;
     left: 0;
     transform: translateY(-50%);
     font-family: 'Playfair Display', serif;
     font-size: 90px;
     color: var(--color-gold);
     opacity: 0.2;
     line-height: 1;
     z-index: 1;
     pointer-events: none;
 }

 /* TEXTE DEVANT */
 .month-name {
     position: relative;
     z-index: 2;
     font-size: 20px;
     letter-spacing: 4px;
     text-transform: uppercase;
     font-family: 'Lexend';
 }

 .month-block .MediumTitle {
     margin-bottom: 40px;
 }

 .events-layout {
     display: flex;
     gap: 60px;
 }

 /* NAV */
 .events-nav {
     width: 180px;
     position: sticky;
     top: 120px;
     height: fit-content;
 }

 .events-nav ul {
     margin-top: 112px;
     list-style: none;
     padding: 0;
 }

 .events-nav li {
     margin-bottom: 15px;
 }

 .events-nav a {
     font-family: 'Lexend';
     font-size: 12px;
     letter-spacing: 3px;
     text-transform: uppercase;
     color: #000;
     opacity: 0.5;
     transition: all 0.3s ease;
 }

 .events-nav a:hover {
     opacity: 1;
     color: var(--color-gold);
 }

 /* CONTENT */
 .events-content {
     flex: 1;
 }

 html {
     scroll-behavior: smooth;
 }

 .events-nav a.active {
     opacity: 1;
     color: var(--color-gold);
 }

 .events-nav a.active::before {
     content: "";
     display: inline-block;
     width: 10px;
     height: 1px;
     background: var(--color-gold);
     margin-right: 10px;
 }

 @media (max-width: 768px) {
     .events-layout {
         flex-direction: column;
     }

     .events-nav {
         position: relative;
         width: 100%;
         display: flex;
         overflow-x: auto;
     }

     .events-nav ul {
         display: flex;
         gap: 20px;
     }

     .event-card {
         aspect-ratio: unset;
     }

     .events-nav {
         display: none;
     }

 }

 .events-nav {
     border-left: 1px solid rgba(0, 0, 0, 0.08);
     padding-left: 20px;
 }

 .month-block {
     scroll-margin-top: 120px;
     /* ajuste selon ton header */
 }

 .calendar-day {
     min-height: 140px;
     padding: 20px;
     border: 1px solid rgba(0, 0, 0, 0.1);
     transition: all 0.4s ease;
     position: relative;
 }

 .calendar-day:hover {
     border-color: var(--color-gold);
     transform: translateY(-3px);
 }

 /* EVENT */
 .event-card-mini {
     display: block;
     margin-top: 10px;
     font-size: 12px;
     padding: 8px 10px;
     border-left: 2px solid var(--color-gold);
     background: rgba(255, 255, 255, 0.6);
     backdrop-filter: blur(4px);
     transition: all 0.3s ease;
 }

 .calendar-day:hover .event-card-mini {
     transform: translateX(4px);
 }

 /* COMPLET */
 .event-status {
     display: block;
     font-size: 10px;
     opacity: 0.6;
     margin-top: 4px;
 }

 .event-preview {
     position: fixed;
     width: 350px;
     height: 250px;
     background-size: cover;
     background-position: center;
     z-index: 99999;
     opacity: 0;
     pointer-events: none;
     transform: scale(0.95);
     transition: opacity 0.25s ease, transform 0.3s ease;
 }

 .event-preview.active {
     transform: scale(1);
 }

 .calendar-grid {
     display: grid;
     grid-template-columns: repeat(7, 1fr);
     gap: 20px;
 }

 .calendar-day-name {
     font-family: 'Lexend';
     font-size: 11px;
     letter-spacing: 3px;
     text-transform: uppercase;
     opacity: 0.5;
 }

 .calendar-day.empty {
     border: none;
 }

 .day-number {
     font-family: 'Playfair Display';
     font-size: 18px;
     color: var(--color-black);
     opacity: 0.6;
 }

 .calendar-day:hover .day-number {
     color: var(--color-gold);
 }

 .calendar-day.has-event {
     background: linear-gradient(180deg,
             rgba(212, 175, 55, 0.05),
             transparent);
 }

 .calendar-day:hover {
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
 }

 .events-switch {
     display: flex;
     gap: 15px;
     margin: 40px auto;
     justify-content: center;
 }

 .switch-btn {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     padding: 10px 18px;

     font-family: 'Lexend';
     font-size: 12px;
     letter-spacing: 2px;
     text-transform: uppercase;

     background: #fff;
     border: 1px solid rgba(0, 0, 0, 0.15);
     color: #000;

     transition: all 0.3s ease;
 }



 .switch-btn:hover {
     border-color: var(--color-gold);
     color: var(--color-gold);
 }

 .switch-btn.active {
     background: var(--color-gold);
     color: #fff;
     border-color: var(--color-gold);
 }

 .switch-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
 }

 .switch-btn i {
     font-size: 13px;
     opacity: 0.8;
 }

 @media (max-width: 768px) {

     .calendar-grid {
         grid-template-columns: repeat(7, 1fr);
         gap: 4px;
         /* 🔥 ultra réduit */
     }

     .calendar-day {
         padding: 6px;
         min-height: 70px;
     }

     .day-number {
         font-size: 12px;
     }

     .event-card-mini {
         display: block;
         font-size: 9px;
         padding: 4px;
         margin-top: 5px;
         border-left-width: 1px;
     }

     .calendar-day-name {
         font-size: 9px;
         letter-spacing: 1px;
     }

 }

 .calendar-grid {
     transition: opacity 0.3s ease;
 }

 .calendar-nav {
     display: flex;
     justify-content: start;
     gap: 10px;
     margin-bottom: 30px;
 }

 .calendar-nav button {
     appearance: none;
     border: none;
     background: transparent;
     cursor: pointer;

     font-family: 'Playfair Display';
     font-size: 22px;
     color: var(--color-black);

     width: 40px;
     height: 40px;

     display: flex;
     align-items: start;
     justify-content: center;
     transition: all 0.3s ease;
 }

 @media (max-width: 768px) {

     .calendar-nav {
         justify-content: center;
     }

     .calendar-nav {
         display: flex;
         justify-content: center;
         gap: 20px;
         margin-bottom: 30px;
     }

     .calendar-nav button {
         appearance: none;
         background: transparent;
         cursor: pointer;

         font-family: 'Playfair Display';
         font-size: 22px;
         color: var(--color-black);

         width: 40px;
         height: 40px;

         display: flex;
         align-items: center;
         justify-content: center;

         border-radius: 50%;
         transition: all 0.3s ease;
         border: 1px solid rgba(0, 0, 0, 0.1);
     }

     .calendar-nav button:hover {
         background: rgba(0, 0, 0, 0.05);
         color: var(--color-gold);
         border-color: var(--color-gold);
     }

 }

 .agenda-content {
     padding: 20px;
     flex-grow: 1;
     display: flex;
     flex-direction: column;
     justify-content: start;
     margin-bottom: 0px;
 }

 .agenda-content p {
     font-size: 14px;
     font-weight: 300;
 }

 .agenda-content p b,
 .agenda-content p strong {
     font-weight: 700;
 }

 .nav-year {
     font-size: 16px;
 }