/* Only dropdowns enhanced by hexa-phone.js receive these rules. */
.intl-tel-input .country-list.hexa-phone-country-list { width: 360px; max-width: calc(100vw - 64px); white-space: nowrap; overflow-x: hidden; border-color: #dbe3ee; border-radius: 9px; box-shadow: 0 8px 24px rgba(20,39,76,.12); z-index: 20; }
.intl-tel-input .country-list.hexa-phone-country-list .country { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 8px 12px; font-size: 14px; line-height: 1.4; white-space: nowrap; }
.intl-tel-input .country-list.hexa-phone-country-list .flag-box { flex: 0 0 20px; width: 20px; margin: 0; }
.intl-tel-input .country-list.hexa-phone-country-list .country-name { flex: 1; min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; }
.intl-tel-input .country-list.hexa-phone-country-list .dial-code { flex: 0 0 auto; margin: 0; color: #65748b; }
.hexa-phone-country-list [hidden] { display: none !important; }
.hexa-phone-country-list .hexa-country-search { position: sticky; top: 0; z-index: 1; padding: 10px; background: #fff; border-bottom: 1px solid #edf1f7; }
ul.country-list.hexa-phone-country-list .hexa-country-search-input { display: block; width: 100%; height: 38px; min-height: 38px; margin: 0; padding: 8px 10px; border: 1px solid #dbe3ee; border-radius: 7px; background: #f8faff; color: #23365c; font-size: 14px; line-height: 20px; box-sizing: border-box; }
.hexa-phone-country-list .hexa-country-search-input:focus { outline: 2px solid #6ea3fa; outline-offset: -1px; }
.hexa-phone-country-list .hexa-country-search-empty { padding: 18px 12px; color: #65748b; font-size: 14px; text-align: center; }
