/* Harmonisation d'octobre 2026 : en-tête, pied de page et pages intérieures alignés sur l'accueil
   validé (typographie plus lisible, boutons, cartes, appel final, pied de page vert encre).
   Chargé en dernier sur toutes les pages. La page Web & Digital garde sa propre identité : elle
   est exclue partout (:not(.page-web)). */

/* En-tête */
.refonte:not(.page-web) .dd-navigation {
  font-size: 0.92rem;
  font-weight: 550;
}
.refonte:not(.page-web) .dd-language {
  font-size: 0.82rem;
}

/* Repères de texte communs */
.refonte:not(.page-web) main .dd-kicker {
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}
.refonte:not(.page-web) main h2 {
  font-size: clamp(1.85rem, 3.2vw, 2.75rem);
  font-weight: 650;
  letter-spacing: -0.04em;
  line-height: 1.12;
}
.refonte:not(.page-web) .dd-intro {
  font-size: 1.1rem;
  line-height: 1.65;
}
.refonte:not(.page-web) .dd-back {
  font-size: 0.82rem;
  margin-bottom: 32px;
}
.refonte:not(.page-web) .dd-back:hover {
  color: var(--forest);
}
.refonte:not(.page-web) .dd-quiet {
  font-size: 0.85rem;
}

/* Boutons et liens d'action */
.refonte:not(.page-web) main .dd-button {
  gap: 12px;
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 12px;
  font: 650 0.97rem/1.3 var(--hp-font, "Avenir Next", "Segoe UI", sans-serif);
  transition:
    background 0.18s,
    transform 0.18s var(--ease),
    box-shadow 0.18s;
}
.refonte:not(.page-web) main .dd-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px -8px #173f3866;
}
.refonte:not(.page-web) main .dd-button-secondary {
  border-color: #b9c9bf;
}
.refonte:not(.page-web) main .dd-button-secondary:hover {
  box-shadow: none;
}
.refonte:not(.page-web) main .dd-button span[aria-hidden] {
  font-size: 1.1rem;
}
.refonte:not(.page-web) .dd-cta .dd-wa-button {
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 12px;
  font-size: 0.97rem;
}
.refonte:not(.page-web) main .dd-text-link {
  font-size: 0.93rem;
  font-weight: 650;
  color: var(--forest);
}

/* Cartes de services (Dépannage, Installation, Accompagnement, Récupération, villes) */
.refonte:not(.page-web) .dd-services-grid {
  gap: 18px;
}
.refonte:not(.page-web) .dd-services-grid article {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--paper);
  transition:
    transform 0.3s var(--ease),
    box-shadow 0.3s,
    border-color 0.3s;
}
.refonte:not(.page-web) .dd-services-grid article:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 40px -28px #173f3880;
  border-color: #c4d4ca;
}
.refonte:not(.page-web) .dd-service-number,
.refonte:not(.page-web) .dd-step-number {
  margin-bottom: 4px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--moss);
}
.refonte:not(.page-web) .dd-services-grid h2 {
  margin-bottom: 0;
  font-size: 1.45rem;
  letter-spacing: -0.02em;
}
.refonte:not(.page-web) .dd-services-grid p {
  font-size: 0.97rem;
  line-height: 1.7;
}
.refonte:not(.page-web) .dd-services-grid ul,
.refonte:not(.page-web) .dd-services-grid li {
  font-size: 0.95rem;
}

/* Bandeau « En pratique » */
.refonte:not(.page-web) .dd-note-section h2 {
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
}
.refonte:not(.page-web) .dd-note-section > p:last-child,
.refonte:not(.page-web) .dd-note-section p {
  font-size: 1.02rem;
  line-height: 1.7;
}

/* Méthode */
.refonte:not(.page-web) .dd-steps h3 {
  font-size: 1.2rem;
}
.refonte:not(.page-web) .dd-steps p {
  font-size: 0.95rem;
  line-height: 1.65;
}
.refonte:not(.page-web) .dd-step-number {
  margin-bottom: 14px;
}

/* Page Services : piliers */
.refonte:not(.page-web) .dd-pillar-top span {
  font-size: 0.8rem;
  font-weight: 700;
}
.refonte:not(.page-web) .dd-pillar strong {
  font-size: 1rem;
}
.refonte:not(.page-web) .dd-pillar p,
.refonte:not(.page-web) .dd-secondary-service {
  font-size: 0.97rem;
  line-height: 1.7;
}

/* À propos */
.refonte:not(.page-web) .dd-about-grid p {
  font-size: 1.05rem;
  line-height: 1.75;
}

/* Questions */
.refonte:not(.page-web) .dd-faq summary {
  font-size: 1rem;
  line-height: 1.45;
}
.refonte:not(.page-web) .dd-faq summary span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--soft);
  color: var(--forest);
  font-size: 1.2rem;
  transition:
    transform 0.25s,
    background 0.25s;
}
.refonte:not(.page-web) .dd-faq details[open] summary span {
  background: var(--lime);
}
.refonte:not(.page-web) .dd-faq details p {
  font-size: 0.95rem;
  line-height: 1.7;
}

/* Contact */
.refonte:not(.page-web) .dd-type-options legend {
  font-size: 0.95rem;
}
.refonte:not(.page-web) .dd-type-option strong {
  font-size: 0.92rem;
}
.refonte:not(.page-web) .dd-type-option small {
  font-size: 0.78rem;
}
.refonte:not(.page-web) .dd-field label {
  font-size: 0.88rem;
}
.refonte:not(.page-web) .dd-field-hint,
.refonte:not(.page-web) .dd-data-note {
  font-size: 0.8rem;
}
.refonte:not(.page-web) .dd-form-more summary {
  font-size: 0.88rem;
}
.refonte:not(.page-web) .dd-contact-aside > p:not(.dd-kicker),
.refonte:not(.page-web) .dd-form-success,
.refonte:not(.page-web) .dd-form-success p {
  font-size: 0.95rem;
}
.refonte:not(.page-web) .dd-contact-email {
  font-size: 1rem;
}
.refonte:not(.page-web) .dd-contact-aside h3 {
  font-size: 1.05rem;
}
.refonte:not(.page-web) .dd-contact-footnote {
  font-size: 0.85rem;
}

/* Appel final : même fond doux que l'accueil */
.refonte:not(.page-web) .dd-cta {
  border-top: 1px solid var(--line);
  background: var(--soft);
}

/* Pied de page vert encre (maquette validée) */
.refonte:not(.page-web) .dd-footer {
  background: var(--ink);
  color: var(--on-dark-muted);
  padding-top: 56px;
}
.refonte:not(.page-web) .dd-footer .dd-brand-name {
  color: #fff;
}
.refonte:not(.page-web) .dd-footer .dd-brand-mark {
  background: var(--lime);
  color: var(--ink);
}
.refonte:not(.page-web) .dd-footer h2 {
  color: var(--lime);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.12em;
}
.refonte:not(.page-web) .dd-footer p,
.refonte:not(.page-web) .dd-footer-top > div > p {
  color: var(--on-dark-muted);
  font-size: 0.9rem;
}
.refonte:not(.page-web) .dd-footer-top > div > span {
  color: var(--on-dark-muted);
  font-size: 0.85rem;
}
.refonte:not(.page-web) .dd-footer-top > div > a:not(.dd-brand),
.refonte:not(.page-web) .dd-footer-areas a {
  color: var(--on-dark-muted);
  font-size: 0.9rem;
}
.refonte:not(.page-web) .dd-footer a:hover {
  color: #fff;
}
.refonte:not(.page-web) .dd-footer .dd-footer-b2b {
  color: #fff;
}
.refonte:not(.page-web) .dd-footer-areas a {
  text-decoration-color: color-mix(in srgb, var(--lime) 50%, transparent);
}
.refonte:not(.page-web) .dd-social a {
  color: var(--lime);
}
.refonte:not(.page-web) .dd-footer-bottom {
  border-top-color: var(--moss);
  color: var(--on-dark-muted);
  font-size: 0.8rem;
}
.refonte:not(.page-web) .dd-footer-bottom a,
.refonte:not(.page-web) .dd-footer-bottom .privacy-link {
  color: var(--on-dark-muted);
  font-size: 0.8rem;
}
.refonte:not(.page-web) .dd-footer a:focus-visible,
.refonte:not(.page-web) .dd-footer button:focus-visible {
  outline-color: var(--lime);
}
.refonte:not(.page-web) .dd-form-required {
  font-size: 0.82rem;
}
.refonte:not(.page-web) .dd-contact-aside h3 {
  margin-top: 22px;
}
.refonte:not(.page-web) .dd-type-option strong {
  font-size: 0.86rem;
  line-height: 1.3;
}

/* Formulaire sur téléphone : plus de place pour les champs et les choix */
@media (max-width: 560px) {
  .refonte:not(.page-web) .dd-form-shell form {
    padding: 18px;
  }
}
@media (max-width: 420px) {
  .refonte:not(.page-web) .dd-type-options {
    grid-template-columns: minmax(0, 1fr);
  }
}
