/* 响应式设计 */

/* 平板设备 */
@media (max-width: 1024px) {
    .container {
        max-width: 100%;
        padding: 0 var(--spacing-sm);
    }
    
    .calculator-layout {
        grid-template-columns: 1fr;
    }
    
    .calculator-result {
        position: static;
    }
    
    .footer-content {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .calculator-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 移动设备 */
@media (max-width: 768px) {
    :root {
        --spacing-lg: 24px;
        --spacing-xl: 32px;
    }
    
    body {
        font-size: 15px;
    }
    
    /* 页头 */
    .header-content {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
    
    .logo h1 {
        font-size: 20px;
    }
    
    /* 导航 */
    .main-nav {
        width: 100%;
    }
    
    .main-nav .nav-toggle {
        display: flex;
        position: absolute;
        right: var(--spacing-sm);
        top: 20px;
        z-index: 100;
    }
    
    .nav-menu {
        display: none;
        flex-direction: column;
        width: 100%;
        gap: 0;
        background: var(--white);
        border-radius: var(--border-radius);
        box-shadow: var(--box-shadow);
        padding: var(--spacing-sm);
        margin-top: var(--spacing-sm);
    }
    
    .nav-menu.active {
        display: flex;
    }
    
    .nav-menu li {
        width: 100%;
    }
    
    .nav-menu a {
        display: block;
        padding: 12px;
        border-radius: 6px;
    }
    
    /* 主内容 */
    .main-content {
        padding: var(--spacing-md) 0;
    }
    
    /* 网格 */
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }
    
    .calculator-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* 卡片 */
    .card {
        padding: var(--spacing-sm);
    }
    
    .card-header h2 {
        font-size: 18px;
    }
    
    /* 计算器 */
    .calculator-input,
    .calculator-result {
        padding: var(--spacing-sm);
    }
    
    .result-summary {
        padding: var(--spacing-sm);
    }
    
    .result-value {
        font-size: 18px;
    }
    
    .result-value.large {
        font-size: 24px;
    }
    
    /* 表格 */
    .table {
        font-size: 13px;
    }
    
    .table th,
    .table td {
        padding: 8px 6px;
    }
    
    /* 滚动表格 */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .table-responsive table {
        min-width: 600px;
    }
    
    /* 选项卡 */
    .tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .tab-button {
        white-space: nowrap;
        min-width: 100px;
    }
    
    /* 对比 */
    .comparison {
        grid-template-columns: 1fr;
    }
    
    /* 页脚 */
    .footer-content {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }
    
    .footer-section {
        text-align: center;
    }
    
    .footer-section ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }
    
    .footer-section li {
        margin-bottom: 0;
    }
    
    /* 单选按钮组 */
    .radio-group {
        flex-direction: column;
    }
    
    /* 输入组 */
    .input-group {
        flex-direction: column;
        align-items: stretch;
    }
    
    .input-addon {
        width: 100%;
        justify-content: center;
    }
}

/* 小屏移动设备 */
@media (max-width: 480px) {
    :root {
        --spacing-md: 16px;
        --spacing-lg: 20px;
        --spacing-xl: 24px;
    }
    
    .logo h1 {
        font-size: 18px;
    }
    
    .calculator-item h3 {
        font-size: 16px;
    }
    
    .btn {
        padding: 10px 16px;
        font-size: 15px;
    }
    
    .form-label {
        font-size: 13px;
    }
    
    .form-input,
    .form-select {
        font-size: 15px;
    }
}

/* 打印样式 */
@media print {
    .site-header,
    .site-footer,
    .breadcrumb,
    .calculator-input,
    .btn,
    .nav-menu {
        display: none;
    }
    
    .main-content {
        padding: 0;
    }
    
    .calculator-result {
        position: static;
        box-shadow: none;
    }
    
    .card {
        box-shadow: none;
        border: 1px solid var(--border-color);
    }
    
    body {
        background: white;
    }
}

/* 高对比度模式 */
@media (prefers-contrast: high) {
    :root {
        --border-color: #000;
        --text-secondary: #333;
    }
    
    .btn-primary {
        border: 2px solid #000;
    }
    
    .card {
        border: 2px solid var(--border-color);
    }
}

/* 深色模式支持（可选） */
@media (prefers-color-scheme: dark) {
    /* 如果需要深色模式，可以在这里添加样式 */
}

/* 横屏平板 */
@media (min-width: 769px) and (max-width: 1024px) and (orientation: landscape) {
    .calculator-layout {
        grid-template-columns: 1fr 1fr;
    }
}

/* 大屏幕优化 */
@media (min-width: 1440px) {
    .container {
        max-width: 1280px;
    }
    
    .calculator-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* 触摸设备优化 */
@media (hover: none) and (pointer: coarse) {
    .btn,
    .form-input,
    .form-select {
        min-height: 48px;
    }
    
    .nav-menu a {
        min-height: 48px;
        display: flex;
        align-items: center;
    }
    
    .tab-button {
        min-height: 48px;
    }
}
