/**
 * AT Trip Single - 前端樣式
 * 
 * Trip 單篇頁面的前端樣式設定
 * 參考設計：royaljetway.com.tw
 */

/* ========================================
   CSS 變數
   ======================================== */

:root {
    --at-trip-primary: #0B3C5D;
    /* 主要標題 Deep Blue */
    --at-trip-primary-dark: #0F4C75;
    /* 次要標題 Blue */

    --at-trip-accent: #A6D96A;
    /* 強調色/價格 Green */
    --at-trip-accent-hover: #9BCB5A;
    --at-trip-secondary: #6FC3B2;
    /* 次要/裝飾色 Teal */

    /* 主文字色 */
    --at-trip-text: #2B2B2B;
    /* 淺文字色 */
    --at-trip-text-light: #6B7280;
    --at-trip-text-muted: #999999;

    /* 邊框色 */
    --at-trip-border: #e5e5e5;
    /* 淺背景色 */
    --at-trip-bg-light: #F5F7FA;
    /* 白色 */
    --at-trip-white: #ffffff;

    --at-trip-font-family: "Oswald", "PingFang", "PingFangTC", "Microsoft JhengHei", sans-serif;

    /* 兼容舊變數 */
    --color-primary: #0B3C5D;
    --color-primary-light: #F5F7FA;
    --color-secondary-light: #4A8EC2;
    --color-white: #fff;
    --color-grey-d1: #e4e4e4;
    --color-grey-d5: #6d6d6d;
    --symboIG12: 0.75rem 0.75rem 0 0.75rem;
    --symboIG60: 3.75rem 3.75rem 0 3.75rem;
    --symbolGTh: 0.75rem 0.75rem 0 0.75rem;
}

/* ========================================
   通用容器
   ======================================== */

.at-trip-single-sections {
    width: 100%;
    font-family: var(--at-trip-font-family);
    color: var(--at-trip-text);
    background: #f6f7fa;
}

.at-trip-section-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 25px;
}

.at-trip-section-title {
    font-size: 32px;
    font-weight: 500;
    color: var(--at-trip-primary-dark);
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: none;
    position: relative;
    text-align: center;
}

.at-trip-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--at-trip-secondary);
}

/* ========================================
   Hero Section
   ======================================== */

.at-trip-hero-section {
    position: relative;
    width: 100%;
    min-height: 400px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 50px;
}

.at-trip-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom,
            rgba(0, 0, 0, 0.2) 0%,
            rgba(0, 0, 0, 0.4) 50%,
            rgba(0, 0, 0, 0.3) 100%);
}

.at-trip-hero-content {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 40px 20px;
    max-width: 900px;
}

.at-trip-hero-title {
    font-size: 28px;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 15px;
    letter-spacing: 2px;
}


.at-trip-hero-description {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.5);
    line-height: 1.6;
}

/* ========================================
   出團表格 & 航班表格 Section (共用樣式)
   ======================================== */

.at-trip-departure-section,
.at-trip-departure-section,
.at-trip-flights-section {
    padding: 50px 0;
    background: #F5F7FA;
    /* Reverted to White */
}

/* 航班區塊與出團區塊使用相同背景（透明） */
.at-trip-flights-section {
    background: transparent;
}

/* ========================================
   SCD List / Item 樣式 (複製自參考網站)
   ======================================== */

.scd-list {
    overflow: hidden;
    padding-bottom: 10px;
    background-color: transparent;
    /* 原站為 efefef，但可能跟我們背景衝突，先透明 */
}

/* 確保 wrap 不會限縮太小，參考站的 .wrap 定義可能在外面，我們直接定義 */
.scd-list .wrap {
    position: relative;
}

/* ========================================
   .wrap.reload-content 寬度設定
   ======================================== */
.scd-list .wrap.reload-content {
    width: 100%;
    max-width: 100%;
    padding-right: 0px;
    padding-left: 0px;
    margin-right: auto;
    margin-left: auto;
}

/* SCD Item 共用 - 簡潔列表風格 (參考 royaljetway.com.tw) */
.scd-item {
    display: block;
    position: relative;
    color: #222;
    letter-spacing: 0;
    cursor: default;
    /* 預設非連結 */
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #ddd;
    background-color: transparent;
    overflow: hidden;
    margin-bottom: 0;
    padding: 0px;
    font-size: 0;
    /* 清除 inline-block 間距 */
    transition: background-color .3s ease;
}

/* Hover 效果 */
/* 注意：只有非 head 才需要 hover */
.scd-item:not(.head):hover {
    background-color: #f6f6f6;
}

/* Header 特殊樣式 */
.scd-item.head {
    display: none;
    /* 手機版隱藏 */
    padding: 0px;
    color: #C1B38F;
    font-weight: normal !important;
    cursor: default;
    background-color: transparent;
    border: none;
    margin-bottom: 0;
    padding-top: 0;
}

.scd-item.head:hover {
    background-color: transparent;
}


/* 欄位通用設定 */
.scd-item>div {
    display: inline-block;
    vertical-align: middle;
    font-size: 1rem;
    line-height: 1.5em;
    padding: 0 10px;
    box-sizing: border-box;
}

/* Head 字體調整 */
.scd-item.head>div {
    font-size: 1.2rem;
    color: #0b3c5d;
    font-weight: normal;
}

/* ========================================
   桌面版排版 (Desktop)
   ======================================== */
@media screen and (min-width: 769px) {
    .scd-item.head {
        display: block;
        padding: 15px 0;
    }

    /* 調整 scd-item padding 以符合一行 */
    .scd-item {
        padding: 18px 0;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #eee;
        background-color: transparent;
    }

    /* 
       欄位寬度分配 - 5 欄佈局（移除航班公司後）
       第1欄 (團名): 30%
       第2欄 (出發日期): 20%
       第3欄 (旅行團費): 15%
       第4欄 (出團狀態): 15%
       第5欄 (行程備註): 20%
    */

    .scd-item>div:nth-of-type(1) {
        width: 30%;
        font-weight: bold;
        font-size: 1.125rem;
        padding-left: 20px;
    }

    .scd-item>div:nth-of-type(2) {
        width: 20%;
        text-align: center;
        font-family: "Oswald", sans-serif;
    }

    .scd-item>div:nth-of-type(3) {
        width: 15%;
        text-align: right;
        font-weight: bold;
        color: var(--at-trip-text);
        font-family: "Oswald", sans-serif;
    }

    .scd-item>div:nth-of-type(4) {
        width: 15%;
        text-align: center;
        color: var(--at-trip-text);
    }

    /* 狀態標籤樣式 - span 元素，可獨立控制寬度 */
    /* 狀態標籤樣式 - span 元素，可獨立控制寬度 */
    .scd-item .status-tag {
        display: inline-block;
        min-width: 70px;
        padding: 5px 10px;
        border-radius: 4px;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.2;
        text-align: center;
    }

    .scd-item>div:nth-of-type(5) {
        width: 20%;
        color: #6B7280;
        font-size: 14px;
        text-align: left;
        padding-left: 20px;
    }


    /* Head 對齊修正 */

    /* Head 對齊修正 - Reverted to Original Color */
    .scd-item.head>div {
        color: #0b3c5d !important;
        /* System Blue */
        font-weight: 600;
        font-size: 1.2rem;
    }
}

/* ========================================
   手機版排版 (Mobile)
   模仿 Card 樣式
   ======================================== */
/* ========================================
   手機版排版 (Mobile)
   模仿 Card 樣式 - Flexbox Refactor
   ======================================== */
@media screen and (max-width: 768px) {
    .scd-item.head {
        display: none;
    }

    .scd-item {
        display: grid;
        grid-template-columns: auto 1fr;
        padding: 15px 0 20px;
        position: relative;
        gap: 5px;
    }

    .scd-item>div {
        display: block;
        width: 100%;
        padding: 0;
        margin-bottom: 0;
        text-align: left;
        position: static;
    }

    /* 第1欄: 團名 - Title */
    .scd-item>div:nth-of-type(1) {
        grid-column: 1 / -1;
        grid-row: 2;
        font-weight: bold;
        font-size: 1.125rem;
        margin-bottom: 10px;
        line-height: 1.4;
    }

    /* 第2欄: 日期 (Desktop #2) */
    .scd-item>div:nth-of-type(2) {
        grid-column: 1 / -1;
        grid-row: 1;
        padding: 0 0 10px 0;
        margin-bottom: 10px;
        border-bottom: 1px dashed #ddd;
        font-size: 1.2rem !important;
        color: #666;
        font-family: "Oswald", sans-serif;
    }

    /* 第3欄: 價格 (User Request: 1.25rem, Gold, Bold) */
    .scd-item>div:nth-of-type(3) {
        grid-column: 1 / 2;
        grid-row: 4;
        font-size: 1.25rem;
        color: #a39161;
        font-weight: 900;
        width: auto;
        padding-right: 10px;
        display: flex;
        align-items: center;
    }

    /* 第4欄: 狀態 (User Request: 1rem, margin-left: 0) */
    .scd-item>div:nth-of-type(4) {
        grid-column: 1 / -1;
        grid-row: 3;
        font-size: 1rem;
        margin-left: 0px;
        margin-bottom: 15px;
        color: #6B7280;
    }

    /* 手機版狀態標籤樣式 */
    .scd-item .status-tag {
        display: inline-block;
        min-width: 60px;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 0.8125rem;
        font-weight: 500;
        text-align: center;
    }

    /* 第5欄: 備註/其他 (Horizontal align with Price) */
    .scd-item>div:nth-of-type(5) {
        grid-column: 2 / 3;
        grid-row: 4;
        text-align: right;
        align-self: center;
        width: auto;
        color: #6B7280;
        font-size: 0.875rem;
    }

    /* Hide potential 6th item if it doesn't exist or shouldn't show */
    .scd-item>div:nth-of-type(6) {
        display: none;
    }
}

/* ========================================
   航班表格專屬樣式 (Flights Section)
   精確匹配參考圖片的設計
   ======================================== */

/* 桌面版 - 航班表格 */
@media screen and (min-width: 769px) {

    /* 航班表格的 .scd-item 通用調整 */
    .at-trip-flights-section .scd-item {
        display: flex;
        align-items: center;
        padding: 15px 0;
        border-bottom: 1px solid #e5e5e5;
        background-color: #ffffff;
    }

    /* Zebra Striping - 斑馬紋 (單數行淺灰，從第2資料行開始，因為 Item 1 是 Head) */
    /* Head(1) -> Gold */
    /* Data1(2) -> White (default) */
    /* Data2(3) -> Grey */
    .at-trip-flights-section .scd-item:not(.head):nth-of-type(odd) {
        background-color: #f9f9f9;
        border-bottom: 1px solid #e5e5e5;
    }

    /* 航班表格 - 表頭樣式 */
    .at-trip-flights-section .scd-item.head {
        display: flex;
        padding: 12px 0;
        border-bottom: none;
        background-color: #0B3C5D;
    }

    .at-trip-flights-section .scd-item.head>div {
        color: #ffffff !important;
        font-weight: bold;
        font-size: 0.9375rem;
    }

    /* 航班表格 - 欄位通用樣式 */
    .at-trip-flights-section .scd-item>div {
        width: 16.66%;
        text-align: center;
        padding: 0 10px;
        font-weight: normal;
        font-size: 0.9375rem;
        color: #222;
    }

    /* 第1欄：起點 */
    .at-trip-flights-section .scd-item>div:nth-of-type(1) {
        width: 14%;
        text-align: center;
        padding-left: 0;
        font-weight: normal;
        font-size: 0.9375rem;
    }

    /* 第2欄：迄點 */
    .at-trip-flights-section .scd-item>div:nth-of-type(2) {
        width: 16%;
        text-align: center;
        color: #222;
    }

    /* 第3欄：航空公司 */
    .at-trip-flights-section .scd-item>div:nth-of-type(3) {
        width: 18%;
        text-align: center;
        position: static;
        background: transparent;
        border-bottom: none;
        color: #222;
    }

    /* 第4欄：航班編號 */
    .at-trip-flights-section .scd-item>div:nth-of-type(4) {
        width: 18%;
        text-align: center;
        display: flex;
        justify-content: center;
        margin-left: 0;
    }

    /* 第5欄：出發時間 */
    .at-trip-flights-section .scd-item>div:nth-of-type(5) {
        width: 17%;
        text-align: center;
        position: static;
        color: #222;
        font-weight: normal;
    }

    /* 第6欄：抵達時間 */
    .at-trip-flights-section .scd-item>div:nth-of-type(6) {
        width: 17%;
        text-align: center;
        color: #222;
        margin-top: 0;
        padding-right: 0;
    }

    /* 移除 hover 效果在航班表格 */
    .at-trip-flights-section .scd-item:not(.head):hover {
        background-color: transparent;
    }
}

/* 手機版 - 航班表格 */
@media screen and (max-width: 768px) {
    .at-trip-flights-section {
        padding: 0px 0;
    }

    .at-trip-flights-section .scd-item.head {
        display: none;
    }

    .at-trip-flights-section .scd-item {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px 15px;
        padding: 15px;
        border: 1px solid #1a1a1a12;
        border-radius: 8px;
        background: #fff;
        margin-bottom: 15px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    }

    .at-trip-flights-section .scd-item>div {
        position: static;
        width: auto;
        display: block;
        padding: 0;
        background: transparent;
        border: none;
        text-align: left;
    }

    /* Row 1: 航空公司(3) & 航班編號(4) */
    .at-trip-flights-section .scd-item>div:nth-of-type(3) {
        grid-column: 1 / 2;
        grid-row: 1;
        font-size: 0.875rem;
        color: #6B7280;
        font-weight: 500;
    }

    .at-trip-flights-section .scd-item>div:nth-of-type(4) {
        grid-column: 2 / 3;
        grid-row: 1;
        text-align: right;
        font-family: "Oswald", sans-serif;
        color: #6B7280;
        justify-content: flex-end;
        display: block;
    }

    /* Arrow between Origin and Destination - 純 CSS 繪製 */
    .at-trip-flights-section .scd-item::after {
        content: "";
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
        align-self: center;

        /* 箭頭線段 */
        width: 80px;
        height: 2px;
        background: linear-gradient(to right, transparent 0%, #bbb 10%, #bbb 100%);
        position: relative;
        margin-bottom: 4px;
    }

    /* 箭頭頭部 (三角形) */
    .at-trip-flights-section .scd-item::before {
        content: "";
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
        align-self: center;

        /* 使用 border 繪製三角形 */
        width: 0;
        height: 0;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        border-left: 10px solid #bbb;

        /* 定位到線段右端 */
        position: relative;
        margin-left: 80px;
        margin-bottom: 4px;
    }

    /* Row 2: 起點(1) & 迄點(2) - 強調顯示 + 置中對接 */
    .at-trip-flights-section .scd-item>div:nth-of-type(1) {
        grid-column: 1 / 2;
        grid-row: 2;
        font-size: 1.25rem;
        font-weight: bold;
        color: #222;
        padding: 5px 0;
        text-align: left;
        padding-right: 20px;
    }

    .at-trip-flights-section .scd-item>div:nth-of-type(2) {
        grid-column: 2 / 3;
        grid-row: 2;
        text-align: right;
        font-size: 1.25rem;
        font-weight: bold;
        color: #222;
        padding: 5px 0;
        padding-left: 20px;
    }

    /* Row 3: 出發時間(5) & 抵達時間(6) */
    .at-trip-flights-section .scd-item>div:nth-of-type(5) {
        grid-column: 1 / 2;
        grid-row: 3;
        font-family: "Oswald", sans-serif;
        color: #A39161;
        font-size: 1rem;
    }

    .at-trip-flights-section .scd-item>div:nth-of-type(6) {
        grid-column: 2 / 3;
        grid-row: 3;
        text-align: right;
        font-family: "Oswald", sans-serif;
        color: #A39161;
        font-size: 1rem;
        margin-top: 0;
        padding-right: 0;
    }
}

/* ========================================
   參考航班標題樣式
   ======================================== */
.at-trip-flight-title {
    margin-bottom: 20px;
    text-align: left;
    line-height: 1.2;
    padding-left: 5px;
}

.at-trip-flight-title .main-title {
    font-size: 28px;
    font-weight: bold;
    color: #000;
    margin-right: 5px;
    display: inline-block;
}

.at-trip-flight-title .sub-title {
    font-size: 16px;
    font-weight: bold;
    color: #000;
    display: inline-block;
}

/* 手機版調整 */
@media screen and (max-width: 768px) {
    .at-trip-flight-title {
        padding-left: 0px;
        padding-right: 0px;
        padding-top: 20px;
    }

    .at-trip-flight-title .main-title {
        font-size: 24px;
        display: block;
        margin-bottom: 5px;
    }

    .at-trip-flight-title .sub-title {
        font-size: 14px;
        display: block;
    }
}

/* ========================================
   行銷資訊區塊 (Marketing Section)
   ======================================== */
.at-trip-marketing-section {
    padding-bottom: 50px;
    background: transparent;
    margin-top: 30px;
}

.at-marketing-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px;
    /* gutter */
    margin-bottom: 30px;
}

.at-marketing-box {
    width: 50%;
    padding: 0 20px;
    box-sizing: border-box;
    font-family: 'Noto Serif TC', serif;
}

.at-marketing-full-width {
    width: 100%;
    padding: 0;
    margin-top: 30px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    align-items: flex-start;
}

.at-marketing-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 15px;
    color: #000;
    line-height: 1.2;
}

.at-marketing-content {
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}

.at-marketing-content ul,
.at-marketing-content ol {
    margin: 0;
    padding-left: 20px;
    list-style-position: outside;
}

.at-marketing-content p {
    margin-bottom: 1rem;
}

/* 價格顯示樣式優化 */
.at-marketing-box.price-box .at-marketing-content {
    font-weight: 500;
}

/* 修正對齊問題：增加 Wrapper 與上方表格區塊對齊 */
.at-marketing-wrapper {
    padding: 0 25px;
}

/* 讓行銷區塊內容置中 (Content Centering) */
.at-marketing-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 水平置中內容 */
}

/* 標題置中 */
.at-marketing-title {
    text-align: center;
    width: 100%;
}

/* 內容區塊保持靠左對齊，但整體區塊置中 */
.at-marketing-content {
    text-align: left;
    max-width: 100%;
    /* 防止溢出 */
}

/* 針對價格區塊，文字內容也置中可能更好看 */
.at-marketing-box.price-box .at-marketing-content {
    text-align: center;
}

/* 手機版響應式 */
@media screen and (max-width: 768px) {
    .at-marketing-grid {
        display: block;
        margin: 0;
    }

    .at-marketing-box {
        width: 100%;
        padding: 0;
        margin-bottom: 50px;
        align-items: unset;
    }

    .at-marketing-wrapper {
        padding: 0px;
    }

    .at-marketing-full-width {
        margin-top: 0;
    }

    .at-marketing-content {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: unset;
    }

    .at-marketing-title {
        text-align: unset;
    }

    .at-marketing-box.price-box .at-marketing-content {
        text-align: unset;
    }

    .at-trip-marketing-section {
        margin-top: 0px;
        padding-bottom: 0px;
    }
}



/* 調整行銷資訊區塊比例 (Desktop)
   通常價格資訊較短，優惠資訊較長，使用 3.5 : 6.5 的比例可以減少中間空白，視覺上更平衡。
*/
@media screen and (min-width: 769px) {
    .at-marketing-box.price-box {
        width: 35%;
    }

    .at-marketing-box.benefits-box {
        width: 65%;
    }

    .at-marketing-full-width.concept-box {
        margin-top: 60px;
    }
}



/* 修正：回復 50/50 比例，並使用 Block Centering (Justify Style) */
@media screen and (min-width: 769px) {

    /* 重置回 50% */
    .at-marketing-box.price-box,
    .at-marketing-box.benefits-box {
        width: 50%;
    }

    /* 讓外層 Container 使用 Flex 進行內容區塊置中 */
    .at-marketing-box {
        display: flex;
        justify-content: center;
        /* 水平置中 Inner */
        flex-direction: row;
        /* Default */
    }

    /* Inner Wrapper 設定：限制寬度並設定對齊 */
    .at-marketing-inner {
        width: 80%;
        /* 讓內容不要撐滿，展現出「區塊置中」的效果 */
        max-width: 450px;
        /* 針對大螢幕的限制 */
        text-align: justify;
        /* 用戶要求的 justify */
    }

    /* 標題與內容解除強制置中，跟隨 Inner 設定 (justify) */
    .at-marketing-title,
    .at-marketing-content,
    .at-marketing-box.price-box .at-marketing-content {
        text-align: inherit;
        /* 跟隨 .at-marketing-inner 的 justify */
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    /* 標題通常不建議 justify，這裡稍微強制靠左比較好看？ 
       但用戶說「都不要致中(justify)」，所以全 justify 吧。
    */
}

/* 最終修正：100% 寬度，移除所有 Text Align 設定 */
@media screen and (min-width: 769px) {
    .at-marketing-inner {
        width: auto;
        /* Allow flexbox to handle alignment */
        max-width: 100%;
        text-align: left;
    }

    /* 移除之前設定的 justify 或 center */
    .at-marketing-box.price-box,
    .at-marketing-box.benefits-box,
    .at-marketing-inner,
    .at-marketing-title,
    .at-marketing-content,
    .at-marketing-box.price-box .at-marketing-content {
        text-align: left;
        /* 強制靠左 */
    }

    /* 確保 Box 本身也是從左邊開始排 */
    .at-marketing-box {
        display: flex;
        align-items: flex-start;
    }

    /* 價格區塊內容靠右，貼近中線 */
    .at-marketing-box.price-box {
        justify-content: flex-end;
        padding-right: 10%;
    }

    .at-marketing-box.benefits-box {
        justify-content: flex-start;
        padding-left: 10%;
    }
}

/* 修正：限制 Grid 寬度 1000px 並置中，且修正垂直對齊 */
.at-marketing-grid {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    /* 修正對齊：確保子元素靠上對齊 (解決價格偏下問題) --> 改為 stretch 以支援中間分隔線 */
    align-items: stretch;
    position: relative;
}

/* 桌面版中間分隔線 */
/* 桌面版中間分隔線 - 使用偽元素確保絕對置中 */
@media screen and (min-width: 769px) {
    .at-marketing-grid::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 0;
        bottom: 0;
        width: 1px;
        background-color: #6FC3B2;
        transform: translateX(-50%);
    }
}

.ast-page-builder-template .entry-header {
    margin-top: 0em;
}

.entry-header {
    margin-bottom: 0em;
}

.single .entry-header {
    margin-bottom: 0em;
}

.ast-page-builder-template.single .post-navigation {
    padding-bottom: 2em;
    display: none;
}

/* ========================================
   ExpandWrap / 旅遊焦點區塊
   仿效 galilee.com.tw expandWrap anim bottom-in act
   ======================================== */

/* 旅遊焦點 Section */
.at-trip-focus-section {
    padding: 0;
    /* 移除 padding */
    max-width: 100%;
    width: 100%;
    background: transparent;
    /* 無背景色 */
}

.at-trip-focus-section .at-trip-section-container {
    max-width: 100%;
    padding: 0;
}

/* 區塊容器 */
.expandWrap {
    position: relative;
    margin-bottom: 0;
    /* 移除 margin-bottom */
    background: transparent;
    /* 無背景色 */
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    transition: opacity 0.6s ease, transform 0.6s ease;
    max-width: 100%;
    width: 100%;
}

/* 動畫初始狀態 - 從下方滑入 */
.expandWrap.anim.bottom-in {
    transform: translateY(40px);
    opacity: 0;
}

/* 動畫激活狀態 */
.expandWrap.anim.act {
    transform: translateY(0) !important;
    opacity: 1 !important;
}

/* 可折疊內容區 */
.expandBox {
    max-height: 600px;
    overflow: hidden;
    position: relative;
    padding: 0;
    /* 無 padding */
    transition: max-height 0.5s ease;
}

/* 折疊漸層遮罩 */
.expandBox::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* 展開狀態 */
.expandBox.on {
    max-height: none;
}

.expandBox.on::after {
    opacity: 0;
}

/* 展開按鈕容器 - 疊加在圖片底部內側 */
.expand {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    padding: 0;
    background: transparent;
    z-index: 10;
}

/* expandWrap 需設定相對定位 */
.expandWrap {
    position: relative;
}

.expand.hide {
    display: none;
}

/* 展開按鈕 - 純圖片箭頭 */
.toExpand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: transparent;
    border: none;
    padding: 20px;
    cursor: pointer;
    margin: 0 auto;
    animation: bounce-arrow 1.5s ease-in-out infinite;
}

/* 隱藏文字與原 icon */
.toExpand .expand-text,
.toExpand i {
    display: none;
}

/* 箭頭 - 使用純 CSS 繪製向下箭頭 (chevron down) */
.toExpand::before {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}

/* 文字 - 在箭頭下方 */
.toExpand::after {
    content: '行程特色';
    display: block;
    font-size: 14px;
    color: var(--color-grey-d5, #666);
    white-space: nowrap;
    text-align: center;
}

/* 展開後箭頭旋轉向上 */
.expand.on .toExpand::before {
    transform: rotate(-135deg);
}

/* 展開後隱藏按鈕 - 不再顯示 */
.expand.on .toExpand {
    display: none !important;
}

/* 強制移除所有 hover/active/focus 背景 - 覆蓋主題樣式 */
.toExpand:hover,
.toExpand:active,
.toExpand:focus,
.toExpand:visited {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* 上下緩動動畫 */
@keyframes bounce-arrow {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(10px);
    }
}

/* 展開後按鈕文字變更（透過 JS 處理） - 已隱藏文字 */

/* 區塊標題 */
.focus-title {
    font-size: 28px;
    font-weight: bold;
    margin: 0 0 20px 0;
    color: #000;
    line-height: 1.3;
}

/* 區塊內容 */
.focus-content {
    font-size: 16px;
    line-height: 1.9;
    color: #333;
}

.focus-content p {
    margin-bottom: 1rem;
}

.focus-content ul,
.focus-content ol {
    margin: 0 0 1rem;
    padding-left: 25px;
}

.focus-content li {
    margin-bottom: 0.5rem;
}

.focus-content img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    margin: 15px 0;
}

/* 手機版調整 */
@media screen and (max-width: 768px) {
    .at-trip-focus-section {
        padding: 30px 0;
    }

    .expandWrap {
        margin-bottom: 20px;
        border-radius: 0;
    }

    .expandBox {
        padding: 0px;
        max-height: 400px;
    }

    .focus-title {
        font-size: 22px;
    }

    .focus-content {
        font-size: 15px;
    }

    .expand {
        padding: 10px 20px 20px;
    }

    .toExpand {
        width: 100%;
        justify-content: center;
    }
}

/* ========================================
   Full Width 區塊圖片
   ======================================== */

/* 圖片容器 - 全寬顯示 */
.focus-image-wrapper {
    width: 100%;
    margin: 0;
    overflow: hidden;
    line-height: 0;
    /* 移除圖片下方空隙 */
}

/* 圖片 - 全寬全高完整顯示 */
.focus-image-fullwidth {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    /* 完整顯示不裁切 */
    max-height: none;
    /* 不限制高度 */
}

/* 有圖片時的 expandBox 調整 */
.expandWrap:has(.focus-image-wrapper) .expandBox {
    padding-top: 30px;
    /* 圖片與內容間距 */
}

/* 手機版調整 */
@media screen and (max-width: 768px) {
    .focus-image-fullwidth {
        max-height: none;
        /* 手機版也不限制 */
    }

    .expandWrap:has(.focus-image-wrapper) .expandBox {
        padding-top: 0px;
    }
}

/* 折疊區內的圖片 */
.focus-image-inner {
    margin-top: 20px;
}

.focus-image-inner:first-of-type {
    margin-top: 30px;
}

/* 第一張圖片 - 在 expandBox 內 */
.focus-image-first {
    margin: 0;
    width: 100%;
}

/* 隱藏的圖片（需展開才看到） */
.focus-image-hidden {
    margin-top: 0;
}

/* ========================================
   每日行程區塊 (Daily Itinerary)
   仿效 galilee.com.tw tourItinerary aSection
   ======================================== */

/* 主區塊 */
.at-daily-itinerary-section {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 0;
    background: #fff;
}

/* 日期導航列 */
.at-day-pagination {
    position: sticky;
    top: 0;
    z-index: 100;
    background: linear-gradient(135deg, #C1B38F 0%, #a99c7a 100%);
    padding: 15px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.at-day-pagination.is-sticky {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.at-day-nav-items {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0 20px;
}

.at-day-nav-items li {
    margin: 0;
}

.at-day-nav-items li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.at-day-nav-items li a:hover,
.at-day-nav-items li a.active {
    background: #fff;
    color: #C1B38F;
    transform: scale(1.1);
}

/* 每日行程內容容器 */
.at-daily-itinerary-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* 每日區塊 */
.at-day-block {
    margin-bottom: 60px;
    padding: 40px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.at-day-block:last-child {
    margin-bottom: 0;
}

/* 動畫初始狀態 */
.at-day-block.anim.bottom-in {
    opacity: 0;
    transform: translateY(40px);
}

.at-day-block.anim.act {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* 日期標題區 */
.at-day-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.at-day-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 80px;
    padding: 8px 20px;
    background: linear-gradient(135deg, #C1B38F 0%, #a99c7a 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 25px;
    white-space: nowrap;
}

.at-day-title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: #333;
    line-height: 1.4;
}

/* 行程描述 */
.at-day-description {
    font-size: 16px;
    line-height: 1.9;
    color: #555;
    margin-bottom: 30px;
}

.at-day-description p {
    margin-bottom: 1em;
}

.at-day-description p:last-child {
    margin-bottom: 0;
}

/* ========================================
   景點圖片輪播 (Swiper)
   ======================================== */

.at-spots-swiper {
    margin-bottom: 30px;
    padding: 10px 0;
}

.at-spots-slider {
    border-radius: 12px;
    overflow: hidden;
}

.at-spot-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: #f5f5f5;
}

.at-spot-image {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
}

.at-spot-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.at-spot-item:hover .at-spot-image img {
    transform: scale(1.05);
}

.at-spot-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px 20px 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
    color: #fff;
}

.at-spot-caption {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 600;
}

.at-spot-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    opacity: 0.9;
}

/* Swiper 導航按鈕 */
.at-spots-slider .swiper-button-prev,
.at-spots-slider .swiper-button-next {
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.at-spots-slider .swiper-button-prev:hover,
.at-spots-slider .swiper-button-next:hover {
    background: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.at-spots-slider .swiper-button-prev::after,
.at-spots-slider .swiper-button-next::after {
    font-size: 18px;
    color: #333;
    font-weight: 700;
}

/* Swiper 分頁器 */
.at-spots-slider .swiper-pagination {
    position: relative;
    margin-top: 15px;
}

.at-spots-slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ddd;
    opacity: 1;
    transition: all 0.3s ease;
}

.at-spots-slider .swiper-pagination-bullet-active {
    background: #C1B38F;
    transform: scale(1.2);
}

/* ========================================
   資訊區（餐食/住宿/特色）
   ======================================== */

.at-info-area {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
    padding: 25px;
    background: #f9f9f9;
    border-radius: 12px;
}

.at-info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex: 1 1 300px;
    min-width: 0;
}

.at-info-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #C1B38F 0%, #a99c7a 100%);
    border-radius: 50%;
}

.at-info-icon i {
    color: var(--at-trip-accent);
    font-size: 18px;
}

.at-info-content {
    flex: 1;
    min-width: 0;
}

.at-info-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 4px;
}

.at-info-value {
    display: block;
    font-size: 15px;
    color: #333;
    line-height: 1.6;
    word-wrap: break-word;
}

/* 特定資訊項目顏色 */
.at-info-item.meal .at-info-icon {
    background: linear-gradient(135deg, #e67e22 0%, #d35400 100%);
}

.at-info-item.hotel .at-info-icon {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
}

.at-info-item.feature .at-info-icon {
    background: linear-gradient(135deg, #9b59b6 0%, #8e44ad 100%);
}

/* ========================================
   領隊的話
   ======================================== */

.at-leader-notes {
    padding: 25px;
    background: linear-gradient(135deg, #fffbf0 0%, #fff5e0 100%);
    border-radius: 12px;
    border-left: 4px solid #C1B38F;
}

.at-leader-notes-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: #C1B38F;
}

.at-leader-notes-header i {
    font-size: 24px;
}

.at-leader-notes-header span {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
}

.at-leader-notes-content {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    font-style: italic;
}

.at-leader-notes-content p {
    margin-bottom: 0.8em;
}

.at-leader-notes-content p:last-child {
    margin-bottom: 0;
}

/* ========================================
   手機版 RWD
   ======================================== */

@media screen and (max-width: 768px) {

    /* 日期導航 */
    .at-day-pagination {
        padding: 12px 0;
    }

    .at-day-nav-items {
        gap: 8px;
        padding: 0 15px;
    }

    .at-day-nav-items li a {
        width: 35px;
        height: 35px;
        font-size: 13px;
    }

    /* 內容區 */
    .at-daily-itinerary-content {
        padding: 25px 15px;
    }

    /* 每日區塊 */
    .at-day-block {
        padding: 25px 20px;
        margin-bottom: 35px;
        border-radius: 8px;
    }

    /* 日期標題 */
    .at-day-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding-bottom: 15px;
    }

    .at-day-num {
        font-size: 14px;
        padding: 6px 16px;
    }

    .at-day-title {
        font-size: 20px;
    }

    /* 描述 */
    .at-day-description {
        font-size: 15px;
        margin-bottom: 25px;
    }

    /* 景點輪播 */
    .at-spots-slider .swiper-button-prev,
    .at-spots-slider .swiper-button-next {
        width: 36px;
        height: 36px;
    }

    .at-spots-slider .swiper-button-prev::after,
    .at-spots-slider .swiper-button-next::after {
        font-size: 14px;
    }

    .at-spot-caption {
        font-size: 16px;
    }

    .at-spot-desc {
        font-size: 13px;
    }

    /* 資訊區 */
    .at-info-area {
        flex-direction: column;
        gap: 15px;
        padding: 20px;
    }

    .at-info-item {
        flex: 1 1 100%;
    }

    .at-info-icon {
        width: 36px;
        height: 36px;
    }

    .at-info-icon i {
        font-size: 16px;
    }

    .at-info-value {
        font-size: 14px;
    }

    /* 領隊的話 */
    .at-leader-notes {
        padding: 20px;
    }

    .at-leader-notes-header i {
        font-size: 20px;
    }

    .at-leader-notes-header span {
        font-size: 14px;
    }

    .at-leader-notes-content {
        font-size: 14px;
    }
}

/* ========================================
   每日行程區塊 (Daily Itinerary / tourGroup tourItinerary)
   完全仿效 galilee.com.tw 佈局
   - 左側垂直圓圈導航 (sideNav fixedLeft)
   - Day X 標題
   - 左側文字描述區塊 + 右側圖片輪播(2張)
   - 背景色塊
   ======================================== */

/* 主區塊 */
.aSection.tourGroup.tourItinerary {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 60px 0;
    background: #fff;
}

.tourItinerary .tourItineraryWrapper {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ========================================
   左側垂直圓圈導航 (sideNav fixedLeft)
   ======================================== */
.tourItinerary .aPagination.sideNav {
    display: none !important;
}

.tourItinerary .aPagination.sideNav.fixedLeft {
    display: none;
}

.tourItinerary .aPagination.sideNav .aNavItems {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
}

/* 導航項目之間的連接線 */
.tourItinerary .aPagination.sideNav .aNavItems::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 10px;
    bottom: 10px;
    width: 1px;
    background: #ddd;
    transform: translateX(-50%);
    z-index: -1;
}

.tourItinerary .aPagination.sideNav .aNavItem {
    position: relative;
    margin: 8px 0;
}

.tourItinerary .aPagination.sideNav .aNavItem a.aCircleLink {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* 圓圈 */
.tourItinerary .aPagination.sideNav .aNavItem .circle {
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #ccc;
    transition: all 0.3s ease;
}

.tourItinerary .aPagination.sideNav .aNavItem .text {
    font-size: 10px;
    color: #999;
    margin-top: 4px;
    font-family: 'Times New Roman', serif;
    letter-spacing: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Hover 效果 */
.tourItinerary .aPagination.sideNav .aNavItem a.aCircleLink:hover .circle {
    border-color: #C1B38F;
    background: rgba(193, 179, 143, 0.1);
}

.tourItinerary .aPagination.sideNav .aNavItem a.aCircleLink:hover .text {
    opacity: 1;
    color: #C1B38F;
}

/* 選中狀態 */
.tourItinerary .aPagination.sideNav .aNavItem.on .circle {
    background: #C1B38F;
    border-color: #C1B38F;
    transform: scale(1.2);
}

.tourItinerary .aPagination.sideNav .aNavItem.on .text {
    opacity: 1;
    color: #C1B38F;
    font-weight: 600;
}

/* Scroll Tag (Anchor) */
.tourItinerary .scrolltag {
    display: block;
    height: 0;
    visibility: hidden;
}

/* ========================================
   每日行程內容區 (aDaysContent)
   ======================================== */
.tourItinerary .aDaysContent {
    margin-left: 0;
    padding: 0;
}

/* 每日區塊 (aDay) */
.tourItinerary .aDay {
    position: relative;
    padding: 60px 0;
    border-bottom: 1px solid #eee;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.tourItinerary .aDay:last-child {
    border-bottom: none;
}

.tourItinerary .aDay.anim.act {
    opacity: 1;
    transform: translateY(0);
}

/* ========================================
   標題區 aHead
   ======================================== */
.tourItinerary .aDay .aHead {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 40px;
    padding: 0 20px;
}

.tourItinerary .aDay .order {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
    line-height: 1;
    margin-bottom: 10px;
}

.tourItinerary .aDay .order .dayLabel {
    font-family: 'Times New Roman', 'Noto Serif TC', serif;
    font-size: 70px;
    color: #999;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding-right: 20px;
}

.tourItinerary .aDay .order .dayNum {
    font-family: 'Times New Roman', 'Noto Serif TC', serif;
    font-size: 70px;
    font-weight: 300;
    color: #333;
    line-height: 1;
    letter-spacing: 2px;
}

/* headlineZone 容器 - 仿效 galilee.com.tw */
.tourItinerary .aDay .headlineZone {
    position: relative;
    width: 87.0673952641%;
    padding-block-end: 1.5rem;
    margin-block-end: 25.4098360656%;
}

/* 共用偽元素設定 */
.tourItinerary .aDay .headlineZone::before,
.tourItinerary .aDay .headlineZone::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
}

/* L形邊框 (after) - 白色背景 + 金色邊框 */
.tourItinerary .aDay .headlineZone::after {
    left: 0;
    bottom: 0;
    border-width: 0 0.0625rem 0.0625rem 0;
    border-style: solid;
    border-color: #6FC3B2;
    background-color: var(--color-white, #fff);
    height: 4.8333333333rem;
    width: 113.179916318%;
    transform: translateX(0) !important;
    z-index: -1;
}

/* 背景色塊 (before) - 淡色背景 */
.tourItinerary .aDay .headlineZone::before {
    background-color: var(--color-primary-light, #f1edea);
    right: 0;
    bottom: 0;
    border-style: solid;
    border-width: 0;
    border-radius: var(--symbolGTh, 0.75rem 0.75rem 0 0.75rem);
    width: 102.1966527197%;
    aspect-ratio: 977 / 300;
    z-index: -1;
}

.tourItinerary .aDay .hTitle {
    font-size: 20px;
    font-weight: 400;
    color: #555;
    margin: 0;
    line-height: 1.6;
    letter-spacing: 2px;
    font-family: 'Noto Serif TC', serif;
}

/* ========================================
   主要內容區 (aDayContent)
   左側文字描述 + 右側圖片輪播
   ======================================== */
.tourItinerary .aDay .aDayContent {
    display: flex;
    gap: 40px;
    margin-bottom: 40px;
    padding: 0px;
}

/* 左側：文字描述區 descriptionZone */
.tourItinerary .aDay .descriptionZone {
    flex: 0 0 500px;
    min-width: 500px;
}

.tourItinerary .aDay .descriptionZone .aDesc {
    background: #f8f8f6;
    padding: 20px;
    border-radius: 4px;
    height: 100%;
}

.tourItinerary .aDay .descriptionZone .desc-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 2px;
    letter-spacing: 2px;
}

.tourItinerary .aDay .descriptionZone .descSubtitle {
    font-size: 13px;
    color: #999;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.tourItinerary .aDay .descriptionZone .description {
    font-size: 14px;
    line-height: 2;
    color: #555;
    letter-spacing: 0.5px;
}

/* 右側：圖片區 photosZone */
.tourItinerary .aDay .photosZone {
    flex: 1;
    position: relative;
    min-width: 0;
}

/* 背景色塊已移至 headlineZone::before */
.tourItinerary .aDay .photosZone .photosBg {
    display: none;
}

/* 圖片輪播容器 */
.tourItinerary .aDay .photosZone .photos {
    position: relative;
    z-index: 1;
}

/* Swiper 容器 */
.tourItinerary .photoSwiper {
    overflow: hidden;
    border-radius: 8px;
}

.tourItinerary .photoSwiper .swiper-wrapper {
    display: flex;
    align-items: stretch;
}

/* 預設顯示 2 張圖片 */
.tourItinerary .photoSwiper .swiper-slide {
    width: calc(50% - 10px);
    flex-shrink: 0;
    margin-right: 20px;
    transition: transform 0.3s ease;
}

/* 如果只有 1 張圖片，佔滿整個區域 */
.tourItinerary .photoSwiper[data-slide-count="1"] .swiper-slide {
    width: 100%;
    margin-right: 0;
}

.tourItinerary .photoSwiper .swiper-slide:last-child {
    margin-right: 0;
}

.tourItinerary .photoSwiper .swiper-slide:hover {
    transform: scale(1.02);
}

/* 圖片卡片 */
.tourItinerary .photoSwiper .photoCard {
    height: 100%;
}

.tourItinerary .photoSwiper .photo {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 4/3;
    cursor: pointer;
}

.tourItinerary .photoSwiper .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.tourItinerary .photoSwiper .swiper-slide:hover .photo img {
    transform: scale(1.08);
}

.tourItinerary .photoSwiper .photoContent {
    padding: 15px 5px;
}

.tourItinerary .photoSwiper .photoContent .title {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    margin-bottom: 5px;
    line-height: 1.4;
}

.tourItinerary .photoSwiper .photoContent .text {
    font-size: 16px;
    color: #888;
    line-height: 1.6;
}

/* Swiper 導航按鈕 */
.tourItinerary .photoSwiper .swiper-button-prev,
.tourItinerary .photoSwiper .swiper-button-next {
    position: absolute;
    top: 0;
    margin-top: calc(18.75% - 24px);
    /* (50% width * 0.75 aspect / 2) - half button height */
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transform: none;
    z-index: 10;
}

/* 只有一張圖片時，居中計算基礎改為 100% 寬度 */
.tourItinerary .photoSwiper[data-slide-count="1"] .swiper-button-prev,
.tourItinerary .photoSwiper[data-slide-count="1"] .swiper-button-next {
    margin-top: calc(37.5% - 24px);
}

.tourItinerary .photoSwiper .swiper-button-prev::after,
.tourItinerary .photoSwiper .swiper-button-next::after {
    font-size: 16px;
    color: #333;
}

/* ========================================
   資訊區 aFooter (餐食/住宿/特色) - 對齊 galilee.com.tw summary 樣式
   ======================================== */

/* aFooter 容器 - 模擬 galilee 的 .summary.d-md-flex */
.tourItinerary .aDay .aFooter {
    display: flex;
    flex-wrap: nowrap;
    gap: 2%;
    margin-block-start: min(3.125%, 3.75rem);
}

/* Info Item - 模擬 galilee 的 .group.d-flex.align-items-center */
.tourItinerary .aInfo {
    display: flex;
    align-items: center;
    flex: 0 0 32%;
    min-width: 0;
    margin-block-end: 0;
}

/* Icon 容器 - 模擬 galilee 的 .aTh */
.tourItinerary .aInfo .aIcon {
    width: 19%;
    padding-block: 0.5em;
    border-right: 1px solid var(--color-grey-d1, #ddd);
    display: inline-block;
    position: relative;
    flex-shrink: 0;
    text-align: center;
}

/* Icon 偽元素 ::before - 圖示 */
.tourItinerary .aInfo .aIcon::before {
    content: "";
    display: block;
    position: relative;
    aspect-ratio: 1 / 1;
    width: 72.327%;
    margin: 0 auto;
    background-color: var(--at-trip-accent);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Icon 偽元素 ::after - 標籤文字 */
.tourItinerary .aInfo .aIcon::after {
    color: var(--color-secondary-light, #b8a596);
    word-break: keep-all;
    letter-spacing: 0.1em;
    font-size: clamp(1rem, 0.9rem + 0.28vw, 1.13rem);
    font-family: "Noto Serif TC", "微軟正黑體", "Microsoft JhengHei", sans-serif;
    font-weight: 500;
    display: block;
    margin-top: 4px;
}

/* 餐食圖示 */
.tourItinerary .aInfo.aFood .aIcon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M18 8h1a4 4 0 0 1 0 8h-1M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z'/%3E%3Cline x1='6' y1='1' x2='6' y2='4'/%3E%3Cline x1='10' y1='1' x2='10' y2='4'/%3E%3Cline x1='14' y1='1' x2='14' y2='4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M18 8h1a4 4 0 0 1 0 8h-1M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z'/%3E%3Cline x1='6' y1='1' x2='6' y2='4'/%3E%3Cline x1='10' y1='1' x2='10' y2='4'/%3E%3Cline x1='14' y1='1' x2='14' y2='4'/%3E%3C/svg%3E");
}

.tourItinerary .aInfo.aFood .aIcon::after {
    content: "餐食";
}

/* 飯店圖示 */
.tourItinerary .aInfo.aHotel .aIcon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M3 21h18M3 7v14M21 7v14M6 11h12M6 7V3h12v4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M3 21h18M3 7v14M21 7v14M6 11h12M6 7V3h12v4'/%3E%3C/svg%3E");
}

.tourItinerary .aInfo.aHotel .aIcon::after {
    content: "飯店";
}

/* 特色圖示 */
.tourItinerary .aInfo.aFeature .aIcon::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpolygon points='12,2 15,8.5 22,9.3 17,14 18.2,21 12,17.8 5.8,21 7,14 2,9.3 9,8.5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpolygon points='12,2 15,8.5 22,9.3 17,14 18.2,21 12,17.8 5.8,21 7,14 2,9.3 9,8.5'/%3E%3C/svg%3E");
}

.tourItinerary .aInfo.aFeature .aIcon::after {
    content: "特色";
}

/* 內容區 - 模擬 galilee 的 .context */
.tourItinerary .aInfo .aContent {
    flex-grow: 1;
    padding-inline-start: 1rem;
}

/* 隱藏 aLabel - galilee 的標籤在 icon::after 呈現 */
.tourItinerary .aInfo .aLabel {
    display: none;
}

/* 內容文字 - 模擬 galilee 的 .context 樣式 */
.tourItinerary .aInfo .aText {
    font-size: 15px;
    color: var(--color-grey-d5, #444);
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.tourItinerary .aInfo .aText .mealItem {
    display: block;
    margin-bottom: 3px;
}

/* ========================================
   領隊的話
   ======================================== */
.tourItinerary .aDay .aLeaderNote {
    background: #f5f5f3;
    padding: 25px 30px;
    margin: 20px 20px 0;
    border-radius: 4px;
    border-left: 3px solid #C1B38F;
}

.tourItinerary .aLeaderNote .noteHeader {
    margin-bottom: 10px;
}

.tourItinerary .aLeaderNote .noteLabel {
    font-size: 14px;
    font-weight: 600;
    color: #C1B38F;
}

.tourItinerary .aLeaderNote .noteContent {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
}

/* ========================================
   RWD 響應式 - tourItinerary
   ======================================== */

/* 桌面版 - headlineZone 調整 (min-width: 48rem = 768px) */
@media screen and (min-width: 48rem) {

    /* headlineZone 容器寬度調整 */
    .tourItinerary .aDay .headlineZone {
        width: 64.84375%;
        margin-block-end: 0;
        padding-inline-end: 2rem;
    }

    /* 背景色塊 before */
    .tourItinerary .aDay .headlineZone::before {
        border-radius: var(--symboIG60, 3.75rem 3.75rem 0 3.75rem);
        aspect-ratio: 5 / 1.6;
        width: 120.4819277108%;
        left: 0;
        right: auto;
        transform: translate(65.6626506024%, 87.5%);
    }

    /* L形邊框 after */
    .tourItinerary .aDay .headlineZone::after {
        width: 138.5542168675%;
        height: 4.15625rem;
        transform: translateX(-27.9130434783%);
    }

    /* Leader Note Label */
    .tourItinerary .aLeaderNote .noteLabel {
        font-size: 1.2rem;
        color: #0f172a;
    }
}

@media screen and (max-width: 1200px) {
    .tourItinerary .aPagination.sideNav {
        left: 20px;
    }

    .tourItinerary .aDaysContent {
        margin-left: 80px;
    }
}

@media screen and (max-width: 1024px) {
    .tourItinerary .aDay {
        padding: 50px 0;
    }

    .tourItinerary .aDay .order .dayNum {
        font-size: 52px;
    }

    .tourItinerary .aDay .hTitle {
        font-size: 18px;
    }

    .tourItinerary .aDay .aDayContent {
        flex-direction: column;
        gap: 30px;
    }

    .tourItinerary .aDay .descriptionZone {
        flex: 0 0 auto;
        width: 100%;
        min-width: auto;
    }

    .tourItinerary .aDay .aFooter {
        gap: 2%;
    }

    .tourItinerary .aInfo {
        width: 48%;
    }
}

@media screen and (max-width: 768px) {

    /* 手機版：隱藏左側導航 */
    .tourItinerary .aPagination.sideNav {
        display: none;
    }

    .tourItinerary .aDaysContent {
        margin-left: 0;
    }

    .tourItinerary .aDay {
        padding: 40px 0;
    }

    .tourItinerary .aDay .aHead {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 0 15px;
        margin-bottom: 0px;
    }

    .tourItinerary .aDay .headlineZone {
        margin-block-end: 30px;
    }

    .tourItinerary .aDay .order .dayNum {
        font-size: 42px;
    }

    .tourItinerary .aDay .hTitle {
        font-size: 16px;
    }

    .tourItinerary .aDay .aDayContent {
        padding: 0px;
    }

    .tourItinerary .photoSwiper .swiper-slide {
        width: 85%;
    }

    .tourItinerary .aDay .descriptionZone .aDesc {
        padding: 20px;
    }

    .tourItinerary .aDay .aFooter {
        flex-direction: column;
        gap: 0;
        padding: 0px;
        padding-bottom: 30px;
        padding-top: 30px;
        margin-top: 0px;
    }

    .tourItinerary .aInfo {
        width: 100%;
        margin-block-end: 1rem;
    }

    .tourItinerary .aInfo .aIcon {
        width: 25%;
    }

    .tourItinerary .aDay .aLeaderNote {
        margin: 0;
        padding: 20px;
    }

    /* 手機版隱藏背景色塊 */
    .tourItinerary .aDay .photosZone .photosBg {
        display: none;
    }

    /* 手機版 Swiper 按鈕定位 (Slide width 85% -> Image Height 63.75% -> Center 31.875%) */
    .tourItinerary .photoSwiper .swiper-button-prev,
    .tourItinerary .photoSwiper .swiper-button-next {
        margin-top: calc(31.875% - 18px);
    }

    /* 手機版景點敘述：完整顯示，不要省略 */
    .tourItinerary .photoSwiper .photoContent .text {
        display: block;
        -webkit-line-clamp: unset;
        -webkit-box-orient: unset;
        overflow: visible;
        line-clamp: unset;
    }
}

/* ========================================
   Google 評論區塊
   ======================================== */

.at-reviews-section {
    background-color: #342e2a;
    padding: 60px 0;
    width: 100%;
}

.at-reviews-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

/* 標題區塊 */
.at-reviews-header {
    text-align: center;
    margin-bottom: 40px;
}

.at-reviews-title-icon {
    margin-bottom: 10px;
}

.at-reviews-title-icon .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #A6D96A;
}

.at-reviews-main-title {
    color: #f1edea;
    font-size: 28px;
    font-weight: 500;
    margin: 0 0 5px 0;
    letter-spacing: 0.1em;
}

.at-reviews-sub-title {
    color: #b1927b;
    font-size: 24px;
    font-weight: 400;
    margin: 0 0 15px 0;
    letter-spacing: 0.1em;
}

.at-reviews-intro {
    color: #b1927b;
    font-size: 18px;
    font-weight: 500;
    line-height: 2rem;
    margin: 0;
}

/* 評論卡片網格 */
.at-reviews-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

.at-review-card-wrapper {
    flex: 0 0 calc(25% - 15px);
    max-width: calc(25% - 15px);
}

/* 評論卡片 - 漸層背景 */
.at-review-card {
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #4AA3C0 0%, #A6D96A 100%);
    border-radius: 12px;
    padding: 25px 20px;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    min-height: 280px;
    position: relative;
}

.at-review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    text-decoration: none;
}

/* 評分 */
.at-review-rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #f6f7fa;
    font-size: 14px;
    margin-bottom: 15px;
}

.at-review-rating .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* 內容區 */
.at-review-content {
    color: #f1edea;
    flex: 1;
    overflow: hidden;
}

/* ========================================
   評論卡片文字層次設計 (UI/UX MAX PRO)
   ======================================== */

/* 主標題 - 最高層次，純白 + 粗體 + 陰影 */
.at-review-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 12px;
    color: #FFFFFF;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    letter-spacing: 0.02em;
}

/* 副標題（作者名）- 中高層次，金色突出 */
.at-review-subtitle {
    font-size: 15px;
    color: #0B3C5D;
    margin-bottom: 16px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
}

/* 內文 - 深藍色 */
.at-review-text {
    font-size: 14px;
    color: #0B3C5D;
    line-height: 1.9;
    display: -webkit-box;
    line-clamp: 4;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* 查看連結 - 深藍色，始終固定在底部 */
.at-review-link {
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid rgba(11, 60, 93, 0.3);
    color: #0B3C5D;
    font-size: 14px;
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.at-review-link:hover {
    color: #4A8EC2;
}

/* 響應式 - 平板 */
@media (max-width: 992px) {
    .at-review-card-wrapper {
        flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
}

/* 響應式 - 手機 */
@media (max-width: 576px) {
    .at-reviews-section {
        padding: 40px 0;
    }

    .at-reviews-header {
        margin-bottom: 30px;
    }

    .at-reviews-main-title {
        font-size: 22px;
    }

    .at-reviews-sub-title {
        font-size: 18px;
    }

    .at-reviews-intro {
        font-size: 15px;
    }

    .at-review-card-wrapper {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .at-review-card {
        padding: 20px 15px;
    }
}

/* ========================================
   Line 洽詢按鈕
   ======================================== */
.at-line-button-wrapper {
    width: 100%;
    margin-top: 20px;
}

.at-line-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #06C755;
    /* Line Brand Color */
    color: #fff !important;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 30px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    gap: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.at-line-btn:hover {
    background-color: #05b34c;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(6, 199, 85, 0.3);
}

.at-line-icon {
    width: 20px;
    height: 20px;
    background-image: url('LINE_logo.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: inline-block;
}

/* ========================================
   行程檔隨身帶按鈕
   ======================================== */
.at-trip-document-section {
    padding: 30px 0;
    background: #ffffff;
}

.at-document-button-wrapper {
    width: 100%;
    text-align: center;
}

.at-document-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--at-trip-secondary);
    /* Teal #6FC3B2 */
    color: #fff !important;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 30px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    gap: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.at-document-btn:hover {
    background-color: #5ab0a0;
    /* Slightly darker teal for hover */
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(111, 195, 178, 0.3);
    text-decoration: none;
}

.at-document-icon {
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6D96A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: inline-block;
}

/* 響應式 */
@media (max-width: 768px) {
    .at-trip-document-section {
        padding: 20px 0;
    }

    .at-document-btn {
        font-size: 15px;
        padding: 10px 25px;
    }
}

/* ========================================
   參團說明區塊 - 仿效 galilee.com.tw tourInfo
   ======================================== */
/* Section 容器 */
.aSection.tourInfo {
    position: relative;
    background-color: #f6f7fa;
}

.aSection.tourInfo .scrolltag {
    position: absolute;
    top: -80px;
}

/* Wrapper */
.aSection.tourInfo .wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

/* 標題 headlineTitle */
.aSection.tourInfo .headlineTitle {
    font-family: "Noto Serif TC", "微軟正黑體", "Microsoft JhengHei", sans-serif;
    font-weight: 600;
    color: var(--color-secondary-light, #b8a596);
    letter-spacing: 0.3em;
    font-size: clamp(1.25rem, 0.6rem + 1.83vw, 2.06rem);
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-block: 1em;
    margin-block-end: 0;
}

.aSection.tourInfo .headlineTitle span {
    width: fit-content;
    word-break: keep-all;
    white-space: nowrap;
}

.aSection.tourInfo .headlineTitle i {
    position: relative;
    flex-grow: 1;
    width: 100%;
    height: 2px;
}

.aSection.tourInfo .headlineTitle i::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    inset-inline-start: 0;
    inset-block-end: 0;
    background-image: linear-gradient(90deg, var(--color-secondary-light, #b8a596) 50%, transparent 50%);
    background-size: 8px 100%;
    background-repeat: repeat-x;
}

/* ExpandWrap 容器 */
.aSection.tourInfo .expandWrap {
    position: relative;
}

.aSection.tourInfo .expandWrap:has(.expand.on) {
    padding-block-end: 8rem;
}

/* ExpandBox 內容區 */
.aSection.tourInfo .expandBox {
    height: var(--expandBox-height, 600px);
    max-height: 1000000px;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.aSection.tourInfo .expandBox.on {
    height: fit-content;
    transition: all 0.35s linear;
}

/* erpEditor 內容樣式 */
.aSection.tourInfo .erpEditor {
    font-size: 15px;
    line-height: 2;
    color: #444;
    letter-spacing: 0.05em;
}

.aSection.tourInfo .erpEditor strong {
    display: block;
    font-size: 17px;
    font-weight: 600;
    color: var(--color-secondary-light, #b8a596);
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

.aSection.tourInfo .erpEditor strong:first-child {
    margin-top: 0;
}

.aSection.tourInfo .erpEditor img {
    max-width: 100% !important;
}

.aSection.tourInfo .erpEditor a {
    text-decoration: none;
    color: var(--color-secondary-light, #b8a596);
    letter-spacing: 0.1em;
    position: relative;
}

.aSection.tourInfo .erpEditor a:hover {
    text-decoration: underline;
}

/* Expand 按鈕區塊 - 漸層遮罩 + 按鈕 */
.aSection.tourInfo .expand {
    position: absolute;
    bottom: -1px;
    width: 100%;
    height: var(--whiteMask-height, 20rem);
    text-align: center;
    background: -webkit-linear-gradient(top, rgba(244, 247, 250, 0) 0%, #F4F7FA 100%);
    background: linear-gradient(to bottom, rgba(244, 247, 250, 0) 0%, #F4F7FA 100%);
    transition: opacity 1s linear;
    display: none;
}

.aSection.tourInfo .expand.show {
    opacity: 1;
    display: block;
}

.aSection.tourInfo .expand.on {
    --whiteMask-height: fit-content;
}

/* 按鈕本體（排除 .tourinfo-expand，它使用獨立樣式） */
.aSection.tourInfo .expand button:not(.tourinfo-expand) {
    --textLinkColor: var(--color-grey-d5, #666);
    transition: all 0.1s linear;
    pointer-events: auto;
    width: 6rem;
    height: 6rem;
    text-align: initial;
    position: absolute;
    bottom: 0;
    margin-inline: auto;
    inset-inline: 0;
    background: transparent;
    border: none;
    cursor: pointer;
}

/* 按鈕箭頭（排除 .tourinfo-expand，它不使用 i 元素） */
.aSection.tourInfo .expand button:not(.tourinfo-expand) i {
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: -1px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* 按鈕文字 */
/*.aSection.tourInfo .expand i::after {
    content: var(--text, "展開看更多");
    position: relative;
    white-space: nowrap;
    color: var(--color-grey-d5, #666);
    font-size: 14px;
    text-align: center;
}*/

.aSection.tourInfo .expand.on i::after {
    --text: "收合";
}

/* ========================================
   tourInfo 專用展開按鈕樣式
   - 預設箭頭向下，文字「展開」
   - 展開後箭頭向上，文字「收合」
   ======================================== */

/* tourInfo 區塊的展開按鈕 - 與 at-trip-focus-section 的 .toExpand 樣式一致 */
.aSection.tourInfo .expand .toExpand.tourinfo-expand {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: transparent;
    border: none;
    padding: 20px;
    cursor: pointer;
    animation: bounce-arrow 1.5s ease-in-out infinite;
    /* 按鈕定位在底部居中 - 使用 inset-inline 實現居中 */
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: fit-content !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* tourInfo 展開按鈕 - 顯示文字 */
.aSection.tourInfo .expand .toExpand.tourinfo-expand .expand-text {
    display: block !important;
    font-size: 14px;
    color: var(--color-grey-d5, #666);
    white-space: nowrap;
    text-align: center;
    order: 2;
}

/* tourInfo 展開按鈕 - 隱藏偽元素文字（使用 span 元素替代） */
.aSection.tourInfo .expand .toExpand.tourinfo-expand::after {
    display: none;
}

/* tourInfo 展開按鈕 - 隱藏 i 元素（使用 ::before 偽元素繪製箭頭） */
.aSection.tourInfo .expand .toExpand.tourinfo-expand i {
    display: none !important;
}

/* tourInfo 箭頭 - 預設向下（chevron down） */
.aSection.tourInfo .expand .toExpand.tourinfo-expand::before {
    content: '' !important;
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 30px !important;
    height: 30px !important;
    border: none !important;
    border-right: 2px solid #333 !important;
    border-bottom: 2px solid #333 !important;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    order: 1;
}

/* tourInfo 展開後 - 箭頭向上 */
.aSection.tourInfo .expand.on .toExpand.tourinfo-expand::before {
    transform: rotate(-135deg);
}

/* tourInfo 展開後 - 按鈕仍然顯示（不隱藏） */
.aSection.tourInfo .expand.on .toExpand.tourinfo-expand {
    display: flex !important;
    animation: none;
}

/* 響應式 */
@media (max-width: 768px) {
    .at-trip-section-container {
        padding: 25px;
    }

    .aSection.tourInfo .wrapper {
        padding: 40px 20px;
    }

    .aSection.tourInfo .headlineTitle {
        font-size: 1.25rem;
        gap: 0.75rem;
    }

    .aSection.tourInfo .erpEditor {
        font-size: 14px;
        line-height: 1.9;
    }

    .aSection.tourInfo .erpEditor strong {
        font-size: 15px;
    }
}

.tourItinerary .photoSwiper .photo {
    border-radius: 20px;
}

.tourItinerary .aDay .descriptionZone .description {
    font-size: 16px;
}



.tourItinerary .aDay .headlineZone::before {
    display: none;
}

/* Reviews Section Background */
.at-reviews-section {
    background: #F5F7FA;
    padding: 60px 0;
}

/* Mobile Text Overflow Fix */
@media (max-width: 768px) {
    .tourItinerary .photoContent .text {
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        display: block !important;
        overflow: visible !important;
        max-height: none !important;
    }
}

.tourItinerary .aDay .order .dayLabel {
    color: #9fc934;
}

.tourItinerary .aDay .order .dayNum {
    color: #0883c4;
}

.at-review-rating {
    display: none;
}

.at-reviews-section {
    background: #F5F7FA;
    padding: 60px 0;
}

/* Reviews 標題配色 - 統一使用系統配色 */
.at-reviews-main-title {
    color: var(--at-trip-primary, #0B3C5D);
    /* 深藍 - 主標題 */
    font-size: 28px;
    font-weight: 600;
    line-height: 1.6;
}

.at-reviews-sub-title {
    color: var(--at-trip-accent, #A6D96A);
    /* 亮綠 - 副標題 */
    font-size: 24px;
    font-weight: 700;
}

.at-reviews-intro {
    color: var(--at-trip-text-light, #6B7280);
    /* 淺灰 - 說明文字 */
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
}