/* ==========================================================================
   14. Dock latéral simplifié (retour client 16/10) : 2 boutons, options déployées à gauche
   ========================================================================== */
/* les 6 icônes d'origine restent en place (repère des panneaux) mais deviennent invisibles */
html.l3-has-dock .social-icons{opacity:0!important;pointer-events:none!important}
html.l3-has-dock .social-icons *{pointer-events:none!important}
.l3-dock{position:fixed;right:clamp(14px,1.4vw,22px);top:160px;z-index:120;display:flex;flex-direction:column;gap:14px}
.l3-dock-g{position:relative}
.l3-dock-btn{all:unset;box-sizing:border-box;position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;cursor:pointer;color:#fff;background:var(--g);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.45),0 8px 20px rgba(76,39,126,.28);transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .3s}
.l3-dock-btn::before{content:"";position:absolute;inset:4% 14% 52%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}
.l3-dock-btn svg{width:24px;height:24px;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.l3-dock-btn:hover{transform:scale(1.07)}
.l3-dock-g.is-open .l3-dock-btn{box-shadow:inset 0 1px 1px rgba(255,255,255,.45),0 0 0 4px rgba(255,255,255,.7),0 8px 20px rgba(76,39,126,.3)}
.l3-dock-g.is-open .l3-dock-btn svg{transform:rotate(90deg)}
.l3-dock-btn:focus-visible{outline:3px solid #4c277e;outline-offset:3px}
html[data-theme="dark"] .l3-dock-btn:focus-visible{outline-color:#ffd166}
/* menu à gauche, options empilées */
.l3-dock-menu{position:absolute;right:calc(100% + 14px);top:0;margin:0;padding:8px;list-style:none;display:flex;flex-direction:column;gap:6px;min-width:220px;border-radius:22px;
  background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,255,255,.78));-webkit-backdrop-filter:blur(26px) saturate(190%);backdrop-filter:blur(26px) saturate(190%);
  box-shadow:inset 0 1px 1px #fff,inset 0 0 0 1px rgba(255,255,255,.6),0 18px 40px rgba(36,18,63,.18);transform-origin:100% 26px;animation:l3dock .3s cubic-bezier(.2,.8,.2,1)}
.l3-dock-menu[hidden]{display:none}
@keyframes l3dock{from{opacity:0;transform:translateX(10px) scale(.96)}}
html[data-theme="dark"] .l3-dock-menu{background:linear-gradient(160deg,rgba(58,44,98,.95),rgba(37,26,64,.9));box-shadow:inset 0 1px 1px rgba(255,255,255,.2),inset 0 0 0 1px rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.4)}
.l3-dock-menu li{margin:0;animation:l3dockit .35s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--k)*40ms)}
@keyframes l3dockit{from{opacity:0;transform:translateX(8px)}}
.l3-dock-it{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;padding:7px 14px 7px 7px;border-radius:14px;cursor:pointer;font:700 .95rem/1.2 Gantari,system-ui,sans-serif;color:#24123f!important;text-decoration:none!important;transition:background .2s,transform .2s}
html[data-theme="dark"] .l3-dock-it{color:#f3ecff!important}
.l3-dock-it .ic{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;color:#fff;background:var(--g);box-shadow:inset 0 1px 1px rgba(255,255,255,.4)}
.l3-dock-it .ic svg{width:19px;height:19px}
.l3-dock-it:hover,.l3-dock-it:focus-visible{background:rgba(131,0,224,.08);transform:translateX(-3px)}
html[data-theme="dark"] .l3-dock-it:hover,html[data-theme="dark"] .l3-dock-it:focus-visible{background:rgba(255,255,255,.08)}
.l3-dock-it:focus-visible{outline:2px solid #4c277e;outline-offset:-2px}
@media (prefers-reduced-motion:reduce){.l3-dock-menu,.l3-dock-menu li{animation:none}.l3-dock-btn,.l3-dock-btn svg{transition:none}}
html[data-motion="reduce"] :is(.l3-dock-menu,.l3-dock-menu li){animation:none}
/* en dessous de 1200 px tout passe dans le menu burger */
@media (max-width:1200px){html.l3 .l3-dock{display:none}}
/* v2.1 : le dock suit la colonne d'origine (masquée en même temps qu'elle) */
html:not(.l3) .l3-dock.is-off{display:none}

html.l3-has-dock .l21-panel.l21-panel-side{position:fixed!important;top:160px!important;right:calc(clamp(14px,1.4vw,22px) + 66px)!important;left:auto!important;width:min(380px,calc(100vw - 120px))!important;z-index:130}

/* ---------- Panneaux Accessibilité / Versions : même verre que les menus, dans toutes les versions ---------- */
html.l3-has-dock .l21-panel{--nb:linear-gradient(145deg,#faf7ff,#ebe3f8);--nfg:#4c277e;--nbd:rgba(255,255,255,.6);--nsh:6px 6px 14px rgba(140,112,190,.22),-6px -6px 14px rgba(255,255,255,.95);--nsh-h:3px 3px 8px rgba(140,112,190,.2),-3px -3px 8px rgba(255,255,255,.95);--nin:inset 3px 3px 8px rgba(140,112,190,.25),inset -3px -3px 8px rgba(255,255,255,.95);--fg2:#5d4f7a}
html.l3-has-dock[data-theme="dark"] .l21-panel{--nb:linear-gradient(145deg,#3a2c62,#2a1f48);--nfg:#f3ecff;--nbd:rgba(255,255,255,.08);--nsh:6px 6px 14px rgba(8,3,20,.45),-4px -4px 12px rgba(255,255,255,.05);--nsh-h:3px 3px 8px rgba(8,3,20,.4),-2px -2px 8px rgba(255,255,255,.05);--nin:inset 3px 3px 8px rgba(8,3,20,.5),inset -2px -2px 8px rgba(255,255,255,.05)}
@keyframes l3dock{from{opacity:0;transform:translateX(10px) scale(.96)}}
/* ==========================================================================
   15. Panneaux Accessibilité et Versions : même verre que les menus, placés à côté du dock (retour Philip 16/10)
   ========================================================================== */
html.l3-has-dock .l21-panel.l21-panel-side{position:fixed!important;top:160px!important;right:calc(clamp(14px,1.4vw,22px) + 66px)!important;left:auto!important;width:min(380px,calc(100vw - 120px))!important;z-index:130}
html.l3-has-dock .l21-panel{border:0!important;border-radius:24px!important;padding:22px 22px 20px!important;color:#24123f!important;
  background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(255,255,255,.82))!important;-webkit-backdrop-filter:blur(26px) saturate(190%);backdrop-filter:blur(26px) saturate(190%);
  box-shadow:inset 0 1px 1px #fff,inset 0 0 0 1px rgba(255,255,255,.6),0 18px 40px rgba(36,18,63,.18)!important;animation:l3dock .3s cubic-bezier(.2,.8,.2,1)}
html.l3-has-dock[data-theme="dark"] .l21-panel{color:#f3ecff!important;background:linear-gradient(160deg,rgba(58,44,98,.96),rgba(37,26,64,.92))!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.2),inset 0 0 0 1px rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.4)!important}
html.l3-has-dock .l21-panel h2{font:900 italic 1.3rem/1.15 Gantari,system-ui,sans-serif!important;margin:0 0 1rem!important;background:linear-gradient(90deg,#8300e0,#c2187a 60%,#d35400);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
html.l3-has-dock[data-theme="dark"] .l21-panel h2{background-image:linear-gradient(90deg,#efe6ff,#f05ea8 50%,#ffd000)}
html.l3-has-dock .l21-panel legend{font:800 italic .74rem/1 Gantari,system-ui,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:#6814af!important;margin-bottom:.6rem!important}
html.l3-has-dock[data-theme="dark"] .l21-panel legend{color:#d6c2ff!important}
/* taille du texte : segment en creux, option choisie en relief */
html.l3-has-dock .l21-panel .l21-seg{display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--nb);box-shadow:var(--nin)}
html.l3-has-dock .l21-panel .l21-seg label{flex:1;display:flex;justify-content:center;align-items:center;min-height:40px;margin:0;border:0!important;border-radius:999px!important;background:none!important;cursor:pointer;font:700 .92rem/1 Gantari,system-ui,sans-serif;color:var(--nfg)!important;transition:background .25s,box-shadow .25s}
html.l3-has-dock .l21-panel .l21-seg input{position:absolute;opacity:0;width:1px;height:1px}
html.l3-has-dock .l21-panel .l21-seg label:has(input:checked){background:var(--nb)!important;box-shadow:var(--nsh-h)!important;color:#6814af!important}
html.l3-has-dock[data-theme="dark"] .l21-panel .l21-seg label:has(input:checked){color:#fff!important}
html.l3-has-dock .l21-panel .l21-seg label:has(input:focus-visible){outline:2px solid #4c277e;outline-offset:2px}
/* options : interrupteurs */
html.l3-has-dock .l21-panel .l21-row{min-height:46px;padding:4px 2px;border-top:1px solid rgba(131,0,224,.08);font:600 .95rem/1.3 Gantari,system-ui,sans-serif}
html.l3-has-dock[data-theme="dark"] .l21-panel .l21-row{border-top-color:rgba(255,255,255,.06)}
html.l3-has-dock .l21-panel .l21-row input[type="checkbox"]{-webkit-appearance:none;appearance:none;flex:0 0 46px;width:46px!important;height:26px!important;margin:0;border-radius:999px;cursor:pointer;position:relative;background:var(--nb);box-shadow:var(--nin);transition:background .25s}
html.l3-has-dock .l21-panel .l21-row input[type="checkbox"]::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(36,18,63,.25);transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
html.l3-has-dock .l21-panel .l21-row input[type="checkbox"]:checked{background:linear-gradient(135deg,#a700ff,#f05ea8);box-shadow:inset 0 1px 2px rgba(0,0,0,.15)}
html.l3-has-dock .l21-panel .l21-row input[type="checkbox"]:checked::after{transform:translateX(20px)}
html.l3-has-dock .l21-panel .l21-row input[type="checkbox"]:focus-visible{outline:2px solid #4c277e;outline-offset:3px}
html.l3-has-dock .l21-panel .l21-hint{font:500 .82rem/1.45 Gantari,system-ui,sans-serif!important;color:var(--fg2,#5d4f7a)!important;margin:.8rem 0 1rem!important}
html.l3-has-dock[data-theme="dark"] .l21-panel .l21-hint{color:#bfb3d9!important}
/* boutons du panneau : neumorphisme comme partout */
html.l3-has-dock .l21-panel .l21-actions{display:flex;gap:10px;justify-content:flex-end}
html.l3-has-dock .l21-panel .l21-actions button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;cursor:pointer;font:700 .92rem/1 Gantari,system-ui,sans-serif;color:var(--nfg)!important;background:var(--nb)!important;border:1px solid var(--nbd)!important;box-shadow:var(--nsh-h)!important;transition:box-shadow .25s}
html.l3-has-dock .l21-panel .l21-actions button:hover{box-shadow:var(--nsh)!important}
html.l3-has-dock .l21-panel .l21-actions button:active{box-shadow:var(--nin)!important}
html.l3-has-dock .l21-panel .l21-actions button.primary{color:#fff!important;background:linear-gradient(135deg,#8300e0,#c2187a)!important;border-color:transparent!important;box-shadow:0 6px 16px rgba(131,0,224,.3)!important}
html.l3-has-dock .l21-panel .l21-actions button:focus-visible{outline:2px solid #4c277e;outline-offset:3px}
/* liste des versions : rangées en relief, version active en creux */
html.l3-has-dock .l21-panel .l21-vers label{border:0!important;border-radius:16px!important;background:var(--nb)!important;box-shadow:var(--nsh-h)!important;padding:.7rem .9rem!important}
html.l3-has-dock .l21-panel .l21-vers label:hover{transform:translateX(-2px)}
html.l3-has-dock .l21-panel .l21-vers label:has(input:checked),html.l3-has-dock .l21-panel .l21-vers label.is-cur{box-shadow:var(--nin)!important}
html.l3-has-dock .l21-panel .l21-vers b{color:#6814af!important}
html.l3-has-dock[data-theme="dark"] .l21-panel .l21-vers b{color:#d6c2ff!important}
html.l3-has-dock .l21-panel .l21-vers span{color:inherit}
html.l3-has-dock .l21-panel .l21-seg label,html.l3-has-dock .l21-panel .l21-seg label:has(input:checked){outline:0!important;border:0!important}
html.l3-has-dock .l21-panel .l21-seg label:has(input:focus-visible){outline:2px solid #a700ff!important;outline-offset:2px}
html.l3-has-dock .l21-panel .l21-vers input{-webkit-appearance:none;appearance:none;width:18px!important;height:18px!important;border-radius:50%;background:var(--nb);box-shadow:var(--nin);position:relative;flex:0 0 18px}
html.l3-has-dock .l21-panel .l21-vers input:checked{background:linear-gradient(135deg,#a700ff,#f05ea8);box-shadow:inset 0 0 0 4px #fff,0 0 0 1px rgba(167,0,255,.4)}
html.l3-has-dock[data-theme="dark"] .l21-panel .l21-vers input:checked{box-shadow:inset 0 0 0 4px #2e2250,0 0 0 1px rgba(214,194,255,.5)}
html.l3-has-dock .l21-panel .l21-vers input:focus-visible{outline:2px solid #a700ff;outline-offset:3px}


/* ---------- Sélecteur de langue (toutes versions, retour client 16/10) ---------- */
#l21-menu .nav-main .l3-lang{position:relative;flex:0 0 auto!important;display:flex;align-items:center;margin-left:auto;padding:0!important;background:none!important}
#l21-menu .nav-main .l3-lang::before,#l21-menu .nav-main .l3-lang::after{display:none!important;content:none!important}
.l3-lang-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 9px;border-radius:999px;cursor:pointer;
  font:700 .88rem/1 Gantari,system-ui,sans-serif;letter-spacing:.04em;color:#3a1d6e;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.65);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 4px 14px rgba(76,39,126,.12);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);
  transition:background .25s,box-shadow .25s,transform .25s}
.l3-lang-btn:hover{background:rgba(255,255,255,.62);transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(76,39,126,.18)}
.l3-lang-btn:focus-visible{outline:2px solid #4c277e;outline-offset:3px}
.l3-lang-btn[aria-expanded="true"] .l3-chev{transform:rotate(180deg)}
.l3-lang-btn[aria-expanded="true"]{background:rgba(255,255,255,.7)}
html.l21-on-film .l3-lang-btn,html[data-theme="dark"] .l3-lang-btn{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 4px 14px rgba(10,4,26,.25)}
html.l21-on-film .l3-lang-btn:hover,html[data-theme="dark"] .l3-lang-btn:hover,html[data-theme="dark"] .l3-lang-btn[aria-expanded="true"]{background:rgba(255,255,255,.22)}
html.l21-on-film .l3-lang-btn:focus-visible,html[data-theme="dark"] .l3-lang-btn:focus-visible{outline-color:#fff}
.l3-lang-menu{position:absolute;right:0;top:calc(100% + 14px);z-index:1000;width:250px;padding:10px;border-radius:18px;color:#24123f;
  background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff,0 22px 50px rgba(76,39,126,.22);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);
  transform-origin:90% 0;animation:l3menu .28s cubic-bezier(.2,.8,.2,1)}
.l3-lang-menu[hidden]{display:none}
.l3-lang-menu::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(120deg,#a700ff,#f05ea8 50%,#ffb000);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;pointer-events:none}
.l3-lang-t{margin:2px 8px 6px!important;font:800 italic .72rem/1 Gantari,system-ui,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;color:#6814af!important}
.l3-lang-menu ul{list-style:none;margin:0;padding:0;display:block!important;position:static!important;background:none!important;box-shadow:none!important;border:0!important;opacity:1!important;visibility:visible!important;transform:none!important;width:auto!important;min-width:0!important}
.l3-lang-menu li{margin:0;padding:0;display:block}
.l3-lang-menu a{display:flex!important;align-items:center;gap:10px;padding:9px 10px!important;border-radius:12px;text-decoration:none!important;color:#24123f!important;font:600 .98rem/1.2 Gantari,system-ui,sans-serif;transition:background .2s,transform .2s}
.l3-lang-menu a:hover,.l3-lang-menu a:focus-visible{background:rgba(131,0,224,.08);transform:translateX(3px)}
.l3-lang-menu a:focus-visible{outline:2px solid #4c277e;outline-offset:-2px}
.l3-lang-menu .ab{display:grid;place-items:center;width:32px;height:24px;border-radius:7px;font:800 .72rem/1 Gantari,system-ui,sans-serif;letter-spacing:.06em;color:#4c277e;background:rgba(131,0,224,.09)}
.l3-lang-menu a[aria-current] .ab{color:#fff;background:linear-gradient(135deg,#a700ff,#f05ea8)}
.l3-lang-menu a[aria-current]{font-weight:800}
.l3-lang-menu .nm{flex:1}
.l3-lang-menu svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.l3-lang-menu .ok{stroke:#8300e0;opacity:1;stroke-width:2.6}
.l3-lang-n{margin:6px 8px 2px!important;font:500 .76rem/1.35 Gantari,system-ui,sans-serif!important;color:#5d4f7a!important}
html[data-theme="dark"] .l3-lang-menu{background:rgba(48,35,79,.86);border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 22px 50px rgba(10,4,26,.5);color:#fff}
html[data-theme="dark"] .l3-lang-menu a{color:#f3ecff!important}
html[data-theme="dark"] .l3-lang-menu a:hover,html[data-theme="dark"] .l3-lang-menu a:focus-visible{background:rgba(255,255,255,.08)}
html[data-theme="dark"] .l3-lang-menu a:focus-visible{outline-color:#ffd166}
html[data-theme="dark"] .l3-lang-menu .ab{color:#e9dcff;background:rgba(255,255,255,.1)}
html[data-theme="dark"] .l3-lang-t{color:#d6c2ff!important}
html[data-theme="dark"] .l3-lang-n{color:#bfb3d9!important}
html[data-theme="dark"] .l3-lang-menu .ok{stroke:#d6c2ff}
.wp-block-navigation__responsive-container.is-menu-open .l3-lang{margin:18px 0 0!important;width:100%}
.wp-block-navigation__responsive-container.is-menu-open .l3-lang-btn{display:none}
.wp-block-navigation__responsive-container.is-menu-open .l3-lang-menu{display:block!important;position:static;width:100%;animation:none;box-shadow:none}
.wp-block-navigation__responsive-container.is-menu-open .l3-lang-menu ul{display:flex!important;gap:6px}
.wp-block-navigation__responsive-container.is-menu-open .l3-lang-menu li{flex:1}
.wp-block-navigation__responsive-container.is-menu-open .l3-lang-menu a{flex-direction:column;gap:6px;text-align:center}
.wp-block-navigation__responsive-container.is-menu-open .l3-lang-menu svg{display:none}
@media (prefers-reduced-motion:reduce){.l3-lang-menu{animation:none}.l3-lang-btn,.l3-lang-menu a,.l3-chev{transition:none}}
html[data-motion="reduce"] :is(.l3-lang-menu){animation:none}
html[data-wire="on"] .l3-lang-btn,html[data-wire="on"] .l3-lang-menu{border:2px solid currentColor}
#l21-menu .nav-main .l3-lang{top:-7px}.wp-block-navigation__responsive-container.is-menu-open .l3-lang{top:0}
.l3-lang-menu{box-sizing:border-box}.wp-block-navigation__responsive-container.is-menu-open .l3-lang-menu{max-width:100%;margin:0}
.l3-lang-btn{box-shadow:inset 1px 1px 0 rgba(255,255,255,.75),inset -1px -1px 0 rgba(76,39,126,.08),2px 2px 6px rgba(76,39,126,.08)}
.l3-lang-btn:hover{transform:none;box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 rgba(76,39,126,.1),1px 1px 4px rgba(76,39,126,.08)}
.l3-lang-btn[aria-expanded="true"]{box-shadow:inset 2px 2px 5px rgba(76,39,126,.16),inset -2px -2px 5px rgba(255,255,255,.7)}
html.l21-on-film .l3-lang-btn,html[data-theme="dark"] .l3-lang-btn{box-shadow:inset 1px 1px 0 rgba(255,255,255,.2),inset -1px -1px 0 rgba(0,0,0,.15)}
html.l21-on-film .l3-lang-btn[aria-expanded="true"],html[data-theme="dark"] .l3-lang-btn[aria-expanded="true"]{box-shadow:inset 2px 2px 5px rgba(0,0,0,.3),inset -1px -1px 3px rgba(255,255,255,.12)}
.l3-lang-menu{box-shadow:inset 0 1px 0 #fff,0 12px 28px rgba(76,39,126,.12)}
html[data-theme="dark"] .l3-lang-menu{box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 12px 28px rgba(10,4,26,.35)}
html.l3-lang-open header.wp-block-template-part,html.l3-lang-open header nav,html.l3-lang-open header .nav-main,html.l3-lang-open #l21-menu .l3-lang{z-index:2000!important}
html.l3-lang-open .social-icons{z-index:90!important}
.l3-lang-menu{background:rgba(255,255,255,.93)}html[data-theme="dark"] .l3-lang-menu{background:rgba(48,35,79,.96)}
html .l3-lang-btn,html.l21-on-film .l3-lang-btn,html[data-theme="dark"] .l3-lang-btn,html .l3-lang-btn:hover,html .l3-lang-btn[aria-expanded="true"]{
  width:34px;height:34px;padding:0;justify-content:center;background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:50%}
.l3-lang-btn .l3-flag{width:24px;height:24px;border-radius:50%;box-shadow:0 0 0 1.5px rgba(255,255,255,.75),0 1px 3px rgba(36,18,63,.18);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.l3-lang-btn:hover .l3-flag{transform:scale(1.12)}
.l3-lang-btn[aria-expanded="true"] .l3-flag{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(167,0,255,.55)}
#l21-menu .nav-main .l3-lang{top:-2px}
.l3-lang-menu .l3-flag{width:22px;height:22px;flex:0 0 22px;border-radius:50%;box-shadow:0 0 0 1px rgba(36,18,63,.12)}
.l3-lang-menu .ab{display:none}
#l21-menu .nav-main .l3-lang{top:-6px}
html #l21-menu .l3-lang-btn,html.l21-on-film #l21-menu .l3-lang-btn,html[data-theme="dark"] #l21-menu .l3-lang-btn{
  position:relative;width:40px;height:40px;border-radius:50%;isolation:isolate;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,255,255,.38),rgba(255,255,255,.08) 60%,rgba(255,255,255,.18))!important;
  -webkit-backdrop-filter:blur(14px) saturate(190%) brightness(1.08)!important;backdrop-filter:blur(14px) saturate(190%) brightness(1.08)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.9),inset 0 -1px 1px rgba(255,255,255,.25),inset 0 0 0 1px rgba(255,255,255,.35),0 6px 16px rgba(36,18,63,.12)!important;
  transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .3s!important}
html #l21-menu .l3-lang-btn::before{content:"";position:absolute;left:14%;right:14%;top:5%;height:42%;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0));opacity:.7;z-index:2;pointer-events:none}
html #l21-menu .l3-lang-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(255,255,255,.95),rgba(255,255,255,.1) 45%,rgba(255,255,255,.55));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:3;pointer-events:none}
html #l21-menu .l3-lang-btn .l3-flag{position:relative;z-index:1;width:22px;height:22px;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 1px 2px rgba(0,0,0,.2)}
html #l21-menu .l3-lang-btn:hover{transform:scale(1.07)}
html #l21-menu .l3-lang-btn:hover .l3-flag{transform:none}
html #l21-menu .l3-lang-btn[aria-expanded="true"]{transform:scale(.96);box-shadow:inset 0 1px 1px rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.5),inset 0 0 12px rgba(167,0,255,.25),0 4px 10px rgba(36,18,63,.12)!important}
html[data-theme="dark"] #l21-menu .l3-lang-btn,html.l21-on-film #l21-menu .l3-lang-btn{background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,.04) 60%,rgba(255,255,255,.1))!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 0 0 1px rgba(255,255,255,.18),0 6px 16px rgba(0,0,0,.25)!important}
#l21-menu .nav-main .l3-lang{top:-9px}
.l3-lang-menu,html[data-theme="dark"] .l3-lang-menu{border-radius:22px;
  -webkit-backdrop-filter:blur(30px) saturate(190%);backdrop-filter:blur(30px) saturate(190%)}
.l3-lang-menu{background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(255,255,255,.62))!important;box-shadow:inset 0 1px 1px #fff,inset 0 0 0 1px rgba(255,255,255,.6),0 18px 40px rgba(36,18,63,.16)!important}
html[data-theme="dark"] .l3-lang-menu{background:linear-gradient(160deg,rgba(58,44,98,.86),rgba(37,26,64,.78))!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.25),inset 0 0 0 1px rgba(255,255,255,.1),0 18px 40px rgba(0,0,0,.35)!important}
.l3-lang-menu::before{background:linear-gradient(140deg,rgba(255,255,255,.95),rgba(255,255,255,.1) 45%,rgba(255,255,255,.5))!important;opacity:1!important}
html[data-theme="dark"] .l3-lang-menu::before{background:linear-gradient(140deg,rgba(255,255,255,.4),rgba(255,255,255,.04) 45%,rgba(255,255,255,.2))!important}
.l3-lang-menu svg.l3-flag{opacity:1}
html #l21-menu .l3-lang-btn,html.l21-on-film #l21-menu .l3-lang-btn,html[data-theme="dark"] #l21-menu .l3-lang-btn{width:34px;height:34px;background:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 3px 10px rgba(36,18,63,.18)!important}
html #l21-menu .l3-lang-btn .l3-flag{position:absolute;inset:0;width:100%;height:100%;box-shadow:none!important;border-radius:50%}
html #l21-menu .l3-lang-btn::before{left:10%;right:10%;top:4%;height:46%;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.04));opacity:1}
html #l21-menu .l3-lang-btn::after{inset:0;padding:0;-webkit-mask:none;mask:none;background:radial-gradient(circle at 50% 120%,rgba(255,255,255,.28),transparent 55%),radial-gradient(circle at 50% 50%,transparent 58%,rgba(20,10,40,.18) 100%)}
html #l21-menu .l3-lang-btn[aria-expanded="true"]{box-shadow:none!important} /* retour Philip 19/10 : pas d ombre une fois ouvert */
.l3-lang-menu .l3-flag{box-shadow:none!important}
#l21-menu .nav-main .l3-lang{margin-left:22px!important;margin-right:8px!important}
  html #l21-menu .nav-main .l3-lang{margin-left:10px!important}
html #l21-menu .wp-block-navigation__responsive-container:not(.is-menu-open) .nav-main.wp-block-navigation>.wp-block-navigation-item:last-of-type:not(.l3-lang)>a{background:linear-gradient(145deg,#faf7ff,#ebe3f8)!important;box-shadow:4px 4px 10px rgba(140,112,190,.22),-4px -4px 10px rgba(255,255,255,.9)!important}
html[data-theme="dark"] #l21-menu .wp-block-navigation__responsive-container:not(.is-menu-open) .nav-main.wp-block-navigation>.wp-block-navigation-item:last-of-type:not(.l3-lang)>a{background:linear-gradient(145deg,#3a2c62,#2a1f48)!important;box-shadow:4px 4px 10px rgba(8,3,20,.45),-3px -3px 8px rgba(255,255,255,.05)!important}
html.l21-on-film #l21-menu .wp-block-navigation__responsive-container:not(.is-menu-open) .nav-main.wp-block-navigation>.wp-block-navigation-item:last-of-type:not(.l3-lang)>a{background:linear-gradient(160deg,rgba(255,255,255,.26),rgba(255,255,255,.1))!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.5),0 4px 12px rgba(0,0,0,.15)!important}
@keyframes l3menu{from{opacity:0;transform:translateY(-6px) scale(.97)}}
.l3-lang-menu{background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(255,255,255,.92))!important}html[data-theme="dark"] .l3-lang-menu{background:linear-gradient(160deg,rgba(58,44,98,.98),rgba(37,26,64,.96))!important}

/* ==========================================================================
   16. Retour client 19/10 : « les pictos de droite gênent la navigation »
   Le dock quitte le milieu de l'écran (il passait sur les CTA du hero et des contenus) :
   il se range en bas à droite, à droite du « retour en haut », en format compact.
   ========================================================================== */
.l3-dock{top:auto!important;bottom:28px;right:clamp(14px,1.4vw,22px);gap:10px}
.l3-dock-btn{width:46px;height:46px}
.l3-dock-btn svg{width:21px;height:21px}
/* les options s'ouvrent vers la gauche, calées sur le bas du bouton (plus de débordement sous l'écran) */
.l3-dock-menu{top:auto;bottom:0;transform-origin:100% calc(100% - 23px)}
/* panneaux Accessibilité / Versions : à côté du dock, en bas */
html.l3-has-dock .l21-panel.l21-panel-side{top:auto!important;bottom:28px!important;right:calc(clamp(14px,1.4vw,22px) + 60px)!important;max-height:calc(100vh - 120px)!important}
/* le « retour en haut » flottant reste à sa place (aligné sur le pied de page), à gauche du dock : jamais de chevauchement */
@media (max-width:1000px){.l3-dock{bottom:96px}}

/* ==========================================================================
   17. Sélecteur de langue sans drapeaux (retour Philip 19/10) : codes FR / PT / EN uniquement
   ========================================================================== */
.l3-lang .l3-flag{display:none!important}
.l3-lang-btn .l3-code{font:800 .9rem/1 Gantari,system-ui,sans-serif;letter-spacing:.06em;color:inherit}
.l3-lang-btn .l3-chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.l3-lang-btn{color:#24123f;min-width:58px;justify-content:center}
.l3-lang-menu{width:auto!important;min-width:120px}
.l3-lang-menu .l3-code{flex:1;font:800 1rem/1 Gantari,system-ui,sans-serif;letter-spacing:.08em}
.l3-lang-menu .l3-lang-n{display:none!important}
/* le liseré en dégradé (::before, positionné) ne doit jamais passer au-dessus des langues */
.l3-lang-menu>ul,.l3-lang-menu>.l3-lang-t{position:relative!important;z-index:1}
.l3-lang-menu::before{z-index:0;pointer-events:none}
/* lisibilité : panneau des langues opaque (le texte ne dépend plus de l'effet de verre) */
.l3-lang-menu{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html[data-theme="dark"] .l3-lang-menu{background:#30234f!important}
/* retour Philip 19/10 : aucune ombre sur le sélecteur de langue (survol, ouverture, sélection) */
.l3-lang-btn,.l3-lang-btn:hover,.l3-lang-btn:active,.l3-lang-btn[aria-expanded="true"],html.l21-on-film .l3-lang-btn,html[data-theme="dark"] .l3-lang-btn,html[data-theme="dark"] .l3-lang-btn:hover,html[data-theme="dark"] .l3-lang-btn[aria-expanded="true"]{box-shadow:none!important;filter:none!important;transform:none!important}
.l3-lang-menu,html[data-theme="dark"] .l3-lang-menu{box-shadow:none!important;border:1px solid rgba(76,39,126,.18)!important}
html[data-theme="dark"] .l3-lang-menu{border-color:rgba(255,255,255,.18)!important}
.l3-lang-menu a[aria-current] .ab,.l3-lang-menu a{box-shadow:none!important}
.l3-lang-btn{border-color:rgba(76,39,126,.22)!important}
html[data-theme="dark"] .l3-lang-btn,html.l21-on-film .l3-lang-btn{border-color:rgba(255,255,255,.3)!important}
html #l21-menu .l3-lang-btn,html #l21-menu .l3-lang-btn:hover,html #l21-menu .l3-lang-btn[aria-expanded="true"]{box-shadow:none!important}
/* bouton de langue en texte (FR) : largeur selon le contenu, plus de reflets ni de halo (anciens effets prévus pour le drapeau rond) */
html #l21-menu .l3-lang-btn,html.l21-on-film #l21-menu .l3-lang-btn,html[data-theme="dark"] #l21-menu .l3-lang-btn{width:auto!important;min-width:58px!important;padding:0 10px 0 12px!important;transform:none!important}
html #l21-menu .l3-lang-btn::before,html #l21-menu .l3-lang-btn::after{display:none!important;content:none!important}
/* retour Philip 19/10 : noms complets dans le menu ouvert (Français, Português, English), initiales sur le bouton ;
   menu ouvert aligné en hauteur sur les sous-menus de la navigation */
.l3-lang-menu .l3-name{flex:1;font:700 1rem/1.2 Gantari,system-ui,sans-serif;white-space:nowrap}
.l3-lang-menu{min-width:190px!important}
html:not(.l3) .l3-lang-menu{top:calc(100% + 9px)!important;border-radius:25px!important}
html.l3 .l3-lang-menu{top:calc(100% + 23px)!important;border-radius:20px!important}
html.l21-lab:not(.l3) .l3-lang-menu{top:calc(100% + 23px)!important;border-radius:16px!important}
/* recette 19/10 soir, KO 2 : v2.1 en sombre, bouton FR lisible quel que soit le fond de la barre (pastille sombre propre) */
html[data-theme="dark"]:not(.l3):not(.l21-lab) #l21-menu .l3-lang-btn,html.l21-on-film:not(.l3):not(.l21-lab) #l21-menu .l3-lang-btn{background:#30234f!important;color:#fff!important;border-color:rgba(255,255,255,.35)!important}
/* §18 le panneau Accessibilité passe au-dessus du bouton « retour en haut » (retour Philip 20/10) */
html .l21-panel:not([hidden]){z-index:9600!important}
html:has(.l21-panel:not([hidden])) .l21-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
