/* Native widgets retain the existing carousel arrow artwork and page geometry. */
.native-carousel { position:relative; touch-action:pan-y; }
.native-carousel-viewport { overflow:hidden; width:100%; user-select:none; }
.native-carousel-track { display:flex; width:100%; align-items:stretch; }
.native-carousel-track > * { box-sizing:border-box; min-width:0; flex-shrink:0; }
.native-carousel-track > .native-slide[hidden] { display:block !important; }
.native-carousel-track > .top_works_img { margin-right:0; border-right:10px solid transparent; background-clip:padding-box; }
.native-carousel-fade .native-carousel-track { display:grid; }
.native-carousel-fade .native-slide { width:100% !important; grid-area:1 / 1; opacity:1; transition:opacity 300ms ease; }
.native-carousel-fade .native-slide[hidden] { display:block !important; opacity:0; pointer-events:none; }
:where(.native-carousel) .slick-prev, :where(.native-carousel) .slick-next {
	position:absolute; top:50%; transform:translateY(-50%); cursor:pointer;
	font-size:0; border:0; padding:0; width:20px; height:20px;
}
:where(.native-carousel) .slick-prev { left:-25px; }
:where(.native-carousel) .slick-next { right:-25px; }
.native-carousel-pause {
	position:absolute; right:6px; bottom:6px; z-index:3; padding:4px 8px;
	background:rgba(255,255,255,.92); color:#333; border:1px solid #777;
	font:12px/1.4 Arial,sans-serif; cursor:pointer;
}
.native-lightbox {
	position:fixed; inset:0; max-width:92vw; max-height:90vh; width:fit-content;
	margin:auto; padding:0; overflow:visible; border:0; background:#fff;
}
.native-lightbox::backdrop { background:rgba(0,0,0,.8); }
.native-lightbox > img { display:block; max-width:92vw; max-height:90vh; object-fit:contain; }
.native-lightbox-close {
	position:absolute; right:-15px; top:-15px; width:40px; height:40px;
	background:transparent url(../images/cb_close.png) center/contain no-repeat;
	border:0; font-size:0; cursor:pointer;
}
.native-lightbox-prev, .native-lightbox-next {
	position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px;
	background:#fff; border:1px solid #777; color:#111; font-size:0; cursor:pointer;
}
.native-lightbox-prev { left:0; }
.native-lightbox-next { right:0; }
.native-lightbox-prev::before { content:"‹"; font:28px/1 sans-serif; }
.native-lightbox-next::before { content:"›"; font:28px/1 sans-serif; }
.native-security-close { background:transparent; border:0; cursor:pointer; }
.profile_security[hidden], .native-lightbox [hidden], .cms-news tr[hidden] { display:none !important; }
.header_ham:focus-visible, .native-carousel:focus-visible, .native-carousel button:focus-visible,
.native-lightbox button:focus-visible, .profile_security_close a:focus-visible, .native-security-close:focus-visible {
	outline:3px solid #005fcc; outline-offset:3px;
}
.native-visually-hidden {
	position:absolute; width:1px; height:1px; padding:0; overflow:hidden;
	clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
@media (prefers-reduced-motion:reduce) {
	.native-carousel-fade .native-slide { transition:none !important; }
	.native-carousel-track, .header_ham div, .all_more::after, .all_more::before,
	.header_contact a::after, .top_mv_scroll_border { transition:none !important; animation:none !important; }
}
