/* WDO Lightweight Slider – Lock CSS (priority over theme/builder rules)
   This is loaded as a real stylesheet (not inline) to keep markup clean.
*/
.wdo-slider, .wdo-slider * { box-sizing: var(--wdo-box-sizing, border-box); }

.wdo-slider{
  max-width: var(--wdo-slider-max-width, 100%) !important;
  overflow: var(--wdo-slider-overflow, hidden) !important;
  overflow-x: var(--wdo-slider-overflow-x, clip) !important;
}

/* GRID MODE: do not force single fixed-height carousel rules */
.wdo-slider.wdo-layout-grid{
  height: var(--wdo-grid-slider-height, auto) !important;
  overflow: var(--wdo-grid-slider-overflow, visible) !important;
  overflow-x: var(--wdo-grid-slider-overflow-x, clip) !important;
}
.wdo-slider.wdo-layout-grid .wdo-track,
.wdo-slider.wdo-layout-grid [data-wdo-track]{
  display: var(--wdo-grid-track-display, grid) !important;
  grid-template-columns: repeat(var(--wdo-grid-cols-d, 3), minmax(var(--wdo-grid-col-min, 0), var(--wdo-grid-col-max, 1fr))) !important;
  gap: var(--wdo-grid-gap, 24px) !important;
  height: var(--wdo-grid-track-height, auto) !important;
}
.wdo-slider.wdo-layout-grid .wdo-slide,
.wdo-slider.wdo-layout-grid [data-wdo-slide]{
  flex: var(--wdo-grid-slide-flex, initial) !important;
  width: var(--wdo-grid-slide-width, auto) !important;
  scroll-snap-align: var(--wdo-grid-slide-snap-align, none) !important;
  scroll-snap-stop: var(--wdo-grid-slide-snap-stop, normal) !important;
  height: var(--wdo-grid-slide-height, var(--wdo-h-desktop, 520px)) !important;
  min-height: var(--wdo-grid-slide-min-height, 0) !important;
}
@media (max-width:1024px){
  .wdo-slider.wdo-layout-grid .wdo-track,
  .wdo-slider.wdo-layout-grid [data-wdo-track]{
    grid-template-columns: repeat(var(--wdo-grid-cols-t, 2), minmax(var(--wdo-grid-col-min, 0), var(--wdo-grid-col-max, 1fr))) !important;
  }
  .wdo-slider.wdo-layout-grid .wdo-slide,
  .wdo-slider.wdo-layout-grid [data-wdo-slide]{
    height: var(--wdo-grid-slide-height-t, var(--wdo-h-tablet, 420px)) !important;
  }
}
@media (max-width:767px){
  .wdo-slider.wdo-layout-grid .wdo-track,
  .wdo-slider.wdo-layout-grid [data-wdo-track]{
    grid-template-columns: repeat(var(--wdo-grid-cols-m, 1), minmax(var(--wdo-grid-col-min, 0), var(--wdo-grid-col-max, 1fr))) !important;
  }
  .wdo-slider.wdo-layout-grid .wdo-slide,
  .wdo-slider.wdo-layout-grid [data-wdo-slide]{
    height: var(--wdo-grid-slide-height-m, var(--wdo-h-mobile, 320px)) !important;
  }
}

/* Grid -> mobile slider (activated via JS class) */
.wdo-slider.wdo-layout-grid.wdo-mobile-slider-active{
  height: var(--wdo-h-mobile, 320px) !important;
  overflow: hidden !important;
}
.wdo-slider.wdo-layout-grid.wdo-mobile-slider-active .wdo-track,
.wdo-slider.wdo-layout-grid.wdo-mobile-slider-active [data-wdo-track]{
  display: flex !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  height: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
}
.wdo-slider.wdo-layout-grid.wdo-mobile-slider-active .wdo-slide,
.wdo-slider.wdo-layout-grid.wdo-mobile-slider-active [data-wdo-slide]{
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
}

/* Full-bleed: avoid horizontal overflow caused by 100vw including scrollbar */
.wdo-slider.wdo-fullwidth{
  left: var(--wdo-full-left, 50%) !important;
  right: var(--wdo-full-right, 50%) !important;
  width: var(--wdo-full-width, calc(100vw - var(--wdo-sbw))) !important;
  max-width: var(--wdo-full-max-width, calc(100vw - var(--wdo-sbw))) !important;
  margin-left: var(--wdo-full-margin-left, calc(-50vw + (var(--wdo-sbw) / 2))) !important;
  margin-right: var(--wdo-full-margin-right, calc(-50vw + (var(--wdo-sbw) / 2))) !important;
}
@supports (width: 100dvw){
  .wdo-slider.wdo-fullwidth{
    width: var(--wdo-full-width-dvw, calc(100dvw - var(--wdo-sbw))) !important;
    max-width: var(--wdo-full-max-width-dvw, calc(100dvw - var(--wdo-sbw))) !important;
    margin-left: var(--wdo-full-margin-left-dvw, calc(-50dvw + (var(--wdo-sbw) / 2))) !important;
    margin-right: var(--wdo-full-margin-right-dvw, calc(-50dvw + (var(--wdo-sbw) / 2))) !important;
  }
}

/* Carousel mode: keep old constraints (when not grid) */
.wdo-slider:not(.wdo-layout-grid) .wdo-track,
.wdo-slider:not(.wdo-layout-grid) [data-wdo-track]{
  height: var(--wdo-track-height, 100%) !important;
}
.wdo-slider:not(.wdo-layout-grid) .wdo-slide,
.wdo-slider:not(.wdo-layout-grid) [data-wdo-slide]{
  position: var(--wdo-slide-position, relative) !important;
  height: var(--wdo-slide-height, 100%) !important;
  min-height: var(--wdo-slide-min-height, 100%) !important;
  overflow: var(--wdo-slide-overflow, hidden) !important;
}

/* Force picture/img to behave like a true background fill even when theme sets img{height:auto;max-width:100%} */
.wdo-slider .wdo-picture{
  position: var(--wdo-picture-position, absolute) !important;
  inset: var(--wdo-picture-inset, 0) !important;
  width: var(--wdo-picture-width, 100%) !important;
  height: var(--wdo-picture-height, 100%) !important;
  display: var(--wdo-picture-display, block) !important;
}

.wdo-slider .wdo-picture > img.wdo-media,
.wdo-slider img.wdo-media{
  position: var(--wdo-media-position, absolute) !important;
  inset: var(--wdo-media-inset, 0) !important;
  width: var(--wdo-media-width, 100%) !important;
  height: var(--wdo-media-height, 100%) !important;
  max-width: var(--wdo-media-max-width, none) !important;
  max-height: var(--wdo-media-max-height, none) !important;
  display: var(--wdo-media-display, block) !important;
  object-fit: var(--wdo-fit, cover) !important;
  object-position: var(--wdo-pos, center) !important;
}

/* Typography: higher specificity than Elementor/theme container rules */
.wdo-slider .wdo-content .wdo-title{ font-size: var(--wdo-title-d, 52px) !important; }
.wdo-slider .wdo-content .wdo-subtitle{ font-size: var(--wdo-sub-d, 20px) !important; }
@media (max-width: 1024px){
  .wdo-slider .wdo-content .wdo-title{ font-size: var(--wdo-title-t, 40px) !important; }
  .wdo-slider .wdo-content .wdo-subtitle{ font-size: var(--wdo-sub-t, 18px) !important; }
}
@media (max-width: 767px){
  .wdo-slider .wdo-content .wdo-title{ font-size: var(--wdo-title-m, 30px) !important; }
  .wdo-slider .wdo-content .wdo-subtitle{ font-size: var(--wdo-sub-m, 16px) !important; }
}

/* Ensure content stays inside viewport */
.wdo-slider .wdo-content-inner{
  width: var(--wdo-content-w, auto) !important;
  max-width: var(--wdo-content-max-w, 100%) !important;
  padding: var(--wdo-content-pad, 0) !important;
  margin: var(--wdo-content-margin, 0) !important;
  background: var(--wdo-content-bg, transparent) !important;
  border-width: var(--wdo-content-border-w, 0) !important;
  border-style: var(--wdo-content-border-style, solid) !important;
  border-color: var(--wdo-content-border-color, transparent) !important;
  border-radius: var(--wdo-content-radius, 0) !important;
  border-top-left-radius: var(--wdo-content-radius-tl, var(--wdo-content-radius, 0)) !important;
  border-top-right-radius: var(--wdo-content-radius-tr, var(--wdo-content-radius, 0)) !important;
  border-bottom-right-radius: var(--wdo-content-radius-br, var(--wdo-content-radius, 0)) !important;
  border-bottom-left-radius: var(--wdo-content-radius-bl, var(--wdo-content-radius, 0)) !important;
  box-shadow: var(--wdo-content-shadow, none) !important;
  pointer-events: auto !important;
}
.wdo-slider .wdo-content-inner > *{
  pointer-events: auto !important;
}
.wdo-slider .wdo-content > *{
  pointer-events: auto !important;
}

/* Color priority for title/subtitle */
.wdo-slider h1.wdo-title,
.wdo-slider h2.wdo-title,
.wdo-slider h3.wdo-title,
.wdo-slider h4.wdo-title,
.wdo-slider h5.wdo-title,
.wdo-slider h6.wdo-title,
.wdo-slider p.wdo-title,
.wdo-slider div.wdo-title,
.wdo-slider span.wdo-title{
  color: var(--wdo-title-color, var(--wdo-text, #fff)) !important;
  font-size: var(--wdo-title-current, var(--wdo-title-d, 52px)) !important;
  line-height: var(--wdo-title-line-h, 1.02) !important;
  letter-spacing: var(--wdo-title-letter, -0.01em) !important;
  max-width: var(--wdo-title-max-w, none) !important;
  font-weight: var(--wdo-title-weight, 700) !important;
  text-transform: var(--wdo-title-transform, none) !important;
  font-style: var(--wdo-title-font-style, normal) !important;
  text-decoration: var(--wdo-title-decoration, none) !important;
  text-shadow: var(--wdo-title-shadow, none) !important;
  background: var(--wdo-title-bg, transparent) !important;
  padding: var(--wdo-title-pad, 0) !important;
  margin: var(--wdo-title-margin, 0) !important;
  border-width: var(--wdo-title-border-w, 0) !important;
  border-style: var(--wdo-title-border-style, solid) !important;
  border-color: var(--wdo-title-border-color, transparent) !important;
  border-radius: var(--wdo-title-radius, 0) !important;
  border-top-left-radius: var(--wdo-title-radius-tl, var(--wdo-title-radius, 0)) !important;
  border-top-right-radius: var(--wdo-title-radius-tr, var(--wdo-title-radius, 0)) !important;
  border-bottom-right-radius: var(--wdo-title-radius-br, var(--wdo-title-radius, 0)) !important;
  border-bottom-left-radius: var(--wdo-title-radius-bl, var(--wdo-title-radius, 0)) !important;
}
.wdo-slider h1.wdo-subtitle,
.wdo-slider h2.wdo-subtitle,
.wdo-slider h3.wdo-subtitle,
.wdo-slider h4.wdo-subtitle,
.wdo-slider h5.wdo-subtitle,
.wdo-slider h6.wdo-subtitle,
.wdo-slider p.wdo-subtitle,
.wdo-slider div.wdo-subtitle,
.wdo-slider span.wdo-subtitle{
  color: var(--wdo-sub-color, var(--wdo-text, #fff)) !important;
  font-size: var(--wdo-sub-current, var(--wdo-sub-d, 20px)) !important;
  line-height: var(--wdo-sub-line-h, 1.25) !important;
  max-width: var(--wdo-sub-max-w, none) !important;
  font-weight: var(--wdo-sub-weight, 400) !important;
  text-transform: var(--wdo-sub-transform, none) !important;
  font-style: var(--wdo-sub-font-style, normal) !important;
  text-decoration: var(--wdo-sub-decoration, none) !important;
  text-shadow: var(--wdo-sub-shadow, none) !important;
  background: var(--wdo-sub-bg, transparent) !important;
  padding: var(--wdo-sub-pad, 0) !important;
  margin: var(--wdo-sub-margin, 10px 0 0) !important;
  border-width: var(--wdo-sub-border-w, 0) !important;
  border-style: var(--wdo-sub-border-style, solid) !important;
  border-color: var(--wdo-sub-border-color, transparent) !important;
  border-radius: var(--wdo-sub-radius, 0) !important;
  border-top-left-radius: var(--wdo-sub-radius-tl, var(--wdo-sub-radius, 0)) !important;
  border-top-right-radius: var(--wdo-sub-radius-tr, var(--wdo-sub-radius, 0)) !important;
  border-bottom-right-radius: var(--wdo-sub-radius-br, var(--wdo-sub-radius, 0)) !important;
  border-bottom-left-radius: var(--wdo-sub-radius-bl, var(--wdo-sub-radius, 0)) !important;
}

/* CTA priority */
.wdo-slider .wdo-cta{
  margin: var(--wdo-cta-margin, 16px 0 0) !important;
}
.wdo-slider .wdo-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--wdo-cta-gap, .4em) !important;
  padding: var(--wdo-cta-pad, 10px 16px) !important;
  max-width: var(--wdo-cta-max-w, none) !important;
  border-radius: var(--wdo-cta-radius, 999px) !important;
  border-top-left-radius: var(--wdo-cta-radius-tl, var(--wdo-cta-radius, 999px)) !important;
  border-top-right-radius: var(--wdo-cta-radius-tr, var(--wdo-cta-radius, 999px)) !important;
  border-bottom-right-radius: var(--wdo-cta-radius-br, var(--wdo-cta-radius, 999px)) !important;
  border-bottom-left-radius: var(--wdo-cta-radius-bl, var(--wdo-cta-radius, 999px)) !important;
  border: var(--wdo-cta-border-w, 1px) var(--wdo-cta-border-style, solid) var(--wdo-cta-border, rgba(255,255,255,.7)) !important;
  background: var(--wdo-cta-bg, rgba(0,0,0,.25)) !important;
  color: var(--wdo-cta-color, inherit) !important;
  text-decoration: var(--wdo-cta-decoration, none) !important;
  font-weight: var(--wdo-cta-weight, 600) !important;
  line-height: var(--wdo-cta-line-h, normal) !important;
  letter-spacing: var(--wdo-cta-letter, normal) !important;
  text-transform: var(--wdo-cta-transform, none) !important;
  font-style: var(--wdo-cta-font-style, normal) !important;
  box-shadow: var(--wdo-cta-shadow, none) !important;
}
.wdo-slider .wdo-btn:hover{
  background: var(--wdo-cta-bg-hover, rgba(0,0,0,.35)) !important;
  color: var(--wdo-cta-color-hover, var(--wdo-cta-color, inherit)) !important;
  border-color: var(--wdo-cta-border-hover, var(--wdo-cta-border, rgba(255,255,255,.7))) !important;
}
.wdo-slider .wdo-btn:active{
  background: var(--wdo-cta-bg-active, var(--wdo-cta-bg-hover, rgba(0,0,0,.35))) !important;
  color: var(--wdo-cta-color-active, var(--wdo-cta-color, inherit)) !important;
  border-color: var(--wdo-cta-border-active, var(--wdo-cta-border, rgba(255,255,255,.7))) !important;
}


/* Custom content positioning override (priority) */
.wdo-slider .wdo-slide.wdo-pos-custom .wdo-content{
  inset: var(--wdo-content-inset, auto) !important;
  left: var(--wdo-content-x, 50%) !important;
  top: var(--wdo-content-y, 50%) !important;
  right: var(--wdo-content-right, auto) !important;
  bottom: var(--wdo-content-bottom, auto) !important;
  width: var(--wdo-content-w, auto) !important;
  height: var(--wdo-content-h, auto) !important;
  display: var(--wdo-content-display, block) !important;
  transform: var(--wdo-content-transform, translate(-50%, -50%)) !important;
}

/* Hide nav for grid unless mobile slider is active */
.wdo-slider.wdo-layout-grid:not(.wdo-mobile-slider-active) .wdo-arrow{ display: none !important; }
.wdo-slider.wdo-layout-grid:not(.wdo-mobile-slider-active) .wdo-dots{ display: none !important; }
