.projects-tiles-wrapper {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    overflow: visible;
}

.projects-tiles-main-wrapper,
.projects-tiles-item-wrapper {
    position: absolute;
}

.projects-tiles-main-tile,
.projects-tiles-item {
    position: relative;
    width: 100%;
    height: 100%;
    --corner-radius: 2%;
    clip-path: polygon(
        /* Sommet haut-gauche (5 points) */
        calc(25% + var(--corner-radius) * 0.5) calc(0% + var(--corner-radius) * 0.8),
        calc(25% + var(--corner-radius) * 1) calc(0% + var(--corner-radius) * 0.3),
        calc(25% + var(--corner-radius) * 1.5) calc(0% + var(--corner-radius) * 0.1),
        calc(25% + var(--corner-radius) * 2) 0%,
        calc(25% + var(--corner-radius) * 2.5) 0%,
        /* Bord haut */
        calc(75% - var(--corner-radius) * 2.5) 0%,
        /* Sommet haut-droite (5 points) */
        calc(75% - var(--corner-radius) * 2) 0%,
        calc(75% - var(--corner-radius) * 1.5) calc(0% + var(--corner-radius) * 0.1),
        calc(75% - var(--corner-radius) * 1) calc(0% + var(--corner-radius) * 0.3),
        calc(75% - var(--corner-radius) * 0.5) calc(0% + var(--corner-radius) * 0.8),
        /* Sommet droite (5 points) */
        calc(100% - var(--corner-radius) * 0.5) calc(50% - var(--corner-radius) * 2),
        calc(100% - var(--corner-radius) * 0.3) calc(50% - var(--corner-radius) * 1),
        calc(100% - var(--corner-radius) * 0.15) calc(50% - var(--corner-radius) * 0.3),
        calc(100% - var(--corner-radius) * 0.1) 50%,
        calc(100% - var(--corner-radius) * 0.15) calc(50% + var(--corner-radius) * 0.3),
        calc(100% - var(--corner-radius) * 0.3) calc(50% + var(--corner-radius) * 1),
        calc(100% - var(--corner-radius) * 0.5) calc(50% + var(--corner-radius) * 2),
        /* Sommet bas-droite (5 points) */
        calc(75% - var(--corner-radius) * 0.5) calc(100% - var(--corner-radius) * 0.8),
        calc(75% - var(--corner-radius) * 1) calc(100% - var(--corner-radius) * 0.3),
        calc(75% - var(--corner-radius) * 1.5) calc(100% - var(--corner-radius) * 0.1),
        calc(75% - var(--corner-radius) * 2) 100%,
        calc(75% - var(--corner-radius) * 2.5) 100%,
        /* Bord bas */
        calc(25% + var(--corner-radius) * 2.5) 100%,
        /* Sommet bas-gauche (5 points) */
        calc(25% + var(--corner-radius) * 2) 100%,
        calc(25% + var(--corner-radius) * 1.5) calc(100% - var(--corner-radius) * 0.1),
        calc(25% + var(--corner-radius) * 1) calc(100% - var(--corner-radius) * 0.3),
        calc(25% + var(--corner-radius) * 0.5) calc(100% - var(--corner-radius) * 0.8),
        /* Sommet gauche (5 points) */
        calc(0% + var(--corner-radius) * 0.5) calc(50% + var(--corner-radius) * 2),
        calc(0% + var(--corner-radius) * 0.3) calc(50% + var(--corner-radius) * 1),
        calc(0% + var(--corner-radius) * 0.15) calc(50% + var(--corner-radius) * 0.3),
        calc(0% + var(--corner-radius) * 0.1) 50%,
        calc(0% + var(--corner-radius) * 0.15) calc(50% - var(--corner-radius) * 0.3),
        calc(0% + var(--corner-radius) * 0.3) calc(50% - var(--corner-radius) * 1),
        calc(0% + var(--corner-radius) * 0.5) calc(50% - var(--corner-radius) * 2)
    );
}


.projects-tiles-main-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: transform 0.3s ease;
}

.projects-tiles-main-tile:hover {
    transform: scale(1.05);
}

.projects-tiles-main-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: white;
    padding: 40px;
}

.projects-tiles-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 20px;
    object-fit: contain;
}

.projects-tiles-main-text {
    font-size: 28px;
    font-weight: bold;
    margin: 0 0 15px 0;
    color: white;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.projects-tiles-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.projects-tiles-arrow svg {
    display: block;
    color: white;
    width: 100%;
    height: 100%;
}

.projects-tiles-item {
    cursor: pointer;
    transition: transform 0.3s ease;
}

.projects-tiles-item:hover {
    transform: scale(1.05);
}

.projects-tiles-link {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    text-decoration: none;
    color: white;
    overflow: hidden;
}

.projects-tiles-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.projects-tiles-item:hover .projects-tiles-image {
    transform: scale(1.1);
}

.projects-tiles-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    opacity: 0;
    transition: opacity 0.3s ease;
    text-align: center;
}

.projects-tiles-item:hover .projects-tiles-overlay {
    opacity: 1;
}

.projects-tiles-title {
    font-size: 24px;
    font-weight: bold;
    color: white;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.projects-tiles-category {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    font-weight: 300;
}

/* Tablette (768px - 1024px) - Aligné avec Elementor */
@media (min-width: 768px) and (max-width: 1024px) {
    .projects-tiles-wrapper {
        padding: 20px;
    }

    .projects-tiles-main-text {
        font-size: 20px;
        letter-spacing: 1px;
    }

    .projects-tiles-icon {
        width: 60px;
        height: 60px;
    }

    .projects-tiles-arrow {
        font-size: 24px;
    }

    .projects-tiles-title {
        font-size: 18px;
    }

    .projects-tiles-category {
        font-size: 14px;
    }
}

/* Mobile (< 768px) - Aligné avec Elementor */
@media (max-width: 767px) {
    .projects-tiles-wrapper {
        padding: 15px;
    }

    .projects-tiles-main-text {
        font-size: 16px;
        letter-spacing: 0.5px;
    }

    .projects-tiles-icon {
        width: 45px;
        height: 45px;
        margin-bottom: 12px;
    }

    .projects-tiles-arrow {
        font-size: 18px;
    }

    .projects-tiles-title {
        font-size: 14px;
    }

    .projects-tiles-category {
        font-size: 11px;
    }
}

/* Support pour l'éditeur Elementor en mode tablette */
.elementor-device-tablet .projects-tiles-wrapper {
    padding: 20px;
}

.elementor-device-tablet .projects-tiles-main-text {
    font-size: 20px;
    letter-spacing: 1px;
}

.elementor-device-tablet .projects-tiles-icon {
    width: 60px;
    height: 60px;
}

.elementor-device-tablet .projects-tiles-arrow {
    font-size: 24px;
}

.elementor-device-tablet .projects-tiles-title {
    font-size: 18px;
}

.elementor-device-tablet .projects-tiles-category {
    font-size: 14px;
}

/* Support pour l'éditeur Elementor en mode mobile */
.elementor-device-mobile .projects-tiles-wrapper {
    padding: 15px;
}

.elementor-device-mobile .projects-tiles-main-text {
    font-size: 16px;
    letter-spacing: 0.5px;
}

.elementor-device-mobile .projects-tiles-icon {
    width: 45px;
    height: 45px;
}

.elementor-device-mobile .projects-tiles-arrow {
    font-size: 18px;
}

.elementor-device-mobile .projects-tiles-title {
    font-size: 14px;
}

.elementor-device-mobile .projects-tiles-category {
    font-size: 11px;
}
