/**
 * Responsive Design - RWD
 * 響應式設計
 */

/* ================================
   平板與以下 (< 1024px)
   ================================ */
@media (max-width: 1024px) {
    :root {
        --text-6xl: 3rem;
        --text-5xl: 2.5rem;
        --text-4xl: 2rem;
        --text-3xl: 1.75rem;
        --space-4xl: 4rem;
    }

    .container {
        padding: 0 var(--space-lg);
    }

    .grid-2, .grid-3, .grid-4 {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
}

/* ================================
   手機橫向與以下 (< 768px)
   ================================ */
@media (max-width: 768px) {
    :root {
        --text-6xl: 2.5rem;
        --text-5xl: 2rem;
        --text-4xl: 1.75rem;
        --text-3xl: 1.5rem;
        --text-2xl: 1.25rem;
        --space-3xl: 2.5rem;
        --space-4xl: 3rem;
    }

    body {
        font-size: var(--text-sm);
    }

    .container {
        padding: 0 var(--space-md);
    }

    /* 導航欄手機版 */
    .nav-container {
        flex-direction: column;
        gap: var(--space-lg);
        padding: var(--space-md);
    }

    .nav-menu {
        flex-direction: column;
        gap: var(--space-md);
        width: 100%;
    }

    .nav-menu li {
        width: 100%;
    }

    .nav-menu li a {
        display: block;
        text-align: center;
        padding: var(--space-md);
        border: 1px solid var(--ancient-brown);
        background: var(--paper-light);
    }

    /* 英雄區 */
    .hero {
        padding: var(--space-3xl) 0;
    }

    .hero-title {
        font-size: var(--text-4xl);
    }

    .hero-subtitle {
        font-size: var(--text-xl);
    }

    .hero-description {
        font-size: var(--text-base);
    }

    .hero-seal {
        width: 60px;
        height: 60px;
        font-size: var(--text-2xl);
    }

    /* 區塊 */
    .section {
        padding: var(--space-3xl) 0;
    }

    .section-title {
        font-size: var(--text-3xl);
        padding: 0 var(--space-lg);
    }

    .section-title::before,
    .section-title::after {
        font-size: var(--text-2xl);
    }

    /* 網格 */
    .grid-2, .grid-3, .grid-4 {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    /* 卡片 */
    .card {
        padding: var(--space-lg);
    }

    /* 按鈕 */
    .btn {
        display: block;
        width: 100%;
        margin-bottom: var(--space-md);
    }
}

/* ================================
   手機直向 (< 480px)
   ================================ */
@media (max-width: 480px) {
    :root {
        --text-6xl: 2rem;
        --text-5xl: 1.75rem;
        --text-4xl: 1.5rem;
        --text-3xl: 1.25rem;
        --space-2xl: 2rem;
        --space-3xl: 2rem;
        --space-4xl: 2.5rem;
    }

    .nav-brand {
        font-size: var(--text-xl);
    }

    .nav-brand .icon {
        width: 36px;
        height: 36px;
        font-size: var(--text-lg);
    }

    .hero-seal {
        width: 50px;
        height: 50px;
        font-size: var(--text-xl);
    }

    .section-title {
        font-size: var(--text-2xl);
    }

    .card-title {
        font-size: var(--text-xl);
    }

    .seal {
        width: 50px;
        height: 50px;
        font-size: var(--text-lg);
    }
}

/* ================================
   印刷樣式
   ================================ */
@media print {
    .navbar,
    .nav-menu,
    .btn,
    .footer {
        display: none !important;
    }

    body {
        background: white;
        color: black;
    }

    .hero,
    .section {
        page-break-inside: avoid;
    }

    .card {
        border: 1px solid #000;
        box-shadow: none;
    }
}
