/* V17: stable painted edges while photos crossfade behind the glass. */
.ke-background,.kt-background{inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);transform:scale(1.015);backface-visibility:hidden}
.ke-background.is-active,.kt-background.is-active{animation-name:kanra-stable-zoom}
@keyframes kanra-stable-zoom{from{transform:scale(1.015)}to{transform:scale(1.08)}}
.ke-preview .ke-card,.kt-card{contain:paint;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.ke-preview .ke-card-copy{backdrop-filter:blur(4px) saturate(1.08);-webkit-backdrop-filter:blur(4px) saturate(1.08)}
.kt-copy{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ke-track,.kt-track{isolation:isolate}
.kanra-light-effects .ke-card-copy,.kanra-light-effects .kt-copy{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.kanra-light-effects .kl-language summary,.kanra-light-effects .ks-search-button{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
@media(prefers-reduced-motion:reduce){.ke-background.is-active,.kt-background.is-active{animation:none}}

/* No overflow-scrolling layer means no transient connecting scrollbar rail. */
.kanra-carousel-viewport{overflow:hidden;isolation:isolate;width:100%;min-width:0}
.kanra-carousel-viewport>.ke-track,.kanra-carousel-viewport>.kt-track{overflow:visible;scroll-snap-type:none;touch-action:pan-y pinch-zoom;backface-visibility:hidden;will-change:transform}
@supports(overflow:clip){.kanra-carousel-viewport{overflow:clip}}
