/* Champ téléphone international (drapeau + indicatif) -- voir phone-input.js */
.ph{display:flex;align-items:stretch;position:relative;width:100%;box-sizing:border-box;border:var(--ph-bd,1px solid #cfd8ea);border-radius:var(--ph-radius,10px);background:var(--ph-bg,#fff);min-height:var(--ph-h,44px);font-family:var(--ph-ff,inherit);transition:border-color .15s,box-shadow .15s}
.ph:focus-within{border-color:var(--ec-primary,#0739b5);box-shadow:0 0 0 3px var(--ec-primary-soft,rgba(7,57,181,.15))}
.ph:has(.ph-input:user-invalid){border-color:#d92d20}
.ph .ph-btn{display:flex;align-items:center;gap:7px;flex:none;border:0;border-right:1px solid rgba(127,127,127,.3);background:transparent;color:var(--ph-color,inherit);padding:0 10px 0 12px;margin:0;cursor:pointer;font:inherit;font-size:var(--ph-fs,15px);line-height:1;border-radius:calc(var(--ph-radius,10px) - 1px) 0 0 calc(var(--ph-radius,10px) - 1px)}
.ph .ph-btn:hover,.ph.ph-open .ph-btn{background:rgba(127,127,127,.1)}
.ph .ph-btn:focus-visible{outline:2px solid var(--ec-primary,#0739b5);outline-offset:-2px}
.ph-flag{width:22px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.14);flex:none;display:block}
.ph-flag-missing{background:rgba(127,127,127,.28)}
.ph-dial{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.ph-chevron{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.6;margin-left:1px}
.ph.ph-open .ph-chevron{transform:rotate(180deg)}
.ph .ph-input{flex:1 1 auto;min-width:0;width:auto;margin:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:var(--ph-pad,10px 12px);padding-left:12px;font:inherit;font-size:var(--ph-fs,15px);color:var(--ph-color,inherit)}
.ph .ph-input::placeholder{opacity:.45}
.ph-panel{position:fixed;z-index:2147483000;background:var(--ec-surface,#fff);color:var(--ec-ink,#13203a);border:1px solid var(--ec-border,#d4e0f2);border-radius:14px;box-shadow:0 18px 50px rgba(8,26,98,.22);overflow:hidden}
.ph-panel[hidden]{display:none}
.ph-search{display:block;box-sizing:border-box;width:calc(100% - 20px);margin:10px;padding:9px 12px;border:1px solid var(--ec-border,#d4e0f2);border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:14px;outline:0}
.ph-search:focus{border-color:var(--ec-primary,#0739b5)}
.ph-list{list-style:none;margin:0;padding:0 6px 8px;overflow-y:auto;overscroll-behavior:contain}
.ph-list li[role="option"]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px}
.ph-list li.ph-active{background:var(--ec-primary-soft,#e9f0ff)}
.ph-list li[aria-selected="true"] .ph-name{font-weight:700}
.ph-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ph-code{opacity:.65;font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}
.ph-head{padding:8px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.55}
.ph-empty{padding:14px;text-align:center;opacity:.7;font-size:14px}
@media(prefers-reduced-motion:reduce){.ph,.ph-chevron{transition:none}}
