/* === 全局移动端优化 === */
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
table { max-width: 100%; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.container, .wrapper, .content, .main, section, article { max-width: 100% !important; width: 100% !important; }
@media (max-width: 768px) {
    html { font-size: 14px; }
    body { overflow-x: hidden; }
    h1 { font-size: 1.6rem !important; line-height: 1.3 !important; }
    h2 { font-size: 1.4rem !important; line-height: 1.3 !important; }
    h3 { font-size: 1.2rem !important; }
    .card, .cards, .grid, .grid-2, .grid-3, .grid-4, .features, .feature-grid {
        grid-template-columns: 1fr !important; flex-direction: column !important;
    }
    .container, .wrapper, .content { padding: 15px !important; }
    .btn, button, input[type="submit"] { width: 100%; padding: 12px 20px !important; font-size: 15px !important; }
    input, select, textarea { font-size: 16px !important; max-width: 100%; }
    table { font-size: 13px; }
    th, td { padding: 8px 6px !important; }
}
@media (max-width: 480px) {
    html { font-size: 13px; }
    h1 { font-size: 1.4rem !important; }
    h2 { font-size: 1.25rem !important; }
}
