/* Container Styling */
.aws-carousel-section {
    padding: 20px 0;
    overflow: hidden; /* Hide overflow */
    background: #f9f9f9; /* Optional background */
}

.aws-swiper {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
}

/* Card Styling */
.aws-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px; /* Modern rounded corners */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    cursor: pointer;
    background: #fff;
    height: 480px; /* Fixed height for consistency */
}

.aws-card:hover {
    transform: translateY(-8px); /* Lift up effect */
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

/* Image Styling */
.aws-image-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.aws-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.aws-card:hover .aws-image-wrapper img {
    transform: scale(1.1); /* Zoom effect */
}

/* Overlay Styling */
.aws-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
    padding: 30px 20px;
    color: #fff;
    transform: translateY(100%);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none; /* Let clicks pass through if needed */
}

.aws-card:hover .aws-overlay {
    transform: translateY(0); /* Slide up */
}

/* Text Styling */
.aws-overlay h3 {
    margin: 0 0 8px;
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: 'Segoe UI', sans-serif; /* Fallback font */
}

.aws-overlay p {
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.9;
    font-family: 'Segoe UI', sans-serif;
}

/* Swiper Slide Sizing */
.swiper-slide {
    height: auto;
     /* Adjust for spacing if using spaceBetween, but usually handled by Swiper JS */
}
