@font-face {
	font-family:groteskBold;
	src: url(fonts/Fontspring-DEMO-rocgrotesk-bold.otf);
}

@font-face {
	font-family:GroteskRegular;
	src: url(fonts/Fontspring-DEMO-rocgrotesk-regular.otf);
}

@font-face {
	font-family:GroteskExtraBold;
	src: url(fonts/Fontspring-DEMO-rocgrotesk-extrabold.otf);
}


body {min-height:100%;margin: 0;padding: 0;font-family: roc-grotesk, sans-serif;font-size: 1rem;line-height: 1.5;}
p,label {font-family: DM Sans,sans-serif; padding: 0; margin: 0; font-size: 1.2rem;}
a {font-family: DM Sans,sans-serif}
span {font-family: DM Sans,sans-serif}

.pop {position:fixed;top:0px;left:0px;width:100%;height:100%;z-index:256;display:none;}
.pop table {width:100%;height:100%;}
.pop td {text-align:center; vertical-align:middle;}
.pop_clickable {transition: all 0.2s ease; transform:scale(0.6);overflow:hidden; position:relative;background-color:#F4ECE8; opacity:0; max-width:70%;margin:auto;padding:35px 20px;border-radius:8px;}
.pop_clickable.open {transform:scale(1); min-width:250px; opacity:1;}
.popBtn {background:none; border:none; padding:1rem; cursor:pointer;}

.popContent {transition:opacity 200ms ease, height 300ms ease; overflow:hidden; padding:2px;}
.popContent.inactive {opacity:0; height:0px; pointer-events:none;}
.popContent.active {opacity:1; height:100%; pointer-events:initial;}
.popContent.obsolete {opacity:0.2; pointer-events:none;}

.ajaxError {font-size:0.9rem; color:#f54751;}

#spinner_w {stroke: #fff;}
.spinner {
  stroke-width: 1px;
  stroke-dasharray: 6;
  transform-origin: 50%;
  transform: rotate(-90deg);
}
.spin {animation: rotate 1s linear infinite; }

input,textarea {
  width: 100%;
  font-family: DM Sans, sans-serif;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 1.5rem;
  margin-top:0.5rem;
  border: 0px;
  background-color: #ddd;
  border-radius: 2rem;
}
textarea {
  font-size: 1.2rem;
  font-weight: normal;
  max-width: 100%;
}

.fullwidth {width:100%;}
.halfwidth {width:49%;}
.center {text-align:center;margin:auto;}
.block {display:block;}

/* WAVE SEPARATOR DO NOT DELETE !!!!!!!!! */
/*Separator haut*/
.separator{width: 100%;height: 2.5rem;position: relative;top: auto;bottom: -1px;left: 0;overflow: hidden;transform: rotate(180deg);}
/*Separator bas*/
.separator2{overflow: hidden;width: 100%;height: 2.5rem; position: absolute; top: -1px; bottom: auto; left: 0; overflow: hidden;transform: rotate(0);}
/* WAVE SEPARATOR DO NOT DELETE !!!!!!!!! */

.element {
  opacity: 0;
  transform: translateY(50px) scale(0.95);
  transition: transform 0.6s ease, opacity 0.8s ease, box-shadow 0.3s ease;;
  transition-delay: var(--delay, 0ms);
}

.element.animate {
  opacity: 1;
  transform: translateY(0px) scale(1);
}

/* Couleurs de fond */
.bgWhite { background-color: white; }
.bgBeige { background-color: #F4ECE8; }
.bgBlack { background-color: #140E13; }



/* Couleurs de texte et liens */
.white { color: #F4ECE8; text-decoration: none; }
.link {color: #F4ECE8;transition: color 0.3s ease;}


.link.Gray { color: #B1AAA8; }

.linkB { color: #140e13; transition: color 0.3s ease; }


.linkB.Gray { color: #B1AAA8; }

/* Police de caractères */
.groteskRegular { font-family: 'GroteskRegular', sans-serif; }

/* Boutons */
.buttonMain,.buttonMain2 {
  border-radius: 0.5rem;
  color: #140e13;
  text-align: center;
  letter-spacing: .05rem;
  text-transform: uppercase;
  padding: .75rem 1.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .8s, background-color .2s;
  font-family: 'LatoBlack', sans-serif;
}

.buttonPrimary {
  border-radius: 0.5rem;
  text-align: center;
  letter-spacing: .05rem;
  text-transform: uppercase;
  padding: .75rem 1.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s, border-color .2s, background-color .2s;
  font-family: 'LatoBlack', sans-serif;
}

.buttonSecondary {
  border-radius: 0.5rem;
  background-color: transparent;
  text-align: center;
  letter-spacing: .05rem;
  text-transform: uppercase;
  padding: .75rem 1.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s, border-color .2s, background-color .2s;
  font-family: 'LatoBlack', sans-serif;
}
.buttonSecondary:hover {
  color: white;
}

.buttonTertiary {
  border-radius: 0.5rem;
  background-color: transparent;
  text-align: center;
  letter-spacing: .05rem;
  text-transform: uppercase;
  padding: .75rem 1.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s, border-color .2s, background-color .2s;
  font-family: 'LatoBlack', sans-serif;
}
.buttonTertiary:hover {
  color: white;
}

.buttonQuatro {
  border: 2px solid #ffffff;
  border-radius: 0.5rem;
  background-color: transparent;
  color: #ffffff;
  text-align: center;
  letter-spacing: .05rem;
  text-transform: uppercase;
  padding: .75rem 1.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s, background-color .2s;
  font-family: 'LatoBlack', sans-serif;
}
.buttonQuatro:hover {
  background-color: #ffffff;
  color: #140e13;
}


/* Titres */
h1, h2, h3, h4 { margin: 0; }
h1 { font-size: 4rem; font-family: LatoBlack; line-height: 1; }
h2 { font-size: 4.5rem; font-family: LatoBlack; line-height: 1; }
h3 { font-size: 2rem; font-family: LatoBlack; line-height: 1.3; }
h4 { font-size: 1.5rem; font-family: LatoBlack; line-height: 1.4;}
.navigation {
  min-height: 4.5rem;
  z-index: 254;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transition: background-color 0.3s ease, padding 0.3s ease;
  padding: 0.75rem 5rem;
}

.navbar {
  background-color: rgba(221, 221, 221, 0);
  width: 100%;
  min-height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.navbar_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  gap: 1rem;
}

.div_navbar_gauche,
.div_navbar_droite,
.navbar-links {
  display: flex;
  align-items: center;
  gap: 1rem; 
}

.div_navbar_gauche {
  justify-content: flex-start;
}

.div_navbar_droite {
  justify-content: flex-end;
}

.navbar-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.navbar-logo img {
  height: 7rem;
  transition: height 0.3s ease, filter 0.3s ease; 
}

.navigation.scrolled .navbar-logo img {
  height: 5rem;
}

.navbar-logo img:hover {
  filter: brightness(0.8); /* Gray effect on hover */
  cursor: pointer; 
}

.navigation.scrolled .navbar-logo img:hover {
  filter: hue-rotate(16deg) brightness(1.2); /* Orange-ish effect on hover */
  cursor: pointer;
}

/* Navbar Links */
.navbar-link {
  border: 2px solid #c0652200;
  font-size: 1rem;
  letter-spacing: .05rem;
  color: #fff;
  text-decoration: none;
  padding: 10px 15px;
  border-radius: 5px;
  transition: color 0.3s ease, border-color 0.2s;
}



/* Burger Menu Styles */
.burger-menu {
  display: none; /* Hidden by default */
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 1rem 10vw 1rem 1rem;
}

.burger-menu:focus {
  outline: none;
}

.burger-menu .bar {
  width: 100%;
  height: 2px;
  background-color: rgba(244, 236, 232, 1);;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* Mobile Menu Dropdown */
.burger-overlay {
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 0px;
    overflow: hidden;
    background-color:#140e1300;
    transition: height 0.5s ease, background-color 0.3s ease;
}
.burger-overlay.open {
  display: block;
  height: 9583.07px;
  background-color:#140e1355;
}

.mobile-menu {
  flex-direction: column;
  align-items: center;
  background-color: rgba(244, 236, 232, 1); /* Same as scrolled navbar background */
  width: 100%;
  position: absolute;
  transform: translateY(-100%);
  left: 0;
  padding: 3rem;
  transition: transform 400ms ease;
  overflow: hidden;
}

.mobile-menu.open {
  transform: translateY(0%);
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

/* Transform Burger Menu into X when Open */
.burger-menu.open .bar:nth-child(1) {
  transform: rotate(45deg) translate(5px, 6px);
}

.burger-menu.open .bar:nth-child(2) {
  width:0px; opacity: 0;
}

.burger-menu.open .bar:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -6px);
}


html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
  font-size: calc(0.5rem + 0.4vw);
  scroll-behavior: smooth !important;
}


.svg-container {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
}

.svg-container.top {
  top: 0;
}

.svg-container svg {
  display: block;
}

.feature-section, .testimonialSection, .holdings-section, .benefits-section, .teamSection, .faqSection, .moment-section, .services-section, .footer_section, .video_section {
  position: relative;
}

.svg_header{width: 100%;height: 5rem;position: absolute;bottom: -1px;left: 0;transform: rotate(180deg);z-index: 1;pointer-events: none;}
/* Header Styles */
.head{  text-align: center;padding: 7rem 5% 2rem;  color: #fff;}
.header_panda {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: top;
  height: 80%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.background_image_header {position: relative; overflow: hidden; background-size: cover; background-position: top; height: 85%; display: flex; justify-content: center; align-items: center;}
.background_image_header::before {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.5);}
.background_image_header::after {content: '';position: absolute;bottom: -1px;left: 0;width: 100%;height: 120px;}
.header-content {position: relative;z-index: 1;max-width: 800px;margin: 0 auto;}
.header_panda::before {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.5);}
.header_panda::after {content: '';position: absolute;bottom: -1px;left: 0;width: 100%;height: 120px;}.header h1 {margin-bottom: 2rem;}
.header_panda p {
  margin-bottom: 2rem;}
.button-group,.coords-group {display: inline-flex;gap: 2rem;margin-bottom: 4rem;}
.coords-group {color: #F4ECE8; text-align:center; font-size:0.9rem;}
.open-hours {font-weight:bold; font-size: 1rem; margin-bottom: 1.5rem; }

/**** Feature Section Styles ****/
.feature-section, .video_section {padding: 5rem 5% 7rem;}

.feature-content {display: flex;align-items: center;flex-direction: row-reverse;justify-content: space-between;max-width: 80rem;margin: 0 auto;flex-wrap: wrap;}
.feature-text {flex: 1 1 50%;max-width: 50%;padding-right: 2rem;}
.feature-text h2 {margin-bottom: 1.5rem;}
.feature-text p {margin-bottom: 2rem;}
.feature-image {flex: 1 1 45%;max-width: 45%;margin-top: -20rem;z-index: 100;}
.feature-image img {width: 100%;height: auto;display: block;}


/*** Styles */
.benefits-section {position: relative;padding: 5rem 5% 7rem;}
.benefits-content {display: grid;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));gap: 2rem;align-items: center;max-width: 80rem;margin: 0 auto;}
.benefits-image {width: 100%;height: auto;object-fit: cover;border-radius: 2rem;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);}
.benefits-text h2 {margin-bottom: 1.5rem;}
.benefits-text p {margin-bottom: 2rem;line-height: 1.6;}


/**** Section Services  3 boutons cafés bg orange */
.services-section {padding: 5rem 5% 7rem;}
.container {max-width: 80rem;margin: 0 auto;}
.services-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: 2rem;}
.service-item {border-radius: 1rem;padding: 2rem;text-align: center;display: flex;flex-direction: column;align-items: center;}
.service-icon {width: 5rem;height: 5rem;margin-bottom: 1.5rem;}
.service-title { margin-bottom: 1.5rem;}
.service-description {margin-top:2rem; margin-bottom: 0rem;}


/**** Section holdings  3 boutons cafés bg orange */

.holding-icon {width: 5rem;height: 5rem;margin-bottom: 1.5rem;}

.holdings-section {padding: 5rem 5% 7rem;}
.holdings-grid {display: flex; justify-content: center;}
.holdingSection {width: 100%;}
.holding-heading,.holding-subheading {text-align: center; margin-bottom: 1.5rem;}
.holding-item .buttonSecondary {margin-top: auto;}

.holding-title {height: auto; min-height: 3rem;}
.holding-description {height: auto; flex-grow: 1; margin-bottom: 2rem;}
.holding-items-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2rem;
  align-items: stretch;
}
.holding-item {
  width: calc(33.33% - 20px);
  margin: 3rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 100%;
}
.holding-item > div[style*="text-align:center"] {
  margin-top: auto !important;
  width: 100%;
}

/**** Section Equipe / Team Presentation */
.teamSection {padding: 6rem 5% 7rem;max-width: 80rem;margin: 0 auto;text-align: center;}
.team-heading {margin-bottom: 1.5rem;}
.team-subheading {margin-bottom: 4rem;}
.team-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: 2rem;align-items: start;justify-items: center;}
.team-member {cursor:pointer;border: 0.25rem solid #140E13;border-radius: 1rem;overflow: hidden;padding-bottom: 1rem;}
.team-member:hover {transform: translateY(-10px);box-shadow: 0 4px 20px rgba(0, 0, 0, 1);}
.team-image {width: 100%;aspect-ratio: 1 / 1;object-fit: cover; transition: opacity 0.4s ease;}
.team-image:hover {opacity:0.2;}
.team-name {margin: 1rem 0 0.5rem;font-size: 1.5rem;}
.team-role {font-size: 1.25rem;}
.team-cta {margin-top: 4rem;}
.team-cta-heading {margin-bottom: 1rem;}
.team-cta-text {margin-bottom: 2rem;}

/**** Section Testiomials */
.testimonialSection {padding: 6rem 5% 7rem;text-align: center;}
.testimonialaaa{padding: 1% 5%; max-width: 80rem; margin: 0 auto;}
.testimonialContainer {max-width: 60rem;margin: 0 auto;}
.testimonialContent1 {margin-bottom: 4rem;}
.testimonialTitle {line-height: 1;margin-bottom: 1.5rem;}
.testimonialSubtitle {margin: 0;}
.testimonialComponent {grid-column-gap: 2rem;grid-row-gap: 2rem;grid-template-rows: auto;grid-template-columns: 1fr 1fr 1fr;grid-auto-columns: 1fr;display: grid;}
.testimonialContent{border-style:solid; border-width:0.3rem;border-radius: 2.5rem;flex-direction: column;align-items: flex-start;padding: 2rem;display: flex;}
.testimonialStarsContainer {display: flex;}
.testimonialIcon{flex-direction: column;justify-content: center;align-items: center;margin-right: .25rem;display: flex;}
.testimonialStar{flex-direction: column;justify-content: center;align-items: center;width: 1.5rem;height: 1.5rem;display: flex;}
.testimonialCardContent {margin: 2rem 0;text-align: left;}
.testimonialCardTittle{font-size: 1.2rem;font-weight: 700;line-height: 1.4;}
.testimonialCardClient{grid-column-gap: 1rem;grid-row-gap: 1rem;text-align: left;flex-flow: row;justify-content: flex-start;align-items: center;display: flex;}                
.testimonialCardClientAvatar {object-fit: cover;border-radius: 100%;justify-content: center;align-items: center;width: 3.5rem;min-width: 3.5rem;height: 3.5rem;min-height: 3.5rem;font-size: 1.25rem;font-weight: 700;display: flex;}
.text-weight-semibold {font-weight: 600;    margin-bottom: 0;    margin-top: 0;}


/**** Section Photos */
.moment-section { padding: 6rem 5% 7rem; }
.homeGallery { position: relative; }
.homeContainer { max-width: 80rem; margin: 0 auto; }
.homeHheader { margin-bottom: 4rem; text-align: center; }
.homeTitle { margin-bottom: 1.5rem; }
.homeGrid { display: grid; grid-gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));    padding:0 3rem; }
.homePictures { display: block; width: 100%; height: 100%; text-decoration: none; }
.homeImage { width: 100%; height: auto; opacity: 1; transform: none;  border-radius: 2rem; pointer-events:none;}

/**** FAQ Styles */
.padding-global {padding-left: 5%;padding-right: 5%;}
.faqHeader{text-align: center;  margin-bottom: 4rem;}
.faqSection { position: relative; }
.faq{ max-width: 48rem; margin: 0 auto; }
.faqContainer { margin: 0 auto; max-width: 48rem; width: 100%;padding: 3rem 0; }
.mapContainer { margin: 0 auto; max-width: 48rem; width: 100%; }
.faqList { display: flex; flex-direction: column; gap: 1rem; }
.faqItem { background-color: #FFFFFF; border-radius: 1rem; padding: 1rem 1.5rem; position: relative; cursor: pointer; }
.faqQuestion { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.faqQuestionTitle { font-size: 1.5rem; font-weight: 700; line-height: 1.4; }
.faqIcon { display: flex; align-items: center; width: 2rem; margin-left: 1.5rem; }
.faqAnswer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.faqAnswerText { margin-top: 1rem; }

.faqItem.active { box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1); }
.faqItem.active .faqAnswer { max-height: 500px; }
/* Toggle Button */
.faqToggle {border: 0px solid #000000;cursor: pointer;right: 1rem;height: 30px;width: 30px;display: flex;align-items: center;justify-content: center;border-radius: 50%;color: #140e13;padding: 0;}
/* FAQ SVG*/
.chevron, .close { width: 14px; height: 14px; transition: transform 0.3s ease; }
.faqToggle .close { display: none; }
.faqToggle .close { display: none; }
.closePopBtn path {stroke: #130e13; }
.faqItem.active .faqToggle .chevron { transform:rotate(180deg);}
/*FAQ  Contact */
.faqContact { margin-top: 4rem;text-align: center; }
.faqContactTitle { font-size: 2rem; font-weight: 700; line-height: 1.3; margin-bottom: 0.25rem; }
.faqContactDescription { margin-bottom: 2.2rem;}
.faqContactContainer{ max-width: 32rem; max-width: 48rem; margin: 0 auto;}
/**** Section Carousel ****/
.carousel-section { padding: 6rem 5% 7rem; position: relative; }
.carousel-content { max-width: 80rem; margin: 0 auto; }
.carousel-text { text-align: center; margin-bottom: 3rem; }
.carousel-text h1 { margin-bottom: 1.5rem;}
.carousel-text p { line-height: 1.6; max-width: 60rem; margin: 0 auto; }
.carousel-wrapper {position: relative; max-width: 70rem; margin: 0 auto; }
.carousel_Content_Card {position: relative; width: 100%; height: 500px;overflow: hidden; border-radius: 2rem;user-select: none;-webkit-user-select: none}
.carousel_Image_Card { position: absolute;top: 0;left: 0;width: 100%; height: 100%;opacity: 0;transition: opacity 0.6s ease;pointer-events: none;}
.carousel_Image_Card.active { opacity: 1;pointer-events: auto;}
.carousel_Image_Card.slide-in-right {animation: slideInRight 0.6s ease;}
.carousel_Image_Card.slide-in-left {animation: slideInLeft 0.6s ease;}
.carousel-image { width: 100%; height: 100%; object-fit: cover;border-radius: 2rem;user-select: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;pointer-events: none;-webkit-user-drag: none;-khtml-user-drag: none;-moz-user-drag: none;-o-user-drag: none;}
.carousel_Arrow {position: absolute;top: 50%;transform: translateY(-50%);background-color: rgba(255, 255, 255, 0.24);border: none;border-radius: 50%;width: 60px;height: 60px;display: flex;align-items: center; justify-content: center; cursor: pointer;z-index: 10;transition: all 0.3s ease;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);}
.carousel_Arrow:hover {background-color: rgba(255, 255, 255, 0.466);transform: translateY(-50%) scale(1.1);box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);}
.carousel_Arrow_Left {left: 20px;}
.carousel_Arrow_Right {right: 20px;}
.carousel_Feature_Arrow { width: 30px;height: 30px;}
.carousel_Indicators {position: absolute;bottom: 20px;left: 50%;transform: translateX(-50%);display: flex;gap: 10px;z-index: 10;}
.carousel_Indicator {width: 12px;height: 12px;border-radius: 50%;background-color: rgba(255, 255, 255, 0.5);cursor: pointer;transition: all 0.3s ease;border: 2px solid rgba(255, 255, 255, 0.8);}
.carousel_Indicator:hover {background-color: rgba(255, 255, 255, 0.8);transform: scale(1.2);}
.carousel_Indicator.active {background-color: rgba(255, 255, 255, 1);transform: scale(1.3);}
.benefits-section .carousel-wrapper { width: 100%; max-width: 100%; height: auto; aspect-ratio: 4/3;}
.benefits-section .carousel_Content_Card {height: 100%;min-height: auto;}
.benefits-section .carousel_Image_Card {height: 100%;}
.benefits-section .carousel-image {width: 100%;height: 100%;object-fit: cover;}


/* Module vidéo */

.div_video {
  width: 100%;
  margin: 2rem auto;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  background-color: #f0f0f0;
}

.video_ytb {
  aspect-ratio: 16 / 9;
}
.video_ytb iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.video_locale {
  background: #000;
  display: block;
}
.video_locale video {
  width: 100%;
  height: auto;
  display: block;
}

.video_header{
  text-align: center;
  max-width: 800px;
  margin: 0 auto 2rem auto;
  padding: 0 1rem;
}

.video_header h2 {
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .carousel_Content_Card {
      height: 350px;
    }
    .carousel_Arrow {
      width: 45px;
      height: 45px;
    }
    .carousel_Arrow_Left {
      left: 10px;
    }
    .carousel_Arrow_Right {
      right: 10px;
    }
    .carousel_Feature_Arrow {
      width: 24px;
      height: 24px;
    }

}

@media (max-width: 480px) {
    .carousel_Content_Card {
      height: 250px;
    }
    .carousel_Arrow {
      width: 40px;
      height: 40px;
    }
    .carousel_Feature_Arrow {
      width: 20px;
      height: 20px;
    }
    .carousel_Indicators {
      bottom: 10px;
      gap: 8px;
    }
    .carousel_Indicator {
      width: 10px;
      height: 10px;
    }
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideInLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/**** Footer */
footer { display:block; background-color: #140e13;}
.footerContent {display: flex;flex-direction: column;align-items: center;justify-content: space-between;width: 100%;padding: 8rem 0;}
.footerContainer {max-width: 80rem;margin-right: auto !important;margin-left: auto !important;    padding-left: 5%;
  padding-right: 5%;
}
#map {
  width:100%;
  min-height:300px;
  border-radius:0.5rem;
  outline: 10px solid white;
  text-align: center;
  z-index: 253;
}
#map:empty {display:none;}
.footerRow {padding-bottom: 5rem;width: 100%;display: flex;flex-direction: row;align-items: center;justify-content: space-between;}
/*Logo*/
.footerLogoLink{width: 6rem;padding-left: 0;transition: opacity .2s;}
.footerLogoLink:hover svg path.cls-1 {fill: #B1AAA8; }
.footerLogo{width: 6rem;padding-left: 0;transition: opacity .2s;}
/*Menu*/
.footerMenuLink {text-align: center;letter-spacing: .05rem;text-transform: uppercase;padding: 0 8px;text-decoration: none;transition: color .2s;font-weight: 900;font-size:14px}
.footerMenu{display: flex; flex-direction: row;}
/*Medias*/
.footerMedia{display:flex; flex-direction: row;gap:8px; }
.footerIcon{ width:24px; height: 24px;}
/*CGU etc. Section*/
.footerRow2 {display: flex;flex-direction: row;}
.footerCopy{  width:100%; display: flex; flex-direction:row; justify-content:center; padding-top: 2rem; gap:25px; font-size: .875rem;}
.footerDivider{background-color: transparent;width: 100%;height: 1px;}
.footerCopyText{font-family:DM Sans,sans-serif;font-size: 0.800rem;line-height: 1.5;}
.footerMenu .dropdown-content {
  bottom: 100%;
  top: auto;
  margin-bottom: 5px;
}




@media screen and (max-width: 1440px) {
  html {font-size: 1.5rem;}
}
@media screen and (max-width: 1920px) {
  html {font-size: calc(0.5rem + 0.4vw);}
}

@media screen and (max-width: 992px) {
  .footerRow {flex-direction: column;gap:45px;}
  .testimonialComponent {grid-template-columns: 1fr ;}
  .homeGrid {padding:0}
  .feature-content {flex-direction: column;}
  .feature-image {flex: 1 1 100%;margin-top: -10rem;text-align: center;}
  .feature-image img {width: 100%;height: auto;margin: 0 auto;}
  .feature-text {flex: 1 1 100%;max-width: 100%;padding: 0;padding-top: 2rem;text-align: left;}
}


@media screen and (max-width:   820px) {
  .footerMenu{flex-direction: column;  gap:25px;}
  .footerCopy {flex-direction: column; text-align:  center;}
  .footerCopy span {font-size:0.8rem;}
  h1, h2 {font-size: 2.5rem;}
  h3 {font-size: 2rem;line-height: 1.3;}
  h4 {font-size: 1.75rem;line-height: 1.4;}
  p,label {font-size: 1.4rem;}
  .header h1 {font-size: 4rem;}
  .header p {font-size: 1.5rem;}
  .head{padding: 8rem 5% 4rem;}
  .background_image_header {height: 95%;}
}

@media (max-width: 768px) {

  .navigation {padding: 0.5rem 2rem;}

  .navbar-links {display:none;}
  .burger-menu {display:flex;}

  .navbar-link {
    color: #140e13;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    font-size: 1.7rem;
    display: flex;
    position: static;
  }

  .navbar-logo {
      margin: 0.5rem 0;
  }
  .navbar-logo img {height: 4.5rem;}
  .navigation.scrolled .navbar-logo img {height: 3.5rem;}
  .dropdown:hover .dropdown-content {display: none;}
  .dropdown .dropdown-content.open {display: block;}
  .div_navbar_droite .dropdown {position: relative;}
  .div_navbar_droite .dropdown-content {position: absolute;top: 100%;left: auto;right: 0;transform: none;min-width: 200px;}

  .holding-item {
    width: 100%;
    margin: 3rem 0rem;
  }
  .holding-title {
    height: auto;
  }
  .holding-description {
    height: auto;
    margin: 0rem 0rem 2rem;
  }

  .coords-group div:nth-child(n+3) {display: none;}
}

@media screen and (max-width:   598px) {
  .footerMenu{flex-direction: column;  gap:25px;}
  .footerCopy {flex-direction: column; text-align:  center;}
  .footerCopy span {font-size:0.8rem;}
  .team-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));gap: 2rem;align-items: start;justify-items: center;}

  h1, h2 {font-size: 4.5rem;}
  h3 {font-size: 2.75rem;line-height: 1.3;}
  h4 {font-size: 2.5rem;line-height: 1.4;}
  p,label {font-size: 1.7rem;}

  .navbar-logo img {height: 6rem;}
  .navigation.scrolled .navbar-logo img {height: 4rtem;}
  .feature-image {max-width:80%}
  .open-hours {font-size: 1.5rem; margin-bottom: 3rem;}

  .buttonMain {font-size:1.5rem;padding:1rem 2rem; border-radius:1rem;}
  .buttonMain2, .buttonPrimary,.buttonSecondary,.buttonTertiary,.buttonQuatro {font-size:1.5rem;padding:1.5rem 2.5rem; border-radius:1rem;}

  .service-icon {width: 8rem;height: 8rem;}
  .holding-icon {width: 8rem;height: 8rem;}

  .testimonialaaa{padding: 0%;}
  .testimonialContent{border-width:0.5rem;}
  .testimonialStar{width: 2.5rem;height: 2.5rem;}
  
  .faqList { gap:1.5rem; }
  .faqItem { border-radius: 1.2rem; padding: 1.5rem 2rem;  }
  .faqQuestionTitle { font-size: 2rem; }

  .mapContainer {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }

  #map {
    width: 100% !important;
  }
  .footerCopyText,.coords-group {font-size:1rem;}

  .pop_clickable {max-width:80%;}
  .pop_clickable.open {width:80%;}
  input {font-size: 2rem;}
  textarea {font-size: 1.5rem;}
  .ajaxError {font-size: 1.2rem;}
}

@media (max-width: 480px) {
  .holding-item {
    width: 100%;
  }

  .holding-item {
    width: 100%;
  }

  .homeGrid {grid-template-columns: repeat(auto-fit, minmax(150px, 2fr)); }
}


/* ========== TypeForm ========== */
.tf_container {text-align: center;padding: 1.5rem 1.5rem 0;max-width: 500px;margin: 0 auto;overflow: hidden;position: relative;}

/* Progress bar avec effet autoroute la nuit */
.tf_progress {width: 100%;height: 6px;background-color: rgba(0,0,0,0.08);border-radius: 3px;margin-bottom: 1rem;overflow: hidden;}
.tf_progress_bar {height: 100%;border-radius: 3px;width: 0%;transition: width 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);position: relative;overflow: hidden;}
.tf_progress_bar::after {content: '';position: absolute;top: 0;bottom: 0;width: 80px;background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%);animation: tf_shimmer 1.8s ease-in-out infinite;}
@keyframes tf_shimmer {
  0%   { left: -80px; }
  100% { left: calc(100% + 80px); }
}
.tf_subject { margin-bottom: 1.5rem; }

/* Points (Dots) */
.tf_dots {display: flex;justify-content: center;gap: 8px;margin-top: 1.5rem;margin-bottom: 0.25rem;}
.tf_dot {width: 8px;height: 8px;border-radius: 50%;background-color: rgba(0,0,0,0.12);transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);}
.tf_dot_active {background-color: rgb(var(--tf-color-rgb, 100,100,100));width: 24px;border-radius: 4px;}
.tf_dot_done {background-color: rgba(0,0,0,0.3);}

/* Step - transistions animées */
.tf_step { padding: 0.5rem 0; }
.tf_step_hidden { display: none; }
.tf_step_active {display: block;opacity: 1;transform: translateY(0) scale(1);filter: blur(0);transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease;}
.tf_step_exiting_left {opacity: 0;transform: translateX(-40px) scale(0.96);filter: blur(2px);transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease;}
.tf_step_entering_right {opacity: 0;transform: translateX(40px) scale(0.96);filter: blur(2px);}
.tf_step_exiting_right {opacity: 0;transform: translateX(40px) scale(0.96);filter: blur(2px);transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease;}
.tf_step_entering_left {opacity: 0;transform: translateX(-40px) scale(0.96);filter: blur(2px);}

/* text des questions  */
.tf_question {font-size: 1.3rem;font-weight: 600;margin-bottom: 1rem;text-align: left;}
.tf_hint {font-size: 0.9rem;color: #888;margin-top: 0.75rem;font-style: italic;}

/* Input focus  */
.tf_container input:focus,
.tf_container textarea:focus,
.tf_container select:focus {outline: none;box-shadow: 0 0 0 3px rgba(var(--tf-color-rgb, 100,100,100), 0.25);border-color: transparent;transition: box-shadow 0.3s ease, border-color 0.3s ease;}

/* Select */
.tf_select {
  width: 100%;
  font-family: DM Sans, sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 1.2rem 3rem 1.2rem 1.5rem;
  margin-top: 0.5rem;
  border: 2px solid transparent;
  background-color: rgba(0,0,0,0.06);
  border-radius: 2rem;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
  transition: background-color 0.2s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.tf_select:hover { background-color: rgba(0,0,0,0.09); }

/* Bouton Radio CB */
.tf_radio_group {display: flex;flex-direction: column;gap: 0.6rem;margin-top: 0.5rem;text-align: left;}
.tf_radio_option {display: flex;align-items: center;justify-content: space-between;padding: 1rem 1.5rem;background-color: rgba(0,0,0,0.06);border: 2px solid transparent;border-radius: 1rem;cursor: pointer;transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);font-family: DM Sans, sans-serif;font-size: 1.2rem;user-select: none;}
.tf_radio_option:hover {background-color: rgba(0,0,0,0.09);transform: translateX(4px);}
.tf_radio_option.selected {background-color: rgba(0,0,0,0.1);border-color: rgb(var(--tf-color-rgb, 100,100,100));font-weight: bold;transform: scale(1.02);}
.tf_radio_option input[type="radio"] { display: none; }
.tf_radio_label { flex: 1; }
.tf_radio_check {opacity: 0;transform: scale(0) rotate(-45deg);transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);display: flex;align-items: center;color: rgb(var(--tf-color-rgb, 100,100,100));}
.tf_radio_option.selected .tf_radio_check {opacity: 1;transform: scale(1) rotate(0deg);}

/* Checkboxes */
.tf_checkbox_group {display: flex;flex-direction: column;gap: 0.6rem;margin-top: 0.5rem;text-align: left;}
.tf_checkbox_option {display: flex;align-items: center;justify-content: space-between;padding: 0.9rem 1.5rem;background-color: rgba(0,0,0,0.06);border: 2px solid transparent;border-radius: 1rem;cursor: pointer;transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);font-family: DM Sans, sans-serif;font-size: 1.2rem;user-select: none;}
.tf_checkbox_option:hover {background-color: rgba(0,0,0,0.09);transform: translateX(4px);}
.tf_checkbox_option.selected {background-color: rgba(0,0,0,0.1);border-color: rgb(var(--tf-color-rgb, 100,100,100));}
.tf_checkbox_option input[type="checkbox"] { display: none; }
.tf_checkbox_label { flex: 1; }
.tf_checkbox_check {opacity: 0;transform: scale(0) rotate(-45deg);transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);display: flex;align-items: center;color: rgb(var(--tf-color-rgb, 100,100,100));}
.tf_checkbox_option.selected .tf_checkbox_check {opacity: 1;transform: scale(1) rotate(0deg);}

/* Boutons Navigation */
.tf_nav {display: flex;justify-content: space-between;align-items: center;margin-top: 2rem;margin-bottom: 0.5rem;gap: 1rem;}
.tf_btn_prev {font-size: 1.5rem;cursor: pointer;padding: 0.5rem 1rem;border-radius: 0.5rem;width: 25px;height: 25px;display: flex;align-items: center;justify-content: center;text-decoration: none;transition: all 0.25s ease;user-select: none;color: inherit;background: rgba(0,0,0,0.06);}
.tf_btn_prev:hover { background: rgba(0,0,0,0.12); }
.tf_btn_disabled { opacity: 0.15; pointer-events: none; }
.tf_btn_next {cursor: pointer;flex-grow: 1;text-align: center;display: inline-flex;align-items: center;justify-content: center;gap: 0.5rem;position: relative;overflow: hidden;transition: transform 0.2s ease, box-shadow 0.2s ease;}
.tf_btn_next:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(0,0,0,0.15);}
.tf_btn_next:active {transform: translateY(0) scale(0.98);}
.tf_btn_arrow {display: inline-block;transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);}
.tf_btn_next:hover .tf_btn_arrow {transform: translateX(3px);}

/* Effet vague */
.tf_ripple {position: absolute;border-radius: 50%;background: rgba(255,255,255,0.35);transform: scale(0);animation: tf_ripple_anim 0.6s ease-out forwards;pointer-events: none;}

@keyframes tf_ripple_anim {
  to { transform: scale(2.5); opacity: 0; }
}

/* Char counter */
.tf_char_count {display: block;text-align: right;margin-top: 5px;font-size: 0.8em;color: #888;transition: color 0.3s ease;}
.tf_char_count.warning { color: #e74c3c; font-weight: 600; }

/* Animation Shake*/
.tf_shake {animation: tf_shake_anim 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;}
@keyframes tf_shake_anim {
  10%, 90%  { transform: translateX(-2px); }
  20%, 80%  { transform: translateX(3px); }
  30%, 50%, 70% { transform: translateX(-5px); }
  40%, 60%  { transform: translateX(5px); }
}

/* Message d'érreur */
.tf_input_error {outline: 2px solid #e74c3c !important;box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.2) !important;}

/*  Ecran de remerciement */
.tf_thankyou {padding: 2rem 0;position: relative;overflow: hidden;}
.tf_check_icon {color: #4CAF50; margin-bottom: 1.5rem;}
.tf_check_circle {stroke-dasharray: 166;stroke-dashoffset: 166;animation: tf_circle_draw 0.6s ease forwards;}
.tf_check_path {stroke-dasharray: 48;stroke-dashoffset: 48;animation: tf_check_draw 0.4s 0.4s ease forwards;}
@keyframes tf_circle_draw {
  to { stroke-dashoffset: 0; }
}
@keyframes tf_check_draw {
  to { stroke-dashoffset: 0; }
}
.tf_thankyou_title {animation: tf_fade_up 0.5s 0.6s ease both;}
.tf_thankyou_msg {animation: tf_fade_up 0.5s 0.8s ease both;}
@keyframes tf_fade_up {
  from { opacity: 0; transform: translateY(15px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* File upload */
.tf_file_zone { margin-top: 0.5rem; }
.tf_file_input { display: none; }
.tf_file_dropzone {border: 2px dashed rgba(0,0,0,0.2);border-radius: 1rem;padding: 2rem 1rem;cursor: pointer;transition: all 0.25s ease;display: flex;flex-direction: column;align-items: center;gap: 0.4rem;color: #888;}
.tf_file_dropzone:hover, .tf_dropzone_hover {border-color: rgb(var(--tf-color-rgb, 100,100,100));background-color: rgba(var(--tf-color-rgb, 100,100,100), 0.04);color: #555;}
.tf_file_label { font-weight: 600; font-size: 1.1rem; margin: 0; }
.tf_file_sublabel { font-size: 0.95rem; margin: 0; }
.tf_file_browse {color: rgb(var(--tf-color-rgb, 100,100,100));text-decoration: underline;font-weight: 600;cursor: pointer;}
.tf_file_formats { font-size: 0.8rem; color: #aaa; margin: 0.25rem 0 0; }
.tf_file_preview {display: flex;align-items: center;gap: 0.75rem;background: rgba(0,0,0,0.04);border-radius: 0.75rem;padding: 1rem 1.25rem;animation: tf_fade_up 0.3s ease both;}
.tf_file_name {flex: 1;text-align: left;font-weight: 600;font-size: 0.95rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: inherit;text-decoration: none;}
.tf_file_name:hover { text-decoration: underline;color: rgb(var(--tf-color-rgb, 100,100,100));}
.tf_file_remove {font-size: 1.5rem;cursor: pointer;color: #999;transition: color 0.2s ease;text-decoration: none;line-height: 1;}
.tf_file_remove:hover { color: #e74c3c; }

/* Recurrence */
.tf_recurrence { margin-top: 0.5rem; display: flex; flex-direction: column; gap: 1.5rem; }
.tf_recurrence_label { font-family: DM Sans, sans-serif; font-size: 1rem; font-weight: 600; color: #555; margin-bottom: 0.25rem; display: block; }
.tf_weekday_group { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; }
.tf_weekday_cb { display: none; }
.tf_weekday_btn {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.3rem;
  min-width: 3.5rem; padding: 0.75rem 1rem;
  font-family: DM Sans, sans-serif; font-size: 1.1rem; font-weight: 700;
  color: #888; background-color: rgba(0,0,0,0.05); border: 2px solid transparent; border-radius: 1rem;
  cursor: pointer; user-select: none;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.tf_weekday_btn:hover { background-color: rgba(0,0,0,0.09); transform: translateY(-2px); color: #555; }
.tf_weekday_check { opacity: 0; transform: scale(0); transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); height: 16px; line-height: 0; }
.tf_weekday_cb:checked + .tf_weekday_btn {
  background-color: rgba(76, 175, 80, 0.1);
  border-color: #4CAF50;
  color: #333; font-weight: 800;
  transform: scale(1.08);
  box-shadow: 0 2px 8px rgba(76, 175, 80, 0.25);
}
.tf_weekday_cb:checked + .tf_weekday_btn .tf_weekday_check { opacity: 1; transform: scale(1); }

/* Confetti */
.tf_confetti {position: absolute;top: 0; left: 0;width: 100%;height: 0;overflow: visible;pointer-events: none;z-index: 10;}
.tf_confetti_piece {position: absolute;top: -10px;opacity: 0;animation: tf_confetti_fall linear forwards;}
@keyframes tf_confetti_fall {
  0%   { opacity: 1; transform: translateY(0) rotate(0deg) scale(1); }
  50%  { opacity: 1; }
  100% { opacity: 0; transform: translateY(250px) rotate(720deg) scale(0.3); }
}

/*  Responsive  */
@media screen and (max-width: 598px) {
  .tf_question { font-size: 1.7rem; }
  .tf_select { font-size: 1.5rem; }
  .tf_radio_option { font-size: 1.5rem; padding: 1.2rem 1.5rem; }
  .tf_checkbox_option { font-size: 1.5rem; padding: 1.2rem 1.5rem; }
  .tf_btn_prev { font-size: 2rem; width: 38px; height: 38px; }
  .tf_hint { font-size: 1.2rem; }
  .tf_char_count { font-size: 1rem; }
  .tf_dots { gap: 6px; }
  .tf_dot { width: 6px; height: 6px; }
  .tf_dot_active { width: 20px; }
  .tf_weekday_btn { min-width: 3rem; padding: 0.9rem 0.8rem; font-size: 1.3rem; }
  .tf_recurrence_label { font-size: 1.2rem; }
  .tf_textarea{height:190px}
}