/* ==========================================================
   SRC — WELCOME DISCOUNT POPUP
   ========================================================== */

.src-welcome-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;

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

    padding: 24px;

    background: rgba(0, 0, 0, 0.58);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.src-welcome-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}


/* POPUP */

.src-welcome-popup {
    position: relative;

    width: 100%;
    max-width: 520px;

    background: #f3f3f3;
    color: #111;

    border-radius: 4px;

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.28);

    transform: translateY(18px) scale(0.98);

    transition: transform 0.3s ease;
}

.src-welcome-overlay.is-visible .src-welcome-popup {
    transform: translateY(0) scale(1);
}


/* CONTENT */

.src-welcome-content {
    padding: 58px 55px 52px;

    text-align: center;
}


/* EYEBROW */

.src-welcome-eyebrow {
    margin-bottom: 23px;

    font-size: 11px;
    line-height: 1.4;

    font-weight: 700;

    letter-spacing: 0.14em;

    color: #777;
}


/* BIG DISCOUNT */

.src-welcome-discount {
    margin-bottom: 8px;

    font-size: clamp(68px, 10vw, 94px);
    line-height: 0.95;

    font-weight: 700;

    letter-spacing: -0.07em;

    color: #111;
}


/* TITLE */

.src-welcome-content h2 {
    margin: 0 0 16px;

    font-size: 27px;
    line-height: 1.1;

    font-weight: 600;

    letter-spacing: -0.035em;

    color: #111;
}


/* DESCRIPTION */

.src-welcome-content p {
    max-width: 390px;

    margin: 0 auto 30px;

    font-size: 15px;
    line-height: 1.65;

    color: #555;
}


/* MAIN BUTTON */

.src-welcome-button {
    display: flex;

    width: 100%;
    min-height: 54px;

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

    padding: 0 25px;

    background: #111;

    color: #fff !important;

    text-decoration: none !important;

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 0.02em;

    border-radius: 2px;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.src-welcome-button:hover {
    background: #292929;

    transform: translateY(-1px);
}


/* LOGIN */

.src-welcome-login {
    display: inline-block;

    margin-top: 20px;

    color: #555 !important;

    font-size: 12px;
    font-weight: 500;

    text-decoration: underline !important;

    text-underline-offset: 3px;
}

.src-welcome-login:hover {
    color: #111 !important;
}


/* CLOSE */

.src-welcome-close {
    position: absolute;

    top: 17px;
    right: 17px;

    z-index: 5;

    width: 34px;
    height: 34px;

    padding: 0;

    border: 0;

    background: transparent;

    cursor: pointer;
}

.src-welcome-close span {
    position: absolute;

    top: 16px;
    left: 7px;

    width: 20px;
    height: 1px;

    background: #111;
}

.src-welcome-close span:first-child {
    transform: rotate(45deg);
}

.src-welcome-close span:last-child {
    transform: rotate(-45deg);
}


/* LOCK SCROLL */

body.src-welcome-open {
    overflow: hidden;
}


/* MOBILE */

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

    .src-welcome-overlay {
        padding: 16px;
    }

    .src-welcome-content {
        padding: 50px 26px 38px;
    }

    .src-welcome-discount {
        font-size: 70px;
    }

    .src-welcome-content h2 {
        font-size: 24px;
    }

    .src-welcome-content p {
        font-size: 14px;
    }

    .src-welcome-button {
        min-height: 52px;
    }
}