/* SmartGeek — navigation des prestations et accès directs aux tarifs, 26-10-2026.
   Une seule liste de services, au clic/toucher via <details>, accessible au clavier.
   Les autres CSS, la barre d'appel mobile et le formulaire ne sont pas modifiés. */
.header .sg-nav-services { position:relative; flex:0 0 auto; }
.header .sg-nav-services > summary {
  list-style:none; display:flex; align-items:center; gap:9px;
  border:0; border-radius:9px; cursor:pointer; user-select:none;
  font:inherit; font-weight:720; color:#354a60;
}
.header .sg-nav-services > summary::-webkit-details-marker { display:none; }
.header .sg-nav-services > summary::marker { content:""; }
.header .sg-nav-caret {
  width:7px; height:7px; display:inline-block; flex:0 0 7px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .18s ease;
}
.header .sg-nav-services[open] > summary .sg-nav-caret { transform:translateY(2px) rotate(225deg); }
.header .sg-nav-services > summary:hover,
.header .sg-nav-services[open] > summary { color:#167aca; }
.header .sg-nav-services > summary:focus-visible,
.header .sg-nav-services-panel a:focus-visible,
.header .desktop-menu > a:focus-visible,
.header .mobile-menu nav > a:focus-visible {
  outline:3px solid #3f97d3; outline-offset:3px;
}
.header .desktop-menu .sg-nav-services > summary { font-size:.78rem; padding:10px 5px; white-space:nowrap; }
.header .desktop-menu .sg-nav-services-panel {
  position:absolute; top:calc(100% + 8px); left:0;
  z-index:90; width:min(520px, calc(100vw - 32px));
  max-height: min(66vh, 560px); overflow-y:auto;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px;
  padding:14px; border:1px solid #dce6f0; border-radius:15px;
  background:#fff; box-shadow:0 18px 46px rgba(16,40,74,.17);
}
.header .desktop-menu .sg-nav-services-panel a {
  display:flex; align-items:center; min-height:42px;
  padding:10px 12px; border-radius:9px; font-size:.82rem;
  font-weight:720; line-height:1.35; color:#263e57;
  text-decoration:none; overflow-wrap:anywhere;
}
.header .desktop-menu .sg-nav-services-panel a:hover,
.header .desktop-menu .sg-nav-services-panel a[aria-current="page"] {
  background:#eaf4fc; color:#086eb9;
}
.header .mobile-menu > nav {
  max-height:calc(100dvh - 120px); overflow-y:auto;
  overscroll-behavior:contain;
}
.header .mobile-menu .sg-nav-services { width:100%; }
.header .mobile-menu .sg-nav-services > summary {
  padding:12px; font-size:.93rem; min-height:45px;
  justify-content:space-between;
}
.header .mobile-menu .sg-nav-services-panel {
  display:grid; grid-template-columns:minmax(0,1fr);
  gap:2px; border-left:2px solid #b8d8ef;
  margin:0 0 6px 14px; padding:2px 0 2px 8px;
}
.header .mobile-menu .sg-nav-services-panel a {
  display:block; padding:10px 9px; border-radius:8px;
  font-size:.86rem; font-weight:650; line-height:1.35;
  color:#36526e; text-decoration:none;
}
.header .mobile-menu .sg-nav-services-panel a:hover,
.header .mobile-menu .sg-nav-services-panel a[aria-current="page"] {
  background:#eaf4fc; color:#086eb9;
}
.header .mobile-menu nav > a { min-height:44px; display:flex; align-items:center; }
.sg-pricing-quicklinks { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 24px; }
.sg-pricing-quicklinks a {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:42px; padding:10px 17px; border:1px solid #bed5e8;
  border-radius:999px; background:#eff7fd; color:#144d7b;
  font-size:.89rem; font-weight:750; text-decoration:none;
}
.sg-pricing-quicklinks a:hover,
.sg-pricing-quicklinks a:focus-visible { background:#dceffb; border-color:#78afd7; }
.price-card[id^="tarifs-"] { scroll-margin-top:105px; }
@media(max-width:480px) {
  .sg-pricing-quicklinks { display:grid; grid-template-columns:minmax(0,1fr); }
  .sg-pricing-quicklinks a { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  .header .sg-nav-caret { transition:none; }
}

.header .sg-nav-services:not([open]) > .sg-nav-services-panel {
  display: none !important;
}
.header .mobile-menu .sg-nav-services > summary {
  background: #eef6fc;
  color: #234866;
}
.header .mobile-menu .sg-nav-services > summary:hover,
.header .mobile-menu .sg-nav-services[open] > summary {
  background: #e4f1fb;
  color: #116eb0;
}

\n/* SG PRESTATIONS MENU ACCESSIBILITY UPDATE 2026-10-27 */
.header .desktop-menu .sg-nav-services > summary {
  min-height: 43px;
  padding: 10px 11px;
  border: 1px solid #a4cee9;
  border-radius: 10px;
  background: #eaf5fd;
  color: #13588c;
  font-weight: 800;
}
.header .desktop-menu .sg-nav-services > summary:hover,
.header .desktop-menu .sg-nav-services[open] > summary {
  background: #dceefa;
  border-color: #74b6df;
  color: #075987;
}
.header .desktop-menu .sg-nav-services-panel {
  width: min(570px, calc(100vw - 32px));
  padding: 17px;
  gap: 8px;
  border: 1px solid #b9d6eb;
  box-shadow: 0 20px 48px rgba(16,40,74,.20);
}
.header .desktop-menu .sg-nav-services-panel a {
  min-height: 46px;
  background: #f4f9fd;
  border: 1px solid #e2edf5;
  border-radius: 9px;
}
.header .desktop-menu .sg-nav-services-panel a:hover,
.header .desktop-menu .sg-nav-services-panel a:focus-visible {
  background: #deeffc;
  border-color: #b0d4ed;
}
.header .mobile-menu > nav {
  z-index: 110;
  max-height: calc(100dvh - 105px);
}
.header .mobile-menu .sg-nav-services > summary {
  font-weight: 800;
  border: 1px solid #aed5ef;
  background: #e6f3fc;
}
.header .mobile-menu .sg-nav-services-panel a {
  min-height: 44px;
  padding: 12px 10px;
  border-bottom: 1px solid #e4eff7;
}
.header .mobile-menu .sg-nav-services-panel a:last-child { border-bottom: 0; }
