/**
 * @file Presentation layer for universal controls.
 *
 * Mobile-first responsive styling only; preserve touch targets, fluid containment and the seven-breakpoint contract.
 */

.ufm-global-controls{position:fixed;z-index:12000;top:10px;right:max(14px,calc((100vw - 1540px)/2));max-width:calc(100vw - 16px);min-height:54px;padding:5px;display:flex;align-items:center;gap:8px;border:1px solid #e4dce6;border-radius:999px;color:#171327;background:#fffdfbf2;box-shadow:0 12px 38px #17132718;backdrop-filter:blur(16px);font:750 13px/1.1 Arial,sans-serif}.ufm-global-controls *{box-sizing:border-box}.ufm-universal-languages{display:flex;align-items:center;gap:3px}.ufm-universal-languages a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #e4dce6;border-radius:50%;color:#6f6978;text-decoration:none;font-size:11px}.ufm-universal-languages a[aria-current=page]{border-color:#251a3d;color:#fff;background:#251a3d;box-shadow:0 5px 14px #251a3d33}.ufm-login,.ufm-create,.ufm-studio-link{min-height:38px;padding:0 13px;display:flex;align-items:center;border-radius:999px;color:#251a3d;text-decoration:none;white-space:nowrap}.ufm-create,.ufm-studio-link{color:#fff;background:#251a3d}.ufm-owner-menu{position:relative}.ufm-owner-menu summary{min-height:42px;padding:2px 8px 2px 2px;display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer}.ufm-owner-menu summary::-webkit-details-marker{display:none}.ufm-owner-menu summary>img,.ufm-owner-menu summary>span{width:38px!important;height:38px!important;min-width:38px;max-width:38px!important;max-height:38px!important;display:grid;place-items:center;border-radius:50%;object-fit:cover;color:#fff;background:linear-gradient(135deg,#ff704d,#ffb347);font-weight:900}.ufm-owner-menu summary b{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ufm-owner-menu summary i{font-style:normal}.ufm-owner-menu>div{position:absolute;right:0;top:calc(100% + 9px);width:min(250px,calc(100vw - 16px));max-height:min(520px,calc(100dvh - 86px));padding:8px;overflow:auto;overscroll-behavior:contain;border:1px solid #e4dce6;border-radius:17px;background:#fff;box-shadow:0 22px 60px #17132725}.ufm-owner-menu>div a{min-height:42px;padding:8px 11px;display:flex;align-items:center;gap:10px;border-radius:10px;color:#171327;text-decoration:none}.ufm-owner-menu>div a:hover,.ufm-owner-menu>div a:focus{background:#f5f0fa}.ufm-owner-menu>div img{width:18px;height:18px;object-fit:contain;opacity:.72}.ufm-owner-menu hr{margin:5px;border:0;border-top:1px solid #e4dce6}.ufm-owner-menu .ufm-logout{color:#a22a38}.topbar .language-switcher,.dash-head>.dash-languages,.dash-head .profile-menu,body>header:not(.topbar):not(.dash-head)>nav[aria-label=Language]{display:none!important}body:has(.ufm-global-controls) .topbar .account-actions>a[href*="login.php"],body:has(.ufm-global-controls) .topbar .account-actions>.nav-cta{display:none!important}@media(max-width:900px){.ufm-global-controls{top:7px;right:8px;min-height:48px}.ufm-global-controls .ufm-login,.ufm-global-controls .ufm-create,.ufm-studio-link,.ufm-owner-menu summary b,.ufm-owner-menu summary i{display:none}.ufm-universal-languages a{width:32px;height:32px}.ufm-owner-menu summary{padding:0}.ufm-owner-menu>div{position:fixed;top:62px;right:8px;width:min(290px,calc(100vw - 16px))}}@media(max-width:480px){.ufm-global-controls{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 16px)}.ufm-universal-languages a{width:30px;height:30px}.ufm-owner-menu summary>img,.ufm-owner-menu summary>span{width:34px!important;height:34px!important;min-width:34px;max-width:34px!important;max-height:34px!important}.ufm-owner-menu>div{top:58px}}

/* EU24 selector: one compact decision in the header, full searchable list on demand. */
.ufm-language-menu{position:relative}.ufm-language-menu>summary{min-width:62px;min-height:42px;padding:0 9px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;list-style:none;cursor:pointer}.ufm-language-menu>summary::-webkit-details-marker{display:none}.ufm-language-menu>summary img{width:17px;height:17px}.ufm-language-menu>summary b{font-size:11px}.ufm-language-menu>summary i{font-style:normal;color:#777080}.ufm-language-menu[open]>summary{color:#fff;background:#251a3d}.ufm-language-menu[open]>summary img{filter:brightness(0) invert(1)}
.ufm-language-menu>div{position:absolute;right:0;top:calc(100% + 10px);width:min(420px,calc(100vw - 20px));padding:16px;border:1px solid #ded6e7;border-radius:22px;background:#fff;box-shadow:0 28px 80px #1713272b}.ufm-language-menu header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ufm-language-menu header strong{font-size:16px}.ufm-language-menu header small{padding:5px 8px;border-radius:999px;color:#51347f;background:#f0ebf7;font-size:10px}.ufm-language-menu label{height:42px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid #ded6e7;border-radius:12px;background:#faf9fb}.ufm-language-menu input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:inherit}
.ufm-language-menu .ufm-universal-languages{max-height:min(55vh,430px);margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:5px;overflow:auto;overscroll-behavior:contain}.ufm-language-menu .ufm-universal-languages>a,.ufm-language-menu .ufm-universal-languages>span{width:auto;height:42px;padding:0 10px;border:1px solid transparent;border-radius:11px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:5px;color:#171327;background:#fff;text-decoration:none;font-size:12px}.ufm-language-menu .ufm-universal-languages b{font-size:10px;color:#665e70}.ufm-language-menu .ufm-universal-languages a:hover,.ufm-language-menu .ufm-universal-languages a:focus-visible{border-color:#51347f;background:#f4eff9;outline:0}.ufm-language-menu .ufm-universal-languages a[aria-current=page]{border-color:#251a3d;color:#fff;background:#251a3d;box-shadow:none}.ufm-language-menu .ufm-universal-languages a[aria-current=page] b{color:#fff}.ufm-language-menu .ufm-universal-languages .is-pilot{opacity:.55}.ufm-language-menu .ufm-universal-languages .is-pilot i::after{content:'…';font-style:normal}.ufm-language-menu .ufm-universal-languages [hidden]{display:none}
@media(max-width:900px){.ufm-language-menu>summary{min-width:44px;padding:0 7px}.ufm-language-menu>summary i{display:none}.ufm-language-menu>div{position:fixed;top:62px;right:8px}}
@media(max-width:480px){.ufm-language-menu>div{top:58px;right:8px;left:8px;width:auto}.ufm-language-menu .ufm-universal-languages{grid-template-columns:1fr 1fr}}

/* Header-axis contract: the connected controls share the header's vertical
   centre and right gutter instead of being positioned from an arbitrary top. */
.ufm-global-controls{top:37px;right:clamp(28px,4vw,70px);transform:translateY(-50%)}
@media(min-width:2000px){.ufm-global-controls{top:41px;right:clamp(48px,5vw,100px)}}
@media(min-width:1024px) and (max-width:1279px){.ufm-global-controls{top:33px;right:80px}}
@media(max-width:1023px){.ufm-global-controls{top:33px;right:18px;min-height:48px}.ufm-global-controls .ufm-login,.ufm-global-controls .ufm-create,.ufm-global-controls .ufm-studio-link,.ufm-owner-menu summary b,.ufm-owner-menu summary i{display:none}.ufm-owner-menu summary{padding:0}.ufm-owner-menu>div{position:fixed;top:62px;right:8px;width:min(290px,calc(100vw - 16px))}}
@media(min-width:768px) and (max-width:1023px){
  /* On tablet the complete language catalogue is already available in the
     navigation sheet. A guest pill must not collapse into an empty 12px bar. */
  .ufm-global-controls.ufm-guest-controls{display:none!important}
  .ufm-global-controls:has(.ufm-owner-menu){right:120px;min-width:48px;width:auto}
}
@media(max-width:767px){.ufm-global-controls.ufm-guest-controls{display:none!important}}
@media(min-width:768px) and (max-width:1100px){.ufm-global-controls.ufm-guest-controls{display:none!important}}
@media(max-width:767px){.ufm-global-controls{top:7px!important;right:8px;transform:none!important}.ufm-owner-menu>div{position:absolute!important;top:calc(100% + 9px)!important;right:0!important;left:auto!important;width:min(290px,calc(100vw - 16px))!important}}
@media(max-width:480px){.ufm-global-controls{left:auto;right:6px}}
/* Server-rendered navigation is the baseline, including script/network failure.
   Native details keeps keyboard/touch support without a second JS controller. */
.ufm-native-navigation{position:relative;z-index:1;box-sizing:border-box;width:min(960px,calc(100% - 32px));margin:16px auto;padding:0;border:1px solid #ded5e5;border-radius:18px;color:#21182f;background:#fff;font:500 1rem/1.5 Inter,system-ui,sans-serif}
.ufm-native-navigation>summary{min-height:48px;padding:12px 20px;box-sizing:border-box;cursor:pointer;font-weight:750}
.ufm-native-navigation>div{padding:0 16px 16px;max-height:60svh;overflow:auto;overscroll-behavior:contain}
.ufm-native-navigation nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid #e8e1ec}
.ufm-native-navigation .ufm-native-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.ufm-native-navigation a{box-sizing:border-box;display:flex;align-items:center;min-height:44px;min-width:0;max-width:100%;padding:10px 12px;border-radius:10px;background:#f5f1f8;color:#302144;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ufm-native-navigation p{margin:8px 0 16px;overflow-wrap:anywhere}
.ufm-native-navigation p a{display:inline-flex;margin-top:8px}
.ufm-native-navigation :is(a,summary):focus-visible{outline:3px solid #634296;outline-offset:3px}
html:not(.ufm-navigation-ready) body:has(.ufm-native-navigation) :is([data-mobile-menu],.mobile-app-nav){display:none!important}
html.js:not(.ufm-views-ready) #main-content>.view:not([hidden]){display:grid!important;scroll-margin-top:110px}
html:has(.ufm-native-navigation:not([hidden])){scroll-behavior:auto!important}
html:not(.ufm-navigation-ready) body:has(.ufm-native-navigation)>:is(.topbar,.ufm-auth-public-header){position:relative!important;inset:auto!important}
html:not(.ufm-navigation-ready) body:has(.ufm-native-navigation)>.ufm-global-controls{position:absolute!important}
@media(pointer:coarse){.ufm-global-controls :where(a,summary,button){touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ufm-universal-languages a{width:44px!important;height:44px!important;min-width:44px;min-height:44px}.ufm-login,.ufm-create,.ufm-studio-link,.ufm-owner-menu summary{min-height:44px}.ufm-owner-menu summary>img,.ufm-owner-menu summary>span{width:40px;height:40px}.ufm-owner-menu>div a{min-height:48px}.ufm-language-menu .ufm-universal-languages>a,.ufm-language-menu .ufm-universal-languages>span{height:48px!important;min-height:48px}}

/* Bounded menu-only correction after real 1.45.65 browser observations.
   Preserve the existing two-column route order and all native/no-JS styles. */
.mobile-menu-sheet .mobile-sheet-routes>a.mobile-wall-of-fame{display:grid}
.mobile-menu-sheet>header>a{display:flex;align-items:center;min-width:44px;min-height:44px}
.mobile-menu-sheet .mobile-sheet-languages>a{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px}
