/* Fast Track Maroc — booking v3 · eSIM add-on (v4.3): destination country → phone → plans
   Loaded after ftk-booking-v3.css, same tokens, scoped to .ftk */

.ftk .ftk-geo__lbl{display:flex;align-items:center;gap:9px}
.ftk .ftk-geo__n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--plum);color:var(--gold-lite);font-size:11px;font-weight:800;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center}

/* destination chips */
.ftk .ftk-geo{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px}
.ftk .ftk-geo.is-err .ftk-geo__c{border-color:#efb7b7;background:var(--danger-50)}
.ftk .ftk-geo__c{position:relative;min-width:0;display:flex;align-items:center;gap:11px;width:100%;padding:11px 14px;border-radius:var(--r);border:2px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;text-align:start;font:inherit;
  transition:border-color .2s,box-shadow .2s,transform .2s var(--ease),background .2s}
.ftk .ftk-geo__c:hover{transform:translateY(-2px);border-color:#d5c9e2;box-shadow:var(--sh-1)}
.ftk .ftk-geo__c:focus-visible{outline:3px solid rgba(196,154,56,.45);outline-offset:2px}
.ftk .ftk-geo__c.is-on{border-color:var(--plum);background:linear-gradient(120deg,var(--plum-50),#fff);box-shadow:0 0 0 4px rgba(45,8,69,.07),var(--sh-1)}
.ftk .ftk-geo__c[hidden]{display:none}
.ftk .ftk-geo__flag{flex:none;width:38px;height:38px;border-radius:12px;background:var(--plum-50);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:var(--plum)}
.ftk .ftk-geo__flag svg.ftk-i{width:20px;height:20px}
.ftk .ftk-geo__c.is-on .ftk-geo__flag{background:#fff;box-shadow:0 0 0 1px var(--plum-100)}
.ftk .ftk-geo__t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ftk .ftk-geo__t b{font-size:14.5px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftk .ftk-geo__t small{font-size:12px;font-weight:600;color:var(--slate)}
.ftk .ftk-geo__ok{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:transparent;transition:all .2s}
.ftk .ftk-geo__ok svg.ftk-i{width:11px;height:11px;stroke-width:3}
.ftk .ftk-geo__c.is-on .ftk-geo__ok{background:var(--plum);border-color:var(--plum);color:var(--gold-lite);animation:ftkPop .35s var(--spring)}
.ftk .ftk-geo__q{min-height:46px;margin-bottom:-6px}
.ftk .ftk-geo__q input{height:42px}
.ftk .ftk-geo__none{margin:0}
.ftk .ftk-geo__wait{margin-top:0}

/* chosen destination (many countries) */
.ftk .ftk-geo__cur{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r);border:2px solid var(--plum);background:linear-gradient(120deg,var(--plum-50),#fff)}
.ftk .ftk-geo__cur .ftk-geo__flag{background:#fff;box-shadow:0 0 0 1px var(--plum-100)}

/* phone model */
.ftk .ftk-dev{position:relative}
.ftk .ftk-dev__box{position:relative}
.ftk .ftk-dev__ctl input{text-overflow:ellipsis}
.ftk .ftk-dev__spin{display:inline-block;flex:none}
.ftk .ftk-dev__list{position:absolute;z-index:40;inset-inline:0;top:calc(100% + 6px);max-height:320px;overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:1.6px solid var(--line-2);border-radius:var(--r);box-shadow:var(--sh-2);overscroll-behavior:contain}
.ftk .ftk-dev__list[hidden]{display:none}
.ftk .ftk-dev__head{padding:8px 10px 4px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.ftk .ftk-dev__opt{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;cursor:pointer;font-size:14px;color:var(--ink)}
.ftk .ftk-dev__opt b{font-weight:700}
.ftk .ftk-dev__opt.is-act{background:var(--plum-50);color:var(--plum)}
.ftk .ftk-dev__nope{margin-top:4px;border-top:1px dashed var(--line);border-radius:0 0 9px 9px;color:var(--slate);font-size:13px}
.ftk .ftk-dev__nope svg.ftk-i{width:15px;height:15px;color:var(--gold)}
.ftk .ftk-dev__empty{padding:10px;font-size:13px;color:var(--slate)}
.ftk .ftk-dev__brands{display:flex;flex-wrap:wrap;gap:6px;padding:4px 6px 8px}
.ftk .ftk-dev__brands button{border:1.4px solid var(--line-2);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:700;color:var(--ink-2);cursor:pointer}
.ftk .ftk-dev__brands button:hover{border-color:var(--plum);color:var(--plum)}
.ftk .ftk-dev__pick{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r);border:1.6px solid #bfe6d0;background:var(--ok-50)}
.ftk .ftk-dev__pick .ftk-dev__ic{flex:none;width:22px;height:22px;color:var(--ok)}
.ftk .ftk-dev__t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ftk .ftk-dev__t b{font-size:15px;font-weight:800;color:var(--ink)}
.ftk .ftk-dev__t small{display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--ok)}
.ftk .ftk-dev__t small svg.ftk-i{width:13px;height:13px;stroke-width:3}
.ftk .ftk-dev__warn{margin-top:10px}
.ftk .ftk-dev__tip{display:flex;align-items:flex-start;gap:6px}
.ftk .ftk-dev__tip svg.ftk-i{flex:none;width:14px;height:14px;margin-top:2px;color:var(--gold)}

@media (max-width:560px){
  .ftk .ftk-geo{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ftk .ftk-geo__c{padding:10px;gap:8px}
  .ftk .ftk-geo__flag{width:32px;height:32px;font-size:19px;border-radius:10px}
  .ftk .ftk-geo__ok{display:none}
  .ftk .ftk-geo__t b{font-size:13.5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .ftk .ftk-geo__t small{white-space:nowrap;font-size:11.5px}
  .ftk .ftk-dev__list{max-height:260px}
}
@media (max-width:420px){
  .ftk .ftk-geo{grid-template-columns:1fr;gap:7px}
  .ftk .ftk-geo__c{padding:9px 12px}
  .ftk .ftk-geo__t{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}
  .ftk .ftk-geo__t b{-webkit-line-clamp:1}
}
@media (prefers-reduced-motion:reduce){.ftk .ftk-geo__c,.ftk .ftk-geo__ok{transition:none;animation:none}}
.ftk .ftk-dev__ctl input:focus,.ftk .ftk-geo__q input:focus{outline:none;box-shadow:none}
.ftk .ftk-geo__q input::-webkit-search-cancel-button{cursor:pointer}
