/* 首頁開頭畫面：營運狀態與跑馬燈隨內容捲動 */
.home-opening-status-row {
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    max-width: 760px;
    padding-right: 20px;
    margin-bottom: 16px;
}

.home-opening-status-row.is-chat-layout {
    /* 僅對話版面對齊訊息框：內距 42px 加上左邊距 10px；新版首頁不縮排。 */
    padding-left: 52px;
}

/* 首頁右緣與主題服務切齊，保留一般對話版面的內距。 */
.home-opening-status-row:not(.is-chat-layout) {
    padding-right: 0;
}

.home-opening-announcement-slot .home-announcement-dialog {
    padding-right: 0;
}

.home-opening-marquee-slot {
    flex: 1 1 0;
    min-width: 0;
}

.home-opening-marquee-slot .home-marquee-robot {
    margin-bottom: 0;
}

.home-opening-marquee-slot .home-marquee-dialog {
    max-width: none;
    margin-right: 0;
    padding-right: 0;
}

.home-opening-marquee-slot .home-marquee {
    max-width: none;
}

.home-opening-marquee-slot .home-marquee__detail {
    max-height: 40vh;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.home-marquee-robot .home-marquee-dialog {
    box-sizing: border-box;
    width: 100%;
    max-width: 680px;
    padding-left: 0;
}

.home-marquee {
    box-sizing: border-box;
    max-width: 600px;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    background: #fff7f2;
    color: #2f2f2f;
    font-family: "Noto Sans TC", sans-serif;
    font-size: 14px;
    line-height: 20px;
}

.home-marquee--expanded {
    border: 1px solid #f3d8c8;
    border-radius: 16px;
}

.home-marquee__summary {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    height: 40px;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 0;
    background: #fff7f2;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.home-marquee__summary:focus-visible {
    outline: 2px solid #db5009;
    outline-offset: -2px;
    border-radius: inherit;
}

.home-marquee--emergency .home-marquee__summary {
    background: #4b5563;
    color: #fff;
}

.home-marquee__bell {
    position: relative;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.home-marquee__bell::before {
    content: '';
    position: absolute;
    inset: -0.75px;
    background: url('HomeMarqueeComponent/images/bell.svg') center / 100% 100% no-repeat;
}

.home-marquee--emergency .home-marquee__bell::before {
    background-image: url('HomeMarqueeComponent/images/alert.svg');
}

.home-marquee__title {
    flex: 0 0 auto;
    margin-right: -2px;
    color: #db5009;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.home-marquee--expanded .home-marquee__title {
    flex: 1 1 auto;
    margin-right: 0;
}

.home-marquee--emergency .home-marquee__title,
.home-marquee--emergency .home-marquee__summary-text {
    color: #fff;
    font-weight: 500;
}

.home-marquee__summary-text {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    color: #6b7280;
    font-weight: 400;
    white-space: nowrap;
}

.home-marquee__arrow {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    background: url('HomeMarqueeComponent/images/chevron-down.svg') center / 16px 16px no-repeat;
    transform: rotate(-90deg);
}

.home-marquee--multiple .home-marquee__arrow {
    transform: none;
}

.home-marquee--emergency .home-marquee__arrow {
    background-image: url('HomeMarqueeComponent/images/chevron-right-white.svg');
    background-size: 5.5px 9.5px;
    transform: none;
}

.home-marquee--expanded .home-marquee__arrow {
    background-image: url('HomeMarqueeComponent/images/chevron-up.svg');
    background-size: 16px 16px;
    transform: none;
}

.home-marquee--emergency.home-marquee--expanded .home-marquee__arrow {
    filter: brightness(0) invert(1);
}

.home-marquee__detail {
    padding: 0 12px;
    border-radius: 12px;
    background: #fff;
}

.home-marquee__item {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 72px;
    padding: 8px 0;
    border-bottom: 1px solid #eef0f3;
}

.home-marquee__item:last-child {
    border-bottom: 0;
}

.home-marquee__item--clickable {
    cursor: pointer;
}

.home-marquee__item--clickable:hover .home-marquee__item-text {
    color: #db5009;
}

.home-marquee__item-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
    color: #db5009;
    font-size: 13px;
}

.home-marquee__item-heading strong {
    font-weight: 500;
}

.home-marquee__item-date {
    flex: 0 0 auto;
    color: #6b7280;
    font-size: 13px;
    font-weight: 400;
}

.home-marquee__item-text {
    color: #2f2f2f;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    word-break: break-word;
}

@media (max-width: 767px) {
    .home-opening-status-row {
        flex-direction: column;
        gap: 16px;
        padding-right: 10px;
        margin-bottom: 12px;
    }

    .home-opening-marquee-slot {
        flex: 0 0 auto;
        width: 100%;
    }

    .home-marquee-robot .home-marquee-dialog {
        margin-right: 0;
        padding-left: 0;
        padding-right: 10px;
    }

    .home-opening-marquee-slot .home-marquee-dialog {
        padding-right: 0;
    }
}
/* 高鐵文字泡泡內的文字連結，與後台編輯及預覽使用相同顏色。 */
.robot .dialog-box .text-bubble-content a,
.robot .dialog-box .text-bubble-content a:visited,
.robot .dialog-box .text-bubble-content a:hover,
.robot .dialog-box .text-bubble-content a:focus {
    color: #db5009;
}

/* 僅桌面寬版限制文字泡泡，縮短閱讀行長；牌卡及窄版維持原樣。 */
@media (min-width: 1200px) {
    .robot .dialog-box .message.text-bubble-content,
    .user .dialog-box .message {
        max-width: 60%;
        box-sizing: border-box;
        overflow-wrap: anywhere;
    }
}

/* 沿用輸入框上方的浮動按鈕；有未讀訊息時顯示固定文案。 */
.control-bar .smart_top { border: 0; color: #fff; }
.control-bar .smart_top.has-unread {
    width: auto;
    height: 36px;
    padding: 0 14px;
    line-height: 36px;
    font-size: 14px;
    white-space: nowrap;
}

/* 首頁開頭畫面：公告 */
.home-opening-announcement-slot {
    margin-bottom: 24px;
}

.home-announcement-robot .home-announcement-dialog {
    box-sizing: border-box;
    width: 100%;
    max-width: 760px;
    padding-left: 0;
}

.home-announcement__carousel {
    width: 100%;
}

.home-announcement__carousel:not(.slick-initialized)
    .home-announcement__slide:not(:first-child) {
    display: none;
}

.home-announcement__carousel .slick-list {
    /* Slick 寫入的是卡片高度；上下留白須另計，避免 border-box 裁掉底框。 */
    box-sizing: content-box;
    width: 100%;
    padding: 3px 0 10px;
    overflow: hidden;
}

.home-announcement__carousel .slick-slide {
    box-sizing: border-box;
    height: auto;
    margin: 0 !important;
}

.home-announcement__carousel .slick-slide > div,
.home-announcement__carousel .home-announcement__slide {
    box-sizing: border-box;
    width: 100%;
}

.home-announcement__carousel.slick-dotted {
    margin-bottom: 34px;
}

.home-announcement__carousel .slick-dots {
    bottom: -27px;
    display: block !important;
}

/* 窄版與多媒體相同：圓點隨當頁高度移動，保留約 18px 間距。 */
.home-announcement__carousel--compact.slick-dotted {
    margin-bottom: 0;
    padding-bottom: 32px;
}
.home-announcement__carousel--compact .slick-list { padding-bottom: 0; }
.home-announcement__carousel--compact .slick-dots { bottom: 4px; }

.home-announcement__carousel .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 5px;
    vertical-align: middle;
    transition: width 0.2s ease;
}

.home-announcement__carousel .slick-dots li.slick-active {
    width: 26px;
}

.home-announcement__carousel .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 999px;
    background: #70757d;
}

.home-announcement__carousel .slick-dots li.slick-active button {
    width: 26px;
    background: #e47b49;
}

.home-announcement__carousel .slick-dots li button:before {
    display: none;
}

.home-announcement {
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid #e2e5e9;
    border-radius: 16px;
    background: #fff;
    color: #2f2f2f;
    box-shadow: none;
    font-family: "Inter", "Noto Sans TC", sans-serif;
}
.home-announcement::before {
    content: '';
    position: absolute;
    left: 20px;
    top: 20px;
    bottom: 20px;
    width: 4px;
    border-radius: 2px;
    background: #db5009;
}
.home-announcement__card { padding: 20px 20px 20px 40px; }
.home-announcement__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.home-announcement__heading {
    display: flex;
    flex-wrap: wrap;
    min-width: 0;
    align-items: center;
    gap: 8px;
}
.home-announcement__title {
    color: #db5009;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    overflow-wrap: anywhere;
}
.home-announcement__badge, .home-announcement__tag {
    display: inline-block;
    border-radius: 999px;
    font-weight: 500;
}
.home-announcement__badge {
    padding: 4px 7px;
    background: #db5009;
    color: #fff;
    font-size: 12px;
    line-height: 16px;
}
.home-announcement__tag {
    padding: 4px 10px;
    background: rgba(255, 243, 205, 0.8);
    color: #9a6b00;
    font-size: 14px;
    line-height: 24px;
    overflow-wrap: anywhere;
}
.home-announcement__content { font-size: 15px; line-height: 25px; }
.home-announcement__group + .home-announcement__group { margin-top: 12px; }
.home-announcement__content .rich-text p { margin: 0 0 6px; }
/* 標準清單需明確還原，避免全站 reset 隱藏項目符號。 */
.home-announcement__content .rich-text ul,
.home-announcement__content .rich-text ol { margin: 0 0 6px; padding-left: 1.5em; list-style-position: outside; }
.home-announcement__content .rich-text ul { list-style-type: disc; }
.home-announcement__content .rich-text ol { list-style-type: decimal; }
.home-announcement__content .rich-text li { display: list-item; list-style-type: inherit; }
.home-announcement__content .rich-text p:last-child,
.home-announcement__content .rich-text ul:last-child,
.home-announcement__content .rich-text ol:last-child { margin-bottom: 0; }
.home-announcement__metadata,
.home-announcement__operation-status,
.home-announcement__notice,
.home-announcement__date-card {
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    padding: 12px;
    border-radius: 8px;
    background: #f7f8fa;
    overflow-wrap: anywhere;
}
.home-announcement__metadata,
.home-announcement__operation-status {
    color: #4b5563;
    font-size: 14px;
    line-height: 20px;
}
.home-announcement__metadata {
    padding: 16px;
    line-height: 26px;
}
.home-announcement__metadata > .home-announcement__block + .home-announcement__block { margin-top: 0; }
.home-announcement__metadata .rich-text p { margin-bottom: 8px; }
.home-announcement__metadata .rich-text p:last-child { margin-bottom: 0; }
/* 營運資訊將方向與區間合併顯示，手機版可自然換行。 */
.home-announcement__metadata--operation {
    width: 100%;
    /* 與設計稿一致，白底標籤的內距另計，不增加文字行高。 */
    line-height: 22px;
}
.home-operation-detail__row { margin-top: 8px; }
.home-operation-detail__range {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 0;
    max-width: 100%;
    padding: 3px 10px;
    border-radius: 5px;
    background: #fff;
    vertical-align: middle;
}
.home-operation-detail__range > span + span {
    border-left: 1px solid #e5e7eb;
    margin-left: 10px;
    padding-left: 10px;
}
.home-announcement__block-title { display: block; margin-bottom: 6px; font-weight: 600; }
.home-announcement__date-card { padding: 16px 12px; text-align: center; }
.home-announcement__date-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 15px;
    font-weight: 500;
    line-height: 25px;
}
.home-announcement__date-row + .home-announcement__date-row { margin-top: 8px; }
.home-announcement__date-row--sale {
    padding: 6px 12px;
    border-radius: 999px;
    background: #6b7280;
    color: #fff;
}
.home-announcement__links {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 0;
    border-top: 1px solid rgba(229, 231, 235, 0.8);
    padding-top: 12px;
}
.home-announcement__links-label {
    display: none;
    flex: 0 0 100%;
    color: #9ca3af;
    font-size: 13px;
    line-height: 20px;
}
.home-announcement__links > .home-announcement__links-label { display: block; }
.home-announcement__links > .home-announcement__block + .home-announcement__block {
    position: relative;
    margin-left: 8px;
    padding-left: 9px;
}
.home-announcement__links > .home-announcement__block + .home-announcement__block::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    height: 12px;
    border-left: 1px solid #e5e7eb;
}
.home-announcement__related-link button,
.home-announcement__toggle {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}
.home-announcement__related-link button {
    color: #db5009;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    text-align: left;
    overflow-wrap: anywhere;
}
.home-announcement__notice-button {
    margin-top: 8px;
    padding: 6px 12px;
    border: 1px solid #db5009;
    border-radius: 8px;
    background: #fff;
    color: #db5009;
    cursor: pointer;
    font-weight: 600;
}
.home-announcement__footer { display: none; justify-content: flex-end; margin-top: 12px; }
.home-announcement__toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #6b7280;
    font-size: 14px;
    line-height: 20px;
}
.home-announcement__toggle-icon {
    width: 9.5px;
    height: 5.5px;
    background: url('HomeAnnouncementComponent/images/chevron-up.svg') center / 100% 100% no-repeat;
    transform: rotate(180deg);
}
.home-announcement__card--expanded .home-announcement__toggle-icon { transform: none; }
.home-announcement__toggle:hover,
.home-announcement__related-link button:hover,
.home-announcement__notice-button:hover { color: #c94408; }
@media (max-width: 767px) {
    .home-opening-announcement-slot { margin-bottom: 20px; }
    .home-announcement-robot .home-announcement-dialog {
        margin-right: 0;
        padding-left: 0;
        padding-right: 10px;
    }
    .home-announcement__group, .home-announcement__block { display: none; }
    .home-announcement__group--summary,
    .home-announcement__block--summary,
    .home-announcement__card--expanded .home-announcement__group,
    .home-announcement__card--expanded .home-announcement__block { display: block; }
    .home-announcement__links.home-announcement__group--summary,
    .home-announcement__card--expanded .home-announcement__links { display: flex; }
    .home-announcement__footer { display: flex; }
}
/* 首頁開頭畫面：主題服務 */
.home-opening-topic-slot {
    margin-bottom: 24px;
}

/* 首頁熱門 Q&A，僅改變首頁推薦的外觀，點擊沿用 handleCLink。 */
.home-opening-faq-recommendation-slot {
    width: 100%;
    max-width: 760px;
    margin-bottom: 24px;
}

.home-popular-faq__title {
    margin: 0 0 14px;
    color: #30353b;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.home-popular-faq__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.home-popular-faq__question {
    min-width: 0;
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid #e2e5e9;
    border-radius: 12px;
    background: #fff;
    color: #343a40;
    font: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    text-align: left;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.home-popular-faq__question:hover {
    color: #e9550d;
    border-color: #e9550d;
}

.home-popular-faq__question:focus-visible {
    outline: 2px solid #e9550d;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .home-popular-faq__list {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

.home-topic {
    box-sizing: border-box;
    width: 100%;
    max-width: 760px;
    padding: 24px;
    border-radius: 20px;
    background: #f7f8fa;
    color: #343a40;
}

.home-topic__header {
    display: flex;
    min-height: 28px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.home-topic__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

.home-topic__more {
    display: flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #68717e;
    cursor: pointer;
    font-size: 14px;
    line-height: 24px;
}

.home-topic__more:hover,
.home-topic__more:focus {
    color: #e9550d;
}

.home-topic__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px 32px;
    padding: 10px 12px;
    background: #fff;
}

.home-topic--compact .home-topic__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 0;
    padding: 10px 0;
}

.home-topic__item {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-direction: column;
    gap: 16px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.home-topic__item:hover,
.home-topic__item:focus {
    background: #fff;
    color: #e9550d;
    outline: none;
    box-shadow: 0 2px 8px rgba(70, 74, 82, 0.1);
}

.home-topic__icon-wrap {
    display: flex;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
}

.home-topic__icon {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.home-topic__name {
    width: 100%;
    overflow: hidden;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-topic--compact {
    padding: 20px;
}

.home-topic--compact .home-topic__header {
    min-height: 24px;
    margin-bottom: 24px;
}

.home-topic--compact .home-topic__title {
    font-size: 18px;
    line-height: 24px;
}

.home-topic--compact .home-topic__name {
    font-size: 14px;
    line-height: 20px;
}

@media (max-width: 767px) {
    .home-opening-topic-slot {
        margin-bottom: 20px;
        padding-right: 10px;
    }
}

/* 首頁開頭畫面：多媒體內容展示 */
.home-opening-multimedia-slot {
    margin-bottom: 28px;
}

.home-multimedia {
    box-sizing: border-box;
    width: 100%;
    max-width: 760px;
    color: #343a40;
}

.home-multimedia__header {
    display: flex;
    min-height: 30px;
    align-items: center;
    margin-bottom: 14px;
}

.home-multimedia__title {
    font-size: 20px;
    line-height: 1.4;
}

.home-multimedia__list {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 20px;
}

.home-multimedia__list:not(.slick-initialized) {
    overflow-x: auto;
    padding: 1px 0 9px;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.home-multimedia__list.slick-initialized {
    display: block;
}

.home-multimedia__slide {
    max-width: var(--multimedia-available-width, 100%);
    min-width: 0;
    flex-shrink: 0;
    scroll-snap-align: start;
}

/* 以整頁為輪播單位，頁內卡片只出現一次。 */
.home-multimedia__page {
    box-sizing: border-box;
    width: 100%;
    flex: 0 0 100%;
    min-width: 0;
    scroll-snap-align: start;
}

.home-multimedia__page-content {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
}

.home-multimedia__slide--video .home-multimedia__card--horizontal {
    flex-wrap: wrap;
}

.home-multimedia__slide--video .home-multimedia__copy { flex-basis: 160px; }

.home-multimedia .slick-slide {
    margin-right: 0;
}

.home-multimedia__slide--horizontal {
    /* 橫式卡獨占整排，與熱門 Q&A 的左右邊界對齊。 */
    width: var(--multimedia-available-width, 100%);
}

.home-multimedia__slide--vertical,
.home-multimedia__slide--text {
    width: var(--multimedia-card-width, 337px);
}

.home-multimedia__card {
    box-sizing: border-box;
    width: 100%;
    overflow: hidden;
    border: 1px solid #e2e5e9;
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
}

.home-multimedia__card--horizontal {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 14px;
    min-height: 116px;
}

.home-multimedia__card--horizontal[role="link"] {
    cursor: pointer;
}

.home-multimedia__card--horizontal[role="link"]:hover,
.home-multimedia__card--horizontal[role="link"]:focus {
    border-color: #e9550d;
    outline: none;
    box-shadow: 0 3px 10px rgba(233, 85, 13, 0.14);
}

.home-multimedia__media {
    position: relative;
    overflow: hidden;
    background: #f1f3f5;
}

.home-multimedia__card--horizontal .home-multimedia__media {
    flex: 0 0 130px;
    width: 130px;
    height: 73.125px;
}

.home-multimedia__card--vertical .home-multimedia__media {
    width: 100%;
    height: 156px;
}

/* Embedded players need at least 200px in both dimensions. */
.home-multimedia__slide--horizontal.home-multimedia__slide--video {
    width: var(--multimedia-available-width, 100%);
}

.home-multimedia__card--horizontal .home-multimedia__media--video {
    /* 影片換行獨占一列時水平置中，文字區仍維持靠左。 */
    margin-left: auto;
    margin-right: auto;
    flex: 0 0 356px;
    width: 356px;
    height: 200px;
    max-width: 100%;
}

.home-multimedia__card--vertical .home-multimedia__media--video {
    height: 200px;
}

.home-multimedia__media img,
.home-multimedia__media video,
.home-multimedia__media iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.home-multimedia__media img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: contain;
    object-position: center;
    background: #fff;
}

.home-multimedia__card--vertical .home-multimedia__media--image {
    height: auto;
}

.home-multimedia__card--vertical .home-multimedia__media--image img {
    position: static;
    height: auto;
}

.home-multimedia__card--horizontal.home-multimedia__card--image {
    align-items: stretch;
    gap: 0;
    padding: 0;
    min-height: 0;
}

.home-multimedia__card--horizontal.home-multimedia__card--image .home-multimedia__media--image {
    /* 圖片與文字各占一半，圖片高度依原圖比例呈現。 */
    flex: 0 0 50%;
    width: 50%;
    height: auto;
}

.home-multimedia__card--horizontal.home-multimedia__card--image .home-multimedia__media--image img {
    /* 完整顯示原圖，不拉伸或裁切。 */
    position: static;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.home-multimedia__card--horizontal.home-multimedia__card--image .home-multimedia__copy {
    flex: 1 1 0;
    justify-content: center;
    padding: 16px;
}

/* 橫式圖片上下排列，整組維持全寬，縮小圖片區以降低單張高度。 */
.home-multimedia__page-content--stacked {
    flex-direction: column;
    gap: 16px;
}

.home-multimedia__page-content--stacked .home-multimedia__card--horizontal.home-multimedia__card--image .home-multimedia__media--image {
    flex-basis: 36%;
    width: 36%;
}

.home-multimedia__page-content--stacked .home-multimedia__card--horizontal.home-multimedia__card--image .home-multimedia__copy {
    padding: 10px 14px;
}

.home-multimedia__page-content--stacked .home-multimedia__item-title,
.home-multimedia__page-content--stacked .home-multimedia__summary {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

/* 480px 以下橫式圖片改為上圖下文，保留原圖比例並完整呈現文字。 */
.home-multimedia--portrait .home-multimedia__card--horizontal.home-multimedia__card--image {
    flex-direction: column;
}

.home-multimedia--portrait .home-multimedia__page-content--stacked .home-multimedia__card--image .home-multimedia__media--image {
    flex: 0 0 auto;
    width: 100%;
}

.home-multimedia--portrait .home-multimedia__page-content--stacked .home-multimedia__item-title,
.home-multimedia--portrait .home-multimedia__page-content--stacked .home-multimedia__summary {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
}

.home-multimedia__video-link {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 0;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    padding: 12px;
    border: 0;
    background: #3f4650;
    color: #fff;
    cursor: pointer;
}

.home-multimedia__video-link span:first-child {
    display: flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e9550d;
}

.home-multimedia__copy {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 16px;
}

.home-multimedia__card--horizontal .home-multimedia__copy {
    padding: 0;
}

.home-multimedia__card--horizontal .home-multimedia__summary {
    margin-top: 4px;
    line-height: 20px;
}

.home-multimedia__label {
    overflow: hidden;
    margin-bottom: 5px;
    color: #7b8490;
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-multimedia__item-title {
    color: #30353b;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.home-multimedia__summary {
    display: -webkit-box;
    overflow: hidden;
    margin: 7px 0 0;
    color: #68717d;
    font-size: 14px;
    line-height: 24px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.home-multimedia__action {
    align-self: flex-start;
    margin-top: 8px;
    padding: 5px 11px;
    border: 1px solid #e9550d;
    border-radius: 16px;
    background: #fff;
    color: #e9550d;
    cursor: pointer;
    font-size: 14px;
    line-height: 20px;
}

.home-multimedia__action:hover,
.home-multimedia__action:focus {
    background: #e9550d;
    color: #fff;
    outline: none;
}

.home-multimedia__card--text .home-multimedia__copy {
    min-height: 0;
}

.home-multimedia--compact .home-multimedia__header {
    margin-bottom: 12px;
}

.home-multimedia--compact .home-multimedia__title {
    font-size: 18px;
}

.home-multimedia__list.slick-dotted {
    margin-bottom: 0;
    padding-bottom: 22px;
}

.home-multimedia__list .slick-list {
    overflow: hidden;
    margin: 0;
}

/* 窄版圓點跟隨當頁內容，保留約 18px 間距。 */
.home-multimedia--compact .home-multimedia__list.slick-dotted {
    padding-bottom: 32px;
}

.home-multimedia__list .slick-slide {
    box-sizing: border-box;
    height: auto;
    padding: 1px 0;
}

.home-multimedia__list .slick-dots {
    position: absolute;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    bottom: 4px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.home-multimedia__list .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0;
    transition: width 0.2s ease;
}

.home-multimedia__list
    .slick-dots li.slick-active {
    width: 26px;
}

.home-multimedia__list .slick-dots li button {
    display: block;
    font-size: 0;
    line-height: 0;
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #70757d;
}

.home-multimedia__list
    .slick-dots li.slick-active button {
    width: 26px;
    background: #e47b49;
}

.home-multimedia__list
    .slick-dots li button:before {
    display: none;
}

@media (max-width: 767px) {
    .home-opening-multimedia-slot {
        margin-bottom: 22px;
    }
}
/* 首頁內容區企網營運狀態 */
.home-operation-status {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    max-width: 45%;
    text-decoration: none;
    cursor: default;
    color: #c49100;
    font-family: "Noto Sans TC", sans-serif;
    /* 營運狀態使用 15px 半粗體。 */
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
}

/* 覆蓋全域 a:hover／a:focus，無連結的正常營運狀態不顯示底線。 */
.home-operation-status:hover,
.home-operation-status:focus {
    text-decoration: none;
}

.home-operation-status[href]:not(.is-normal) {
    cursor: pointer;
}

.home-operation-status[href]:not(.is-normal):hover .home-operation-status__text,
.home-operation-status[href]:not(.is-normal):focus .home-operation-status__text {
    text-decoration: underline;
}

.home-operation-status__symbol {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    background: url('OperationStatus/images/alert.svg') center / 20px 20px no-repeat;
}

.home-operation-status__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-operation-status.is-normal {
    color: #4b7f22;
}

.home-operation-status.is-normal .home-operation-status__symbol {
    background-image: url('OperationStatus/images/normal.svg');
}

.home-operation-status.is-danger .home-operation-status__symbol {
    background-image: url('OperationStatus/images/stop.svg');
}

.home-operation-status.is-danger {
    color: #e51912;
}

.home-operation-status.is-warning {
    color: #c49100;
}

@media (max-width: 767px) {
    .home-operation-status {
        box-sizing: border-box;
        min-height: 28px;
        max-width: 100%;
    }
}
