/* ==========================================================
   Dépanne-moi11 — V5 vérifiée
   Dernière couche : lisibilité, centrage et suppression des
   zones claires restantes. Chargée APRES tous les autres CSS.
   ========================================================== */

:root{
  --v5-bg:#010914;
  --v5-bg2:#031329;
  --v5-panel:#051a38;
  --v5-panel2:#0b1230;
  --v5-text:#eaf4ff;
  --v5-soft:#cfe0f2;
  --v5-cyan:#4cecff;
}

/* L'indication de glissement ne doit exister nulle part. */
.dm11-swipe-hint,.services-note,.swipe-hint,[data-swipe-hint]{display:none!important}

/* Lisibilité générale — aucun petit texte gris-noir sur fond sombre. */
main p,main li,main small,
.section p,.section li,.section small,
.svc-section p,.svc-section li,.svc-section small,
.tp-section p,.tp-section li,.tp-section small,
.packsection p,.packsection li,.packsection small,
.booking-main p,.booking-main li,.booking-main small{
  color:var(--v5-text)!important;
}
main h1,main h2,main h3,main h4,
.section h1,.section h2,.section h3,
.svc-section h1,.svc-section h2,.svc-section h3,
.tp-section h1,.tp-section h2,.tp-section h3,
.packsection h1,.packsection h2,.packsection h3{
  color:#f8fcff!important;
}

/* Accueil : tous les gros en-têtes de section réellement centrés. */
body.home-page main .section>.container.title,
body.dm11-home main .section>.container.title,
body.home-page .home-detailed-services>.container.title,
body.dm11-home .home-detailed-services>.container.title{
  width:min(1180px,calc(100% - 34px))!important;
  margin:0 auto 36px!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:10px!important;
}
body.home-page main .section>.container.title>*,
body.dm11-home main .section>.container.title>*,
body.home-page .home-detailed-services>.container.title>*,
body.dm11-home .home-detailed-services>.container.title>*{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body.home-page main .section>.container.title h2,
body.dm11-home main .section>.container.title h2,
body.home-page .home-detailed-services>.container.title h2,
body.dm11-home .home-detailed-services>.container.title h2{
  width:auto!important;
  max-width:1080px!important;
  margin-top:2px!important;
  margin-bottom:6px!important;
  font-size:clamp(38px,4.9vw,72px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
  text-wrap:balance!important;
}
body.home-page main .section>.container.title p,
body.dm11-home main .section>.container.title p,
body.home-page .home-detailed-services>.container.title p,
body.dm11-home .home-detailed-services>.container.title p{
  max-width:920px!important;
  margin:0 auto!important;
  color:#e6f1ff!important;
  font-size:clamp(16px,1.25vw,20px)!important;
  line-height:1.65!important;
  text-align:center!important;
  text-wrap:pretty!important;
}
body.home-page main .section>.container.title .k,
body.dm11-home main .section>.container.title .k{
  align-self:center!important;
  margin-inline:auto!important;
}

/* Tous les titres standards publics : disposition propre et cohérente. */
.title,.svc-title,.tp-title,.pack-head{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.title h2,.svc-title h2,.tp-title h2,.pack-head h2{
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  line-height:1.08!important;
  text-wrap:balance!important;
}
.title p,.svc-title p,.tp-title p,.pack-head p{
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  color:#e7f2ff!important;
  text-align:center!important;
  line-height:1.65!important;
}

/* TARIFS — override direct des anciens styles clairs, avec forte spécificité. */
body.tarifs-pro-page,
body.tarifs-pro-page main{
  color:#f6fbff!important;
  background:
    radial-gradient(circle at 82% 9%,rgba(103,62,255,.08),transparent 22%),
    linear-gradient(180deg,#010914 0%,#03152d 50%,#010914 100%)!important;
}
body.tarifs-pro-page .tp-overview{background:transparent!important}
body.tarifs-pro-page .tp-section,
body.tarifs-pro-page .tp-section.light{
  color:#f6fbff!important;
  background:
    radial-gradient(circle at 86% 12%,rgba(99,56,225,.06),transparent 22%),
    linear-gradient(145deg,#03162f,#010b1c 68%,#0c0828)!important;
  border-top:1px solid rgba(76,236,255,.13)!important;
}
body.tarifs-pro-page .tp-title,
body.tarifs-pro-page .tp-title>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  width:100%!important;
}
body.tarifs-pro-page .tp-title h2{
  color:#f8fcff!important;
  max-width:880px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
body.tarifs-pro-page .tp-title p{
  color:#e5f0ff!important;
  max-width:860px!important;
  margin:8px auto 0!important;
  text-align:center!important;
}
body.tarifs-pro-page .tp-overview-card,
body.tarifs-pro-page .tp-card,
body.tarifs-pro-page .tp-hour-card,
body.tarifs-pro-page .tp-mini,
body.tarifs-pro-page .tp-info-card,
body.tarifs-pro-page .tp-condition,
body.tarifs-pro-page .tp-note,
body.tarifs-pro-page .tp-travel,
body.tarifs-pro-page .tp-table-wrap,
body.tarifs-pro-page .tp-cta{
  color:#f7fbff!important;
  background:linear-gradient(155deg,#061d3e,#031228 62%,#140a37)!important;
  border-color:rgba(76,236,255,.22)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.tarifs-pro-page .tp-overview-card span,
body.tarifs-pro-page .tp-card p,
body.tarifs-pro-page .tp-card li,
body.tarifs-pro-page .tp-info-card p,
body.tarifs-pro-page .tp-condition p,
body.tarifs-pro-page .tp-note p,
body.tarifs-pro-page .tp-travel p,
body.tarifs-pro-page .tp-travel-price span,
body.tarifs-pro-page .tp-vat,
body.tarifs-pro-page .tp-vat span,
body.tarifs-pro-page .tp-mini span{
  color:#d7e7f8!important;
}
body.tarifs-pro-page .tp-overview-card strong,
body.tarifs-pro-page .tp-card h3,
body.tarifs-pro-page .tp-info-card h3,
body.tarifs-pro-page .tp-condition strong,
body.tarifs-pro-page .tp-note h3,
body.tarifs-pro-page .tp-mini strong{
  color:#f8fcff!important;
}
body.tarifs-pro-page .tp-card .price,
body.tarifs-pro-page .tp-travel-price strong,
body.tarifs-pro-page .tp-hour-card .price strong{
  color:#57a1ff!important;
}
body.tarifs-pro-page .tp-card .price small{color:#d5e6f6!important}
body.tarifs-pro-page .tp-card-icon,
body.tarifs-pro-page .tp-overview-card i{
  color:#4cecff!important;
  background:linear-gradient(145deg,rgba(8,77,139,.82),rgba(7,36,83,.95))!important;
  border:1px solid rgba(76,236,255,.22)!important;
}
body.tarifs-pro-page .tp-table th{
  color:#f8fcff!important;
  background:#0b376a!important;
  border-color:rgba(76,236,255,.18)!important;
}
body.tarifs-pro-page .tp-table td{
  color:#e0edfb!important;
  background:#061a36!important;
  border-color:rgba(76,236,255,.10)!important;
}
body.tarifs-pro-page .tp-table td:first-child strong{color:#f8fcff!important}
body.tarifs-pro-page .tp-table .tarif{color:#69b5ff!important}
body.tarifs-pro-page .tp-travel-price,
body.tarifs-pro-page .tp-tag{
  color:#dff7ff!important;
  background:rgba(6,52,100,.86)!important;
  border:1px solid rgba(76,236,255,.16)!important;
}

/* Packs / commande / formulaires : aucune grande carte blanche. */
body .packsection.white,
body .pack-card-new,body .opt-card,body .compare,
body .order-step,body .order-form-card,body .pack-choice label,body .option-row,
main fieldset,main fieldset[style]{
  color:#f7fbff!important;
  background:linear-gradient(155deg,#061d3e,#031228 62%,#140a37)!important;
  border-color:rgba(76,236,255,.20)!important;
}
body .pack-card-new p,body .pack-card-new li,body .opt-card p,
body .order-step span,body .option-row small{color:#d7e7f8!important}

/* Footer : lisible sans gris terne. */
.footer.pro-footer p,.footer.pro-footer li,.footer.pro-footer span,.footer.pro-footer small{color:#d7e7f8!important}
.footer.pro-footer a,.footer.pro-footer strong,.footer.pro-footer summary{color:#f8fcff!important}

@media(max-width:820px){
  body.home-page main .section>.container.title h2,
  body.dm11-home main .section>.container.title h2,
  body.home-page .home-detailed-services>.container.title h2,
  body.dm11-home .home-detailed-services>.container.title h2{
    max-width:100%!important;
    font-size:clamp(30px,9vw,44px)!important;
  }
  body.home-page main .section>.container.title p,
  body.dm11-home main .section>.container.title p{
    max-width:96%!important;
    font-size:15px!important;
  }
}
