/**
 * Fichier  : /pages/homepage/header/assets/css/checklist.css
 * Fonction : style de la checklist de l'en-tête - page d'accueil
 */


/* ==================================================
   CHECKLIST
================================================== */

.welcome .checklist {
    position: relative;
    z-index: 2;
}

.welcome .checklist {
    width: 100%;
}

.welcome .checklist {
    box-sizing: border-box;
    padding: 10px 24px;
}

.welcome .checklist {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.welcome .checklist {
    background:
        linear-gradient(
            135deg,
            rgba(12, 12, 12, .86) 0%,
            rgba(12, 12, 12, .68) 100%
        );
}

.welcome .checklist {
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: var(--radius-xl);
}

.welcome .checklist {
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

.welcome .checklist {
    box-shadow:
        0 24px 60px rgba(0, 0, 0, .32),
        inset 0 1px 0 rgba(255, 255, 255, .05);
}


/* ==================================================
   ITEM
================================================== */

.welcome .checklist .item {
    position: relative;
}

.welcome .checklist .item:not(:last-child) {
    border-bottom: 1px solid var(--color-border);
}

.welcome .checklist .item {
    transition:
        transform var(--transition-card),
        opacity var(--transition-card);
}


/* ==================================================
   LINK
================================================== */

.welcome .checklist .item > a {
    width: 100%;
}

.welcome .checklist .item > a {
    box-sizing: border-box;
    padding: 22px 0;
}

.welcome .checklist .item > a {
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: start;
    gap: 14px;
}

.welcome .checklist .item > a {
    color: inherit;
    text-decoration: none;
}

.welcome .checklist .item > a {
    cursor: pointer;
}


/* ==================================================
   NUMBER
================================================== */

.welcome .checklist .number {
    padding-top: 3px;
}

.welcome .checklist .number {
    font-family: 'bold-font';
    font-size: 9px;
    font-weight: 400;
    letter-spacing: .12em;
    color: var(--color-text-muted);
}

.welcome .checklist .number {
    transition:
        color var(--transition-card),
        text-shadow var(--transition-card);
}


/* ==================================================
   CONTENT
================================================== */

.welcome .checklist .content {
    display: flex;
    flex-direction: column;
    gap: 0;
}


/* ==================================================
   LABEL
================================================== */

.welcome .checklist .label {
    font-family: 'bold-font';
    font-size: 16px;
    font-weight: 400;
    line-height: 1.25em;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-soft);
}

.welcome .checklist .label {
    transition:
        color var(--transition-card),
        transform var(--transition-card);
}


/* ==================================================
   DESCRIPTION
================================================== */

.welcome .checklist .description {
    overflow: hidden;
}

.welcome .checklist .description {
    max-width: 240px;
    max-height: 0;
}

.welcome .checklist .description {
    margin-top: 0;
}

.welcome .checklist .description {
    font-family: 'content-font';
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5em;
    letter-spacing: .5px;
    color: var(--color-text-muted);
}

.welcome .checklist .description {
    opacity: 0;
    transform: translateY(6px);
}

.welcome .checklist .description {
    transition:
        max-height .45s ease,
        margin-top .45s ease,
        opacity .35s ease,
        transform .45s ease;
}


/* ==================================================
   ACTIVE INDICATOR
================================================== */

.welcome .checklist .item::after {
    content: "";
}

.welcome .checklist .item::after {
    position: absolute;
    right: 0;
    bottom: -1px;
}

.welcome .checklist .item::after {
    width: 0;
    height: 2px;
}

.welcome .checklist .item::after {
    background: var(--gradient-primary);
}

.welcome .checklist .item::after {
    box-shadow:
        0 0 10px rgba(233, 64, 27, .45),
        0 0 20px rgba(233, 64, 27, .18);
}

.welcome .checklist .item::after {
    transition: width var(--transition-card);
}


/* ==================================================
   ACTIVE STATE
================================================== */

.welcome .checklist .item.active {
    transform: translateX(-10px);
}

.welcome .checklist .item.active::after {
    width: 100%;
}

.welcome .checklist .item.active .number {
    color: var(--color-primary);
}

.welcome .checklist .item.active .number {
    text-shadow:
        0 0 10px rgba(233, 64, 27, .55);
}

.welcome .checklist .item.active .label {
    color: var(--color-white);
}

.welcome .checklist .item.active .description {
    max-height: 60px;
    margin-top: 8px;
}

.welcome .checklist .item.active .description {
    opacity: 1;
    transform: translateY(0);
}


/* ==================================================
   DESKTOP INTERACTIONS
================================================== */

@media screen and (min-width: 1024px) {

    .welcome .checklist:hover .item:not(:hover) {
        opacity: .45;
    }

    .welcome .checklist .item:hover {
        transform: translateX(-10px);
        opacity: 1;
    }

    .welcome .checklist .item:hover::after {
        width: 100%;
    }

    .welcome .checklist .item:hover .number {
        color: var(--color-primary);
    }

    .welcome .checklist .item:hover .label {
        color: var(--color-white);
    }

    .welcome .checklist .item:hover .description {
        max-height: 60px;
        margin-top: 8px;
    }

    .welcome .checklist .item:hover .description {
        opacity: 1;
        transform: translateY(0);
    }

}


/* ==================================================
   TABLETTE
================================================== */

@media screen and (max-width: 1024px) {

    .welcome .checklist {
        max-width: 620px;
    }

    .welcome .checklist {
        background:
            linear-gradient(
                135deg,
                rgba(12, 12, 12, .68) 0%,
                rgba(12, 12, 12, .46) 100%
            );
    }

    .welcome .checklist {
        border: 1px solid rgba(255, 255, 255, .10);
    }

    .welcome .checklist {
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .welcome .checklist {
        box-shadow:
            0 18px 45px rgba(0, 0, 0, .24),
            inset 0 1px 0 rgba(255, 255, 255, .05);
    }

    .welcome .checklist {
        gap: 0;
    }

    .welcome .checklist .item > a {
        padding: 12px 14px;
    }

    .welcome .checklist .item > a {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .welcome .checklist .item:not(:last-child) {
        border-bottom: 0;
    }

    .welcome .checklist .item.active {
        transform: none;
    }

    .welcome .checklist .number {
        padding-top: 0;
    }

    .welcome .checklist .number {
        font-size: 8px;
    }

    .welcome .checklist .label {
        font-size: 10px;
    }

    .welcome .checklist .description {
        display: none;
    }

}