
/*
	<!--     T1   -->
	<style>
*/
/* 整個灰色背景 */
.div_style_2{ width:100%;
    background:#f8f9fb;
    padding:60px 20px;
}

/* 標題 */
.div_style_2 > div{
    font-size:26px;
    letter-spacing:1px;
    margin-bottom:30px;
}

/* 中間白色卡片 */
.table_1{
    width:100%;
    max-width:720px;
    margin:0 auto;
    background:#ffffff;
    padding:45px 55px;
    border-radius:18px;
    box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

/* 行距 */
.table_1 td{
    padding:14px 8px;
    vertical-align:middle;
}

/* 左側Label */
.label-col{
    width:200px;
}

.txt_gray_14{
    font-weight:600;
    color:#2c2c2c;
    font-size:18px;/*color:#9B2D30*/
}

/* 所有select / input */
.listbox_gray_14,
.textbox_gray_14{
    width:100%;
    padding:10px 14px;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:14px;
    transition:all 0.2s ease;
    background:#fff;
}

/* focus效果 */
.listbox_gray_14:focus,
.textbox_gray_14:focus{
    border-color:#b61c2c;
    box-shadow:0 0 0 3px rgba(182,28,44,0.12);
    outline:none;
}

/* ✅ Date + Time 同一行 */
.date-input{
    width:49% !important;
    display:inline-block;
    margin-right:5%;
}

#ctl00_ContentPlaceHolderCenter_ddlGetCruiseScheduleDepartureTime{
    width:45% !important;
    display:inline-block;
}

/* 按鈕 */
.RedButton{
    background:#b61c2c;
    color:#fff !important;
    padding:14px 50px;
    border-radius:50px;
    font-weight:600;
    letter-spacing:0.5px;
    transition:all 0.2s ease;
}

.RedButton:hover{
    background:#971521;
    transform:translateY(-2px);
}

/* Banner */
.mc_booking{
    width:100%;
    border-radius:14px;
    margin-bottom:35px;
}

/* 手機版 */
@media (max-width:768px){

    .table_1{
        padding:30px;
    }

    .table_1 tr{
        display:block;
        margin-bottom:18px;
    }

    .table_1 td{
        display:block;
        width:100%;
    }

    .label-col{
        margin-bottom:6px;
    }

    .date-input,
    #ctl00_ContentPlaceHolderCenter_ddlGetCruiseScheduleDepartureTime{
        width:100% !important;
        margin-right:0;
        margin-bottom:12px;
    }
}
/*
</style>

*/

/*
<!---------  T2 -------------->


<!--  You can put your custom CSS attributes  -->
  <style>*/
  
      /* You can apply your own color! 
    --main-light-color is the light grey, 
    --main-dark-color is the text
    --main-active-color is the highlight
    you can just add like red, or blue or any helx you like! */
      :root {
        --main-light-color: #f3f5fb;
        --main-dark-color: #321f59;
        --main-active-color: #642eff;
      }
      .datepicker-dropdown {
        border-radius: 8px !important;
        border: 0 !important;
        -webkit-box-shadow: 0px 48px 88px rgba(23, 9, 54, 0.08);
        box-shadow: 0px 48px 88px rgba(23, 9, 54, 0.08);
        box-sizing: border-box;
      }
      .datepicker-panel>ul[data-view="week"]>li {
        background-color: var(--main-light-color);
        color: var(--main-dark-color);
        font-weight: bold;
        text-transform: uppercase;
        margin: 0;
        height: initial;
        padding-top: 3px;
        margin-bottom: 4px;
      }
      .datepicker-panel>ul[data-view="week"]>li:hover {
        background-color: var(--main-light-color);
        color: var(--main-dark-color);
        border-radius: 0px;
      }
      .datepicker-panel>ul[data-view="week"] li:first-child {
        border-radius: 20px 0 0 20px;
      }
      .datepicker-panel>ul[data-view="week"] li:last-child {
        border-radius: 0 20px 20px 0;
      }
      .datepicker-top-left::before,
      .datepicker-top-left::after {
        display: none;
      }
      .datepicker-panel>ul>li.picked,
      .datepicker-panel>ul>li.highlighted,
      .datepicker-panel>ul>li.picked:hover {
        color: var(--main-active-color);
        background: var(--main-light-color);
        border-radius: 8px;
        font-style: normal;
        font-weight: 500;
        font-size: 14px;
      }
      li[data-view="month current"],
      li[data-view="year current"] {
        text-align: left;
        color: var(--main-dark-color);
        font-style: normal;
        font-weight: 500;
        font-size: 14px;
        /* line-height: 24px; */
        padding-left: 15px;
        border-radius: 10px;
      }
      .datepicker-panel>ul>li:hover {
        background: var(--main-light-color);
        border-radius: 10px;
      }
      li[data-view="month current"],
      li[data-view="year current"],
      li[data-view="years current"] {
        margin-bottom: 4px !important;
      }
      @media screen and (min-width: 768px) {
        .datepicker-dropdown {
          width: 364px;
          padding: 12px;
        }
        .datepicker-panel>ul>li {
          width: 48px;
          height: 48px;
          padding-top: 10px;
        }
        li[data-view="month next"],
        li[data-view="year next"],
        li[data-view="years next"] {
          position: absolute;
          right: 18px
        }
        li[data-view="month prev"],
        li[data-view="year prev"],
        li[data-view="years prev"] {
          position: absolute;
          right: 66px
        }
        ul[data-view="months"] li,
        ul[data-view="years"] li {
          padding-top: 0px;
          width: 57px !important;
        }
      }
      @media screen and (max-width: 768px) {
        .datepicker-panel {
          transform: scale(0.97);
        }
      }
   /* </style>
	
		
		
		<!--     T1   -->
	<style>
*/
/* 整個灰色背景 */
.div_style_2{ width:100%;
    background:#f8f9fb;
    padding:60px 20px;
}

/* 標題 */
.div_style_2 > div{
    font-size:26px;
    letter-spacing:1px;
    margin-bottom:30px;
}

/* 中間白色卡片 */
.table_1{
    width:100%;
    max-width:720px;
    margin:0 auto;
    background:#ffffff;
    padding:45px 55px;
    border-radius:18px;
    box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

/* 行距 */
.table_1 td{
    padding:14px 8px;
    vertical-align:middle;
}

/* 左側Label */
.label-col{
    width:200px;
}

.txt_gray_14{
    font-weight:600;
    color:#2c2c2c;
    font-size:18px;/*color:#9B2D30*/
}

/* 所有select / input */
.listbox_gray_14,
.textbox_gray_14{
    width:100%;
    padding:10px 14px;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:14px;
    transition:all 0.2s ease;
    background:#fff;
}

/* focus效果 */
.listbox_gray_14:focus,
.textbox_gray_14:focus{
    border-color:#b61c2c;
    box-shadow:0 0 0 3px rgba(182,28,44,0.12);
    outline:none;
}

/* ✅ Date + Time 同一行 */
.date-input{
    width:49% !important;
    display:inline-block;
    margin-right:5%;
}

#ctl00_ContentPlaceHolderCenter_ddlGetCruiseScheduleDepartureTime{
    width:45% !important;
    display:inline-block;
}

/* 按鈕 */
.RedButton{
    background:#b61c2c;
    color:#fff !important;
    padding:14px 50px;
    border-radius:50px;
    font-weight:600;
    letter-spacing:0.5px;
    transition:all 0.2s ease;
}

.RedButton:hover{
    background:#971521;
    transform:translateY(-2px);
}

/* Banner */
.mc_booking{
    width:100%;
    border-radius:14px;
    margin-bottom:35px;
}

/* 手機版 */
@media (max-width:768px){

    .table_1{
        padding:30px;
    }

    .table_1 tr{
        display:block;
        margin-bottom:18px;
    }

    .table_1 td{
        display:block;
        width:100%;
    }

    .label-col{
        margin-bottom:6px;
    }

    .date-input,
    #ctl00_ContentPlaceHolderCenter_ddlGetCruiseScheduleDepartureTime{
        width:100% !important;
        margin-right:0;
        margin-bottom:12px;
    }
}


/*
</style>



<style>*/


.weather-page-section{
    margin-top:40px;
}

.policy-box{
    background:#ffffff;
    padding:25px;
    border-radius:12px;
    box-shadow:0 8px 25px rgba(0,0,0,0.06);
    line-height:1.8;
    font-size:16px;
}

.policy-box p{
    margin-bottom:15px;
}

.policy-box a{
    color:#0056b3;
    text-decoration:none;
}

.policy-box a:hover{
    text-decoration:underline;
}

.hko-section{
    margin-top:50px;
}

.hko-title{
    font-size:20px;
    font-weight:600;
    margin-bottom:20px;
}

.warning-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:15px;
}

.warning-item{
    display:flex;
    align-items:center;
    gap:15px;
    padding:15px;
    background:#f8f9fb;
    border-radius:10px;
    border:1px solid #eee;
    transition:all 0.25s ease;
}

.warning-item:hover{
    background:#eef4ff;
    transform:translateY(-3px);
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

.warning-item img{
    width:40px;
}

.warning-item span{
    font-size:14px;
}

.source-link{
    margin-top:25px;
    font-size:14px;
}

.source-link a{
    color:#0056b3;
    text-decoration:none;
}

.source-link a:hover{
    text-decoration:underline;
}

/*
</style>


		
		
		<!-- T3  -->
		<style>*/
		
		
.faq-container{
    max-width:1000px;
   /* margin:60px auto;*/
    padding:0 20px;
    font-family:"Microsoft JhengHei", Arial, sans-serif;
    line-height:1.8;
}
.faq-jump{
    margin:20px 0 40px;
}
.faq-jump a{
    color:#0056b3;
    text-decoration:none;
}
.faq-jump a:hover{
    text-decoration:underline;
}
.faq-container h2{
    margin-top:60px;
    padding-bottom:10px;
    border-bottom:2px solid #eee;
}
.faq-container h3{
    margin-top:30px;
    color:#800000;
}
.faq-container hr{
    margin:50px 0;
    border:none;
    border-top:1px solid #e5e5e5;
}
.faq-image{
    width:100%;
    height:auto;
    margin:20px 0;
    border-radius:8px;
}

/*
</style>
		
		
		
		
	<!--  T4 -->	
<style>*/

.tips-group{
   /* max-width:1000px;
    margin:60px auto;*/
    font-family:"Microsoft JhengHei", Arial, sans-serif;
}

.tips-title{
    font-size:28px;
    font-weight:700;
    margin-bottom:25px;
}

.tips-card{
    background:#ffffff;
    padding:30px;
    border-radius:14px;
    box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.tips-card ul{
    margin:0;
    padding-left:20px;
    line-height:1.8;
    font-size:16px;
}

.tips-card li{
    margin-bottom:14px;
}

.tips-card a{
    color:#0056b3;
    text-decoration:none;
}

.tips-card a:hover{
    text-decoration:underline;
}


/*
</style>
		
	
		
		
		<!-- T0 -->
		
		<style>
		*/
@media (max-width: 768px) {

    /* 重設 table 行為 */
    .booking-table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    .booking-table tr {
        display: block;
        margin-bottom: 12px;
    }

    .booking-table td {
        display: block;
        width: 100%;
        padding: 4px 0;
    }

    .booking-table td:first-child,
    .booking-table td:last-child {
        display: none;
    }

    /* 壓縮整個白色 box */
    .booking-wrapper {
        padding: 20px !important;
    }

    /* 壓縮 input 高度 */
    .booking-table select,
    .booking-table input {
        margin: 5px 0;
    }

}
@media (max-width: 768px) {

    .label-col {
        margin-bottom: 3px;
        font-weight: 600;
    }

}
@media (max-width: 768px) {

    .booking-wrapper {
        padding: 20px 18px !important;
    }

    .booking-table td {
        padding-left: 8px;
        padding-right: 8px;
    }

}
@media (max-width: 768px) {

    .booking-table select,
    .booking-table input {
        width: 100%;
        box-sizing: border-box;
    }

}
@media (max-width: 768px) {

    .booking-table tr:last-child {
        display: block;
    }

    .booking-table .btn-row {
        display: block !important;
        width: 100% !important;
        padding: 15px 10px;
    }

}

.booking-intro {
    /*margin-top: 40px;*/
    padding: 18px;
    background: #f4f4f4;
    border-radius: 16px;
    line-height: 1.2;
    color: #333;
}

.booking-intro h3 {
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: 600;
}

.booking-intro p {
    margin-bottom: 12px;
}

/* 手機版 */
@media (max-width: 768px) {
    .booking-intro {
        padding: 20px;
        margin-top: 25px;
    }
}
/* 包住票種 */
.ticket-grid-wrapper {
    padding: 20px 0;
}

/* Desktop 4格 */
.ticket-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}

/* 每個票種 */
.ticket-item select {
    width: 100%;
    box-sizing: border-box;
}

.ticket-label {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 500;
}

/* Mobile */
@media (max-width: 768px) {

    .ticket-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

}
/*
	</style>	*/
	
	
	
	
	
	
	
	/* tab 5 */
	<style>
.duck-wrapper{
    padding:100px 20px;
    background:#f8f9fb;
}

.duck-content{
    max-width:820px;
    margin:0 auto;
}

.duck-content h2{
    font-size:36px;
    margin-bottom:8px;
    font-weight:700;
}

.sub{
    font-size:15px;
    color:#888;
    margin-bottom:40px;
}

.text-block{
    font-size:16px;
    line-height:1.9;
    margin-bottom:28px;
    color:#333;
}

.highlight{
    margin-top:40px;
    padding:28px;
    background:#ffffff;
    border-left:5px solid #b61c2c;
    border-radius:12px;
    font-size:16px;
    line-height:1.8;
    box-shadow:0 8px 20px rgba(0,0,0,0.05);
}

.highlight strong{
    color:#b61c2c;
    font-size:18px;
}

.cta-text{
    margin-top:50px;
    font-size:18px;
    font-weight:600;
    color:#b61c2c;
}

@media(max-width:768px){
    .duck-wrapper{
        padding:60px 20px;
    }

    .duck-content h2{
        font-size:28px;
    }
}


/*
</style>
	
	*/
	
	
	
/* tab 6 ---- */



<style>
.history-wrapper{
    padding:100px 20px;
    background:#f8f9fb;
}

.history-container{
    max-width:900px;
    margin:0 auto;
}

.page-title{
    font-size:38px;
    margin-bottom:60px;
    font-weight:700;
}

.section-block{
    margin-bottom:90px;
}

.section-block h2{
    font-size:26px;
    margin-bottom:30px;
    padding-left:14px;
    border-left:4px solid #b61c2c;
}

.section-block p{
    line-height:1.9;
    margin-bottom:24px;
    font-size:16px;
    color:#333;
}

.section-block strong{
    color:#b61c2c;
}

.alt{
    padding-top:40px;
    border-top:1px solid #e5e5e5;
}

.quote-box{
    margin:40px 0;
    padding:30px;
    background:#ffffff;
    border-radius:14px;
    font-style:italic;
    line-height:1.8;
    box-shadow:0 8px 25px rgba(0,0,0,0.05);
}

@media(max-width:768px){
    .history-wrapper{
        padding:60px 20px;
    }

    .page-title{
        font-size:28px;
    }

    .section-block h2{
        font-size:20px;
    }
}
 

	
/* tab 8 */
 
.private-wrapper{
    padding:100px 20px;
    background:#ffffff;
}

.private-container{
    max-width:1000px;
    margin:0 auto;
}

.page-title{
    font-size:36px;
    margin-bottom:40px;
    font-weight:700;
}

.intro{
    font-size:18px;
    margin-bottom:40px;
    color:#333;
}

.highlight-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:15px;
    margin-bottom:60px;
}

.item{
    background:#f8f9fb;
    padding:18px;
    text-align:center;
    border-radius:12px;
    font-weight:600;
    transition:0.3s;
}

.item:hover{
    background:#b61c2c;
    color:#fff;
}

.content-text p{
    font-size:16px;
    line-height:1.9;
    margin-bottom:24px;
    color:#333;
}

.contact-box{
    margin-top:70px;
    padding:50px 40px;
    background:#f8f9fb;
    border-radius:18px;
    text-align:center;
}

.contact-box h3{
    margin-bottom:20px;
    font-size:20px;
}

.contact-info{
    margin-bottom:30px;
    font-weight:600;
    line-height:1.8;
}

.private-btn{
    display:inline-block;
    padding:14px 40px;
    background:#b61c2c;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    font-weight:600;
    transition:0.3s;
}

.private-btn:hover{
    background:#971521;
    transform:translateY(-2px);
}

@media(max-width:768px){

    .private-wrapper{
        padding:60px 20px;
    }

    .page-title{
        font-size:26px;
    }

    .contact-box{
        padding:30px 20px;
    }
}
 
 
.photo-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin:60px 0;
}

.gallery-item{
    overflow:hidden;
    border-radius:16px;
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:0.4s;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

/* 平板 */
@media(max-width:1024px){
    .photo-gallery{
        grid-template-columns:repeat(2,1fr);
    }
}

/* 手機 */
@media(max-width:600px){
    .photo-gallery{
        grid-template-columns:1fr;
    }
}



	
	/* tab 9 */
	 
.photo-wrapper{
    padding:100px 20px;
    background:#f8f9fb;
}

.photo-container{
    max-width:900px;
    margin:0 auto;
}

.page-title{
    font-size:36px;
    margin-bottom:40px;
    font-weight:700;
}

.intro{
    font-size:17px;
    line-height:1.8;
    margin-bottom:60px;
    color:#333;
}

.category{
    margin-bottom:50px;
}

.category h2{
    font-size:20px;
    margin-bottom:20px;
    padding-left:12px;
    border-left:4px solid #b61c2c;
}

.category ul{
    list-style:none;
    padding:0;
    margin:0;
}

.category li{
    margin-bottom:12px;
    font-size:16px;
    line-height:1.7;
    padding-left:18px;
    position:relative;
}

.category li:before{
    content:"•";
    position:absolute;
    left:0;
    color:#b61c2c;
    font-weight:bold;
}

.contact-box{
    margin-top:70px;
    padding:40px;
    background:#ffffff;
    border-radius:16px;
    box-shadow:0 10px 30px rgba(0,0,0,0.06);
    text-align:center;
}

.contact-info{
    margin:20px 0;
    font-weight:600;
    font-size:16px;
}

.photo-btn{
    display:inline-block;
    margin-top:20px;
    padding:14px 36px;
    background:#b61c2c;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    font-weight:600;
    transition:0.3s;
}

.photo-btn:hover{
    background:#971521;
    transform:translateY(-2px);
}

@media(max-width:768px){

    .photo-wrapper{
        padding:60px 20px;
    }

    .page-title{
        font-size:26px;
    }

    .contact-box{
        padding:25px;
    }
} 

 
.photo-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin:50px 0 70px 0;
}

.gallery-item{
    overflow:hidden;
    border-radius:16px;
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:0.4s;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

/* 平板 */
@media(max-width:1024px){
    .photo-gallery{
        grid-template-columns:repeat(2,1fr);
    }
}

/* 手機 */
@media(max-width:600px){
    .photo-gallery{
        grid-template-columns:1fr;
    }
} 




/* tab 10 */
 
.ad-wrapper{
    padding:100px 20px;
    background:#f8f9fb;
}

.ad-container{
    max-width:1100px;
    margin:0 auto;
}

.page-title{
    font-size:36px;
    margin-bottom:30px;
    font-weight:700;
}

.intro{
    font-size:18px;
    margin-bottom:60px;
    color:#333;
}

.brand-section{
    margin-bottom:60px;
}

.brand-title{
    font-size:16px;
    margin-bottom:25px;
    color:#666;
}

.brand-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:20px;
}

.brandLogo {
    background: #ffffff;
    padding: 25px;
    text-align: center;
    border-radius: 14px;
    font-weight: 600;
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
    transition: 0.3s;
}
.brandLogo:hover {
    background: #b61c2c;
    color: #fff;
}


.brand{
    background:#ffffff;
    padding:25px;
    text-align:center;
    border-radius:14px;
    font-weight:600;
    box-shadow:0 6px 18px rgba(0,0,0,0.05);
    transition:0.3s;
}

.brand:hover{
    background:#b61c2c;
    color:#fff;
}

.content-text{
    max-width:800px;
    margin-bottom:70px;
}

.content-text p{
    font-size:16px;
    line-height:1.9;
    margin-bottom:22px;
    color:#333;
}

.contact-box{
    background:#ffffff;
    padding:60px 40px;
    border-radius:18px;
    text-align:center;
    box-shadow:0 12px 30px rgba(0,0,0,0.06);
}

.contact-box h3{
    font-size:22px;
    margin-bottom:25px;
}

.contact-info{
    margin-bottom:30px;
    font-weight:600;
    line-height:1.8;
}

.ad-btn{
    display:inline-block;
    padding:15px 45px;
    background:#b61c2c;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    font-weight:600;
    transition:0.3s;
}

.ad-btn:hover{
    background:#971521;
    transform:translateY(-2px);
}

@media(max-width:768px){

    .ad-wrapper{
        padding:60px 20px;
    }

    .page-title{
        font-size:26px;
    }

    .contact-box{
        padding:30px 20px;
    }
} 



 
.ad-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin:50px 0 70px 0;
}

.ad-item{
    overflow:hidden;
    border-radius:16px;
}

.ad-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:0.4s;
}

.ad-item:hover img{
    transform:scale(1.08);
}

/* 平板 */
@media(max-width:1024px){
    .ad-gallery{
        grid-template-columns:repeat(2,1fr);
    }
}

/* 手機 */
@media(max-width:600px){
    .ad-gallery{
        grid-template-columns:1fr;
    }
} 
