/* 55+ Accessibility - Optimized for All Platforms */

/* Desktop: Standard readable sizes */
html {
    font-size: 16px;
    touch-action: manipulation;
}

body {
    font-size: 1rem !important; /* 16px */
    line-height: 1.6 !important;
}

/* Desktop headers - readable but not oversized */
h1 {
    font-size: 1.875rem !important; /* 30px */
}

h2 {
    font-size: 1.5rem !important; /* 24px */
}

h3 {
    font-size: 1.25rem !important; /* 20px */
}

p, .hero-subtitle, .pricing-text {
    font-size: 1rem !important; /* 16px */
    line-height: 1.6 !important;
}

/* Touch-friendly buttons */
button, .button, a.button {
    min-height: 44px !important;
    padding: 0.75rem 1.25rem !important;
    font-size: 0.9375rem !important; /* 15px */
}

/* High contrast text */
.hero-subtitle, .pricing-text {
    color: #333 !important;
}

/* Clear form inputs */
.form-input, .form-select, .form-textarea {
    padding: 0.75rem !important;
    border-width: 2px !important;
    font-size: 1rem !important; /* 16px - prevents iOS zoom */
}

.form-label {
    font-weight: 600 !important;
    color: #1a1a1a !important;
    font-size: 0.9375rem !important; /* 15px */
}

/* Mobile: Compact and optimized */
@media (max-width: 768px) {
    html {
        font-size: 14px !important; /* Smaller base */
    }
    
    body {
        font-size: 1rem !important; /* 14px actual */
        line-height: 1.5 !important;
    }
    
    h1, .hero-title {
        font-size: 1.5rem !important; /* 21px */
        line-height: 1.3 !important;
    }
    
    h2 {
        font-size: 1.25rem !important; /* 17.5px */
    }
    
    h3 {
        font-size: 1.125rem !important; /* 15.75px */
    }
    
    p, .hero-subtitle, .pricing-text, .testimonial p {
        font-size: 0.9375rem !important; /* 13px */
        line-height: 1.5 !important;
    }
    
    button, .button, .search-button {
        min-height: 48px !important;
        font-size: 0.9375rem !important; /* 13px */
        padding: 0.75rem 1rem !important;
    }
    
    .form-input, .form-select, .form-textarea {
        font-size: 1rem !important; /* 14px - iOS minimum */
        padding: 0.625rem !important;
    }
    
    .form-label {
        font-size: 0.875rem !important; /* 12.25px */
    }
    
    /* Specific overrides for common elements */
    .logo-text {
        font-size: 1.125rem !important; /* 15.75px */
    }
    
    .token-display {
        font-size: 0.875rem !important; /* 12.25px */
    }
    
    .badge {
        font-size: 0.75rem !important; /* 10.5px */
    }
    
    small {
        font-size: 0.8125rem !important; /* 11.375px */
    }
}

/* Tablet: Medium sizes */
@media (min-width: 769px) and (max-width: 1024px) {
    html {
        font-size: 15px !important;
    }
    
    h1 {
        font-size: 1.75rem !important; /* 26.25px */
    }
    
    h2 {
        font-size: 1.375rem !important; /* 20.625px */
    }
}
