﻿.page-header-banner {
    position: relative;
    width: 100%;
    height: 200px;
    background: url("../img/banner.jpg") center center / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}


    .page-header-banner::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.3);
    }

    .page-header-banner h1 {
        position: relative;
        z-index: 1;
    }


.qa-container {
    background-color: #e8f4f5;
    min-height: calc(100vh - 200px);
}

.faq-accordion .card {
    border-left: 4px solid #17a2b8 !important;
    border-radius: 0 !important;
    margin-bottom: 1px;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
}

.faq-accordion .card-header {
    background-color: white;
    border: none;
    padding: 0;
}

.faq-accordion .btn-link {
    width: 100%;
    text-align: left;
    text-decoration: none;
    color: #333;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: none !important;
}

    .faq-accordion .btn-link:hover {
        text-decoration: none;
        background-color: #f8f9fa;
        color: #333;
    }

    .faq-accordion .btn-link:focus {
        text-decoration: none;
        box-shadow: none !important;
        color: #333;
    }

    .faq-accordion .btn-link .q-icon {
        width: 30px;
        height: 30px;
        background-color: #fff;
        border: 2px solid #17a2b8;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #17a2b8;
        font-weight: bold;
        flex-shrink: 0;
    }

    .faq-accordion .btn-link .toggle-icon {
        margin-left: auto;
        color: #17a2b8;
        font-size: 20px;
        flex-shrink: 0;
    }

.faq-accordion .card-body {
    background-color: #f0f9fb;
    padding: 1.5rem;
    border-top: 1px solid #dee2e6;
}

    .faq-accordion .card-body .a-icon {
        width: 30px;
        height: 30px;
        background-color: #17a2b8;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-weight: bold;
        margin-right: 10px;
        flex-shrink: 0;
    }

.download-list-box {
    background-color: white;
    border: 3px solid #17a2b8;
    border-radius: 0;
    padding: 2rem 2.5rem;
    max-width: 900px;
    margin: 0 auto;
}

.download-item {
    padding: 0.8rem 0;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    align-items: center;
    transition: background-color 0.2s;
}

    .download-item:last-child {
        border-bottom: none;
    }

    .download-item:hover {
        background-color: #f8f9fa;
    }

.download-icon {
    width: 32px;
    height: 32px;
    background-color: white;
    border: 2px solid #17a2b8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #17a2b8;
    font-weight: bold;
    flex-shrink: 0;
    margin-right: 1rem;
    font-size: 14px;
}

.download-link {
    color: #17a2b8;
    text-decoration: none;
    flex-grow: 1;
    font-size: 16px;
    transition: color 0.2s;
}

    .download-link:hover {
        color: #138496;
        text-decoration: none;
    }

.way-container {
    background-color: #e8f4f5;
    min-height: calc(100vh - 200px);
    padding: 20px 0;
    margin: 0;
}

.breadcrumb-nav {
    background: none;
    padding: 15px 0;
    font-size: 18px;
    color: #999;
}

    .breadcrumb-nav a {
        color: #999;
        text-decoration: none;
        margin-right: 5px;
    }

        .breadcrumb-nav a:hover {
            color: #17a2b8;
        }

.infobk {
    background: #eafaf9;
    padding: 30px 0;
    min-height: 500px
}

.way-card {
    background: white;
    border: 4px solid #17a2b8;
    border-radius: 8px;
    padding: 40px;
    margin: 20px auto;
    max-width: 900px;
}

.service-card {
    border: 4px solid #17a2b8;
    border-radius: 8px;
    margin: 20px auto;
    max-width: 900px;
}

.ways-card {
    background: white;
    border: 4px solid #17a2b8;
    border-radius: 8px;
    padding: 40px;
}

@media (max-width: 768px) {
    .page-header-banner {
        height: 150px;
    }

    .qa-container {
        min-height: calc(100vh - 150px);
    }

    .faq-accordion .btn-link {
        font-size: 14px;
        padding: 0.8rem 1rem;
    }
}

.f-icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 6px;
    height: 16px;
    border: 1.5px solid #2d91a0;
    border-radius: 999px;
    color: #2d91a0;
    font-weight: bold;
    font-size: 10px;
    text-decoration: none;
    margin-right: 8px;
    line-height: 1;
}

footer {
    background-color: #2D91A0
}


.list-divider li {
    padding: 12px 0;
    border-top: 1px solid #e5e5e5;
}

.way {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/1.jpg');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-1 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/2.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-2 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/3.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-3 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/4.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-4 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/5.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-5 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/6.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-6 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/7.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-7 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/8.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-8 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/9.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-9 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/10.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}

.route-10 {
    width: 100%; /* 撐滿容器寬度（像 img 一樣） */
    height: auto; /* 自動依比例調整 */
    aspect-ratio: 16 / 9; /* 或設定比例，例如 16:9，可改成想要的比例 */
    background-image: url('../asset/11.png');
    background-size: contain; /* ✅ 像 img 一樣完整顯示，不裁切 */
    background-repeat: no-repeat;
    background-position: center;
}


.shop-card-frame {
    border: 4px solid #128f94;
    background: white;
    padding: 0;
    box-shadow: none;
}

.shop-tabs .nav-link {
    border: none;
    border-radius: 0;
    padding: .9rem 2.5rem;
    color: #006b6e;
    font-weight: 600;
}

    .shop-tabs .nav-link.active {
        background: #128f94;
        color: #fff;
    }

.filter-row {
    padding: 28px 48px;
    display: flex;
    justify-content: center;
    gap: 18px;
    align-items: center;
    border-bottom: 1px solid #e9ecef;
}

.filter-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: .5rem 1.4rem;
    border: 2px solid #c7b86b;
    border-radius: 30px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23c7b86b' d='M6 9L1 4h10z'/%3E%3C/svg%3E") no-repeat right 14px center;
    background-size: 12px 12px;
    color: #6b5b00;
    min-width: 180px;
    text-align: center;
    font-weight: 500;
}

.shop-item {
    padding: 36px 48px;
}

.shop-card {
    border: none;
    background: transparent;
}

.shop-card-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    margin-bottom: 18px;
}

.shop-card-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #2b2b2b;
}

.shop-info {
    font-size: 13px;
    color: #6a6a6a;
    line-height: 1.9;
    margin: 0;
}

.shop-more-btn {
    margin-top: 18px;
    border: 2px solid #128f94;
    color: #128f94;
    background: transparent;
    border-radius: 20px;
    padding: .35rem 1.1rem;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
}

    .shop-more-btn:hover {
        background: #128f94;
        color: #fff;
        text-decoration: none;
    }

.pagination-wrap {
    background: #f7f7f7;
    padding: 14px 24px;
    margin: 28px 48px 40px;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
}

.page-nav-btn {
    border: 1px solid #ddd;
    background: transparent;
    padding: .35rem .9rem;
    border-radius: 14px;
    color: #666;
}

    .page-nav-btn:disabled {
        opacity: .5;
        cursor: not-allowed;
    }

.page-number {
    color: #6c6c6c;
    font-weight: 600;
}

.uk-accordion-title {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    text-decoration: none !important;
    background: #f8f8f8;
    border-radius: 6px;
    transition: background 0.2s, color 0.2s;
}

    /* 滑過效果 */
    .uk-accordion-title:hover {
        background: #e3f4f6;
        color: #2d91a0;
    }

/* 展開時（UIkit 自動加 .uk-open） */
.uk-open > .uk-accordion-title {
    background: #d9eef1;
    color: #2d91a0;
}

/* 去掉 UIkit 預設箭頭 */
.uk-accordion-title::before {
    display: none;
}



.answer-line {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    line-height: 1.6;
}

section-title {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    padding: 12px 0;
    margin: 30px 0 20px;
    position: relative;
}

.section-title-line {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0 30px;
    position: relative;
    width: 100%;
}

    /* 左右延伸的分隔線 */
    .section-title-line::before,
    .section-title-line::after {
        content: "";
        flex: 1;
        height: 1px;
        background: #ddd;
    }

    .section-title-line::before {
        margin-right: 20px;
    }

    .section-title-line::after {
        margin-left: 20px;
    }
.service-group {
    padding: 20px 0;
    border-bottom: 1px solid #e6e6e6;
    position: relative;
    clear: both; /* ensure previous floats cleared */
}
.service-body {
    margin-left: 0px; /* icon width (88) + gap (16) */
    padding-top: 6px;
    box-sizing: border-box;
    overflow: visible;
}

/* Make all images responsive and block-level inside content */
.service-group img {
    max-width: 100%;
    height: auto;
    display: block;
}

.icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px dashed #2d91a0;
    background: radial-gradient(circle, #ffffff 20%, #e8f8fb 100%);
    margin-right: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 標題 */
.title-text {
    font-size: 22px;
    font-weight: bold;
    margin: 0;
}

.bus {
    width: 40px;
    height: 40px;
    background-image: url('/Content/icon/bus.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.ship {
    width: 40px;
    height: 40px;
    background-image: url('../icon/ship.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.map {
    width: 40px;
    height: 40px;
    background-image: url('../icon/map.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.infomations {
    width: 40px;
    height: 40px;
    background-image: url('../icon/詢問處.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.charge {
    width: 40px;
    height: 40px;
    background-image: url('../icon/充電站.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.ElectTicket {
    width: 40px;
    height: 40px;
    background-image: url('../icon/電子票券.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.BabyHouse {
    width: 40px;
    height: 40px;
    background-image: url('../icon/哺乳室.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}



.plane {
    width: 40px;
    height: 40px;
    background-image: url('../icon/plane.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.faq-item {
    border: none;
    background: none;
    padding: 0;
    margin-bottom: 12px;
    position: relative;
}

    /* 隱藏 checkbox */
    .faq-item input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        left: 0;
        top: 0;
        width: 100%;
        height: 40px;
        cursor: pointer;
    }

    /* 問題區塊 */
    .faq-item .question {
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        display: flex;
        align-items: center;
        user-select: none;
        padding: 8px 0;
    }

/* Q（膠囊按鈕） */
.question strong {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 12px;
    height: 26px;
    border: 1.5px solid #2d91a0;
    border-radius: 999px;
    color: #2d91a0;
    font-size: 13px;
    font-weight: bold;
    margin-right: 10px;
    background-color: #ffffff;
    line-height: 1;
    transition: all 0.25s ease;
}

/* hover → 藍底白字 */
.question:hover strong {
    background-color: #2d91a0;
    color: #ffffff;
}

/* ====== A 區塊（答案） ====== */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0 4px;
    margin-left: 36px;
    display: flex;
    align-items: flex-start; /* ★ 第一行與 A 完全對齊 */
    gap: 10px;
    opacity: 0;
    transform: translateY(-8px);
    transition: max-height .35s ease, padding .25s ease, opacity .25s ease, transform .25s ease;
}

    /* A 圓形 */
    .faq-answer strong {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 20px;
        height: 20px;
        background: #1e90ff;
        color: #fff;
        border-radius: 50%;
        font-size: 12px;
        font-weight: bold;
    }

    /* 文字區塊 */
    .faq-answer .answer-text {
        flex: 1;
        line-height: 1.6;
        margin-top: 2px; /* ★ 讓第一行與 A 完全對齊 */
    }


/* 展開時 */
.faq-item input[type="checkbox"]:checked ~ .faq-answer {
    max-height: 500px;
    padding: 12px 4px;
    opacity: 1;
    transform: translateY(0);
}

.question:hover strong {
    background-color: #2d91a0;
    color: #ffffff;
}

.faq-item input[type="checkbox"]:checked ~ .question strong {
    background-color: #2d91a0;
    color: #ffffff;
}
}
