/* Main Flex Container */
.mc-flex-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    width: 100% !important;
}

/* Base style for ALL billing/shipping field rows */
.mc-flex-container .form-row {
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    padding: 0 10px !important;
    margin-bottom: 12px !important; /* REDUCED FROM 25px */
    float: none !important;
    clear: both !important;
    width: 100% !important;
    position: relative !important;
}

/* Specific Widths for Address Row (Postcode, HN, Suffix) */
.mc-flex-container .form-row.mc-row-calc {
    width: auto !important;
    clear: none !important;
}

/* Billing Widths */
#billing_postcode_field.mc-row-calc { width: 25% !important; }
#billing_house_number_field.mc-row-calc { width: 25% !important; }
#billing_house_number_suffix_field.mc-row-calc { width: 50% !important; }

/* Shipping Widths */
#shipping_postcode_field.mc-row-calc { width: 25% !important; }
#shipping_house_number_field.mc-row-calc { width: 25% !important; }
#shipping_house_number_suffix_field.mc-row-calc { width: 50% !important; }

/* Labels above inputs */
.mc-flex-container .form-row label {
    display: block !important;
    margin: 0 0 8px 0 !important; /* Slightly reduced label margin too */
    font-size: 15px !important;
    font-weight: 600 !important;
    position: static !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    white-space: nowrap !important;
    overflow: visible !important;   
    padding: 0 !important;
    line-height: 1.4 !important;
}

/* SAFELY HIDE ORIGINAL SELECT AND REDUNDANT FIELDS */
#billing_country,
#shipping_country,
#billing_address_1_field,
#shipping_address_1_field,
#billing_address_2_field,
#shipping_address_2_field {
    display: none !important;
}

/* Standard spacing for Land layout */
#billing_country_field label,
#shipping_country_field label {
    margin-bottom: 8px !important; /* Match other labels */
}

/* Input styling */
.mc-flex-container .form-row input,
.mc-flex-container .form-row select,
.mc-flex-container .form-row .select2-container {
    display: block !important;
    width: 100% !important;
    height: 52px !important;
    padding: 0 14px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Adjust Select2 container to fit the spacing */
.mc-flex-container .form-row .select2-container--default .select2-selection--single {
    height: 52px !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
}

.mc-flex-container .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 52px !important;
    padding-left: 0 !important;
    color: #333 !important;
}

.mc-flex-container .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 52px !important;
}

/* Mobile: Switch back to 100% */
@media (max-width: 600px) {
    .mc-flex-container .form-row.mc-row-calc {
        width: 100% !important;
        padding: 0 !important;
    }
}

/* Feedback/Success states */
.mc-autofill-success { border-color: #5cb85c !important; background-color: #f9fff9 !important; }
.mc-autofill-error { border-color: #d9534f !important; }
#mc-success-check { color: #5cb85c; font-size: 13px; margin-top: 5px; display: block; }

/* EventPrime Alert & Link Styling */
.ep-alert-warning, .ep-alert {
    position: relative !important;
    z-index: 10000 !important;
    pointer-events: auto !important;
}

.ep-alert a {
    position: relative !important;
    z-index: 10001 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    color: #0d6efd !important;
}

.ep-alert a:hover {
    color: #0a58ca !important;
}

.ep-event-loader {
    pointer-events: none !important;
}
