.astb-booking-form {
    display: grid;
    gap: 10px;
    max-width: 720px;
    padding: 24px;
    border: 1px solid #d8dee4;
    border-radius: 8px;
    background: #fff;
}

.astb-intro {
    display: grid;
    margin-bottom: 4px;
}

.astb-intro h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
}

.astb-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.astb-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.astb-field {
    display: grid;
    gap: 4px;
}

.astb-field label {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
}

.astb-booking-form .astb-field input,
.astb-booking-form .astb-field select {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    height: 34px !important;
    min-height: 0 !important;
    border: 1px solid #b8c0cc;
    border-radius: 4px;
    padding: 4px 8px !important;
    font: inherit;
    font-size: 14px;
    line-height: 1.2 !important;
}

.astb-booking-form .astb-field input[type="number"] {
    appearance: textfield;
}

.astb-booking-form .astb-field input[type="number"]::-webkit-outer-spin-button,
.astb-booking-form .astb-field input[type="number"]::-webkit-inner-spin-button {
    margin: 0;
}

.astb-submit {
    justify-self: start;
    min-height: 44px;
    border: 0;
    border-radius: 6px;
    padding: 0 18px;
    background: #111827;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.astb-submit:hover,
.astb-submit:focus {
    background: #374151;
}

.astb-transfer-checkout .woocommerce-billing-fields,
.astb-transfer-checkout .woocommerce-additional-fields,
.astb-transfer-checkout .woocommerce-shipping-fields,
.astb-transfer-checkout .col2-set {
    display: none !important;
}

.astb-transfer-checkout #order_review_heading {
    margin-top: 0;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
}

.astb-transfer-checkout .woocommerce-checkout-review-order-table thead th.product-name {
    width: 70%;
}

.astb-transfer-checkout .woocommerce-checkout-review-order-table .cart-subtotal {
    display: none !important;
}

.astb-transfer-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
}

.astb-transfer-checkout #order_review {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.85fr);
    gap: 24px;
    align-items: start;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
}

.astb-transfer-checkout .woocommerce-checkout-review-order {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
}

.astb-transfer-checkout #order_review .woocommerce-checkout-review-order-table {
    grid-column: 1;
    margin: 0;
}

.astb-transfer-checkout #order_review #payment {
    grid-column: 2;
    margin: 0;
}

.astb-transfer-checkout #order_review::before,
.astb-transfer-checkout #order_review::after {
    display: none;
}

.astb-transfer-thankyou .woocommerce-table--order-details tfoot tr:first-child,
.astb-transfer-thankyou .woocommerce-order-details tfoot tr:first-child {
    display: none !important;
}

@media (max-width: 640px) {
    .astb-booking-form {
        padding: 16px;
    }

    .astb-grid {
        grid-template-columns: 1fr;
    }

    .astb-transfer-checkout #order_review {
        grid-template-columns: 1fr;
    }

    .astb-transfer-checkout #order_review .woocommerce-checkout-review-order-table,
    .astb-transfer-checkout #order_review #payment {
        grid-column: 1;
    }
}
