﻿/* ========================================
   Latest News
======================================== */

.LatestNews {
    display: flex;
    width: 100%;
}


    /* Card */
    .LatestNews .card {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        padding: 18px;
        margin-bottom: 20px;
        background-color: #fff;
        border-radius: 4px;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
        transition: box-shadow 0.25s ease;
    }


        /* Card Hover */
        .LatestNews .card:hover {
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
        }


    /* Card Content */
    .LatestNews .card-content {
        padding: 0;
        /* 自動撐滿剩餘高度 */
        flex: 1;
    }


/* ========================================
   Title
======================================== */

.title-wrapper {
    display: flex;
    align-items: flex-start;
}


    .title-wrapper .meeting-info {
        width: 100%;
        font-size: 1.05rem;
        line-height: 1.25;
        font-weight: 700;
    }


        /* 標題 */
        .title-wrapper .meeting-info .pro-title {
            display: block;
            margin-top: 0;
            color: #222;
            font-size: 1.05rem;
            line-height: 1.3;
            font-weight: 700;
        }


    /* ========================================
   Date
======================================== */

    .title-wrapper .date-primary {
        display: flex;
        align-items: center;
        gap: 5px;
        width: auto;
        height: auto;
        margin: 0;
        padding: 0 0 10px 0;
        background-color: transparent;
        border-radius: 0;
        font-weight: 500;
    }

        .title-wrapper .date-primary .date-day,
        .title-wrapper .date-primary .date-month,
        .title-wrapper .date-primary .date-year {
            color: #4e73e5;
            font-size: 0.95rem;
            line-height: 1;
            font-weight: 600;
        }

            .title-wrapper .date-primary .date-month::after {
                content: ',';
            }



/* ========================================
   Description
======================================== */

.LatestNews p {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #444;
}


/* 限制摘要行數 */
.multiline-ellipsis {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}


/* ========================================
   Read More
======================================== */

.LatestNews .card-read-more {
    padding-left: 0;
    /*
       因為 card 是 flex-column，
       margin-top:auto 會讓按鈕固定靠底
    */
    margin-top: auto;
}


    /* Button */
    .LatestNews .card-read-more .btn {
        padding: 7px 14px;
        font-size: 0.95rem;
        border: 0;
    }


/* ========================================
   Owl Carousel 等高設定
======================================== */

/*
   Owl Carousel 原本每個 item
   會依自己的內容高度決定高度。

   改成 flex 後，
   同一排 item 會自動拉成相同高度。
*/
.gtco-testimonials .owl-stage {
    display: flex;
    align-items: stretch;
}


/* 每一個 Owl Item 撐滿高度 */
.gtco-testimonials .owl-item {
    display: flex;
    height: auto;
}


    /* LatestNews 撐滿 owl-item */
    .gtco-testimonials .owl-item .LatestNews {
        display: flex;
        width: 100%;
    }


/* ========================================
   Owl Carousel Brightness
   三張全部正常明亮
======================================== */

.gtco-testimonials .owl-item {
    opacity: 1;
    transition: all 0.3s ease;
}


    /* 避免 center 有不同透明度 */
    .gtco-testimonials .owl-item.center {
        opacity: 1;
    }


/* ========================================
   Owl Navigation / Dots
======================================== */

.gtco-testimonials .owl-nav {
    display: none;
}


.gtco-testimonials .owl-dots {
    text-align: center;
}


    .gtco-testimonials .owl-dots span {
        position: relative;
        display: block;
        width: 10px;
        height: 10px;
        margin: 0 5px;
        background: #fff;
        border: 2px solid #0095d9;
        border-radius: 50%;
    }


    .gtco-testimonials .owl-dots .active {
        box-shadow: none;
    }


        .gtco-testimonials .owl-dots .active span {
            width: 12px;
            height: 12px;
            margin-bottom: -1px;
            background: #0095d9;
            box-shadow: none;
        }


.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev {
    outline: 0;
}


.owl-carousel button.owl-dot {
    outline: 0;
}


/* ========================================
   Tablet
======================================== */

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

    .LatestNews .card {
        padding: 16px;
    }


    .title-wrapper .meeting-info {
        font-size: 1rem;
    }


        .title-wrapper .meeting-info .pro-title {
            font-size: 1rem;
        }


    .LatestNews p {
        font-size: 0.95rem;
    }
}


/* ========================================
   Mobile
======================================== */

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

    .LatestNews .card {
        padding: 16px;
    }


    .title-wrapper .date-primary {
        padding-bottom: 8px;
    }


        .title-wrapper .date-primary .date-day,
        .title-wrapper .date-primary .date-month,
        .title-wrapper .date-primary .date-year {
            font-size: 0.9rem;
        }

    .title-wrapper .meeting-info .pro-title {
        font-size: 1.15rem;
        line-height: 1.3;
    }


    .LatestNews p {
        margin-top: 1rem;
        margin-bottom: 1rem;
        font-size: 0.95rem;
        line-height: 1.5;
    }


    .LatestNews .card-read-more {
        padding-left: 0;
        margin-top: auto;
    }

    .LatestNews .read-more-link {
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding-bottom: 4px;
        color: #f36f21;
        font-size: 0.95rem;
        font-weight: 600;
        text-decoration: none;
        transition: all 0.25s ease;
    }

        /* 底線 */
        .LatestNews .read-more-link::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            width: 28px;
            height: 2px;
            background-color: #f36f21;
            transition: width 0.25s ease;
        }

    /* 箭頭 */
    .LatestNews .read-more-arrow {
        display: inline-block;
        font-size: 1.15rem;
        line-height: 1;
        transition: transform 0.25s ease;
    }

    /* Hover */
    .LatestNews .read-more-link:hover {
        color: #d85b12;
        text-decoration: none;
    }

        .LatestNews .read-more-link:hover::after {
            width: 100%;
        }

        .LatestNews .read-more-link:hover .read-more-arrow {
            transform: translateX(5px);
        }
}
