/**
 * Pixelvolution Input Formatter Styles
 *
 * @package Pixelvolution
 * @since 1.2.0
 */

/* Base styling for formatted inputs */
.pxv-formatted-input {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

/* Phone number inputs - slightly wider letter spacing */
.pxv-format-phone_us,
.pxv-format-phone_intl,
.pxv-format-phone_simple,
input[data-pxv-format="phone_us"],
input[data-pxv-format="phone_intl"],
input[data-pxv-format="phone_simple"] {
    letter-spacing: 0.03em;
}

/* Credit card inputs - grouped spacing */
.pxv-format-credit_card,
input[data-pxv-format="credit_card"] {
    letter-spacing: 0.05em;
    font-family: 'Courier New', Courier, monospace;
}

/* Currency inputs - right align */
.pxv-format-currency,
input[data-pxv-format="currency"] {
    text-align: right;
}

/* Percentage inputs - right align */
.pxv-format-percentage,
input[data-pxv-format="percentage"] {
    text-align: right;
}

/* Number inputs - right align */
.pxv-format-number,
input[data-pxv-format="number"] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* Uppercase inputs */
.pxv-format-uppercase,
input[data-pxv-format="uppercase"] {
    text-transform: uppercase;
}

/* Lowercase inputs */
.pxv-format-lowercase,
input[data-pxv-format="lowercase"] {
    text-transform: lowercase;
}

/* Date inputs - consistent width digits */
.pxv-format-date_us,
.pxv-format-date_eu,
.pxv-format-date_iso,
input[data-pxv-format="date_us"],
input[data-pxv-format="date_eu"],
input[data-pxv-format="date_iso"] {
    font-variant-numeric: tabular-nums;
}

/* Time inputs */
.pxv-format-time_12,
.pxv-format-time_24,
input[data-pxv-format="time_12"],
input[data-pxv-format="time_24"] {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
}

/* SSN/EIN - security-conscious styling */
.pxv-format-ssn,
.pxv-format-ein,
input[data-pxv-format="ssn"],
input[data-pxv-format="ein"] {
    letter-spacing: 0.03em;
}

/* ZIP codes */
.pxv-format-zip_us,
.pxv-format-zip_ca,
input[data-pxv-format="zip_us"],
input[data-pxv-format="zip_ca"] {
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* CVV - centered for short codes */
.pxv-format-cvv,
input[data-pxv-format="cvv"] {
    text-align: center;
    letter-spacing: 0.1em;
}

/* Card expiry */
.pxv-format-expiry,
input[data-pxv-format="expiry"] {
    text-align: center;
    letter-spacing: 0.03em;
}
