/* Shared button and card interactions.
 * Elementor retains button/card content and structure; this file owns shared visuals.
 */

/* Button variants */
.btn-primary .elementor-button {
    background-color: #FFEF5C;
    transition:
        background-color .5s ease,
        color .5s ease;
}

.btn-primary .elementor-button:hover {
    background-color: #E8D840;
}

.btn-outline .elementor-button {
    background: transparent;
    border: 2px solid #fff;
    color: #fff;
    transition:
        background-color .5s ease,
        color .5s ease,
        border-color .5s ease;
}

.btn-outline .elementor-button:hover {
    background-color: #fff;
    color: #222;
}

.animated-arrow .elementor-button-icon {
    transition: transform .5s ease;
}

.animated-arrow .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}

/* Shared stagger containers and project-type cards */
.stagger-parent {
    overflow: visible;
}

.project-type-card {
    position: relative;
    overflow: hidden;
    transform: translateY(0) scale(1);
    transform-origin: center center;
    transition:
        transform .3s cubic-bezier(.4, 0, .2, 1),
        box-shadow .3s cubic-bezier(.4, 0, .2, 1);
}

.project-type-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
    z-index: 2;
}

.project-type-card::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #FFEF5C;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .3s ease;
}

.project-type-card:hover::after {
    transform: scaleX(1);
}

.project-type-card .elementor-icon {
    transform: scale(1);
    transition: transform .3s ease;
}

.project-type-card:hover .elementor-icon {
    transform: scale(1.1);
}

.project-type-card .elementor-icon-box-description {
    opacity: .8;
    transition: opacity .3s ease;
}

.project-type-card:hover .elementor-icon-box-description {
    opacity: .95;
}
