.natural-photo-slider {
  --nps-stage-height: min(var(--nps-height,60svh), calc(84vw / var(--nps-widest,1.5)));
  --nps-gap: clamp(10px,1.5vw,24px);
  position:relative; max-width:100%; color:inherit; visibility:visible; padding:0;
}
@supports (width:1cqw) {
  .natural-photo-slider { container-type:inline-size; --nps-stage-height:min(var(--nps-height,60svh),calc(84cqw / var(--nps-widest,1.5))); }
}
.natural-photo-slider .natural-photo-slider__track { height:var(--nps-stage-height); width:100%; overflow:hidden; }
.natural-photo-slider .splide__list { display:flex; list-style:none; padding:0!important; margin:0!important; height:100%; }
.natural-photo-slider .natural-photo-slider__slide {
  position:relative; flex:0 0 auto; box-sizing:border-box; width:calc(var(--nps-stage-height) * var(--nps-ratio,1.5)); height:100%; margin:0; padding:0;
}
.natural-photo-slider .natural-photo-slider__image { display:block; width:100%; height:100%; max-width:none; object-fit:contain; object-position:var(--nps-focal,50% 50%); margin:0; padding:0; border:0; border-radius:0; }
/* Themes may fade photos other than the current one (--nps-inactive-opacity,
   default fully visible). Every loop copy of the current photo is marked. */
.natural-photo-slider.is-initialized .natural-photo-slider__slide { transition:opacity var(--nps-speed,650ms) cubic-bezier(.45,0,.2,1); }
.natural-photo-slider.is-initialized .natural-photo-slider__slide:not(.natural-photo-slider__slide--current) { opacity:var(--nps-inactive-opacity,1); }
/* Hero mode: before the slideshow starts (and without JavaScript) only the
   first photo shows, centred where the slideshow keeps it. */
.natural-photo-slider--hero:not(.splide) .natural-photo-slider__track { overflow:hidden; scroll-snap-type:none; }
.natural-photo-slider--hero:not(.splide) .natural-photo-slider__slide:not(:first-child) { display:none; }
.natural-photo-slider--hero:not(.splide) .natural-photo-slider__slide:first-child { margin-inline:auto; }
.natural-photo-slider .natural-photo-slider__content { position:relative; z-index:1; }
.natural-photo-slider:not(.splide) .natural-photo-slider__track { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; }
.natural-photo-slider:not(.splide) .splide__list { gap:var(--nps-gap); }
.natural-photo-slider:not(.splide) .natural-photo-slider__slide { scroll-snap-align:center; }
.natural-photo-slider:not(.splide) .natural-photo-slider__slide:first-child { margin-inline-start:auto; }
.natural-photo-slider:not(.splide) .natural-photo-slider__slide:last-child { margin-inline-end:auto; }
.natural-photo-slider .natural-photo-slider__controls { display:flex; justify-content:center; align-items:center; gap:4px; padding-top:8px; min-height:52px; }
.natural-photo-slider [hidden] { display:none!important; }
/* Reserve the controls row before initialization without exposing its buttons. */
.natural-photo-slider .natural-photo-slider__controls[hidden] { display:flex!important; visibility:hidden!important; pointer-events:none; }
.natural-photo-slider .natural-photo-slider__controls[hidden] * { visibility:hidden!important; }
.natural-photo-slider .natural-photo-slider__controls button {
  display:inline-flex; justify-content:center; align-items:center; min-width:44px; min-height:44px;
  padding:4px 10px; border:1px solid transparent; border-radius:6px; background:transparent; color:inherit;
  font:inherit; font-size:28px; line-height:1; cursor:pointer; box-shadow:none;
}
.natural-photo-slider .natural-photo-slider__controls .splide__toggle { font-size:13px; }
.natural-photo-slider .natural-photo-slider__controls button:hover { background:color-mix(in srgb,currentColor 8%,transparent); }
.natural-photo-slider[data-nps-controls-position="overlay"] .natural-photo-slider__controls {
  position:absolute; z-index:2; left:50%; bottom:12px; transform:translateX(-50%);
  width:max-content; max-width:calc(100% - 24px); min-height:0; padding:5px;
  color:#202124; background:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.8);
  border-radius:999px; box-shadow:0 2px 12px #0002;
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
}
.natural-photo-slider[data-nps-controls-position="overlay"] .natural-photo-slider__controls button { border-radius:999px; }
.natural-photo-slider[data-nps-controls-position="overlay"] .natural-photo-slider__controls button:hover { background:#fff; }
.natural-photo-slider .natural-photo-slider__controls button:disabled { opacity:.5; cursor:default; }
.natural-photo-slider:focus-visible, .natural-photo-slider button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.natural-photo-slider .natural-photo-slider__error { position:absolute; inset:0; display:grid; place-items:center; color:inherit; font:inherit; font-size:14px; background:color-mix(in srgb,currentColor 5%,transparent); }
.natural-photo-slider [data-nps-error] .natural-photo-slider__image { opacity:0; }
@media (prefers-reduced-motion:reduce) { .natural-photo-slider .splide__list, .natural-photo-slider .natural-photo-slider__slide { transition:none!important; scroll-behavior:auto; } }
@media print {
  .natural-photo-slider .natural-photo-slider__track { height:auto; overflow:visible; }
  .natural-photo-slider .splide__list { display:block!important; transform:none!important; }
  .natural-photo-slider .natural-photo-slider__slide { width:100%!important; height:auto; margin:0 0 1em!important; break-inside:avoid; }
  .natural-photo-slider .splide__slide--clone, .natural-photo-slider .natural-photo-slider__controls, .natural-photo-slider .natural-photo-slider__controls[hidden] { display:none!important; }
  .natural-photo-slider .natural-photo-slider__image { height:auto; }
  .natural-photo-slider .natural-photo-slider__slide { opacity:1!important; }
}
