﻿body{
    background-color: #fff;
}
.Logo>img{
   
    /* padding: 25px 0 0 25px; */
}
.Navbar{
    width: 100%;
    height: 100px;
    background-color: #fff;
    /* border: 1px solid #000; */
    /* font-size: 25px; */
    padding: 15px 0 25px 0;
    font-weight: 600;
   
   
}
.dpk{
    display:inline-block
}
.Checkbox{
    width: 40px;
    height: 40px;
 
}
.Checkbox2 {
    width: 30px;
    height: 30px;
}
h4{
    font-weight:900;
}
/* 將連結統一改為深藍色，確保在白色背景下對比度超過 4.5:1 */
a:link, a:visited {
    text-decoration: none;
    color: #0056b3; /* 改為深藍色 */
}

a:hover, a:active {
    text-decoration: underline; /* 增加底線，這對無障礙非常有幫助 */
    color: #003d7a; /* 懸停時顏色更深 */
}


/* --------------------------- */
/* 線上訂票功能 */
/* --------------------------- */

.OnewayTitle{
    font-weight: 600;
}


.Goticket {
    border: 3px solid #008291;
    border-radius: 10px;
}

/* 搜尋按鈕的外框 調位置用 */
.SearchBtn{
    text-align: center;
}

/* 調整蒐尋按鈕 */
.Searchbtn {
    text-align: center;
    background-color: #008291 !important; /* 加深青色以通過對比度檢查 */
    color: #fff;
    font-weight: 900;
    width: 90px;
    border-radius: 10px;
}

.Searchbtn2 {
    text-align: center;
    background-color: #008291 !important; /* 加深青色以通過對比度檢查 */
    color: #fff;
    font-weight: 900;
    width: 150px;
    height: 80px;
    border-radius: 10px;
    /* font-size: 25px; */
    line-height: 75px;
}

/* --------------------------- */
/* 聲明頁 */
/* --------------------------- */

.Tnc{
    height:400px;
    background:#ffffff;
    border:3px solid #3e3d3dc4;
    border-radius: 10px;
    /* font-size: 25px; */
    text-align: center;
    font-weight: 600;
    
}

/* --------------------------- */
/* TicketOrder頁 */
/* --------------------------- */

.Check{
    font-weight: 900;
    /* font-size: 36px; */
    margin-top: 80px;
}

.NextBtn {
    text-align: center;
    background-color: #008291 !important; /* 加深青色以通過對比度檢查 */
    color: #fff;
    font-weight: 900;
    /* width: 90px;
    width: 200px;
    height: 60px; */
    /* font-size: 38px; */
}
table {
    /* border: 3px solid #3e3d3dc4; */

    height: 100px;
    padding: 25px 25px 25px 25px;
}

.TableText{
    /* font-size: 35px; */
    border-bottom: 3px dashed #3e3d3d17;
    height: 70px;
}
.TableTitle{
    /* font-size: 30px; */
    border-bottom: 3px solid #3e3d3dc4;
}


/* --------------------------- */
/* 訂單查詢功能 */
/* --------------------------- */


/* --------------------------- */
/* 訂單查詢登入頁 */
/* --------------------------- */
.Order{
    height:200px;
    background:#EBF5FC;
    border:3px solid #3e3d3dc4;
    border-radius: 10px;
    /* font-size: 25px; */
    text-align: center;
    font-weight: 600;
}

.dropdownInput{
    border: solid 3px #3e3d3dc4;
    border-radius: 10px;
}

.OrderTable{
    height: 70px;
    border-bottom: 3px solid #3e3d3dc4;
}

.Order2{

    height:300px;
    background:#EBF5FC;
    border:3px solid #3e3d3dc4;
    border-radius: 10px;
    /* font-size: 25px; */
    text-align: center;
    font-weight: 600;

}

.OrderNotice{
    height:400px;
    background:#EBF5FC;
    border:3px solid #3e3d3dc4;
    border-radius: 10px;
    /* font-size: 20px; */
    font-weight: 400;
    line-height: 40px;
}

.IDInput {
    width: 400px;
    height: 50px;
    border: 3px solid #008291;
    border-radius: 10px;
    text-align: center;
}

.InquireBtn {
    text-align: center;
    background-color: #008291 !important; /* 加深青色以通過對比度檢查 */
    color: #fff;
    font-weight: 900;
    width: 90px;
    width: 200px;
    height: 60px;
    /* font-size: 35px; */
    border-radius: 10px;
    margin-top: 60px;
}

/* --------------------------- */
/* 訂單查詢頁 */
/* --------------------------- */
.ColorTbody > tr:nth-child(even) {
    background: #f2f2f2; /* 稍微調深一點點，或確保裡面的文字是全黑 */
}
.ColorTbody>tr:nth-child(odd) {background: #FFF}

.DetailTD{
    background-color: #90e6f0;
    height: 30px;
    border-bottom: 2px solid #3e3d3d4b ;
}

.DetailTH{
    border-bottom: 2px solid #3e3d3d4b ;
    height: 50px;
}


.DetailTitle{
    margin-left: 260px;
    font-weight: 600;

}

.detailBtn{
    width: 120px;
    height: 50px;
    background-color: #3e3d3d;
    color: #fff;
    font-weight: 900;
}

/* --------------------------- */
/* 最新消息頁 */
/* --------------------------- */

.news{
    border-bottom: 2px solid #3e3d3d4b ;
    margin-top: 10px;
}

.News{
    height: 500px;
}

.GrayTitle{
    background-color: rgb(235, 235, 235);
    font-weight: 900;
    width: 100px;
    height: 40px;
    text-align: center;
    /* font-size: 20px; */
    line-height: 40px;
    border-radius: 10px;
}

.NewsText{
      font-weight: 600;
      /* font-size: 20px; */
      line-height: 40px;
      letter-spacing: 1px;
}

.NewsDate {
    line-height: 40px;
    font-weight: 500;
    color: #555555; /* 強制指定深灰色，不要使用預設的淺灰色 */
}

/* --------------------------- */
/* 乘船須知 */
/* --------------------------- */
.BoatOne{
    /* font-size: 20px; */
}
.BoatName{
    font-weight: 900;
}

.BoatNotice{
    height: 600px;
}
/* 
.Fr{
   margin-left: 70%;
} */

.box{
    width: 300px;
    height: 700px;
    background-color: #ccc;
}

.footerMobile {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    color: white;
    text-align: center;
    height: 50px;
}

.MemberTitle{
   line-height: 300px;
   text-align: right;
   margin-right: 30px;
}



.NewPage{
    float: right;
}


.RWDtable {
    border: 1px solid #ccc;
    border-collapse: collapse;
    margin: 0;
    padding: 0;
    width: 100%;
    table-layout: fixed;
}

.RWDtablecaption {
    font-size: 1.5em;
    margin: .5em 0 .75em;
}

.RWDtableTr {
    background-color: #f8f8f8;
    border: 1px solid #ddd;
    /*text-align: center;*/
}



    .RWDtableTr > th {
        letter-spacing: .1em;
        /*text-transform: uppercase;*/
        text-align: left;
    }

    .RWDtableTr img {
        text-align: left !important;
    }

@media screen and (max-width: 1024px) {
    .RWDtable {
        border: 0;
    }

    .RWDtablecaption {
        font-size: 1.3em;
    }

    .RWDtableThead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    .RWDtableTr {
        border-bottom: 3px solid #ddd;
        display: block;
    }

        .RWDtableTr > td {
            border-bottom: 1px solid #ddd;
            display: block;
            text-align: right;
        }

        .RWDtableTr img {
            text-align: left !important;
        }

            .RWDtableTr > td > select {
                margin-left: auto
            }

            .RWDtableTr > td::before {
                /*
    * aria-label has no advantage, it won't be read inside a table
    content: attr(aria-label);
    */
                content: attr(data-label);
                float: left;
                font-weight: bold;
                /*text-transform: uppercase;*/
            }
             
            .RWDtableTr > td:last-child {
                border-bottom: 0;
            }

 
}

button {
    width: 140px;
    margin:0 10px
}
.btn-no-margin {
    margin: 0 !important;
}
/* 加深 badge 顏色以符合 AA 級對比度 */
.badge-secondary {
    background-color: #555 !important;
    color: #fff !important;
}

.badge-info {
    background-color: #117a8b !important;
}
/* 加深資訊色 */
.text-muted {
    color: #555 !important;
}
/* 如果有用到 muted 文字 */

/* 確保連結在 focus 時有明顯的外框 (無障礙必要項目) */
a:focus {
    outline: 3px solid #ffbf47 !important;
    outline-offset: 2px;
}
/* 提升導覽列與按鈕的對比度 (重要：加到所有 CSS 後面以覆蓋原有樣式) */

/* 讓 bg-info 變深一點，並確保連結為白色 (WCAG 建議) */
nav.navbar.bg-info,
nav.navbar.navbar-expand-lg.navbar-dark.bg-info {
    /*background-color: #008596 !important;  *//*深色底，對比更好*/ 
}

 /*navbar 連結顏色與 hover/focus 狀態*/ 
.navbar-dark .nav-link,
a.nav-link {
    color: #ffffff !important; /* 白色字 */
    text-shadow: none !important;
}

    .navbar-dark .nav-link:hover,
    .navbar-dark .nav-link:focus {
        color: #ffecb3 !important; /* hover 顯眼色 */
        background-color: rgba(255,255,255,0.05) !important;
        outline: none !important;
    }

/* 語言下拉選單按鈕(id 範例）*/
#langDropdown.nav-link.dropdown-toggle {
    color: #ffffff !important;
}

/* SweetAlert2 確認按鈕：提高背景與字色對比，並提供 focus ring */
.swal2-confirm.swal2-styled.swal2-default-outline {
    background-color: #0d6efd !important; /* 深藍 */
    color: #ffffff !important;
    border: 2px solid #08306b !important;
    box-shadow: none !important;
}

    .swal2-confirm.swal2-styled.swal2-default-outline:focus,
    .swal2-confirm.swal2-styled.swal2-default-outline:active {
        outline: 3px solid #ffd54f !important; /* 明顯 focus ring，便於鍵盤使用者 */
        outline-offset: 2px !important;
    }
/* Accessibility: table/row/button clear focus styles (append to existing style.css)
   - 使用 :focus-visible 為鍵盤/輔助情境顯示明顯外框
   - 當 table 列內子元素獲得焦點時，用 :focus-within 強調整列
   - fallback 提供 :focus 支援舊瀏覽器
*/
:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.btn:focus-visible {
    outline: 4px solid #ffd54f !important; /* 顯眼黃色外框 */
    outline-offset: 3px !important;
    box-shadow: 0 0 0 8px rgba(255,213,79,0.12) !important;
}

/* 當 table row 的子元素(例如按鈕）被聚焦時，讓整列可視化 */
tbody tr:focus-within {
    background-color: rgba(255,213,79,0.04);
    box-shadow: inset 0 0 0 3px rgba(255,213,79,0.12);
    transition: background-color 0.12s ease, box-shadow 0.12s ease;
    position: relative;
    z-index: 1;
}

/* 取消滑鼠點擊時的外框(若支援 :focus-visible） */
:focus:not(:focus-visible),
button:focus:not(:focus-visible),
a:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

/* 針對危險／取消按鈕給更強調的外框(可選） */
.btn-danger:focus-visible {
    outline: 4px solid #ff8a47 !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 10px rgba(255,138,71,0.16) !important;
}

/* disabled 按鈕不顯示 focus 樣式 */
button[disabled],
.btn[disabled] {
    outline: none !important;
    box-shadow: none !important;
}

/* Accessibility: 全域覆寫 .btn-info(放在檔案最底部，並確保 style.css 載入在 bootstrap 之後） */
.btn-info {
    background-color: #0056b3 !important; /* 深藍，提高對比 */
    border-color: #004494 !important;
    color: #ffffff !important;
}

/* hover / active */
.btn-info:hover,
.btn-info:active,
.btn-info.focus {
    background-color: #004494 !important;
    border-color: #00396d !important;
    color: #ffffff !important;
}

/* focus-visible for keyboard users */
.btn-info:focus-visible {
    outline: 3px solid #ffd54f !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}


.statement {
    margin: 0 20px;
}
    /* 1. 標題：購票後資訊... 變粗體 */
    .statement h5 {
        font-weight: bold !important;
        margin-bottom: 10px;
        line-height: 1.5;
        color: #333;
    }

    /* 2. 清單容器設定 */
    .statement ol {
        list-style-type: decimal !important; /* 確保顯示 1. 2. 3. */
        /* 設定 padding-left 為 2em (約兩個中文字寬度)，
                    這會讓數字編號剛好與上方標題的第一個字對齊 */
        padding-left: 2px !important;
        line-height: 1.5;
        margin-top: 0;
    }

        .statement ol li {
            display: list-item !important;
            padding-left: 0.2em; /* 數字與文字間的微調間距 */
            margin-bottom: 8px;
            text-align: justify;
            color: #444;
        }

.btn-adapt {
    /* 1. 核心：強制寬度必須等於內容文字的最大寬度 */
    min-width: max-content ;
    width: auto ;
    /* 2. 確保文字不會因為空間擠壓而換行或消失 */
    white-space: nowrap ;
    /* 3. 防止在 d-flex 容器中被旁邊的按鈕擠扁 */
    flex-shrink: 0 ;
    /* 4. 增加一點左右內距，讓日文字看起來不擁擠 */
    padding-left: 1.5rem ;
    padding-right: 1.5rem !important;
    /* 5. 修正圖示與文字對齊 */
    display: inline-flex ;
    align-items: center;
    justify-content: center;
}
.table-responsive.no-scrollbar-table {
    overflow-x: hidden !important;
}
/* 使用更高權重的選取器來覆蓋 Bootstrap 預設的 2px 邊框 */
.table thead th {
    border-bottom: 1px !important;
    vertical-align: middle; /* 順便優化對齊感 */
}
.itinerary-table thead th {
    vertical-align: middle !important; /* 強制垂直置中 */
    line-height: 1.1 !important; /* 縮小行高，抵消 Bootstrap 的 1.5 */
}
/* 放大 Checkbox 並確保對齊 */
.form-check-custom-size .form-check-input {
    width: 20px;
    height: 20px;
    margin-top: 0em;
}

/* 調整 Label 的間距與對齊 */
.form-check-custom-size .form-check-label {
    padding-left: 0.5rem;
    line-height: 24px;
    cursor: pointer;
}
.statement {
    text-align: left !important;
    line-height: 1.6;
}
.tnc-list {
    padding-left: 25px;
}
.tnc-list li {
    margin-bottom: 10px;
    padding-left: 5px;
    color: #333;
}

/* 調整表格標頭：放大字體並保持適當緊湊度 */
.RWDtableThead th {
    font-size: 1rem !important;
    letter-spacing: -0.3px !important;
    /*padding-left: 8px !important;*/
    padding-right: 8px !important;
    vertical-align: middle !important;
}

    /* 針對較長標題（如 ID / PASSPORT）單獨微調 */
    .RWDtableThead th:nth-child(4) {
        letter-spacing: -0.5px !important;
    }

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}

/* 票價欄不換行，手機也適用 */
.nowrap {
    white-space: nowrap !important;
}

@media (max-width: 576px) {
    /* 如果你是要讓該欄位內的文字靠右，可以針對該 class 調整 */
    .passenger-cabin-label {
        text-align: right !important;
        margin-left: auto;
    }
}

/* 修正：強制首頁輪播橫幅背景透明，防止圖片過小時漏出底部的海藍色 */
.bannerbox, 
.ADVbox, 
.rslides_container {
    background-color: transparent !important;
}

/* 首頁標題與navbar的調整 */
.brand-text-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 140px;
        max-width: 200px;
        height: 42px;
        line-height: 1.3;
    }
    
    .brand-title-zh {
        color: #ffffff;
        font-size: 1.5rem;
        text-align: justify;
        text-align-last: justify;
        text-justify: inter-character;
        width: 100%;
    }

    .brand-title-en {
        color: #ffffff;
        font-size: 0.9rem;
        text-align: justify;
        text-align-last: justify;
        text-justify: inter-character;
        width: 100%;
    }

    /* 手機畫面尺寸(小於576px)自動縮小字體與寬高，避免與選單按鈕重疊 */
    @media (max-width: 576px) {
        .brand-text-wrapper {
            min-width: 120px;
            max-width: 160px;
        }
        .brand-title-zh {
            font-size: 1.37rem;
        }
        .brand-title-en {
            font-size: 0.9rem;
        }
    }