   .gf-wc-cart table {
       width: 100%;
       border-collapse: collapse;
       margin: 20px 0;
   }

   .gf-wc-cart thead th {
       background: #f8f8f8;
       padding: 12px;
       text-align: left;
       border-bottom: 2px solid #ddd;
   }

   .gf-wc-cart tbody td {
       padding: 12px;
       border-bottom: 1px solid #eee;
   }

   .gf-wc-cart tfoot tr {
       border-top: 1px solid #eee;
   }

   .gf-wc-cart tfoot th,
   .gf-wc-cart tfoot td {
       padding: 12px;
   }

   .gf-wc-cart .cart-total {
       border-top: 3px double #333 !important;
       background: #f8f8f8;
   }

   .gf-wc-cart .cart-total th,
   .gf-wc-cart .cart-total td {
       padding: 15px 12px;
       font-size: 1.1em;
   }

   .gf-wc-cart tbody {
       border-bottom: 2px solid #333 !important;

   }

   .gf_step .gf_step_number {
       font-weight: 800;
       font-size: 20px;
   }

   .gf_step .gf_step_label {
       font-size: 20px !important;
       font-weight: 800;
       color: #003770 !important;
   }

   .gf_step .gf_step_number {


       border: 2px solid #F8971D !important;
   }

   .gf_step_active .gf_step_number {
       background-color: #003770 !important;
       color: #fff !important;
       font-weight: 800;
       border: 2px solid #F8971D !important;
   }

   .gform_page .button {
       font-size: 18px !important;
   }

   .gform_page .gform_next_button {
       background-color: #003770 !important;
   }

   .gform_page .gform_previous_button {
       border: 3px solid #F8971D !important;
   }


   .gfield_label_before_complex {
       font-size: 18px !important;
       font-weight: 800;
   }





   /* Card-style Radio Buttons */
   .gfield--type-radio .gfield_radio {
       display: flex;
       flex-direction: column;
       gap: 16px;
   }

   .gfield--type-radio .gchoice {
       position: relative;
       margin: 0 !important;
       padding: 0 !important;
   }

   .gfield--type-radio .gchoice input[type="radio"] {
       position: absolute;
       opacity: 0;
       width: 0;
       height: 0;
   }

   .gfield--type-radio .gchoice label {
       display: block;
       border: 2px solid #e5e7eb;
       border-radius: 12px;
       padding: 24px;
       cursor: pointer;
       transition: all 0.2s ease;
       background: white;
       position: relative;
       padding-right: 60px;
       /* Space for radio indicator */
       margin: 0 !important;
   }

   .gfield--type-radio .gchoice label:hover {
       border-color: #3b82f6;
       box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);
       transform: translateY(-2px);
   }

   .gfield--type-radio .gchoice input[type="radio"]:checked+label {
       border-color: #3b82f6;
       background: #eff6ff;
       box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
   }

   /* Custom radio indicator */
   .gfield--type-radio .gchoice label::before {
       content: '';
       position: absolute;
       top: 24px;
       right: 24px;
       width: 24px;
       height: 24px;
       border: 2px solid #d1d5db;
       border-radius: 50%;
       transition: all 0.2s ease;
       background: white;
   }

   .gfield--type-radio .gchoice input[type="radio"]:checked+label::before {
       border-color: #3b82f6;
       background: #3b82f6;
       box-shadow: inset 0 0 0 4px white;
   }

   /* Optional: Add icon/badge support if you add custom HTML */
   .gfield--type-radio .gchoice label .radio-badge {
       display: inline-block;
       padding: 4px 12px;
       border-radius: 6px;
       font-size: 12px;
       font-weight: 600;
       text-transform: uppercase;
       letter-spacing: 0.5px;
       margin-bottom: 8px;
       background: #dbeafe;
       color: #1e40af;
   }

   .gfield--type-radio .gchoice label .radio-title {
       font-size: 22px;
       font-weight: 800;
       color: #111827;
       margin-bottom: 8px;
       display: block;
   }

   .gfield--type-radio .gchoice label .radio-description {
       font-size: 16px;
       color: #6b7280;
       line-height: 1.6;
       margin-top: 8px;
       display: block;
   }

   .gform-field-label h4,
   .gform-field-label h5 {
       padding-bottom: 0px !important;
       margin: 0 !important;
       line-height: auto;
       text-transform: capitalize;

   }


   .gform_wrapper.gravity-theme .gfield_label {
       font-size: 28px !important;
       font-weight: 800 !important;
       color: #003770 !important;
   }

   .gform_wrapper.gravity-theme .gfield_description {
       font-size: 18px !important;
   }

   /* Two-column layout on larger screens */
   @media (min-width: 768px) {
       .gfield--type-radio.card-layout-2col .gfield_radio {
           display: grid;
           grid-template-columns: repeat(2, 1fr);
           gap: 16px;
       }
   }

   /* Disabled state */
   .gfield--type-radio .gchoice input[type="radio"]:disabled+label {
       opacity: 0.5;
       cursor: not-allowed;
       background: #f9fafb;
   }

   .gfield--type-radio .gchoice input[type="radio"]:disabled+label:hover {
       border-color: #e5e7eb;
       box-shadow: none;
       transform: none;
   }

   /* Focus state for accessibility */
   .gfield--type-radio .gchoice input[type="radio"]:focus+label {
       outline: 2px solid #3b82f6;
       outline-offset: 2px;
   }



   @media only screen and (max-width: 641px) {

       .gform-page-footer .gform_next_button,
       .gform-page-footer .gform_previous_button {
           width: 100%;
           margin: 10px 0!important;
       }

   }
.gfield.payment_method  .gfield-choice-input+label ,

.gfield.payment_method .gchoice {
    max-width: 400px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    font-size: 18px;
    font-weight: 800;
}
.payment_logo {
    max-height: 30px;
}












/* ─── Address Card ─────────────────────────────────────────────────── */

.edge-address-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 16px;
    background: #fff;
}

.edge-address-card--hidden {
    display: none !important;
}

.edge-address-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.edge-address-card__header strong {
    font-size: 15px;
    color: #1a3c5e;
}

.edge-address-card__body {
    margin: 0;
}

.edge-address-card__line {
    margin: 0 0 4px;
    font-size: 14px;
    color: #333;
    line-height: 1.4;
}

.edge-address-card__line:last-child {
    margin-bottom: 0;
}

.edge-address-card__line--meta {
    color: #666;
    font-size: 13px;
}

.edge-address-card__edit {
    background: none;
    border: 1px solid #1a3c5e;
    color: #1a3c5e;
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}

.edge-address-card__edit:hover {
    background: #1a3c5e;
    color: #fff;
}

/* ─── Hide address form inputs when card is showing ─────────────────── */
/* Targets the .ginput_container inside the GForms address field */

.edge-address-inputs--hidden {
    display: none !important;
}

/* ─── Google Places dropdown z-index fix ────────────────────────────── */

.pac-container {
    z-index: 9999 !important;
}

/* ─── Responsive ────────────────────────────────────────────────────── */

@media (max-width: 600px) {
    .edge-address-card {
        padding: 14px 16px;
    }
    .edge-address-card__header {
        flex-wrap: wrap;
        gap: 8px;
    }
}
