/* KissTour country-code picker (assets/js/kt-country-picker.js). Scoped to
 * .kt-cp*; colours fall back to the checkout palette when the page defines
 * no --kt-* variables (the Fast Track page). */
.kt-cp-native { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; margin: -1px !important; opacity: 0; overflow: hidden; pointer-events: none; }
.kt-cp { position: relative; display: inline-block; vertical-align: top; font: inherit; }
/* The select's wrapper shrinks to the button once the picker is mounted (no JS touches the wrapper). */
.country-code-select:has(> .kt-cp), .customer-phone .kisstour-phone-wrapper .country-code-select:has(> .kt-cp) { width: auto; min-width: 0; position: relative; }
.kt-cp-btn { display: inline-flex; align-items: center; gap: 6px; height: 100%; min-height: 46px; padding: 0 10px 0 12px; border: 1px solid var(--kt-border, #ddd); border-radius: var(--kt-radius, 4px); background: var(--kt-white, #fff); color: inherit; font: inherit; font-size: 16px; line-height: 1; cursor: pointer; white-space: nowrap; }
.ktft .kt-cp-btn { height: 42px; min-height: 42px; border-radius: 8px; font-size: 14px; }
.kt-cp-btn:hover { border-color: #bbb; }
.kt-cp-btn:focus-visible { outline: none; border-color: #E4367E; box-shadow: 0 0 0 3px rgba(228, 54, 126, .15); }
.kt-cp-flag { font-size: 1.25em; line-height: 1; }
.kt-cp-code { font-weight: 600; }
.kt-cp-caret { width: 0; height: 0; margin-left: 2px; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; opacity: .6; }
.kt-cp-panel { box-sizing: border-box; position: absolute; z-index: 1000; top: calc(100% + 4px); left: 0; width: min(340px, calc(100vw - 32px)); background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 8px 28px rgba(0, 0, 0, .14); padding: 8px; }
.kt-cp-right .kt-cp-panel { left: auto; right: 0; }
.kt-cp-search { display: block; width: 100%; box-sizing: border-box; height: 40px; padding: 8px 12px; border: 1px solid #ddd; border-radius: 6px; font: inherit; font-size: 16px; -webkit-appearance: none; appearance: none; }
.kt-cp-search:focus { outline: none; border-color: #E4367E; box-shadow: 0 0 0 3px rgba(228, 54, 126, .12); }
.kt-cp-list { list-style: none; margin: 8px 0 0; padding: 0; max-height: min(320px, 50vh); overflow-y: auto; -webkit-overflow-scrolling: touch; }
.kt-cp-group { padding: 8px 10px 4px; font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: #888; }
.kt-cp-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 6px; cursor: pointer; font-size: 15px; line-height: 1.3; }
.kt-cp-item .kt-cp-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kt-cp-item .kt-cp-dial { color: #777; font-variant-numeric: tabular-nums; }
.kt-cp-item.is-active { background: #FDF2F7; }
.kt-cp-item[aria-selected="true"] .kt-cp-name { font-weight: 600; color: #E4367E; }
.kt-cp-other { color: #777; }
.kt-cp-empty { padding: 12px 10px; color: #777; font-size: 14px; }
@media (max-width: 480px) {
  .kt-cp-panel { position: fixed; top: auto; bottom: 0; left: 0 !important; right: 0 !important; width: 100%; border-radius: 14px 14px 0 0; padding: 12px; box-shadow: 0 -8px 28px rgba(0, 0, 0, .18); }
  .kt-cp-list { max-height: 55vh; }
  .kt-cp-item { padding: 12px 10px; font-size: 16px; }
}
