﻿/* 
  峰林牛樟芝 - 響應式樣式表
  行動裝置優先設計
*/

/* 大型桌面 (1400px以上) */
@media (min-width: 1400px) {
    .container {
        max-width: var(--container-2xl);
    }
    
    .footer-content {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* 平板橫向 (1024px-1399px) */
@media (max-width: 1399px) {
    .container {
        max-width: var(--container-xl);
    }
    
    h1 {
        font-size: var(--text-4xl);
    }
    
    h2 {
        font-size: var(--text-3xl);
    }
    
    .footer-content {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* 平板直向 (768px-1023px) */
@media (max-width: 1023px) {
    .container {
        max-width: var(--container-lg);
        padding: 0 var(--space-md);
    }
    
    h1 {
        font-size: var(--text-3xl);
    }
    
    h2 {
        font-size: var(--text-2xl);
    }
    
    h3 {
        font-size: var(--text-xl);
    }
    
    .section {
        padding: var(--space-2xl) 0;
    }
    
    /* 導航列響應式 */
    .menu-toggle {
        display: flex;
    }
    
    .main-nav {
        position: fixed;
        top: 80px;
        left: 0;
        right: 0;
        background-color: var(--white);
        box-shadow: var(--shadow-lg);
        padding: var(--space-lg);
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
        transition: all var(--transition-normal) ease;
    }
    
    .main-nav.active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    
    .nav-list {
        flex-direction: column;
        gap: var(--space-md);
    }
    
    .nav-link {
        display: block;
        padding: var(--space-sm) 0;
        font-size: var(--text-lg);
    }
    
    /* 頁尾響應式 */
    .footer-content {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-xl);
    }
    
    /* 格線響應式 */
    .grid-4,
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 手機 (480px-767px) */
@media (max-width: 767px) {
    .container {
        max-width: var(--container-md);
        padding: 0 var(--space-sm);
    }
    
    html {
        font-size: 15px;
    }
    
    h1 {
        font-size: var(--text-2xl);
    }
    
    h2 {
        font-size: var(--text-xl);
    }
    
    .section {
        padding: var(--space-xl) 0;
    }
    
    .btn-large {
        padding: 0.875rem 1.5rem;
        font-size: var(--text-base);
    }
    
    /* 頁尾響應式 */
    .footer-content {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }
    
    /* 格線響應式 */
    .grid-4,
    .grid-3,
    .grid-2 {
        grid-template-columns: 1fr;
    }
    
    /* 頁頭響應式 */
    .header-container {
        padding: var(--space-sm) 0;
    }
    
    .logo-text {
        font-size: var(--text-xl);
    }
    
    .header-actions {
        gap: var(--space-xs);
    }
    
    .btn {
        padding: 0.5rem 1rem;
        font-size: var(--text-sm);
    }
    
    /* 表格響應式 */
    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* 小型手機 (479px以下) */
@media (max-width: 479px) {
    .container {
        padding: 0 var(--space-sm);
    }
    
    html {
        font-size: 14px;
    }
    
    h1 {
        font-size: var(--text-xl);
    }
    
    .section {
        padding: var(--space-lg) 0;
    }
    
    /* 按鈕堆疊 */
    .cta-buttons-large {
        flex-direction: column;
        gap: var(--space-sm);
    }
    
    .btn-large {
        width: 100%;
        text-align: center;
    }
    
    /* 頁尾底部 */
    .legal-links {
        flex-direction: column;
        gap: var(--space-sm);
    }
    
    /* 隱藏非必要元素 */
    .logo-subtitle {
        display: none;
    }
}

/* 列印樣式 */
@media print {
    .site-header,
    .site-footer,
    .btn,
    .menu-toggle,
    .social-links {
        display: none !important;
    }
    
    .container {
        max-width: 100%;
        padding: 0;
    }
    
    body {
        color: #000;
        background: #fff;
    }
    
    a {
        color: #000;
        text-decoration: underline;
    }
    
    a[href]::after {
        content: " (" attr(href) ")";
    }
    
    .card {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}