.woocommerce-checkout .ttv-hidden{display:none!important}

.woocommerce-checkout{
  --ttv-accent:#118276;
  --ttv-accent-dark:#0b6b62;
  --ttv-border:#dce7e5;
  --ttv-bg:#f8fbfb;
  --ttv-text:#24383a;
  --ttv-muted:#6f8082;
}

.woocommerce-checkout .form-row{
  position:relative;
  box-sizing:border-box;
}

.woocommerce-checkout .form-row label{
  display:block;
  font-weight:700;
  color:var(--ttv-text);
  margin:0 0 8px;
  font-size:14px;
  line-height:1.35;
}

.woocommerce-checkout .form-row .required{
  color:#e53935!important;
  text-decoration:none!important;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-selection,
.woocommerce-checkout .select2-selection--single{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #d8e2e3!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#203335!important;
  box-shadow:0 2px 9px rgba(20,60,60,.035)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select{
  min-height:50px!important;
  padding:0 14px!important;
}

.woocommerce-checkout textarea.input-text{
  min-height:92px!important;
  padding:12px 14px!important;
  line-height:1.5!important;
  resize:vertical;
}

.woocommerce-checkout .input-text:hover,
.woocommerce-checkout select:hover,
.woocommerce-checkout textarea:hover,
.woocommerce-checkout .select2-selection:hover{
  border-color:#b8cfcc!important;
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single{
  outline:none!important;
  border-color:var(--ttv-accent)!important;
  box-shadow:0 0 0 3px rgba(17,130,118,.13)!important;
}

.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #tt_province_field,
.woocommerce-checkout #tt_ward_field,
.woocommerce-checkout #tt_village_text_field,
.woocommerce-checkout #tt_address_detail_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #order_comments_field{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfd 100%);
  border:1px solid var(--ttv-border);
  border-radius:15px;
  padding:13px 14px 14px;
  margin-bottom:12px;
  box-shadow:0 4px 18px rgba(32,70,70,.045);
}

.woocommerce-checkout #tt_village_text_field{
  border-color:#b9ddd8;
  box-shadow:0 5px 20px rgba(17,130,118,.075);
}

.woocommerce-checkout #tt_village_text_field label:after{
  content:"  • bắt buộc";
  color:var(--ttv-accent-dark);
  font-size:12px;
  font-weight:600;
}

.woocommerce-checkout #tt_address_detail_field{
  background:#fbfcfc;
  border-style:dashed;
}

.woocommerce-checkout #order_comments_field{
  margin-top:10px;
  background:#fffdf8;
  border-color:#eee1bd;
}

.woocommerce-checkout #order_comments_field label{
  color:#56492c;
}

.woocommerce-checkout .select2-container{
  width:100%!important;
  max-width:100%!important;
}

.woocommerce-checkout .select2-selection,
.woocommerce-checkout .select2-selection--single{
  min-height:50px!important;
}

.woocommerce-checkout .select2-selection__rendered{
  line-height:50px!important;
  padding-left:14px!important;
  padding-right:38px!important;
}

.woocommerce-checkout .select2-selection__arrow{
  height:50px!important;
  right:9px!important;
}

.woocommerce-checkout .select2-container--open{
  z-index:9999;
}

.woocommerce-checkout .select2-dropdown{
  left:0!important;
  right:auto!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #cbdcda!important;
  border-radius:12px!important;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(19,64,61,.13)!important;
}

.woocommerce-checkout .select2-search--dropdown{
  padding:9px!important;
  background:#f7fbfa;
}

.woocommerce-checkout .select2-search--dropdown .select2-search__field{
  width:100%!important;
  height:42px!important;
  box-sizing:border-box!important;
  border:1px solid #cbdcda!important;
  border-radius:9px!important;
  padding:0 11px!important;
  outline:none!important;
}

.woocommerce-checkout .select2-results{
  max-height:285px;
  overflow:auto;
}

.woocommerce-checkout .select2-results__option{
  padding:9px 12px!important;
  line-height:1.35!important;
}

.woocommerce-checkout .select2-results__option--highlighted[aria-selected]{
  background:var(--ttv-accent)!important;
  color:#fff!important;
}

.woocommerce-checkout-review-order-table{
  border-radius:12px;
  overflow:hidden;
}

body .select2-container{max-width:100vw}

@media(max-width:600px){
  .woocommerce-checkout .form-row{width:100%!important}
  .woocommerce-checkout #billing_first_name_field,
  .woocommerce-checkout #tt_province_field,
  .woocommerce-checkout #tt_ward_field,
  .woocommerce-checkout #tt_village_text_field,
  .woocommerce-checkout #tt_address_detail_field,
  .woocommerce-checkout #billing_phone_field,
  .woocommerce-checkout #order_comments_field{
    padding:11px 12px 12px;
    border-radius:13px;
  }
}

.woocommerce-checkout #tt_address_detail_field .required{display:none!important}
.woocommerce-checkout #tt_address_detail_field.woocommerce-invalid{
  border-color:var(--ttv-border)!important;
}
.woocommerce-checkout #tt_address_detail_field.woocommerce-invalid .input-text{
  border-color:#d8e2e3!important;
  box-shadow:0 2px 9px rgba(20,60,60,.035)!important;
}


/* =========================================================
 * V1.6.6 - NATIVE SELECT + DATA FALLBACK HARD FIX
 * Không dùng dropdown SelectWoo/Select2 cho Tỉnh/Xã.
 * Native select không bị theme transform/sticky đẩy dropdown xuống payment.
 * ========================================================= */
.woocommerce-checkout #tt_province,
.woocommerce-checkout #tt_ward{
  display:block!important;
  position:static!important;
  width:100%!important;
  max-width:100%!important;
  min-height:50px!important;
  height:50px!important;
  clip:auto!important;
  clip-path:none!important;
  overflow:visible!important;
  margin:0!important;
  padding:0 42px 0 14px!important;
  border:1px solid #d8e2e3!important;
  border-radius:12px!important;
  background-color:#fff!important;
  color:#203335!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  appearance:auto!important;
  -webkit-appearance:menulist!important;
}

/* Nếu theme/cache cố tạo Select2 lại, ẩn đúng container kề hai field của plugin. */
.woocommerce-checkout #tt_province + .select2-container,
.woocommerce-checkout #tt_ward + .select2-container{
  display:none!important;
}

.woocommerce-checkout #tt_province:focus,
.woocommerce-checkout #tt_ward:focus{
  outline:none!important;
  border-color:var(--ttv-accent)!important;
  box-shadow:0 0 0 3px rgba(17,130,118,.13)!important;
}
