.wcsr-service-cta{margin:18px 0}.wcsr-open-form{width:100%;max-width:360px}
/* Lớp bảo vệ trung lập theme: chỉ ẩn nút mua hàng, không đụng tới bộ chọn biến thể (select). */
body.wcsr-service-product form.cart .single_add_to_cart_button,
body.wcsr-service-product form.cart button[name="add-to-cart"],
body.wcsr-service-product form.cart input[name="add-to-cart"],
body.wcsr-service-product form.cart .quantity,
body.wcsr-service-product form.cart .woocommerce-variation-add-to-cart,
body.wcsr-service-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
body.wcsr-service-product .woocommerce-variation-add-to-cart .quantity,
body.wcsr-service-product .sticky-add-to-cart,
body.wcsr-service-product .sticky-add-to-cart-wrapper{display:none!important}
.wcsr-hint{margin:8px 0 0;color:#b42318;font-size:14px}.wcsr-hint[hidden]{display:none}
body.wcsr-modal-open{overflow:hidden}.wcsr-modal[hidden]{display:none!important}.wcsr-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}.wcsr-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.wcsr-modal-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.wcsr-modal-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;z-index:2}.wcsr-registration-form{padding:26px}.wcsr-registration-form h3{margin:0 36px 18px 0}.wcsr-registration-form input,.wcsr-registration-form textarea,.wcsr-registration-form select{width:100%}.wcsr-notice{padding:12px 14px;margin-bottom:16px;border-radius:6px}.wcsr-success{background:#ecfdf3;border:1px solid #abefc6}.wcsr-error{background:#fef3f2;border:1px solid #fecdca}.wcsr-submit{width:100%}@media(max-width:549px){.wcsr-modal{padding:10px}.wcsr-registration-form{padding:20px}.wcsr-open-form{max-width:none}}
.wcsr-summary{margin:0 0 8px}.wcsr-summary-title{margin:0 0 10px;font-size:16px}
.wcsr-summary-table{width:100%;border-collapse:collapse;margin:0}
.wcsr-summary-table th,.wcsr-summary-table td{padding:8px 4px;border-bottom:1px solid #eaecf0;text-align:left;vertical-align:top;font-size:15px}
.wcsr-summary-table th{width:42%;font-weight:600;color:#475467}
.wcsr-summary-total th,.wcsr-summary-total td{border-bottom:0;font-weight:700;color:#b42318;font-size:16px}
.wcsr-summary-note{margin:12px 0 0;font-size:13px;font-style:italic;color:#667085}
.wcsr-address select,.wcsr-address input{margin-top:8px}.wcsr-address label+select{margin-top:4px}.wcsr-address select:disabled{opacity:.6;cursor:not-allowed}
/* v1.0.12 - Bố cục form: [Họ và tên][Số điện thoại] cùng hàng; [Tỉnh/TP][Xã/Phường] cùng hàng. Các trường còn lại giữ nguyên (toàn chiều rộng). */
.wcsr-registration-form .wcsr-form-fields{display:flex;flex-wrap:wrap;gap:12px}
.wcsr-registration-form .wcsr-form-fields>.form-row{flex:0 0 100%;max-width:100%;margin:0;padding:0;float:none;box-sizing:border-box;min-width:0}
/* Nếu hai trường nằm cạnh nhau -> chia đôi hàng; nếu bị tách ra (do sắp xếp) -> tự giãn đủ hàng. */
.wcsr-registration-form .wcsr-form-fields>.wcsr-field-customer_name,
.wcsr-registration-form .wcsr-form-fields>.wcsr-field-customer_phone{flex:1 1 calc(50% - 6px)}
/* Địa chỉ: nhãn trên cùng, Tỉnh/TP + Xã/Phường cùng hàng, Số nhà/Tên đường toàn hàng. */
.wcsr-registration-form .wcsr-address{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;align-items:start}
.wcsr-registration-form .wcsr-address>label{grid-column:1/-1;margin:0}
.wcsr-registration-form .wcsr-address select,
.wcsr-registration-form .wcsr-address input{margin:0;min-width:0;box-sizing:border-box}
.wcsr-registration-form .wcsr-address .wcsr-street{grid-column:1/-1}
/* Chỉ xếp chồng khi màn hình cực hẹp (<360px) để tránh chữ bị cắt. */
@media(max-width:359px){
  .wcsr-registration-form .wcsr-form-fields>.wcsr-field-customer_name,
  .wcsr-registration-form .wcsr-form-fields>.wcsr-field-customer_phone{flex:0 0 100%}
  .wcsr-registration-form .wcsr-address{grid-template-columns:minmax(0,1fr)}
}
