/*
 * YJCen v2 baseline and desktop lock.
 *
 * This file contains only the small cross-viewport accessibility/media layer
 * that was already active in the frozen desktop build. All presentation work
 * for widths below 1024px lives in the separate mobile file.
 */
:root {
	--yjcv2-focus: #1268f3;
	--yjcv2-header-offset: 108px;
}

html {
	scroll-padding-top: var(--yjcv2-header-offset);
}

.yjcv2-c-site-header button:focus-visible,
.yjcv2-c-site-header a:focus-visible,
body.yjcv2 a:focus-visible,
body.yjcv2 button:focus-visible,
body.yjcv2 input:focus-visible,
body.yjcv2 select:focus-visible,
body.yjcv2 textarea:focus-visible,
body.yjcv2 summary:focus-visible,
body.yjcv2 main button:focus-visible,
body.yjcv2 main a:focus-visible,
body.yjcv2 main input:focus-visible,
body.yjcv2 main select:focus-visible,
body.yjcv2 main textarea:focus-visible,
.yjcv2-c-site-footer a:focus-visible,
	body.yjcv2 [tabindex]:focus-visible {
	outline: 3px solid var(--yjcv2-focus) !important;
	outline-offset: 3px !important;
}

.yjcv2-c-site-footer nav a,
.yjcv2-c-site-footer a[href*="privacy"],
.yjcv2-c-site-footer a[href*="terms"] {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

#searchToggle,
#mobileMenuToggle,
#backToTop,
.swiper-button-prev[role="button"],
.swiper-button-next[role="button"] {
	min-width: 44px;
	min-height: 44px;
}

#article-content h2,
#article-content h3,
#article-content h4 {
	scroll-margin-top: var(--yjcv2-header-offset);
}

.yjcv2-c-product-layout,
.yjcv2-c-product-layout > *,
.yjcv2-c-product-gallery,
.yjcv2-c-product-gallery > *,
.yjcv2-c-product-gallery .swiper,
.yjcv2-c-product-gallery .swiper-wrapper,
.yjcv2-c-product-gallery .swiper-slide {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

.yjcv2-c-product-gallery .swiper {
	overflow: hidden;
}

.yjcv2-c-product-gallery img {
	max-width: 100%;
}

.yjcv2-c-infinite-viewport {
	max-width: 100% !important;
	overflow: hidden !important;
}

.yjcv2-c-infinite-track {
	will-change: transform;
}

.yjcv2-c-article-table-shell,
.yjcv2-c-article-table-scroll {
	box-sizing: border-box;
	max-width: 100%;
}

@media (min-width: 1024px) {
	.yjcv2-c-mobile-toc,
	.yjcv2-c-blog-read-more,
	.yjcv2-c-mobile-country-list,
	.yjcv2-c-search-submit,
	.yjcv2-c-article-table-hint,
	.yjcv2-c-search-heading {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
