/* Hero section with JPG fallback, WebP preferred */
.hero {
    background-image: image-set(url("assets/roof-hero.webp") type("image/webp"),
            url("assets/roof-hero.jpg") type("image/jpeg"));
    background-size: cover;
    background-position: center;
}


/* Dark hero section with overlay and JPG fallback */
.hero-dark {
    background-image: image-set(url("assets/roof-hero.webp") type("image/webp"),
            url("assets/roof-hero.jpg") type("image/jpeg"));
    background-color: rgba(0, 0, 0, 0.5);
    /* overlay color */
    background-size: cover;
    background-position: center;
    background-blend-mode: overlay;
}

/* Form step management */
.step {
    /* Hides all steps by default, using !important for priority */
    display: none !important;
}

.active-step {
    display: flex !important;
    width: 100%;
    animation: fadeInSlide 0.7s ease-in-out forwards;
}

/* Fade + slide animation */
@keyframes fadeInSlide {
    from {
        opacity: 0;
        transform: translateX(5px);
    }

    to {
        opacity: 1;
        transform: translateX(0px);
    }
}

.active-choice {
    background-color: #1041b5;
    color: white;
}

.roof-type-img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.55);
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s ease-in-out all;
    z-index: 0;
}

.roof-type-img-overlay:hover {
    background-color: rgba(0, 0, 0, 0.3);
}