 :root {
  --primary:#F87B1B;
  --secondary:#111;
  --bg:#fff;
  --muted:#6b7280;
  --transition:0.3s ease;
}

* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:'Quicksand',sans-serif; background:var(--bg); color:var(--secondary); overflow-x:hidden; }
html { scroll-behavior:smooth; }

p, small, span {
  font-weight: 500;
}


 /* ---------------- Section makwab en image ---------------- */
.makwab-images-wrapper {
  background: var(--primary);
  padding: 4rem 1.5rem;
  color: #fff;
  border-radius: 20px;
  text-align: center;
}

.makwab-images-title {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  margin-bottom: 2.5rem;
  font-size: 2rem;
}

.makwab-images-container {
  max-width: 1200px;
  margin: 0 auto;
}

.makwab-images-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  justify-items: center;
  padding: 0 1rem;
}

.makwab-image-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(15,20,30,0.07);
  text-align: center;
  transition: transform 0.3s ease;
}

.makwab-image-card:hover {
  transform: translateY(-5px);
}

.makwab-image-card img {
  width: 100%;
  object-fit: cover;
  max-height: 200px;
}

.makwab-image-card p {
  font-weight: 500;
  color: #111;
  padding: 0.8rem 1rem 1.2rem 1rem;
  font-size: 1rem;
}


/* Section isolée des vendeurs makwab */
.vendors-isole {
  background: var(--primary);
  color: #fff;
  padding: 4rem 1.5rem;
  border-radius: 20px;
  text-align: center;
}

.vendors-isole .section-title {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  margin-bottom: 2.5rem;
}

/* Grille isolée */
.vendors-isole-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  justify-items: center;
}

/* Cartes isolées */
.vendors-isole-cards .vendor-card {
  background: #fff;
  color: #111;
  border-radius: 14px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 6px 20px rgba(15,20,30,0.07);
  transition: transform 0.3s ease;
}

.vendors-isole-cards .vendor-card:hover {
  transform: translateY(-5px);
}

.vendors-isole-cards .vendor-card img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.8rem;
}

.vendors-isole-cards .vendor-card p {
  font-weight: 500;
  margin-bottom: 1rem;
}

.vendors-isole-cards .vendor-card .btn-cta {
  width: 100%;
}

  /* PARTENAIRES — Section avant footer */
.partners-section {
  background: #F87B1B ; /* fond orange */
  padding: 4rem 1.5rem;
  text-align: center;
  border-radius: 20px;
  color: #fff; /* texte blanc par défaut */
}

.partners-section .section-title {
  color: #fff; /* titre blanc */
  font-size: 2rem;
  margin-bottom: 2.5rem;
  text-decoration: underline;
  font-weight: 700;
}

/* Grille responsive pour partenaires */
.partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 2rem;
  justify-items: center;
  align-items: center;
}

/* Carte partenaire */
.partner-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Cercle blanc pour le logo */
.partner-logo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #fff; /* cercle blanc */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 0.8rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 10px; /* espace intérieur pour que le logo "respire" */
}

.partner-logo img {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
  border-radius: 50%;
}

/* Nom du partenaire */
.partner-name {
  font-size: 1rem;
  font-weight: 600;
  color: #fff; /* texte blanc */
  margin-top: 0.3rem;
}

/* Hover moderne : léger zoom + ombre sur le logo */
.partner-card:hover .partner-logo {
  transform: scale(1.1);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* Responsive mobile */
@media(max-width:768px){
  .partners-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .partner-logo {
    width: 100px;
    height: 100px;
  }
}

/* Style des cartes vendeur */
.vendors-cards .card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(15,20,30,0.07);
  padding: 2rem;
  text-align: center;
  transition: transform var(--transition);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.vendors-cards .card img {
  max-width: 120px;
  margin: 0 auto 1rem;
}

.vendors-cards .card p {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #111;
}

.vendors-cards .card .btn-cta {
  align-self: center;
}


 /* Grille des cartes "Devenir vendeur Makwab" */
.vendors-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  justify-items: center;
}

/* Sur mobile, une seule carte par ligne */
@media (max-width: 768px) {
  .vendors-cards {
    grid-template-columns: 1fr;
  }
}


.no-shadow { box-shadow:none!important; }
.no-border { border:none!important; background:var(--primary)!important; }

/* ------------------------------------------
   VIDEO SECTION (fond orange + écriture blanche)
--------------------------------------------*/
 /* SECTION VIDÉO — fond orange */
.video-section {
  background: var(--primary);
  padding: 4rem 1.5rem;
  text-align: center;
  border-radius: 20px;
}

/* Titre blanc */
.video-section .section-title {
  color: #fff;
  margin-bottom: 2.5rem;
  font-size: 2rem;
  font-weight: 700;
}

/* Grille responsive */
.video-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  justify-items: center;
}

/* Carte d'une vidéo */
.video-card {
  text-align: center;
}

/* Vidéos */
.video-section video {
  width: 100%;
  max-width: 350px;
  border-radius: 16px;
  outline: 3px solid #fff;
}

/* Légendes */
.video-caption {
  margin-top: 0.7rem;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
}

/* Responsive amélioré */
@media (max-width: 500px) {
  .video-section {
    padding: 3rem 1rem;
  }
  .video-caption {
    font-size: 0.9rem;
  }
}

/* ------------------------------------------
   FAQ SECTION (fond orange + texte blanc)
--------------------------------------------*/
 /* ========================= FAQ Makwab ========================= */
#faq {
  background: var(--primary);
  padding: 4rem 1.5rem;
  border-radius: 20px;
  color: black;
}

#faq .section-title {
  color:  var(--primary);
  font-size: 2rem;
  font-weight: 700;
  text-decoration: underline;
  margin-bottom: 2.5rem;
  text-align: center;
}

/* Accordion Buttons */
.accordion-button {
  background: rgba(255,255,255,0.1);
  color: var(--primary);
  font-weight: 600;
  border: none;
  border-radius: 12px;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  transition: all 0.3s ease;
}

.accordion-button:hover {
  background: rgba(255,255,255,0.2);
}

.accordion-button:focus {
  box-shadow: 0 0 0 3px rgba(255,255,255,0.3);
}

.accordion-button::after {
  color: #F87B1B;
  font-size: 1.2rem;
}

/* Accordion Body */
.accordion-body {
  background: rgba(255,255,255,0.05);
  color: black;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  margin-bottom: 1rem;
  line-height: 1.5;
  font-size: 1rem;
  font-weight: 500;
}

/* Liens à l’intérieur */
.accordion-body a {
  /* color: var(--primary); */
  font-weight: 600;
  text-decoration: underline;
  color: blue;
}

/* Responsive */
@media(max-width: 768px) {
  #faq {
    padding: 3rem 1rem;
  }

  .accordion-button {
    font-size: 1rem;
    padding: 0.8rem 1rem;
  }

  .accordion-body {
    font-size: 0.95rem;
    padding: 0.8rem 1rem;
    
  }
}

/* ------------------------------------------------------
   SECTIONS ORANGE (Produits, Vendeurs, Story, About)
------------------------------------------------------- */
#products,
#vendors,
#videos,
#story,
#about {
  background: var(--primary);
  padding: 4rem 0;
  color: #fff;
}

#products .section-title,
#vendors .section-title,
#videos .section-title,
#story .section-title,
#about .section-title {
  color: #fff;
  text-decoration: underline;
}

#products .card,
#vendors .card,
#videos .card,
#story .card,
#about .card {
  background: #fff;
  color: #111;
  box-shadow: 0 6px 20px rgba(15,20,30,0.07);
  border-radius: 14px;
  padding: 2rem;
  transition: transform var(--transition);
}

#products .card:hover,
#vendors .card:hover,
#videos .card:hover,
#story .card:hover,
#about .card:hover {
  transform: translateY(-5px);
}

/* ------------------------------------------
   NAVBAR
--------------------------------------------*/
.navbar { position:relative; }
.navbar-brand img { width:100px; transition:transform .3s; z-index:1; }
.navbar-brand img:hover { transform:scale(1.05); }
.nav-link { font-weight:600; color:var(--secondary)!important; position:relative; transition:color var(--transition); }
.nav-link::after { content:""; position:absolute; left:0; bottom:-3px; width:0; height:2px; background:var(--primary); transition:width var(--transition); }
.nav-link:hover { color: var(--primary) !important;}
.nav-link:hover::after { width:100%; }

.btn-cta {
  background:var(--primary);
  color:#fff!important;
  border:none;
  padding:.6rem 1.2rem;
  border-radius:8px;
  font-weight:700;
  transition:all var(--transition);
}
.btn-cta:hover {
  background:#fff;
  color:var(--primary)!important;
  border:2px solid var(--primary);
}

/* ------------------------------------------
   HERO — Carte intérieure blanche, fond extérieur orange
--------------------------------------------*/
 /* HERO WRAPPER — fond orange extérieur */
.hero-wrapper {
  background: var(--primary);
  padding: 3rem 1.5rem; /* marge interne, ajustable */
  border-radius: 20px;
}

 /* SECTION HERO — Version makwab premium */
.hero-wrapper {
  background: #F87B1B;        /* Fond orange */
  padding: 3rem 1rem;
}

.hero {
  background: rgba(255, 255, 255, 0.15); /* Léger effet translucide moderne */
  border-radius: 20px;
  padding: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2rem;
  backdrop-filter: blur(4px);  /* Effet premium */
}

/* TITRES — En blanc */
.hero h1 {
  font-size: 2.6rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.3;
}

/* Sous-texte “UNE BONNE FOIS POUR TOUTE” */
.hero h5 {
  background-color: #fff;
  color: #F87B1B;
  display: inline-block;
  padding: 0.2rem 0.4rem;
  font-weight: 700;
  border-radius: 4px;
}

/* TEXTES — gris -> blanc */
.hero p {
  font-size: 1.1rem;
  color: #fff; /* remplace le muted qui était gris */
  font-weight: 500;
}

/* BOUTONS */
.hero-buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
}

/* Texte d’avertissement */
.hero-buttons p {
  color: #fff;
  font-size: 0.9rem;
  opacity: 0.9;
}

/* Bouton connexion */
.btn-cta {
  background: #fff;
  color: #F87B1B;
  padding: 0.9rem 1.4rem;
  border-radius: 12px;
  font-weight: 700;
  text-align: center;
  display: inline-block;
  font-size: 1.1rem;
  transition: 0.2s ease;
  border: 2px solid transparent;
}

.btn-cta:hover {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

/* RESPONSIVE */
@media (max-width: 600px) {
  .hero {
    padding: 1.5rem;
  }

  .hero h1 {
    font-size: 2rem;
  }
}

/* RESPONSIVE */
@media (max-width: 600px) {
  .hero-wrapper {
    padding: 2rem 1rem;
  }
  .hero {
    padding: 1.8rem;
  }
}

/* ------------------------------------------
   CAROUSEL XXL
--------------------------------------------*/
#heroCarouselXXL { border-radius:14px; overflow:hidden; margin-bottom:3rem; }
#heroCarouselXXL img { width:100%; height:auto; object-fit:cover; }

@media(min-width:768px){ #heroCarouselXXL { max-height:500px; } }
@media(max-width:767px){ #heroCarouselXXL { max-height:300px; } }

/* ------------------------------------------
   SECTIONS GÉNÉRALES
--------------------------------------------*/
section { padding:4rem 0; }
.section-container {
  border:1px solid #e6e6e6;
  border-radius:14px;
  box-shadow:0 6px 20px rgba(0,0,0,0.05);
  padding:2rem;
  margin-bottom:2rem;
  background:#fff;
}
.section-title {
  text-align:center;
  margin-bottom:2rem;
  color:var(--primary);
  font-weight:700;
  text-decoration:underline;
}

.cards {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:2rem;
}

.card {
  background:#fff;
  border-radius:14px;
  box-shadow:0 6px 20px rgba(15,20,30,0.07);
  padding:2rem;
  text-align:center;
  transition:transform var(--transition);
}

.card:hover { transform:translateY(-5px); }

/* ------------------------------------------
   TESTIMONIALS
--------------------------------------------*/
.testimonial {
  background:var(--primary);
  color:#fff;
  padding:2rem;
  border-radius:14px;
  text-align:center;
  font-weight:600;
}

.testimonial::before {
  /* content:'★'; */
  margin-right:0.5rem;
}

/* ------------------------------------------
   FORMULAIRES — fond orange + texte blanc
--------------------------------------------*/

 /* Formulaires makwab */
.form-orange {
  background: var(--primary);
  padding: 3rem 2rem;
  border-radius: 18px;
  color: #fff;
  max-width: 700px;
  margin: 2rem auto;
  box-shadow: 0 6px 20px rgba(15,20,30,0.1);
}

.form-orange h3 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 2rem;
  font-weight: 700;
}

.form-orange label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #fff;
  font-size: 1rem;
}

.form-orange input,
.form-orange textarea {
  width: 100%;
  padding: 14px 16px;
  border-radius: 12px;
  border: none;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  background: rgba(255,255,255,0.1);
  color: #fff;
}

.form-orange input::placeholder,
.form-orange textarea::placeholder {
  color: #fff;
  opacity: 0.8;
}

.form-orange input:focus,
.form-orange textarea:focus {
  outline: 2px solid #fff;
  background: rgba(255,255,255,0.15);
}

.form-orange button {
  background: #fff;
  color: var(--primary);
  padding: 14px;
  width: 100%;
  font-weight: 700;
  border-radius: 10px;
  border: none;
  font-size: 1.05rem;
  transition: all 0.3s ease;
  cursor: pointer;
}

.form-orange button:hover {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
}

.form-orange .switch a {
  color: #fff;
  font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
  .form-orange {
    padding: 2rem 1.5rem;
  }

  .form-orange h3 {
    font-size: 1.6rem;
  }

  .form-orange button {
    font-size: 1rem;
    padding: 12px;
  }
}

/* ------------------------------------------
   FOOTER
--------------------------------------------*/
footer {
  background:#111;
  color:#fff;
  text-align:center;
  padding:2rem 0;
}

/* RESPONSIVE */
@media(max-width:768px){
  .hero { flex-direction:column-reverse; text-align:center; }
  .hero h1 { font-size:2rem; }
  .hero-buttons { justify-content:center; }
}
@media(max-width:480px){
  .navbar-brand img { width:80px; }
  .hero h1 { font-size:1.6rem; }
  .hero-buttons a { width:140px; padding:10px; }
}


/* ======================
   Section Teaser Mobile makwab
   ====================== */

.app-coming-section {
  background: #F87B1B;
  color: #ffffff;
  padding: 60px 20px;
  border-radius: 20px;
  text-align: center;
  font-family:  'Quicksand', sans-serif;
  margin: 40px auto;
  max-width: 1000px;
}

.app-coming-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

/* Placeholder pour le mockup / image verticale */
.app-mockup-placeholder {
  width: 300px;
  height: 500px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 25px;
  margin-bottom: 20px;
}

/* Titres */
.app-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 15px;
}

/* Texte descriptif */
.app-text {
  font-size: 1rem;
  line-height: 1.6;
  max-width: 600px;
  text-align: center;
  margin: 0 auto;
}

/* Bouton principal */
.coming-soon-btn {
  background-color: #ffffff;
  color: #F87B1B;
  border: none;
  border-radius: 50px;
  padding: 15px 40px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 20px;
}

.coming-soon-btn:hover {
  background-color: #ffb366;
  color: #ffffff;
}

/* Logos Google Play & App Store */
.store-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-top: 20px;
}

.store-logo {
  width: 140px;
  height: auto;
  border-radius: 15px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease;
}

.store-logo:hover {
  transform: scale(1.05);
}

/* Responsive pour petits écrans */
@media (max-width: 600px) {
  .app-title {
    font-size: 1.6rem;
  }
  .app-text {
    font-size: 0.95rem;
  }
  .app-mockup-placeholder {
    width: 200px;
    height: 400px;
  }
  .store-logo {
    width: 120px;
  }
}




/* ====== PATCH MAKWAB — Corrections globales (coller en fin de fichier) ====== */

/* 1) Si vous voulez que la page principale ait du orange derrière les sections HERO */
body {
  /* si vous voulez que tout le fond global soit orange : décommentez la ligne suivante */
  /* background: var(--primary); */
  /* sinon laissez blanc mais la HERO gardera son orange propre */
}

/* 2) Forcer HERO wrapper à occuper visuellement son orange (contrainte si parents blancs) */
.hero-wrapper {
  background: var(--primary) !important;
  color: #fff !important;
}

/* 3) Tous les titres situés dans une section dont le parent a fond orange : mettre blanc */
.hero-wrapper .section-title,
/* #faq .section-title, */
.video-section .section-title,
.vendors-isole .section-title,
.partners-section .section-title,
#products .section-title,
#vendors .section-title,
#videos .section-title,
#story .section-title,
#about .section-title {
  color: #fff !important;
  text-decoration: underline;
}

/* 4) Corriger les textes qui utilisaient var(--primary) sur fond orange */
/* #faq .section-title,
#faq .accordion-button,
#faq .accordion-body, */
.video-section .video-caption,
.makwab-images-wrapper .makwab-images-title {
  color: #fff !important;
}

/* 5) Accordion body sur fond orange → texte blanc (lisibilité) */
#faq .accordion-body {
  color: #F87B1B;
  background: rgba(255,255,255,0.06) !important;
}

/* 6) Boutons sur fond orange : s'assurer que le texte est blanc */
.btn-cta, .vendors-isole .vendor-card .btn-cta, .partners-section .btn-cta {
  background: #fff !important;
  color: var(--primary) !important;
  border-radius: 10px;
}

/* Hover inversion propre */
.btn-cta:hover {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.85) !important;
}

 /* special btn */

#specialbtn{
  background: #F87B1B !important;
  color: #fff !important;
  border-radius: 10px;
}


#specialbtn:hover {
  background: #fff !important;
  color: #F87B1B !important;
  border: 2px solid #F87B1B !important;
}




/* 7) Forcer texte lisible sur toutes sections orange */
.section[style*="background: var(--primary)"], 
.section[style*="background: #F87B1B"],
.video-section, .vendors-isole, .partners-section, #faq, #products, #vendors, #videos, #story, #about {
  color: #fff !important;
}

/* 8) Cas particuliers — titres et petits textes sur cartes blanches à l'intérieur d'orange */
.section .card,
.video-section .card,
.vendors-isole-cards .vendor-card,
.partners-grid .partner-card {
  color: #111 !important;
}

/* 9) S'assurer que les underline et accents visibles sur orange */
.nav-link::after { background: #fff !important; }

/* 10) Simplifier les overlay/translucence de la card interne HERO pour contraste */
.hero {
  background: rgba(255,255,255,0.12) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.08);
}

/* 11) Réparer l'accord entre .accordion-button et le contenu */
.accordion-button {
  background: rgba(255,255,255,0.08) !important;
  color: black !important;
  border: none;
}

/* 12) Small responsive fix: s'assurer que textes restent lisibles */
@media (max-width: 768px) {
  .hero h1, .hero p, .hero-buttons p { color: #fff !important; }
  .accordion-body { color: black; }
}

/* ====== Fin Patch ====== */

#about {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}


/* SECTION INVESTISSEUR */
.invest-section {
  background: #F87B1B; /* orange makwab */
  padding: 3rem 1.5rem;
  margin-top: 3rem;
  text-align: center;
  color: white;
  border-radius: 10px;
}

.invest-container {
  max-width: 900px;
  margin: auto;
}

.invest-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-decoration: underline;
}

.invest-text {
  font-size: 1.15rem;
  font-weight: 500;
  margin-bottom: 2rem;
  line-height: 1.6;
  color: #fff;
}

.invest-btn {
  padding: 0.9rem 2rem;
  background: white;
  color: #F87B1B;
  font-weight: 700;
  text-decoration: none;
  border-radius: 10px;
  transition: 0.3s;
  display: inline-block;
}

.invest-btn:hover {
  background: #ffe7d1;
}



/* SECTION NOTRE HISTOIRE */
.story-section {
  padding: 80px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.story-content {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
  font-family: 'Quicksand', sans-serif;
  color: white;
}

.story-content p {
  margin-bottom: 3rem;
  line-height: 1.8;
  font-size: 1.05em;
}




.stat-card {
  text-align: center;
}

.stat-number {
  font-size: 2rem;
  font-weight: 700;
  color: #F87B1B;
  margin-bottom: 0.5rem;
}

.stats-note {
  margin-top: 1rem;
  font-size: 0.9rem;
  opacity: 0.7;
  text-align: center;
}



.invest-section {
    padding: 60px 20px;
    background: #F87B1B;
    text-align: center;
    font-family: 'Quicksand', sans-serif;
}

.invest-title {
    font-size: 2rem;
    font-weight: 700;
     color: white;
     
    margin-bottom: 16px;
}

.invest-text {
    max-width: 700px;
    margin: 0 auto 40px;
    font-weight: 400;
    color: white;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    justify-items: center;
    margin-top: 20px;
}

.advantage-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    padding: 20px;
    max-width: 400px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.advantage-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.15);
}

.advantage-card img.lightboxable {
    width: 100%;
    max-width: 300px;
    height: auto;
    object-fit: contain;
    margin-bottom: 12px;
    cursor: pointer;
}

.advantage-card h3 {
    font-size: 1.2rem;
    margin-bottom: 8px;
    color: #F87B1B;
}

.advantage-card p {
    font-size: 0.95rem;
    color: #555;
    line-height: 1.4;
}



 

/* Mobile */
@media (max-width: 768px) {
  .story-content {
    max-width: 95%;
  }

  .section-title {
    font-size: 1.8em;
  }

  .story-content p {
    font-size: 1em;
  }
}


.badges-section {
  background: #F87B1B;
  padding: 2rem 1.5rem;
}

.badges-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}

.badge-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  background: #fff8f3;
  border: 2px solid #F87B1B;
  border-radius: 14px;
  padding: 1.2rem 1.8rem;
  min-width: 120px;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.badge-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(248,123,27,0.2);
}

.badge-icon {
  font-size: 2rem;
}

.badge-item p {
  font-weight: 700;
  color: #F87B1B;
  font-size: 0.9rem;
  margin: 0;
}



.who-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.who-card {
  background: #fff;
  border-radius: 14px;
  padding: 1.8rem 1.2rem;
  text-align: center;
  color: #111;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform 0.25s ease;
}

.who-card:hover {
  transform: translateY(-5px);
}

.who-icon {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.8rem;
}

.who-card h4 {
  color: #F87B1B;
  font-weight: 700;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

.who-card p {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.5;
}


.presse-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
}

.presse-card {
  background: #fff8f3;
  border: 2px solid #F87B1B;
  border-radius: 14px;
  padding: 1.8rem 1.2rem;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.presse-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(248,123,27,0.15);
}

.presse-logo-placeholder {
  font-size: 2.5rem;
  margin-bottom: 0.8rem;
}

.presse-name {
  font-weight: 700;
  color: #F87B1B;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.presse-quote {
  font-style: italic;
  color: #555;
  font-size: 0.9rem;
  line-height: 1.5;
}

.presse-coming {
  background: #f9f9f9;
  border-style: dashed;
}



.carte-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.villes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  width: 100%;
  max-width: 900px;
}

.ville-card {
  background: #fff;
  border-radius: 12px;
  padding: 1rem 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.2s ease;
}

.ville-card:hover {
  transform: translateY(-3px);
}

.ville-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #25D366;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(37,211,102,0.25);
  animation: pulse-green 2s infinite;
}

.coming-dot {
  background: #aaa;
  box-shadow: 0 0 0 3px rgba(170,170,170,0.25);
  animation: none;
}

@keyframes pulse-green {
  0%, 100% { box-shadow: 0 0 0 3px rgba(37,211,102,0.25); }
  50% { box-shadow: 0 0 0 6px rgba(37,211,102,0.1); }
}

.ville-nom {
  font-weight: 700;
  color: #111;
  font-size: 1rem;
  margin: 0;
}

.ville-info {
  font-size: 0.8rem;
  color: #777;
  margin: 0;
}

.ville-card.coming .ville-nom {
  color: #aaa;
}

.carte-legende {
  display: flex;
  gap: 2rem;
  align-items: center;
  font-size: 0.9rem;
  color: #fff;
  font-weight: 600;
}

.carte-legende span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 600px) {
  .villes-grid {
    grid-template-columns: 1fr;
  }
  .carte-legende {
    flex-direction: column;
    gap: 0.8rem;
  }
}


/* ====== SECTION PRODUITS — Redesign ====== */

.produit-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.09);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.produit-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 32px rgba(248,123,27,0.15);
}

.produit-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

.produit-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
}

.produit-body h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: #F87B1B;
  margin: 0;
}

.produit-intro {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.6;
  margin: 0;
}

.produit-avantages {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.produit-avantages li {
  font-size: 0.9rem;
  color: #333;
  font-weight: 500;
  padding-left: 1.4rem;
  position: relative;
  line-height: 1.5;
}

.produit-avantages li::before {
  content: "✅";
  position: absolute;
  left: 0;
  font-size: 0.8rem;
  top: 1px;
}

.produit-badge-prix {
  background: #fff8f3;
  border-left: 4px solid #F87B1B;
  border-radius: 8px;
  padding: 0.8rem 1rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #F87B1B;
}

.produit-slogan {
  text-align: center;
  font-weight: 700;
  font-size: 0.95rem;
  color: #F87B1B;
  margin: 0;
  padding-top: 0.5rem;
  border-top: 1px dashed #ffe0c0;
}

/* Carte mystère */
.produit-mystere .produit-body {
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 280px;
}

.produit-mystere .produit-intro,
.produit-teaser {
  color: #555;
  font-size: 0.95rem;
  line-height: 1.6;
}

.produit-badge-mystere {
  background: #111;
  color: #fff;
  border-radius: 50px;
  padding: 0.5rem 1.4rem;
  font-weight: 700;
  font-size: 0.9rem;
  display: inline-block;
  letter-spacing: 1px;
}

@media (max-width: 768px) {
  .produit-img {
    height: 160px;
  }
  .produit-body {
    padding: 1.2rem;
  }
}