:root{--bg:#ffffff;--surface:#f6f7f5;--surface2:#fff;--text:#080b0a;--muted:#59615f;--accent:#16c79a;--accent2:#0c7a5b;--line:rgba(5,12,10,.11);--shadow:0 42px 120px rgba(0,0,0,.11);--glow:0 0 70px rgba(22,199,154,.32);--glass:rgba(255,255,255,.64);--grain:.045;--speed:22s}body[data-theme="deep-space"]{--bg:#050816;--surface:#0f1725;--surface2:#0a111d;--text:#f5f7fa;--muted:#b7c0cc;--accent:#2ef2b3;--accent2:#16c79a;--line:rgba(255,255,255,.13);--shadow:0 45px 130px rgba(0,0,0,.55);--glow:0 0 110px rgba(46,242,179,.36);--glass:rgba(15,23,37,.57);--grain:.075;--speed:18s}body[data-theme="imperial-gold"]{--bg:#faf8f3;--surface:#fffaf0;--surface2:#fffdf8;--text:#111;--muted:#625d52;--accent:#c8a96b;--accent2:#9f7b3e;--line:rgba(56,40,13,.15);--shadow:0 45px 120px rgba(83,64,27,.16);--glow:0 0 80px rgba(200,169,107,.34);--glass:rgba(255,251,241,.68);--grain:.035;--speed:32s}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;transition:background .7s cubic-bezier(.2,.8,.2,1),color .7s ease;cursor:auto}a,button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a{cursor:pointer}#starfield{position:fixed;inset:0;width:100%;height:100%;z-index:-5;opacity:.82}.noise{position:fixed;inset:0;opacity:var(--grain);pointer-events:none;background-image:radial-gradient(var(--text) .65px,transparent .7px);background-size:13px 13px;z-index:-1;mix-blend-mode:multiply}body[data-theme="deep-space"] .noise{mix-blend-mode:screen}.aurora{position:fixed;border-radius:999px;filter:blur(90px);opacity:.32;pointer-events:none;z-index:-4;animation:aurora var(--speed) ease-in-out infinite}.aurora-a{width:620px;height:620px;background:var(--accent);top:-210px;right:-180px}.aurora-b{width:480px;height:480px;background:var(--accent2);bottom:-130px;left:-160px;animation-delay:-8s}.grid-light{position:fixed;inset:0;z-index:-3;opacity:.12;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:96px 96px;mask-image:radial-gradient(circle at 50% 10%,black,transparent 65%)}.loader{position:fixed;inset:0;background:var(--bg);z-index:999;display:grid;place-items:center;gap:18px;transition:opacity .75s ease,visibility .75s ease}.loader img{width:92px;filter:drop-shadow(var(--glow));animation:logoPulse 2s ease-in-out infinite}.loader span{font-weight:900;letter-spacing:-.05em;font-size:28px}.loader.hide{opacity:0;visibility:hidden}.cursor{display:none!important}

/* Logo AstraB2B inline : couleurs contrôlées par le thème, sans cyan résiduel ni tracé incomplet. */
.astra-logo-svg{width:42px;height:42px;color:var(--accent);overflow:visible;filter:drop-shadow(var(--glow));flex:0 0 auto}
.loader .astra-logo-svg{width:96px;height:96px;animation:logoPulse 2s ease-in-out infinite}
.brand .astra-logo-svg{width:40px;height:40px}
.portrait .astra-logo-svg{width:150px;height:150px}
.logo-star{fill:none;stroke:currentColor;stroke-width:18;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.logo-orbit{fill:none;stroke:currentColor;stroke-width:12;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.92;transform-origin:256px 256px;animation:logoOrbit 22s linear infinite}
.logo-orbit.orbit-two{opacity:.7;animation-duration:31s;animation-direction:reverse}
.logo-node,.logo-core{fill:currentColor}.logo-node.small{opacity:.86}.logo-cut{fill:var(--bg);opacity:.96}
.astra-visual-svg{width:min(600px,112%);height:auto;color:var(--accent);overflow:visible;filter:drop-shadow(var(--glow));animation:floatOrb 8s ease-in-out infinite}
.visual-halo{fill:currentColor;opacity:.18;filter:blur(10px)}
.visual-core{fill:var(--bg);stroke:currentColor;stroke-width:5;opacity:.96}
.visual-cut{fill:currentColor}
.visual-rings{fill:none;stroke:currentColor;stroke-linecap:round;transform-origin:360px 360px;animation:visualOrbit 38s linear infinite}
.visual-rings ellipse:nth-child(1){stroke-width:6;opacity:.86}.visual-rings ellipse:nth-child(2){stroke-width:4;opacity:.58}.visual-rings ellipse:nth-child(3){stroke-width:3;opacity:.38}
.visual-satellites{fill:currentColor;transform-origin:360px 360px;animation:visualOrbit 24s linear infinite reverse}.visual-satellites circle:nth-child(3){opacity:.65}
body[data-theme="astra-green"] .astra-logo-svg,body[data-theme="astra-green"] .astra-visual-svg{color:#16c79a}
body[data-theme="imperial-gold"] .astra-logo-svg,body[data-theme="imperial-gold"] .astra-visual-svg{color:#c8a96b}
@keyframes logoOrbit{to{transform:rotate(360deg)}}@keyframes visualOrbit{to{transform:rotate(360deg)}}

.navbar{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:min(1200px,92%);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 16px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(22px) saturate(1.3);border-radius:999px;z-index:50;box-shadow:0 18px 70px rgba(0,0,0,.1);transition:.38s}.navbar.scrolled{top:10px;width:min(1120px,90%);background:color-mix(in srgb,var(--bg) 82%,transparent)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.045em}.brand img{width:38px;height:38px;filter:drop-shadow(var(--glow))}.brand span{font-size:20px}nav{display:flex;gap:22px;font-size:14px;color:var(--muted)}nav a{transition:.25s}nav a:hover{color:var(--accent);text-shadow:var(--glow)}.nav-cta{padding:12px 18px;border-radius:999px;background:var(--text);color:var(--bg);font-size:14px;font-weight:800;box-shadow:0 10px 30px color-mix(in srgb,var(--text) 18%,transparent)}.section-pad{padding:128px max(6vw,24px)}.hero{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding-top:165px;position:relative}.hero:before{content:"";position:absolute;inset:8% 2%;border:1px solid var(--line);border-radius:54px;opacity:.26;mask-image:linear-gradient(90deg,black,transparent 73%);pointer-events:none}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--accent);font-size:12px;font-weight:900;margin-bottom:20px;text-shadow:var(--glow)}.hero h1{font-size:clamp(54px,8.4vw,122px);line-height:.86;letter-spacing:-.095em;max-width:950px}.hero h1 em{font-style:normal;color:var(--accent);text-shadow:var(--glow)}.section-head h2,.about h2,.contact-section h2{font-size:clamp(42px,5.7vw,82px);line-height:.92;letter-spacing:-.08em;max-width:1000px}.lead{margin-top:28px;color:var(--muted);font-size:clamp(17px,2vw,22px);line-height:1.7;max-width:720px}.actions{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:16px 24px;font-weight:900;border:1px solid var(--line);transition:transform .25s,box-shadow .25s,background .25s;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:-1px;background:linear-gradient(120deg,transparent,var(--accent),transparent);transform:translateX(-105%);opacity:.35;transition:.55s}.btn:hover:before{transform:translateX(105%)}.btn:hover{transform:translateY(-4px)}.primary{background:var(--accent);color:#07100d;box-shadow:var(--glow)}.secondary{background:color-mix(in srgb,var(--glass) 78%,transparent);color:var(--text);backdrop-filter:blur(16px)}.hero-stage{position:relative;min-height:560px;perspective:1100px}.stage-glass{position:absolute;inset:0;border:1px solid var(--line);border-radius:46px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 38%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 78%,transparent),color-mix(in srgb,var(--surface2) 56%,transparent));box-shadow:var(--shadow);overflow:hidden;display:grid;place-items:center;transform-style:preserve-3d}.stage-glass:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.15),transparent 48%);animation:sheen 7s ease-in-out infinite}.astral{width:min(580px,108%);filter:drop-shadow(var(--glow));animation:floatOrb 8s ease-in-out infinite}.scanner{position:absolute;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);top:28%;box-shadow:var(--glow);animation:scan 5s ease-in-out infinite}.metric-float{position:absolute;z-index:3;border:1px solid var(--line);border-radius:24px;background:var(--glass);backdrop-filter:blur(18px);padding:18px 20px;box-shadow:0 20px 60px rgba(0,0,0,.12);animation:drift 6s ease-in-out infinite}.metric-float span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.metric-float strong{display:block;margin-top:6px;color:var(--accent);font-size:22px}.m1{top:40px;left:-20px}.m2{right:-18px;top:42% ;animation-delay:-2s}.m3{left:22%;bottom:24px;animation-delay:-4s}.marquee{border-block:1px solid var(--line);overflow:hidden;padding:18px 0;background:color-mix(in srgb,var(--surface) 42%,transparent)}.marquee div{display:flex;gap:52px;width:max-content;animation:marquee 28s linear infinite}.marquee span{font-weight:900;color:var(--muted);opacity:.72;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.section-head{margin-bottom:56px}.cards,.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card,.price-card,.about-card,.contact-form,.step{border:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--surface2) 65%,transparent));border-radius:34px;padding:32px;box-shadow:0 14px 46px rgba(0,0,0,.055);transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden;transform-style:preserve-3d}.card:before,.price-card:before,.step:before,.contact-form:before,.about-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%);opacity:0;transition:.25s;pointer-events:none}.card:hover:before,.price-card:hover:before,.step:hover:before,.contact-form:hover:before,.about-card:hover:before{opacity:1}.card:hover,.price-card:hover,.step:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.card i{font-style:normal;color:var(--accent);font-weight:900}.card h3,.price-card h3,.step h3{font-size:26px;letter-spacing:-.045em;margin:20px 0 12px}.card p,.step p,.muted,.about-card p{color:var(--muted);line-height:1.7}.method-zone{position:relative;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--surface) 52%,transparent),transparent)}.timeline-line{height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:var(--glow);margin-bottom:28px;transform-origin:left;animation:linePulse 4s ease-in-out infinite}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step b{font-size:64px;letter-spacing:-.09em;color:color-mix(in srgb,var(--accent) 62%,transparent);text-shadow:var(--glow)}.price-card{min-height:680px;display:flex;flex-direction:column}.featured{border-color:var(--accent);transform:translateY(-12px);box-shadow:var(--glow)}.badge{position:absolute;top:18px;right:18px;border:1px solid var(--line);padding:7px 10px;border-radius:999px;color:var(--accent);font-size:12px;font-weight:900;background:var(--glass);backdrop-filter:blur(10px)}.price{font-size:48px;font-weight:900;letter-spacing:-.075em;color:var(--accent);margin:18px 0}.price-card ul{list-style:none;margin:26px 0;display:grid;gap:13px;color:var(--muted)}.price-card li:before{content:'✦';color:var(--accent);margin-right:9px}.price-card .btn{margin-top:auto}.about-card{max-width:1120px;margin:auto;display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:center}.portrait{height:240px;border-radius:36px;border:1px solid var(--line);display:grid;place-items:center;background:radial-gradient(circle,var(--accent),transparent 70%);box-shadow:var(--glow)}.portrait img{width:140px;filter:drop-shadow(var(--glow))}.logos{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.logos span{border:1px solid var(--line);border-radius:999px;padding:12px 16px;background:var(--surface2);font-weight:900;color:var(--muted);box-shadow:0 12px 34px rgba(0,0,0,.04)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}.contact-lines{display:grid;gap:12px;margin-top:30px;color:var(--muted)}.contact-form{display:grid;gap:15px}input,textarea{width:100%;padding:18px 19px;border-radius:20px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 82%,transparent);color:var(--text);outline:none;transition:.25s}input:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--glow)}textarea{resize:vertical}.contact-form button{border:0;border-radius:999px;padding:18px 24px;background:var(--accent);color:#07100d;font-weight:900;box-shadow:var(--glow)}.footer{display:flex;justify-content:space-between;gap:20px;padding:52px max(6vw,24px);border-top:1px solid var(--line);color:var(--muted);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--surface) 70%,transparent))}.footer div{display:flex;gap:18px}.theme-switcher{position:fixed;right:24px;bottom:24px;width:68px;height:68px;border-radius:24px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(20px);box-shadow:var(--shadow);z-index:80;display:grid;place-items:center;overflow:hidden}.theme-switcher span{width:28px;height:28px;border-radius:50%;background:conic-gradient(from 90deg,var(--accent),var(--text),var(--accent2),var(--accent));display:block;transition:.45s;box-shadow:var(--glow)}.theme-switcher small{position:absolute;bottom:7px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:900}.theme-switcher:hover span{transform:rotate(210deg) scale(1.15)}.reveal{opacity:0;transform:translateY(42px) scale(.98);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.18s}@keyframes aurora{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-45px,40px,0) scale(1.12)}}@keyframes logoPulse{50%{transform:scale(1.08) rotate(8deg);filter:drop-shadow(var(--glow))}}@keyframes floatOrb{50%{transform:translateY(-22px) rotate(4deg) scale(1.02)}}@keyframes scan{0%,100%{top:22%;opacity:.15}50%{top:74%;opacity:.9}}@keyframes drift{50%{transform:translateY(-14px)}}@keyframes sheen{50%{transform:translateX(55%)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes linePulse{50%{filter:brightness(1.7);transform:scaleX(.86)}}@media(max-width:980px){body{cursor:auto}.cursor{display:none}.hero,.contact-grid,.about-card{grid-template-columns:1fr}.cards,.pricing,.timeline{grid-template-columns:1fr}.navbar nav{display:flex}.hero{padding-top:135px}.hero-stage{min-height:470px}.featured{transform:none}.section-pad{padding:88px 22px}.footer{flex-direction:column}.m1,.m2,.m3{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin-top:12px}.hero-stage{display:grid}.stage-glass{position:relative;min-height:430px}.about-card{gap:24px}.portrait{height:180px}}@media(max-width:540px){.nav-cta{display:none}.brand span{font-size:18px}.hero h1{font-size:50px}.actions{flex-direction:column}.btn{width:100%}.navbar{top:10px}.theme-switcher{right:14px;bottom:14px;width:58px;height:58px}.hero-stage{min-height:auto}.stage-glass{min-height:360px}.astral{width:116%}}

/* Corrections finales logo thèmes fond blanc */
.stage-glass .astra-visual-svg{width:min(600px,112%);filter:drop-shadow(var(--glow));}
body[data-theme="astra-green"] .stage-glass .astra-visual-svg{color:#16c79a!important;}
body[data-theme="imperial-gold"] .stage-glass .astra-visual-svg{color:#c8a96b!important;}


/* Module contact pro + réservation Google */
.booking-shell{border:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,transparent),color-mix(in srgb,var(--surface2) 65%,transparent));border-radius:34px;padding:0;box-shadow:0 14px 46px rgba(0,0,0,.055);overflow:hidden;position:relative}
.booking-shell .contact-form{border:0;border-radius:0;background:transparent;box-shadow:none}
.contact-lines a{color:var(--text);font-weight:800}
select{width:100%;padding:18px 19px;border-radius:20px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 82%,transparent);color:var(--text);outline:none;transition:.25s}
select:focus{border-color:var(--accent);box-shadow:var(--glow)}
.calendar-panel{display:none;border-top:1px solid var(--line);padding:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface2) 75%,transparent),color-mix(in srgb,var(--surface) 92%,transparent))}
.calendar-panel.is-visible{display:block;animation:calendarReveal .45s cubic-bezier(.2,.8,.2,1)}
.calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.calendar-header h3{font-size:30px;letter-spacing:-.055em;margin-bottom:10px}
.calendar-header p:not(.eyebrow){color:var(--muted);line-height:1.6}
.calendar-open{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:12px 16px;font-weight:900;color:#07100d;background:var(--accent);box-shadow:var(--glow);white-space:nowrap}
.calendar-panel iframe{border-radius:24px;background:var(--surface2);min-height:680px}
.footer-contact{display:grid;gap:8px}
.footer-contact a{color:inherit}
@keyframes calendarReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:720px){.calendar-header{flex-direction:column}.calendar-open{width:100%}.calendar-panel{padding:18px}.calendar-panel iframe{height:620px}}


/* =========================================================
   FIX NAV MOBILE ANCRES — AstraB2B
   Une seule navigation : visible, scrollable, cliquable.
   ========================================================= */

.mobile-fixed-nav,
.mobile-menu-panel,
.mobile-menu-btn {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.navbar {
  position:fixed !important;
  top:16px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(1200px,92%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:22px !important;
  padding:12px 16px !important;
  border:1px solid var(--line) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.90) !important;
  backdrop-filter:blur(22px) saturate(1.3) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.3) !important;
  box-shadow:0 18px 70px rgba(0,0,0,.10) !important;
  z-index:99999 !important;
  overflow:visible !important;
}

body[data-theme="deep-space"] .navbar {
  background:rgba(5,8,22,.92) !important;
}

body[data-theme="imperial-gold"] .navbar {
  background:rgba(250,248,243,.94) !important;
}

.navbar.scrolled {
  top:10px !important;
  width:min(1120px,90%) !important;
}

.navbar .brand {
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  min-width:max-content !important;
}

.navbar .brand img {
  width:38px !important;
  height:38px !important;
}

.navbar .brand span {
  font-size:20px !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
}

.navbar .main-nav,
.navbar nav.main-nav,
.navbar nav[aria-label="Navigation principale"] {
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  overflow:visible !important;
}

.navbar .main-nav a {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  padding:10px 13px !important;
  border:1px solid transparent !important;
  border-radius:999px !important;
  color:var(--muted) !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1 !important;
  text-decoration:none !important;
  transition:.25s ease !important;
}

.navbar .main-nav a:hover,
.navbar .main-nav a:active {
  color:#07100d !important;
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  box-shadow:var(--glow) !important;
  text-shadow:none !important;
}

.navbar .nav-cta {
  display:inline-flex !important;
  flex:0 0 auto !important;
}

section,
#services,
#fonctionnement,
#offres,
#qui-suis-je,
#contact {
  scroll-margin-top:130px !important;
}

@media(max-width:980px) {
  .navbar,
  .navbar.scrolled {
    top:8px !important;
    left:3vw !important;
    right:3vw !important;
    transform:none !important;
    width:94vw !important;
    max-width:94vw !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:9px !important;
    padding:10px 10px 11px !important;
    border-radius:26px !important;
    overflow:visible !important;
  }

  .navbar .brand {
    width:100% !important;
    justify-content:center !important;
    gap:8px !important;
  }

  .navbar .brand img {
    width:34px !important;
    height:34px !important;
  }

  .navbar .brand span {
    font-size:18px !important;
  }

  .navbar .main-nav,
  .navbar nav.main-nav,
  .navbar nav[aria-label="Navigation principale"] {
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:2px 2px 6px !important;
    min-height:40px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    scroll-snap-type:x proximity !important;
  }

  .navbar .main-nav::-webkit-scrollbar,
  .navbar nav.main-nav::-webkit-scrollbar {
    display:none !important;
  }

  .navbar .main-nav a {
    flex:0 0 auto !important;
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    padding:9px 11px !important;
    border:1px solid var(--line) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.80) !important;
    color:var(--text) !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-shadow:0 8px 22px rgba(0,0,0,.05) !important;
    scroll-snap-align:start !important;
  }

  body[data-theme="deep-space"] .navbar .main-nav a {
    background:rgba(15,23,37,.88) !important;
  }

  body[data-theme="imperial-gold"] .navbar .main-nav a {
    background:rgba(255,251,241,.88) !important;
  }

  .navbar .nav-cta {
    display:none !important;
  }

  .hero {
    padding-top:198px !important;
  }

  section,
  #services,
  #fonctionnement,
  #offres,
  #qui-suis-je,
  #contact {
    scroll-margin-top:175px !important;
  }
}

@media(max-width:430px) {
  .navbar,
  .navbar.scrolled {
    top:7px !important;
    left:2.5vw !important;
    right:2.5vw !important;
    width:95vw !important;
    max-width:95vw !important;
    padding:9px 9px 10px !important;
    border-radius:24px !important;
  }

  .navbar .brand img {
    width:32px !important;
    height:32px !important;
  }

  .navbar .brand span {
    font-size:17px !important;
  }

  .navbar .main-nav {
    gap:6px !important;
    min-height:38px !important;
  }

  .navbar .main-nav a {
    font-size:11px !important;
    padding:8px 10px !important;
  }

  .hero {
    padding-top:190px !important;
  }

  section,
  #services,
  #fonctionnement,
  #offres,
  #qui-suis-je,
  #contact {
    scroll-margin-top:168px !important;
  }
}

@media(max-width:370px) {
  .navbar .main-nav a {
    font-size:10.5px !important;
    padding:8px 9px !important;
  }

  .hero {
    padding-top:188px !important;
  }
}



/* =========================================================
   ASTRA B2B — BOUTON FLOTTANT AUDIT COMMERCIAL OFFERT
   Version 20260527-5
   Objectif : CTA premium au-dessus du bouton Theme.
   ========================================================= */

.audit-shortcut {
  position: fixed !important;
  right: 24px !important;
  bottom: 108px !important;
  z-index: 2147483002 !important;

  width: 224px !important;
  height: 54px !important;
  padding: 0 22px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--accent) 60%, var(--line)) !important;
  background:
    radial-gradient(circle at 16% 18%, color-mix(in srgb, var(--accent) 32%, transparent), transparent 34%),
    linear-gradient(135deg,
      color-mix(in srgb, var(--text) 94%, var(--accent) 6%),
      color-mix(in srgb, var(--text) 82%, var(--accent) 18%)
    ) !important;

  color: var(--bg) !important;
  text-decoration: none !important;

  box-shadow:
    0 20px 54px rgba(0,0,0,.24),
    0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent),
    0 0 34px color-mix(in srgb, var(--accent) 28%, transparent) !important;

  backdrop-filter: blur(20px) saturate(1.22) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.22) !important;

  overflow: hidden !important;
  isolation: isolate !important;
  touch-action: manipulation !important;
  transform: translateZ(0) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.audit-shortcut::before {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  border-radius: inherit !important;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.20) 42%, transparent 68%) !important;
  opacity: .36 !important;
  transform: translateX(-92%) !important;
  transition: transform .62s cubic-bezier(.2,.8,.2,1), opacity .22s ease !important;
  z-index: -1 !important;
}

.audit-shortcut::after {
  content: "" !important;
  position: absolute !important;
  left: 24px !important;
  right: 24px !important;
  bottom: 9px !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--accent), transparent) !important;
  box-shadow: var(--glow) !important;
  opacity: .82 !important;
}

.audit-shortcut span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--bg) !important;
  font-size: 11.4px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .095em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  transform: translateY(-1px) !important;
}

.audit-shortcut:hover,
.audit-shortcut:active {
  transform: translateY(-3px) translateZ(0) !important;
  border-color: var(--accent) !important;
  box-shadow:
    0 26px 74px rgba(0,0,0,.31),
    0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent),
    var(--glow) !important;
}

.audit-shortcut:hover::before,
.audit-shortcut:active::before {
  transform: translateX(88%) !important;
  opacity: .70 !important;
}

body[data-theme="deep-space"] .audit-shortcut {
  background:
    radial-gradient(circle at 18% 20%, rgba(46,242,179,.30), transparent 35%),
    linear-gradient(135deg, rgba(245,247,250,.98), rgba(218,255,244,.92)) !important;
  color: #050816 !important;
  box-shadow: 0 24px 72px rgba(0,0,0,.52), var(--glow) !important;
}

body[data-theme="deep-space"] .audit-shortcut span {
  color: #050816 !important;
}

body[data-theme="imperial-gold"] .audit-shortcut {
  background:
    radial-gradient(circle at 18% 20%, rgba(200,169,107,.30), transparent 35%),
    linear-gradient(135deg, #111, #2b2113) !important;
  border-color: color-mix(in srgb, var(--accent) 62%, var(--line)) !important;
}

@media(max-width:980px) {
  .audit-shortcut {
    right: 14px !important;
    bottom: 84px !important;
    width: 190px !important;
    height: 48px !important;
    padding: 0 17px !important;
  }

  .audit-shortcut span {
    font-size: 9.8px !important;
    letter-spacing: .07em !important;
  }
}

@media(max-width:430px) {
  .audit-shortcut {
    right: 12px !important;
    bottom: 82px !important;
    width: 178px !important;
    height: 46px !important;
    padding: 0 14px !important;
  }

  .audit-shortcut span {
    font-size: 9.25px !important;
    letter-spacing: .055em !important;
  }
}

@media(max-width:360px) {
  .audit-shortcut {
    width: 166px !important;
  }

  .audit-shortcut span {
    font-size: 8.7px !important;
    letter-spacing: .04em !important;
  }
}

/* =========================================================
   CORRECTIONS AUDIT OFFERT — LISIBILITÉ + FORMULAIRE FIXE
   ========================================================= */

.booking-shell,
.booking-shell .contact-form {
  transform: none !important;
}

.form-help,
.calendar-note {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.calendar-note {
  margin-top: 14px;
}

body[data-theme="deep-space"] input,
body[data-theme="deep-space"] textarea,
body[data-theme="deep-space"] select {
  background: rgba(245,247,250,.96) !important;
  color: #050816 !important;
  border-color: rgba(46,242,179,.42) !important;
}

body[data-theme="deep-space"] input::placeholder,
body[data-theme="deep-space"] textarea::placeholder {
  color: rgba(5,8,22,.62) !important;
}

body[data-theme="deep-space"] .booking-shell {
  background: linear-gradient(145deg, rgba(15,23,37,.98), rgba(5,8,22,.96)) !important;
  border-color: rgba(46,242,179,.35) !important;
}

body[data-theme="deep-space"] .calendar-panel {
  background: #f5f7fa !important;
  color: #050816 !important;
  border-color: rgba(46,242,179,.38) !important;
}

body[data-theme="deep-space"] .calendar-header h3,
body[data-theme="deep-space"] .calendar-header p:not(.eyebrow),
body[data-theme="deep-space"] .calendar-note {
  color: #050816 !important;
}

body[data-theme="deep-space"] .calendar-panel .eyebrow {
  color: #0c7a5b !important;
  text-shadow: none !important;
}

body[data-theme="deep-space"] .calendar-panel iframe {
  background: #fff !important;
  color-scheme: light !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.18) !important;
}

body[data-theme="deep-space"] .calendar-open {
  background: #16c79a !important;
  color: #050816 !important;
  border-color: #16c79a !important;
}
