/* =====================
   基礎樣式
   ===================== */
.container {
    width: 1260px;
}

.page-tour-details {
    background-color: #fff;
}

.tour-gallery-wrap.pc .slider-nav {
    display: flex;
    overflow: hidden;
}

.calendar-wrap #calendar {
    height: 467px;
}

.content-wrap.tour-info {
    border: none;
}

/* =====================
   標題樣式1
   ===================== */
.title-container {
    position: relative;
    font-size: 28px;
    font-weight: 600;
    margin-top: 60px;
}

.title-container .title-text {
    position: relative;
    z-index: 1;
    /*font-size: 28px;*/
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 22px;
}

.title-container .title-bg {
    position: absolute;
    top: -12px;
    left: 0;
    width: 100%;
    height: 100%;
    color: #e4e4e4;
    font-size: 40px;
}

.img-Count-7 .title-text{
    margin-bottom: -28px !important;
}

/* =====================
   分類介紹
   ===================== */
.cate-content-container {
    display: grid;
    grid-template-columns: calc(50% - 70px) calc(50% - 70px);
    gap: 0 140px;
    margin: 20px 0;
    padding-top: 24px;
    overflow: hidden;
}

.cate-content-container * {
    line-height: 1.4 !important;
}

.cate-content-item {
    margin-bottom: 20px;
}

.cate-content-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cate-content-header img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.cate-content-header .cate-content-title {
    font-size: 14px;
    color: #ff2864;
    font-weight: bold;
/*    text-shadow: 0 0.5px 0.5px #ff2864;*/
}

.cate-content-content {
    margin: 0 0 0 60px;
    font-size:13px !important;
    white-space:pre-line;
}

/* =====================
   內容容器基礎樣式
   ===================== */
.tour-introduction-group .content-container {
    display: flex;
    align-items: center;
    justify-content: space-around;
    position: relative;
}

.tour-introduction-group .content-container .content-text {
    flex: 1;
    position: relative;
    z-index: 1;
}

.tour-introduction-group .content-container .content-image {
    position: relative;
    z-index: 1;
}

/* =====================
   1張圖佈局
   ===================== */
.one-img-mr {
    margin-right: 24px;
}

.one-img-size {
    width: 674px;
    height: 400px;
    object-fit: cover;
}

/* =====================
   2張圖佈局
   ===================== */
.tour-introduction-group .content-container.two-img-ct {
    align-items: start;
    padding-top: 20px;
}

.two-img-ct::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 70%;
    background-color: #f5f5f5;
}

.two-img-text {
    margin-right: 24px;
    padding-left: 20px;
}

.two-img-img {
    padding-top: 38px;
}

.two-img-size {
    width: 330px;
    height: 220px;
    object-fit: cover;
}

.two-img-first {
    margin-right: 6px;
}

.two-img-second {
    margin-left: 6px;
}

/* =====================
   3張圖佈局
   ===================== */
.tour-introduction-group .content-container.three-img {
    display: block;
}

.tour-introduction-group .content-container.three-img .content-image {
    display: flex;
    justify-content: space-between;
}

.three-img-size {
    width: 32.7%;
    height: 250px;
    object-fit: cover;
}

.three-img-text {
    margin-top: 30px;
}

/* =====================
   4張圖佈局
   ===================== */
.tour-introduction-group .four-img {
    justify-content: space-between;
}

.tour-introduction-group .four-img .content-image {
    display: flex;
    align-items: start;
}

.tour-introduction-group .four-img .content-text {
    position: absolute;
    width: calc(100% - 478px);
    left: 478px;
    padding: 0px 40px;
}

.four-img-first {
    width: 480px;
    height: 350px;
    flex: none;
    object-fit: cover;
}

.four-img-rest {
    width: 236px;
    height: 168px;
    margin: 0 10px 0 0;
    object-fit: cover;
}

.four-img-rest:nth-child(2) {
    margin-left: 10px;
}

.four-img-fourth {
    margin-right: 0;
}

.four-img-text {
    position: absolute;
    width: calc(100% - 478px);
    left: 478px;
    top: 190px;
    padding: 0px 40px;
}

/* =====================
   5張圖佈局
   ===================== */
.content-container.five-img {
    display: block;
}

.content-container.five-img .content-image {
    display: flex;
    gap: 10px;
}

.five-img-top .five-img-size,
.five-img-middle .five-img-size,
.five-img-bottom .five-img-size {
    display: block;
}

.five-img-top .five-img-size:nth-child(1),
.five-img-bottom .five-img-size:nth-child(1) {
    margin-bottom: 10px;
}

.five-img-middle {
    flex: 1;
}

.five-img-size {
    width: 330px;
    height: 220px;
    object-fit: cover;
}

.five-img-middle-size {
    width: 100%;
    height: 450px;
    object-fit: cover;
}

.five-img-text {
    margin-top: 30px;
}

/* =====================
   6張圖佈局
   ===================== */
.content-container.six-img {
    display: block;
}

.content-container.six-img .content-image {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.six-img-top,
.six-img-bottom {
    display: flex;
    gap: 12px;
}

.six-img-size {
    width: 32.7%;
    height: 257px;
    object-fit: cover;
}

.six-img-text {
    margin-top: 30px;
}

/* =====================
   7張及以上圖佈局
   ===================== */
.seven-img .card-2-wrap .card, .seven-img .card-2-wrap .card-2 {
    margin-right: 10px;
    margin-bottom: 0;
}

.seven-img .slick-prev:before, .seven-img .slick-next:before{
    color: #ff2864 !important;
}

.seven-img {
    position: relative;
    z-index: 1;
    min-height: 370px;
    margin-top: 50px;
    padding-top: 46px;
}

.seven-img .mySlider {
    position: relative;
    z-index: 1;
}

.seven-img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 20px);
    height: calc(100% + 46px);
    background-color: #f5f5f5;
    z-index: -1;
}

.tour-info-2 {
    position: relative;
    z-index: 1;
}

.tour-info-2::after {
    content: '';
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 20px);
    height: 100%;
    background-color: #f5f5f5;
    z-index: -1;
}


/* =====================
   旅遊資料下載
   ===================== */
.tour-info-2  {
    padding-top: 0;
    padding-bottom: 110px;
}

.tour-info-2 .download-wrap a.btn-txt.icon-pdf:before {
    background-image: url("../../img/common/pdf_icon.png");
}

.tour-info-2 .download-wrap a.btn-txt.icon-world:before {
    background-image: url("../../img/common/doc_icon.png");
}

.tour-info-2 .download-wrap .title{
    text-align: left;
    font-weight: 400;
    color: #262626;
    border-bottom: none;
    padding-bottom: 4px;
}

.tour-info-2 .download-wrap a.btn-txt{
    font-size: 15px;
    color: #262626;
}

.tour-info-2 .download-wrap a.btn-txt:before {
    top: 10px;
    left: 12px;
    width: 24px;
    height: 24px;
}

.tour-info-2 .download-wrap a.btn-txt {
    display: inline-block;
    background-color: #fff;
    width: fit-content;
    padding: 10px 15px 10px 45px!important;
}


/* =====================
   響應式
   ===================== */
@media (max-width: 992px) {
    .container {
        width: 100%;
    }

    .pc-content {
        display: none;
    }

    .title-container .title-text {
        font-size: 24px;
    }

    .title-container .title-bg {
        font-size: 33px;
    }

    .cate-content-container {
        display: block;
    }

    .cate-content-header img {
        max-width: 36px !important;
        width: 36px !important;
        height: 36px;
    }

    .tour-introduction-group .content-container {
        display: block;
    }

    .tour-info-2 .download-wrap .title {
        margin-bottom: 6px;
        margin-top: 6px;
    }

    .mobile-tour-info-2 {
        background-color: #f5f5f5;
    }

    .mobile-tour-info-2::after {
        display: none;
    }
    .cate-content-content {
        margin: 0 0 0 48px;
        font-size: 13px !important;
    }
}
/* =====================
   圖片 hover 效果
   ===================== */
.img-hover-zoom {
    transition: transform 0.4s cubic-bezier(.25,.8,.25,1), box-shadow 0.4s;
    will-change: transform;
    display: inline-block;
}

.img-hover-zoom:hover,
.img-hover-zoom:focus {
    transform: scale(1.02);
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    z-index: 2;
}

/* =====================
   移動版 Slick 堆疊樣式 (最終穩定版)
   ===================== */
.mobile-content .mobile-slick-slider .slick-list {
    padding: 0 50px 0 0;
}

.mobile-content .mobile-slick-slider .slick-slide-item {
    transition: width 0.3s linear;
}

.mobile-content .mobile-slick-slider .slick-slide-item img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.mobile-content .mobile-slick-slider .slick-slide-item.stack-pos-1 {
    width: calc(100vw - 100px);
}

.mobile-content .mobile-slick-slider .slick-slide-item.stack-pos-1 ~ .slick-slide-item {
    width: 50px;
    overflow: hidden;
    height: 140px;
    padding-top: 20px;
}

.stack-pos-2 {
    overflow: hidden;
    height: 150px !important;
    padding-top: 10px !important;
}

.stack-pos-3 {
    overflow: hidden;
    height: 140px;
    padding-top: 20px;
}

/* Ensure mobile content is hidden on PC */
@media (min-width: 993px) {
    .mobile-content {
        display: none;
    }
}


.page-tour-details .tour-gallery-wrap .slick-prev, .page-tour-details .tour-gallery-wrap .slick-next {
    height: 100%;
}

/* 新增交替布局樣式 */
.tour-introduction-group .content-container.alternate .content-text {
    text-align: left !important;
    /* flex-direction: row-reverse; */
}

.tour-introduction-group .content-container.alternate .content-image {
    margin-right: 0;
    margin-left: 24px;
}

.tour-introduction-group .content-container.alternate .content-text {
    text-align: right;
}
