html { scroll-behavior: smooth; }
.gnb > ul > li > a[href="/catalog"] { letter-spacing: -0.02em; }
.local-error { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 18px; background: #f3f5f8; font-family: Arial, "Noto Sans KR", sans-serif; text-align: center; }
.local-error img { width: 250px; max-width: 70vw; }
.local-error h1 { margin: 10px 0 0; font-size: 32px; }
.local-error p { margin: 0; color: #777; }
.local-error a { display: inline-block; padding: 12px 24px; color: #fff; background: #3796c4; text-decoration: none; }
/* The original German 60/40 split leaves too little room for its flag and
   language name in the compact 250px sidebar. Keep both controls on one line. */
html:not(:lang(ko)) #header .utill-menu > ul > li.link_li { width: 52%; min-width: 0; }
html:not(:lang(ko)) #header .utill-menu > ul > li.lang_li { width: 48%; min-width: 0; }
html:not(:lang(ko)) #header .utill-menu > ul > li.link_li a { padding: 0 3px; font-size: 12px; white-space: nowrap; word-break: normal; }
html:not(:lang(ko)) #header .language_wrap p { display: flex; align-items: center; height: 33px; padding: 0 15px 0 5px; font-size: 12px; line-height: 33px; white-space: nowrap; word-break: normal; background-position: right 5px center; }
html:not(:lang(ko)) #header .language_wrap p i { width: 16px; height: auto; margin-right: 4px; flex: 0 0 16px; }
html:not(:lang(ko)) #header .language_wrap ul li a { white-space: nowrap; word-break: normal; padding-left: 10px; padding-right: 10px; }
html:lang(ja) { font-family: 'Noto Sans JP', 'Noto Sans KR', sans-serif; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
