/* ===========================================
   响应式设计
   Responsive Design for All Devices
   =========================================== */

/* 平板设备 */
@media (max-width: 992px) {
    /* 导航栏 */
    .navbar-toggle {
        display: flex;
    }
    
    .navbar-menu {
        position: fixed;
        top: 75px;
        left: 0;
        right: 0;
        background: var(--bg-white);
        flex-direction: column;
        align-items: center;
        padding: 30px 20px;
        gap: 20px;
        box-shadow: var(--shadow-lg);
        transform: translateY(-150%);
        transition: transform 0.3s ease;
    }
    
    .navbar-menu.active {
        transform: translateY(0);
    }
    
    .navbar-menu a {
        font-size: 1.2rem;
    }
    
    /* Hero */
    .hero-title {
        font-size: 2.8rem;
    }
    
    .hero-subtitle {
        font-size: 1.3rem;
    }
    
    /* 轮播导航 */
    .gallery-prev {
        left: 10px;
    }
    
    .gallery-next {
        right: 10px;
    }
    
    /* 公司简介 */
    .about-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    /* 联系我们 */
    .contact-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    /* 资质认证 */
    .cert-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* 移动设备 */
@media (max-width: 768px) {
    /* 通用 */
    .container {
        padding: 0 15px;
    }
    
    .section-header h2 {
        font-size: 2rem;
    }
    
    .section-header p {
        font-size: 1rem;
    }
    
    /* Hero */
    .hero {
        padding-top: 70px;
        min-height: auto;
        padding-bottom: 60px;
    }
    
    .hero-title {
        font-size: 2.2rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
        margin-bottom: 30px;
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .hero-buttons .btn {
        width: 100%;
        max-width: 280px;
    }
    
    .hero-contact p {
        font-size: 1rem;
    }
    
    /* 优势展示 */
    .features {
        padding: 60px 0;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .feature-card {
        padding: 30px 20px;
    }
    
    /* 轮播 */
    .gallery {
        padding: 60px 0;
    }
    
    .gallery-item img {
        height: 350px;
    }
    
    .gallery-nav {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }
    
    .gallery-caption h3 {
        font-size: 1.2rem;
    }
    
    /* 公司简介 */
    .about {
        padding: 60px 0;
    }
    
    .about-badge {
        flex-direction: column;
        text-align: center;
        padding: 15px;
    }
    
    .badge-year {
        font-size: 2rem;
    }
    
    .badge-text {
        font-size: 1rem;
    }
    
    .lead {
        font-size: 1.1rem;
    }
    
    /* 产品展示 */
    .products {
        padding: 60px 0;
    }
    
    .products-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .product-image img {
        height: 200px;
    }
    
    /* 合作商家 */
    .partners {
        padding: 60px 0;
    }
    
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .partner-card img {
        height: 140px;
    }
    
    .partner-card h3 {
        font-size: 0.95rem;
    }
    
    /* 资质认证 */
    .certifications {
        padding: 60px 0;
    }
    
    .cert-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .cert-highlight {
        flex-direction: column;
        text-align: center;
        padding: 15px;
    }
    
    .cert-highlight i {
        font-size: 1.8rem;
    }
    
    .cert-highlight span {
        font-size: 1.1rem;
    }
    
    /* 联系我们 */
    .contact {
        padding: 60px 0;
    }
    
    .contact-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .contact-item {
        padding: 20px;
    }
    
    .contact-icon {
        width: 50px;
        height: 50px;
        font-size: 1.3rem;
    }
    
    .contact-details h4 {
        font-size: 1rem;
    }
    
    .phone-number {
        font-size: 1.3rem;
    }
    
    /* 页脚 */
    .footer-main {
        padding: 40px 0;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }
    
    .footer-brand h3 {
        font-size: 1.5rem;
    }
    
    .footer-links,
    .footer-contact {
        text-align: center;
    }
    
    /* 回到顶部 */
    .back-to-top {
        width: 45px;
        height: 45px;
        bottom: 20px;
        right: 20px;
        font-size: 1rem;
    }
}

/* 小屏幕手机 */
@media (max-width: 480px) {
    /* 导航 */
    .navbar-brand .logo {
        font-size: 1.2rem;
    }
    
    .logo-icon {
        width: 40px;
        height: 40px;
        font-size: 1.1rem;
    }
    
    /* Hero */
    .hero-title {
        font-size: 1.8rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    .hero-buttons .btn {
        padding: 12px 24px;
        font-size: 0.95rem;
    }
    
    /* Section Headers */
    .section-header {
        margin-bottom: 40px;
    }
    
    .section-header h2 {
        font-size: 1.7rem;
    }
    
    /* 特性卡片 */
    .feature-card {
        padding: 25px 20px;
    }
    
    .feature-icon {
        width: 65px;
        height: 65px;
        font-size: 1.6rem;
    }
    
    .feature-card h3 {
        font-size: 1.2rem;
    }
    
    /* 轮播 */
    .gallery-item img {
        height: 280px;
    }
    
    .gallery-caption {
        padding: 20px;
    }
    
    .gallery-caption h3 {
        font-size: 1rem;
    }
    
    .gallery-caption p {
        font-size: 0.9rem;
    }
    
    /* 产品 */
    .product-info {
        padding: 20px;
    }
    
    .product-info h3 {
        font-size: 1.2rem;
    }
    
    /* 合作商家 */
    .partners-grid {
        grid-template-columns: 1fr;
    }
    
    .partner-card {
        padding: 15px;
    }
    
    .partner-card img {
        height: 180px;
    }
    
    /* 联系 */
    .contact-item {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .contact-icon {
        width: 55px;
        height: 55px;
    }
}

/* 超大屏幕 */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
    
    .hero-title {
        font-size: 4rem;
    }
    
    .hero-subtitle {
        font-size: 1.7rem;
    }
    
    .section-header h2 {
        font-size: 2.8rem;
    }
    
    .features-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .products-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .partners-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 横屏模式 */
@media (max-width: 768px) and (orientation: landscape) {
    .hero {
        padding-top: 60px;
        min-height: auto;
        padding-bottom: 40px;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .features {
        padding: 40px 0;
    }
    
    .gallery-item img {
        height: 300px;
    }
}

/* 高分辨率屏幕优化 */
@media (-webkit-min-device-pixel-ratio: 2),
       (min-resolution: 192dpi) {
    .feature-icon,
    .contact-icon {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

/* 减少动画 - 针对偏好减少动画的用户 */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .fade-in,
    .fade-in-delay,
    .fade-in-delay-2,
    .fade-in-delay-3 {
        opacity: 1;
        transform: none;
    }
}

/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
    /* 可以在这里添加深色模式特定样式 */
    /* 目前保持浅色主题，因为企业网站通常使用明亮色调 */
}

/* 打印优化 */
@media print {
    .navbar,
    .back-to-top,
    .gallery-nav,
    .gallery-dots {
        display: none;
    }
    
    .hero-bg {
        background: none;
    }
    
    .feature-card,
    .product-card,
    .partner-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ddd;
    }
    
    .contact-item {
        break-inside: avoid;
    }
}
