/* ==========================================================================
   GP Service Cards
   ========================================================================== */

/* -- Card grid ------------------------------------------------------------ */

.gp-sc__cards {
    display: flex;
    flex-wrap: wrap;
}

/* -- Card ----------------------------------------------------------------- */

.gp-sc__card {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    opacity: 0;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.gp-sc--visible .gp-sc__card {
    animation: gp-sc-fade-in 0.5s ease forwards;
    animation-delay: calc(var(--card-index) * 0.15s);
}

@keyframes gp-sc-fade-in {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.gp-sc__card:hover {
    transform: translateY(-3px);
}

.gp-sc__card:active {
    transform: translateY(-1px);
}

/* -- Card icon ------------------------------------------------------------ */

.gp-sc__card-icon {
    display: inline-flex;
    line-height: 1;
}

.gp-sc__card-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

/* -- Card title ----------------------------------------------------------- */

.gp-sc__card-title {
}

/* -- Card description ----------------------------------------------------- */

.gp-sc__card-desc {
    flex: 1;
}

/* -- Card CTA ------------------------------------------------------------- */

.gp-sc__card-cta {
    text-decoration: none;
    display: block;
}

/* -- Responsive ----------------------------------------------------------- */

@media (max-width: 767px) {
    .gp-sc__cards {
        flex-direction: column;
        align-items: center;
    }

    .gp-sc__card {
        max-width: 100%;
    }
}

/* -- Reduced motion ------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .gp-sc__card {
        opacity: 1;
        transition: none;
        animation: none !important;
    }
}

/* -- Elementor editor ----------------------------------------------------- */

.elementor-editor-active .gp-sc__card {
    opacity: 1;
    animation: none !important;
}
