.iti.gp-country-field { display: block; --gp-country-inset: .85rem; }
.iti.gp-country-field:has(> .gp-country-button.select) { --gp-country-inset: .75rem; }
.gp-field-display.gp-country-display { display: flex; gap: .65rem; }
.gp-country-display .iti__flag { flex-shrink: 0; }
.gp-country-field .gp-country-native { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.gp-country-button { display: flex; align-items: center; gap: .65rem; width: 100%; text-align: left; padding-inline: var(--gp-country-inset); background-image: none; cursor: pointer; }
.gp-country-button .iti__flag { flex-shrink: 0; }
.gp-country-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* The rotated chevron extends past its layout box by (sqrt(2) - 1) / 2.
   Compensate that overhang so its visible edge matches the flag's inset. */
.gp-country-button .iti__arrow { margin-left: auto; margin-right: calc(var(--iti-arrow-size, 5px) * .20710678); flex-shrink: 0; }
/* Verification belongs before the arrow; the arrow remains the rightmost icon. */
.gp-country-field > .address-check { right: calc(var(--gp-country-inset) + var(--iti-arrow-size, 5px) * 1.41421356 + .65rem); }
.gp-country-field:has(> .address-check) .gp-country-label { padding-right: calc(1.125rem + .65rem); }
.gp-country-button:disabled { cursor: default; }
.gp-country-button[aria-invalid=true] { outline: 1px solid #b42318; outline-offset: -1px; }
.iti.gp-country-popup { position: fixed; inset: auto; margin: 0; padding: 0; border: 0; background: transparent; overflow: visible; z-index: 10050; }
.gp-country-popup[hidden] { display: none; }
.gp-country-popup .iti__country { display: flex; align-items: center; gap: .65rem; width: 100%; text-align: left; cursor: pointer; white-space: normal; }
.gp-country-popup .iti__country .iti__flag { flex-shrink: 0; margin-right: 0; }
.gp-country-popup .iti__country[aria-selected=true] { background: var(--iti-hover-color); color: #156340; }
.gp-country-popup .iti__search-input-wrapper { position: relative; }
.gp-country-popup .iti__search-input { width: 100%; padding-left: 2.35rem; }
.gp-country-search-icon { position: absolute; left: .8rem; top: .8rem; width: .7rem; height: .7rem; border: 2px solid #65736b; border-radius: 50%; pointer-events: none; }
.gp-country-search-icon::after { content: ''; position: absolute; width: .35rem; height: 2px; right: -.3rem; bottom: -.15rem; background: #65736b; transform: rotate(45deg); }
