/**
 * GPF eCard Manager - Form Styles
 */

/* Hide the dynamic product field used for Stripe */
.gpf-ecard-product,
#field_55,
[id*="_55"].gfield {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Order Summary Box */
#gpf-order-summary {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
    border: 1px solid #e9ecef;
}

#gpf-order-summary p {
    margin: 8px 0;
    font-size: 15px;
}

#gpf-order-summary strong {
    color: #1d2327;
}

/* Summary line items */
#gpf-addl-line,
#gpf-fee-line {
    color: #495057;
}

/* Total line */
#gpf-order-summary p:last-child {
    font-size: 1.3em;
    border-top: 2px solid #dee2e6;
    padding-top: 12px;
    margin-top: 12px;
    color: #155724;
}

/* Repeater field styling */
.gfield_repeater_wrapper {
    margin-bottom: 20px;
}

.gfield_repeater_item {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 15px;
    position: relative;
}

.gfield_repeater_item:first-child {
    border-color: #4A90A4;
    border-width: 2px;
}

/* Repeater buttons */
.gfield_repeater_buttons {
    margin-top: 15px;
}

.add_repeater_item,
.gfield_repeater_add {
    background: #4A90A4 !important;
    border-color: #4A90A4 !important;
    color: #fff !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    cursor: pointer;
    transition: background 0.2s ease;
}

.add_repeater_item:hover,
.gfield_repeater_add:hover {
    background: #3d7a8c !important;
    border-color: #3d7a8c !important;
}

.delete_repeater_item,
.gfield_repeater_remove {
    color: #dc3545 !important;
    background: transparent !important;
    border: 1px solid #dc3545 !important;
    padding: 8px 15px !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.delete_repeater_item:hover,
.gfield_repeater_remove:hover {
    background: #dc3545 !important;
    color: #fff !important;
}

/* Repeater field labels */
.gfield_repeater_item .gfield_label {
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

/* Personal note field */
.gfield_repeater_item textarea {
    min-height: 80px;
    resize: vertical;
}

/* Section headers */
.gpf-ecard-form .gsection {
    border-bottom: 2px solid #4A90A4;
    padding-bottom: 10px;
    margin-top: 30px;
}

.gpf-ecard-form .gsection .gsection_title {
    color: #4A90A4;
    font-size: 1.3em;
}

/* Fee offset section */
.gpf-ecard-form #field_14 {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 6px;
    margin: 10px 0;
}

/* Additional donation field */
.gpf-ecard-form #field_12 input {
    font-size: 18px;
    padding: 10px 15px;
    max-width: 150px;
}

/* Form submit button */
.gpf-ecard-form .gform_footer input[type="submit"],
.gpf-ecard-form .gform_page_footer input[type="submit"] {
    background: #28a745 !important;
    border-color: #28a745 !important;
    color: #fff !important;
    padding: 15px 40px !important;
    font-size: 18px !important;
    border-radius: 6px !important;
    cursor: pointer;
    transition: background 0.2s ease;
}

.gpf-ecard-form .gform_footer input[type="submit"]:hover,
.gpf-ecard-form .gform_page_footer input[type="submit"]:hover {
    background: #218838 !important;
    border-color: #218838 !important;
}

/* Responsive adjustments */
@media screen and (max-width: 640px) {
    .gfield_repeater_item {
        padding: 15px;
    }

    #gpf-order-summary {
        padding: 15px;
    }

    #gpf-order-summary p:last-child {
        font-size: 1.1em;
    }
}
