:root {
  --ava-adv-transition: 0.6s cubic-bezier(.4,.25,.3,1);
  --ava-adv-bg-overlay: linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55));
  --ava-adv-overlay-gradient: var(--ava-adv-bg-overlay);
  --ava-adv-dot-size: 12px;
  --ava-adv-arrow-size: 48px;
}
.ava-adv-slider { position: relative; width:100%; overflow:hidden; }
.ava-adv-slider[data-height-mode="fluid"] { display:block; }
.ava-adv-slider.placeholder { background:#f2f2f2; border:2px dashed #ccc; min-height:260px; }
.ava-adv-slider .ava-adv-slider-wrapper { position:relative; height:100%; }
.ava-adv-slides { position:relative; width:100%; height:100%; display:flex; margin:0; padding:0; transition:transform var(--ava-adv-transition); }
.ava-adv-slide { position:relative; min-width:100%; height:100%; display:flex; align-items:stretch; justify-content:center; overflow:hidden; }
.ava-adv-slide .ava-adv-overlay-inner { opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.ava-adv-slide.is-active .ava-adv-overlay-inner { opacity:1; transform:translateY(0); }
.ava-adv-slide .ava-adv-media img, .ava-adv-slide .ava-adv-media video { filter:brightness(.9); transition:filter .8s ease, transform 9s linear; }
.ava-adv-slide.is-active .ava-adv-media img, .ava-adv-slide.is-active .ava-adv-media video { filter:brightness(1); }
@media (min-width: 992px) {
  .ava-adv-slide.is-active .ava-adv-media.is-image img { transform:scale(1.08); }
}
.ava-adv-media { position:absolute; inset:0; width:100%; height:100%; }
.ava-adv-slider[data-height-mode="fluid"] .ava-adv-media { position:absolute; }
.ava-adv-slider[data-height-mode="fluid"] .ava-adv-slide { min-height:inherit; }
.ava-adv-media.is-image img, .ava-adv-media.is-video video { width:100%; height:100%; object-fit:var(--object-fit,cover); object-position:var(--object-position,center center); display:block; }
.ava-adv-overlay { position:absolute; inset:0; z-index:2; width:100%; display:flex; }
.ava-adv-overlay:before { content:""; position:absolute; inset:0; z-index:-1; background:var(--ava-adv-overlay-gradient); pointer-events:none; }
.ava-adv-overlay-inner { position:relative; width:100%; margin:0 auto; display:flex; flex-direction:column; justify-content:center; height:100%; padding:clamp(1rem,4vw,4rem); }
.ava-adv-slider.is-fullwidth { width:100vw; max-width:100vw; position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; }
/* Prevent parent section padding clipping fullwidth */
.elementor-section .ava-adv-slider.is-fullwidth { width:100vw; }
body { overflow-x:hidden; }

/* Horizontal alignment */
.ava-adv-overlay.align-h-left { justify-content:flex-start; text-align:left; }
.ava-adv-overlay.align-h-center { justify-content:center; text-align:center; }
.ava-adv-overlay.align-h-right { justify-content:flex-end; text-align:right; }

/* Apply text alignment to inner */
.ava-adv-overlay.align-h-left .ava-adv-overlay-inner { align-items:flex-start; }
.ava-adv-overlay.align-h-center .ava-adv-overlay-inner { align-items:center; }
.ava-adv-overlay.align-h-right .ava-adv-overlay-inner { align-items:flex-end; }

/* Vertical alignment */
.ava-adv-overlay.align-v-top { align-items:flex-start; }
.ava-adv-overlay.align-v-center { align-items:center; }
.ava-adv-overlay.align-v-bottom { align-items:flex-end; }

/* Static button variant */
.ava-adv-btn.is-static { cursor:default; background:rgba(0,0,0,.45); }
.ava-adv-btn.is-static:focus { outline:2px solid #fff; }

/* Split layout variants */
.ava-adv-slider.layout-split-left-media .ava-adv-slide, 
.ava-adv-slider.layout-split-right-media .ava-adv-slide { display:grid; grid-template-columns:repeat(12,1fr); }
.ava-adv-slider.layout-split-left-media .ava-adv-media,
.ava-adv-slider.layout-split-right-media .ava-adv-media { position:relative; height:100%; }
.ava-adv-slider.layout-split-left-media .ava-adv-media { grid-column:1 / span 6; }
.ava-adv-slider.layout-split-left-media .ava-adv-overlay { grid-column:7 / span 6; position:relative; }
.ava-adv-slider.layout-split-right-media .ava-adv-media { grid-column:7 / span 6; }
.ava-adv-slider.layout-split-right-media .ava-adv-overlay { grid-column:1 / span 6; position:relative; }
.ava-adv-slider.layout-split-left-media .ava-adv-overlay:before,
.ava-adv-slider.layout-split-right-media .ava-adv-overlay:before { position:absolute; }
.ava-adv-slider.layout-split-left-media .ava-adv-overlay-inner,
.ava-adv-slider.layout-split-right-media .ava-adv-overlay-inner { height:auto; }

@media (max-width: 992px) {
  .ava-adv-slider.layout-split-left-media .ava-adv-slide,
  .ava-adv-slider.layout-split-right-media .ava-adv-slide { display:flex; }
  .ava-adv-slider.layout-split-left-media .ava-adv-media,
  .ava-adv-slider.layout-split-right-media .ava-adv-media { position:absolute; inset:0; }
  .ava-adv-slider.layout-split-left-media .ava-adv-overlay,
  .ava-adv-slider.layout-split-right-media .ava-adv-overlay { position:absolute; inset:0; }
}
.ava-adv-heading { font-size:clamp(1.75rem,4vw,3.2rem); line-height:1.1; margin:0 0 1rem; }
.ava-adv-subheading { font-size:clamp(1rem,1.4vw,1.25rem); max-width:720px; margin:0 0 1.25rem; }
.ava-adv-btn { display:inline-block; background:#0057ff; color:#fff; padding:.85rem 1.4rem; border-radius:4px; font-weight:600; text-decoration:none; transition:.3s; }
.ava-adv-btn:hover, .ava-adv-btn:focus { background:#003fae; }

/* Arrows */
.ava-adv-arrow { position:absolute; top:50%; transform:translateY(-50%); width:var(--ava-adv-arrow-size); height:var(--ava-adv-arrow-size); border:none; background:rgba(0,0,0,.4); color:#fff; font-size:2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; border-radius:50%; backdrop-filter:blur(4px); transition:.3s; }
.ava-adv-arrow:hover, .ava-adv-arrow:focus { background:rgba(0,0,0,.65); }
.ava-adv-arrow.prev { left:1rem; }
.ava-adv-arrow.next { right:1rem; }

/* Dots */
.ava-adv-dots { position:absolute; left:50%; bottom:1rem; transform:translateX(-50%); display:flex; gap:.6rem; z-index:5; }
.ava-adv-dot { width:var(--ava-adv-dot-size); height:var(--ava-adv-dot-size); border-radius:50%; border:2px solid #fff; background:rgba(255,255,255,.25); cursor:pointer; padding:0; font-size:0; line-height:0; outline:none; transition:.3s; }
.ava-adv-dot[aria-selected="true"], .ava-adv-dot:hover { background:#fff; }

/* Accessibility focus */
.ava-adv-dot:focus, .ava-adv-arrow:focus { outline:2px solid #fff; outline-offset:2px; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ava-adv-slides { transition:none; }
}

/* Responsive fine tweaks */
@media (max-width: 768px) {
  .ava-adv-heading { font-size:clamp(1.6rem,6vw,2.4rem); }
  .ava-adv-subheading { font-size:clamp(.95rem,2.5vw,1.05rem); }
  .ava-adv-arrow { width:40px; height:40px; font-size:1.5rem; }
}
