/* Advanced Image Carousel styles */
.aic-carousel { position: relative; width: 100%; overflow: hidden; }
.aic-carousel .swiper-wrapper { box-sizing: border-box; }
.aic-slide { box-sizing: border-box; height: auto; display: flex; }
.aic-equal-height .swiper-slide { height: auto; }
.aic-slide-inner { position: relative; display: flex; flex-direction: column; width: 100%; background: transparent; transition: transform .3s ease, box-shadow .3s ease; overflow: hidden; text-decoration: none; color: inherit; }
.aic-media { position: relative; overflow: hidden; line-height: 0; }
.aic-image { display: block; width: 100%; height: 300px; object-fit: cover; transition: transform .5s ease, filter .3s ease, opacity .3s ease; }
.aic-title { margin: 12px 0 4px; font-size: 1.1rem; }
.aic-desc { margin: 0 0 8px; font-size: .95rem; }
.aic-caption { display: block; margin-top: 4px; font-size: .85rem; opacity: .8; }

/* Hover effects */
.aic-hover-zoom .aic-slide-inner:hover .aic-image { transform: scale(1.08); }
.aic-hover-scale .aic-slide-inner:hover { transform: scale(1.03); }
.aic-hover-opacity .aic-slide-inner:hover .aic-image { opacity: .8; }
.aic-hover-overlay .aic-slide-inner::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0); transition: background .3s ease; pointer-events: none; }
.aic-hover-overlay .aic-slide-inner:hover::after { background: rgba(0,0,0,.4); }

/* Arrows */
.aic-arrow { position: absolute; top: 50%; z-index: 10; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: none; background: rgba(0,0,0,.5); color: #fff; cursor: pointer; border-radius: 50%; transition: background .2s ease, opacity .2s ease; }
.aic-arrow:hover { background: rgba(0,0,0,.75); }
.aic-arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.aic-arrow.swiper-button-disabled { opacity: .35; cursor: not-allowed; }
.aic-arrow-prev { left: 10px; }
.aic-arrow-next { right: 10px; }
@media (max-width: 767px) {
    .aic-hide-arrows-mobile .aic-arrow { display: none; }
}

/* Dots */
.aic-carousel .swiper-pagination { position: relative; margin-top: 16px; text-align: center; }
.aic-carousel .swiper-pagination-bullet { width: 10px; height: 10px; background: #ccc; opacity: 1; margin: 0 6px; }
.aic-carousel .swiper-pagination-bullet-active { background: #000; }

/* Accessibility */
.aic-slide-link:focus-visible, .aic-media a:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
