.donation-tier,
.member-tier,
.custom-amount-btn,
.pay-card{
    cursor:pointer;
}

.member-tier.selected-member {
    cursor: default;
}
.member-tier * {
    user-select: none;
    caret-color: transparent;
}

/* ============================================
SELECTED MEMBER
============================================ */
.selected-member{
    border:2px solid #007bff;
    background:#f0f8ff;
    box-shadow:0 0 10px rgba(0,123,255,0.3);
    transform:scale(1.02);
}


/* ============================================
CUSTOM AMOUNT FIELD
============================================ */
.custom-amount-field{

    width:100% !important;

    display:block !important;

    clear:both;

    margin-top:20px;

    animation:slideDown .3s ease-out;
}


/* FORCE BELOW ELEMENTOR CONTAINER */
.elementor-container,
.e-con-inner{
    flex-wrap:wrap !important;
}


.custom-amount-container{

    width:100%;

    background:#f5f5f5;

    padding:20px;

    border-radius:8px;
}


.custom-amount-title{

    margin:0 0 15px;

    font-size:18px;

    font-weight:700;

    color:#333;
}


/* ============================================
ROW LAYOUT
============================================ */
.custom-amount-row{

    display:flex !important;

    flex-direction:row !important;

    align-items:center;

    gap:10px;

   flex-wrap:nowrap !important;
}


/* INPUT */
.custom-amount-input{

    flex:1;

    min-width:0;

    padding:12px;

    border:1px solid #ddd;

    border-radius:4px;

    font-size:16px;
}


.custom-pay-btn,
.custom-cancel-btn{

    white-space:nowrap;

    padding:12px 20px;
}


.custom-amount-input:focus{

    outline:none;

    border-color:#1a472a;

    box-shadow:0 0 5px rgba(26,71,42,0.3);
}


/* PAY BUTTON */
.custom-pay-btn{

    background:#1a472a;

    color:#fff;

    border:none;

    padding:10px 18px;

    border-radius:4px;

    cursor:pointer;

    font-size:14px;

    font-weight:600;
}


.custom-pay-btn:hover{

    background:#0d2f1c;
}


/* CANCEL BUTTON */
.custom-cancel-btn{

    background:#ccc;

    color:#333;

    border:none;

    padding:10px 18px;

    border-radius:4px;

    cursor:pointer;

    font-size:14px;
}


.custom-cancel-btn:hover{

    background:#bbb;
}


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

    .custom-amount-row{

        flex-direction:column !important;
    }

    .custom-amount-input,
    .custom-pay-btn,
    .custom-cancel-btn{

        width:100% !important;

        flex:auto !important;
    }
}


/* ============================================
ANIMATION
============================================ */
@keyframes slideDown{

    from{
        opacity:0;
        transform:translateY(-20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}