/* =========================================================
   APOLLO COM - SEARCH OVERLAY
   ========================================================= */

header .search {
    background: #0c0c0c !important;
    overflow: hidden;
}

/* Halo de fond */
header .search::before {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(190,85,237,.09) 0%,
            rgba(112,69,221,.045) 35%,
            transparent 70%
        );
    pointer-events: none;
}

/* Formulaire */
header .search.search--open .search__form {
    width: min(760px, 70vw) !important;
    margin: 0 !important;
    position: relative;
    z-index: 2;
}

/* Petit label Apollo */
header .search.search--open .search__form::before {
    content: "RECHERCHE";
    position: absolute;
    left: 0;
    bottom: calc(100% + 26px);

    color: #e069ff;

    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;

    opacity: .9;
}

/* Ligne d'origine Qreate */
header .search__form::after {
    display: none !important;
}

/* Ligne du formulaire */
header .search .form-row {
    position: relative;

    display: flex;
    align-items: center;

    padding: 0 4px 17px;

    border-bottom: 1px solid rgba(255,255,255,.20);

    transition:
        border-color .3s ease,
        box-shadow .3s ease;
}

header .search .form-row:focus-within {
    border-color: #00E5FF;

    box-shadow:
        0 12px 35px -25px rgba(0,229,255,.8);
}

/* Champ */
header .search .search__input {
    flex: 1;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 65px 0 0 !important;

    border: 0 !important;

    background: transparent !important;

    color: #fff !important;

    font-size: clamp(25px, 2.3vw, 38px) !important;
    font-weight: 400;
    line-height: 1.25 !important;

    letter-spacing: -.025em;

    box-shadow: none !important;
    outline: none !important;
}

header .search .search__input::placeholder {
    color: rgba(255,255,255,.35) !important;
    opacity: 1 !important;
}

/* Loupe */
header .search .search-submit {
    position: absolute;
    right: 4px;
    top: 50%;

    transform: translateY(-50%);

    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border: 1px solid rgba(0,229,255,.22) !important;
    border-radius: 50%;

    background: rgba(0,229,255,.035) !important;

    color: #00E5FF !important;

    font-size: 17px;

    transition:
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}

header .search .search-submit:hover {
    background: rgba(0,229,255,.09) !important;
    border-color: rgba(0,229,255,.55) !important;

    box-shadow:
        0 0 24px rgba(0,229,255,.13);

    transform: translateY(-50%) scale(1.05);
}

/* Croix */
header .search .btn--search-close {
    top: 42px !important;
    right: 48px !important;

    width: 48px;
    height: 48px;

    display: flex !important;
    align-items: center;
    justify-content: center;

    padding: 0 !important;

    border: 1px solid rgba(224,105,255,.30) !important;
    border-radius: 50% !important;

    background: rgba(224,105,255,.035) !important;

    color: #fff !important;

    font-size: 18px !important;

    transition:
        border-color .25s ease,
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

header .search .btn--search-close:hover {
    color: #fff !important;

    border-color: rgba(224,105,255,.75) !important;

    background: rgba(224,105,255,.10) !important;

    box-shadow:
        0 0 25px rgba(224,105,255,.13);

    transform: rotate(90deg);
}


/* MOBILE */
@media (max-width: 767px) {

    header .search.search--open .search__form {
        width: calc(100vw - 80px) !important;
    }

    header .search .search__input {
        font-size: 23px !important;
        padding-right: 55px !important;
    }

    header .search .btn--search-close {
        top: 24px !important;
        right: 24px !important;

        width: 42px;
        height: 42px;
    }

}
