:root{--bg:#070712;--cyan:#00d9ff;--pink:#ff3df2;--muted:#c9d2ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:white}a{color:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 6%;background:rgba(7,7,18,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,217,255,.25)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;text-transform:uppercase}.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--cyan);box-shadow:0 0 18px rgba(0,217,255,.45)}.nav{display:flex;gap:18px}.nav a{text-decoration:none;color:var(--muted);font-weight:800;font-size:14px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:28px}.hero{min-height:100vh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;padding:120px 6% 80px}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.34) blur(1px);transform:scale(1.04)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 25%,rgba(0,217,255,.25),transparent 38%),radial-gradient(circle at 70% 70%,rgba(255,61,242,.22),transparent 32%)}.hero-content{position:relative;z-index:1;max-width:980px}.hero-logo{width:200px;height:200px;border-radius:50%;object-fit:cover;border:4px solid var(--cyan);box-shadow:0 0 55px rgba(0,217,255,.7)}.eyebrow{letter-spacing:6px;text-transform:uppercase;color:var(--cyan);font-weight:900}h1{font-size:clamp(42px,7vw,92px);line-height:.95;margin:12px 0;text-transform:uppercase}.lead{font-size:clamp(18px,2vw,28px);color:var(--muted)}.lead.small{font-size:19px}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;text-decoration:none;border:1px solid var(--cyan);padding:14px 22px;border-radius:999px;font-weight:900;background:rgba(255,255,255,.05);box-shadow:0 0 20px rgba(0,217,255,.18)}.btn.primary{background:linear-gradient(135deg,var(--cyan),var(--pink));color:#060612;border:0}.btn.whatsapp{border-color:#40ff9d}.section{padding:84px 6%;max-width:1300px;margin:auto}.section h2{text-align:center;font-size:clamp(32px,4vw,56px);margin:0 0 30px;color:var(--cyan);text-transform:uppercase}.intro{text-align:center;font-size:22px;color:var(--muted)}.cards,.why-grid,.price-grid,.platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.cards article,.why-grid article,.price-grid div,.video-placeholder,.contact-box,.zone-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(0,217,255,.25);border-radius:24px;padding:24px;box-shadow:0 0 30px rgba(0,0,0,.2)}.cards span,.why-grid span{font-size:38px}.cards h3,.why-grid h3{font-size:24px}.cards p,.why-grid p,.note{color:var(--muted)}.zone-card{text-align:center}.zone-card strong{color:var(--pink);font-size:24px}.price-grid div{text-align:center}.price-grid strong{font-size:22px}.price-grid span{display:block;margin-top:12px;font-size:26px;color:var(--pink);font-weight:900}.note{text-align:center;max-width:850px;margin:22px auto}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.gallery-item{border:0;padding:0;background:none;cursor:pointer;border-radius:18px;overflow:hidden}.gallery-item img{width:100%;height:220px;object-fit:cover;display:block;transition:.35s}.gallery-item:hover img{transform:scale(1.08)}.video-placeholder{text-align:center;max-width:850px;margin:auto}.platform-grid a{text-align:center;text-decoration:none;padding:22px;border-radius:20px;background:#111834;border:1px solid rgba(255,61,242,.35);font-weight:900}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:26px}.contact h2{grid-column:1/-1}form{display:grid;gap:14px}input,select,textarea{width:100%;padding:14px;border-radius:14px;border:1px solid rgba(0,217,255,.3);background:#0e1022;color:white}textarea{min-height:140px}.legal{text-align:center;color:var(--muted)}footer{text-align:center;padding:28px;background:#05050c;color:var(--muted)}.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:50;place-items:center;padding:5%}.lightbox.active{display:grid}.lightbox img{max-width:95vw;max-height:86vh;border-radius:18px}.close{position:absolute;top:20px;right:25px;background:var(--pink);color:white;border:0;border-radius:50%;font-size:32px;width:52px;height:52px}.floating-call{position:fixed;right:22px;bottom:22px;z-index:30;background:linear-gradient(135deg,var(--cyan),var(--pink));color:white;text-decoration:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:26px}@media(max-width:820px){.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:69px;background:#08091a;flex-direction:column;padding:20px 6%}.nav.open{display:flex}.contact{grid-template-columns:1fr}}
.reservation-note{
  max-width:850px;
  margin:28px auto 0;
  padding:24px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,61,242,.18),rgba(0,217,255,.12));
  border:1px solid rgba(255,61,242,.45);
  text-align:center;
  box-shadow:0 0 30px rgba(0,0,0,.22);
}
.reservation-note h3{margin:0 0 10px;color:#fff;font-size:24px}
.reservation-note p{color:var(--muted);margin:8px 0}
.hero-note{
  margin-top:18px;
  color:#fff;
  font-weight:800;
  background:rgba(0,0,0,.35);
  display:inline-block;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
}

.footer-social{
  margin-top:16px;
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
}
.footer-social a{
  color:#fff;
  text-decoration:none;
  font-weight:900;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(0,217,255,.35);
  background:rgba(255,255,255,.05);
}
.platform-grid a span{
  display:block;
  color:var(--muted);
  font-size:14px;
  margin-top:6px;
  font-weight:700;
}

#avis-verifies .video-placeholder,
#deposer-avis .video-placeholder{
  border-color:rgba(255,61,242,.45);
}
#avis-verifies a.btn,
#deposer-avis a.btn{
  margin-top:12px;
}

.section-subtitle{
  text-align:center;
  color:var(--muted);
  font-size:20px;
  margin:-12px auto 28px;
}
.prestations-visual{
  max-width:1500px;
}
.prestations-image{
  width:100%;
  display:block;
  border-radius:26px;
  border:1px solid rgba(0,217,255,.35);
  box-shadow:0 0 45px rgba(0,0,0,.35);
}
@media(max-width:820px){
  .prestations-image{
    border-radius:18px;
  }
}

html, body{
  max-width:100%;
  overflow-x:hidden;
}

.section-subtitle{
  text-align:center;
  color:var(--muted);
  font-size:20px;
  margin:-12px auto 34px;
}

.prestations-section{
  max-width:1300px;
}

.prestations-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

.prestation-card{
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(0,217,255,.28);
  box-shadow:0 0 30px rgba(0,0,0,.25);
}

.prestation-card img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}

.prestation-content{
  padding:22px;
}

.prestation-content h3{
  margin:0 0 12px;
  color:var(--cyan);
  font-size:24px;
}

.prestation-content p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

@media(max-width:1024px){
  .prestations-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:680px){
  .prestations-grid{
    grid-template-columns:1fr;
  }
  .prestation-card img{
    height:210px;
  }
  .section-subtitle{
    font-size:17px;
  }
}

.seo-page{padding-top:90px}
.seo-content{
  max-width:980px;
  line-height:1.72;
}
.seo-content h1{
  font-size:clamp(34px,5vw,62px);
  line-height:1.05;
  text-align:center;
  color:var(--cyan);
  margin:20px 0 34px;
  text-transform:uppercase;
}
.seo-content h2{
  color:var(--cyan);
  text-align:left;
  font-size:clamp(26px,3vw,38px);
  margin-top:42px;
}
.seo-content h3{
  color:#fff;
  font-size:22px;
  margin-top:26px;
}
.seo-content p{
  color:var(--muted);
  font-size:18px;
}
.internal-links{
  margin-top:40px;
  padding:24px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(0,217,255,.28);
}
.internal-links a{
  display:inline-block;
  margin:8px;
  padding:10px 14px;
  border-radius:999px;
  text-decoration:none;
  border:1px solid rgba(0,217,255,.35);
}
.seo-cta{text-align:center;margin-top:34px}

.detailed-services{
  max-width:1300px;
}
.detailed-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.detailed-card{
  padding:24px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(0,217,255,.28);
  box-shadow:0 0 30px rgba(0,0,0,.25);
}
.detailed-card h3{
  margin:0 0 12px;
  color:var(--cyan);
  font-size:24px;
}
.detailed-card p{
  color:var(--muted);
  line-height:1.55;
  min-height:86px;
}
.detailed-card .btn{
  margin-top:10px;
}
@media(max-width:1024px){
  .detailed-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .detailed-grid{
    grid-template-columns:1fr;
  }
  .detailed-card p{
    min-height:auto;
  }
}

.features-image-section{
  max-width:1400px;
}
.features-image-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.feature-image-card{
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(0,217,255,.28);
  box-shadow:0 0 30px rgba(0,0,0,.25);
}
.feature-image-card img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}
.feature-image-content{
  padding:24px;
}
.feature-image-content h3{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(24px,2vw,32px);
  line-height:1.08;
}
.feature-image-content h3:after{
  content:"";
  display:block;
  width:58px;
  height:2px;
  background:var(--cyan);
  margin-top:14px;
}
.feature-image-content p{
  color:var(--muted);
  line-height:1.55;
  font-size:18px;
  margin:0;
}
@media(max-width:1180px){
  .features-image-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .features-image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .features-image-grid{
    grid-template-columns:1fr;
  }
  .feature-image-card img{
    height:210px;
  }
}


/* Section prestations détaillées avec images et boutons uniformes */
.seo-prestations-final{
  max-width:1400px;
}
.seo-prestations-grid-final{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
.seo-prestation-card-final{
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(0,217,255,.35);
  box-shadow:0 0 30px rgba(0,0,0,.28);
}
.seo-prestation-card-final img{
  width:100%;
  height:245px;
  object-fit:cover;
  display:block;
  flex:0 0 auto;
}
.seo-prestation-content-final{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:26px 26px 28px;
}
.seo-prestation-content-final h3{
  margin:0 0 14px;
  color:var(--cyan,#00d9ff);
  font-size:clamp(24px,2vw,32px);
  line-height:1.1;
}
.seo-prestation-content-final p{
  color:var(--muted,#d9e2ff);
  font-size:18px;
  line-height:1.55;
  margin:0 0 22px;
  flex:1;
}
.seo-prestation-btn-final{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:58px;
  box-sizing:border-box;
  margin-top:auto;
  padding:14px 20px;
  border-radius:999px;
  border:1px solid rgba(0,217,255,.85);
  background:linear-gradient(90deg,rgba(0,217,255,.18),rgba(157,78,221,.18));
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  font-size:18px;
  text-align:center;
  line-height:1.2;
  box-shadow:0 0 18px rgba(0,217,255,.18);
  transition:.25s ease;
}
.seo-prestation-btn-final:hover{
  transform:translateY(-2px);
  box-shadow:0 0 26px rgba(0,217,255,.55);
}
@media(max-width:1050px){
  .seo-prestations-grid-final{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .seo-prestations-grid-final{
    grid-template-columns:1fr;
  }
  .seo-prestation-card-final img{
    height:220px;
  }
}


/* Uniformisation stricte des boutons */
.seo-prestation-content-final{
    display:flex !important;
    flex-direction:column !important;
}

.seo-prestation-btn-final{
    width:100% !important;
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin-top:auto !important;
    padding:0 20px !important;
    line-height:1.2 !important;
    overflow:hidden !important;
}


/* Alignement parfait des prix */
.price,
.tarif,
.prix,
.price-tag,
.price-card,
.price-line {
    display:flex !important;
    align-items:baseline !important;
    gap:4px !important;
}

.price .currency,
.tarif .currency,
.prix .currency {
    display:inline-block !important;
    vertical-align:baseline !important;
    line-height:1 !important;
}

/* TARIFS FINAUX AVEC IMAGES */
.tarifs-images-final{
  max-width:1450px;
  text-align:center;
}
.tarifs-images-final h2{
  color:var(--cyan,#00d9ff);
}
.tarifs-images-grid-final{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
  margin-top:36px;
  align-items:stretch;
}
.tarif-image-card-final{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:26px;
  min-height:100%;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(255,45,255,.42);
  box-shadow:0 0 30px rgba(0,0,0,.28);
}
.tarif-image-card-final img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}
.tarif-image-content-final{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:26px 26px 28px;
  text-align:left;
}
.tarif-image-content-final h3{
  text-align:center;
  color:#fff;
  font-size:26px;
  margin:0 0 14px;
}
.tarif-price-final{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  color:#ff2dff;
  font-size:28px;
  font-weight:900;
  line-height:1;
  margin:8px 0 24px;
}
.tarif-price-final strong{
  display:inline;
  color:#ff2dff;
  font-size:30px;
  line-height:1;
}
.tarif-image-content-final ul{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  flex:1;
}
.tarif-image-content-final li{
  position:relative;
  padding-left:28px;
  margin:13px 0;
  color:var(--muted,#d9e2ff);
  font-size:17px;
  line-height:1.35;
}
.tarif-image-content-final li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:#ff2dff;
  font-weight:900;
}
.tarif-btn-final{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:58px;
  border-radius:999px;
  border:1px solid rgba(0,217,255,.85);
  background:linear-gradient(90deg,rgba(0,217,255,.18),rgba(157,78,221,.22));
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  text-align:center;
  margin-top:auto;
  box-shadow:0 0 18px rgba(0,217,255,.18);
}
.tarif-btn-final:hover{
  transform:translateY(-2px);
  box-shadow:0 0 26px rgba(0,217,255,.55);
}
.tarif-note-final{
  margin-top:32px;
  padding:22px 26px;
  border-radius:20px;
  border:1px solid rgba(0,217,255,.25);
  background:rgba(255,255,255,.04);
  color:var(--muted,#d9e2ff);
  text-align:left;
}
.tarif-note-final p{
  margin:8px 0;
  line-height:1.55;
}
@media(max-width:1200px){
  .tarifs-images-grid-final{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .tarifs-images-grid-final{
    grid-template-columns:1fr;
  }
  .tarif-image-card-final img{
    height:220px;
  }
  .tarif-price-final{
    font-size:24px;
  }
  .tarif-price-final strong{
    font-size:26px;
  }
}

/* Bouton principal Réserver maintenant */
.tarif-main-reservation{
  text-align:center;
  margin-top:28px;
}
.tarif-reserver-main-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:60px;
  padding:0 36px;
  border-radius:999px;
  background:linear-gradient(90deg,#00d9ff,#ff2dff);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:900;
  font-size:20px;
  box-shadow:0 0 28px rgba(0,217,255,.35);
  transition:.25s ease;
}
.tarif-reserver-main-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 0 36px rgba(255,45,255,.55);
}

/* Page réservation */
.reservation-page{
  padding-top:90px;
}
.reservation-hero{
  text-align:center;
}
.reservation-hero h1{
  color:var(--cyan,#00d9ff);
  font-size:clamp(42px,6vw,82px);
  text-transform:uppercase;
  line-height:1;
}
.reservation-layout{
  max-width:1250px;
  display:grid;
  grid-template-columns:0.85fr 1.4fr;
  gap:28px;
  align-items:start;
}
.reservation-card{
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(0,217,255,.32);
  box-shadow:0 0 30px rgba(0,0,0,.28);
  padding:28px;
}
.reservation-card h2{
  color:var(--cyan,#00d9ff);
  margin-top:0;
}
.reservation-info p{
  color:var(--muted,#d9e2ff);
  line-height:1.6;
}
.reservation-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#fff;
  font-weight:700;
  margin-bottom:18px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.reservation-form input,
.reservation-form select,
.reservation-form textarea{
  width:100%;
  box-sizing:border-box;
  border-radius:14px;
  border:1px solid rgba(0,217,255,.35);
  background:rgba(0,0,0,.35);
  color:#fff;
  padding:13px 14px;
  font-size:16px;
  outline:none;
}
.reservation-form input:focus,
.reservation-form select:focus,
.reservation-form textarea:focus{
  border-color:#ff2dff;
  box-shadow:0 0 16px rgba(255,45,255,.24);
}
.checkbox-line{
  flex-direction:row!important;
  align-items:flex-start;
  font-weight:500!important;
  color:var(--muted,#d9e2ff)!important;
}
.checkbox-line input{
  width:auto;
  margin-top:5px;
}
.reservation-submit{
  width:100%;
  min-height:62px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg,#00d9ff,#ff2dff);
  color:#fff;
  font-weight:900;
  font-size:20px;
  cursor:pointer;
  box-shadow:0 0 28px rgba(0,217,255,.35);
}
.reservation-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 0 36px rgba(255,45,255,.55);
}
.reservation-small{
  color:var(--muted,#d9e2ff);
  text-align:center;
  font-size:14px;
}
@media(max-width:900px){
  .reservation-layout{
    grid-template-columns:1fr;
  }
  .form-grid{
    grid-template-columns:1fr;
  }
}


/* Page Notre Traiteur Africain */
.traiteur-page{
  padding-top:120px;
}
.traiteur-text-card{
  text-align:center;
}
.traiteur-flyer-wrapper{
  display:flex;
  justify-content:center;
  align-items:flex-start;
}
.traiteur-flyer-wrapper img{
  width:100%;
  max-width:900px;
  height:auto;
  border-radius:18px;
  display:block;
  margin:0 auto;
  box-shadow:0 0 40px rgba(0,0,0,.35);
}

@media(max-width:820px){
  .traiteur-page{
    padding-top:80px;
  }
  .traiteur-flyer-wrapper img{
    border-radius:14px;
  }
}


/* Mise en avant service traiteur africain sur la page d'accueil */
.home-traiteur-highlight{
  padding-top:60px;
  padding-bottom:60px;
}
.home-traiteur-card{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:28px;
  align-items:center;
  max-width:1100px;
  margin:0 auto;
  padding:34px;
  border-radius:28px;
  background:linear-gradient(135deg, rgba(0,217,255,.14), rgba(255,61,242,.14));
  border:1px solid rgba(255,61,242,.35);
  box-shadow:0 0 45px rgba(0,217,255,.16);
}
.home-traiteur-icon{
  width:100px;
  height:100px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:52px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(0,217,255,.35);
}
.home-traiteur-content h2{
  margin-top:0;
  color:var(--cyan, #00d9ff);
}
.home-traiteur-content p{
  color:var(--muted, #c9d2ff);
  font-size:18px;
}
.home-traiteur-tags{
  font-weight:800;
  color:#fff !important;
}
@media(max-width:820px){
  .home-traiteur-card{
    grid-template-columns:1fr;
    text-align:center;
    padding:24px;
  }
  .home-traiteur-icon{
    margin:0 auto;
  }
}

.traiteur-options ul{list-style:none;padding:0}
.traiteur-options li{padding:6px 0}

.traiteur-photo-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
 gap:16px;
 margin-top:20px;
}
.photo-placeholder{
 padding:40px 20px;
 text-align:center;
 border-radius:16px;
 background:rgba(255,255,255,.06);
 border:1px solid rgba(255,255,255,.12);
 font-weight:700;
}


/* Galerie photos traiteur Eko Food */
.traiteur-exemples-section{
  max-width:1200px;
}
.traiteur-gallery{
  margin-top:30px;
}
.traiteur-gallery-item img{
  border:1px solid rgba(196,128,55,.45);
  box-shadow:0 0 28px rgba(80,45,20,.25);
}
.traiteur-exemples-section h2{
  color:var(--cyan, #00d9ff);
}


/* Contact direct traiteur */
.traiteur-contact-direct{
  text-align:center;
}
.traiteur-contact-buttons{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}
.whatsapp-traiteur{
  border-color:#25D366 !important;
}

/* Corrections navigation */


.pourquoi-page{
  padding-top:120px;
}
@media(max-width:820px){
  .pourquoi-page{padding-top:80px;}
}


/* Corrections finales menu + page Pourquoi moi */


.pourquoi-page-text{
  max-width:1100px;
}
.pourquoi-text-card{
  padding:28px;
}
.pourquoi-text-card h2{
  margin-top:0;
}
.pourquoi-text-card p,
.pourquoi-text-card li{
  font-size:18px;
  line-height:1.7;
}
.pourquoi-text-card ul{
  max-width:760px;
  margin:18px auto;
}

/* Correction couleur onglet Traiteur Africain */
.site-header .nav a[href="notre-traiteur-africain.html"],
.site-header .nav a[href="notre-traiteur-africain.html"]:visited{
  color:var(--muted) !important;
  font-weight:800 !important;
}
.site-header .nav a[href="notre-traiteur-africain.html"]:hover{
  color:var(--cyan) !important;
}


/* Page Prestations */
.prestations-page-intro{
  padding-top:120px;
}
.prestations-plus-card{
  text-align:center;
}
.prestations-plus-card p{
  font-size:18px;
  line-height:1.7;
}
@media(max-width:820px){
  .prestations-page-intro{padding-top:80px;}
}


/* Page Tarifs */
.tarifs-page-intro{
  padding-top:120px;
}
.tarifs-page-grid{
  margin-top:30px;
}
.tarifs-info-card{
  text-align:center;
}
.tarifs-info-card p,
.tarifs-info-card li{
  font-size:18px;
  line-height:1.7;
}
.tarifs-info-card ul{
  max-width:720px;
  margin:18px auto;
  text-align:left;
}
@media(max-width:820px){
  .tarifs-page-intro{padding-top:80px;}
}


/* Correction mise en page page Tarifs */
.tarifs-page-intro{
  padding-top:120px;
}
.tarifs-simple-section{
  max-width:1200px;
}
.tarifs-clean-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:22px;
  margin-top:30px;
}
.tarif-clean-card{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(0,217,255,.25);
  border-radius:24px;
  padding:26px;
  text-align:center;
  box-shadow:0 0 30px rgba(0,0,0,.22);
}
.tarif-clean-card h3{
  margin-top:0;
  font-size:24px;
}
.tarif-clean-card p{
  color:var(--muted,#c9d2ff);
}
.tarif-price{
  color:var(--pink,#ff3df2) !important;
  font-size:28px;
  font-weight:900;
  margin:12px 0;
}
.tarifs-info-card{
  text-align:center;
  max-width:950px;
  margin:0 auto;
}
.tarifs-info-card p{
  font-size:18px;
  line-height:1.7;
}
@media(max-width:820px){
  .tarifs-page-intro{
    padding-top:80px;
  }
}


/* Images page Tarifs */
.tarif-clean-card{
  padding:0 !important;
  overflow:hidden;
}
.tarif-clean-card img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}
.tarif-clean-content{
  padding:24px;
}


/* Nettoyage images page Tarifs : aucun badge/icône sur les photos */
.tarif-clean-card,
.price-card{
  position:relative;
}
.tarif-clean-card::before,
.tarif-clean-card::after,
.price-card::before,
.price-card::after{
  content:none !important;
  display:none !important;
}
.tarif-clean-card img,
.price-card img{
  display:block;
  width:100%;
  height:190px;
  object-fit:cover;
  object-position:center;
}
.tarif-clean-card .icon,
.tarif-clean-card .emoji,
.tarif-clean-card .badge,
.price-card .icon,
.price-card .emoji,
.price-card .badge{
  display:none !important;
}


/* Visuels générés page Tarifs */
.tarif-clean-card img{
  height:210px !important;
  object-fit:cover !important;
  object-position:center !important;
}


/* Ajustements cohérence page Tarifs */
.tarifs-info-card strong,
.tarif-price{
  white-space:normal;
}
.tarif-clean-card ul,
.price-card ul{
  text-align:left;
}
.tarif-clean-card li,
.price-card li{
  margin:6px 0;
}


/* Page Tarifs finale cohérente */
.tarifs-page-intro{padding-top:120px;}
.tarifs-simple-section{max-width:1200px;}
.tarifs-clean-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
  margin-top:30px;
}
.tarif-clean-card{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(0,217,255,.25);
  border-radius:24px;
  overflow:hidden;
  text-align:center;
  box-shadow:0 0 30px rgba(0,0,0,.22);
}
.tarif-clean-card img{
  width:100%;
  height:210px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.tarif-clean-content{padding:24px;}
.tarif-clean-content h3{margin-top:0;font-size:24px;}
.tarif-price{
  color:var(--pink,#ff3df2);
  font-size:28px;
  font-weight:900;
  margin:12px 0;
}
.tarif-clean-card ul{
  text-align:left;
  color:var(--muted,#c9d2ff);
  margin:18px auto;
  max-width:270px;
}
.tarif-clean-card li{margin:6px 0;}
.tarifs-info-card{
  text-align:center;
  max-width:950px;
  margin:0 auto;
}
.tarifs-info-card p{
  font-size:18px;
  line-height:1.7;
}
@media(max-width:820px){.tarifs-page-intro{padding-top:80px;}}


/* Page Tarifs - version finale propre */
.tarifs-page-intro{
  padding-top:120px;
}
.tarifs-simple-section{
  max-width:1250px;
}
.tarifs-clean-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;
  gap:26px !important;
  margin-top:32px !important;
  align-items:stretch !important;
}
.tarif-clean-card{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03)) !important;
  border:1px solid rgba(0,217,255,.25) !important;
  border-radius:24px !important;
  overflow:hidden !important;
  text-align:center !important;
  box-shadow:0 0 30px rgba(0,0,0,.22) !important;
  display:flex !important;
  flex-direction:column !important;
}
.tarif-clean-card img{
  width:100% !important;
  height:210px !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}
.tarif-clean-content{
  padding:24px !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
}
.tarif-clean-content h3{
  margin-top:0 !important;
  font-size:24px !important;
}
.tarif-price{
  color:var(--pink,#ff3df2) !important;
  font-size:28px !important;
  font-weight:900 !important;
  margin:12px 0 !important;
}
.tarif-clean-card ul{
  text-align:left !important;
  color:var(--muted,#c9d2ff) !important;
  margin:18px auto 22px !important;
  max-width:285px !important;
  flex:1 !important;
}
.tarif-clean-card li{
  margin:6px 0 !important;
}
.tarif-clean-card .btn{
  margin-top:auto !important;
  align-self:center !important;
}
.tarifs-info-card{
  text-align:center !important;
  max-width:950px !important;
  margin:0 auto !important;
}
.tarifs-info-card p{
  font-size:18px !important;
  line-height:1.7 !important;
}
@media(max-width:820px){
  .tarifs-page-intro{padding-top:80px;}
}


/* Page Photos */
.photos-page-intro{
  padding-top:120px;
}
.photos-page-gallery{
  max-width:1300px;
}
@media(max-width:820px){
  .photos-page-intro{padding-top:80px;}
}


/* Nettoyage visuels Prestations */
.service-card,
.seo-prestation-card-final,
.feature-image-card{
  position:relative;
}
.service-card::before,
.service-card::after,
.seo-prestation-card-final::before,
.seo-prestation-card-final::after,
.feature-image-card::before,
.feature-image-card::after{
  content:none !important;
  display:none !important;
}
.service-card .icon,
.service-card .emoji,
.service-card .badge,
.seo-prestation-card-final .icon,
.seo-prestation-card-final .emoji,
.seo-prestation-card-final .badge{
  display:none !important;
}
.service-card img,
.seo-prestation-card-final img{
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}


/* Visuels prestations version professionnelle */
.service-card img,
.seo-prestation-card-final img{
  width:100% !important;
  height:240px !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  filter:none !important;
}
.service-card,
.seo-prestation-card-final{
  overflow:hidden !important;
}
.service-card::before,
.service-card::after,
.seo-prestation-card-final::before,
.seo-prestation-card-final::after{
  content:none !important;
  display:none !important;
}


/* Pages détail prestations */
.prestation-detail-page{
  padding-top:120px;
}
.prestation-detail-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
}
.prestation-detail-image img{
  width:100%;
  border-radius:24px;
  display:block;
  box-shadow:0 0 35px rgba(0,217,255,.18);
  border:1px solid rgba(0,217,255,.25);
}
.prestation-detail-card li{
  margin:8px 0;
  font-size:18px;
}
.prestation-detail-card p{
  font-size:18px;
  line-height:1.7;
}
@media(max-width:820px){
  .prestation-detail-page{padding-top:80px;}
  .prestation-detail-layout{grid-template-columns:1fr;}
}


/* Page Prestations - style validé */
.prestations-hero-final{
  padding:130px 6% 35px;
  text-align:center;
  background:
    radial-gradient(circle at 20% 15%, rgba(255,0,230,.24), transparent 30%),
    radial-gradient(circle at 80% 20%, rgba(0,160,255,.22), transparent 32%);
}
.prestations-hero-final h1{
  margin:0;
  text-transform:uppercase;
  font-size:clamp(40px,6vw,72px);
  font-weight:900;
  color:#fff;
  letter-spacing:1px;
}
.prestations-hero-final p{
  max-width:760px;
  margin:18px auto 0;
  color:var(--muted,#c9d2ff);
  font-size:20px;
  line-height:1.6;
}
.prestations-showcase-final{
  padding:30px 3% 45px;
}
.prestations-cards-final{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  max-width:1800px;
  margin:0 auto;
}
.presta-neon-card{
  background:linear-gradient(180deg,rgba(10,18,38,.96),rgba(7,8,20,.98));
  border:1px solid rgba(0,217,255,.42);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 0 30px rgba(0,217,255,.12);
  display:flex;
  flex-direction:column;
}
.presta-neon-card img{
  width:100%;
  height:270px;
  object-fit:cover;
  display:block;
}
.presta-card-content{
  padding:28px 24px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.presta-card-content h2{
  margin:0 0 12px;
  text-align:center;
  color:#fff;
  font-size:clamp(21px,1.5vw,30px);
  text-transform:uppercase;
}
.presta-card-content h2:after{
  content:"";
  display:block;
  width:42px;
  height:3px;
  margin:12px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#ff2bea,#00cfff);
}
.presta-card-content p{
  color:#fff;
  text-align:center;
  line-height:1.55;
  margin:0 0 18px;
}
.presta-card-content ul{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  color:#fff;
  flex:1;
}
.presta-card-content li{
  margin:9px 0;
  padding-left:24px;
  position:relative;
  line-height:1.35;
}
.presta-card-content li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:#ff2bea;
  font-weight:900;
}
.presta-neon-btn{
  display:block;
  text-align:center;
  text-decoration:none;
  color:#fff;
  font-weight:900;
  padding:14px 18px;
  border-radius:14px;
  background:linear-gradient(90deg,#ff00c8,#009dff);
  box-shadow:0 0 20px rgba(255,0,200,.25);
  margin-top:auto;
}
.blue-card{
  border-color:rgba(0,157,255,.65);
  box-shadow:0 0 30px rgba(0,157,255,.13);
}
.gold-card{
  border-color:rgba(255,170,0,.65);
  box-shadow:0 0 30px rgba(255,170,0,.12);
}
.gold-card .presta-card-content h2:after{
  background:linear-gradient(90deg,#ff8a00,#ff2bea);
}
.gold-card .presta-card-content li:before{
  color:#ff9900;
}
.prestations-bottom-cta-final{
  max-width:1320px;
  margin:20px auto 40px;
  padding:24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  border:1px solid rgba(255,0,230,.55);
  border-radius:22px;
  box-shadow:0 0 35px rgba(255,0,230,.18), inset 0 0 30px rgba(0,160,255,.08);
  background:rgba(5,8,20,.86);
}
.prestations-bottom-cta-final div{
  text-align:center;
  color:#fff;
}
.prestations-bottom-cta-final strong{
  display:block;
  font-size:18px;
  text-transform:uppercase;
}
.prestations-bottom-cta-final span{
  color:var(--muted,#c9d2ff);
}
@media(max-width:1300px){
  .prestations-cards-final{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:820px){
  .prestations-hero-final{padding-top:90px;}
  .prestations-cards-final{grid-template-columns:1fr;}
  .presta-neon-card img{height:240px;}
  .prestations-bottom-cta-final{grid-template-columns:1fr;}
}

/* Correctif final Prestations : cadrage + liens */
.presta-neon-card img{
  height:260px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}
.prestations-cards-final{
  align-items:stretch !important;
}
.presta-card-content{
  min-height:430px !important;
}
.presta-neon-btn{
  line-height:1.2 !important;
  padding-left:12px !important;
  padding-right:12px !important;
}


/* Correctif final pages Départ retraite / Fête village */
.seo-page .seo-content{
  max-width:1050px;
  margin:0 auto;
  padding-top:120px;
}
.seo-page .seo-content h1{
  text-align:center;
  color:var(--cyan,#00d9ff);
  text-transform:uppercase;
  font-size:clamp(32px,4vw,54px);
  margin-bottom:30px;
}
.seo-page .seo-content h2{
  color:var(--cyan,#00d9ff);
  margin-top:34px;
}
.seo-page .seo-content p,
.seo-page .seo-content li{
  color:var(--muted,#c9d2ff);
  font-size:18px;
  line-height:1.7;
}
.seo-page .seo-content ul{
  max-width:820px;
  margin:18px auto;
}
.presta-neon-card img{
  height:260px !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:820px){
  .seo-page .seo-content{padding-top:80px;}
}

/* ===== PRESTATIONS DEFINITIF - rendu validé ===== */
.prestations-hero-def{
  padding:130px 6% 45px !important;
  text-align:center !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(213,169,64,.18), transparent 28%),
    radial-gradient(circle at 82% 12%, rgba(0,217,255,.14), transparent 30%),
    linear-gradient(180deg, rgba(7,7,18,.95), rgba(7,7,18,1)) !important;
}
.presta-kicker-def{
  color:#d8b05a !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  font-weight:900 !important;
  margin:0 0 16px !important;
}
.prestations-hero-def h1{
  color:#fff !important;
  max-width:950px !important;
  margin:0 auto !important;
  font-size:clamp(38px,5vw,66px) !important;
  line-height:1.1 !important;
  font-weight:900 !important;
}
.prestations-hero-def p{
  max-width:780px !important;
  margin:22px auto 0 !important;
  color:var(--muted,#c9d2ff) !important;
  font-size:20px !important;
  line-height:1.6 !important;
}
.prestations-grid-section-def{
  padding:35px 3% 60px !important;
}
.prestations-grid-def{
  max-width:1600px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  gap:24px !important;
  align-items:stretch !important;
}
.prestation-card-def{
  background:linear-gradient(180deg,rgba(22,24,34,.98),rgba(9,10,18,.98)) !important;
  border:1px solid rgba(216,176,90,.42) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-shadow:0 0 32px rgba(0,0,0,.35) !important;
}
.prestation-card-def::before,
.prestation-card-def::after{
  content:none !important;
  display:none !important;
}
.prestation-card-def img{
  width:100% !important;
  height:350px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  filter:none !important;
}
.prestation-card-body-def{
  padding:28px 22px !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
}
.prestation-card-body-def h2{
  color:#fff !important;
  margin:0 0 14px !important;
  font-size:clamp(22px,1.6vw,30px) !important;
  line-height:1.15 !important;
}
.prestation-card-body-def p{
  color:var(--muted,#c9d2ff) !important;
  margin:0 0 24px !important;
  line-height:1.6 !important;
  flex:1 !important;
}
.prestation-card-body-def a{
  text-decoration:none !important;
  color:#fff !important;
  font-weight:900 !important;
  display:block !important;
  padding:14px 16px !important;
  border-radius:10px !important;
  background:linear-gradient(90deg,#b8892d,#e2b74c) !important;
  box-shadow:0 0 18px rgba(216,176,90,.25) !important;
  margin-top:auto !important;
}
@media(max-width:1350px){
  .prestations-grid-def{grid-template-columns:repeat(3,1fr) !important;}
}
@media(max-width:820px){
  .prestations-hero-def{padding-top:90px !important;}
  .prestations-grid-def{grid-template-columns:1fr !important;}
  .prestation-card-def img{height:300px !important;}
}


/* ===== Uniformisation pages SEO ===== */
.seo-unified-page{
  padding-top:110px;
}
.seo-unified-page h1{
  text-align:center;
  font-size:clamp(38px,5vw,64px);
  text-transform:uppercase;
  color:#ffffff;
  margin-bottom:20px;
}
.seo-unified-page h2{
  color:#00d9ff;
  margin-top:40px;
  margin-bottom:15px;
}
.seo-unified-page p,
.seo-unified-page li{
  line-height:1.8;
  font-size:18px;
}
.seo-unified-page .section,
.seo-unified-page .zone-card{
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}
.seo-unified-page .btn.primary,
.seo-unified-page .tarif-reserver-main-btn{
  background:linear-gradient(90deg,#b8892d,#e2b74c);
  border:none;
  border-radius:10px;
  font-weight:700;
}

.faq-section{max-width:1100px;margin:40px auto;}
.faq-section h2{text-align:center;margin-bottom:30px;}
.faq-item{margin-bottom:25px;padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:12px;}
.faq-item h3{margin-bottom:10px;color:#00d9ff;}

/* Correction accueil : Service Traiteur Africain */
.home-traiteur-section{
  width:100%;
  padding:70px 6%;
  display:flex;
  justify-content:center;
  background:
    radial-gradient(circle at 15% 25%, rgba(0,217,255,.18), transparent 30%),
    radial-gradient(circle at 85% 70%, rgba(255,61,242,.14), transparent 32%),
    linear-gradient(135deg, rgba(8,18,34,.96), rgba(18,15,40,.96));
}
.home-traiteur-card{
  width:100%;
  max-width:1150px;
  border:1px solid rgba(0,217,255,.35);
  border-radius:26px;
  padding:42px;
  background:rgba(5,8,22,.72);
  box-shadow:0 0 35px rgba(0,217,255,.12);
}
.home-traiteur-content{
  max-width:760px;
}
.home-traiteur-kicker{
  display:inline-block;
  color:#00d9ff;
  font-weight:900;
  text-transform:uppercase;
  font-size:22px;
  letter-spacing:1px;
  margin-bottom:12px;
}
.home-traiteur-content h2{
  color:#00d9ff;
  font-size:clamp(36px,5vw,64px);
  line-height:1.05;
  margin:0 0 24px;
  text-transform:uppercase;
}
.home-traiteur-content p{
  color:#ffffff;
  font-size:20px;
  line-height:1.65;
  margin:0 0 18px;
  max-width:720px;
}
.home-traiteur-btn{
  display:inline-block;
  margin-top:20px;
  padding:16px 28px;
  border-radius:999px;
  background:linear-gradient(90deg,#00d9ff,#ff3df2);
  color:#fff !important;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 0 22px rgba(0,217,255,.24);
}
.home-traiteur-btn:hover{
  transform:translateY(-2px);
}
@media(max-width:820px){
  .home-traiteur-section{padding:45px 5%;}
  .home-traiteur-card{padding:28px;}
  .home-traiteur-content p{font-size:17px;}
}

/* ===== Accueil : bloc Traiteur Africain pleine largeur ===== */
.home-traiteur-simple{
  width:100%;
  padding:70px 6%;
  background:
    radial-gradient(circle at 15% 25%, rgba(0,217,255,.14), transparent 30%),
    radial-gradient(circle at 85% 70%, rgba(255,61,242,.12), transparent 32%),
    linear-gradient(135deg, rgba(8,18,34,.96), rgba(18,15,40,.96));
}
.home-traiteur-simple-inner{
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}
.home-traiteur-simple-kicker{
  color:#00d9ff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
  margin:0 0 10px;
  font-size:20px;
}
.home-traiteur-simple h2{
  color:#00d9ff;
  font-size:clamp(34px,5vw,60px);
  line-height:1.05;
  margin:0 0 24px;
  text-transform:uppercase;
}
.home-traiteur-simple p{
  max-width:1050px;
  margin:0 auto 18px;
  color:#ffffff;
  font-size:20px;
  line-height:1.75;
}
.btn-traiteur-simple{
  display:inline-block;
  white-space:nowrap;
  margin-top:22px;
  padding:16px 30px;
  border-radius:999px;
  background:linear-gradient(90deg,#00d9ff,#ff3df2);
  color:#fff !important;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 0 22px rgba(0,217,255,.24);
}
.btn-traiteur-simple:hover{
  transform:translateY(-2px);
}
@media(max-width:820px){
  .home-traiteur-simple{padding:45px 5%;}
  .home-traiteur-simple p{font-size:17px;}
  .btn-traiteur-simple{white-space:normal;}
}

/* Correction ajout Karaoké prestations */
@media(min-width:1351px){
  .prestations-grid-def{
    grid-template-columns:repeat(3,1fr) !important;
    max-width:1250px !important;
  }
}

@media(min-width:1200px){
  .prestations-grid-def{
    grid-template-columns:repeat(3,1fr)!important;
    max-width:1400px!important;
  }
}

/* Intégration visuel validé - Prestations */
.prestations-grid-def{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:24px !important;
  max-width:1400px !important;
  margin:0 auto !important;
}
.prestation-card-def img{
  width:100% !important;
  height:300px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  filter:none !important;
}
@media(max-width:1100px){
  .prestations-grid-def{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:700px){
  .prestations-grid-def{grid-template-columns:1fr !important;}
}

/* Correction finale images accueil/prestations : photo uniquement */
.prestation-card-def img,
.presta-neon-card img,
.service-card img,
.seo-prestation-card-final img{
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
}

/* ===== Correction finale mise en page cartes accueil/prestations ===== */

/* Empêche les images de faire apparaître du texte ou de créer des hauteurs incohérentes */
.prestations-grid-def,
.services-grid,
.seo-prestations-grid-final,
.home-services-grid{
  align-items:stretch !important;
}

/* Cartes de prestations */
.prestation-card-def,
.presta-neon-card,
.service-card,
.seo-prestation-card-final{
  overflow:hidden !important;
  border-radius:18px !important;
  display:flex !important;
  flex-direction:column !important;
  height:auto !important;
  min-height:0 !important;
}

/* Images fixes et propres */
.prestation-card-def img,
.presta-neon-card img,
.service-card img,
.seo-prestation-card-final img{
  width:100% !important;
  height:260px !important;
  min-height:260px !important;
  max-height:260px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  border-radius:0 !important;
  margin:0 !important;
  padding:0 !important;
  filter:none !important;
}

/* Corps de cartes lisible */
.prestation-card-body-def,
.presta-card-content,
.service-card-content,
.seo-prestation-content-final{
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  padding:24px !important;
  min-height:220px !important;
  text-align:center !important;
}

/* Empêche le texte d'être coupé en bas */
.prestation-card-body-def p,
.presta-card-content p,
.service-card-content p,
.seo-prestation-content-final p{
  overflow:visible !important;
  max-height:none !important;
}

/* Boutons visibles */
.prestation-card-body-def a,
.presta-neon-btn,
.service-card a,
.seo-prestation-btn-final{
  margin-top:auto !important;
  white-space:normal !important;
}

/* Grille propre sur accueil et prestations */
.prestations-grid-def{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:24px !important;
  max-width:1400px !important;
  margin:0 auto !important;
}

@media(max-width:1100px){
  .prestations-grid-def{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width:720px){
  .prestations-grid-def{
    grid-template-columns:1fr !important;
  }
  .prestation-card-def img,
  .presta-neon-card img,
  .service-card img,
  .seo-prestation-card-final img{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
}


/* Suppression des bandeaux blancs/titres sur les cartes accueil */
.home-services-grid .service-card h2,
.home-services-grid .service-card h3,
.services-grid .service-card h2,
.services-grid .service-card h3{
    display:none !important;
}

.home-services-grid .service-card,
.services-grid .service-card{
    background:transparent !important;
}

.home-services-grid .service-card-content,
.services-grid .service-card-content{
    display:none !important;
}

/* On conserve uniquement les photos sur l'accueil */
.home-services-grid .service-card img,
.services-grid .service-card img{
    border-radius:18px !important;
}


/* Suppression réelle des zones blanches sous les photos sur l'accueil */
.home-services-grid .service-card-content,
.services-grid .service-card-content,
.home-services-grid .card-content,
.services-grid .card-content{
    display:none !important;
    height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
}

.home-services-grid .service-card,
.services-grid .service-card{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    min-height:auto !important;
}

.home-services-grid .service-card img,
.services-grid .service-card img{
    display:block !important;
    width:100% !important;
    height:280px !important;
    object-fit:cover !important;
}

/* Correction définitive : les photos accueil/prestations ne contiennent plus les bandeaux blancs */
.service-card img,
.prestation-card-def img,
.presta-neon-card img,
.seo-prestation-card-final img{
  object-fit:cover !important;
  object-position:center top !important;
  background:transparent !important;
}

/* Correction sûre affichage images prestations */
.prestation-card-def img,
.service-card img,
.presta-neon-card img,
.seo-prestation-card-final img{
  display:block !important;
  width:100% !important;
  height:260px !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.prestation-card-def,
.service-card,
.presta-neon-card,
.seo-prestation-card-final{
  overflow:hidden !important;
}

/* Correction définitive des deux tuiles Entreprise / Fête de village */
img[src$="prestation-entreprise.jpg"],
img[src$="prestation-fete-village.jpg"]{
  width:100% !important;
  height:260px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

/* ===== Correction page Prestations : cartes complètes avec titre, texte et bouton ===== */
.prestations-hero-def{
  padding:130px 6% 45px !important;
  text-align:center !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(213,169,64,.18), transparent 28%),
    radial-gradient(circle at 82% 12%, rgba(0,217,255,.14), transparent 30%),
    linear-gradient(180deg, rgba(7,7,18,.95), rgba(7,7,18,1)) !important;
}
.presta-kicker-def{
  color:#d8b05a !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  font-weight:900 !important;
  margin:0 0 16px !important;
}
.prestations-hero-def h1{
  color:#fff !important;
  max-width:950px !important;
  margin:0 auto !important;
  font-size:clamp(38px,5vw,64px) !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
.prestations-hero-def p{
  max-width:780px !important;
  margin:22px auto 0 !important;
  color:var(--muted,#c9d2ff) !important;
  font-size:20px !important;
  line-height:1.6 !important;
}
.prestations-grid-section-def{
  padding:35px 3% 60px !important;
}
.prestations-grid-def{
  max-width:1400px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important;
  align-items:stretch !important;
}
.prestation-card-def{
  background:linear-gradient(180deg,rgba(22,24,34,.98),rgba(9,10,18,.98)) !important;
  border:1px solid rgba(216,176,90,.42) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-shadow:0 0 32px rgba(0,0,0,.35) !important;
}
.prestation-card-def img{
  width:100% !important;
  height:300px !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  filter:none !important;
  border-radius:0 !important;
  margin:0 !important;
}
.prestation-card-body-def{
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
  padding:26px 24px !important;
  text-align:center !important;
  background:linear-gradient(180deg,rgba(22,24,34,.98),rgba(9,10,18,.98)) !important;
  min-height:230px !important;
  height:auto !important;
  overflow:visible !important;
}
.prestation-card-body-def h2{
  display:block !important;
  color:#fff !important;
  font-size:clamp(22px,1.6vw,30px) !important;
  margin:0 0 14px !important;
  line-height:1.15 !important;
}
.prestation-card-body-def p{
  display:block !important;
  color:var(--muted,#c9d2ff) !important;
  line-height:1.6 !important;
  margin:0 0 24px !important;
  flex:1 !important;
  overflow:visible !important;
  max-height:none !important;
}
.prestation-card-body-def a{
  display:block !important;
  text-decoration:none !important;
  color:#fff !important;
  font-weight:900 !important;
  padding:14px 16px !important;
  border-radius:10px !important;
  background:linear-gradient(90deg,#b8892d,#e2b74c) !important;
  box-shadow:0 0 18px rgba(216,176,90,.25) !important;
  margin-top:auto !important;
}
@media(max-width:1100px){
  .prestations-grid-def{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:720px){
  .prestations-hero-def{padding-top:90px !important;}
  .prestations-grid-def{grid-template-columns:1fr !important;}
  .prestation-card-def img{height:240px !important;}
}

/* Réactivation du contenu des cartes accueil/prestations */
.service-card-content,
.card-content,
.home-services-grid .service-card-content,
.services-grid .service-card-content{
  display:block !important;
  height:auto !important;
  padding:20px !important;
  overflow:visible !important;
  background:#121522 !important;
}
.service-card h2,.service-card h3,
.card-content h2,.card-content h3{
  display:block !important;
  color:#fff !important;
}
.service-card p,.card-content p{
  display:block !important;
  color:#c9d2ff !important;
}


/* Accueil : couverture + message de bienvenue */
.home-cover-banner{
  width:100%;
  margin:0;
  padding:72px 0 0;
  background:#05050c;
  border-bottom:1px solid rgba(0,217,255,.25);
}
.home-cover-banner img{
  display:block;
  width:100%;
  height:auto;
}
.welcome-dj-section{
  width:100%;
  padding:54px 6%;
  background:
    radial-gradient(circle at 18% 30%, rgba(255,61,242,.18), transparent 30%),
    radial-gradient(circle at 80% 20%, rgba(0,217,255,.15), transparent 34%),
    linear-gradient(135deg,#080916 0%,#0b1024 55%,#060711 100%);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.welcome-dj-inner{
  max-width:1300px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,420px) 1fr;
  gap:42px;
  align-items:center;
}
.welcome-dj-photo{
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(0,217,255,.35);
  background:#090b18;
  box-shadow:0 0 45px rgba(0,0,0,.45);
}
.welcome-dj-photo img{
  display:block;
  width:100%;
  height:430px;
  object-fit:cover;
  object-position:center;
}
.welcome-dj-text{
  color:#fff;
  font-size:17px;
  line-height:1.55;
}
.welcome-dj-text h1{
  margin:0 0 14px;
  color:#fff;
  text-align:left;
  font-size:clamp(30px,3.4vw,48px);
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.welcome-dj-text h2{
  margin:0 0 18px;
  padding-left:18px;
  border-left:5px solid var(--pink);
  color:#fff;
  text-align:left;
  font-size:clamp(22px,2.3vw,32px);
  line-height:1.15;
  text-transform:uppercase;
}
.welcome-dj-text h2 span{color:var(--pink)}
.welcome-dj-text p{margin:0 0 13px;color:#f4f6ff}
.welcome-dj-signature{margin-top:18px!important;font-weight:800}
.welcome-dj-signature strong{color:var(--pink)}

.welcome-seo-cards{
  max-width:1300px;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.welcome-seo-cards article{
  padding:24px;
  border-radius:22px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(0,217,255,.22);
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
.welcome-seo-cards h2{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(22px,2vw,30px);
  text-transform:uppercase;
}
.welcome-seo-cards p{
  margin:0;
  color:#f4f6ff;
  font-size:17px;
  line-height:1.55;
}
@media(max-width:900px){
  .home-cover-banner{padding-top:70px}
  .welcome-dj-inner{grid-template-columns:1fr;gap:28px}
  .welcome-dj-photo{max-width:520px;margin:0 auto}
  .welcome-dj-photo img{height:auto;max-height:none}
  .welcome-dj-text{font-size:16px}
  .welcome-seo-cards{grid-template-columns:1fr;gap:18px}
}

/* Correctif mobile accueil : couverture + photo de présentation */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:600px){
  .home-cover-banner{
    padding-top:66px !important;
    background:#05050c !important;
  }
  .home-cover-banner img{
    width:100% !important;
    height:auto !important;
    max-height:230px !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#05050c !important;
  }
  .welcome-dj-section{
    padding:34px 5% !important;
  }
  .welcome-dj-inner{
    display:flex !important;
    flex-direction:column !important;
    gap:22px !important;
    align-items:center !important;
  }
  .welcome-dj-photo{
    width:100% !important;
    max-width:310px !important;
    margin:0 auto !important;
    border-radius:20px !important;
  }
  .welcome-dj-photo img{
    width:100% !important;
    height:285px !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
  .welcome-dj-text{
    width:100% !important;
    text-align:left !important;
    font-size:15.5px !important;
    line-height:1.55 !important;
  }
  .welcome-dj-text h1{
    font-size:28px !important;
    line-height:1.08 !important;
    text-align:left !important;
  }
  .welcome-dj-text h2{
    font-size:21px !important;
    line-height:1.15 !important;
  }
}

@media(min-width:601px) and (max-width:900px){
  .home-cover-banner img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .welcome-dj-photo{
    max-width:420px !important;
  }
  .welcome-dj-photo img{
    height:360px !important;
    object-fit:cover !important;
    object-position:center top !important;
  }
}


/* === Correctif final cartes "Pourquoi choisir DJ Gerome" ===
   Suppression de la grande zone vide en bas et alignement propre des cartes. */
.features-image-grid{
  align-items:start !important;
  grid-auto-rows:auto !important;
}
.feature-image-card{
  height:auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.feature-image-card img{
  width:100% !important;
  height:220px !important;
  min-height:220px !important;
  max-height:220px !important;
  object-fit:cover !important;
  display:block !important;
}
.feature-image-content{
  flex:0 0 auto !important;
  padding:28px 30px 34px !important;
  display:block !important;
}
.feature-image-content h3{
  margin:0 0 18px !important;
  min-height:0 !important;
  line-height:1.12 !important;
}
.feature-image-content h3:after{
  margin-top:18px !important;
}
.feature-image-content p{
  margin:0 !important;
  padding:0 !important;
  line-height:1.55 !important;
}
@media(max-width:900px){
  .features-image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:start !important;
  }
}
@media(max-width:620px){
  .features-image-grid{
    grid-template-columns:1fr !important;
  }
  .feature-image-card img{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
  }
}

/* === Correction définitive titres cartes - DJ Gerome ===
   Ne touche pas aux images, ni aux dimensions des cartes.
   Corrige uniquement les titres trop longs. */
.feature-image-content h3{
  font-size:24px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

@media(max-width:520px){
  .feature-image-content h3{
    font-size:22px !important;
  }
}

/* === FIX HAUTEUR CARTES - NE PAS MODIFIER LES IMAGES ===
   Le problème venait de align-items:start + height:auto :
   les cartes d'une même ligne n'avaient plus la même hauteur. */
.features-image-grid{
  align-items:stretch !important;
  grid-auto-rows:1fr !important;
}

.feature-image-card{
  height:100% !important;
  min-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

.feature-image-content{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
}

.feature-image-content h3{
  font-size:clamp(22px, 1.6vw, 28px) !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

.feature-image-content p{
  margin-top:0 !important;
}

/* === Correction propre titre page Pourquoi moi === */
body .page-hero h1,
body .hero h1,
body h1{
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (min-width: 769px){
  body .page-hero h1,
  body .hero h1{
    font-size: clamp(34px, 3.2vw, 48px) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 768px){
  body .page-hero h1,
  body .hero h1{
    font-size: clamp(30px, 8vw, 38px) !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }
}


/* === Ajustement H1 page Pourquoi Moi === */
@media (min-width: 1024px){
  .hero h1,
  .page-hero h1,
  .hero-title,
  .page-title{
    font-size: clamp(56px, 5vw, 88px) !important;
    line-height: 0.95 !important;
  }
}
