/* ====================================================== */
/* MODAL */
/* ====================================================== */

.checkout-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.25s ease;
}

.checkout-modal.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

/* ====================================================== */
/* OVERLAY */
/* ====================================================== */

.checkout-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.78);
    backdrop-filter:blur(8px);
}

/* ====================================================== */
/* CONTENT */
/* ====================================================== */

.checkout-content{
    position:relative;
    z-index:2;

    width:100%;
    max-width:390px;

    max-height:88vh;
    overflow-y:auto;

    padding:18px;

    border-radius:22px;

    background:#f3f4f6;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:
    0 25px 80px rgba(0,0,0,.35);
}

/* ====================================================== */
/* SCROLL */
/* ====================================================== */

.checkout-content::-webkit-scrollbar{
    width:5px;
}

.checkout-content::-webkit-scrollbar-thumb{
    background:#d1d5db;
    border-radius:20px;
}

/* ====================================================== */
/* CLOSE */
/* ====================================================== */

.checkout-close{
    position:absolute;
    top:10px;
    right:10px;

    width:34px;
    height:34px;

    border:none;

    border-radius:10px;

    background:#ffffff;

    border:1px solid #d8dee7;

    color:#111827;

    font-size:1.1rem;

    cursor:pointer;
}

/* ====================================================== */
/* HEAD */
/* ====================================================== */

.checkout-head{
    margin-bottom:16px;
    padding-right:35px;
}

.checkout-badge{
    display:inline-flex;

    padding:6px 11px;

    border-radius:999px;

    background:#dcfce7;

    color:#15803d;

    font-size:.68rem;
    font-weight:800;

    margin-bottom:9px;
}

.checkout-head h2{
    color:#111827;

    font-size:1.35rem;

    margin-bottom:5px;
}

.checkout-head p{
    color:#6b7280;

    font-size:.82rem;

    line-height:1.45;
}

/* ====================================================== */
/* PRODUCT */
/* ====================================================== */

.checkout-product-box{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;

    margin-bottom:14px;
}

.checkout-product-box div{
    padding:11px;

    border-radius:15px;

    background:#ffffff;

    border:1px solid #d8dee7;
}

.checkout-product-box small{
    display:block;

    color:#6b7280;

    font-size:.66rem;

    margin-bottom:4px;
}

.checkout-product-box strong{
    color:#111827;

    font-size:.78rem;

    line-height:1.3;
}

/* ====================================================== */
/* INPUTS */
/* ====================================================== */

.checkout-fields{
    display:flex;
    flex-direction:column;
    gap:9px;

    margin-bottom:14px;
}

.checkout-fields input{
    width:100%;
    height:50px;

    border:none;
    outline:none;

    border-radius:14px;

    padding:0 15px;

    background:#ffffff;

    border:1px solid #d8dee7;

    color:#111827;

    font-size:.88rem;
}

.checkout-fields input::placeholder{
    color:#6b7280;
}

/* ====================================================== */
/* DROPDOWN */
/* ====================================================== */

.checkout-dropdown{
    position:relative;
    margin-bottom:14px;
}

/* ====================================================== */
/* BUTTON */
/* ====================================================== */

.payment-dropdown-btn{
    width:100%;
    height:52px;

    border:none;
    outline:none;

    border-radius:16px;

    padding:0 16px;

    background:#ffffff;

    border:1px solid #d8dee7;

    display:flex;
    align-items:center;
    justify-content:space-between;

    cursor:pointer;

    color:#111827;

    font-size:.95rem;
    font-weight:700;

    transition:.2s ease;
}

.payment-dropdown-btn:hover{
    border-color:#9ca3af;
}

.payment-dropdown-btn b{
    font-size:1rem;
    color:#6b7280;
}

/* ====================================================== */
/* MENU */
/* ====================================================== */

.payment-dropdown-menu{
    position:absolute;
    top:58px;
    left:0;

    width:100%;

    max-height:280px;
    overflow-y:auto;

    background:#ffffff;

    border:1px solid #d8dee7;

    border-radius:18px;

    padding:10px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.12);

    display:none;

    flex-direction:column;
    gap:8px;

    z-index:50;
}

.payment-dropdown-menu.active{
    display:flex;
}

/* ====================================================== */
/* SCROLL */
/* ====================================================== */

.payment-dropdown-menu::-webkit-scrollbar{
    width:5px;
}

.payment-dropdown-menu::-webkit-scrollbar-thumb{
    background:#d1d5db;
    border-radius:20px;
}

/* ====================================================== */
/* GROUP */
/* ====================================================== */

.payment-group-title{
    padding:6px 8px;

    color:#6b7280;

    font-size:.72rem;
    font-weight:800;

    text-transform:uppercase;
}

/* ====================================================== */
/* OPTION */
/* ====================================================== */

.payment-option{
    width:100%;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;

    padding:12px 14px;

    border:none;

    border-radius:14px;

    background:#f9fafb;

    color:#111827;

    cursor:pointer;

    transition:.2s ease;
}

.payment-option:hover{
    background:#f3f4f6;
}

.payment-option span{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;

    text-align:left;

    font-weight:700;

    font-size:.88rem;
}

.payment-option small{
    color:#6b7280;

    font-size:.72rem;

    font-weight:500;
}

.payment-option strong{
    color:#16a34a;

    font-size:.82rem;
}

/* ====================================================== */
/* SELECT */
/* ====================================================== */

.checkout-currency{
    width:100%;
    height:50px;

    border:none;
    outline:none;

    border-radius:14px;

    padding:0 15px;

    margin-bottom:14px;

    background:#ffffff;

    border:1px solid #d8dee7;

    color:#111827;

    font-size:.88rem;
}

.checkout-currency option{
    background:#ffffff;
}

/* ====================================================== */
/* SUMMARY */
/* ====================================================== */

.checkout-summary-box{
    display:flex;
    flex-direction:column;
    gap:9px;

    padding:14px;

    border-radius:16px;

    background:#ffffff;

    border:1px solid #d8dee7;

    margin-bottom:14px;
}

.checkout-summary-box div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.checkout-summary-box span{
    color:#374151;

    font-size:.82rem;
}

.checkout-summary-box strong{
    color:#111827;

    font-size:.84rem;
}

.checkout-total-row{
    padding-top:8px;

    border-top:1px solid #e5e7eb;
}

.checkout-total-row strong{
    color:#16a34a;

    font-size:1rem;
}

/* ====================================================== */
/* BUTTON */
/* ====================================================== */

.checkout-send{
    width:100%;
    height:50px;

    border:none;

    border-radius:16px;

    background:
    linear-gradient(
        135deg,
        #22c55e,
        #16a34a
    );

    color:#ffffff;

    font-size:.9rem;
    font-weight:800;

    cursor:pointer;
}

/* ====================================================== */
/* RESPONSIVE */
/* ====================================================== */

@media(max-width:480px){

    .checkout-content{
        max-width:95vw;
        max-height:84vh;
        padding:16px;
    }

    .checkout-product-box{
        grid-template-columns:1fr;
    }

}
/* ====================================================== */
/* ERROR MESSAGE */
/* ====================================================== */

.checkout-error-message{

    position:sticky;
    top:0;

    width:100%;

    padding:14px 16px;

    margin-bottom:14px;

    border-radius:14px;

    background:
    linear-gradient(
        135deg,
        #ef4444,
        #dc2626
    );

    color:#fff;

    font-size:.85rem;
    font-weight:700;

    opacity:0;

    transform:translateY(-10px);

    transition:.3s ease;

    z-index:100;
}

.checkout-error-message.active{

    opacity:1;

    transform:translateY(0);

}