/* Correctifs mobile — agostinimagie.fr */
@media (max-width: 860px) {
  html {
    -webkit-text-size-adjust: 100%;
    height: auto;
  }
  body {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    min-height: 100vh;
    max-width: 100%;
  }

  /* Scènes fixes : laisser passer le scroll tactile sauf zones interactives */
  #scene-hero, #scene-qsj, #scene-zones, #scene-avis, #scene-prefinal, #scene-occ {
    pointer-events: none !important;
  }
  #occ-row, #occ-row *, #avis-row, #avis-row * {
    pointer-events: auto !important;
  }

  /* Prestations mobile : slide horizontal + taps fiables sur cartes 3D */
  #scene-occ {
    padding: 0 !important;
  }
  #scene-occ #occ-row {
    position: relative;
    z-index: 12;
  }
  #occ-row {
    justify-content: flex-start !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: 16px !important;
    padding: 4px 20px 16px !important;
    touch-action: pan-x pan-y;
    scroll-snap-type: x proximity;
    width: 100%;
  }
  #occ-row > div {
    scroll-snap-align: center;
    flex: 0 0 auto;
  }
  .presta-face-back {
    -webkit-transform: rotateY(180deg) translateZ(2px) !important;
    transform: rotateY(180deg) translateZ(2px) !important;
  }
  .presta-inner-flipped .presta-face-front {
    pointer-events: none !important;
  }
  .presta-inner-flipped .presta-face-back {
    pointer-events: auto !important;
  }
  .presta-inner:not(.presta-inner-flipped) .presta-face-back {
    pointer-events: none !important;
  }
  .presta-face-front,
  .presta-face-back,
  .presta-action {
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(201, 162, 75, 0.25);
  }
  .presta-action[data-presta-action="devis"],
  .presta-action[data-presta-action="more"] {
    position: relative;
    z-index: 2;
  }
  #occ-sub, #occ-hint {
    display: none !important;
  }

  /* Header : transition fluide show/hide au scroll */
  #site-header {
    padding: 10px 16px !important;
    gap: 8px !important;
    transition: transform 0.35s cubic-bezier(0.3, 0.9, 0.3, 1) !important;
    will-change: transform;
  }
  #site-header > div:last-child {
    gap: 8px !important;
  }
  #site-header span[style*="ENZO AGOSTINI"] {
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
  }
  #site-header span[onclick*="goDevisPlain"] {
    padding: 8px 12px !important;
    font-size: 10px !important;
  }

  /* Hero */
  #scene-hero {
    padding: 0 18px !important;
  }
  #hero-title {
    font-size: clamp(34px, 9vw, 52px) !important;
    line-height: 1 !important;
  }
  #hero-phrase {
    font-size: clamp(16px, 4.2vw, 22px) !important;
    margin-top: 20px !important;
  }
  #scene-hero h1 > span:first-child {
    font-size: 10px !important;
    letter-spacing: 3px !important;
    margin-bottom: 12px !important;
  }

  /* Scènes accueil */
  #scene-qsj, #scene-avis, #scene-zones, #scene-prefinal {
    padding: 0 18px !important;
  }
  #scene-qsj h2, #scene-avis h2, #scene-zones h2, #scene-prefinal h2,
  #final-section h2 {
    font-size: clamp(24px, 6.5vw, 36px) !important;
  }
  #qsj-card {
    width: min(240px, 72vw) !important;
  }

  /* Zones géo */
  #zones-row {
    gap: 12px !important;
    justify-content: center !important;
  }
  #zones-row > div {
    width: 140px !important;
    padding: 18px 10px !important;
  }
  #zones-row div[style*="font-size:30px"] {
    font-size: 22px !important;
  }
  #zones-row div[style*="font-size:23px"] {
    font-size: 18px !important;
  }

  /* Section finale */
  #final-section {
    padding: 80px 18px 60px !important;
  }
  #final-section h2 {
    font-size: clamp(26px, 7vw, 40px) !important;
  }

  /* Sous-pages */
  #view-qsj > section:first-of-type,
  #view-presta > section:first-of-type,
  #view-devis > section:first-of-type {
    padding: 96px 18px 20px !important;
  }
  #view-qsj > section:nth-of-type(2),
  #view-presta > section:nth-of-type(2),
  #view-devis > section:nth-of-type(2) {
    padding: 10px 18px 50px !important;
  }
  #view-qsj h1, #view-presta h1, #view-devis h1 {
    font-size: clamp(28px, 7.5vw, 40px) !important;
    margin-top: 10px !important;
  }
  #view-qsj p[style*="font-size:23px"],
  #view-presta p[style*="font-size:23px"] {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }
  #view-qsj p[style*="font-size:16px"],
  #view-presta p[style*="font-size:16px"],
  #view-devis p[style*="font-size:16px"] {
    font-size: 15px !important;
    text-align: left !important;
  }
  #view-presta h2[style*="font-size:clamp(26px"] {
    font-size: clamp(20px, 5.5vw, 28px) !important;
  }
  [data-back] {
    top: 68px !important;
    left: 14px !important;
  }

  /* Devis formulaire */
  #devis-grid {
    gap: 14px !important;
  }
  #devis-grid input, #devis-grid textarea, #devis-grid select {
    font-size: 16px !important;
  }

  #view-qsj, #view-presta, #view-devis {
    overflow-y: visible;
    min-height: 100vh;
  }

  footer {
    padding: 40px 18px 28px !important;
  }
}

@media (max-width: 400px) {
  #hero-title {
    font-size: clamp(30px, 8.5vw, 40px) !important;
  }
  #site-header span[style*="ENZO AGOSTINI"] {
    display: none;
  }
}
