.nh-carousel { --nh-visible:5; --nh-gap:20px; position:relative; width:100%; padding-bottom:6px; background:#fff; }
.nh-carousel-viewport { overflow:hidden; touch-action:pan-y; }
.nh-carousel-track { display:flex; gap:var(--nh-gap); width:100%; will-change:transform; }
.nh-carousel-slide { flex:0 0 calc((100% - (var(--nh-visible) - 1) * var(--nh-gap)) / var(--nh-visible)); min-width:0; }
.nh-carousel-slide img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; user-select:none; -webkit-user-drag:none; }
.nh-carousel-arrow { position:absolute; top:calc((100% - 6px) / 2); transform:translateY(-50%); display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:rgba(237,237,237,.9); cursor:pointer; }
.nh-carousel-arrow svg { display:block; width:15.625px; height:25px; fill:currentColor; }
.nh-carousel-prev { left:.5px; }
.nh-carousel-next { right:.5px; }
.nh-carousel-next svg { transform:rotate(180deg); }
.nh-carousel-arrow:focus-visible { outline:2px solid #fff; outline-offset:-2px; background:rgba(0,0,0,.35); }
.nh-carousel:focus-visible { outline:3px solid #008d36; outline-offset:4px; }
.nh-carousel-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
/* Ohne JavaScript bleiben alle Originalbilder horizontal erreichbar. */
.nh-carousel:not([data-ready]) .nh-carousel-viewport { overflow-x:auto; scroll-snap-type:x mandatory; }
.nh-carousel:not([data-ready]) .nh-carousel-slide { scroll-snap-align:start; }
.nh-carousel:not([data-ready]) .nh-carousel-arrow { display:none; }
@media (max-width:1024px) { .nh-carousel { --nh-visible:2; } }
@media (max-width:767px) { .nh-carousel { --nh-visible:1; } }
