@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
html{scrollbar-width:auto!important;scrollbar-gutter:stable!important}
::-webkit-scrollbar{width:15px!important}
body.sv-static-header{padding-top:65px}
#sv-global-header,#sv-global-header *{box-sizing:border-box}
#sv-global-header{
  position:fixed!important;inset:0 0 auto!important;width:auto!important;height:65px!important;
  z-index:99999!important;background:rgba(7,8,22,.93)!important;
  border-top:0!important;border-bottom:1px solid #42286b!important;
  box-shadow:0 8px 35px #0d0723aa!important;backdrop-filter:blur(18px);
  color:#fff!important;font:16px/1.65 "DM Sans",sans-serif!important;
}
body.admin-bar #sv-global-header{top:32px!important}
#sv-global-header .topbar{
  width:100%!important;max-width:none!important;height:64px!important;min-height:64px!important;
  margin:0!important;padding:0 2.5%!important;display:flex!important;align-items:center!important;
  justify-content:space-between!important;gap:1.2rem!important;background:transparent!important;
}
#sv-global-header .brand{
  display:flex!important;align-items:center!important;flex:0 0 auto!important;
  width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;
  margin:0!important;padding:0!important;gap:0!important;overflow:visible!important;
  font:600 clamp(1rem,1.6vw,1.55rem)/1 Georgia,serif!important;
  letter-spacing:-.045em!important;text-transform:uppercase!important;text-decoration:none!important;
  color:#ffd58b!important;filter:drop-shadow(0 0 5px #ae77ff77);
}
#sv-global-header .brand-v{display:inline-block;font:bold 1.65em/.6 Georgia,serif;margin:0 -.04em 0 -.02em;transform:translateY(.09em);color:#e055ff;text-shadow:0 0 12px #dd2fff,0 0 24px #7b28ff}
#sv-global-header .brand-end{color:#69baff;text-shadow:0 0 12px #225dff}
#sv-global-header .brand small{display:block;font:400 .32em/1.7 Arial,sans-serif;letter-spacing:.22em;text-align:center;color:#ffd891}
#sv-global-header .desktop{
  display:flex!important;align-items:center!important;flex:0 0 auto!important;min-width:0!important;
  margin:0!important;padding:0!important;gap:clamp(.4rem,1.35vw,1.6rem)!important;
  white-space:nowrap!important;background:transparent!important;
}
#sv-global-header .desktop a{
  display:block!important;flex:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:#f5efff!important;text-transform:uppercase!important;text-decoration:none!important;
  white-space:nowrap!important;font:600 clamp(.59rem,.82vw,.78rem)/1.65 "DM Sans",sans-serif!important;
}
#sv-global-header .desktop a:hover{color:#fff!important;text-shadow:0 0 10px #e735ff!important}
#sv-global-header .desktop a[aria-current="page"]{
  position:relative!important;padding:0!important;border:0!important;
  color:#fff!important;text-shadow:0 0 10px #e735ff!important;
}
#sv-global-header .desktop a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:#ed39ff}
#sv-global-header .nav-icons{
  display:flex!important;align-items:center!important;flex:0 0 auto!important;
  margin:0!important;padding:0!important;gap:1rem!important;
  font:20.8px/1.65 "DM Sans",sans-serif!important;
}
#sv-global-header .nav-icons a{display:block!important;margin:0!important;padding:0!important;border:0!important;color:#fff!important;text-decoration:none!important;font:inherit!important}
#sv-global-header .nav-icons a:hover{color:#f0aaff!important}
#sv-global-header .menu-button{
  display:none!important;background:transparent!important;color:#fff!important;
  border:1px solid #a845f2!important;padding:.55rem .8rem!important;
  font:16px/1.65 "DM Sans",sans-serif!important;cursor:pointer;
}
#sv-global-header .mobile{
  display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;
  background:#080915!important;border-bottom:1px solid #42286b!important;
  max-height:calc(100dvh - 69px);overflow:auto;padding:12px 5%;
}
#sv-global-header .mobile.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#sv-global-header .mobile a{display:block;padding:11px 12px;color:#f5efff;text-decoration:none;text-transform:uppercase;font:600 12px/1.4 "DM Sans",sans-serif}
#sv-global-header .mobile a[aria-current="page"]{color:#fff;box-shadow:inset 0 -2px #ed39ff}
@media(max-width:1200px){
  body.sv-static-header{padding-top:69px}
  #sv-global-header{height:69px!important}
  #sv-global-header .topbar{height:68px!important;min-height:68px!important}
  #sv-global-header .desktop{display:none!important}
  #sv-global-header .nav-icons{margin-left:auto!important}
  #sv-global-header .menu-button{display:block!important}
}
@media(max-width:760px){
  #sv-global-header .mobile.open{grid-template-columns:1fr}
}
@media(max-width:460px){
  #sv-global-header .nav-icons{gap:.6rem!important}
  #sv-global-header .nav-icons a:first-child{display:none!important}
}
@media(max-width:782px){body.admin-bar #sv-global-header{top:46px!important}}

/* Logo : ondulation douce, sans déplacer le menu ni la signature. */
#sv-global-header .brand-start,
#sv-global-header .brand-end{display:inline-block;animation:sv-logo-wave 3.8s ease-in-out infinite}
#sv-global-header .brand-start{animation-delay:0s}
#sv-global-header .brand-end{animation-delay:-2.5s}
#sv-global-header .brand-v{animation:sv-logo-wave-v 3.8s ease-in-out infinite;animation-delay:-1.25s}
@keyframes sv-logo-wave{
  0%,100%{transform:translateY(0) rotate(0deg)}
  25%{transform:translateY(-2px) rotate(-.6deg)}
  75%{transform:translateY(2px) rotate(.6deg)}
}
@keyframes sv-logo-wave-v{
  0%,100%{transform:translateY(.09em) rotate(0deg)}
  25%{transform:translateY(calc(.09em - 2px)) rotate(-.6deg)}
  75%{transform:translateY(calc(.09em + 2px)) rotate(.6deg)}
}
@media(prefers-reduced-motion:reduce){
  #sv-global-header .brand-start,#sv-global-header .brand-v,#sv-global-header .brand-end{animation:none}
}

/* Saint-Quentin weather — compact header widget */
#sv-global-header .nav-icons .sv-header-weather{display:flex!important;align-items:center!important;gap:7px!important;padding:4px 10px!important;border:1px solid #76549c66!important;border-radius:10px!important;background:#20142b55!important;font:12px/1.2 "DM Sans",sans-serif!important;color:#f4e4bf!important;white-space:nowrap}
#sv-global-header .sv-weather-icon{font-size:21px;line-height:1}
#sv-global-header .sv-weather-details{display:flex;flex-direction:column;gap:3px}
#sv-global-header .sv-weather-details small{font-size:9px;color:#d1c4db}
#sv-global-header .sv-weather-details strong{font-size:12px;font-weight:600}
@media(max-width:600px){#sv-global-header .nav-icons{gap:10px!important}#sv-global-header .nav-icons .sv-header-weather{gap:3px!important;padding:3px 5px!important}#sv-global-header .sv-weather-details small{display:none}#sv-global-header .sv-weather-icon{font-size:17px}}
@media(max-width:380px){#sv-global-header .nav-icons .sv-header-weather{padding:2px!important;border:0!important}#sv-global-header .sv-weather-icon{display:none}}

/* Agenda officiel de Saint-Quentin */
#sv-global-header .nav-icons .sv-header-agenda{display:flex!important;align-items:center!important;gap:6px!important;padding:5px 9px!important;border:1px solid rgba(227,199,109,.3)!important;border-radius:10px!important;text-decoration:none!important;color:#e3c76d!important;line-height:1.15!important;white-space:nowrap!important;font-size:18px!important}
#sv-global-header .sv-header-agenda small{display:block!important;font-size:9px!important;font-weight:400!important;color:#d7cfe6!important}
#sv-global-header .sv-header-agenda strong{display:block!important;font-size:12px!important;font-weight:600!important}
#sv-global-header .sv-header-agenda:hover{background:rgba(227,199,109,.1)!important;border-color:#e3c76d!important}
@media(max-width:600px){#sv-global-header .nav-icons .sv-header-agenda{gap:3px!important;padding:4px 5px!important;font-size:16px!important}#sv-global-header .sv-header-agenda small{display:none!important}#sv-global-header .sv-header-agenda strong{font-size:11px!important}}
@media(max-width:420px){#sv-global-header .nav-icons .sv-header-agenda{padding:3px!important;border:0!important}#sv-global-header .sv-header-agenda>span:first-child{display:none!important}}

/* Experience navigation */
#sv-global-header .sv-exp-nav{position:relative!important}
#sv-global-header .sv-exp-row{display:flex!important;align-items:center!important;gap:2px!important}
#sv-global-header .sv-exp-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:32px!important;padding:0!important;border:0!important;background:transparent!important;color:#e3c76d!important;cursor:pointer!important;font-size:17px!important}
#sv-global-header .sv-exp-toggle:focus-visible{outline:2px solid #e3c76d!important;border-radius:4px}
#sv-global-header .sv-exp-submenu[hidden]{display:none!important}
#sv-global-header .desktop .sv-exp-submenu{position:absolute!important;top:100%!important;left:-12px!important;min-width:235px!important;padding:12px!important;border:1px solid #71418c!important;border-radius:12px!important;background:#100b1e!important;box-shadow:0 16px 35px #0008!important;z-index:100!important}
#sv-global-header .sv-exp-submenu a{display:block!important;padding:12px 10px!important;font-size:13px!important;line-height:1.3!important;text-transform:none!important;white-space:nowrap!important;border-radius:6px!important;color:#eee!important;text-decoration:none!important}
#sv-global-header .sv-exp-submenu a:hover,#sv-global-header .sv-exp-submenu a:focus-visible{background:#61377855!important;color:#e3c76d!important}
#sv-global-header .mobile .sv-exp-row{justify-content:space-between!important}
#sv-global-header .mobile .sv-exp-row>a{flex:1!important}
#sv-global-header .mobile .sv-exp-toggle{width:44px!important;height:44px!important}
#sv-global-header .mobile .sv-exp-submenu{padding:0 8px 8px 16px!important;border-left:2px solid #71418c!important;margin-left:12px!important}
#sv-global-header .mobile{max-height:calc(100dvh - 65px)!important;overflow-y:auto!important}
