/* ----------------------------------------------------
    全域設定 
---------------------------------------------------- */
:root {
    /* =========================================
       				模組共用標準
       ========================================= */

    /* --- 品牌色票 (Brand Palette) --- */
    --color-brown:			#40220f;
    --color-gold:     		#ffd700; /* 金色 */
    --color-brown-light:    #6a3906;

    /* --- 中性色票 (Neutrals) --- */
    --color-white:          #ffffff;
    --color-black:          #000000;
    --color-dark-blue:      #0f172a; /* 暗夜藍 */
    --color-cream:        	#fffdf5; /* 奶油白 */
    
    /* --- 文字色票 (Text color) --- */
    --color-text-main:      #2c241b; /* 黑棕 */
    --color-text-sub:       #5d554a; /* 灰棕 */

    /* --- 系統介面 (UI System) --- */
    --radius-sm:            0.5rem;
    --radius-md:            1rem;
    --radius-lg:            2rem;

    /* --- 動畫物理 (Motion Physics) --- */
    --ease-brand:           cubic-bezier(.25, .46, .45, .94); 
    --duration-fast:        0.2s;
    --duration-normal:      0.4s;
    --duration-slow:        0.6s;
    
    /* 標準過渡效果 */
    --transition-base:      all var(--duration-normal) var(--ease-brand);
}

*, *::before, *::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

img, video, iframe, canvas {
    display: block;
    height: auto;
    max-width: 100%;
}

body {
    margin: 0;
    font-family: "Roboto", "Helvetica Neue", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
                 "PingFang TC", "Microsoft JhengHei", Oxygen, Ubuntu, Cantarell, "Open Sans", sans-serif;
                 
    color: var(--color-text-main);
    background: var(--color-cream);
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition-base);
}

/* 內容容器 */
.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* ----------------------------------------------------
   Hero Section (主視覺區)
---------------------------------------------------- */
.hero-section {
    width: 100%;
    position: relative; /* 關鍵：讓按鈕以這層為基準定位 */
    overflow: hidden;
    background-color: var(--color-bg-body);
}

.hero-img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 700 / 281;
    content-visibility: auto;
}

/* --- 返回按鈕樣式 --- */
.back-btn {
    position: absolute;
    top: 1.875rem;
    left: 1.875rem;
    color: white;
    text-decoration: none;
    font-size: 1rem;
    border: 1px solid rgba(255,255,255,0.3);
    padding: 10px 20px;
    border-radius: 30px;
    transition: 0.3s;
    z-index: 200;
    background-color: rgba(5, 5, 5, 0.8); /* 稍微帶點透明度質感較佳 */
}

/* --- 地圖導覽按鈕樣式 --- */
.btn-primary {
    background: var(--color-brown);
    color: var(--color-gold);
    padding: 1rem 2.5rem;
    border-radius: 50px;
    font-weight: 600;
    position: absolute;
    bottom: 1.875rem;
    right: 1.875rem;
    transition: all 0.3s ease;
    z-index: 201;
    text-decoration: none; /* 移除超連結底線 */
}

/* --- 響應式調整 --- */
@media (max-width: 48rem) {

    .back-btn {
        top: 1rem;
        left: 1rem;
        font-size: 0.8rem;
        padding: 8px 15px;
    }
    
    .btn-primary {
        bottom: 1rem;
        right: 1rem;
        padding: 0.8rem 1.5rem;
        font-size: 0.9rem;
    }

    .hero-img {
        min-height: 300px; 
        object-fit: cover;
    }
}

/* ----------------------------------------------------
   Info Card (資訊卡片)
---------------------------------------------------- */
.location-section {
	padding-top: 3rem;
}

.info-card {
    background: var(--color-white);
    padding: 2.5rem;
    border-radius: var(--radius-md);
    box-shadow: 0 15px 45px rgba(64, 34, 15, 0.08);
    border-top: 5px solid var(--color-gold);
}

.section-subtitle {
    color: var(--color-brown);
    font-size: 1.75rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #eee;
    padding-bottom: 1rem;
}

.badge {
    background: var(--color-brown);
    color: var(--color-gold);
    padding: 0.2rem 0.8rem;
    border-radius: 4px;
    font-size: 0.85rem;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.transport-method {
    margin-bottom: 2rem;
}

.transport-method h3 {
    font-size: 1.25rem;
    color: var(--color-brown-light);
    margin-bottom: 0.5rem;
}

.transport-method p {
    line-height: 1.7;
    color: var(--color-text-sub);
}

.highlight {
    color: #d32f2f; /* 客運編號強調 */
    font-size: 1.2rem;
}

.tips-box {
    background: #fff9e6;
    padding: 1rem 1.5rem;
    border-left: 4px solid var(--color-gold);
    margin-top: 2rem;
}

/* 地圖區塊 */
.map-container {
    margin-top: 3rem;
    text-align: center;
}

/* 響應式 */
@media (max-width: 48rem) {

    .info-card {
        padding: 1.5rem;
    }
}

