/* Simple Divi Image Carousel - all design options arrive as CSS custom properties set inline on .sdic-carousel */

.sdic-carousel{position:relative;width:100%;box-sizing:border-box}
.sdic-carousel *,.sdic-carousel *::before,.sdic-carousel *::after{box-sizing:border-box}
.sdic-swiper{overflow:hidden;width:100%}
.sdic-type-coverflow .sdic-swiper{padding:20px 0}

.sdic-empty{padding:30px;text-align:center;border:2px dashed #c3c4c7;color:#646970;font-size:14px}

/* ---------- Slides & images ---------- */
.sdic-slide{height:auto;display:flex;align-items:var(--sdic-img-valign,center)}
.sdic-item{width:100%}
.sdic-image-wrap{position:relative;display:block;margin:0 auto;max-width:var(--sdic-img-maxw,100%)}
.sdic-image-wrap a.sdic-lightbox{display:block;cursor:zoom-in}
.sdic-img{display:block;max-width:100%;height:auto;margin:0 auto;-webkit-user-select:none;user-select:none}
.sdic-fullwidth .sdic-img{width:100%}

.sdic-overflow .sdic-image-wrap{overflow:hidden}

/* Equal height: JS sets --sdic-eq-h on the carousel */
.sdic-equal:not(.sdic-variable) .sdic-image-wrap{height:var(--sdic-eq-h,auto);width:100%;max-width:var(--sdic-img-maxw,100%)}
.sdic-equal:not(.sdic-variable) .sdic-img{width:100%;height:100%;object-fit:cover}

/* Variable width */
.sdic-variable .sdic-slide{width:auto}
.sdic-variable .sdic-item,.sdic-variable .sdic-image-wrap{width:auto;max-width:none}
.sdic-variable .sdic-img{height:var(--sdic-var-height,300px);width:auto;max-width:none}

/* ---------- Overlay & caption ---------- */
.sdic-overlay{position:absolute;inset:0;background:var(--sdic-overlay,transparent);pointer-events:none;opacity:0;transition:opacity .3s ease}
.sdic-carousel:not(.sdic-has-overlay) .sdic-overlay{display:none!important}
.sdic-has-overlay .sdic-image-wrap:hover .sdic-overlay,
.sdic-has-overlay .sdic-image-wrap:focus-within .sdic-overlay{opacity:1}


.sdic-caption{position:absolute;left:0;right:0;padding:12px 16px;pointer-events:none;color:#fff;font-size:16px;line-height:1em;text-align:center;transition:opacity .3s ease}
.sdic-valign-top .sdic-caption{top:0}
.sdic-valign-center .sdic-caption{top:50%;transform:translateY(-50%)}
.sdic-valign-bottom .sdic-caption{bottom:0}

/* ---------- Hover ---------- */
.sdic-hover-scale .sdic-img{transition:transform .4s ease}
.sdic-hover-scale .sdic-image-wrap:hover .sdic-img{transform:scale(var(--sdic-scale,1.2))}

.sdic-hover-content .sdic-caption{opacity:0}
.sdic-hover-content .sdic-image-wrap:hover .sdic-caption,
.sdic-hover-content .sdic-image-wrap:focus-within .sdic-caption{opacity:1}
/* Touch devices have no hover: keep the caption reachable */
@media (hover:none){
	.sdic-hover-content .sdic-caption{opacity:1}
}

/* ---------- Arrows ---------- */
.sdic-arrow{position:absolute;z-index:5;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;cursor:pointer;line-height:1;color:var(--sdic-arrow-color,#fff);background:var(--sdic-arrow-bg,rgba(0,0,0,.5));opacity:var(--sdic-arrow-opacity,1);margin:var(--sdic-arrow-margin,10px);padding:var(--sdic-arrow-padding,10px);font-size:var(--sdic-arrow-size,20px);transition:opacity .2s ease}
.sdic-arrow-prev{left:0}
.sdic-arrow-next{right:0}
.sdic-arrow .et-pb-icon{display:block;font-size:inherit!important;line-height:1;color:inherit;margin:0;width:auto;height:auto;position:static}
.sdic-arrow .sdic-chevron{display:block}
.sdic-arrow-pos-top .sdic-arrow{top:0}
.sdic-arrow-pos-middle .sdic-arrow{top:50%;transform:translateY(-50%)}
.sdic-arrow-pos-bottom .sdic-arrow{bottom:0}
.sdic-arrow.sdic-disabled{opacity:calc(var(--sdic-arrow-opacity,1) * .35);cursor:default}
.sdic-arrow.sdic-lock{display:none}

/* ---------- Dots ---------- */
.sdic-dots{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sdic-dot-gap,8px);margin-top:16px;justify-content:center}
.sdic-dots-left .sdic-dots{justify-content:flex-start}
.sdic-dots-right .sdic-dots{justify-content:flex-end}
.sdic-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;cursor:pointer;background:var(--sdic-dot-color,#ccc);transition:transform .2s ease,background-color .2s ease}
.sdic-dot.sdic-dot-active{background:var(--sdic-dot-active,#333)}
.sdic-dot-large .sdic-dot.sdic-dot-active{transform:scale(1.6)}
.sdic-dot-large .sdic-dots{padding:4px}

/* ---------- Responsive variables (Divi: tablet <= 980px, phone <= 767px) ---------- */
@media (max-width:980px){
	.sdic-image-wrap,.sdic-equal:not(.sdic-variable) .sdic-image-wrap{max-width:var(--sdic-img-maxw-t,100%)}
	.sdic-arrow{margin:var(--sdic-arrow-margin-t);padding:var(--sdic-arrow-padding-t)}
	.sdic-arrow{font-size:var(--sdic-arrow-size-t)}
	.sdic-dots{gap:var(--sdic-dot-gap-t)}
	.sdic-variable .sdic-image-wrap{max-width:none}
}
@media (max-width:767px){
	.sdic-image-wrap,.sdic-equal:not(.sdic-variable) .sdic-image-wrap{max-width:var(--sdic-img-maxw-p,100%)}
	.sdic-arrow{margin:var(--sdic-arrow-margin-p);padding:var(--sdic-arrow-padding-p)}
	.sdic-arrow{font-size:var(--sdic-arrow-size-p)}
	.sdic-dots{gap:var(--sdic-dot-gap-p)}
	.sdic-variable .sdic-image-wrap{max-width:none}
}

@media (prefers-reduced-motion:reduce){
	.sdic-img,.sdic-overlay,.sdic-caption,.sdic-arrow,.sdic-dot{transition:none}
}
