/* Shared overrides for the existing cn/en themes. No fixed-width page scaling. */
html { scroll-padding-top: 92px; }
body { min-width: 0; overflow-wrap: break-word; }
img { max-width: 100%; }
.s-container { width: 100%; min-width: 0; padding-inline: clamp(20px, 3.4vw, 50px); }
.s-navbar { min-width: 0; z-index: 1030; }
.s-navbar-brand { flex-shrink: 0; }
.s-navbar-brand img { max-width: 220px; object-fit: contain; }
.s-navbar-nav { padding-left: 0; align-items: center; }
.s-nav-item { padding-inline: clamp(6px, 1vw, 10px); }
.s-nav-link { display: block; padding-block: 12px; }
.s-navbar .dropdown-menu a { color: #212529; }
.s-navbar .s-nav-item:hover > .s-nav-link { color: #9bd8ff; }
.site-nav-toggle { display: none; border: 1px solid #b6c2ce; border-radius: 4px; background: transparent; color: white; padding: 8px 12px; min-height: 44px; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 2000; background: white; color: #111; padding: 12px; }
.skip-link:focus { top: 12px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #ffb000; outline-offset: 3px; }
.site-main { min-width: 0; }
.product-main, .product-sidebar { min-width: 0; }
.product-categories { margin-top: -60px; position: relative; z-index: 2; }
.product-categories > summary { padding: 16px; color: white; background: #1a1f25; font-weight: 600; cursor: pointer; }
.product-categories > div, .product-categories > nav > div { margin-top: 0 !important; }
.content img { height: auto !important; max-width: 100% !important; }
.content iframe, .content video { max-width: 100%; }
.content table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.content table td, .content table th { min-width: 90px; }
.content p, .content span { overflow-wrap: anywhere; }
.content-pagination { flex-wrap: wrap; gap: 20px; }
.content-pagination > a { max-width: 100%; }
.content-pagination > a > div { margin-left: 0 !important; }
.product-swiper-container .card { width: 100% !important; }
.product-swiper-container .card img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.footer .copyright { display: block !important; padding: 16px 20px 24px; font-size: 14px; }
.footer .copyright a { color: #bbc5cd; }
.footer .s-container > .row > .col-3:empty { display: none; }
.footer .s-container > .row > div > img { width: auto; max-width: 240px; height: auto; }
@media (max-width: 1199px) {
  .navbar-container { flex-wrap: wrap; gap: 12px; }
  .s-navbar { position: sticky !important; top: 0; background: #1a1f25 !important; }
  .s-navbar.menu-ready .site-nav-toggle { display: inline-flex; gap: 8px; align-items: center; }
  .s-navbar-collapse { width: 100%; max-height: 72vh; overflow-y: auto; }
  .s-navbar-collapse[hidden] { display: none !important; }
  .s-navbar-nav { flex-direction: column; align-items: stretch; gap: 2px; }
  .s-nav-item { padding-inline: 0; }
  .s-nav-link { padding: 10px 8px; min-height: 44px; }
  .language-dropdown .dropdown-toggle { padding: 12px 8px; }
  .language-dropdown .dropdown-menu { position: static !important; transform: none !important; }
  .site-main > .w-100, .site-main > .background-container > .position-static { min-height: 140px; object-fit: cover; }
  .site-about-panel > .position-absolute { left: auto !important; right: auto !important; }
  .site-about-panel > .position-absolute:nth-of-type(1) { left: 5% !important; width: 65% !important; }
  .site-about-panel > .position-absolute:nth-of-type(2) { right: 4% !important; }
}
@media (max-width: 991px) {
  .s-container { padding-inline: 24px; }
  .site-main .row { --bs-gutter-x: 1.5rem; }
  .site-main .row > .col-8, .site-main .row > .col-4,
  .site-main .row > .col-9, .site-main .row > .col-2,
  .site-main .row > .col-5, .site-main .row > .col-7 { flex: 0 0 auto; width: 100%; margin-left: 0; }
  .site-main .row > .col-4 { margin-top: 28px; }
  .site-main .row > .col-8.text-center { width: 100%; }
  .product-sidebar { margin-bottom: 24px; }
  .product-categories { margin-top: 20px; }
  .product-categories .nav-hover { padding: 12px 16px !important; }
  .product-categories > div > .fs-6, .product-categories nav > div > .fs-6 { display: none !important; }
  .content { padding-inline: 0 !important; }
  .content [style*="width"] { max-width: 100%; }
  .banner-pointer-container { flex-wrap: wrap; }
  .banner-pointer, .banner-pointer.hover { width: 50%; min-width: 0; }
  .banner-pointer-img { width: 100%; min-width: 0; margin-left: 0; aspect-ratio: 4 / 3; object-fit: cover; }
  .banner-pointer-hover-container { display: none !important; }
  .banner-pointer.hover .banner-pointer-container { visibility: visible; }
  .banner-pointer > .banner-pointer-container { position: absolute; inset: 0; background: linear-gradient(transparent, #132333b0); align-items: flex-end; }
  .site-about-panel > .background-image { display: none; }
  .site-about-panel { background: #f6f8fa; padding: 32px 24px; }
  .site-about-panel > .position-absolute:nth-of-type(1), .site-about-panel > .position-absolute:nth-of-type(2) { position: static !important; width: 100% !important; height: auto !important; }
  .site-about-panel [style*="580px"] { width: 100% !important; }
  .site-about-panel [style*="90px"] { margin-top: 24px !important; }
  .site-about-panel > .position-absolute:nth-of-type(2) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: 32px !important; }
  .value-grid { flex-wrap: wrap; }
  .value-grid > .w-25 { width: 50% !important; }
  .equipment-grid > div[style*="20%"] { width: 50% !important; }
  .equipment-grid > div > div { min-height: 240px; }
  .equipment-grid .position-absolute { padding: 20px !important; overflow-y: auto; }
  .expert-swiper .col-5 img { max-height: 320px; object-fit: contain; }
  .expert-swiper .col-7 { padding: 24px !important; }
  .research-flow { flex-wrap: wrap; gap: 12px; }
  .research-flow > .mx-5 { display: none; }
  .research-flow > .border { flex: 1 1 180px; padding: 20px !important; }
  .site-map { height: auto !important; margin-top: 0 !important; padding-top: 24px; bottom: auto !important; display: flex; flex-direction: column; }
  .site-map > .position-absolute.bg-white { display: none; }
  .site-map-info { position: static !important; width: 100% !important; height: auto !important; padding: 24px !important; gap: 24px; flex-wrap: wrap; order: 2; }
  .site-map iframe { height: 320px !important; }
  .footer .s-container > .row > .col-4 { width: 50%; }
  .footer .s-container > .row > .col-3 { display: none !important; }
}
@media (max-width: 575px) {
  .s-container { padding-inline: 16px; }
  .s-navbar-brand img { max-width: 185px; height: 42px; }
  .site-main .row > .col-6 { width: 100%; }
  .site-main .row > .col-auto { width: 50%; margin-bottom: 24px; }
  .site-main .row > .col-8 { width: 100%; }
  .site-main .py-5 { padding-block: 32px !important; }
  .site-main .px-5 { padding-inline: 16px !important; }
  .site-main .gx-5 { --bs-gutter-x: 1.5rem; }
  .fs-0 { font-size: 1.6rem; }
  .banner-swiper-container .swiper-slide > a > img { height: 220px; object-fit: cover; }
  .hero-caption { top: 22% !important; left: 20px; right: 20px; }
  .hero-caption h2 { font-size: 1.35rem !important; }
  .hero-caption h3 { font-size: 1rem !important; }
  .banner-pointer, .banner-pointer.hover { width: 100%; }
  .banner-pointer-img { aspect-ratio: 16 / 9; }
  .product-list-item > div > .d-flex { flex-direction: column; }
  .product-list-item > div > .d-flex > div { width: 100% !important; height: auto !important; margin-right: 0 !important; }
  .product-list-item > div > .d-flex > div:first-child { margin-bottom: 16px; }
  .product-list-item > div > .d-flex > div:first-child > img { height: 200px; object-fit: contain; }
  .content h1 { font-size: 1.6rem; }
  .content-pagination { flex-direction: column; padding-block: 20px !important; }
  .content-pagination > a > div { padding-inline: 12px !important; }
  .content-pagination [style*="20em"] { width: auto !important; min-width: 0; }
  .author { flex-wrap: wrap; row-gap: 12px; }
  .value-grid > .w-25 { width: 100% !important; }
  .equipment-grid > div[style*="20%"] { width: 100% !important; }
  .site-main > .background-container > .position-absolute .fs-1 { font-size: 1.5rem !important; }
  .footer .s-container > .row > .col-4:first-child { width: 100%; }
  .right-toolbar { right: 8px; bottom: 16px; }
  .right-toolbar-item { width: 44px; height: 48px; }
  .right-toolbar-icon { width: 20px; height: 20px; }
  .toobar-popover { right: 48px; margin-right: 8px; max-width: calc(100vw - 80px); }
  .toobar-popover > div { padding: 16px !important; }
  .toobar-popover img { max-width: 180px; }
  .toobar-popover .fs-6 { overflow-wrap: anywhere; }
  .contact .form-control { font-size: 16px; min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Follow-up from narrow-screen visual review. */
.site-about-panel > .position-absolute:nth-of-type(1) { width: 65% !important; }
@media (max-width: 991px) {
  .site-main .justify-content-center > .col-8 { width: 100%; }
  .site-about-panel > .position-absolute:nth-of-type(1) { width: 100% !important; }
  .site-main .background-text { position: static; font-size: clamp(1.1rem, 4vw, 1.6rem); line-height: 1.4; }
  .site-main .background-text + .background-title { margin-top: 8px !important; }
}
@media (max-width: 575px) {
  .content h1, .content h2 { font-size: 1.5rem !important; }
  .content h3 { font-size: 1.25rem !important; }
}

/* Keep the desktop map mask within its container (including padding). */
.site-map > .position-absolute.bg-white { box-sizing: border-box !important; }
