
.global-phone-input-container {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--color-border);
    border-radius: 0.375rem;
    overflow: hidden;
    min-height: var(--control-h-touch);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.global-phone-input-container:focus-within {
    border-color: var(--color-focus-ring);
    box-shadow: 0 0 0 0.2rem var(--color-focus-ring-alpha);
}

.global-phone-input-container.is-invalid {
    border-color: var(--color-error);
}

.global-phone-input-container.is-invalid:focus-within {
    box-shadow: 0 0 0 0.2rem rgba(217, 0, 43, 0.25);
}

/* Fixed country code display (+1 USA only) */
.global-phone-input__country-fixed {
    display: flex;
    align-items: center;
    padding: 0 var(--spacing-sm);
    background: var(--color-surface-subtle);
    border: none;
    border-right: 1px solid var(--color-border);
    font-size: var(--font-size-md);
    color: var(--color-text-muted);
    font-family: var(--font-family);
    user-select: none;
}

.global-phone-input__number {
    flex: 1;
    border: none;
    padding: var(--spacing-sm) var(--spacing-smd);
    font-size: var(--font-size-lg);
    font-family: var(--font-family);
    color: var(--color-text);
    background: transparent;
    min-width: 0;
}

.global-phone-input__number:focus {
    outline: none;
}

.global-phone-input__number::placeholder {
    color: var(--color-text-muted);
    font-weight: 400;
}

.global-phone-input__error {
    display: block;
    font-size: var(--font-size-sm);
    color: var(--color-error);
    margin-top: var(--spacing-xs);
}

/* This sheet loads after main.css, so main.css's phone rule for typed fields
   cannot reach the number box; it says so itself. 16px stops iOS zooming. */
@media (max-width: 767.98px) {
    .global-phone-input__number {
        font-size: var(--font-size-base);
    }
}
