@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

.aafe-hover-image-list-wrapper {
    position: relative;
    width: 100%;
    z-index: 1;
}

.aafe-hover-image-list-wrapper h1,
.aafe-hover-image-list-wrapper h2,
.aafe-hover-image-list-wrapper h3,
.aafe-hover-image-list-wrapper h4,
.aafe-hover-image-list-wrapper h5,
.aafe-hover-image-list-wrapper h6 {
    font-family: 'Sora', sans-serif;
    margin: 0;
}

.aafe-hover-image-list-wrapper p,
.aafe-hover-image-list-wrapper span,
.aafe-hover-image-list-wrapper li,
.aafe-hover-image-list-wrapper a {
    font-family: 'Inter', sans-serif;
    margin: 0;
}

/* Image Container (Row-Specific) */
.aafe-hover-image-list__image-wrapper {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 2;
    perspective: 1000px;
}

.aafe-hover-image-list__image {
    display: block;
    max-width: none;
    width: var(--image-width, 300px);
    height: auto;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    transform-origin: center bottom;
    transform: translateY(40px) scale(0.9) rotateX(-15deg);
    transition: all var(--aafe-transition, 500ms) cubic-bezier(0.19, 1, 0.22, 1);
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.aafe-hover-image-list__item.active .aafe-hover-image-list__image {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1) rotateX(0deg);
}

/* List Structure */
.aafe-hover-image-list__list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}

.aafe-hover-image-list__item {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px;
    border-bottom: 1px solid #ddd;
    transition: all var(--aafe-transition, 300ms) ease;
    background-color: transparent;
    cursor: pointer;
}

.aafe-hover-image-list__content-left {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.aafe-hover-image-list__content-right {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
}

/* Text Elements */
.aafe-hover-image-list__index {
    font-size: 14px;
    font-weight: 400;
    color: #666;
    transition: all var(--aafe-transition, 300ms) ease;
}

.aafe-hover-image-list__title {
    font-size: 32px;
    font-weight: 400;
    color: #111;
    transition: all var(--aafe-transition, 300ms) ease;
}

.aafe-hover-image-list__meta {
    font-size: 12px;
    font-weight: 400;
    color: #666;
    text-transform: uppercase;
    transition: all var(--aafe-transition, 300ms) ease;
}

/* Active State defaults (can be overridden by Elementor controls) */
.aafe-hover-image-list__item.active {
    background-color: #000;
}
.aafe-hover-image-list__item.active .aafe-hover-image-list__index { color: #fff; }
.aafe-hover-image-list__item.active .aafe-hover-image-list__title { color: #fff; }
.aafe-hover-image-list__item.active .aafe-hover-image-list__meta { color: #fff; }

/* Inactive items dim slightly when one is hovered */
.aafe-hover-image-list-wrapper:hover .aafe-hover-image-list__item:not(.active) {
    opacity: 0.6;
}

/* Global Hover Effects */
.aafe-hover-image-list-wrapper[data-hover="lift"]:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(0,0,0,0.15); }
.aafe-hover-image-list-wrapper[data-hover="scale"]:hover { transform: scale(var(--aafe-hover-scale, 1.03)); }
.aafe-hover-image-list-wrapper[data-hover="glow"]:hover { box-shadow: 0 0 0 3px #4F46E5, 0 8px 30px rgba(79,70,229,0.25); }
.aafe-hover-image-list-wrapper[data-hover="border-pop"]:hover { border-color: #4F46E5; transform: scale(1.01); }
.aafe-hover-image-list-wrapper[data-hover="shine"] { overflow: hidden; position: relative; }
.aafe-hover-image-list-wrapper[data-hover="shine"]::after { content: ''; position: absolute; top: 0; left: -75%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); z-index: 10; pointer-events: none; }
.aafe-hover-image-list-wrapper[data-hover="shine"]:hover::after { left: 125%; transition: left 0.6s ease; }
