/* MenuPlus phone input — ülke kodu + numara */
.mp-phone {
  --mp-phone-border: var(--mp-field-border, #e9ecef);
  --mp-phone-border-focus: var(--mp-field-border-focus, #ff720d);
  --mp-phone-ring: var(--mp-field-ring, rgba(255, 114, 13, 0.22));
  --mp-phone-bg: #fff;
  --mp-phone-text: #28231f;
  --mp-phone-muted: #746c65;
  --mp-phone-divider: #ebe6e1;
  --mp-phone-hover: #fff7f1;
  position: relative;
  width: 100%;
}

[data-theme="dark"] .mp-phone {
  --mp-phone-bg: #332d29;
  --mp-phone-text: #f8f4f1;
  --mp-phone-muted: #c8bdb4;
  --mp-phone-divider: #544a43;
  --mp-phone-hover: #3d3530;
}

.mp-phone__control {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: var(--mp-field-h, 40px);
  min-height: var(--mp-field-h, 40px);
  border: 2px solid var(--mp-phone-border);
  border-radius: var(--mp-field-radius, 10px);
  background: var(--mp-phone-bg);
  overflow: visible;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.mp-phone.is-open .mp-phone__control,
.mp-phone__control:focus-within {
  border-color: var(--mp-phone-border-focus);
  box-shadow: 0 0 0 0.2rem var(--mp-phone-ring);
}

.mp-phone.is-invalid .mp-phone__control {
  border-color: #dc3545;
}

.mp-phone__dial {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex: 0 0 auto;
  min-width: 4.4rem;
  padding: 0 0.65rem;
  border: 0;
  border-right: 1px solid var(--mp-phone-divider);
  background: transparent;
  color: var(--mp-phone-text);
  font-weight: 700;
  font-size: 0.88rem;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}

.mp-phone__dial:hover {
  background: var(--mp-phone-hover);
}

.mp-phone__dial-chevron {
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.7;
  margin-top: -0.2rem;
  transition: transform 0.15s ease;
}

.mp-phone.is-open .mp-phone__dial-chevron {
  transform: rotate(225deg);
  margin-top: 0.12rem;
}

.mp-phone__number {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  color: var(--mp-phone-text);
  padding: 0 var(--mp-field-px, 0.8rem) !important;
  font-size: var(--mp-field-fs, 0.9rem);
  line-height: 1.25;
  border-radius: 0 calc(var(--mp-field-radius, 10px) - 2px) calc(var(--mp-field-radius, 10px) - 2px) 0;
}

.mp-phone__number::placeholder {
  color: var(--mp-phone-muted);
  opacity: 0.85;
}

.mp-phone__dropdown {
  position: absolute;
  z-index: 1080;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: none;
  flex-direction: column;
  max-height: 280px;
  background: var(--mp-phone-bg);
  border: 1px solid var(--mp-phone-border);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(40, 35, 31, 0.16);
  overflow: hidden;
}

.mp-phone.is-open .mp-phone__dropdown {
  display: flex;
}

.mp-phone__search-wrap {
  padding: 0.55rem 0.65rem 0.4rem;
  border-bottom: 1px solid var(--mp-phone-divider);
}

.mp-phone__search {
  width: 100%;
  height: 34px;
  border: 1px solid var(--mp-phone-border);
  border-radius: 8px;
  padding: 0 0.65rem;
  background: var(--mp-phone-bg);
  color: var(--mp-phone-text);
  font-size: 0.84rem;
}

.mp-phone__search:focus {
  outline: none;
  border-color: var(--mp-phone-border-focus);
}

.mp-phone__list {
  margin: 0;
  padding: 0.2rem 0;
  list-style: none;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.mp-phone__option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 0.48rem 0.8rem;
  border: 0;
  background: transparent;
  color: var(--mp-phone-text);
  text-align: left;
  cursor: pointer;
  font-size: 0.86rem;
}

.mp-phone__option:hover,
.mp-phone__option.is-active {
  background: var(--mp-phone-hover);
}

.mp-phone__option-code {
  font-weight: 700;
  flex: 0 0 auto;
}

.mp-phone__option-name {
  color: var(--mp-phone-muted);
  text-align: right;
}

.mp-phone__empty {
  padding: 0.85rem;
  color: var(--mp-phone-muted);
  font-size: 0.86rem;
  text-align: center;
}
