/* Responsive and accessible public UI refinements. */
.admin-modal-overlay:not(.show) { visibility:hidden; }
.admin-modal-overlay.show { visibility:visible; }
:where(a,button,[role="button"],input,select,textarea):focus-visible { outline:3px solid #d18a00; outline-offset:3px; }
.translation-notice { margin:12px auto; padding:12px 16px; max-width:1200px; border:1px solid #c8d9ef; border-radius:12px; background:#f1f6fe; color:#244365; font-size:.9rem; line-height:1.5; }
.archive-hero-notice { align-self:stretch; border:1px solid #c8d9ef; border-radius:20px; padding:30px; background:linear-gradient(135deg,#eff5ff,#fff); display:flex; flex-direction:column; justify-content:center; gap:16px; }
.archive-hero-notice p { font-size:1.1rem; line-height:1.6; margin:0; color:#244365; }
.archive-hero-notice .btn { align-self:flex-start; }
.slider-pause { position:absolute; bottom:16px; right:18px; z-index:5; border:1px solid #fff; background:#173f78; color:white; border-radius:8px; padding:7px 12px; min-height:40px; }
.full-title-toggle { display:none; }
button.main-slider-dot { border:0; padding:0; cursor:pointer; }
@media(max-width:1280px) {
 .header-container { position:relative; gap:16px; }
 .mobile-menu-btn { display:inline-flex; margin-left:auto; flex-shrink:0; }
 .header .nav { display:none; position:absolute; top:calc(100% + 10px); left:0; right:0; flex-direction:column; align-items:stretch; gap:4px; padding:14px; background:#fff; border:1px solid #dce5f2; border-radius:16px; box-shadow:0 18px 40px #0f172a29; z-index:100; }
 .header .nav.mobile-open { display:flex; }
 .header .nav a { width:100%; min-height:44px; padding:11px 14px; justify-content:flex-start; }
 .header .nav .language-switcher { margin:8px 0 0; }
 .header .nav .language-switcher-menu { position:static; width:100%; }
}
@media(max-width:768px) {
 .hero-heading-wrap h1 { font-size:clamp(1.5rem,6vw,2rem); line-height:1.2; }
 .hero-layout { gap:20px; }
 .archive-hero-notice { padding:20px; border-radius:16px; }
 .compact-event-title:not(.title-expanded) { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6; overflow:hidden; }
 .full-title-toggle { display:inline-flex; margin:10px 0 16px; padding:9px 13px; min-height:44px; border:1px solid currentColor; border-radius:9px; color:inherit; background:transparent; cursor:pointer; }
 .main-slider-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden; }
 .translation-notice { margin:12px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
