.phone-input-wrap {
  display:flex;
  border:1.5px solid rgba(39,174,96,0.25);
  border-radius:10px;
  background:rgba(39,174,96,0.08);
  transition:border-color 0.2s;
  position:relative;
}
.phone-input-wrap:focus-within { border-color:#27ae60; background:rgba(39,174,96,0.12); }
.phone-input-wrap.is-error { border-color:#e74c3c !important; background:rgba(231,76,60,0.05) !important; }

.phone-country {
  display:flex; align-items:center; gap:6px;
  padding:0 12px; cursor:pointer;
  border:none; border-right:1.5px solid rgba(39,174,96,0.2);
  background:transparent; font-size:14px; color:#1a1a1a;
  transition:background 0.15s; flex-shrink:0;
  font-family:'Segoe UI',sans-serif;
}
.phone-country:hover { background:rgba(39,174,96,0.1); }
.phone-flag { font-size:18px; }
.phone-code { font-weight:600; color:#1a1a1a; }
.phone-arr { font-size:10px; color:#aaa; transition:transform 0.2s; }
.phone-arr.open { transform:rotate(180deg); }

.phone-number {
  flex:1; padding:11px 14px;
  border:none; background:transparent;
  font-size:14px; color:#1a1a1a; outline:none;
  font-family:'Segoe UI',sans-serif;
}
.phone-number::placeholder { color:#aaa; }

.country-dropdown {
  position:absolute; top:calc(100% + 4px); left:0;
  background:white; border-radius:12px;
  box-shadow:0 4px 24px rgba(0,0,0,0.12);
  border:0.5px solid #f0f0f0;
  width:280px; z-index:300;
  overflow:hidden; display:none;
}
.country-dropdown.show { display:block; animation:fadeIn 0.15s ease; }

.country-search {
  width:100%; padding:10px 14px;
  border:none; border-bottom:0.5px solid #f5f5f5;
  font-size:13px; outline:none;
  font-family:'Segoe UI',sans-serif;
}
.country-search:focus { background:#fafafa; }

.country-list { max-height:220px; overflow-y:auto; padding:4px 0; }
.country-list::-webkit-scrollbar { width:4px; }
.country-list::-webkit-scrollbar-thumb { background:#eee; border-radius:2px; }

.country-item {
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; cursor:pointer;
  font-size:14px; color:#333; transition:background 0.15s;
}
.country-item:hover { background:#f5f5f5; }
.country-item.selected { color:#27ae60; font-weight:600; background:#f0fdf4; }
.country-item-code { color:#aaa; font-size:13px; margin-left:auto; }