/* --- 頁面專屬變數（基礎變數在 base.css） --- */
:root {
            --bg-color: #f8f9fa;
            --card-bg: #ffffff;
            --text-main: #212529;
            --border-color: #e9ecef;
            --card-shadow: 0 4px 12px rgba(0,0,0,0.04);
            --hover-shadow: 0 8px 24px rgba(255, 111, 0, 0.12);
        }

        body {
            background-color: var(--bg-color);
            color: var(--text-main);
        }

        .contact-wrapper {
            display: flex;
            justify-content: center;
            padding: 2rem 1rem;
        }

        .contact-container {
            width: 100%;
            max-width: 600px;
            display: flex;
            flex-direction: column;
            gap: 2.5rem;
        }

        /* --- 頂部標題區 --- */
        .header-section {
            text-align: center;
            animation: fadeSlideUp .6s ease forwards;
            opacity: 0;
        }

        @keyframes fadeSlideUp {
            from { opacity: 0; transform: translateY(24px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        .title {
            font-size: 2.5rem;
            font-weight: 800;
            letter-spacing: 2px;
            margin-bottom: 1rem;
            color: var(--text-main);
        }

        .title .highlight {
            color: var(--primary-orange);
        }

        .subtitle {
            font-size: 1.15rem;
            line-height: 1.6;
            color: #333;
            max-width: 90%;
            margin: 0 auto;
        }

        /* --- 聯絡方式卡片區 --- */
        .contact-cards {
            display: flex;
            flex-direction: column;
            gap: 1.2rem;
        }

        .contact-card {
            display: flex;
            align-items: center;
            background-color: var(--card-bg);
            padding: 1.5rem 1.8rem;
            border-radius: 1.2rem;
            text-decoration: none;
            color: inherit;
            box-shadow: var(--card-shadow);
            border: 1px solid var(--border-color);
            transition: all 0.3s ease;
            opacity: 0;
            animation: fadeSlideUp .5s ease forwards;
        }
        .contact-card:nth-child(1) { animation-delay: .15s; }
        .contact-card:nth-child(2) { animation-delay: .25s; }
        .contact-card:nth-child(3) { animation-delay: .35s; }
        .contact-card:nth-child(4) { animation-delay: .45s; }

        .contact-card:hover, .contact-card:active {
            transform: translateY(-6px);
            box-shadow: var(--hover-shadow);
            border-color: rgba(255, 111, 0, 0.3);
        }
        .contact-card:hover .icon-wrapper {
            transform: scale(1.1);
            background-color: rgba(255, 111, 0, 0.18);
        }
        .icon-wrapper {
            transition: transform .3s ease, background-color .3s ease;
        }

        .icon-wrapper {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 4rem;
            height: 4rem;
            background-color: rgba(255, 111, 0, 0.1);
            border-radius: 50%;
            color: var(--primary-orange);
            margin-right: 1.5rem;
            flex-shrink: 0;
        }

        .icon-wrapper svg {
            width: 2rem;
            height: 2rem;
        }

        .card-content {
            display: flex;
            flex-direction: column;
            gap: 0.3rem;
        }

        .card-label {
            font-size: 1.4rem;
            font-weight: 600;
            color: var(--text-muted);
        }

        .card-number {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--text-main);
            letter-spacing: 1px;
            white-space: nowrap;
        }

        /* --- 社交媒體區 --- */
        .social-section {
            display: flex;
            justify-content: center;
            gap: 2rem;
            opacity: 0;
            animation: fadeSlideUp .5s ease .55s forwards;
        }

        .social-link {
            color: var(--text-muted);
            transition: color 0.3s ease, transform 0.2s ease;
        }

        .social-link:hover {
            color: var(--primary-orange);
            transform: scale(1.1);
        }

        .social-link svg {
            width: 2.5rem;
            height: 2.5rem;
        }

        /* --- 地址卡片 --- */
        .address-card {
            display: flex;
            align-items: flex-start;
            background-color: var(--card-bg);
            padding: 1.5rem 1.8rem;
            border-radius: 1.2rem;
            text-decoration: none;
            color: inherit;
            box-shadow: var(--card-shadow);
            border: 1px solid var(--border-color);
            transition: all 0.3s ease;
        }

        .address-card:hover, .address-card:active {
            transform: translateY(-6px);
            box-shadow: var(--hover-shadow);
            border-color: rgba(255, 111, 0, 0.3);
        }
        .address-card:hover .icon-wrapper {
            transform: scale(1.1);
            background-color: rgba(255, 111, 0, 0.18);
        }
        .address-card .icon-wrapper {
            transition: transform .3s ease, background-color .3s ease;
        }

        .card-address {
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--text-main);
            line-height: 1.5;
        }

        .card-nav-hint {
            font-size: 1rem;
            font-weight: 500;
            color: var(--primary-orange);
            margin-top: 0.4rem;
        }

        /* --- 底部下載按鈕 --- */
        .download-section {
            margin-top: 1rem;
            opacity: 0;
            animation: fadeSlideUp .5s ease .65s forwards;
        }

        .download-btn {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0.8rem;
            width: 100%;
            padding: 1.4rem;
            font-size: 1.4rem;
            font-weight: 700;
            color: white;
            background-color: var(--primary-orange);
            border: none;
            border-radius: 1rem;
            text-decoration: none;
            box-shadow: 0 4px 15px rgba(255, 111, 0, 0.3);
            transition: background-color 0.3s, transform 0.2s;
            cursor: pointer;
            position: relative;
            overflow: hidden;
        }

        /* 光掃效果 */
        .download-btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 60%;
            height: 100%;
            background: linear-gradient(
                90deg,
                transparent 0%,
                rgba(255, 255, 255, 0.15) 40%,
                rgba(255, 255, 255, 0.4) 50%,
                rgba(255, 255, 255, 0.15) 60%,
                transparent 100%
            );
            transform: skewX(-20deg);
            animation: shine 3s ease-in-out infinite;
        }

        @keyframes shine {
            0% { left: -100%; }
            60% { left: 150%; }
            100% { left: 150%; }
        }

        .download-btn:hover, .download-btn:active {
            background-color: var(--primary-dark);
            transform: translateY(-2px);
        }

        .download-btn:hover::before {
            animation-duration: 1.5s;
        }

        .download-btn svg {
            width: 1.6rem;
            height: 1.6rem;
            position: relative;
            z-index: 1;
        }

/* ==========================================================================
   PC 桌面端 (≥1024px)
   ========================================================================== */
@media (min-width: 1024px) {
    body { background: #fff; }

    .contact-wrapper {
        padding: 0 40px 4rem;
    }
    .contact-container {
        max-width: 1200px;
        margin-top: 0;
        gap: 3rem;
    }
    .header-section {
        padding-top: 80px;
    }
    .title {
        font-size: 3.8rem;
    }
    .subtitle {
        font-size: 1.3rem;
        max-width: 60%;
    }
    .contact-cards {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
    }
    .contact-card, .address-card {
        padding: 2rem 2.2rem;
        border-radius: 1.5rem;
        box-shadow: 0 12px 32px rgba(0,0,0,0.05);
    }
    .icon-wrapper {
        width: 4.5rem;
        height: 4.5rem;
    }
    .card-number {
        font-size: 2rem;
    }
    .social-link svg {
        width: 3rem;
        height: 3rem;
    }
    .download-btn {
        max-width: 560px;
        margin: 0 auto;
        font-size: 1.5rem;
        padding: 1.6rem;
        border-radius: 1.2rem;
    }
    .site-footer { margin-top: 0; }
}