: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;

  }

}



.section-subtitle{text-align:center;color:var(--muted);max-width:850px;margin:-10px auto 28px}

.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1080px;margin:0 auto;align-items:start}

.video-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:18px;padding:8px;box-shadow:0 0 24px rgba(0,0,0,.22);overflow:hidden}

.video-card video{width:100%;aspect-ratio:16/9;display:block;border-radius:13px;background:#000;object-fit:cover}

.video-open{width:100%;margin-top:8px;border:1px solid rgba(0,217,255,.35);border-radius:999px;background:rgba(0,217,255,.08);color:#fff;font-weight:700;padding:8px 12px;cursor:pointer;transition:.2s ease}

.video-open:hover{background:rgba(0,217,255,.18);transform:translateY(-1px)}

.video-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.86);padding:22px}

.video-modal.active{display:flex}

.video-modal-box{position:relative;width:min(1100px,96vw);background:#05050c;border:1px solid rgba(0,217,255,.35);border-radius:22px;padding:18px;box-shadow:0 0 50px rgba(0,217,255,.16)}

.video-modal-player{width:100%;max-height:78vh;border-radius:16px;background:#000;display:block}

.video-modal-close{position:absolute;right:14px;top:10px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.72);color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:2}

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

@media(max-width:620px){.video-grid{grid-template-columns:1fr;gap:16px}.video-card{padding:8px}.video-modal{padding:12px}.video-modal-box{padding:10px;border-radius:16px}}



.tiktok-live-banner{margin-top:70px;padding:14px 6%;background:linear-gradient(90deg,#ff2454,#15152d);display:flex;justify-content:center;gap:22px;align-items:center;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.2)}.tiktok-live-banner[hidden]{display:none}.tiktok-live-banner a{background:white;color:#111;text-decoration:none;padding:9px 15px;border-radius:999px;font-weight:900}





/* === Module Avis clients v4.1 === */

.reviews-section{overflow:hidden;background:linear-gradient(180deg,rgba(9,11,27,.98),rgba(16,10,26,.98));border-top:1px solid rgba(0,217,255,.18);border-bottom:1px solid rgba(237,43,255,.16)}

.reviews-heading{text-align:center;max-width:900px;margin:0 auto 26px}

.reviews-heading h2{margin:4px 0 10px}.reviews-heading p{color:#dce3ff;line-height:1.55}

.reviews-kicker{margin:0!important;color:#00d9ff!important;text-transform:uppercase;letter-spacing:.22em;font-weight:900;font-size:13px}

.reviews-marquee{width:100%;overflow:hidden;padding:8px 0 24px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}

.reviews-track{display:flex;gap:18px;width:max-content;animation:reviews-scroll 42s linear infinite;will-change:transform}

.reviews-marquee:hover .reviews-track{animation-play-state:paused}

.review-card{width:min(390px,82vw);flex:0 0 auto;padding:20px 22px;border-radius:18px;border:1px solid rgba(0,217,255,.28);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 14px 32px rgba(0,0,0,.24)}

.review-card blockquote{margin:0 0 13px;color:#fff;line-height:1.55;font-size:16px;font-style:normal}.review-card blockquote:before{content:'“';font-size:30px;color:#00d9ff;font-weight:900;margin-right:5px}.review-card footer{padding:0;background:none;text-align:left;color:#bcd8ff;font-size:14px}.review-card footer strong{color:#fff}.review-placeholder{width:420px;text-align:center;color:#cdd5ee}

@keyframes reviews-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}

.review-submit-panel{max-width:1050px;margin:12px auto 0;padding:24px;border:1px solid rgba(0,217,255,.25);border-radius:20px;background:rgba(255,255,255,.045);display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px;align-items:start}

.review-submit-panel h3{margin:0 0 10px;font-size:28px}.review-submit-panel p{color:#dce3ff;line-height:1.5}

.review-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-form-grid label,.review-message-label{display:flex;flex-direction:column;gap:7px;color:#fff;font-weight:700;font-size:14px}.review-form-grid label:last-child{grid-column:1/-1}

.review-submit-panel input,.review-submit-panel textarea{width:100%;background:#090e1d;color:#fff;border:1px solid #334766;border-radius:12px;padding:12px 13px;font:inherit}.review-submit-panel textarea{min-height:125px;resize:vertical}.review-message-label{margin-top:12px}.review-consent{display:flex;gap:10px;align-items:flex-start;margin:13px 0;color:#dce3ff;font-size:13px;line-height:1.4}.review-consent input{width:auto;margin-top:2px}.review-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.review-form-status{margin:12px 0 0!important;font-weight:800}.review-form-status.success{color:#7effb7}.review-form-status.error{color:#ff9caf}

@media(max-width:760px){.review-submit-panel{grid-template-columns:1fr;padding:19px}.review-form-grid{grid-template-columns:1fr}.review-form-grid label:last-child{grid-column:auto}.reviews-track{animation-duration:55s}.review-card{width:78vw}}

@media(prefers-reduced-motion:reduce){.reviews-track{animation:none!important;flex-wrap:wrap;width:auto;justify-content:center}.reviews-marquee{overflow:visible;mask-image:none;-webkit-mask-image:none}}



/* === Exclusivité demandes de morceaux === */

.song-request-promo{padding-top:34px;padding-bottom:34px}.song-request-promo-card{max-width:980px;margin:0 auto;padding:28px;border-radius:22px;border:1px solid rgba(0,217,255,.3);background:linear-gradient(145deg,rgba(0,217,255,.08),rgba(237,43,255,.06));box-shadow:0 18px 45px rgba(0,0,0,.22);text-align:center}.song-request-promo-card h2{margin:7px 0 14px}.song-request-promo-card p{max-width:820px;margin:10px auto;line-height:1.6;color:#dce3ff}.song-request-kicker{color:#00d9ff!important;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:13px}.song-request-private{font-weight:800;color:#fff!important}@media(max-width:650px){.song-request-promo-card{padding:20px 16px}}





/* Harmonisation page Traiteur Africain - header complet + mise en page */

.traiteur-page{

  padding-top:125px;

  padding-bottom:34px;

}

.traiteur-hero-card{

  max-width:1050px;

  margin:0 auto;

  text-align:center;

  padding:48px 44px;

  border-radius:28px;

  background:linear-gradient(135deg,rgba(0,217,255,.10),rgba(255,61,242,.10));

  border:1px solid rgba(0,217,255,.30);

  box-shadow:0 0 42px rgba(0,217,255,.10);

}

.traiteur-page .traiteur-eyebrow{

  margin:0 0 10px;

  color:var(--pink);

  font-size:14px;

  font-weight:900;

  letter-spacing:4px;

}

.traiteur-page h1{

  margin:0 0 14px;

  font-size:clamp(38px,5vw,68px);

  line-height:1.05;

  color:#fff;

  text-transform:uppercase;

}

.traiteur-hero-lead{

  margin:0 auto 22px;

  max-width:820px;

  color:var(--cyan);

  font-size:clamp(20px,2.3vw,28px);

  font-weight:800;

}

.traiteur-hero-card > p:not(.traiteur-eyebrow):not(.traiteur-hero-lead){

  max-width:850px;

  margin:10px auto;

  color:var(--muted);

  font-size:18px;

  line-height:1.65;

}

.traiteur-text-card{max-width:1000px;margin:0 auto;}

.traiteur-options{max-width:1000px;margin:0 auto 40px;}

@media(max-width:820px){

  .traiteur-page{padding-top:95px;padding-bottom:22px;}

  .traiteur-hero-card{padding:30px 20px;border-radius:22px;}

  .traiteur-page h1{font-size:clamp(34px,11vw,50px);}

  .traiteur-hero-card > p:not(.traiteur-eyebrow):not(.traiteur-hero-lead){font-size:16px;}

}





/* === Harmonisation pages secondaires v2 === */

.subpage-hero{padding-top:125px;padding-bottom:30px;max-width:1250px}

.subpage-hero-card{max-width:1080px;margin:0 auto;padding:44px 40px;text-align:center;border-radius:28px;background:linear-gradient(135deg,rgba(0,217,255,.10),rgba(255,61,242,.09));border:1px solid rgba(0,217,255,.30);box-shadow:0 18px 50px rgba(0,0,0,.25)}

.subpage-eyebrow{margin:0 0 10px;color:var(--pink);font-size:13px;font-weight:900;letter-spacing:3px;text-transform:uppercase}

.subpage-hero h1{margin:0 auto 16px;font-size:clamp(38px,5vw,66px);line-height:1.05;text-transform:uppercase;color:#fff;max-width:1000px}

.subpage-lead{max-width:880px;margin:0 auto;color:var(--muted);font-size:clamp(18px,2vw,24px);line-height:1.55}

.subpage-content-section{padding-top:28px;padding-bottom:34px}

.subpage-content-section .zone-card{max-width:1000px;margin:0 auto;text-align:left;padding:30px}

.subpage-content-section .zone-card h2{text-align:left;font-size:clamp(26px,3vw,38px);margin:0 0 18px;text-transform:none}

.subpage-content-section .zone-card p,.subpage-content-section .zone-card li{font-size:17px;line-height:1.65}

.pourquoi-page-text{padding-top:28px;padding-bottom:22px}

.pourquoi-page-text .pourquoi-text-card{max-width:1000px;margin:0 auto;text-align:left}

.pourquoi-page-text .pourquoi-text-card h2{text-align:left;text-transform:none;font-size:clamp(26px,3vw,38px)}

.seo-prestations-final{padding-top:28px}

.seo-prestations-final>h2{font-size:clamp(30px,4vw,48px);margin-bottom:12px}

.photos-page-gallery{padding-top:28px}

.site-header .nav a[aria-current="page"]{color:var(--cyan)!important}

@media(max-width:1100px){.site-header{padding-left:4%;padding-right:4%}.nav{gap:12px}.nav a{font-size:13px}}

@media(max-width:820px){.subpage-hero{padding-top:92px;padding-bottom:20px}.subpage-hero-card{padding:28px 18px;border-radius:22px}.subpage-hero h1{font-size:clamp(32px,10vw,48px)}.subpage-lead{font-size:17px}.subpage-content-section{padding-top:18px;padding-bottom:22px}.subpage-content-section .zone-card{padding:22px}.pourquoi-page-text{padding-top:18px;padding-bottom:18px}}



/* Maillage interne visible pour faciliter la navigation et l'indexation */
.seo-service-links{background:#090b16;border-top:1px solid rgba(0,217,255,.18);padding:18px 4%;}
.seo-service-links-inner{max-width:1400px;margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:center;color:#d9e1ff;font-size:14px;}
.seo-service-links-inner strong{color:#fff;}
.seo-service-links-inner a{color:#65dcff;text-decoration:none;}
.seo-service-links-inner a:hover,.seo-service-links-inner a:focus{text-decoration:underline;color:#ff67ef;}
