/* Shared public navigation and modal geometry, independent of DLE Default resets. */
.wg-menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;flex:none;min-width:44px;height:44px;margin:0;padding:0 12px;border:1px solid var(--wg-rule);border-radius:12px;background:var(--wg-c-ffffff);color:var(--wg-ink);font:600 15px/1 var(--wg-sans,system-ui,sans-serif);white-space:nowrap;cursor:pointer}
.wg-menu-toggle:focus-visible{outline:2px solid var(--wg-c-1a56db);outline-offset:2px}
.wg-menu-toggle-ico{display:flex;flex-direction:column;justify-content:center;gap:4px;width:18px;height:14px}
.wg-menu-toggle-ico span{display:block;width:18px;height:2px;background:var(--wg-ink);border-radius:2px;transition:transform .2s,opacity .2s}
.wg-menu-toggle[aria-expanded=true] .wg-menu-toggle-ico span:first-child{transform:translateY(6px) rotate(45deg)}
.wg-menu-toggle[aria-expanded=true] .wg-menu-toggle-ico span:nth-child(2){opacity:0}
.wg-menu-toggle[aria-expanded=true] .wg-menu-toggle-ico span:last-child{transform:translateY(-6px) rotate(-45deg)}
.wgauth-dialog,.wgpay-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box}
.wgauth-dialog{width:min(448px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.wgauth-dialog[open],.wgpay-dialog[open]{animation:wg-dialog-in .24s cubic-bezier(.2,.8,.2,1) both}
.wgauth-dialog[open]::backdrop,.wgpay-dialog[open]::backdrop{animation:wg-backdrop-in .24s ease both}
@keyframes wg-dialog-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wg-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:1400px){
 .wg-menu-toggle{display:inline-flex}
 .wg-bar-row{position:relative}
 .wg-bar .wg-nav{display:none;position:absolute;top:calc(100% + 8px);left:16px;right:16px;max-height:calc(100dvh - 88px);overflow:auto;padding:12px;background:var(--wg-c-ffffff);border:1px solid var(--wg-rule);border-radius:16px;box-shadow:0 16px 40px var(--wg-c-25354a-a102)}
 .wg-bar .wg-nav.is-open{display:block;animation:wg-dialog-in .2s ease both}
 .wg-nav .wg-menu{display:grid;grid-template-columns:1fr;gap:2px;flex-wrap:nowrap}
 .wg-menu-toggle-txt{display:inline}
 .wg-nav .wg-menu a{padding:12px 14px;min-height:44px;font-size:15px}
 .wg-nav .wg-menu a[aria-current=page]{color:var(--wg-blue);background:var(--wg-wash)}
 .wg-bar-act{gap:6px}
}
@media(prefers-reduced-motion:reduce){.wg-menu-toggle-ico span{transition:none}.wgauth-dialog[open],.wgpay-dialog[open],.wgauth-dialog[open]::backdrop,.wgpay-dialog[open]::backdrop,.wg-bar .wg-nav.is-open{animation:none}}
/* D2 №30: unified window motion, open and close <=200ms. */
.wgauth-dialog[open],.wgpay-dialog[open]{animation:none}
.wgauth-dialog[open]::backdrop,.wgpay-dialog[open]::backdrop{animation:none}
.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog{opacity:0;transform:translateY(10px) scale(.985);transition:opacity .18s ease,transform .18s cubic-bezier(.2,.8,.2,1),overlay .18s allow-discrete,display .18s allow-discrete}
.wgauth-dialog[open],.wgpay-dialog[open],.wgnotice-dialog[open]{opacity:1;transform:none}
@starting-style{.wgauth-dialog[open],.wgpay-dialog[open],.wgnotice-dialog[open]{opacity:0;transform:translateY(10px) scale(.985)}}
.wgauth-dialog::backdrop,.wgpay-dialog::backdrop,.wgnotice-dialog::backdrop{opacity:0;transition:opacity .18s ease,overlay .18s allow-discrete,display .18s allow-discrete}
.wgauth-dialog[open]::backdrop,.wgpay-dialog[open]::backdrop,.wgnotice-dialog[open]::backdrop{opacity:1}
@starting-style{.wgauth-dialog[open]::backdrop,.wgpay-dialog[open]::backdrop,.wgnotice-dialog[open]::backdrop{opacity:0}}
@media(prefers-reduced-motion:reduce){.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,.wgauth-dialog::backdrop,.wgpay-dialog::backdrop,.wgnotice-dialog::backdrop{transition:none;transform:none}}

/* PORT-ANIM: windows and sheets. In .32s ease-out, out .26s ease-in, backdrop .2s; <=600px sheet .36s/.28s. */
:is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog]){opacity:0;transform:translateY(18px) scale(.96);transition:opacity .26s var(--wg-ease-in,cubic-bezier(.4,0,.6,1)),transform .26s var(--wg-ease-in,cubic-bezier(.4,0,.6,1)),overlay .26s allow-discrete,display .26s allow-discrete}
:is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])[open]{opacity:1;transform:none;transition:opacity .32s var(--wg-ease-out,cubic-bezier(.22,1,.36,1)),transform .32s var(--wg-ease-out,cubic-bezier(.22,1,.36,1)),overlay .32s allow-discrete,display .32s allow-discrete}
@starting-style{:is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])[open]{opacity:0;transform:translateY(18px) scale(.96)}}
:is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])::backdrop{opacity:0;transition:opacity .2s ease,overlay .2s allow-discrete,display .2s allow-discrete}
:is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])[open]::backdrop{opacity:1}
@starting-style{:is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])[open]::backdrop{opacity:0}}
.wg-bar .wg-nav.is-open{animation:wg-nav-in .18s var(--wg-ease-out,cubic-bezier(.22,1,.36,1)) both}
@keyframes wg-nav-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){
 :is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog]){transform:translateY(100%);transition:opacity .28s var(--wg-ease-sheet,cubic-bezier(.32,.72,0,1)),transform .28s var(--wg-ease-sheet,cubic-bezier(.32,.72,0,1)),overlay .28s allow-discrete,display .28s allow-discrete}
 :is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])[open]{transition:opacity .2s ease,transform .36s var(--wg-ease-sheet,cubic-bezier(.32,.72,0,1)),overlay .36s allow-discrete,display .36s allow-discrete}
 @starting-style{:is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])[open]{opacity:1;transform:translateY(100%)}}
}
@media(prefers-reduced-motion:reduce){
 :is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog]),:is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])[open]{transform:none;transition:opacity .01s linear,overlay .01s allow-discrete,display .01s allow-discrete}
 :is(.wgauth-dialog,.wgpay-dialog,.wgnotice-dialog,dialog[data-wg-public-dialog])::backdrop{transition:opacity .01s linear,overlay .01s allow-discrete,display .01s allow-discrete}
 .wg-bar .wg-nav.is-open{animation:none}
}
