
         /* --- High-Specificity Fix for Alignment and Appearance --- */
        .dhl-shipment-form-wrapper .shipment-type-selection {
            margin-bottom: 25px;
            padding-bottom: 15px;
            border-bottom: 1px solid #eee; /* Maintain visual separation */
        }

        /* 1. FIX ALIGNMENT: Force the options into a single row */
        .dhl-shipment-form-wrapper .radio-group {
            display: flex; 
            gap: 15px; 
            margin-top: 10px;
        }

        /* 2. FIX RADIO BUTTON PLACEMENT & Card Sizing */
        .dhl-shipment-form-wrapper .radio-container {
            display: flex; /* Use flex to align the inner content (radio + label) */
            align-items: center; /* Vertically center the radio/label content */
            flex-grow: 1; /* Make both items take equal width */
            text-align: left; /* Keep text aligned left within the box */
            padding: 15px 15px;
            border: 2px solid #ccc; 
            border-radius: 6px;
            transition: all 0.3s ease;
            cursor: pointer;
            background-color: #f9f9f9;
        }

        /* 3. SHOW CHECKBOX/RADIO ON THE LEFT (Revert to default radio for placement) */
        .dhl-shipment-form-wrapper .radio-container input[type="radio"] {
            /* DO NOT use display: none; here, instead, use margins to place it */
            display: block; 
            margin-right: 10px; /* Space between the radio and the text */
            margin-top: 0; /* Align with the text */
            min-width: 16px; /* Ensure it takes up space */
            height: 16px;
        }

        /* Style the text label container */
        .dhl-shipment-form-wrapper .radio-container .radio-label {
            font-weight: 600;
            font-size: 14px;
            color: #333;
            line-height: 1.4;
            flex-grow: 1; /* Let the text fill the rest of the space */
        }

        /* Style the secondary descriptive text */
        .dhl-shipment-form-wrapper .radio-description {
            display: block;
            font-size: 11px;
            font-weight: 400;
            margin-top: 3px;
            color: #666; /* Darker grey for better readability */
        }


        /* HOVER state */
        .dhl-shipment-form-wrapper .radio-container:hover {
            border-color: #004d99; /* Blue hover border */
            background-color: #e6f0ff; 
        }

        /* CHECKED state */
        .dhl-shipment-form-wrapper .radio-container input[type="radio"]:checked {
            /* Add a subtle highlight to the radio button itself */
            accent-color: #004d99; 
        }

        /* Target the container when the radio is checked */
        .dhl-shipment-form-wrapper .radio-container:has(input[type="radio"]:checked) {
             border-color: #004d99; /* Blue hover border */
            background-color: #e6f0ff; 
        }
        /* === BASE STYLES AND LAYOUT === */
        .dhl-shipment-form-wrapper {
            margin: 0 auto;
            padding: 20px;
            background: #f9f9f9;
            border: 1px solid #ddd;
            border-radius: 5px;
            font-family: Arial, sans-serif;
            font-size: 14px;
        }

        .main-form-layout {
            display: flex;
            gap: 20px;
            margin-bottom: 20px;
        }

        .shipper-receiver-column,
        .package-delivery-column {
            flex: 1;
            background: white;
            padding: 15px;
            border: 1px solid #eee;
            border-radius: 4px;
        }

        /* === HEADER/TITLE STYLES === */
        .form-header-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 10px;
        }
        
        .form-header-row h3 {
            flex-basis: 50%;
            margin: 0;
            font-size: 16px;
            color: #333;
            padding-bottom: 5px;
            border-bottom: 2px solid #007cba;
        }
        
        .delivery-header {
            font-size: 16px;
            color: #333;
            padding-top: 10px;
            padding-bottom: 5px;
            border-top: 1px solid #ddd;
            border-bottom: 2px solid #007cba;
            margin-top: 20px;
            margin-bottom: 15px;
        }

        /* === FORM ROW AND GROUP STYLES === */
        .form-row {
            display: flex;
            flex-wrap: wrap;
            margin-bottom: 5px;
            gap: 20px;
        }
        
        .form-row-full-width {
            flex-direction: column;
        }
        
        .form-group {
            flex: 1 1 calc(50% - 10px);
            min-width: 150px;
            margin-bottom: 10px;
        }
        
        .form-group-full-width {
            flex: 1 1 100%;
        }

        .form-group label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
            color: #555;
            font-size: 12px;
        }
        
        .form-group input,
        .form-group select,
        .form-group textarea {
            width: 100%;
            padding: 8px;
            border: 1px solid #ddd;
            border-radius: 4px;
            box-sizing: border-box;
            font-size: 14px;
        }
        
        .dimensions-group {
            display: flex;
            align-items: center;
            gap: 5px;
        }
        
        .dimensions-group input {
            flex: 1;
            text-align: center;
        }
        
        .dimensions-group span {
            padding: 0 5px;
            font-weight: bold;
        }

        .input-with-select {
            display: flex;
        }

        .input-with-select input {
            flex: 1;
            border-right: none;
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
        }

        .input-with-select select {
            width: 80px;
            border-left: none;
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
            background: #f1f1f1;
        }

        /* === SECTION STYLES === */
        .form-section {
            background: white;
            padding: 15px;
            border: 1px solid #eee;
            border-radius: 4px;
            margin-bottom: 20px;
        }

        .form-section h4 {
            margin-top: 0;
            color: #333;
            border-bottom: 2px solid #007cba;
            padding-bottom: 8px;
            margin-bottom: 20px;
        }

        /* === BUTTON STYLES === */
        .form-buttons {
            display: flex;
            justify-content: flex-end;
            gap: 15px;
            margin-top: 20px;
            padding-top: 20px;
/*            border-top: 1px solid #ddd;*/
        }

        .form-buttons button {
            padding: 12px 24px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            font-weight: bold;
        }

        .button-primary {
            background: #007cba;
            color: white;
            transition: background 0.3s;
        }

        .button-primary:hover {
            background: #005a87;
        }

        .button-secondary {
            background: #6c757d;
            color: white;
            transition: background 0.3s;
        }

        .button-secondary:hover {
            background: #545b62;
        }

        /* === MESSAGE BOX === */
        #form-message {
            margin-top: 15px;
            padding: 10px;
            border-radius: 4px;
            display: none;
        }
        
        .success {
            background: #d4edda;
            color: #155724;
            border: 1px solid #c3e6cb;
        }
        
        .error {
            background: #f8d7da;
            color: #721c24;
            border: 1px solid #f5c6cb;
        }

        /* Field-level validation highlight (missing / invalid required fields) */
        #dhl-step1-container input.field-error,
        #dhl-step1-container select.field-error,
        #dhl-step1-container textarea.field-error,
        .dhl-shipment-form-wrapper input.spi-field-error,
        .dhl-shipment-form-wrapper select.spi-field-error,
        .dhl-shipment-form-wrapper textarea.spi-field-error,
        .fedex-shipment-form-wrapper input.spi-field-error,
        .fedex-shipment-form-wrapper select.spi-field-error,
        .fedex-shipment-form-wrapper textarea.spi-field-error,
        .ups-shipment-form-wrapper input.spi-field-error,
        .ups-shipment-form-wrapper select.spi-field-error,
        .ups-shipment-form-wrapper textarea.spi-field-error {
            border-color: #dc3545 !important;
            box-shadow: 0 0 0 1px rgba(220, 53, 69, 0.25);
            background-color: #fff5f6;
        }
        
        .loading {
            background: #d1ecf1;
            color: #0c5460;
            border: 1px solid #bee5eb;
        }

        /* === RESPONSIVE DESIGN === */
        @media (max-width: 900px) {
            .main-form-layout {
                flex-direction: column;
            }
            
            .form-header-row {
                flex-direction: column;
                align-items: flex-start;
            }
            
            .form-header-row h3 {
                width: 100%;
                margin-bottom: 10px;
            }
            
            .form-row {
                gap: 10px;
            }

            .form-group {
                flex: 1 1 100%;
            }
            
            .dimensions-group {
                flex-direction: column;
                gap: 5px;
            }
            
            .dimensions-group input {
                width: 100%;
            }
            
            .form-buttons {
                flex-direction: column;
            }
        }

        .tws_ups{
            background-color: #351c15 !important;
        }

        .btn-danger{
            background-color: red !important;
        }

        /* === UPS FORM — theme-independent styling === */
        .ups-shipment-form-wrapper,
        .ups-shipment-form-wrapper *,
        .ups-shipment-form-wrapper *::before,
        .ups-shipment-form-wrapper *::after {
            box-sizing: border-box;
        }

        .ups-shipment-form-wrapper {
            max-width: 1200px;
            margin: 0 auto !important;
            padding: 20px !important;
            background: #f9f9f9 !important;
            border: 1px solid #ddd !important;
            border-radius: 5px !important;
            font-family: Arial, Helvetica, sans-serif !important;
            font-size: 14px !important;
            line-height: 1.5 !important;
            color: #333 !important;
        }

        .ups-shipment-form-wrapper > h3 {
            text-align: center !important;
            background-color: #351c15 !important;
            color: #fff !important;
            padding: 10px !important;
            border-radius: 10px !important;
            margin: 0 0 20px !important;
            font-size: 18px !important;
            font-weight: 600 !important;
            border: none !important;
        }

        .ups-shipment-form-wrapper .main-form-layout {
            display: flex !important;
            gap: 20px !important;
            margin-bottom: 20px !important;
        }

        .ups-shipment-form-wrapper .shipper-receiver-column,
        .ups-shipment-form-wrapper .package-delivery-column {
            flex: 1 !important;
            background: #fff !important;
            padding: 15px !important;
            border: 1px solid #eee !important;
            border-radius: 4px !important;
        }

        /* True 2-column address grid — no empty half-rows */
        .ups-shipment-form-wrapper .ups-address-fields-grid {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 10px 20px !important;
            align-items: start !important;
        }

        .ups-shipment-form-wrapper .ups-address-fields-grid > .form-group {
            flex: none !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            margin-bottom: 0 !important;
        }

        .ups-shipment-form-wrapper .ups-address-fields-grid > .form-group[hidden],
        .ups-shipment-form-wrapper .ups-party-state-group[hidden] {
            display: none !important;
        }

        /*
         * With state (US/CA/MX/IE): State | Postal, then Phone | Email.
         * Without state: Postal full-width (no empty half), then Phone | Email.
         */
        .ups-shipment-form-wrapper .ups-address-fields-grid:not(.ups-has-state) > .ups-party-postal-group {
            grid-column: 1 / -1 !important;
        }

        .ups-shipment-form-wrapper .spi-field-error-msg {
            display: block !important;
            margin-top: 4px !important;
            font-size: 12px !important;
            line-height: 1.3 !important;
            color: #dc3545 !important;
            font-weight: 600 !important;
            text-transform: none !important;
            letter-spacing: 0 !important;
        }

        .ups-shipment-form-wrapper .spi-field-error-msg[hidden] {
            display: none !important;
        }

        /* Bottom options: consistent 2-column rows */
        .ups-shipment-form-wrapper .ups-options-grid-row {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 10px 20px !important;
            align-items: start !important;
            margin-bottom: 12px !important;
        }

        .ups-shipment-form-wrapper .ups-options-grid-row > .form-group {
            flex: none !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            margin-bottom: 0 !important;
        }

        .ups-shipment-form-wrapper .ups-options-grid-row .description {
            margin: 4px 0 0 !important;
            font-size: 12px !important;
            line-height: 1.35 !important;
        }

        .ups-shipment-form-wrapper .ups-adult-sig-row {
            margin-bottom: 12px !important;
        }

        .ups-shipment-form-wrapper .ups-adult-sig-row .description {
            margin: 6px 0 0 !important;
            max-width: 100% !important;
        }

        .ups-shipment-form-wrapper .ups-adult-sig-row .spi-choice-label {
            margin-bottom: 0 !important;
        }

        .ups-shipment-form-wrapper .form-header-row {
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
            margin-bottom: 10px !important;
        }

        .ups-shipment-form-wrapper .form-header-row h3 {
            flex-basis: 50% !important;
            margin: 0 !important;
            font-size: 16px !important;
            color: #333 !important;
            padding-bottom: 5px !important;
            border-bottom: 2px solid #007cba !important;
            background: transparent !important;
            border-radius: 0 !important;
            text-align: left !important;
            font-weight: 700 !important;
            text-transform: uppercase !important;
        }

        .ups-shipment-form-wrapper .form-section {
            background: #fff !important;
            padding: 15px !important;
            border: 1px solid #eee !important;
            border-radius: 4px !important;
            margin-bottom: 20px !important;
            box-shadow: none !important;
        }

        .ups-shipment-form-wrapper .form-section h4 {
            margin-top: 0 !important;
            margin-bottom: 20px !important;
            color: #333 !important;
            border-bottom: 2px solid #007cba !important;
            padding-bottom: 8px !important;
            font-size: 16px !important;
            font-weight: 700 !important;
        }

        .ups-shipment-form-wrapper .form-row {
            display: flex !important;
            flex-wrap: wrap !important;
            margin-bottom: 5px !important;
            gap: 20px !important;
        }

        .ups-shipment-form-wrapper .form-row-full-width {
            flex-direction: column !important;
        }

        .ups-shipment-form-wrapper .form-group {
            flex: 1 1 calc(50% - 10px) !important;
            min-width: 150px !important;
            margin-bottom: 10px !important;
        }

        /* Single field in a row stays on the left half (aligned with the grid) */
        .ups-shipment-form-wrapper .form-row > .form-group:only-child {
            flex: 0 1 calc(50% - 10px) !important;
            max-width: calc(50% - 10px) !important;
        }

        /* Keep grid columns without showing empty blank fields */
        .ups-shipment-form-wrapper .form-group.ups-field-spacer {
            visibility: hidden !important;
            pointer-events: none !important;
            margin-bottom: 0 !important;
            min-height: 0 !important;
        }

        .ups-shipment-form-wrapper .form-group label {
            display: block !important;
            margin-bottom: 5px !important;
            font-weight: 700 !important;
            color: #555 !important;
            font-size: 12px !important;
            text-transform: uppercase !important;
            letter-spacing: 0.02em !important;
        }

        /* Radio / checkbox option labels — override field-label styling */
        .ups-shipment-form-wrapper .form-group label.spi-choice-label,
        .ups-shipment-form-wrapper .form-group label:has(input[type="checkbox"]),
        .ups-shipment-form-wrapper .form-group label:has(input[type="radio"]) {
            display: grid !important;
            grid-template-columns: 18px 1fr !important;
            column-gap: 10px !important;
            align-items: start !important;
            cursor: pointer !important;
            text-transform: none !important;
            color: #d9534f !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            line-height: 1.45 !important;
            margin-bottom: 0 !important;
            position: relative !important;
        }

        .ups-shipment-form-wrapper .spi-choice-label > span,
        .ups-shipment-form-wrapper .form-group label:has(input[type="checkbox"]) > span,
        .ups-shipment-form-wrapper .form-group label:has(input[type="radio"]) > span {
            grid-column: 2 !important;
            color: #d9534f !important;
            text-transform: none !important;
        }

        .ups-shipment-form-wrapper .spi-choice-label small,
        .ups-shipment-form-wrapper .form-group label:has(input[type="checkbox"]) small {
            color: #666 !important;
            font-weight: 400 !important;
            text-transform: none !important;
        }

        .ups-shipment-form-wrapper .spi-choice-label input[type="checkbox"],
        .ups-shipment-form-wrapper .spi-choice-label input[type="radio"],
        .ups-shipment-form-wrapper .form-group label:has(input[type="checkbox"]) input[type="checkbox"],
        .ups-shipment-form-wrapper .form-group label:has(input[type="radio"]) input[type="radio"] {
            grid-column: 1 !important;
            grid-row: 1 !important;
            -webkit-appearance: none !important;
            -moz-appearance: none !important;
            appearance: none !important;
            display: block !important;
            width: 18px !important;
            height: 18px !important;
            min-width: 18px !important;
            min-height: 18px !important;
            max-width: 18px !important;
            max-height: 18px !important;
            margin: 2px 0 0 !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            cursor: pointer !important;
            box-shadow: none !important;
            opacity: 0 !important;
            z-index: 2 !important;
            position: relative !important;
        }

        .ups-shipment-form-wrapper .spi-choice-label::before,
        .ups-shipment-form-wrapper .form-group label:has(input[type="checkbox"])::before,
        .ups-shipment-form-wrapper .form-group label:has(input[type="radio"])::before {
            content: "" !important;
            grid-column: 1 !important;
            grid-row: 1 !important;
            width: 18px !important;
            height: 18px !important;
            margin-top: 2px !important;
            border: 2px solid #d9534f !important;
            border-radius: 3px !important;
            background: #fff !important;
            box-sizing: border-box !important;
            pointer-events: none !important;
        }

        .ups-shipment-form-wrapper .spi-choice-label:has(input[type="radio"])::before,
        .ups-shipment-form-wrapper .form-group label:has(input[type="radio"])::before {
            border-radius: 50% !important;
        }

        .ups-shipment-form-wrapper .spi-choice-label:has(input:checked)::before,
        .ups-shipment-form-wrapper .form-group label:has(input[type="checkbox"]:checked)::before,
        .ups-shipment-form-wrapper .form-group label:has(input[type="radio"]:checked)::before {
            background: #d9534f !important;
            border-color: #d9534f !important;
        }

        .ups-shipment-form-wrapper .spi-choice-label:has(input[type="checkbox"]:checked)::after,
        .ups-shipment-form-wrapper .form-group label:has(input[type="checkbox"]:checked)::after {
            content: "" !important;
            grid-column: 1 !important;
            grid-row: 1 !important;
            width: 5px !important;
            height: 10px !important;
            margin: 4px 0 0 7px !important;
            border: solid #fff !important;
            border-width: 0 2px 2px 0 !important;
            transform: rotate(45deg) !important;
            box-sizing: border-box !important;
            pointer-events: none !important;
        }

        .ups-shipment-form-wrapper .spi-choice-label:has(input[type="radio"]:checked)::after,
        .ups-shipment-form-wrapper .form-group label:has(input[type="radio"]:checked)::after {
            content: "" !important;
            grid-column: 1 !important;
            grid-row: 1 !important;
            width: 8px !important;
            height: 8px !important;
            margin: 7px 0 0 5px !important;
            border-radius: 50% !important;
            background: #fff !important;
            pointer-events: none !important;
        }

        /* Keep service-selection radios usable on themed sites */
        .ups-shipment-form-wrapper .ups-service-option input[type="radio"] {
            width: auto !important;
            height: auto !important;
            min-width: 16px !important;
            min-height: 16px !important;
            max-width: none !important;
            max-height: none !important;
            flex: 0 0 auto !important;
            margin: 0 10px 0 0 !important;
            border: none !important;
            border-radius: 0 !important;
            appearance: auto !important;
            -webkit-appearance: auto !important;
            accent-color: #351c15 !important;
            opacity: 1 !important;
            visibility: visible !important;
            clip: auto !important;
            clip-path: none !important;
            position: static !important;
        }

        .ups-shipment-form-wrapper .form-group input:not([type="checkbox"]):not([type="radio"]),
        .ups-shipment-form-wrapper .form-group select,
        .ups-shipment-form-wrapper .form-group textarea {
            width: 100% !important;
            max-width: 100% !important;
            padding: 8px !important;
            border: 1px solid #ddd !important;
            border-radius: 4px !important;
            box-sizing: border-box !important;
            font-size: 14px !important;
            font-family: Arial, Helvetica, sans-serif !important;
            line-height: 1.4 !important;
            background-color: #fff !important;
            color: #333 !important;
            min-height: auto !important;
            height: auto !important;
            box-shadow: none !important;
            appearance: auto !important;
            -webkit-appearance: auto !important;
        }

        .ups-shipment-form-wrapper .shipper-receiver-column input[readonly],
        .ups-shipment-form-wrapper .package-delivery-column input[readonly],
        .ups-shipment-form-wrapper .shipper-receiver-column select[disabled],
        .ups-shipment-form-wrapper .package-delivery-column select[disabled] {
            background-color: #f5f5f5 !important;
            color: #666 !important;
            cursor: not-allowed !important;
            border-color: #ddd !important;
        }

        .ups-shipment-form-wrapper .dimensions-group {
            display: flex !important;
            align-items: center !important;
            gap: 5px !important;
        }

        .ups-shipment-form-wrapper .dimensions-group input {
            flex: 1 !important;
            text-align: center !important;
        }

        .ups-shipment-form-wrapper .dimensions-group span {
            padding: 0 5px !important;
            font-weight: 700 !important;
            color: #666 !important;
        }

        .ups-shipment-form-wrapper .description {
            font-size: 12px !important;
            color: #666 !important;
            margin-top: 5px !important;
            font-style: italic !important;
        }

        .ups-shipment-form-wrapper .dim-weight-display {
            background-color: #f5f5f5 !important;
            cursor: not-allowed !important;
        }

        .ups-shipment-form-wrapper .form-buttons {
            display: flex !important;
            justify-content: flex-end !important;
            gap: 15px !important;
            margin-top: 20px !important;
            padding-top: 20px !important;
        }

        .ups-shipment-form-wrapper .form-buttons button,
        .ups-shipment-form-wrapper .form-buttons .button {
            padding: 12px 24px !important;
            border: none !important;
            border-radius: 4px !important;
            cursor: pointer !important;
            font-size: 14px !important;
            font-weight: 700 !important;
            font-family: Arial, Helvetica, sans-serif !important;
            line-height: 1.4 !important;
            text-transform: none !important;
            box-shadow: none !important;
        }

        .ups-shipment-form-wrapper #add_more_content,
        .ups-shipment-form-wrapper .btn-primary {
            background: #007cba !important;
            color: #fff !important;
        }

        .ups-shipment-form-wrapper #add_more_content:hover,
        .ups-shipment-form-wrapper .btn-primary:hover {
            background: #005a87 !important;
            color: #fff !important;
        }

        .ups-shipment-form-wrapper .btn-danger {
            background-color: #dc3545 !important;
            color: #fff !important;
        }

        .ups-shipment-form-wrapper #ups-check-services-btn {
            background: #666 !important;
            color: #fff !important;
        }

        .ups-shipment-form-wrapper #ups-check-services-btn:hover {
            background: #555 !important;
            color: #fff !important;
        }

        .ups-shipment-form-wrapper #create-ups-shipment-btn {
            background: #351c15 !important;
            color: #fff !important;
        }

        .ups-shipment-form-wrapper #create-ups-shipment-btn:hover {
            border: 2px solid #351c15 !important;
            background: #fff !important;
            color: #351c15 !important;
        }

        .ups-shipment-form-wrapper .button-secondary {
            background: #6c757d !important;
            color: #fff !important;
        }

        .ups-shipment-form-wrapper .button-secondary:hover {
            background: #545b62 !important;
            color: #fff !important;
        }

        .ups-shipment-form-wrapper code {
            background: #fff5f5 !important;
            color: #c0392b !important;
            padding: 2px 4px !important;
            border-radius: 3px !important;
            font-size: 12px !important;
        }

        @media (max-width: 900px) {
            .ups-shipment-form-wrapper .main-form-layout {
                flex-direction: column !important;
            }

            .ups-shipment-form-wrapper .form-header-row {
                flex-direction: column !important;
                align-items: flex-start !important;
            }

            .ups-shipment-form-wrapper .form-header-row h3 {
                width: 100% !important;
                margin-bottom: 10px !important;
            }

            .ups-shipment-form-wrapper .ups-address-fields-grid {
                grid-template-columns: 1fr !important;
            }

            .ups-shipment-form-wrapper .ups-address-fields-grid:not(.ups-has-state) > .ups-party-postal-group {
                grid-column: auto !important;
            }

            .ups-shipment-form-wrapper .ups-options-grid-row {
                grid-template-columns: 1fr !important;
            }

            .ups-shipment-form-wrapper .form-group {
                flex: 1 1 100% !important;
            }

            .ups-shipment-form-wrapper .form-buttons {
                flex-direction: column !important;
            }
        }
