/* === Premium card-style amount buttons v2 (2025-08-04) === */
.donasi-form .donasi-nominal-buttons{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:1rem;
    justify-items:stretch;
}
.nominal-button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:1.25rem 1rem;
    border:2px solid #E5E7EB;
    border-radius:0.75rem;
    background:#fff;
    cursor:pointer;
    transition:border-color .2s,box-shadow .2s;
    font-weight:600;
    position:relative;
}
.nominal-button .hint{
    margin-top:.25rem;
    font-size:.75rem;
    color:#9CA3AF;
}
.nominal-button.active{
    border-color:#16A34A;
    box-shadow:0 0 0 1px rgba(22,163,74,.25);
}
.nominal-button.active::after{
    content:'';
    position:absolute;
    top:8px;
    right:10px;
    width:18px;
    height:18px;
    background:url('../img/check.svg') no-repeat center/contain;
}
@media(max-width:640px){
    .nominal-button{padding:1rem;}
}

/* ==== Campaign title size fix ==== */
.campaign-title{
    font-size:1.5rem!important;
    font-weight:700;
}
@media(max-width:640px){
    .campaign-title{font-size:1.25rem!important;}
}

/* === v39 overrides === */
.nominal-button,
.nominal-button .label{
    color:#374151!important;          /* dark text default */
}
.nominal-button.active{
    background:#16A34A!important;
    border-color:#16A34A!important;
    color:#ffffff!important;
}
.nominal-button.active .label,
.nominal-button.active .hint{
    color:#ffffff!important;
}
.nominal-button .hint{color:#9CA3AF!important;}
.other-amount-btn,
.nominal-button.other-amount-btn .label{
    color:#374151!important;          /* remove red */
}
