/* Selector de indicativo internacional — línea gráfica del sitio (tokens.css) */
.phone-intl{
  position:relative;
  display:flex;
  align-items:stretch;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-bg);
  overflow:visible;
  transition:border-color var(--motion-fast) var(--ease), box-shadow var(--motion-fast) var(--ease);
}
.phone-intl:focus-within{
  border-color:var(--color-accent);
  box-shadow:0 0 0 3px rgba(236,116,22,.14);
}

.phone-intl__flag{
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:none;
  border-right:1px solid var(--color-border);
  background:var(--color-bg-soft);
  border-top-left-radius:calc(var(--radius-md) - 1px);
  border-bottom-left-radius:calc(var(--radius-md) - 1px);
  cursor:pointer;
  font:inherit;
  font-size:var(--text-small);
  color:var(--color-ink);
  white-space:nowrap;
  flex-shrink:0;
}
.phone-intl__flag:hover{ background:var(--color-border); }
.phone-intl__flag-emoji{ font-size:1.1em; line-height:1; }
.phone-intl__flag-dial{ font-weight:600; }
.phone-intl__chevron{ opacity:.55; transition:transform var(--motion-fast) var(--ease); }
.phone-intl__flag[aria-expanded="true"] .phone-intl__chevron{ transform:rotate(180deg); }

.phone-intl__num{
  flex:1 1 auto;
  min-width:0;
  border:none;
  outline:none;
  background:transparent;
  padding:0.85rem 1rem;
  font:inherit;
  font-size:var(--text-body);
  color:var(--color-ink);
}
.phone-intl__num::placeholder{ color:var(--color-ink-muted); }

.phone-intl__dropdown{
  position:fixed;
  z-index:9999;
  width:min(320px, 90vw);
  max-height:320px;
  display:flex;
  flex-direction:column;
  background:var(--color-bg);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease), visibility var(--motion-fast);
}
.phone-intl__dropdown.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.phone-intl__search{
  margin:8px;
  padding:0.6rem 0.8rem;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  font:inherit;
  font-size:var(--text-small);
  color:var(--color-ink);
  background:var(--color-bg-soft);
  outline:none;
}
.phone-intl__search:focus{ border-color:var(--color-accent); }

.phone-intl__list{
  overflow-y:auto;
  padding:0 4px 8px;
}

.phone-intl__item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:0.55rem 0.6rem;
  border:none;
  background:none;
  border-radius:var(--radius-sm);
  cursor:pointer;
  text-align:left;
  font:inherit;
  font-size:var(--text-small);
  color:var(--color-ink);
}
.phone-intl__item:hover{ background:var(--color-bg-soft); }
.phone-intl__item-flag{ font-size:1.15em; flex-shrink:0; }
.phone-intl__item-name{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.phone-intl__item-dial{ color:var(--color-ink-muted); font-weight:600; flex-shrink:0; }

:root[data-theme="dark"] .phone-intl__flag{ background:var(--color-bg-soft); }
