/* Shared responsive and accessibility refinements, loaded after theme styles. */
:where(a,button,input,textarea,select):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.skip-to-content { position:fixed; top:8px; left:12px; z-index:10000; transform:translateY(-160%); padding:12px 18px; background:#111; color:#fff; }
.skip-to-content:focus { transform:none; color:#fff; }
.article-body, .page-content { overflow-wrap:anywhere; }
.article-body img, .page-content img { max-width:100%; height:auto; }
.article-body iframe, .article-body video, .page-content iframe { max-width:100%; }
.article-body iframe { width:100%; aspect-ratio:16/9; height:auto; }
.article-body pre { max-width:100%; overflow:auto; }
.article-body table { display:block; max-width:100%; overflow-x:auto; }
.article-detail-main, .author-bio-text, .art-card-body, .celeb-item-body { min-width:0; }
.page-title, .article-title, .art-card-body h3, .celeb-item-body h3 { overflow-wrap:anywhere; }
.pagination-wrap { flex-wrap:wrap; gap:6px; }
.search-dropdown:not(.open) { visibility:hidden; }
.search-dropdown.open { visibility:visible; }
@media (max-width:1199px) {
    body[class] .main-nav .nav-inner { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:4px; min-height:72px; height:auto; }
    body[class] .main-nav .nav-toggle { display:flex; flex-direction:column; position:relative; left:auto; top:auto; transform:none; width:44px; height:44px; padding:10px; grid-column:1; grid-row:1; justify-content:center; }
    body[class] .main-nav .nav-logo { position:static; transform:none; padding:0; margin:0; min-width:0; grid-column:2; grid-row:1; }
    body[class] .main-nav .nav-logo img { width:clamp(90px,27vw,150px); max-width:100%; height:auto; }
    body[class] .main-nav .nav-actions { position:static; transform:none; gap:0; grid-column:3; grid-row:1; }
    body[class] .main-nav .lang-switcher { gap:0; padding:0; margin:0; border:0; }
    body[class] .main-nav .lang-sel { display:inline-flex; align-items:center; justify-content:center; min-width:28px; min-height:44px; font-size:11px; letter-spacing:0; color:#555; }
    body[class] .main-nav .lang-sel.active { color:#111; text-decoration:underline; text-underline-offset:5px; }
    body[class] .main-nav .search-toggle { width:36px; height:44px; padding:4px; }
    body[class] .main-nav .nav-menu { display:none; position:fixed; top:0; left:auto; right:0; width:min(320px,100vw); height:100dvh; max-height:100dvh; padding:84px 0 24px; background:var(--white,#fff); flex-direction:column; justify-content:flex-start; gap:0; z-index:1100; overflow-y:auto; overscroll-behavior:contain; }
    body[class] .main-nav .nav-menu.open { display:flex; opacity:1; visibility:visible; pointer-events:auto; }
    body[class] .main-nav .nav-toggle { z-index:1101; }
    body[class] .main-nav .nav-link { height:auto; min-height:44px; padding:14px 24px; white-space:normal; }
    body[class] .main-nav .nav-item { width:100%; }
    body[class] .main-nav .megamenu { position:static; display:none; min-width:0; width:100%; opacity:1; visibility:visible; transform:none; }
    body[class] .main-nav .has-megamenu.open .megamenu { display:block; max-height:none; }
    body[class] .nav-overlay.open { display:block; position:fixed; inset:0; background:rgba(0,0,0,.2); z-index:999; }
    body.theme-modern .nav-menu { left:auto; height:100dvh; max-height:100dvh; width:min(300px,100vw); visibility:hidden; }
    body.theme-modern .nav-menu.open { visibility:visible; }
    body .nav-link { min-height:44px; }
    .search-input { min-width:0; width:100%; }
    .search-form { display:flex; flex-wrap:nowrap; }
    body .search-dropdown.open { max-height:200px; }
    .main-content input:not([type=checkbox]):not([type=radio]), .main-content textarea, .main-content select, .search-input { font-size:16px !important; }
    .main-content button, .search-submit { min-height:44px; }
    .footer-nav a { display:inline-flex; align-items:center; min-height:44px; }
    .hm-head { gap:0.75rem; flex-wrap:wrap; }
    .hm-head-link { min-height:44px; display:inline-flex; align-items:center; }
    .hm-feed-meta { flex-wrap:wrap; }
    .hm-cta-form { flex-wrap:wrap; }
    .hm-cta-form input { min-width:0; flex:1 1 180px; }
    .author-bio-card { align-items:flex-start; gap:1rem; }
    .error-page .error-code { font-size:clamp(5rem,28vw,8rem); }
    .error-page { padding:3rem 0; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}
