/* ============================================================
   BATIYS — MOBILE PAGES HARMONY
   Harmonise toutes les pages services secondaires sur mobile :
   - Diogène (.dg-*)
   - Nettoyage locaux (.nl-*)
   - Location (.loc-*)
   - Détapissage / Évacuation / Jardinage / Toiture / Vide-maison
     (.hero-service, .cards-grid, .blocs-*, .infos-*)
   À charger en DERNIER (après mobile-fixes-v3.css).
   ============================================================ */

@media (max-width: 720px) {

  /* ============================================================
     1. HEROS UNIFIÉS (toutes les variantes : dg / nl / hero-service)
     ============================================================ */

  /* DIOGÈNE HERO (.dg-hero) */
  html body section.dg-hero {
    min-height: auto !important;
    padding: 0 !important;
  }
  html body section.dg-hero .dg-hero-inner {
    grid-template-columns: 1fr !important;
    padding: 90px 18px 50px !important;
    gap: 28px !important;
  }
  html body section.dg-hero h1 {
    font-size: clamp(1.85rem, 6.5vw, 2.4rem) !important;
    line-height: 1.12 !important;
    margin-bottom: 16px !important;
  }
  html body section.dg-hero h1 em {
    color: #FFCBA4 !important;
    -webkit-text-fill-color: #FFCBA4 !important;
    font-style: italic;
  }
  html body section.dg-hero .lead {
    font-size: 1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 22px !important;
    color: rgba(255, 255, 255, .92) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .92) !important;
  }
  /* Side card du hero Diogène (KPIs) */
  html body section.dg-hero .dg-hero-side {
    padding: 20px !important;
    border-radius: 20px !important;
    gap: 12px !important;
  }
  html body section.dg-hero .dg-hero-side h3 {
    font-size: 1.05rem !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    margin-bottom: 6px !important;
  }
  html body section.dg-hero .dg-hero-side .kpi {
    padding: 12px 14px !important;
    border-radius: 12px !important;
    gap: 12px !important;
  }
  html body section.dg-hero .dg-hero-side .kpi .ic {
    width: 38px !important;
    height: 38px !important;
    font-size: 1.15rem !important;
    border-radius: 10px !important;
  }
  html body section.dg-hero .dg-hero-side .kpi strong {
    font-size: .92rem !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
  html body section.dg-hero .dg-hero-side .kpi span {
    font-size: .78rem !important;
    line-height: 1.45 !important;
    color: rgba(255, 255, 255, .8) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .8) !important;
  }

  /* NETTOYAGE LOCAUX HERO (.nl-hero) */
  html body section.nl-hero {
    padding: 0 !important;
    min-height: auto !important;
  }
  html body section.nl-hero .nl-hero-inner {
    grid-template-columns: 1fr !important;
    padding: 90px 18px 50px !important;
    gap: 28px !important;
  }
  html body section.nl-hero h1 {
    font-size: clamp(1.85rem, 6.5vw, 2.4rem) !important;
    line-height: 1.12 !important;
    margin-bottom: 16px !important;
  }
  html body section.nl-hero .lead {
    font-size: 1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 22px !important;
    color: rgba(255, 255, 255, .92) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .92) !important;
  }
  html body section.nl-hero .nl-hero-side {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  /* HERO SERVICE GÉNÉRIQUE (.hero-service) — pages détapissage, évacuation, etc. */
  html body section.hero-service,
  html body header.hero-service,
  html body .hero-service {
    padding: 90px 18px 50px !important;
    min-height: auto !important;
  }
  html body .hero-service h1 {
    font-size: clamp(1.85rem, 6.5vw, 2.4rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 14px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
  html body .hero-service p,
  html body .hero-service .lead,
  html body .hero-service .hero-sub {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    color: rgba(255, 255, 255, .92) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .92) !important;
    margin-bottom: 22px !important;
  }
  html body .hero-service .btn-primary,
  html body .hero-service .btn-outline-light,
  html body .hero-service .btn-cta {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 22px !important;
    font-size: 1rem !important;
    border-radius: 14px !important;
    min-height: 52px !important;
  }

  /* ============================================================
     2. SECTIONS UNIVERSELLES (paddings cohérents)
     ============================================================ */
  html body section.dg-empathy,
  html body section.dg-scope,
  html body section.dg-process,
  html body section.dg-guarantees,
  html body section.nl-services,
  html body section.nl-process,
  html body section.nl-trust,
  html body section.nl-pricing,
  html body section.loc-categories,
  html body section.blocs-section,
  html body section.infos-section,
  html body section.cta-section,
  html body section.service-section {
    padding: 50px 16px !important;
  }

  /* ============================================================
     3. TITRES SECTIONS (h2/h3) — taille et couleur cohérentes
     ============================================================ */
  html body section.dg-empathy h2,
  html body section.nl-services h2,
  html body section.dg-scope h3,
  html body section.dg-process h3,
  html body section.blocs-section h2,
  html body section.infos-section h2 {
    font-size: clamp(1.45rem, 5.5vw, 1.9rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
    color: var(--bleu, #0F2744) !important;
    -webkit-text-fill-color: var(--bleu, #0F2744) !important;
  }
  /* Sections sombres : titres en blanc */
  html body section.dg-guarantees h2,
  html body section.dg-guarantees h3,
  html body section.nl-trust h2,
  html body section.nl-trust h3 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* ============================================================
     4. PARAGRAPHES — couleur lisible selon le fond
     ============================================================ */
  html body section.dg-empathy p,
  html body section.dg-scope p,
  html body section.dg-process p,
  html body section.nl-services p,
  html body section.blocs-section p,
  html body section.infos-section p {
    color: #4B5867 !important;
    -webkit-text-fill-color: #4B5867 !important;
    font-size: .96rem !important;
    line-height: 1.7 !important;
  }
  html body section.dg-guarantees p,
  html body section.dg-guarantees small,
  html body section.nl-trust p,
  html body section.nl-trust small,
  html body section.cta-section p {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* ============================================================
     5. CARDS — Empathie / Scope / Process / Trust
     ============================================================ */
  html body .dg-empathy-grid,
  html body .nl-services-grid,
  html body .nl-freq-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  html body .dg-empathy-img {
    min-height: 260px !important;
    border-radius: 20px !important;
  }
  html body .dg-scope-cards {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  html body .dg-scope-card {
    border-radius: 18px !important;
    box-shadow:
      0 1px 3px rgba(15, 39, 68, .04),
      0 8px 22px rgba(15, 39, 68, .06) !important;
  }
  html body .dg-scope-media {
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
  }
  html body .dg-scope-body {
    padding: 18px !important;
  }
  html body .dg-scope-body h4 {
    font-size: 1rem !important;
    color: var(--bleu, #0F2744) !important;
    -webkit-text-fill-color: var(--bleu, #0F2744) !important;
    margin-bottom: 6px !important;
  }
  html body .dg-scope-body p {
    font-size: .9rem !important;
    line-height: 1.6 !important;
  }

  /* ============================================================
     6. PROCESS ILLUSTRATED (Diogène + Location)
     ============================================================ */
  html body .ch-process-illustrated {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  html body .ch-process-img {
    min-height: 220px !important;
    border-radius: 20px !important;
    overflow: hidden;
  }
  html body .ch-process-list {
    gap: 14px !important;
  }
  html body .ch-process-item {
    padding: 16px 18px !important;
    gap: 14px !important;
    border-radius: 14px !important;
    align-items: flex-start;
  }
  html body .ch-process-num {
    width: 36px !important;
    height: 36px !important;
    font-size: .92rem !important;
    border-radius: 10px !important;
    flex-shrink: 0;
  }
  html body .ch-process-item h4 {
    font-size: 1rem !important;
    margin-bottom: 4px !important;
  }
  html body .ch-process-item p {
    font-size: .9rem !important;
    line-height: 1.55 !important;
  }

  /* ============================================================
     7. GUARANTEES (Diogène) — fond sombre
     ============================================================ */
  html body section.dg-guarantees {
    padding: 56px 16px !important;
  }
  html body .dg-g-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  html body .dg-g-card,
  html body .dg-guarantees .card {
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    backdrop-filter: blur(8px);
    border-radius: 16px !important;
    padding: 18px 20px !important;
  }
  html body .dg-g-card h4,
  html body .dg-guarantees h4 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 1rem !important;
    margin-bottom: 6px !important;
  }
  html body .dg-g-card p,
  html body .dg-guarantees p {
    color: rgba(255, 255, 255, .85) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .85) !important;
    font-size: .9rem !important;
    line-height: 1.6 !important;
  }

  /* ============================================================
     8. CTA RICH (.ch-cta-rich) — bandeau commun à toutes les pages
     ============================================================ */
  html body .ch-cta-rich {
    padding: 32px 18px !important;
    border-radius: 20px !important;
    margin: 12px 16px !important;
  }
  html body .ch-cta-card-inner {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: left;
  }
  html body .ch-cta-rich h2,
  html body .ch-cta-rich h3 {
    font-size: clamp(1.4rem, 5vw, 1.75rem) !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    margin-bottom: 10px !important;
  }
  html body .ch-cta-rich p {
    font-size: .95rem !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, .9) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .9) !important;
    margin-bottom: 14px !important;
  }
  html body .ch-cta-rich .btn-primary,
  html body .ch-cta-rich .btn-cta,
  html body .ch-cta-rich a[class*="btn"] {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 22px !important;
    font-size: 1rem !important;
    border-radius: 14px !important;
    min-height: 52px !important;
  }

  /* ============================================================
     9. NL SECTIONS (Nettoyage locaux) — cards, freq grid
     ============================================================ */
  html body .nl-sect-card {
    padding: 22px 20px !important;
    border-radius: 18px !important;
    margin-bottom: 14px;
  }
  html body .nl-sect-card h3 {
    font-size: 1.1rem !important;
    color: var(--bleu, #0F2744) !important;
    -webkit-text-fill-color: var(--bleu, #0F2744) !important;
    margin-bottom: 8px !important;
  }
  html body .nl-sect-card p {
    font-size: .94rem !important;
    line-height: 1.6 !important;
  }
  html body .nl-freq-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  /* ============================================================
     10. LOC CATS GRID (Location matériel)
     ============================================================ */
  html body .loc-cats-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  @media (max-width: 480px) {
    html body .loc-cats-grid {
      grid-template-columns: 1fr !important;
    }
  }

  /* ============================================================
     11. BLOCS / INFOS (vide-maison, autres pages secondaires)
     ============================================================ */
  html body .blocs-grid,
  html body .infos-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  html body .blocs-section .info-card,
  html body .infos-section .info-card {
    padding: 20px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #ffffff, #f7faff) !important;
    border: 1px solid #e2e8f0 !important;
  }
  html body .info-card-title {
    font-size: 1.05rem !important;
    color: var(--bleu, #0F2744) !important;
    -webkit-text-fill-color: var(--bleu, #0F2744) !important;
    margin-bottom: 8px !important;
  }
  html body .blocs-section p,
  html body .infos-section p {
    font-size: .94rem !important;
    line-height: 1.65 !important;
  }

  /* ============================================================
     12. CARDS GRID (.cards-grid sur pages services génériques)
     ============================================================ */
  html body .cards-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  html body .cards-grid > article,
  html body .cards-grid .card,
  html body .cards-grid > div {
    padding: 20px !important;
    border-radius: 16px !important;
    box-shadow:
      0 1px 3px rgba(15, 39, 68, .04),
      0 6px 18px rgba(15, 39, 68, .06) !important;
  }

  /* ============================================================
     13. CTA SECTION fond sombre (vide-maison)
     ============================================================ */
  html body section.cta-section {
    padding: 50px 16px !important;
    text-align: center;
  }
  html body section.cta-section h2,
  html body section.cta-section h3 {
    font-size: clamp(1.4rem, 5vw, 1.75rem) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    margin-bottom: 12px !important;
  }
  html body section.cta-section p {
    color: rgba(255, 255, 255, .9) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .9) !important;
    font-size: .95rem !important;
    line-height: 1.6 !important;
    margin-bottom: 18px !important;
  }

  /* ============================================================
     14. BTN-FLOTTANT (téléphone flottant des pages services)
     ============================================================ */
  html body a.btn-flottant {
    display: none !important;
  }
  /* La bottom action bar le remplace */

  /* ============================================================
     15. TRUST BAR (universal trust strip)
     ============================================================ */
  html body .trust-bar,
  html body .trust-strip {
    padding: 18px 16px !important;
    flex-direction: column !important;
    gap: 12px !important;
    text-align: center !important;
  }
  html body .trust-bar > *,
  html body .trust-strip > * {
    font-size: .88rem !important;
  }

  /* ============================================================
     16. SECTION TITLE — eyebrow harmonisée toutes pages
     ============================================================ */
  html body section .section-title,
  html body .section-title {
    text-align: center !important;
    margin-bottom: 26px !important;
  }
  html body .section-title .eyebrow {
    display: inline-block !important;
    font-size: .68rem !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    background: linear-gradient(135deg, rgba(229, 103, 28, .15), rgba(229, 103, 28, .06)) !important;
    border: 1px solid rgba(229, 103, 28, .2) !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    color: var(--orange, #E5671C) !important;
    -webkit-text-fill-color: var(--orange, #E5671C) !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
  }

  /* ============================================================
     17. IMAGES — fade-in propre, aspect-ratio respecté
     ============================================================ */
  html body section img:not([src=""]) {
    max-width: 100%;
    height: auto;
  }

  /* ============================================================
     18. FORMULAIRE PARTAGÉ (.bty-form sur certaines pages services)
     ============================================================ */
  html body .bty-form .bty-grid-3,
  html body .bty-form .bty-grid-2,
  html body .bty-form .bty-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  html body .bty-card {
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  /* ============================================================
     19. FOOTER — espace pour bottom-bar mobile
     ============================================================ */
  html body footer.site-footer-premium {
    padding: 36px 16px 28px !important;
  }
  html body .site-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  html body .site-footer-card {
    padding: 0 !important;
  }
  html body .site-footer-bottom {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
    font-size: .8rem !important;
    line-height: 1.5;
  }
}

/* ============================================================
   Très petits écrans (≤ 380 px)
   ============================================================ */
@media (max-width: 380px) {
  html body section.dg-hero .dg-hero-inner,
  html body section.nl-hero .nl-hero-inner,
  html body .hero-service {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  html body section.dg-hero h1,
  html body section.nl-hero h1,
  html body .hero-service h1 {
    font-size: 1.55rem !important;
  }
  html body section.dg-empathy,
  html body section.dg-scope,
  html body section.dg-process,
  html body section.dg-guarantees,
  html body section.nl-services,
  html body section.nl-process,
  html body section.cta-section,
  html body section.blocs-section,
  html body section.infos-section {
    padding: 44px 14px !important;
  }
  html body .ch-process-num {
    width: 32px !important;
    height: 32px !important;
    font-size: .85rem !important;
  }
  html body .loc-cats-grid {
    grid-template-columns: 1fr !important;
  }
}
