.rf5-address-addon.is-hidden,
.rf5-thaddr.is-hidden {
  display: none;
}
.rf5-address-addon {
  margin-top: 1rem;
}
.rf5-address-addon .form-control-plaintext {
  background: #f8f9fa;
  padding-left: .75rem;
  padding-right: .75rem;
  border-radius: .375rem;
}
/* Make Select2 look like Bootstrap form-control */
.select2-container { width: 100% !important; }

.select2-container--default .select2-selection--single{
  height: 38px;               /* ปรับให้เท่ากับ input ของคุณ */
  border: 1px solid #ced4da;
  border-radius: .255rem;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: 36px;          /* height - 2 */
  padding-left: .75rem;
  padding-right: 2rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 36px;
  right: .5rem;
}

.select2-container--default .select2-selection--single .select2-selection__clear{
  margin-right: 1.5rem;
}


/* ------------------------------------------------------------------
 * RF5 Thailand Address - Select2 polish (scoped)
 * ------------------------------------------------------------------ */
.rf5-thaddr .select2-container,
.rf5-address-addon .select2-container {
  display: block !important;
  width: 100% !important;
  height: 38px !important; /* lock outer container to same height as the plain inputs */
  overflow: hidden;        /* prevent any inline-box or child bleed */
}

/* Lock the intermediate .selection span — inline by default in Select2's DOM */
.rf5-thaddr .select2-container .selection {
  display: block;
  height: 100%;
}

.rf5-thaddr .select2-container--default .select2-selection--single,
.rf5-address-addon .select2-container--default .select2-selection--single {
  background-color: #fff;
  border-color: #dee2e6;
  height: 38px;           /* override registerV5.css height:auto */
  padding-top: .375rem;   /* override registerV5.css padding:.5rem — match Bootstrap .form-control */
  padding-bottom: .375rem;
}

/* Hide the dropdown arrow — Select2 is replaced by our shared panel */
.rf5-thaddr .select2-selection__arrow {
  display: none;
}

/* Remove right padding reserved for the arrow, match other trigger fields */
.rf5-thaddr .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-right: .75rem;
}

/* Hover state — mirrors .rf5-thaddr-trigger:hover */
.rf5-thaddr .select2-container .select2-selection--single:hover {
  border-color: #adb5bd;
}

.rf5-thaddr .select2-container--default .select2-selection--single .select2-selection__placeholder,
.rf5-address-addon .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #6c757d; /* Bootstrap placeholder-ish */
}

/* Focus/open state like form-control */
.rf5-thaddr .select2-container--default.select2-container--open .select2-selection--single,
.rf5-address-addon .select2-container--default.select2-container--open .select2-selection--single,
.rf5-thaddr .select2-container--default .select2-selection--single:focus,
.rf5-address-addon .select2-container--default .select2-selection--single:focus {
  border-color: #86b7fe;
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
  transform: none; /* cancel registerV5.css translateY(-1px) which clips bottom border */
}

/* ------------------------------------------------------------------
 * Phase 2 UX polish — scoped entirely to .rf5-thaddr
 * ------------------------------------------------------------------ */

/* Province / District / Zip trigger fields — sized to match the Subdistrict Select2 */
.rf5-thaddr .form-control-plaintext {
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: .375rem;
  padding: .375rem .75rem;
  height: 38px;
  box-sizing: border-box;
  line-height: 1.5;
  color: #495057;
  cursor: default;
}

/* Trigger fields (Province / District / Zip): pointer cursor to signal they open the search */
.rf5-thaddr .rf5-thaddr-trigger {
  cursor: pointer;
}
.rf5-thaddr .rf5-thaddr-trigger:hover:not(:disabled),
.rf5-thaddr .rf5-thaddr-trigger:focus:not(:disabled) {
  border-color: #86b7fe;
  outline: none;
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.15);
}

/* Smooth opacity transition on the auto-fill fields (used by loading state) */
.rf5-thaddr .js-thaddr-province-text,
.rf5-thaddr .js-thaddr-district-text,
.rf5-thaddr .js-thaddr-zipcode {
  transition: opacity 0.2s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Subtle fade while AJAX search or edit-hydrate fetch is in-flight */
.rf5-thaddr--loading .js-thaddr-province-text,
.rf5-thaddr--loading .js-thaddr-district-text,
.rf5-thaddr--loading .js-thaddr-zipcode {
  opacity: 0.4;
}

/* ------------------------------------------------------------------
 * Floating address-search panel (Province / District / Zip triggers)
 * Appears under whichever trigger field the user clicked.
 * ------------------------------------------------------------------ */
.rf5-thaddr-panel {
  position: absolute;
  z-index: 1060; /* above Bootstrap modals (z-index 1055) */
  background: #fff;
  border: 1px solid #ced4da;
  border-radius: .375rem;
  box-shadow: 0 .25rem .75rem rgba(0,0,0,.15);
  display: none;
  box-sizing: border-box;
  min-width: 160px;
}
.rf5-thaddr-panel--open {
  display: block;
}
.rf5-thaddr-panel__input {
  display: block;
  width: 100%;
  border: none;
  border-bottom: 1px solid #dee2e6;
  border-radius: .375rem .375rem 0 0;
  padding: .45rem .75rem;
  font-size: .875rem;
  line-height: 1.5;
  color: #212529;
  background: #fff;
  outline: none;
  box-sizing: border-box;
}
.rf5-thaddr-panel__input:focus {
  border-bottom-color: #86b7fe;
}
.rf5-thaddr-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 220px;
  overflow-y: auto;
}
.rf5-thaddr-panel__item {
  padding: .4rem .75rem;
  font-size: .875rem;
  cursor: pointer;
  line-height: 1.4;
  color: #212529;
}
.rf5-thaddr-panel__item:hover {
  background-color: #e9ecef;
}
.rf5-thaddr-panel__msg {
  padding: .4rem .75rem;
  font-size: .875rem;
  color: #6c757d;
  cursor: default;
}

/* ------------------------------------------------------------------
 * Address sub-field vertical spacing
 * .rf5-col provides the outer gap (1.25rem) after the whole address
 * block. Remove Bootstrap mb-3 trailing margin from every sub-field
 * col and replace it with row-gap so the LAST sub-row leaves no
 * extra whitespace inside the qwrap.
 * ------------------------------------------------------------------ */
.rf5-thaddr .row > [class*="col-"] {
  margin-bottom: 0 !important; /* override Bootstrap mb-3 utility class */
}
.rf5-thaddr .row {
  row-gap: 1rem; /* spacing between sub-field rows — replaces mb-3 */
}
