/* === Slideshow — image layer + Swiper nav ===
   Text styles handled by Blockshop theme:
   featured-content--root[data-text-position] .featured-content--text
   featured-content--root[data-box-around-text] .featured-content--text
   featured-content--root[data-text-width] .featured-content--text
*/

/* ── Prevent outer padding on section ── */
.slideshow--root {
  padding: 0 !important;
}

/* ── Swiper ── */
.s2-swiper { width: 100%; opacity: 0; transition: opacity 0.3s ease; }
.s2-swiper,
.s2-swiper .swiper-wrapper,
.s2-swiper .swiper-slide {
  height: 519px;
}

@media screen and (max-width: 749px) {
  .s2-swiper,
  .s2-swiper .swiper-wrapper,
  .s2-swiper .swiper-slide {
    height: 415px;
  }
}

/* ── Image layer (absolutely fills the slide) ── */
.swiper-slide {
  position: relative;
  overflow: hidden;
}
.s2-slide-img-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.s2-slide-img-wrap.s2-darken::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.28);
  z-index: 1;
}
.s2-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0; left: 0;
}

/* ── Text layer (positioned over image via .s2-slide-text-root) ── */
.s2-slide-text-root {
  position: absolute;
  z-index: 2;
  padding: 0 !important;
  width: auto !important;
}

/* Center: horizontally centered */
.s2-slide-text-root[data-text-position="center"] {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}
/* Center + no box: also vertically centered */
.s2-slide-text-root[data-text-position="center"]:not([data-box-around-text="true"]) {
  top: 50%;
  bottom: auto;
  transform: translate(-50%, -50%);
}

/* Bottom-left: pinned to left edge */
.s2-slide-text-root[data-text-position="bottom-left"] {
  left: 0;
  right: auto;
}

/* Spacing from edges when boxed */
.s2-slide-text-root[data-box-around-text="true"] {
  bottom: 32px;
}
.s2-slide-text-root[data-text-position="center"][data-box-around-text="true"] {
  bottom: 32px;
  /* left:50% + translateX(-50%) from center rule above */
}
.s2-slide-text-root[data-text-position="bottom-left"][data-box-around-text="true"] {
  left: 32px;
  bottom: 32px;
}

/* Mobile non-overlay: text below image */
@media screen and (max-width: 749px) {
  .s2-slide-text-root[data-mobile-overlay="false"] {
    position: relative;
    bottom: auto; left: auto; right: auto; top: auto;
    transform: none;
  }
}
.s2-slide-text-root:not([data-box-around-text="true"]) {
  bottom: 0;
  left: 0;
  right: 0;
}
.s2-slide-text-root[data-text-position="center"]:not([data-box-around-text="true"]) {
  /* overrides the fill-width: vertically + horizontally centered, no width fill */
  left: 50%;
  right: auto;
  top: 50%;
  bottom: auto;
  transform: translate(-50%, -50%);
}

/* ── Mobile image ── */
.s2-mobile-img { display: none; }
@media screen and (max-width: 749px) {
  .s2-mobile-img { display: block; }
  .swiper-slide:has(.s2-mobile-img) > .s2-slide-img-wrap:not(.s2-mobile-img) {
    display: none;
  }
}

/* ── Swiper nav arrows (aligned with Blockshop .carousel--next/prev) ── */
.s2-nav {
  width: 42px; height: 42px;
  margin-top: 0;
  background: var(--bg-color--body, #fff);
  border: 1px solid var(--bdr-color--general, #eaeaea);
  border-radius: 50%;
  color: var(--color--body, #444);
  opacity: 0.85;
  transition: opacity 0.25s ease;
}
.s2-nav::after { font-size: 14px; font-weight: 700; }
.s2-nav:hover { opacity: 1; }
.swiper-button-disabled.s2-nav { opacity: 0; pointer-events: none; }

/* Pull arrows inward from edges, matching .carousel--next margin */
.swiper-button-prev.s2-nav { left: var(--spacing--block, 32px); }
.swiper-button-next.s2-nav { right: var(--spacing--block, 32px); }

/* ── Section bg ── */
.section--bg-light { background: var(--bg-color--light,#f7f7f7); }
.section--bg-dark { background: var(--bg-color--dark,#222); }
.section--bg-accent-1 { background: var(--color--accent-1,#f7f7f7); }
.section--bg-accent-2 { background: var(--color--accent-2,#ffeff0); }
