/* 2026-11-03 — targeted visual adjustments to smartphone/desktop, no image or brand edits. */
/* Service-page navigation: same readable, even spacing across all service templates. */
@media (max-width: 800px) {
  html body header.gcp-v103-site-header .gcp-v89-service-links {
    display:flex !important; flex-wrap:nowrap !important; justify-content:space-around !important;
    align-items:center !important; gap:clamp(5px, 2.4vw, 18px) !important;
    width:100% !important; max-width:100% !important; margin:0 auto !important;
    padding:6px 8px 10px !important; box-sizing:border-box !important;
  }
  html body header.gcp-v103-site-header .gcp-v89-service-links > a {
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    flex:1 1 0 !important; min-width:0 !important; padding:10px 1px !important;
    font:700 clamp(13px, 3.8vw, 18px)/1.25 Nunito,Arial,sans-serif !important;
    text-decoration:none !important; white-space:nowrap !important;
    text-align:center !important; box-sizing:border-box !important;
  }
  /* Expanded service links should not unexpectedly become larger than the main menu. */
  #gcpSideMenu .gcp-v50-service-submenu a,
  #gcpSideMenu .gcp-v50-service-submenu a span,
  #gcpSideMenu .gcp-v70-main-menu > li > a,
  #gcpSideMenu .gcp-v70-main-menu > li > details > summary {
    font:700 16px/1.35 Nunito,Arial,sans-serif !important;
  }
  #gcpSideMenu .gcp-v50-service-submenu a {
    min-height:46px !important; padding:10px 12px !important;
  }
}
/* Keep the popular label in normal document flow: never cover the heading. */
html body #w1.gcp-web-featured > .gcp-popular-badge {
  position:static !important; top:auto !important; left:auto !important;
  right:auto !important; bottom:auto !important; transform:none !important;
  float:none !important; display:flex !important; width:max-content !important;
  max-width:calc(100% - 16px) !important;
  margin:4px 0 18px auto !important; box-sizing:border-box !important;
}
html body #w1.gcp-web-featured .gcp-tariff-copy > h3 {
  clear:both !important; overflow-wrap:anywhere !important;
}
@media (max-width: 600px) {
  html body #w1.gcp-web-featured > .gcp-popular-badge {
    font-size:14px !important; line-height:1.25 !important; padding:8px 12px !important;
  }
}
/* One photo gallery typography on both mobile and desktop. */
html body #photos .photo-card .gcp-v86-caption > strong {
  font:800 clamp(20px, 2.1vw, 24px)/1.35 Nunito,Arial,sans-serif !important;
  text-align:center !important;
}
html body #photos .photo-card .gcp-v86-caption :is(p,li,.gcp-mobile-description,.gcp-desktop-description) {
  font:400 clamp(16px, 1.7vw, 19px)/1.55 Nunito,Arial,sans-serif !important;
}
/* Viewer: service CTA is separate from the zoom navigation and accessible by touch. */
#gcpGalleryDialog .gcp-viewer-discover-v105 {
  display:flex !important; justify-content:center !important; align-items:center !important;
  margin:12px auto 16px !important; width:max-content !important; max-width:calc(100% - 32px) !important;
  border:2px solid #c79b43 !important; border-radius:999px !important;
  background:#fff0c9 !important; color:#002a54 !important;
  font:800 16px/1.35 Nunito,Arial,sans-serif !important;
  min-height:48px !important; padding:8px 24px !important; text-align:center !important;
  text-decoration:none !important; box-sizing:border-box !important;
}
#gcpGalleryDialog .gcp-viewer-discover-v105[hidden] { display:none !important; }
#gcpGalleryDialog .gcp-viewer-discover-v105:focus-visible { outline:3px solid #e65100 !important; outline-offset:3px !important; }
/* PrestaFlam sound control: clear words instead of an ambiguous musical glyph. */
html body .gcp-presta-video-frame .gcp-pm-mute {
  min-width:76px !important; min-height:42px !important; font:700 13px/1.2 Nunito,Arial,sans-serif !important;
  white-space:nowrap !important; padding:5px 7px !important;
}
/* Contact fallback: no invisible failed send / no misleading confirmation. */
html body .gcp-contact-alternative-v105:not([hidden]) {
  display:grid !important; gap:10px !important; border:1px solid #d6b274 !important;
  border-radius:14px !important; background:#fffaf3 !important;
  padding:16px !important; margin:12px 0 18px !important;
}
html body .gcp-contact-alternative-v105[hidden] { display:none !important; }
html body .gcp-contact-alternative-v105 p {
  margin:0 !important; font:400 15px/1.5 Nunito,Arial,sans-serif !important;
  color:#16385e !important;
}
html body .gcp-contact-alternative-v105 .gcp-contact-mail-v105 {
  display:inline-flex !important; justify-content:center !important; align-items:center !important;
  border-radius:12px !important; min-height:48px !important;
  padding:10px 16px !important; background:#002a54 !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  font:800 17px/1.3 Nunito,Arial,sans-serif !important;
  text-decoration:none !important;
}
html body .gcp-contact-alternative-v105 .gcp-contact-retry-v105 {
  min-height:44px !important; margin:0 !important; padding:8px 12px !important;
  background:#fff !important; color:#002a54 !important;
  border:1px solid #d6b274 !important; border-radius:10px !important;
  font:700 14px/1.3 Nunito,Arial,sans-serif !important;
}
/* Reprise de site web uses a compact header, not the standard service links. */
@media (max-width:800px) {
  html body header.gcp-v103-site-header .gcp-v103-compact-header nav {
    display:flex !important; flex:1 1 100% !important; width:100% !important;
    justify-content:space-around !important; align-items:center !important;
    gap:clamp(5px, 2.4vw, 18px) !important;
    margin:0 auto !important; padding:6px 8px 10px !important;
    box-sizing:border-box !important;
  }
  html body header.gcp-v103-site-header .gcp-v103-compact-header nav > a {
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    flex:1 1 0 !important; min-width:0 !important; padding:10px 1px !important;
    font:700 clamp(13px, 3.8vw, 18px)/1.25 Nunito,Arial,sans-serif !important;
    white-space:nowrap !important; text-align:center !important; box-sizing:border-box !important;
  }
}
/* Fixed mobile navigation must not hide the submit button or its feedback. */
@media (max-width:900px) {
  html body:has(#gcpQuickNavigation) form.gcp-v72-contact-form {
    padding-bottom:calc(95px + env(safe-area-inset-bottom)) !important;
  }
  html body form.gcp-v72-contact-form button[type="submit"] {
    scroll-margin-bottom:calc(110px + env(safe-area-inset-bottom)) !important;
  }
}
/* High contrast on the photo viewer title. */
#gcpGalleryDialog .gcp-v92-viewer-header h2 { color:#fffaf3 !important; -webkit-text-fill-color:#fffaf3 !important; }
