/* Menu des pages publiques (vitrine + pages légales). Le balisage vient de /assets/js/menu.js,
   qui l'injecte à la place de [data-site-menu] : un seul modèle pour les quatre pages. Le panneau
   reste vert VETORA dans les deux thèmes ; seul le texte des pages légales change de thème. */
.site-menu-slot{display:inline-flex;width:44px;height:44px;flex:0 0 44px}
.sm-trigger{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff40;background:#ffffff0d;color:#fff;display:grid;place-items:center;padding:0;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
.sm-trigger:hover{background:#ffffff24;border-color:#ffffff70}
.sm-trigger:focus-visible,.sm-close:focus-visible,.sm-panel a:focus-visible,.sm-panel button:focus-visible{outline:3px solid #c7e6d5;outline-offset:3px}
.sm-burger{position:relative;width:18px;height:12px;display:block}
.sm-burger i{position:absolute;left:0;height:1.5px;border-radius:2px;background:currentColor;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s,width .32s cubic-bezier(.22,1,.36,1),top .32s cubic-bezier(.22,1,.36,1)}
.sm-burger i:nth-child(1){top:0;width:18px}.sm-burger i:nth-child(2){top:5.25px;width:12px}.sm-burger i:nth-child(3){top:10.5px;width:15px}
.sm-trigger:hover .sm-burger i{width:18px}
/* La croix : les trois traits se rejoignent au centre. */
.is-x .sm-burger i:nth-child(1){top:5.25px;width:18px;transform:rotate(45deg)}
.is-x .sm-burger i:nth-child(2){opacity:0;transform:translateX(-6px)}
.is-x .sm-burger i:nth-child(3){top:5.25px;width:18px;transform:rotate(-45deg)}

html.sm-locked,html.sm-locked body{overflow:hidden}

.sm-root{position:fixed;inset:0;z-index:1000;visibility:hidden;transition:visibility 0s linear .34s}
.sm-root.is-open{visibility:visible;transition-delay:0s}
.sm-veil{position:absolute;inset:0;background:#06191580;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);opacity:0;transition:opacity .34s ease}
.is-open .sm-veil{opacity:1}
.sm-panel{position:absolute;top:0;left:0;bottom:0;width:min(360px,88vw);display:flex;flex-direction:column;color:#f7faf7;font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;
  background:radial-gradient(120% 60% at 0% 0%,#1f5a4c 0%,transparent 60%),radial-gradient(90% 50% at 100% 100%,#c7e6d514 0%,transparent 70%),linear-gradient(180deg,#123832,#0b2621);
  box-shadow:24px 0 80px #00000059,inset -1px 0 0 #ffffff14;border-radius:0 24px 24px 0;overflow:hidden;
  transform:translateX(-104%);opacity:.6;transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .34s cubic-bezier(.22,1,.36,1)}
.is-open .sm-panel{transform:none;opacity:1}
.sm-root.is-closing .sm-panel{transition-duration:.26s;transition-timing-function:cubic-bezier(.55,0,.75,.2)}
.sm-root.is-closing .sm-veil{transition-duration:.26s}

.sm-head{display:flex;align-items:center;gap:14px;padding:16px 20px 6px;padding-top:max(18px,env(safe-area-inset-top))}
.sm-close{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff30;background:#ffffff0d;color:#fff;display:grid;place-items:center;padding:0;cursor:pointer}
.sm-close:hover{background:#ffffff1f}
.sm-head img{width:118px;height:auto;filter:brightness(0) invert(1)}
.sm-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px 14px 18px}
.sm-label{margin:18px 10px 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#c7e6d5b3}
.sm-list{list-style:none;margin:0;padding:0}
.sm-link{position:relative;display:flex;align-items:center;gap:14px;min-height:42px;padding:8px 12px;border-radius:14px;color:#e3ede7;text-decoration:none;font-size:15px;transition:background .2s,color .2s}
.sm-link::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:2px;border-radius:2px;background:#c7e6d5;transform:scaleY(0);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.sm-link:hover{background:#ffffff0f;color:#fff}
.sm-link:hover::before,.sm-link[aria-current="page"]::before{transform:scaleY(1)}
.sm-link[aria-current="page"]{background:#c7e6d51a;color:#fff;font-weight:600}
.sm-link svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.sm-link small{display:block;font-size:12px;color:#c7e6d599;font-weight:400;margin-top:1px}
.sm-link .sm-ext{width:14px;height:14px;margin-left:auto;opacity:.5}
.sm-cta{margin:6px 0 4px;background:#f7faf7;color:#173e35;font-weight:600;justify-content:space-between}
.sm-cta:hover{background:#c7e6d5;color:#173e35}
.sm-cta::before{display:none}
.sm-foot{padding:16px 24px;padding-bottom:max(18px,env(safe-area-inset-bottom));border-top:1px solid #ffffff1a;background:#00000026}
.sm-vetex{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#e3ede7;text-decoration:none;font-size:12px}
.sm-vetex img{width:132px;height:auto;display:block}
.sm-vetex span{display:flex;align-items:center;gap:6px;opacity:.8}
.sm-vetex:hover span{opacity:1;text-decoration:underline}
.sm-vetex svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6}
/* L'image de Payzone a un fond blanc plein : une pastille blanche plutôt qu'un rectangle posé sur le vert. */
.sm-payzone{display:block;box-sizing:border-box;width:min(100%,260px);height:auto;margin:12px auto 0;padding:5px 8px;background:#fff;border-radius:8px}
.sm-legal{margin:12px 0 0;font-size:11px;line-height:1.6;color:#c7e6d580}

/* Entrées en léger décalage. */
.sm-anim{opacity:0;transform:translateX(-14px);transition:opacity .3s ease,transform .38s cubic-bezier(.22,1,.36,1)}
.is-open .sm-anim{opacity:1;transform:none}
.is-open .sm-d1{transition-delay:0.078s}.is-open .sm-d2{transition-delay:0.106s}.is-open .sm-d3{transition-delay:0.134s}.is-open .sm-d4{transition-delay:0.162s}
.is-open .sm-d5{transition-delay:0.190s}.is-open .sm-d6{transition-delay:0.218s}.is-open .sm-d7{transition-delay:0.246s}.is-open .sm-d8{transition-delay:0.274s}
.is-open .sm-d9{transition-delay:0.302s}.is-open .sm-d10{transition-delay:0.330s}.is-open .sm-d11{transition-delay:0.358s}.is-open .sm-d12{transition-delay:0.386s}
.is-open .sm-d13{transition-delay:0.414s}.is-open .sm-d14{transition-delay:0.442s}
.sm-root.is-closing .sm-anim{transition-delay:0s!important;transition-duration:.15s}

/* Écran bas (portable 1280×800) : on resserre pour garder toute la liste visible sans défiler. */
@media (max-height:860px){.sm-list li{margin:0}.sm-link{min-height:38px;padding-top:6px;padding-bottom:6px}.sm-label{margin-top:12px}.sm-foot{padding-top:10px}.sm-vetex img{width:100px}.sm-payzone{margin-top:8px}.sm-legal{margin-top:8px}}

@media (max-width:600px){.sm-panel{width:88vw;border-radius:0 20px 20px 0}.site-menu-slot,.sm-trigger{width:40px;height:40px;flex-basis:40px}}

@media (prefers-reduced-motion:reduce){
  .sm-panel{transform:none;transition:opacity .2s linear}
  .sm-anim{transform:none;transition:opacity .2s linear}
  .is-open .sm-anim{transition-delay:0s!important}
  .sm-burger i{transition:none}
}
@media print{.site-menu-slot,.sm-root{display:none}}
