@import "../app.css";

.prestations-intro {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 3rem;
    font-size: 1.1rem;
    color: #555;
}

.prestations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.prestation-meta {
    padding: 1rem;
    display: flex;
    justify-content: center;
    gap: 1rem;
    font-size: 1rem;
    opacity: 0.95;

    .duration, .price {
        display: flex;
        align-items: center;
        gap: 0.3rem;
        font-weight: 600;
    }

    background: linear-gradient(135deg, var(--anaigreen), var(--anaigreen-light));
    color: white;
}

.prestation-card {
    background: white;
    border-radius: 16px;
    box-shadow: var(--soft-shadow);
    overflow: hidden;
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;

    &:hover {
        transform: translateY(-5px);
        box-shadow: var(--hover-shadow);
    }
}

.prestation-header {
    background: linear-gradient(135deg, var(--anaigreen), var(--anaigreen-light));
    color: white;
    padding: 1.2rem;
    text-align: center;

    h2 {
        font-family: 'Logo', cursive;
        font-size: 1.8rem;
        margin: 1rem 0;
    }
}

/* Variante violette pour la carte premium */
.prestation-card.premium {
    & .prestation-header, & .prestation-meta {
        background: linear-gradient(135deg, var(--anaipurple), #9b7bb8);
    }
}

.prestation-body {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;

    .prestation-description {
        color: #444;
        line-height: 1.7;
        margin-bottom: 1.5rem;
    }

    .prestation-includes {
        margin-top: auto;

        h3 {
            font-size: 1rem;
            color: var(--anaigreen);
            margin-bottom: 0.75rem;
            font-weight: 600;
        }

        ul {
            list-style: none;
            padding: 0;
            margin: 0;

            li {
                position: relative;
                padding-left: 1.5rem;
                margin-bottom: 0.6rem;
                line-height: 1.5;
                color: #555;

                &::before {
                    content: "✓";
                    position: absolute;
                    left: 0;
                    color: var(--anaigreen);
                    font-weight: bold;
                }
            }
        }
    }

    .prestation-note {
        margin-top: 1rem;
        padding: 0.75rem 1rem;
        background: #f8f5f0;
        border-radius: 8px;
        font-size: 0.9rem;
        color: #666;
        font-style: italic;
    }

    .prestation-option {
        margin-top: 1rem;
        padding: 0.75rem 1rem;
        background: #f8f5f0;
        /*background: linear-gradient(135deg, #f0f7f4, #e8f4ec);*/
        border-radius: 8px;
        border-left: 3px solid var(--anaigreen);

        strong {
            color: var(--anaigreen);
        }
    }
}

/* Responsive */
@media (max-width: 992px) {
    .prestations-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (max-width: 768px) {
    .prestations-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .prestation-card {
        &:hover {
            transform: none; /* Désactive le hover sur mobile */
        }
    }

    .prestation-header {
        padding: 1.25rem;

        h2 {
            font-size: 1.4rem;
        }

        .prestation-meta {
            flex-direction: column;
            gap: 0.3rem;
        }
    }

    .prestation-body {
        padding: 1.25rem;

        .prestation-description {
            font-size: 0.95rem;
            margin-bottom: 1rem;
        }

        .prestation-includes {
            h3 {
                font-size: 0.95rem;
            }

            ul li {
                font-size: 0.9rem;
                margin-bottom: 0.5rem;
            }
        }

        .prestation-note,
        .prestation-option {
            font-size: 0.85rem;
            padding: 0.6rem 0.8rem;
        }
    }
}

@media (max-width: 480px) {
    .prestation-header h2 {
        font-size: 1.2rem;
    }

    .prestation-body {
        padding: 1rem;
    }
}
