/* ========================================
   Bloc USP
   ======================================== */

.block-usp {
    background-color: #102037;
    padding: 100px 0;
}

.block-usp-inner {
    display: flex;
    flex-direction: column;
    gap: 90px;
}

/* Header */
.block-usp-header {
    width: 100%;
}

.block-usp-title {
    font-family: 'Funnel Display', sans-serif;
    font-weight: 300;
    font-size: 45px;
    line-height: 1;
    letter-spacing: 11px;
    color: #F3F1F1;
    margin: 0;
}

/* Items container */
.block-usp-items {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.block-usp-items.block-usp-items--perline-1 .block-usp-item {
    flex: 0 0 100%;
    flex-basis: 100%;
    max-width: 100%;
}

.block-usp-items.block-usp-items--perline-2 .block-usp-item {
    flex: 0 0 calc(50% - 15px);
    flex-basis: calc(50% - 15px);
    max-width: calc(50% - 15px);
}

.block-usp-items.block-usp-items--perline-3 .block-usp-item {
    flex: 0 0 calc(33.333% - 20px);
    flex-basis: calc(33.333% - 20px);
    max-width: calc(33.333% - 20px);
}

.block-usp-items.block-usp-items--perline-4 .block-usp-item {
    flex: 0 0 calc(25% - 23px);
    flex-basis: calc(25% - 23px);
    max-width: calc(25% - 23px);
}

.block-usp-items.block-usp-items--perline-5 .block-usp-item {
    flex: 0 0 calc(20% - 24px);
    flex-basis: calc(20% - 24px);
    max-width: calc(20% - 24px);
}

.block-usp-items.block-usp-items--perline-6 .block-usp-item {
    flex: 0 0 calc(16.666% - 25px);
    flex-basis: calc(16.666% - 25px);
    max-width: calc(16.666% - 25px);
}

/* Item */
.block-usp-item {
    min-width: 0;
    max-width: none;
    display: grid;
    grid-template-rows: auto minmax(50px, auto) 1fr;
    align-items: start;
    justify-items: center;
    gap: 20px;
}

/* Icon */
.block-usp-item-icon {
    width: 98px;
    height: 98px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.block-usp-item-icon img {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

/* Title */
.block-usp-item-title {
    font-family: 'Funnel Display', sans-serif;
    font-weight: 300;
    font-size: 16px!important;
    letter-spacing: 5px;
    color: #E9B82B;
    text-align: center;
    margin: 0;
}

/* Description */
.block-usp-item-desc {
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #F3F1F1;
    text-align: center;
}

/* Responsive */
@media screen and (max-width: 1200px) {
    .block-usp {
        padding: 80px 0;
    }

    .block-usp-inner {
        gap: 70px;
    }

    .block-usp-title {
        font-size: 4.5vw;
        letter-spacing: 0.9vw;
    }

    .block-usp-items {
        gap: 25px;
    }
}

@media screen and (max-width: 992px) {
    .block-usp {
        padding: 60px 0;
    }

    .block-usp-inner {
        gap: 50px;
    }

    .block-usp-title {
        font-size: 5vw;
        letter-spacing: 1vw;
    }

    .block-usp .block-usp-items .block-usp-item {
        flex: 0 0 calc(33.333% - 20px);
        flex-basis: calc(33.333% - 20px);
        max-width: calc(33.333% - 20px);
    }

    .block-usp-item-icon {
        width: 80px;
        height: 80px;
    }

    .block-usp-item-title {
        font-size: 22px;
        letter-spacing: 4px;
    }

    .block-usp-item-desc {
        font-size: 14px;
        letter-spacing: 2.8px;
    }
}

@media screen and (max-width: 768px) {
    .block-usp {
        padding: 50px 0;
    }

    .block-usp-inner {
        gap: 40px;
    }

    .block-usp-title {
        font-size: 6vw;
        letter-spacing: 1.2vw;
    }

    .block-usp-items {
        gap: 30px;
        flex-direction: column;
        align-items: center;
    }

    .block-usp-item {
        max-width: 100%;
        width: 100%;
        min-width: 0;
    }
}

@media screen and (max-width: 576px) {
    .block-usp {
        padding: 40px 0;
    }

    .block-usp-inner {
        gap: 30px;
    }

    .block-usp-title {
        font-size: 7vw;
        letter-spacing: 1.4vw;
    }

    .block-usp-item-icon {
        width: 70px;
        height: 70px;
    }

    .block-usp-item-title {
        font-size: 20px;
        letter-spacing: 3px;
    }

    .block-usp-item-desc {
        font-size: 14px;
        letter-spacing: 0.05em;
    }
}
