/* =============================================================
   APRAMP — Formulario de donación · Gravity Forms #1
   v5.0.0
   ============================================================= */

/* ── WRAPPER ──────────────────────────────────────────────── */

#gform_wrapper_1 {
    background: #FCF8FA !important;
    border-radius: 24px !important;
    padding: 48px 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 24px rgba(211,0,122,0.07) !important;
}

#gform_wrapper_1 .gform_body,
#gform_wrapper_1 .gform-body {
    padding: 0 !important;
}

/* ── STEPS ────────────────────────────────────────────────── */

#gform_wrapper_1 .gf_page_steps {
    text-align: center !important;
    overflow: visible !important;
    border: none !important;
    border-bottom: none !important;
    margin: 0 0 44px 0 !important;
    padding: 0 !important;
    background: none !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Ocultar el clearfix div */
#gform_wrapper_1 .gf_step_clear {
    display: none !important;
}

#gform_wrapper_1 .gf_step {
    display: inline-block !important;
    float: none !important;
    vertical-align: top !important;
    text-align: center !important;
    padding: 0 32px !important;
    margin: 0 !important;
    position: relative !important;
    width: auto !important;
    background: none !important;
    border: none !important;
    color: inherit !important;
    font-size: inherit !important;
}

/* Línea entre steps */
#gform_wrapper_1 .gf_step:not(.gf_step_last)::after {
    content: '' !important;
    position: absolute !important;
    top: 24px !important;
    left: calc(50% + 28px) !important;
    width: calc(100% - 56px) !important;
    height: 1.5px !important;
    background: #e0d6db !important;
}

#gform_wrapper_1 .gf_step_number {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
    border-radius: 50% !important;
    background: #e0d6db !important;
    color: #b0a0aa !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 auto 10px auto !important;
    padding: 0 !important;
    float: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#gform_wrapper_1 .gf_step_active .gf_step_number {
    background: #D3007A !important;
    color: #fff !important;
}

#gform_wrapper_1 .gf_step_label {
    display: none !important;
}

#gform_wrapper_1 .gf_step_active .gf_step_label {
    display: none !important;
}

/* ── FIELDS ───────────────────────────────────────────────── */

#gform_wrapper_1 .gform_fields {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
    display: block !important;
}

#gform_wrapper_1 .gfield {
    margin-bottom: 24px !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}

#gform_wrapper_1 .ginput_container,
#gform_wrapper_1 .ginput_container_radio,
#gform_wrapper_1 .ginput_container_select,
#gform_wrapper_1 .ginput_container_text,
#gform_wrapper_1 .ginput_container_phone,
#gform_wrapper_1 .ginput_container_email,
#gform_wrapper_1 .ginput_container_total,
#gform_wrapper_1 .ginput_container_address,
#gform_wrapper_1 .ginput_container_name {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Campos de media anchura — solo paso 2 (por ID) */
#gform_wrapper_1 #field_1_5,
#gform_wrapper_1 #field_1_54 {
    width: 48% !important;
    float: left !important;
    clear: none !important;
    box-sizing: border-box !important;
}

#gform_wrapper_1 #field_1_6,
#gform_wrapper_1 #field_1_3 {
    width: 48% !important;
    float: right !important;
    clear: none !important;
    box-sizing: border-box !important;
}

/* field_1_22 tiene clase gf_right_half pero debe ser ancho completo */
#gform_wrapper_1 #field_1_22 {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}
/* ── LABELS ───────────────────────────────────────────────── */

#gform_wrapper_1 .gfield_label {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #877D81 !important;
    text-align: left !important;
    margin-bottom: 8px !important;
    text-transform: none !important;
    display: block !important;
    float: none !important;
}

#gform_wrapper_1 .gsection_title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #D3007A !important;
    text-align: center !important;
    margin: 8px 0 20px !important;
    border: none !important;
    padding: 0 !important;
}

#gform_wrapper_1 .gform-field-label--type-sub {
    font-size: 12px !important;
    color: #877D81 !important;
    font-weight: 400 !important;
}

/* ── RADIO COMO CARDS ─────────────────────────────────────── */

#gform_wrapper_1 .ginput_container_radio {
    width: 100% !important;
    display: block !important;
}

#gform_wrapper_1 .gfield_radio {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#gform_wrapper_1 .gchoice {
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    width: 100% !important;
    display: block !important;
    float: none !important;
    overflow: visible !important;
    line-height: normal !important;
}

#gform_wrapper_1 .gfield_radio input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    pointer-events: none !important;
}

#gform_wrapper_1 .gfield_radio label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 72px !important;
    width: 100% !important;
    max-width: inherit !important;
    padding: 20px !important;
    background: #fff !important;
    border: 2px solid transparent !important;
    border-radius: 20px !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: #877D81 !important;
    cursor: pointer !important;
    text-align: center !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06) !important;
    transition: border-color 0.15s, color 0.15s !important;
}

#gform_wrapper_1 .gfield_radio label:hover {
    border-color: #D3007A !important;
    color: #D3007A !important;
}

#gform_wrapper_1 .gfield_radio input[type="radio"]:checked + label {
    border-color: #D3007A !important;
    color: #D3007A !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 16px rgba(211,0,122,0.12) !important;
}

/* ── TOTAL ────────────────────────────────────────────────── */

#gform_wrapper_1 .gfield_total .gfield_label {
    text-align: center !important;
}

#gform_wrapper_1 .ginput_total {
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #D3007A !important;
    display: block !important;
    text-align: center !important;
}

/* ── SELECT ───────────────────────────────────────────────── */

#gform_wrapper_1 select {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 44px 14px 18px !important;
    border: 1.5px solid #e8dde6 !important;
    border-radius: 14px !important;
    background-color: #fff !important;
    font-size: 15px !important;
    color: #56434A !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23877D81' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

/* ── CHOSEN.JS (select Provincia) ────────────────────────── */

#gform_wrapper_1 .chosen-container {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

#gform_wrapper_1 .chosen-container .chosen-single {
    width: 100% !important;
    height: auto !important;
    padding: 14px 44px 14px 18px !important;
    border: 1.5px solid #e8dde6 !important;
    border-radius: 14px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    font-size: 15px !important;
    color: #56434A !important;
    line-height: normal !important;
    box-sizing: border-box !important;
}

#gform_wrapper_1 .chosen-container .chosen-single div {
    display: none !important;
}

#gform_wrapper_1 .chosen-container.chosen-with-drop .chosen-single,
#gform_wrapper_1 .chosen-container.chosen-container-active .chosen-single {
    border-color: #D3007A !important;
    border-radius: 14px 14px 0 0 !important;
}

#gform_wrapper_1 .chosen-container .chosen-drop {
    border: 1.5px solid #D3007A !important;
    border-top: none !important;
    border-radius: 0 0 14px 14px !important;
    background: #fff !important;
    box-shadow: none !important;
}

#gform_wrapper_1 .chosen-container .chosen-results li {
    padding: 10px 18px !important;
    font-size: 15px !important;
    color: #56434A !important;
}

#gform_wrapper_1 .chosen-container .chosen-results li.highlighted {
    background: #FCF8FA !important;
    color: #D3007A !important;
}

/* ── INPUTS ───────────────────────────────────────────────── */

#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 input.ginput_amount {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 1.5px solid #e8dde6 !important;
    border-radius: 14px !important;
    background: #fff !important;
    font-size: 15px !important;
    color: #56434A !important;
    box-sizing: border-box !important;
}

#gform_wrapper_1 input:focus,
#gform_wrapper_1 select:focus {
    outline: none !important;
    border-color: #D3007A !important;
}

/* ── BOTÓN SIGUIENTE / DONAR ──────────────────────────────── */

#gform_wrapper_1 .gform_next_button,
#gform_wrapper_1 #gform_submit_button_1,
#gform_wrapper_1 .gform_button {
    background: #D3007A !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    padding: 18px 48px !important;
    border-radius: 50px !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-block !important;
    box-shadow: 0 4px 20px rgba(211,0,122,0.3) !important;
    transition: opacity 0.2s !important;
}

#gform_wrapper_1 .gform_next_button:hover,
#gform_wrapper_1 #gform_submit_button_1:hover,
#gform_wrapper_1 .gform_button:hover {
    opacity: 0.9 !important;
    color: #fff !important;
}

/* ── BOTÓN ANTERIOR ───────────────────────────────────────── */

#gform_wrapper_1 .gform_previous_button {
    background: transparent !important;
    color: #D3007A !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    padding: 16px 28px !important;
    border-radius: 50px !important;
    border: 1.5px solid #D3007A !important;
    cursor: pointer !important;
    display: inline-block !important;
    box-shadow: none !important;
}

#gform_wrapper_1 .gform_previous_button:hover {
    background: #D3007A !important;
    color: #fff !important;
}

/* ── FOOTER BOTONES ───────────────────────────────────────── */

#gform_wrapper_1 .gform_page_footer,
#gform_wrapper_1 .gform-page-footer {
    text-align: center !important;
    margin-top: 36px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    display: block !important;
    float: none !important;
    clear: both !important;
}

/* ── CHECKBOX ─────────────────────────────────────────────── */

#gform_wrapper_1 .gfield_checkbox label {
    font-size: 14px !important;
    color: #877D81 !important;
    font-weight: 400 !important;
}

/* ── RESPONSIVE ───────────────────────────────────────────── */

@media (max-width: 690px) {
    #gform_wrapper_1 {
        padding: 28px 20px !important;
        border-radius: 16px !important;
    }
    #gform_wrapper_1 .gf_step {
        padding: 0 16px !important;
    }
    #gform_wrapper_1 .gfield_radio {
        gap: 10px !important;
    }
    #gform_wrapper_1 .gfield_radio label {
        font-size: 17px !important;
        min-height: 60px !important;
    }
}
