/* ============================================
   Insertio : navigation, menus déroulants,
   menu mobile, prise de rendez-vous
   ============================================ */

/* Lien d'évitement (clavier / lecteur d'écran) */
.skip-link{position:absolute; left:16px; top:-60px; z-index:200; background:var(--navy); color:#fff; padding:12px 18px; border-radius:12px; font-weight:700; transition:top .2s ease;}
.skip-link:focus{top:12px;}

/* ---------- En-tête ---------- */
.nav{gap:24px;}
.main-nav .nav-list{list-style:none; display:flex; align-items:center; gap:6px;}
.main-nav .nav-list > li{position:relative;}
.main-nav .nav-list > li > a,
.menu-btn{display:inline-flex; align-items:center; gap:6px; padding:10px 14px; border-radius:var(--r-full); font-size:0.94rem; font-weight:600; color:var(--ink); opacity:0.82; transition:opacity .2s ease, background .2s ease;}
.main-nav .nav-list > li > a:hover, .menu-btn:hover, .menu-btn[aria-expanded="true"]{opacity:1; background:var(--tint-gray);}
.main-nav .nav-list > li > a[aria-current="page"]{opacity:1; background:var(--tint-violet); color:var(--violet);}
.menu-btn svg{width:14px; height:14px; transition:transform .25s ease;}
.menu-btn[aria-expanded="true"] svg{transform:rotate(180deg);}

/* Menus déroulants */
.menu{position:absolute; top:calc(100% + 10px); left:50%; min-width:320px; padding:10px; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 24px 60px rgba(20,20,43,0.14); opacity:0; visibility:hidden; transform:translate(-50%,8px); transition:opacity .22s ease, transform .22s ease, visibility .22s; z-index:70;}
.menu::before{content:""; position:absolute; left:0; right:0; top:-14px; height:14px;}
.menu.open{opacity:1; visibility:visible; transform:translate(-50%,0);}
.menu a{display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:16px; color:var(--ink); transition:background .18s ease;}
.menu a:hover, .menu a:focus-visible{background:var(--tint-gray);}
.menu a[aria-current="page"]{background:var(--tint-violet);}
.menu strong{display:block; font-size:0.95rem; font-weight:700;}
.menu small{display:block; font-size:0.82rem; color:var(--muted); margin-top:1px;}
.menu .menu-all{background:var(--tint-violet); margin-bottom:6px;}
.menu .menu-all:hover{background:#E6E6FD;}
.menu-ico{flex:none; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:#fff; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:1rem;}
.menu-all .menu-ico{background:var(--grad);}
.menu-ico svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.menu-team{min-width:340px;}
.menu-avatar{flex:none; width:40px; height:40px; border-radius:50%; object-fit:cover; object-position:center top; background:var(--tint-gray);}

/* Bouton rendez-vous de l'en-tête */
.cta.cta-rdv{white-space:nowrap;}
.cta-rdv svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}

/* ---------- Menu mobile ---------- */
.burger{display:none; width:46px; height:46px; border-radius:50%; background:var(--tint-gray); position:relative; flex:none;}
.burger span, .burger span::before, .burger span::after{position:absolute; left:50%; width:20px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s ease, background .2s ease;}
.burger span{top:50%; transform:translate(-50%,-50%);}
.burger span::before, .burger span::after{content:""; left:0;}
.burger span::before{top:-6px;}
.burger span::after{top:6px;}
.burger[aria-expanded="true"] span{background:transparent;}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}

.mobile-menu{display:none;}
@media (max-width:980px){
  .main-nav{display:none;}
  .burger{display:inline-block;}
  .nav .cta.cta-rdv{padding:11px 18px; font-size:0.85rem;}
  .mobile-menu{display:block; position:fixed; inset:var(--hdr-h,72px) 0 0 0; background:var(--bg); overflow-y:auto; padding:12px 20px 40px; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .25s ease, transform .25s ease, visibility .25s; z-index:45;}
  .mobile-menu.open{opacity:1; visibility:visible; transform:none;}
  body.menu-open{overflow:hidden;}
}
@media (max-width:420px){ .nav .cta.cta-rdv span.lbl-long{display:none;} }
.m-link, .m-group summary{display:flex; align-items:center; justify-content:space-between; padding:18px 4px; font-family:'Bricolage Grotesque',sans-serif; font-size:1.35rem; font-weight:800; border-bottom:1px solid var(--line); color:var(--ink); cursor:pointer; list-style:none;}
.m-group summary::-webkit-details-marker{display:none;}
.m-group summary::after{content:""; width:9px; height:9px; border:solid var(--muted); border-width:0 2px 2px 0; transform:rotate(45deg); transition:transform .25s ease; margin-right:6px;}
.m-group[open] summary::after{transform:rotate(-135deg);}
.m-sub{display:flex; flex-direction:column; padding:8px 0 14px;}
.m-sub a{display:flex; align-items:center; gap:14px; padding:12px 8px; border-radius:14px; font-weight:600;}
.m-sub a:active{background:var(--tint-gray);}
.m-sub small{display:block; color:var(--muted); font-size:0.82rem; font-weight:500;}
.m-cta{display:flex; justify-content:center; margin-top:28px; width:100%; padding:18px; border-radius:var(--r-full); background:var(--grad); color:#fff; font-weight:800; font-size:1.05rem; box-shadow:0 14px 30px rgba(93,95,236,0.3);}
.m-note{text-align:center; color:var(--muted); font-size:0.88rem; margin-top:12px;}

/* ---------- Fenêtre Calendly ---------- */
.calendly-overlay .calendly-popup{border-radius:24px; overflow:hidden;}
.rdv-loading{position:fixed; left:50%; bottom:30px; transform:translateX(-50%); background:var(--navy); color:#fff; padding:14px 22px; border-radius:var(--r-full); font-weight:700; font-size:0.92rem; z-index:9999; box-shadow:0 14px 30px rgba(20,20,43,0.3);}
@media (max-width:420px){ .cta-rdv .lbl-long{display:none;} .cta-rdv .lbl-short{display:inline !important;} }
