/**
 * Checkout Scoped Reset
 *
 * Minimal WooCommerce baseline reset scoped to the custom multistep checkout.
 * Keeps Woo frontend CSS disabled while preserving stable form rendering.
 *
 * @package Hafo\Checkout
 * @version 1.0.0
 */

.hafo-multistep-checkout,
.hafo-multistep-checkout * {
    box-sizing: border-box;
}

.hafo-multistep-checkout .woocommerce ul,
.hafo-multistep-checkout .woocommerce ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hafo-multistep-checkout .woocommerce p {
    margin: 0;
}

.hafo-multistep-checkout .woocommerce table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.hafo-multistep-checkout .woocommerce form .form-row {
    margin: 0 0 var(--hafo-checkout-spacing-md);
    padding: 0;
}

.hafo-multistep-checkout .woocommerce form .form-row:last-child {
    margin-bottom: 0;
}

.hafo-multistep-checkout .woocommerce form .form-row label {
    display: block;
    margin: 0 0 var(--hafo-checkout-spacing-xs);
    color: var(--hafo-checkout-text);
    font-weight: var(--hafo-checkout-font-weight-medium);
}

.hafo-multistep-checkout .woocommerce form .input-text,
.hafo-multistep-checkout .woocommerce form input[type="text"],
.hafo-multistep-checkout .woocommerce form input[type="email"],
.hafo-multistep-checkout .woocommerce form input[type="tel"],
.hafo-multistep-checkout .woocommerce form input[type="number"],
.hafo-multistep-checkout .woocommerce form input[type="password"],
.hafo-multistep-checkout .woocommerce form select,
.hafo-multistep-checkout .woocommerce form textarea {
    width: 100%;
    margin: 0;
    padding: var(--hafo-checkout-spacing-md);
    border: 1px solid var(--hafo-checkout-border);
    border-radius: var(--hafo-checkout-radius-md);
    background-color: #fff;
    color: var(--hafo-checkout-text);
    font-size: var(--hafo-checkout-font-size-base);
    font-family: inherit;
    line-height: 1.4;
}

.hafo-multistep-checkout .woocommerce form textarea {
    min-height: 110px;
    resize: vertical;
}

.hafo-multistep-checkout .woocommerce form .input-text:focus,
.hafo-multistep-checkout .woocommerce form input:focus,
.hafo-multistep-checkout .woocommerce form select:focus,
.hafo-multistep-checkout .woocommerce form textarea:focus {
    outline: none;
    border-color: var(--hafo-checkout-primary);
    box-shadow: 0 0 0 2px rgb(30 58 138 / 10%);
}

.hafo-multistep-checkout .woocommerce form input[type="checkbox"],
.hafo-multistep-checkout .woocommerce form input[type="radio"] {
    width: auto;
    margin: 0;
    padding: 0;
}

.hafo-multistep-checkout .woocommerce-notices-wrapper {
    margin-bottom: var(--hafo-checkout-spacing-md);
}

.hafo-multistep-checkout .woocommerce-error,
.hafo-multistep-checkout .woocommerce-info,
.hafo-multistep-checkout .woocommerce-message {
    margin: 0 0 var(--hafo-checkout-spacing-md);
    padding: var(--hafo-checkout-spacing-md);
    border: 1px solid var(--hafo-checkout-border);
    border-radius: var(--hafo-checkout-radius-md);
    background: #fff;
    color: var(--hafo-checkout-text);
    list-style: none;
}

.hafo-multistep-checkout .woocommerce-error {
    border-color: #fecaca;
    background: #fff5f5;
    color: var(--hafo-checkout-error);
}

/* Select2 fallback styling used by Woo country/state fields */
.hafo-multistep-checkout .select2-container {
    width: 100% !important;
}

.hafo-multistep-checkout .select2-container .select2-selection--single {
    min-height: 44px;
    border: 1px solid var(--hafo-checkout-border);
    border-radius: var(--hafo-checkout-radius-md);
    background: #fff;
    display: flex;
    align-items: center;
}

.hafo-multistep-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    color: var(--hafo-checkout-text);
    line-height: 1.4;
    padding: 11px 36px 11px 12px;
}

.hafo-multistep-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 10px;
}

.hafo-multistep-checkout .select2-dropdown {
    border: 1px solid var(--hafo-checkout-border);
    border-radius: var(--hafo-checkout-radius-md);
}

.hafo-multistep-checkout .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--hafo-checkout-border);
    border-radius: var(--hafo-checkout-radius-sm);
}
