.el-title-h1 {
    /* /* font-size: clamp(30px, 5.854vw, 58px); */
     color: #fff; 
    /* letter-spacing: 0.5px; */ 
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}
.hero-banner .hero-slider .hero-slide .hero-slide__content h1 span {
    font-size: 1rem;
}
.el-title-h3 {
    font-size: clamp(42px, 1.552vw, 61px);
}
.offers .offer-block {
    min-height: 415px;
}
#el-offers .offer-block {
    min-height: 253px;
}
.offers {
    background: url("../media/backgrounds/ticket-banner.png") repeat-y;
}
.shop-card {
    min-height: 208px;
}
.main-menu__nav ul{
    list-style: none !important;
}
.el-display-none-mobile {
    display: none !important;
}
.el-circle.circle-block .percent_text {
    font-size: clamp(52px, 1vw, 92px) !important;
}
.footer-wrapper img {
    width: 250px;
}
.hero-slide__content .cus-btn {

    width: 30%;
}
.shop-card {
    min-height: 116px;
}
.hero-banner .hero-slider .hero-slide .hero-slide__img img {
    object-position: center top;
}
@media all and (min-width: 408px) {
    .hero-slide__content .cus-btn {
        /* clamp(13px, 0.885vw, 25px) clamp(24px, 1.667vw, 48px) */
    }
}
@media all and (min-width: 992px) {
    .hero-banner .hero-slider .hero-slide .hero-slide__content h1 span {
        font-size: 1.5rem;
        font-weight: 1;
    }
    .shop-card {
        min-height: 208px;
    }
    .hero-banner .hero-slider .hero-slide .hero-slide__img img {
        object-position: center bottom;
    }
}
@media (min-width: 320px) and (max-width: 600px) {
    .bg-light-white1 {
        flex-direction: column-reverse !important;
    }

    .about-text {
        font-size: 1rem !important;
    }
    .bg-white1,.bg {
        width: 100% !important;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding-left: 0.8rem !important;
        padding-right: 0.8rem!important;
    }

    .cta-btn {
        width: 100% !important;
        padding: 0.8rem 0.2rem !important;
      
    }

    .profile-container1{
     grid-template-columns:none !important;
    }
    .profile-image1{
        display: none !important;
        visibility: hidden;
    }
    .profile-image1-mobile{
        display: block !important;
        visibility: visible !important;
    }
}
@media (min-width: 600px) and (max-width: 1000px) {
    .bg-light-white1 {
        flex-direction: column-reverse !important;
    }
    .bg-white1,.bg {
        width: 100% !important;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding-left: 0rem;
        padding-right: 0rem;
    }
  
    .cta-btn {
        width: 100% !important;
    }
    .bg,
    .bg img {
        display: none;
        visibility: hidden;
    }
    .cta-btn {
        width: 60% !important;
    }
}

.bg-white1,.bg {
    background-color: #ffffff !important;
    display: flex;
    flex-direction: column;
    width: 50%;
    gap: 1rem;
   padding-left: 2rem;
   padding-right: 2rem;
}
.text-uppercase {
    line-height: 3rem;
    text-align: inherit;
    font-size: 2rem;
  }
.text-line-height {
    line-height: 1.8rem;
    list-style: disclosure-closed;
}
.white {
    text-align: center;
}
.title-banner h1{
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}

.bg-light-white1 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 1rem;
}
.posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(327px, 2fr));
    gap: 4rem;
    max-width: 1444px;
    margin: 0 auto;
    padding: 2rem 1rem;
}
.post-card {
    position: relative;
}

.post-card__image {
    width: 100%;
    height: 300px;
    overflow: hidden;
    border-radius: 8px;
}
.post-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.post-card__body {
    background: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    margin-top: -3rem;
    position: relative;
    z-index: 1;
}

.post-card__date {
    display: block;
    font-size: 0.875rem;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.post-card__title {
    font-size: 1.25rem;
    color: #1a1a1a;
    margin: 0 0 0.75rem;
    line-height: 1.2;
}

.post-card__excerpt {
    font-size: 0.95rem;
    color: #444;
    margin: 0 0 1rem;
    line-height: 1.4;
}

.post-card__tags {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1rem;
    padding: 0;
}


.post-card__link {
    display: inline-flex;
    align-items: center;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a1a;
    text-decoration: none;
}
.post-card__link span {
    display: inline-block;
    margin-left: 0.5rem;
    transition: transform 0.2s;
}
.post-card__link:hover span {
    transform: translateX(4px);
}
:root {
    --cta-color-1: #af101a;
    --cta-color-2: #a09c98;
    --cta-radius: 50px;
    --cta-transition: 0.3s ease;
}

.cta-btn {
    display: flex;
    padding: 1rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(135deg, var(--cta-color-1), var(--cta-color-2));
    border: none;
    border-radius: var(--cta-radius);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: background-position var(--cta-transition),
    transform var(--cta-transition), box-shadow var(--cta-transition);
    background-size: 200% 200%;
    background-position: 0% 50%;
    text-align: center;
    margin: auto !important;
}

.cta-btn:hover {
    background-position: 100% 50%;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.cta-btn:active {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.cta-btn:focus-visible {
    outline: 3px solid rgba(255, 88, 88, 0.6);
    outline-offset: 4px;
}
.title-service{
    color: #fff6f6;
    letter-spacing: 0.5px;
    text-align: center;
}
/* CSS */
.stats-section {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 4rem 1rem;
    gap: 3rem;
    margin-TOP: -5rem;
  }
  
  .stat-item {
    flex: 1;
    max-width: 300px;
    text-align: center;
    margin: 0 1rem;
  }
  
  .stat-number {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0.5rem;
    color: #ffffff;
  }
  
  .stat-text {
    color: #a68e92;
    line-height: 1.4;
  }
  
  /* Responsive : empilement sur petits écrans */
  @media (max-width: 768px) {
    .stats-section {
      flex-direction: column;
      align-items: center;
    }
    .stat-item {
      margin-bottom: 2rem;
    }
  }
  /* Conteneur général */
.about-us-section {
    /* background-color: #fff; */
  }
  
  /* Titre principal (inspiré par le style “Slack”) */

  /* CSS */

  
  /* Responsive */
  
  
  /* Texte principal */
  .about-text {
    max-width: 800px;        /* largeur de lecture optimale */
    color: #ffffff;             /* gris foncé pour le confort de lecture */
    line-height: 1.6;
    font-size: 1.1rem;       /* taille de police confortable */
  }
  .about-title{
    color: #fff;
  }
  .strong{
    color: #a68e92;
  }
  /* Pied de texte secondaire */

  .profile-section {
    background-color: #fcf9f8; /* léger beige très clair */
    padding: 2rem 1rem;
  }
  .profile-image1-mobile{
    display: none;
    visibility: hidden;
}
  .profile-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 1.5rem;
  }
  .profile-container1{
    max-width: 1000px;
    margin: 0 auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 1rem;
  }
  
  .role {

    color: #fffdfe;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}
 blockquote {
    margin: 1rem 0;
    padding: 0.75rem 1rem;
    background: #000000;
    border-left: 4px solid #434f57;
    font-style: italic;
    color: #ffffff;
  }
  
  
  .parallax-wrap {
    position: relative;
    overflow: hidden;
    /* taille fixe ou responsive */
    height: 400px;
  }
  
  .parallax-wrap img {
    display: block;
    width: 100%;
    /* on s’assure que l’image couvre bien la zone même quand on la translate */
    will-change: transform;
  }
  .promo-image {
    flex: 1 1 300px;
  }
  .promo-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
  }
  /* ************************** */
  /* Responsive : augmenter la taille du titre sur très grand écran */

  /* CSS – Style de la section “Nos services” */
 .how-it-works {
  background: #f5f5f5;
  padding: 80px 20px;
  margin-bottom: 1rem;
}
.how-container {
  display: flex;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  gap: 60px;
  flex-wrap: wrap;
}
/* Illustration + bloc violet */
.how-image-wrapper {
  position: relative;
  flex: 1 1 300px;
}
.how-image-bg {
 position: absolute;
  top: -45px;
  left: -45px;
  width: 262px;
  height: 531px;
  background: #af101a ;
  z-index: 1;
  border-radius: 7px;
}
.how-image-wrapper img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 400px;
  border-radius: 8px;
  z-index: 2;
}
/* Contenu texte */
.how-content {
  flex: 1 1 400px;
}
.how-content h2 {
  margin: 0 0 16px;
  font-size: 2rem;
  color: #222;
  text-align: center;
}
.how-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}
.how-steps li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 24px;
}
.step-number {
  flex: 0 0 40px;
  height: 40px;
  background: #af101a;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin-right: 16px;
}
.step-text h3 {
  margin: 0 0 6px;
  font-size: 1.1rem;
  color: #111;
}
.step-text p {
  margin: 0;
 line-height: 2.6;
}
.how-btn {
  display: inline-block;
  margin-top: 20px;
  padding: 12px 24px;
  background: #af101a;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 500;
}
.how-btn:hover{
  background: #a09c98;
  transition: background-color 0.3s ease;
}
/* Responsive */
@media (max-width: 1200px) {
 .how-image-bg {
  display: none;
  }
}
@media (max-width: 768px) {
  .how-container {
    flex-direction: column;
    gap: 40px;
  }
  .how-image-wrapper,
  .how-content {
    flex: 1 1 100%;
  }
  .how-image-bg {
    top: -10px;
    left: 0;
  }
}
.hero-banner {
  position: relative;
  width: 100%;
  height: 100vh;      /* prend tout l’écran */
  overflow: hidden;
}

.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.span-slid2{
  background-color: #AF101A;
  font-size: 1.5rem !important;
  padding: 5px 20px !important;
}
/* Variables de couleurs */
:root {
  --green: #AF101A;
  --gris: #545454;
  --light-bg: #f0f1f3;
}

/* Grille responsive */
.services {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  /* background: var(--light-bg); */
  padding : 2rem;
}

/* Conteneur de chaque carte */
.card {
  perspective: 1000px; /* pour l’effet 3D */
  flex: 1 1 420px; 
  background-color: #000;
}

/* Intérieur de la carte (celui qui tourne) */
.card__inner {
  position: relative;
  width: 100%;
  aspect-ratio: 1; /* carré */
  transform-style: preserve-3d;
  transition: transform 0.6s ease;
}

/* On tourne la carte quand on survole le parent */
.card:hover .card__inner {
  transform: rotateY(180deg);
}
.card:hover .card__title {
  display: none !important; /* titre de la face avant */
}
.card:hover .card__face img{
display: none !important;/* face avant derrière */
}
/* Faces avant et arrière */
.card__face {
  position: absolute;
  inset: 0; /* top/right/bottom/left = 0 */
  backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  box-sizing: border-box;
}

/* Face avant */
.card__face--front {
  z-index: 2; /* au-dessus par défaut */
}

/* Face arrière */
.card__face--back {
  transform: rotateY(180deg);
}

/* Variantes vertes et noires */
.card--green .card__face {
  background: linear-gradient(to bottom,#AF101A, #000000);;
  color: var(--gris);
  color: #fff;
}
.card--black .card__face {
  background: linear-gradient(to bottom,#555152, #000000);;
  color: #fff;
}

/* Icone et titres */
.card__icon {
  width: 60px;
  height: 60px;
  margin-bottom: 1rem;
}
.card__title,
.card__title-back {
  font-family: 'Oswald', sans-serif;
  font-size: 1.5rem;
  text-transform: uppercase;
  margin: 0.5rem 0;
  text-align: center;
  color: #fff!important;
}
.card__text {
  font-family: 'Roboto', sans-serif;
  font-size: 0.9rem;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 768px) {

  .card__title,
  .card__title-back {
    font-size: 1rem;
  }
  .card__text {
    font-size: 0.8rem;
  }
  .card {
  padding: 0.7rem;
}
.card__face--back ul li{
    font-size: 0.8rem;
  }
.card.flipped .card__inner {
  transform: rotateY(180deg);
}
.services {
 padding: 0rem;
  }
  .card.flipped .card__face--front,
.card.flipped .card__face--front img {
  display: none !important;
}

/* 3) Cacher par défaut les éléments de la face arrière */
.card__face--back .card__title-back,
.card__face--back img {
  display: none;
}
}
.lang-switcher-descktop{
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 1000;
}
.lang-select {
  /* Padding pour le texte + espace pour la flèche */
  padding: 0.5rem 2.5rem 0.5rem 0.75rem;
  /* Fond semi-transparent et bords arrondis */
  background-color: rgba(255, 255, 255, 0.8);
  border: none;
  border-radius: 9999px;
  /* Taille de police, ombre portée, curseur */
  font-size: 0.875rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  /* Supprime l’apparence native sous tous les navigateurs */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  /* Flèche personnalisée (petit SVG inline) */
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6H0z' fill='%23333'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
}
.choices{
  border-radius: 9rem!important;
}

/* herocontent */
.hero_h2-span{
    color: #fff !important;
}
.title{

    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    display: flex;
    font-weight: 900;
     margin-left: 3rem;

}
.sub-title {
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding-top: .3rem;
    display: flex;
    margin-left: -7rem;
}
 .hero-banner .hero-slider .slick-dots li{
    display: none;
    visibility: hidden;
 }
.hero-banner .hero-slider .hero-slide .hero-slide__content {
  position: absolute;
 bottom: 0;
  width: 100%;
  right: -1%;
  left: -1%;
  margin: auto;
  padding: 3rem;
  z-index: 99;
}
.shadow-title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh; /* hauteur de l'ombre */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
  pointer-events: none;
  z-index: 1;
}
.hero_h1-span{

}
/* notre mission */
.hero-split {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: white;
  padding: 9%;
  gap: 6rem;
}

.hero-text {
  flex: 1;

}

.hero-text h1 {
  font-size: 60px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
  margin-bottom: 30px;
  color: #fff !important;
}

.hero-text p {
  font-size: 1rem;
  line-height: 186%;
  text-align: justify;
}
.hero-text ul {
  font-size: 1rem;
    line-height: 1.7;
}
.hero-image {
  flex: 1;
  display: flex;
}

.hero-image img {
  width: 100%;
  max-width: 673px;
  border-radius: 20px;
}
/* maria-section  */
      .about-section {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      padding: 60px 10%;
      gap: 40px;
    }

    .about-text {
      flex: 1 1 500px;
    }

    .about-text h2 {
      font-size: 2.5rem;
      margin-bottom: 20px;
    }

    .about-text h2 span {
      color: #f4a300; /* orange accent */
      font-weight: bold;
    }

    .about-text h2 strong {
      color: #333;
      font-weight: 900;
    }

    .about-text p {
      font-size: 1.1rem;
      line-height: 1.7;
      margin-bottom: 20px;
    }

    .about-image {
      flex: 1 1 400px;
      max-width: 500px;
    }

    .about-image img {
      width: 100%;
      height: auto;
      object-fit: cover;
      filter: grayscale(100%);
      border-radius: 8px;
    }

    @media (max-width: 900px) {
      .about-section {
        flex-direction: column;
        padding: 40px 5%;
      }
      .about-text h2 {
        font-size: 2rem;
      }
    }
    /* contact styel */
/* ==== Fond section ==== */
.contact-section {
 background: linear-gradient(to bottom, #000000, #545454);
  padding: 80px 40px;
  color: white;
  font-family: 'Poppins', sans-serif;
}

/* ==== Layout responsive ==== */
.contact-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
  max-width: 1200px;
  margin: auto;
}

/* ==== Partie gauche (info) ==== */
.contact-info {
  flex: 1;
  min-width: 280px;
  font-size: 18px;
  line-height: 1.7;
}

.contact-info a {
  color: #f8d7da;
  text-decoration: underline;
}

/* ==== Formulaire ==== */
.contact-form {
  flex: 1;
  min-width: 280px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-form input,
.contact-form textarea {
  padding: 12px 16px;
  border: 1px solid #c0c0c0;
  background-color: transparent;
  color: white;
  border-radius: 8px;
  font-size: 16px;
  resize: none;
  outline: none;
  transition: border 0.3s ease;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #bbb;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color:#6c757d ;
}


.contact-form button {
  align-self: flex-start;
  background:#6c757d;
  color: white;
  font-weight: bold;
  padding: 14px 28px;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  font-size: 16px;
  letter-spacing: 1px;
  transition: background 0.3s ease;
}

.contact-form button:hover {
  background: linear-gradient(to right, #6c757d, rgb(175, 16, 26));
}
/* paralaxeffect */
.stiky-section {
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .slide {
      position: sticky;
      top: 0;
      height: 100vh;
      display: flex;
      /* flex-direction: row;
      justify-content: flex-start;
      align-items: flex-start;
      text-align: start; */
      color: white;
      font-size: 1em;
      padding: 4rem;
      gap: 3rem;
      padding-top: 10rem;
    }
.slide-content{
      flex: 1;
      display: flex;
      flex-direction: column;
    }
    .slide-content p{
    line-height: 186%;
   
    text-align: justify;
    }
    .slide-title{
      flex: 1;
      display: flex;
      flex-direction: column;

    }
      .slide-title{
      flex: 1;
      display: flex;
      flex-direction: column;

    }  .slide-title h5{

      font-size: clamp(20px, 0.615vw, 38px);
      font-style: normal;
      font-weight: 600;

    }
    .slide1 {
      background: linear-gradient(to top, #545454, black);
    }

    .slide2 {
      background: linear-gradient(to top, #545454, black);
    }

    .slide3 {
      background: linear-gradient(to top, #545454, black);
    }

    .slide4 {
      background: linear-gradient(to top, #545454, black);
    
    }
    .undefined{
      color: #000000 !important;
    }
    
dl, ol, ul {
  margin-top: 0;
  margin-bottom: 1rem;
 list-style: disclosure-closed;
}
/* Responsive adjustments */
@media all and (max-width: 1128px) {
#lang-switcher{
  display: none !important;
}
.hero_h1-span{
  font-size: 155px !important;
}

.hero-split {
  padding: 5%;
  gap: 3rem;
}

}
@media all and (max-width: 1081) {

.hero_h1-span{
  font-size: 155px !important;
}
.slide{
  height: 94vh!important;
}
.hero-split {
  padding: 5%;
  gap: 3rem;
}

}
@media all and (min-width: 320px) and (max-width: 1000px) {
.hero-banner .hero-slider .hero-slide .hero-slide__content {
  position: absolute;
  bottom: 0;
  width: 100%;
  right: 0;
  left: 0;
  margin: 0;
  padding: 0;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
  z-index: 99;
}
.title{
  margin: auto;
  margin-bottom: 16rem;
  max-width: 510px;
  padding-left: 1rem;
 
}
  .hero_h1-span,.hero_h2-span {
    font-size: 58px !important;
    text-align: justify;
    margin-left: -1rem;
  }
  .sub-title {
    margin-left: -2rem;
  }
.hero-split {
  display: flex;
  flex-direction: column;}
  .hero-text h1 {
  font-size: 49px !important;
  margin-top: 2rem;
}
.slide {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: start;
  color: white;
  font-size: 1em;
  gap: 1rem;
  padding-top: 0rem !important;
  padding-right: 1rem !important;
  padding-left: 1rem !important;
  padding-bottom: 12rem !important;
}
.slide-content p {
  line-height: 130%;
  text-align: justify;
}
.slide-title {
  margin-top: 0.5rem;
}
.about-image {
  flex: 1 1 212px;
}
}
@media all and (min-width: 1001px)and (max-width: 1300px)   {
.hero_h1-span{
  font-size: 132px !important;

}

}