/* ========================================
   昕荧科技官网 - 响应式样式
   ======================================== */

/* ===== Large Desktop (1200px+) ===== */
@media (max-width: 1200px) {
    .container {
        max-width: 960px;
    }

    .stats-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }

    .stat-item {
        margin-bottom: 20px;
    }
}

/* ===== Tablet (768px - 1024px) ===== */
@media (max-width: 1024px) {
    .container {
        max-width: 720px;
    }

    /* Nav */
    .nav-menu {
        display: none;
        position: absolute;
        top: 75px;
        left: 0;
        right: 0;
        background: #fff;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1);
        padding: 20px;
    }

    .nav-menu.active {
        display: block;
    }

    .nav-menu ul {
        flex-direction: column;
        gap: 0;
    }

    .nav-menu a {
        padding: 14px 20px;
        border-radius: 8px;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    /* Banner */
    .banner-section {
        height: 450px;
    }

    .banner-content h1 {
        font-size: 38px;
    }

    .banner-content p {
        font-size: 17px;
    }

    /* Grids */
    .advantages-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .honors-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .news-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .culture-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .competence-grid {
        grid-template-columns: 1fr;
    }

    .tech-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .test-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .assembly-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cert-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .qm-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .smart-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .partner-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .supplier-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cooperation-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .capability-overview {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-overview {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* About */
    .about-intro {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .mes-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .office-grid {
        grid-template-columns: 1fr;
    }

    /* Process Flow */
    .process-flow {
        gap: 8px;
    }

    .process-step {
        min-width: 100px;
        padding: 15px 10px;
    }

    .process-arrow {
        font-size: 18px;
    }

    /* News list */
    .news-item {
        flex-direction: column;
    }

    .news-thumb {
        width: 100% !important;
        min-height: 160px !important;
    }

    .news-date {
        width: 100% !important;
        flex-direction: row !important;
        gap: 10px;
        padding: 10px 20px !important;
    }

    /* Product detail */
    .product-detail-item {
        flex-direction: column;
        gap: 20px;
    }

    .product-detail-icon {
        width: 80px;
        height: 80px;
        font-size: 36px;
    }

    /* Form */
    .form-row {
        grid-template-columns: 1fr;
    }

    /* Coop flow */
    .coop-flow {
        gap: 10px;
    }

    .coop-step {
        min-width: 110px;
        padding: 20px 12px;
    }
}

/* ===== Mobile (up to 767px) ===== */
@media (max-width: 767px) {
    .container {
        padding: 0 15px;
    }

    /* Top bar */
    .top-bar {
        font-size: 11px;
        padding: 6px 0;
    }

    .top-bar .container {
        flex-direction: column;
        gap: 4px;
        text-align: center;
    }

    /* Header */
    .header .container {
        height: 60px;
    }

    .logo-text {
        font-size: 18px;
    }

    .logo-sub {
        font-size: 11px;
    }

    /* Page header */
    .page-header {
        padding: 50px 0 40px;
    }

    .page-header h1 {
        font-size: 28px;
    }

    .page-header p {
        font-size: 14px;
    }

    /* Section */
    .section {
        padding: 50px 0;
    }

    .section-header {
        margin-bottom: 35px;
    }

    .section-header h2 {
        font-size: 26px;
    }

    /* Banner */
    .banner-section {
        height: 380px;
    }

    .banner-content h1 {
        font-size: 28px;
    }

    .banner-content p {
        font-size: 15px;
    }

    .banner-content .btn {
        margin: 5px;
        padding: 12px 24px;
        font-size: 14px;
    }

    /* All grids -> 1 column */
    .advantages-grid,
    .product-grid,
    .honors-grid,
    .trust-grid,
    .news-grid,
    .culture-grid,
    .tech-grid,
    .test-grid,
    .assembly-grid,
    .cert-grid,
    .qm-grid,
    .smart-grid,
    .partner-grid,
    .supplier-grid,
    .cooperation-grid,
    .service-grid,
    .capability-overview,
    .contact-overview {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .stat-number {
        font-size: 36px;
    }

    /* Timeline */
    .timeline {
        padding-left: 25px;
    }

    .timeline::before {
        left: 8px;
    }

    .timeline-item::before {
        left: -20px;
        width: 12px;
        height: 12px;
    }

    /* Process flow */
    .process-flow {
        flex-direction: column;
        align-items: stretch;
    }

    .process-arrow {
        transform: rotate(90deg);
        text-align: center;
    }

    /* Coop flow */
    .coop-flow {
        flex-direction: column;
    }

    /* Table */
    .capability-table {
        min-width: 100%;
        font-size: 12px;
    }

    .capability-table th,
    .capability-table td {
        padding: 10px 12px;
    }

    /* CTA */
    .cta-content h2 {
        font-size: 24px;
    }

    .cta-content p {
        font-size: 15px;
    }

    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-col {
        text-align: center;
    }

    .footer-certifications {
        justify-content: center;
    }

    .contact-info {
        text-align: left;
        display: inline-block;
    }

    /* News filter */
    .news-filter {
        gap: 8px;
    }

    .filter-btn {
        padding: 8px 18px;
        font-size: 13px;
    }

    /* Pagination */
    .pagination {
        gap: 6px;
    }

    .page-btn {
        width: 36px;
        height: 36px;
        font-size: 13px;
    }

    /* Back to top */
    .back-to-top {
        width: 42px;
        height: 42px;
        font-size: 18px;
        bottom: 20px;
        right: 20px;
    }

    /* Contact form */
    .contact-form-wrapper {
        padding: 25px 20px;
    }

    .form-actions {
        flex-direction: column;
    }

    /* About highlights */
    .about-highlights {
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
    }

    /* Policy */
    .policy-text {
        gap: 15px;
    }

    .policy-item {
        padding: 10px 24px;
        font-size: 16px;
    }

    /* Product tags */
    .product-tags {
        gap: 6px;
    }

    .product-tags span {
        font-size: 12px;
        padding: 3px 10px;
    }

    /* Competence cards */
    .competence-card {
        padding: 25px 20px;
    }

    /* News item */
    .news-body {
        padding: 15px 20px !important;
    }

    .news-body h3 {
        font-size: 16px !important;
    }
}

/* ===== Small Mobile (up to 480px) ===== */
@media (max-width: 480px) {
    .banner-section {
        height: 320px;
    }

    .banner-content h1 {
        font-size: 24px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-item {
        margin-bottom: 15px;
    }

    .section-header h2 {
        font-size: 22px;
    }

    .page-header h1 {
        font-size: 24px;
    }

    .product-detail-item {
        padding: 20px;
    }

    .timeline-item {
        padding: 20px;
    }

    .competence-card {
        padding: 20px 18px;
    }

    .cap-card,
    .test-card,
    .assembly-card,
    .cert-card,
    .qm-card,
    .smart-card,
    .partner-card,
    .supplier-card,
    .coop-card,
    .service-card,
    .culture-card,
    .tech-card,
    .trust-item,
    .contact-card,
    .honor-card,
    .advantage-card {
        padding: 25px 18px;
    }
}
