/* ==========================================================
   Dépanne-moi11 — finition professionnelle V4
   Chargée en dernier pour harmoniser toutes les pages publiques.
   ========================================================== */

:root{
  --dm-v4-white:#f7fbff;
  --dm-v4-text:#dcecff;
  --dm-v4-soft:#c7dcef;
  --dm-v4-cyan:#4cecff;
  --dm-v4-panel:linear-gradient(155deg,rgba(4,29,65,.94),rgba(2,14,37,.98) 60%,rgba(17,7,44,.92));
}

/* ---------- Typographie globale ---------- */
main h1, main h2, main h3,
.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:var(--dm-v4-white)!important;
}

main p,
main small,
.section p,.section small,
.svc-section p,.svc-section small,
.tp-section p,.tp-section small,
.packsection p,.packsection small,
.booking-main p,.booking-main small{
  color:var(--dm-v4-text)!important;
}

/* ---------- En-têtes de sections : centrage pro ---------- */
.section > .container.title,
.home-detailed-services > .container.title,
.svc-title,
.tp-title,
.pack-head{
  width:min(1120px,calc(100% - 32px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:34px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:10px!important;
}

.section > .container.title > *,
.home-detailed-services > .container.title > *,
.svc-title > *,
.tp-title > *,
.pack-head > *{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.section > .container.title .k,
.home-detailed-services > .container.title .k,
.svc-title .k,
.tp-title .eyebrow,
.pack-head .k{
  align-self:center!important;
}

.section > .container.title h2,
.home-detailed-services > .container.title h2,
.svc-title h2,
.tp-title h2,
.pack-head h2{
  max-width:1040px!important;
  margin-top:2px!important;
  margin-bottom:4px!important;
  line-height:1.07!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
}

.section > .container.title p,
.home-detailed-services > .container.title p,
.svc-title p,
.tp-title p,
.pack-head p{
  max-width:900px!important;
  margin-top:0!important;
  margin-bottom:0!important;
  font-size:clamp(16px,1.25vw,20px)!important;
  line-height:1.65!important;
  color:#e8f3ff!important;
  text-wrap:pretty;
}

/* Accueil : les grands titres vus dans les captures */
body.home-page .section > .container.title h2{
  text-align:center!important;
  margin-inline:auto!important;
  max-width:1100px!important;
}
body.home-page .section > .container.title p{
  text-align:center!important;
  margin-inline:auto!important;
  max-width:920px!important;
  color:#e8f3ff!important;
}
body.home-page .home-detailed-services .services-note{display:none!important}

/* Le bloc "Comment ça marche" reste parfaitement centré */
body.home-page .process{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* ---------- Tarifs : correction contraste + disposition ---------- */
.tp-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.tp-title > div{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
.tp-title .eyebrow{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.tp-title h2{
  max-width:900px!important;
  text-align:center!important;
}
.tp-title > p{
  max-width:820px!important;
  text-align:center!important;
  color:#e8f3ff!important;
}

.tp-overview-card,
.tp-card,
.tp-mini,
.tp-hour-card,
.tp-info-card,
.tp-condition,
.tp-travel{
  color:var(--dm-v4-white)!important;
  background:var(--dm-v4-panel)!important;
}
.tp-overview-card span,
.tp-mini span,
.tp-hour-card .label,
.tp-hour-card p,
.tp-vat,
.tp-vat span,
.tp-card p,
.tp-card li,
.tp-info-card p,
.tp-info-card li,
.tp-condition p,
.tp-travel p{
  color:#dcecff!important;
}
.tp-overview-card strong,
.tp-mini strong,
.tp-card h3,
.tp-card .price,
.tp-hour-card .price,
.tp-hour-card strong{
  color:#f7fbff!important;
}
.tp-card .price{
  color:#4f96ff!important;
}
.tp-card .price small{
  color:#cfe3f5!important;
}
.tp-card li::marker{color:#43e9b6!important}

/* ---------- Cartes : sous-textes réellement lisibles ---------- */
.card p,.card li,.review p,.quick-solution p,.trust-item,.notice-red p,.pack p,.blog-card p,
.svc-card p,.svc-card li,.svc-hero-panel li,.svc-summary p,
.pack-card-new p,.pack-card-new li,.opt-card p,.opt-card li,
.booking-panel p,.booking-sidebar p,.booking-info-card p,.pro-target p,
.detail-service-card li,.detail-service-card p,.home-proof span,
.before-after p,.guarantee-box p,.step p{
  color:#dcecff!important;
}
.card small,.quick-card small,.service-card small,.pack-sub,.mini-note,
.detail-service-card small,.booking-title small{
  color:#cfe3f7!important;
}

/* ---------- Texte client plus élégant ---------- */
.review strong,.card h3,.quick-solution h3,.detail-service-card h3,
.step h3,.trust-item strong,.before-after h3{
  color:#f7fbff!important;
}

/* ---------- Footer ---------- */
.footer.pro-footer p,
.footer.pro-footer li,
.footer.pro-footer span,
.footer.pro-footer small{
  color:#d2e4f5!important;
}
.footer.pro-footer summary,
.footer.pro-footer strong,
.footer.pro-footer a{
  color:#f5fbff!important;
}

/* ---------- Écrans étroits ---------- */
@media(max-width:820px){
  .section > .container.title,
  .home-detailed-services > .container.title,
  .svc-title,.tp-title,.pack-head{
    width:calc(100% - 28px)!important;
    margin-bottom:24px!important;
    gap:8px!important;
  }
  .section > .container.title h2,
  .home-detailed-services > .container.title h2,
  .svc-title h2,.tp-title h2,.pack-head h2{
    max-width:100%!important;
    font-size:clamp(29px,8.8vw,44px)!important;
    line-height:1.08!important;
  }
  .section > .container.title p,
  .home-detailed-services > .container.title p,
  .svc-title p,.tp-title p,.pack-head p{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.55!important;
  }
}
