/* =========================================
   GLOBAL FIX
========================================= */
.rf-donation-form *,
.rf-event-form * {
    box-sizing: border-box;
}

/* =========================================
   FORM WRAPPER
========================================= */
.rf-donation-form,
.rf-event-form {
    width: 100%;
    max-width: 100%;
    margin: 20px auto;
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* =========================================
   HEADINGS
========================================= */
.rf-donation-form h3,
.rf-event-form h3 {
    text-align: center;
    font-size: 22px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid #0073aa;
}

/* =========================================
   FORM GROUP
========================================= */
.rf-form-group {
    margin-bottom: 20px;
}

.rf-form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 14px;
}

/* =========================================
   INPUTS & SELECTS
========================================= */
.rf-donation-form input,
.rf-event-form input,
.rf-donation-form select,
.rf-event-form select {
    width: 100%;
    max-width: 100%;
    font-size: 16px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

/* Select arrow */
.rf-donation-form select,
.rf-event-form select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    padding-right: 40px;
}

/* =========================================
   AMOUNT BOX (NEW CLASS)
========================================= */
.rf-amount-wrapper {
    width: 100%;
}

.rf-amount-input {
    position: relative;
}

.rf-currency {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 600;
}

.rf-amount {
    padding-left: 36px;
}

/* =========================================
   BUTTON (NEW CLASS)
========================================= */
.rf-action-button {
    display: block;
    padding: 14px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 6px;
    cursor: pointer;
    width: 100%;
}

/* =========================================
   MOBILE (DEFAULT)
========================================= */
.rf-amount-wrapper,
.rf-action-button {
    width: 100%;
}

/* =========================================
   TABLET & DESKTOP
========================================= */
@media (min-width: 768px) {

    .rf-donation-form,
    .rf-event-form {
        max-width: 70%;
        padding: 25px;
    }

    .rf-amount-wrapper,
    .rf-action-button {
        width: 30%;
    }
}