/* Adaptations mobiles et tablettes. Les règles desktop existantes sont conservées. */
@media (max-width:1199px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { min-width:0; }
  main, section, article, .container, .head-inner, .hero-copy,
  .contact-card, .contact-row > *, .garage-copy, .garage-box { min-width:0; }
  img, video { max-width:100%; height:auto; }
  iframe { max-width:100%; }
  p, li, h1, h2, h3, a { overflow-wrap:anywhere; }
  .container, .activities-intro, .garage-layout,
  .contact-v14 .container { width:calc(100% - 48px); max-width:1080px; margin-inline:auto; }
  .site-header .head-inner { flex-direction:column; justify-content:center; gap:12px; padding-block:16px; min-height:0; }
  .site-header .brand { transform:none!important; gap:12px; max-width:100%; }
  .site-header .brand img { width:98px; height:82px; object-fit:contain; flex:none; }
  .site-header .brand-name { font-size:clamp(20px,3.1vw,28px); }
  .site-header .brand-caption { font-size:10px; letter-spacing:1px; }
  .site-header .main-nav { display:block!important; position:static; width:100%; margin:0!important; padding:0; border:0; background:transparent; transform:none!important; }
  .site-header .nav-list { display:flex!important; flex-direction:row; flex-wrap:wrap!important; justify-content:center!important; align-items:stretch; gap:8px; }
  .site-header .nav-list a { display:flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; padding:10px 16px; font-size:14px!important; letter-spacing:.5px; }
  .site-header .nav-toggle { display:none; }
  a, button, input:not([type=hidden]), select, textarea { min-width:48px; min-height:48px; }
  a { display:inline-flex; align-items:center; max-width:100%; }
  .button, .garage-button, .contact-v14 .button { min-height:48px; padding:12px 20px; font-size:14px; text-align:center; white-space:normal; }
  .actions { gap:16px; }
  .footer-nav-only { padding:12px 16px!important; transform:none!important; }
  .footer-nav-only nav { gap:8px 16px!important; }
  .footer-nav-only a { display:inline-flex!important; align-items:center; justify-content:center; min-width:48px; min-height:48px; padding:10px 12px; font-size:14px!important; line-height:1.5!important; }
  .hero-vintage .hero-grid { zoom:1; width:100%; max-width:100%; margin:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; padding:36px 0!important; gap:28px!important; }
  .hero-vintage .hero-copy { transform:none!important; width:auto; max-width:100%; margin:0; }
  .hero-vintage h1 { font-size:clamp(32px,4.4vw,48px); line-height:1.12; letter-spacing:-1px; }
  .hero-vintage p { font-size:17px; line-height:1.65; }
  .hero-vintage .vintage-photo { translate:none; width:100%; max-width:100%; height:300px; min-height:0; margin:0; }
  .vintage-photo img { height:100%; object-fit:cover; }
  .vintage-caption { max-width:calc(100% - 28px); left:14px; font-size:12px; }
  .hero-note { gap:10px; }
  .hero-note span { max-width:100%; }
  .activities-main, .garage-section { display:block; }
  .activities-intro, .garage-section { padding-block:32px!important; }
  .activities-heading h1 { font-size:clamp(28px,4vw,42px)!important; line-height:1.15; }
  .activities-heading p, .activities-cta { font-size:16px; line-height:1.65; }
  .activities-intro .services { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:100%; gap:24px!important; }
  .activities-intro .service { padding:24px; }
  .activities-intro .service h3 { font-size:20px; line-height:1.25; }
  .activities-intro .service p { font-size:16px; line-height:1.65; }
  .garage-layout { zoom:1; grid-template-columns:1fr 1fr; gap:32px; }
  .garage-copy h1 { font-size:clamp(30px,4vw,44px); }
  .garage-copy > p, .garage-checklist li, .garage-box p { font-size:17px; line-height:1.65; }
  .garage-box { transform:none; padding:26px; }
  .contact-v14 { zoom:1; width:100%; top:auto!important; padding:32px 0 40px!important; }
  .contact-v14 .section-heading { top:auto!important; margin-bottom:24px!important; }
  .contact-v14 .contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px!important; }
  .contact-v14 .contact-card { padding:24px!important; }
  .contact-v14 .contact-row { gap:12px; margin:14px 0!important; }
  .contact-v14 .contact-row a { font-size:16px; }
  .contact-v14 .contact-map-link { display:inline-flex; }
  .contact-v14 .contact-card p { font-size:16px; }
  .contact-v14 .section-heading h2 { font-size:clamp(30px,4vw,44px); }
  .legal-intro, .legal-content, .find-intro { zoom:1; }
  .legal-content { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px!important; }
  .legal-panel { padding:24px!important; }
  .legal-panel p { font-size:16px; line-height:1.65!important; }
  .find-heading p { font-size:16px; }
  .find-map-wrap { height:360px!important; }
}
@media (max-width:800px) {
  .hero-vintage .hero-grid { grid-template-columns:minmax(0,1fr)!important; gap:28px!important; }
  .hero-vintage .vintage-photo { width:calc(100% - 10px); height:clamp(235px,52vw,360px); justify-self:start; }
  .hero-vintage h1 { font-size:clamp(32px,7vw,46px); }
  .garage-layout, .contact-v14 .contact-grid { grid-template-columns:minmax(0,1fr); }
  .garage-layout { gap:28px; }
  .garage-box { margin-right:10px; }
  .contact-v14 .contact-row { align-items:flex-start; }
  .contact-v14 .contact-row .symbol { margin-top:4px; }
  .legal-content { grid-template-columns:minmax(0,1fr); }
  .legal-panel-wide { grid-column:auto; }
}
@media (max-width:600px) {
  .container, .activities-intro, .garage-layout, .contact-v14 .container { width:calc(100% - 40px); }
  .site-header .head-inner { width:calc(100% - 32px); gap:12px; padding-block:12px; }
  .site-header .brand img { width:80px; height:68px; }
  .site-header .brand-name { font-size:22px; }
  .site-header .brand-caption { font-size:9px; letter-spacing:.5px; }
  .site-header .nav-list { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .site-header .nav-list a { padding:10px 8px; font-size:13px!important; }
  .activities-intro .services { grid-template-columns:minmax(0,1fr); }
  .activities-intro .service { margin-right:8px; padding:22px; }
  .actions { flex-direction:column; align-items:stretch; }
  .actions .button { width:100%; }
  .contact-v14 .contact-card { padding:20px!important; margin-right:7px; }
  .contact-v14 .contact-row { gap:10px; }
  .contact-v14 .contact-row .symbol { width:36px; height:36px; font-size:20px; }
  .contact-v14 .contact-row a { flex:1; }
  .garage-copy > p, .garage-checklist li { font-size:16px; }
  .legal-panel { padding:20px!important; margin-right:7px; }
  .find-map-wrap { height:320px!important; margin-right:7px; }
}
/* Les tablettes tactiles larges conservent leur composition desktop,
   avec des liens et boutons utilisables au doigt. */
@media (min-width:1200px) and (pointer:coarse) {
  a, button { min-width:48px; min-height:48px; }
  a { display:inline-flex; align-items:center; }
  .contact-v14, .garage-layout, .legal-intro, .legal-content, .find-intro { zoom:1; }
  .footer-nav-only a { display:inline-flex!important; align-items:center; padding:10px; font-size:14px!important; }
}
@media (max-width:1199px) {
  .site-header .head-inner { transform:none; }
  body > main > .hero-vintage > .container.hero-grid { width:calc(100% - 48px); margin-inline:auto; transform:none; }
  .legal-intro { padding-block:32px!important; }
}
@media (max-width:600px) {
  body > main > .hero-vintage > .container.hero-grid { width:calc(100% - 40px); }
}
@media (min-width:1200px) and (pointer:coarse) {
  .hero-vintage .hero-grid { zoom:1; width:100%; }
}
