/* Phone Input Styles */
.phone-input-container .PhoneInputCountry {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    margin-right: 0.5rem;
    border-radius: 0.375rem;
    transition: background-color 0.15s ease;
}

.phone-input-container .PhoneInputCountry:hover {
    background-color: hsl(var(--muted));
}

.phone-input-container .PhoneInputCountryIcon {
    width: 1.5rem;
    height: 1.125rem;
    border-radius: 0.25rem;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.phone-input-container .PhoneInputCountryIcon--square {
    aspect-ratio: 1;
}

.phone-input-container .PhoneInputCountryIconImg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.phone-input-container .PhoneInputCountrySelect {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
    opacity: 0;
    cursor: pointer;
}

.phone-input-container .PhoneInputCountrySelect:focus + .PhoneInputCountryIcon {
    outline: 2px solid hsl(var(--ring));
    outline-offset: 2px;
}

.phone-input-container .PhoneInputCountrySelect:disabled {
    cursor: not-allowed;
}

.phone-input-container .PhoneInputCountrySelectArrow {
    display: block;
    width: 0.375rem;
    height: 0.375rem;
    color: hsl(var(--foreground) / 0.5);
    flex-shrink: 0;
}

.phone-input-wrapper {
    display: flex;
    align-items: center;
}

.phone-input-wrapper .PhoneInputInput {
    flex: 1;
}

/* Dark mode support */
.dark .phone-input-container .PhoneInputCountry:hover {
    background-color: hsl(var(--muted));
}

.dark .phone-input-container .PhoneInputCountryIcon {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
}