/* =============================================
   Donation Form Redesign - Wafaa Charitable
   One unified card, professional & easy to use
   ============================================= */

/* --- Google Font import --- */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');

/* --- Page background --- */
body.campaign-donation-page,
body.postid-type-campaign {
    background-color: #f4f6f9 !important;
}

/* --- Main form wrapper: single unified card --- */
.charitable-donation-form.charitable-template-standard {
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    max-width: 580px;
    margin: 2rem auto !important;
    padding: 0 !important;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    /* Force single-column layout */
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
}

/* Force ALL direct children of the form to be full-width */
.charitable-donation-form.charitable-template-standard>* {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* --- Remove individual fieldset borders/padding --- */
.charitable-donation-form.charitable-template-standard .charitable-fieldset {
    border: none !important;
    margin: 0 !important;
    padding: 1.5rem 2rem 1rem !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Force all inner wrappers and field containers to full-width */
.charitable-donation-form.charitable-template-standard .charitable-fieldset>*,
.charitable-donation-form.charitable-template-standard .charitable-form-field:not(#charitable_field_cc_cvc):not(#charitable_field_cc_expiration),
.charitable-donation-form.charitable-template-standard .charitable-fieldset-field-wrapper,
.charitable-donation-form.charitable-template-standard fieldset {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* --- Modern Toggle Switch styling for Email --- */
.charitable-email-toggle-wrapper {
    padding: 0 4px !important;
    margin-bottom: 0.75rem !important;
}

.custom-toggle-switch {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
    position: relative;
    padding: 6px 0;
}

.custom-toggle-switch input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
    margin: 0;
}

.custom-toggle-switch .toggle-slider {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    background-color: #cbd5e1;
    border-radius: 24px;
    transition: 0.3s ease-in-out;
    flex-shrink: 0;
}

.custom-toggle-switch .toggle-slider::before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    border-radius: 50%;
    background-color: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    top: 3px;
    right: 3px;
    transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.custom-toggle-switch input[type="checkbox"]:checked+.toggle-slider {
    background-color: #4e9a4b;
}

.custom-toggle-switch input[type="checkbox"]:checked+.toggle-slider::before {
    transform: translateX(-20px);
}

.custom-toggle-switch input[type="checkbox"]:focus-visible+.toggle-slider {
    box-shadow: 0 0 0 3px rgba(78, 154, 75, 0.3);
}

.custom-toggle-switch .toggle-text {
    font-size: 0.95rem;
    color: #334155;
    font-weight: 600;
    line-height: 1;
}

/* RTL text alignment */
/* --- Modern Toggle for all default Charitable checkboxes (e.g. Gift Donation) --- */
.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox {
    margin-bottom: 0.75rem !important;
}

.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
    margin: 0;
}

.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
    position: relative;
    padding: 6px 0;
    font-size: 0.95rem;
    color: #334155;
    font-weight: 600;
    line-height: 1;
}

/* The track */
.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox label::before {
    content: "";
    display: inline-block;
    width: 44px;
    height: 24px;
    background-color: #cbd5e1;
    border-radius: 24px;
    transition: 0.3s ease-in-out;
    flex-shrink: 0;
    order: -1;
    /* Place before text */
}

/* The thumb */
.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox label::after {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    border-radius: 50%;
    background-color: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    top: 50%;
    /* Default spacing for RTL */
    right: 3px;
    transform: translateY(-50%);
    transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Checked state track */
.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox input[type="checkbox"]:checked+label::before {
    background-color: #4e9a4b;
}

/* Checked state thumb (RTL moves left) */
.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox input[type="checkbox"]:checked+label::after {
    transform: translate(-20px, -50%);
}

/* Focus state */
.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox input[type="checkbox"]:focus-visible+label::before {
    box-shadow: 0 0 0 3px rgba(78, 154, 75, 0.3);
}

.charitable-donation-form.charitable-template-standard {
    direction: rtl !important;
    text-align: right !important;
}

.charitable-donation-form.charitable-template-standard input,
.charitable-donation-form.charitable-template-standard select,
.charitable-donation-form.charitable-template-standard textarea {
    text-align: right !important;
    direction: rtl !important;
}

/* Dividers between sections */
.charitable-donation-form.charitable-template-standard .charitable-fieldset+.charitable-fieldset,
.charitable-donation-form.charitable-template-standard #charitable-donor-fields {
    border-top: 1px solid #eaeef3 !important;
}

/* --- Section headers --- */
.charitable-donation-form.charitable-template-standard .charitable-form-header {
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #2d3748 !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 0 0.6rem 0 !important;
    border-bottom: 2px solid #4e9a4b !important;
    display: inline-block !important;
    line-height: 1.4 !important;
    letter-spacing: -0.01em;
}

/* --- Donor fields section --- */
.charitable-donation-form.charitable-template-standard #charitable-donor-fields {
    padding: 1.5rem 2rem 0.5rem !important;
    margin: 0 !important;
    background: transparent !important;
}

.charitable-donation-form.charitable-template-standard #charitable-donor-fields>.charitable-form-field,
.charitable-donation-form.charitable-template-standard #charitable-donor-fields .charitable-form-fields>.charitable-form-field {
    padding: 0 !important;
}

.charitable-donation-form.charitable-template-standard #charitable-user-fields,
.charitable-donation-form.charitable-template-standard #charitable-meta-fields {
    padding: 0 !important;
}

.charitable-donation-form.charitable-template-standard #charitable-meta-fields {
    border-top: none !important;
    margin-top: 0.5rem !important;
}

/* --- Labels --- */
.charitable-donation-form.charitable-template-standard label {
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #475569 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.charitable-donation-form.charitable-template-standard label .charitable-required-indicator {
    color: #ef4444 !important;
    font-weight: 700;
    margin-right: 2px;
}

/* --- All inputs, selects, textareas --- */
.charitable-donation-form.charitable-template-standard input[type="text"],
.charitable-donation-form.charitable-template-standard input[type="email"],
.charitable-donation-form.charitable-template-standard input[type="tel"],
.charitable-donation-form.charitable-template-standard input[type="number"],
.charitable-donation-form.charitable-template-standard input[type="password"],
.charitable-donation-form.charitable-template-standard select,
.charitable-donation-form.charitable-template-standard textarea {
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    background-color: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    outline: none !important;
    transition: all 0.25s ease !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 1.5 !important;
}

.charitable-donation-form.charitable-template-standard input:focus,
.charitable-donation-form.charitable-template-standard select:focus,
.charitable-donation-form.charitable-template-standard textarea:focus {
    border-color: #4e9a4b !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(78, 154, 75, 0.12) !important;
}

.charitable-donation-form.charitable-template-standard input::placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
}

/* --- Form fields spacing --- */
.charitable-donation-form.charitable-template-standard .charitable-form-field {
    margin-bottom: 1rem !important;
}

/* --- Custom donation amount input --- */
.charitable-donation-form.charitable-template-standard .custom-donation-input {
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    padding: 0.75rem 1rem !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    background-color: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease !important;
}

.charitable-donation-form.charitable-template-standard .custom-donation-input:focus {
    border-color: #4e9a4b !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(78, 154, 75, 0.12) !important;
}

/* --- Donation amount suggestions --- */
.charitable-donation-form.charitable-template-standard .donation-amounts {
    gap: 8px !important;
    margin-bottom: 0.5rem !important;
}

.charitable-donation-form.charitable-template-standard .donation-amounts .donation-amount {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    margin: 0 !important;
    background: #f8fafc !important;
    transition: all 0.25s ease !important;
    cursor: pointer;
}

.charitable-donation-form.charitable-template-standard .donation-amounts .donation-amount:hover {
    border-color: #4e9a4b !important;
    background: #f0fdf4 !important;
}

.charitable-donation-form.charitable-template-standard .donation-amounts .donation-amount.selected {
    background: linear-gradient(135deg, #4e9a4b 0%, #3d8b3a 100%) !important;
    border-color: #4e9a4b !important;
    box-shadow: 0 2px 8px rgba(78, 154, 75, 0.3) !important;
}

.charitable-donation-form.charitable-template-standard .donation-amounts .donation-amount.selected label {
    color: #fff !important;
    font-weight: 700 !important;
}

.charitable-donation-form.charitable-template-standard .donation-amounts .donation-amount>label,
.charitable-donation-form.charitable-template-standard .donation-amounts .donation-amount .custom-donation-amount-wrapper {
    padding: 0.65rem 1rem !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

/* --- Suggested amounts row --- */
.charitable-donation-form.charitable-template-standard .donation-amounts.donation-suggested-amount {
    flex-direction: row !important;
    gap: 8px !important;
    padding: 0 !important;
    margin-bottom: 10px !important;
}

.charitable-donation-form.charitable-template-standard .donation-amounts.donation-suggested-amount li {
    border-radius: 10px !important;
    border: 1.5px solid #e2e8f0 !important;
    margin: 0 !important;
    padding: 0.5rem 0 !important;
    background: #f8fafc !important;
}

.charitable-donation-form.charitable-template-standard .donation-amounts.donation-suggested-amount li:hover {
    border-color: #4e9a4b !important;
    background: #f0fdf4 !important;
}

/* --- Credit card fields layout --- */
.charitable-donation-form.charitable-template-standard #charitable-gateway-fields .charitable-gateway-fields {
    padding-top: 0.5rem !important;
}

/* CVV + Expiry in ONE row */
.charitable-donation-form.charitable-template-standard #charitable-gateway-fields-unified {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.charitable-donation-form.charitable-template-standard #charitable-gateway-fields-unified>*:not(#charitable_field_cc_cvc):not(#charitable_field_cc_expiration) {
    flex: 1 1 100% !important;
    min-width: 0 !important;
}

.charitable-donation-form.charitable-template-standard #charitable_field_cc_cvc {
    flex: 1 1 35% !important;
    max-width: 38% !important;
}

.charitable-donation-form.charitable-template-standard #charitable_field_cc_expiration {
    flex: 1 1 55% !important;
    max-width: 58% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: flex-end !important;
}

.charitable-donation-form.charitable-template-standard #charitable_field_cc_expiration fieldset>*:not(.charitable-fieldset-field-header) {
    float: none !important;
    width: auto !important;
    flex: 1 !important;
    max-width: none !important;
}

.charitable-donation-form.charitable-template-standard #charitable_field_cc_expiration .charitable-fieldset-field-header {
    width: 100% !important;
    flex: 0 0 100% !important;
}

.charitable-donation-form.charitable-template-standard #charitable_field_cc_expiration .year {
    margin-left: 0 !important;
}

/* On small screens, stack them */
@media (max-width: 480px) {

    .charitable-donation-form.charitable-template-standard #charitable_field_cc_cvc,
    .charitable-donation-form.charitable-template-standard #charitable_field_cc_expiration {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
}

/* Card field headers */
.charitable-donation-form.charitable-template-standard .charitable-fieldset-field-header {
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    color: #475569 !important;
    margin-bottom: 6px !important;
}

/* --- Gateway selector pills --- */
.charitable-donation-form.charitable-template-standard #charitable-gateway-selector {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-bottom: 1rem !important;
}

.charitable-donation-form.charitable-template-standard #charitable-gateway-selector li {
    margin: 0 !important;
}

.charitable-donation-form.charitable-template-standard #charitable-gateway-selector li label {
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    padding: 0.4rem 1rem !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

.charitable-donation-form.charitable-template-standard #charitable-gateway-selector li input:checked+label {
    background: #4e9a4b !important;
    color: #fff !important;
    border-color: #4e9a4b !important;
}

/* --- Checkbox styling (gift donation) --- */
.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox label {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: #64748b !important;
    display: inline !important;
    cursor: pointer;
}

.charitable-donation-form.charitable-template-standard .charitable-form-field-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    border-radius: 4px !important;
    accent-color: #4e9a4b !important;
    vertical-align: middle;
    cursor: pointer;
}

/* --- Submit button --- */
.charitable-donation-form.charitable-template-standard .charitable-submit-field {
    padding: 0.5rem 2rem 2rem !important;
    margin: 0 !important;
    border-top: 1px solid #eaeef3 !important;
    background: transparent !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.charitable-donation-form.charitable-template-standard .charitable-submit-field .button,
.charitable-donation-form.charitable-template-standard .charitable-submit-field .donate-button {
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    width: 80% !important;
    max-width: 320px !important;
    display: block !important;
    margin: 0.5rem auto !important;
    padding: 0.9rem 2rem !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #4e9a4b 0%, #3d8b3a 50%, #2d7a2a 100%) !important;
    border: none !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    letter-spacing: 0.02em !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(78, 154, 75, 0.35) !important;
    position: relative;
    overflow: hidden;
    text-align: center !important;
}

.charitable-donation-form.charitable-template-standard .charitable-submit-field .button:hover,
.charitable-donation-form.charitable-template-standard .charitable-submit-field .donate-button:hover {
    background: linear-gradient(135deg, #3d8b3a 0%, #2d7a2a 50%, #1d6a1a 100%) !important;
    box-shadow: 0 6px 22px rgba(78, 154, 75, 0.45) !important;
    transform: translateY(-1px) !important;
}

.charitable-donation-form.charitable-template-standard .charitable-submit-field .button:active,
.charitable-donation-form.charitable-template-standard .charitable-submit-field .donate-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(78, 154, 75, 0.3) !important;
}

/* --- Security badge under button --- */
.charitable-donation-form.charitable-template-standard .charitable-submit-field::after {
    content: "🔒 جميع التبرعات آمنة ومحمية";
    display: block;
    text-align: center;
    font-family: 'Cairo', 'Tajawal', sans-serif;
    font-size: 0.78rem;
    color: #94a3b8;
    margin-top: 0.75rem;
    font-weight: 500;
}

/* --- Responsive --- */
@media (max-width: 640px) {
    .charitable-donation-form.charitable-template-standard {
        margin: 1rem 0.75rem !important;
        border-radius: 14px;
        max-width: 100%;
    }

    .charitable-donation-form.charitable-template-standard .charitable-fieldset {
        padding: 1.2rem 1.2rem 0.8rem !important;
    }

    .charitable-donation-form.charitable-template-standard #charitable-donor-fields {
        padding: 1.2rem 1.2rem 0.5rem !important;
    }

    .charitable-donation-form.charitable-template-standard .charitable-submit-field {
        padding: 0.5rem 1.2rem 1.5rem !important;
    }
}

/* --- Remove 2-column layout if the theme applies one --- */
.charitable-donation-form.charitable-template-standard .charitable-form-fields {
    display: block !important;
    columns: unset !important;
}

/* Ensure the form fields wrapper doesn't have column layout */
.content-area .charitable-donation-form .charitable-form-fields {
    display: block !important;
    width: 100% !important;
}

/* --- Hide any duplicate headers from the theme --- */
.charitable-donation-form.charitable-template-standard h3.charitable-form-header {
    display: none !important;
}

/* --- Nice scrollbar for the page --- */
.charitable-donation-form.charitable-template-standard::-webkit-scrollbar {
    width: 6px;
}

.charitable-donation-form.charitable-template-standard::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

/* --- Loading / processing state --- */
.charitable-donation-form.charitable-template-standard.charitable-form-processing {
    opacity: 0.7;
    pointer-events: none;
}

.charitable-donation-form.charitable-template-standard.charitable-form-processing .donate-button {
    background: #94a3b8 !important;
    box-shadow: none !important;
}

/* --- Error notice styling --- */
.charitable-donation-form.charitable-template-standard .charitable-notice {
    margin: 0 2rem 1rem !important;
    border-radius: 10px !important;
    border: 1px solid #fecaca !important;
    background: #fef2f2 !important;
    color: #991b1b !important;
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    font-size: 0.9rem !important;
    padding: 0.8rem 1rem !important;
}

/* --- Your Donation Amount display --- */
.charitable-donation-form.charitable-template-standard .charitable-your-donation-amount {
    font-family: 'Cairo', 'Tajawal', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #4e9a4b !important;
    padding: 0.5rem 0 !important;
}