/* Shared loading screen and language control on every public page. */
html.site-loading{overflow:hidden}
html.site-loading body>:not(#pageLoader):not(script):not(style):not(noscript){visibility:hidden!important}
#pageLoader.page-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#FFFFFF!important;opacity:1;visibility:visible;pointer-events:auto;animation:none!important;transition:opacity .16s ease,visibility .16s ease}
#pageLoader.page-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
#pageLoader .site-loader-logo{display:block;width:64px;height:64px;object-fit:contain;animation:none!important}
.site-loader-content{display:grid;justify-items:center;gap:20px;text-align:center;padding:24px;color:#0B1F3A}
#loaderError{font:14px/1.5 system-ui;max-width:280px;margin:0}
#loaderRetry{font:600 14px system-ui;padding:12px 20px;border:1px solid #CCD4DE;border-radius:999px;background:white;color:#0B1F3A;cursor:pointer}
[hidden]{display:none!important}
.lang-switcher{position:relative;flex-shrink:0}
#langToggle.lang-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;width:auto;padding:.4rem .7rem;border:1px solid rgba(11, 31, 58, .12);border-radius:999px;background:#FFFFFF;color:#0B1F3A;font:700 .82rem/1 system-ui;cursor:pointer}
#langToggle .lang-icon{width:1.1rem;height:1.1rem;flex:none}
#langToggle #langCurrent{display:inline!important;font-size:inherit}
#langToggle:hover{color:#0B1F3A}
#langMenu.lang-menu{display:block;position:absolute;top:calc(100% + .45rem);inset-inline-start:auto;inset-inline-end:0;left:auto;right:0;min-width:11.5rem;max-width:calc(100vw - 48px);padding:.4rem;border:1px solid rgba(11, 31, 58, .12);border-radius:.75rem;background:#FFFFFF;box-shadow:0 24px 60px rgba(8, 22, 43, .16);z-index:80;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-.4rem) scale(.98);transform-origin:top right;transition:opacity .18s ease,transform .18s ease,visibility .18s}
#langSwitcher.is-open #langMenu{display:grid;gap:.2rem;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
#langSwitcher.is-loading #langMenu{opacity:0;visibility:hidden;pointer-events:none;transition:none}
#langMenu .lang-option{display:flex;align-items:flex-start;width:100%;min-height:40px;padding:.55rem .7rem;border:0;border-radius:.5rem;background:transparent;color:#0B1F3A;font:inherit;text-align:start;cursor:pointer}
#langMenu .lang-native{font-size:.92rem;font-weight:800}
#langMenu .lang-option:hover,#langMenu .lang-option.is-active{background:#F4F6F8}
body.is-rtl #langMenu{right:auto;left:0;transform-origin:top left}
body.is-rtl #langMenu .lang-option{align-items:flex-end;text-align:right}
.legal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;margin-bottom:32px}
.legal-back{display:inline-flex;align-items:center;gap:8px;min-height:40px;color:#0B1F3A;text-decoration:none;font:700 14px/1.3 system-ui}
.legal-back:hover{color:#0B1F3A}
.legal-back svg{width:18px;height:18px;flex:none}
body.is-rtl .legal-back svg{transform:rotate(180deg)}
@media(max-width:600px){#langToggle.lang-toggle{padding:.4rem .55rem;font-size:12px}.legal-toolbar{gap:10px}.legal-back{font-size:13px}.legal-toolbar #langSwitcher{margin:0}}
@media(prefers-reduced-motion:reduce){#pageLoader.page-loader,#langMenu.lang-menu{transition:none}}
.legal-back:before{content:'←';font-size:18px}body.is-rtl .legal-back:before{content:'→'}

#pageLoader .site-loader-content{perspective:500px}.copyright-fixed{direction:ltr!important;unicode-bidi:isolate;text-align:start}@media(prefers-reduced-motion:reduce){#pageLoader .site-loader-logo{animation:none!important}}
/* Long source titles and provider links remain readable at narrow widths. */
.port-photo-credits p,.provider-privacy-links{overflow-wrap:anywhere}
