@charset "utf-8";
/*
|----------------------
|   header
|----------------------
*/
.header{ position: fixed; top: 0; left: 0; z-index: 99; width: 100%; background-color:#fff; border-bottom:1px solid transparent;}
.header-space{height: 80px;}
.header-index{ background-color:transparent;}
.header-index::after {position: absolute;top: 0;left: 0; content: '';width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); z-index: -1; backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);}

@media (max-width:1200px) {
    .header{padding: 20px 0;}
    .header-space{height: 70px;}
}

@media (max-width:768px) {
    .header{padding: 10px 0;}
    .header-space{height: 50px;}
}
.header .container{ align-items: center; justify-content: space-between;}
.header-logo svg{height: 30px;}
.header-logo svg path.header-logo-color{fill: #fff;}
@media (max-width:1200px) {
    .header-logo svg{height: 25px;}
}

@media (max-width:768px) {
    .header-logo svg{height: 20px;}
}

.header-right{align-items: center;}

/* navigation */
.navigation>ul{gap:clamp(18px,1.45vw,30px);}
.navigation>ul>li{position:relative; padding:0;}
.navigation>ul>li>a{display:block; font-size:20px; line-height:80px; color:#fff;}
.navigation>ul>li:hover a{color: var(--default);}
@media (max-width:1440px) {
    .navigation>ul{gap:clamp(14px,1.2vw,20px);}
    .navigation>ul>li>a{font-size:18px;}
}

@media (max-width:1200px) {
    .navigation{display: none;}
}

/* sub */
.navigation .navigation-sub{position: absolute; top: 80px; left: 0; z-index: 6; background: rgba(255, 255, 255, 1); display:none;}
.navigation .navigation-sub ul li a{display: block; padding: 0 55px 0 25px; line-height: 50px; font-size: 16px; border-bottom: 1px solid #eee; white-space: nowrap; color: #333;}
.navigation .navigation-sub ul li:last-child a{border-bottom: none;}
.navigation .navigation-sub ul li a:hover{color: #666; background-color: #f5f5f5; color: var(--default);}
.navigation>ul>li:hover .navigation-sub{ display:block;}

@media (max-width:1400px) {
    .navigation .navigation-sub{ top: 80px;}
    .navigation .navigation-sub ul li a{ line-height: 50px; font-size: 14px;}
}

/* tools */
.header-tools { align-items: center;}
.header-tools > :where(a, button){display: inline-block; margin-left: 20px;}
.header-tools > :where(a, button):hover{color: #fff;}
/* search */
.header-search{padding:0;border:0;background:transparent;color:inherit;}
.header-search svg{display:block;width:18px;height:auto;transform:none;}
.header-search:hover svg path{fill: var(--default)!important;}
/* user */
.header-user{ width: 30px; height:30px; line-height: 30px; text-align: center; border-radius: 44px; background-color: #eee; border:1px solid #eee;}
.header-user img{width: 20px;}
.header-user span{display: none;}
.header-user:hover{border:1px solid var(--default);}
/* Hamburger trigger styles are maintained in theme.css. */
.header-active{background-color:#fff; border-bottom-color: #eee;}
.header-active:after{display:none;}
.header-active .navigation>ul>li>a{color:#333;}
.header-active .navigation>ul>li:hover>a{color: var(--default);}
.header-active .header-logo svg path.header-logo-color{fill:#333;}
.header-active .header-search svg path{fill:#333;}
/* Footer visual system is maintained in theme.css. */

/*
|----------------------
|   Search / mobile navigation dialog foundations
|   These are structural rules, not version overrides. Keep them in comm.css.
|----------------------
*/
.alert-search {
    position: fixed;
    inset: 0;
    z-index: 1000;
    inline-size: 100%;
    block-size: 100%;
    background: rgba(0,0,0,.70);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
}
.alert-search.alert-search-show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}
.alert-search-box {
    position: relative;
    inline-size: 100%;
    padding: 50px 0;
    background: #fff;
    transform: translateY(-60px);
    visibility: hidden;
    opacity: 0;
    transition: transform .3s ease, opacity .3s ease, visibility .3s ease;
}
.alert-search-box.alert-search-show {
    transform: translateY(0);
    visibility: visible;
    opacity: 1;
}
.alert-search-logo {
    block-size: 50px;
    margin: 0 auto 25px;
    text-align: center;
}
.alert-search-logo img {
    inline-size: auto;
    max-inline-size: 100%;
    block-size: 31px;
}
.alert-search-form {
    max-inline-size: 600px;
    margin-inline: auto;
    padding-inline: 15px;
}
.alert-search-form form {
    display: flex;
    align-items: center;
}
.alert-search-form input {
    flex: 1 1 auto;
    min-inline-size: 0;
    block-size: 44px;
    padding-inline: 12px;
    border: 1px solid #dfe5e1;
    background: #f5f7f6;
    color: #555;
    font-size: 16px;
}
.alert-search-form button {
    flex: 0 0 112px;
    block-size: 44px;
    border: 0;
    background: #26322b;
    color: #fff;
    font-size: 15px;
}
.close-alert-search {
    position: absolute;
    inset-block-start: 12px;
    inset-inline-end: 12px;
    z-index: 2;
    inline-size: 44px;
    block-size: 44px;
}
.close-alert-search span {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    inline-size: 26px;
    block-size: 2px;
    border-radius: 2px;
    background: #222;
    transform-origin: center;
}
.close-alert-search span:first-child { transform: translate(-50%, -50%) rotate(45deg); }
.close-alert-search span:last-child { transform: translate(-50%, -50%) rotate(-45deg); }

/* Mobile navigation is always an overlay. The hidden class is present in source HTML. */
.burger-bg {
    position: fixed;
    inset: 0;
    z-index: 1071;
    inline-size: 100%;
    block-size: 100%;
    padding: 70px 0 max(20px, env(safe-area-inset-bottom));
    background: #fff;
    color: #333;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
    transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
.burger-bg.burger-bg-active {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateX(72px);
}
.burger-logo {
    position: fixed;
    inset-block-start: 15px;
    inset-inline-start: 15px;
    z-index: 6;
}
.burger-logo img {
    display: block;
    inline-size: auto;
    block-size: 20px;
}
.burger-scroll {
    block-size: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.burger-nav {
    padding-inline: 20px;
}
.burger-nav > ul {
    display: block;
    margin: 0;
    padding: 0;
    text-align: start;
}
.burger-nav > ul > li {
    padding-block: 11px;
    border-block-end: 1px solid #e4e9e6;
    overflow: visible;
}
.burger-nav > ul > li > a {
    display: block;
    color: #344039;
    font-size: 17px;
    line-height: 1.5;
    font-weight: 600;
    text-decoration: none;
}
.burger-nav a:hover,
.burger-nav a:focus-visible {
    color: var(--default);
}
.burger-nav .navigation-sub {
    position: static;
    display: block;
    margin-block-start: 7px;
    padding-inline-start: 16px;
    background: transparent;
}
.burger-nav .navigation-sub ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 14px;
    margin: 0;
    padding: 0;
}
.burger-nav .navigation-sub ul li {
    padding-block: 6px;
    border: 0;
}
.burger-nav .navigation-sub ul li a {
    display: block;
    color: #66716a;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
    white-space: normal;
}

@media (max-width: 768px) {
    .alert-search-box { min-block-size: 100%; padding-block-start: 72px; }
    .alert-search-logo { block-size: 38px; margin-block-end: 18px; }
    .alert-search-logo img { block-size: 26px; }
    .alert-search-form input,
    .alert-search-form button { block-size: 44px; }
    .alert-search-form button { flex-basis: 82px; }
    .burger-bg { padding-block-start: 64px; }
    .burger-nav { padding-inline: 15px; }
    .burger-nav > ul > li { padding-block: 9px; }
    .burger-nav > ul > li > a { font-size: 16px; }
    .burger-nav .navigation-sub { padding-inline-start: 12px; }
}

@media (max-width: 420px) {
    .burger-nav .navigation-sub ul { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .alert-search,
    .alert-search-box,
    .burger-bg { transition: none; }
}

/* === 2026 template quality baseline: accessibility / i18n / responsive === */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-wrap: anywhere; }
img, svg, video { max-width: 100%; }
img { height: auto; }
button, input, textarea, select { font: inherit; }
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.skip-link {
    position: fixed;
    inset-block-start: 8px;
    inset-inline-start: 8px;
    z-index: 99999;
    transform: translateY(-150%);
    padding: 8px 14px;
    background: #fff;
    color: #111;
    box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.skip-link:focus { transform: translateY(0); }
.eyebrow { letter-spacing: .04em; }
:where(a, button, input, textarea, select):focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
/* Long-language text resilience */
.navigation a, .footer-nav a, .page-title, .about-banner-desc, .product-banner-desc {
    overflow-wrap: break-word;
}
/* RTL baseline. Component-specific mirroring can be refined per language later. */
html[dir="rtl"] body { direction: rtl; text-align: start; }
html[dir="rtl"] .navigation > ul,
html[dir="rtl"] .header-right,
html[dir="rtl"] .footer-nav,
html[dir="rtl"] .copyright-info { direction: rtl; }
html[dir="rtl"] .burger-nav ul { text-align: start; }
@media (prefers-reduced-motion: reduce) {
    html:focus-within { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Language-specific font fallbacks */
:lang(zh-CN), :lang(zh-TW) { font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans SC", "Microsoft YaHei", sans-serif; }
:lang(ja) { font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans JP", "Yu Gothic", sans-serif; }
:lang(ko) { font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans KR", "Malgun Gothic", sans-serif; }
:lang(ru) { font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans", Arial, sans-serif; }
:lang(ar) { font-family: system-ui, "Segoe UI", "Noto Sans Arabic", Tahoma, Arial, sans-serif; }
html[dir="rtl"] .page-breadcrumb b { transform: rotate(-135deg); }

/* === Native-JS / accessibility / i18n improvements === */
html.is-scroll-locked,
body.is-scroll-locked { overflow: hidden; }

.native-toast {
    position: fixed;
    inset-block-end: 32px;
    inset-inline-start: 50%;
    z-index: 10050;
    max-inline-size: min(90vw, 420px);
    padding: 11px 18px;
    border-radius: 6px;
    background: rgba(20,20,20,.92);
    color: #fff;
    font-size: 14px;
    line-height: 1.45;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 12px);
    transition: opacity .2s ease, transform .2s ease;
}
.native-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
html[dir="rtl"] .native-toast { transform: translate(50%, 12px); }
html[dir="rtl"] .native-toast.is-visible { transform: translate(50%, 0); }

.video-dialog {
    inline-size: min(1000px, calc(100vw - 32px));
    max-inline-size: 1000px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #000;
    overflow: visible;
}
.video-dialog::backdrop { background: rgba(0,0,0,.72); }
.video-dialog video { display: block; inline-size: 100%; block-size: auto; border-radius: 10px; }
.video-dialog-close {
    position: absolute;
    inset-block-start: -14px;
    inset-inline-end: -14px;
    z-index: 2;
    inline-size: 36px;
    block-size: 36px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #111;
    font-size: 24px;
    line-height: 36px;
    box-shadow: 0 3px 14px rgba(0,0,0,.25);
}

/* Logical spacing for common components; keeps LTR visuals and improves RTL reuse. */
.header-tools > :where(a, button) { margin-left: 0; margin-inline-start: 20px; }
.close-alert-search, .close-burger { right: auto; inset-inline-end: 15px; }
.burger-logo { left: auto; inset-inline-start: 15px; }
.navigation .navigation-sub { left: 0; }
html[dir="rtl"] .navigation .navigation-sub { left: auto; right: 0; }
html[dir="rtl"] .burger-nav ul { text-align: start; }
html[dir="rtl"] .burger-nav .navigation-sub { padding-left: 0; padding-inline-start: 15px; }

/* Visible keyboard focus without changing pointer interactions. */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
    outline: 2px solid var(--default);
    outline-offset: 3px;
}

/* Long translations should wrap instead of forcing viewport overflow. */
.navigation .navigation-sub ul li a,
.footer-nav-item a,
.page-breadcrumb,
.copyright-info { overflow-wrap: anywhere; }

.paging-link[aria-disabled="true"], .pagina-link[aria-disabled="true"]{cursor:default; pointer-events:none; opacity:.72;}
