/* SECTION SOLUTIONS */
.solutions-section {
    padding: var(--spacing-xl) 0;
    background-color: var(--color-light-gray);
    position: relative;
    overflow: hidden;

    &::before {
        content: '';
        position: absolute;
        width: 600px;
        height: 600px;
        border-radius: var(--border-radius-full);
        background: rgba(255, 255, 255, 0.4);
        top: -300px;
        right: -200px;
        z-index: 1;
    }

    &::after {
        content: '';
        position: absolute;
        width: 300px;
        height: 300px;
        border-radius: var(--border-radius-full);
        background: rgba(255, 255, 255, 0.25);
        bottom: -100px;
        left: -100px;
        z-index: 1;
    }

    .solutions-header {
        text-align: center;
        margin-bottom: var(--spacing-lg);
        position: relative;
        z-index: 2;

        h2 {
            font-size: var(--font-size-5xl);
            font-weight: 700;
            color: var(--color-text);
            margin-bottom: var(--spacing-sm);
        }
    }

    .solutions-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spacing-md);
        margin-bottom: var(--spacing-lg);
        position: relative;
        z-index: 2;

        .solution-item {
            position: relative;

            .solution-card {
                border-radius: var(--border-radius-md);
                overflow: hidden;
                box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
                transition: transform 0.3s ease, box-shadow 0.3s ease;
                cursor: pointer;

                &:hover {
                    transform: translateY(-5px);
                    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);

                    .solution-image {
                        transform: scale(1.05);
                    }

                    .solution-overlay {
                        background: rgba(0, 0, 0, 0.7);
                    }

                    .solution-content h3 {
                        transform: translateY(-5px);
                    }

                    .solution-click-hint {
                        transform: translateY(0);
                    }
                }

                .solution-background {
                    position: relative;
                    width: 100%;
                    height: 350px;
                    overflow: hidden;

                    .solution-image {
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                        height: 100%;
                        background-size: cover;
                        background-position: center;
                        background-repeat: no-repeat;
                        transition: transform 0.5s ease;
                    }

                    .solution-overlay {
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                        height: 100%;
                        background: rgba(0, 0, 0, 0.5);
                        z-index: 2;
                        transition: background 0.3s ease;
                    }

                    .solution-content {
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                        height: 100%;
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        justify-content: center;
                        z-index: 3;
                        padding: var(--spacing-md);
                        box-sizing: border-box;
                        text-align: center;

                        h3 {
                            font-size: var(--font-size-2xl);
                            font-weight: 700;
                            color: var(--color-white);
                            margin: 0 0 var(--spacing-md) 0;
                            line-height: 1.4;
                            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
                            transition: transform 0.3s ease;
                        }

                        .solution-click-hint {
                            font-size: var(--font-size-xs);
                            color: var(--color-white);
                            transform: translateY(10px);
                            transition: all 0.3s ease;
                            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
                            margin: 0;
                            font-style: italic;
                            opacity: 0.6;
                        }
                    }
                }
            }
        }
    }
}

/* Modal pour les solutions */
.solution-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;

    &.active {
        opacity: 1;
        visibility: visible;
    }
}

.solution-modal {
    position: fixed;
    z-index: 1000;
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;

    &.active {
        opacity: 1;
        visibility: visible;
    }

    &.expanded {
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 90vw !important;
        height: 90vh !important;
        max-width: 1000px !important;
        max-height: 800px !important;
    }

    .solution-modal-inner {
        width: 100%;
        height: 100%;
        overflow-y: auto;
        padding: 0;

        .solution-modal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: var(--spacing-xl);
            border-bottom: 1px solid var(--color-light-gray);
            background: var(--color-white);
            position: sticky;
            top: 0;
            z-index: 10;

            h2 {
                font-size: var(--font-size-3xl);
                color: var(--color-text);
                margin: 0;
                font-weight: 700;
            }

            .solution-close {
                background: none;
                border: none;
                cursor: pointer;
                padding: var(--spacing-xs);
                color: var(--color-text-light);
                transition: color 0.3s ease;
                width: 32px;
                height: 32px;
                display: flex;
                align-items: center;
                justify-content: center;

                &:hover {
                    color: var(--color-text);
                }

                svg {
                    width: 20px;
                    height: 20px;
                }
            }
        }

        .solution-modal-body {
            padding: var(--spacing-xl);

            .solution-modal-image {
                width: 100%;
                height: 300px;
                margin-bottom: var(--spacing-xl);
                border-radius: var(--border-radius-md);
                overflow: hidden;

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            }

            .solution-modal-text {
                .solution-details {
                    color: var(--color-text-light);
                    line-height: 1.7;
                    font-size: var(--font-size-md);

                    h3, h4 {
                        color: var(--color-text);
                        margin-top: var(--spacing-lg);
                        margin-bottom: var(--spacing-md);
                    }

                    ul, ol {
                        margin: var(--spacing-md) 0;
                        padding-left: var(--spacing-lg);

                        li {
                            margin-bottom: var(--spacing-xs);
                        }
                    }

                    p {
                        margin-bottom: var(--spacing-md);
                    }
                }
            }
        }
    }
}

/* Responsive */
@media (max-width: 992px) {
    .solutions-section {
        padding: var(--spacing-lg) 0;

        .solutions-header h2 {
            font-size: var(--font-size-4xl);
        }

        .solutions-grid {
            gap: var(--spacing-sm);

            .solution-item .solution-card .solution-background {
                height: 300px;

                .solution-content h3 {
                    font-size: var(--font-size-xl);
                }
            }
        }
    }

    .solution-modal {
        &.expanded {
            width: 95vw !important;
            height: 95vh !important;
        }

        .solution-modal-inner {
            .solution-modal-header {
                padding: var(--spacing-lg);

                h2 {
                    font-size: var(--font-size-2xl);
                }
            }

            .solution-modal-body {
                padding: var(--spacing-lg);

                .solution-modal-image {
                    height: 250px;
                }
            }
        }
    }
}

@media (max-width: 768px) {
    .solutions-section {
        padding: var(--spacing-lg) 0;

        .solutions-header {
            margin-bottom: var(--spacing-md);

            h2 {
                font-size: var(--font-size-3xl);
            }
        }

        .solutions-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: var(--spacing-sm);

            .solution-item .solution-card .solution-background {
                height: 280px;

                .solution-content {
                    padding: var(--spacing-sm);

                    h3 {
                        font-size: var(--font-size-lg);
                    }

                    .solution-click-hint {
                        font-size: var(--font-size-xs);
                    }
                }
            }
        }
    }

    .solution-modal {
        .solution-modal-inner {
            .solution-modal-header {
                padding: var(--spacing-md);

                h2 {
                    font-size: var(--font-size-xl);
                }
            }

            .solution-modal-body {
                padding: var(--spacing-md);

                .solution-modal-image {
                    height: 200px;
                }

                .solution-modal-text .solution-details {
                    font-size: var(--font-size-sm);
                }
            }
        }
    }
}

@media (max-width: 576px) {
    .solutions-section {
        padding: var(--spacing-lg) 0;

        .solutions-header {
            margin-bottom: var(--spacing-md);

            h2 {
                font-size: var(--font-size-2xl);
            }
        }

        .solutions-grid {
            grid-template-columns: 1fr;
            gap: var(--spacing-md);

            .solution-item .solution-card .solution-background {
                height: 280px;

                .solution-content {
                    padding: var(--spacing-md);

                    h3 {
                        font-size: var(--font-size-lg);
                        line-height: 1.3;
                    }

                    .solution-click-hint {
                        font-size: var(--font-size-xs);
                    }
                }
            }
        }
    }
}

@media (max-width: 480px) {
    .solutions-section {
        padding: var(--spacing-md) 0;

        .solutions-header h2 {
            font-size: var(--font-size-xl);
        }

        .solutions-grid {
            gap: var(--spacing-sm);

            .solution-item .solution-card .solution-background {
                height: 250px;

                .solution-content {
                    padding: var(--spacing-sm);

                    h3 {
                        font-size: var(--font-size-md);
                    }

                    .solution-click-hint {
                        font-size: var(--font-size-xs);
                    }
                }
            }
        }
    }
}