/* --- Senior UX & Mobile Fixes --- */
:root {
    --blue-900: #1e3a8a;
    --blue-600: #2563eb;
    --green-400: #4ade80;
}

body {
    font-family: 'Verdana', Geneva, sans-serif; /* High readability for seniors */
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* High Contrast Focus Ring for Accessibility */
.focus-ring:focus-visible {
    outline: 6px solid #fbbf24; /* Amber-400 */
    outline-offset: 4px;
}

/* Input Styles */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}

/* --- MOBILE OVERFLOW FIX (The "Zero" Issue) --- */
#out-savings {
    word-wrap: break-word;
    word-break: break-all;
    overflow-wrap: anywhere;
    max-width: 100%;
    display: block;
    line-height: 1.1;
    hyphens: none;
}

/* --- Print Settings for CPA Support --- */
@media print {
    nav, footer, .rate-btn, button, .mb-10, header p, .flex, #seniors-box {
        display: none !important;
    }
    body { background: white !important; padding: 0 !important; }
    #results-area {
        background: white !important;
        color: black !important;
        border: 4px solid #000;
        margin-top: 50px;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
    #out-savings { color: #166534 !important; font-size: 56px !important; }
    #results-area::before {
        content: "Senior6000.com | 2026 Tax Estimate";
        display: block;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        border-bottom: 2px solid #000;
        margin-bottom: 20px;
    }
}