/* NCU PE — 視覺風格參考潤昇企業站（深色導覽、大字輪播、留白與層次）https://www.ramsun.com.tw/ */
:root {
    --ncupe-page: #f3f4f6;
    --ncupe-surface: #ffffff;
    --ncupe-nav: #0c0c0c;
    --ncupe-nav-text: rgba(255, 255, 255, 0.9);
    --ncupe-nav-divider: rgba(255, 255, 255, 0.08);
    --ncupe-accent: #c9a227;
    --ncupe-accent-dim: #9a7b1a;
    --ncupe-accent-soft: #e8d48b;
    --ncupe-text: #111827;
    --ncupe-muted: #6b7280;
    --ncupe-footer: #0c0c0c;
    --ncupe-hero-overlay: linear-gradient(to top, rgba(12, 12, 12, 0.75) 0%, rgba(12, 12, 12, 0.2) 45%, transparent 100%);
    --ncupe-radius: 2px;
    --ncupe-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
}

html {
    scroll-behavior: smooth;
}

body.theme-ncupe-corporate {
    font-family: "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--ncupe-text);
    background: var(--ncupe-page);
    padding-top: 64px;
    padding-bottom: 0;
    -webkit-font-smoothing: antialiased;
}

/* 訪客內頁：雙行站名時導覽實際高度可能超過 64px，避免 fixed 列與主內容重疊 */
body.theme-ncupe-corporate.ncupe-page-inner {
    padding-top: 88px;
}

/* 訪客內頁已改用 ncupe-navbar--guest。若誤留 --index，強制還原品牌列，避免 transform 放大命中區蓋住表單 */
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar--index .ncupe-navbar__brandRow {
    position: static !important;
    transform: none !important;
    z-index: auto !important;
    top: auto !important;
    left: auto !important;
    -webkit-font-smoothing: antialiased;
}

/*
 * 主內容僅需定位錨點時用 relative 即可。
 * 勿在此設較低的 z-index：內頁 Modal 若在 .body-content 內，會整塊被壓在 fixed-top 導覽列（~1030）下方，
 * 導致對話框底部按鈕無法點擊。內頁表單與頂欄的命中問題改由下方 nav 的 pointer-events 規則處理。
 */
body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner {
    position: relative;
}

/*
 * 內頁：頂欄若有「視覺上只占一行、但 hit-test 很大的區塊」（flex 留白、collapse 容器等），
 * 會蓋住下方表單導致無法輸入。讓列本身不接收事件，只讓真實可點元素接收。
 */
body.theme-ncupe-corporate.ncupe-page-inner > nav.ncupe-navbar {
    pointer-events: none;
}

body.theme-ncupe-corporate.ncupe-page-inner > nav.ncupe-navbar a,
body.theme-ncupe-corporate.ncupe-page-inner > nav.ncupe-navbar button,
body.theme-ncupe-corporate.ncupe-page-inner > nav.ncupe-navbar .dropdown-menu {
    pointer-events: auto;
}

/* 會員內頁：報表 iframe Modal — 限制高度並裁切 body，避免 flex/捲動與 iframe 命中區蓋住 footer */
/* 外框僅設 max-height，勿設過大 min-height，否則 body 被撐高、iframe 填不滿會在預覽與 footer 間留下大段空白 */
body.theme-ncupe-corporate .modal.ncupe-report-modal .modal-dialog {
    max-height: calc((100vh - 0.5rem) * 0.98);
    margin-top: 0.35rem;
    margin-bottom: 0.35rem;
}

body.theme-ncupe-corporate .modal.ncupe-report-modal .modal-content {
    max-height: calc((100vh - 0.5rem) * 0.98);
    display: flex;
    flex-direction: column;
}

body.theme-ncupe-corporate .modal.ncupe-report-modal .modal-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 550px;
    padding-bottom: 0.35rem;
    overflow: hidden;
}

body.theme-ncupe-corporate .modal.ncupe-report-modal .modal-footer {
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    margin-top: 0;
    padding-top: 0.5rem;
}

body.theme-ncupe-corporate .modal.ncupe-report-modal .ncupe-report-modal__iframe {
    flex: 1 1 auto;
    display: block;
    width: 100%;
    min-height: 300px;
    border: 0;
    align-self: stretch;
}

/* 首頁／會員首頁：白底導覽列（參考 ramsun.com.tw 頂欄氣質） */
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar.navbar.fixed-top,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar.navbar.fixed-top {
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-brand,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-brand,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-nav .nav-link,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-nav .nav-link {
    color: #111827 !important;
    font-weight: 500;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-brand:hover,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-brand:hover,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-nav .nav-link:hover,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-nav .nav-link:hover,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-nav .nav-link:focus,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-nav .nav-link:focus {
    color: #0f766e !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-nav .nav-link .bi,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-nav .nav-link .bi {
    color: #0f766e !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-brand .bi,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-brand .bi {
    color: #0f766e !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-toggler,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-toggler {
    border-color: #d1d5db;
    background: #fff;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-toggler-icon,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .nav-link.dropdown-toggle.show,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .nav-link.dropdown-toggle.show,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .nav-item.dropdown .nav-link.show,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .nav-item.dropdown .nav-link.show {
    background: #f3f4f6 !important;
    color: #111827 !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-collapse,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-collapse {
    border: none;
}

@media (max-width: 991.98px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-collapse,
    body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-collapse {
        border-top: 1px solid #e5e7eb;
        padding-top: 0.5rem;
    }
}

/* 首頁／會員首頁頂欄：品牌列、主選單與下拉（對齊內文約 17px、白底清單如設計稿） */
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar {
    overflow: visible;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .container,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .container {
    overflow: visible;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-navbar__brandRow .navbar-brand,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-navbar__brandRow .navbar-brand {
    margin-right: 0;
}

/*
 * 僅首頁：品牌（校徽＋站名）放大 2 倍並 fixed，壓過輪播。
 * 內頁不得套用：transform: scale 會擴大 hit-test 區塊，易蓋住表單輸入框（例如登入頁）。
 */
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-navbar__brandRow {
    position: fixed;
    top: 0.55rem;
    left: 0.75rem;
    z-index: 1045;
    transform: scale(2);
    transform-origin: top left;
    /* scale 會放大命中區，若不設 none 會蓋住整列頂欄（含漢堡），導致無法點擊 */
    pointer-events: none;
    -webkit-font-smoothing: antialiased;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-navbar__brandRow a {
    pointer-events: auto;
}

/* 與 Bootstrap .container 內容左緣對齊（斷點寬度與 BS5 一致） */
@media (min-width: 576px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-navbar__brandRow {
        left: max(0.75rem, calc((100vw - 540px) / 2 + 0.75rem));
    }
}

@media (min-width: 768px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-navbar__brandRow {
        left: max(0.75rem, calc((100vw - 720px) / 2 + 0.75rem));
    }
}

@media (min-width: 992px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-navbar__brandRow {
        left: max(0.75rem, calc((100vw - 960px) / 2 + 0.75rem));
    }
}

@media (min-width: 1200px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-navbar__brandRow {
        left: max(0.75rem, calc((100vw - 1140px) / 2 + 0.75rem));
    }
}

@media (min-width: 1400px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-navbar__brandRow {
        left: max(0.75rem, calc((100vw - 1320px) / 2 + 0.75rem));
    }
}

/*
 * fixed 後品牌列不佔 flex 寬度，需預留左側空間，避免漢堡／選單與放大後的品牌重疊。（僅首頁）
 */
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index > .container {
    padding-left: max(0.75rem, min(28rem, 54vw));
}

@media (min-width: 992px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index > .container {
        padding-left: max(1rem, min(36rem, 46vw));
    }
}

/* 浮動品牌在上層時，下拉選單須更高才不會被擋住（僅首頁） */
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .dropdown-menu.ncupe-nav-dropdown {
    z-index: 1060 !important;
}

/* 小螢幕：漢堡須高於放大品牌層，且 ms-auto 與 flex 搭配，否則品牌 fixed 脫離流後按鈕會卡在左側 */
@media (max-width: 991.98px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index > .container {
        padding-left: 0.75rem !important;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .navbar-toggler {
        position: relative;
        z-index: 1046;
        flex-shrink: 0;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .navbar-collapse {
        position: relative;
        z-index: 1046;
        width: 100%;
        flex-basis: 100%;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-nav-main {
        width: 100%;
        align-items: flex-start;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-nav-main > .nav-item,
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar--index .ncupe-nav-main > .nav-item > .nav-link {
        width: 100%;
        text-align: left;
    }
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-navbar__siteNameGroup,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-navbar__siteNameGroup {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-navbar__siteName,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-navbar__siteName {
    font-size: 1.05rem !important;
    font-weight: 600;
    margin-bottom: 0;
    padding-left: 0;
    margin-left: 0;
    border-left: none;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-navbar__siteName--pe,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-navbar__siteName--pe {
    padding-left: 0.65rem;
    margin-left: 0.15rem;
    border-left: 1px solid #e5e7eb;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-navbar__siteName--home,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-navbar__siteName--home {
    color: #3d3d3d !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-navbar__siteName--home:hover,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-navbar__siteName--home:focus,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-navbar__siteName--home:hover,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-navbar__siteName--home:focus {
    color: #1a1a1a !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-main,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-main {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

@media (min-width: 992px) {
    /*
     * Bootstrap 預設 .navbar > .container { justify-content: space-between }
     * 會讓 navbar-collapse 寬度＝內容寬，flex-grow 無效，選單永遠擠在右邊一小塊。
     * 改為 flex-start + collapse 吃滿剩餘寬；選單列用 flex-end + gap，避免少數連結被 space-between 撐開。
     */
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar > .container,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar > .container {
        justify-content: flex-start !important;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.75rem;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-collapse,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-collapse {
        display: flex !important;
        align-items: center;
        flex: 1 1 0% !important;
        min-width: 0;
        width: auto;
        /* collapse 吃滿寬度，讓內層 ul 可 flex-end 靠右成組 */
        justify-content: flex-start !important;
        border: none !important;
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* 勿用 space-between：項目少時會把連結撐滿整列，視覺間距過大 */
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-main,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-main {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 0.125rem;
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-main > .nav-item > .nav-link,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-main > .nav-item > .nav-link {
        padding-top: 0.65rem;
        padding-bottom: 0.65rem;
        padding-left: 0.65rem !important;
        padding-right: 0.65rem !important;
        white-space: nowrap;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-main .nav-link .ncupe-nav-ico,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-main .nav-link .ncupe-nav-ico,
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-main .nav-link.dropdown-toggle .bi,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-main .nav-link.dropdown-toggle .bi {
        margin-right: 0.4rem !important;
    }

    /* 下拉開啟時不撐高 li、與左右導覽項垂直對齊（caret 用 inline-flex 置中） */
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-main .nav-item.dropdown,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-main .nav-item.dropdown {
        position: relative;
        align-self: center;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-main .nav-link.dropdown-toggle,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-main .nav-link.dropdown-toggle {
        display: inline-flex !important;
        align-items: center !important;
        flex-wrap: nowrap;
        line-height: 1.25 !important;
    }

    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-main .nav-link.dropdown-toggle::after,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-main .nav-link.dropdown-toggle::after {
        margin-top: 0;
        margin-left: 0.28em;
        vertical-align: 0;
        flex-shrink: 0;
    }
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-nav .nav-link,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-nav .nav-link,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .navbar-nav .nav-link.dropdown-toggle,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .navbar-nav .nav-link.dropdown-toggle,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-navbar__brandRow .navbar-brand,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-navbar__brandRow .navbar-brand {
    font-size: 17px !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .dropdown-menu.ncupe-nav-dropdown,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .dropdown-menu.ncupe-nav-dropdown {
    position: absolute !important;
    top: 100%;
    min-width: min(100vw - 1.5rem, 38rem);
    width: max-content;
    max-width: min(100vw - 1rem, 48rem);
    max-height: min(70vh, 28rem);
    overflow-x: auto;
    overflow-y: auto;
    padding: 0.35rem 0;
    margin-top: 0;
    border: 1px solid #e5e7eb;
    border-top: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
}

@media (max-width: 991.98px) {
    body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .dropdown-menu.ncupe-nav-dropdown,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .dropdown-menu.ncupe-nav-dropdown {
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        margin-bottom: 0.35rem;
        border: 1px solid #e5e7eb;
        border-radius: 6px;
        box-shadow: none;
    }
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 14px !important;
    line-height: 1.35;
    padding: 0.55rem 1rem;
    color: var(--ncupe-text) !important;
    white-space: nowrap;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-dropdown .ncupe-nav-dropdown__item .ncupe-nav-ico-dropdown,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-dropdown .ncupe-nav-dropdown__item .ncupe-nav-ico-dropdown {
    flex-shrink: 0;
    margin-top: 0;
    color: #64748b !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-dd-deadline,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-dd-deadline {
    color: #2563eb;
    font-weight: 500;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item:hover,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item:hover,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item:focus,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item:focus {
    background: #f3f4f6;
    color: var(--ncupe-text) !important;
}

body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item:hover .ncupe-dd-deadline,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item:hover .ncupe-dd-deadline,
body.theme-ncupe-corporate.ncupe-page-home nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item:focus .ncupe-dd-deadline,
body.theme-ncupe-corporate.ncupe-page-inner nav.ncupe-navbar .ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item:focus .ncupe-dd-deadline {
    color: #1d4ed8;
}

/* Why：三欄重點（潤昇式 01／02／03） */
body.theme-ncupe-corporate .ncupe-home-pillars {
    background: var(--ncupe-surface);
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

body.theme-ncupe-corporate .ncupe-section-desc--center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 42em;
}

body.theme-ncupe-corporate .ncupe-pillar-row {
    margin-top: 28px;
}

body.theme-ncupe-corporate .ncupe-pillar {
    padding: 28px 22px 8px;
    height: 100%;
    background: #fafafa;
    border: 1px solid #e5e7eb;
    border-top: 3px solid #14b8a6;
    min-height: 240px;
}

body.theme-ncupe-corporate .ncupe-pillar__num {
    display: block;
    font-size: 2.25rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #d1d5db;
    line-height: 1;
    margin-bottom: 16px;
}

body.theme-ncupe-corporate .ncupe-pillar__title {
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0 0 12px;
    color: var(--ncupe-text);
    letter-spacing: 0.04em;
}

body.theme-ncupe-corporate .ncupe-pillar__text {
    font-size: 0.98rem;
    line-height: 1.75;
    color: var(--ncupe-muted);
    margin: 0;
}

body.theme-ncupe-corporate .ncupe-pillar-row > [class*="col-"] {
    margin-bottom: 20px;
}

@media (min-width: 992px) {
    body.theme-ncupe-corporate .ncupe-pillar-row > [class*="col-"]:last-child {
        margin-bottom: 0;
    }
}

/* 首頁 Why／三欄（#ncupe-why）：標題區字級與上一段 #ncupe-events 一致 */
body.theme-ncupe-corporate #ncupe-why .ncupe-kicker {
    font-size: 11px;
    letter-spacing: 0.12em;
}

body.theme-ncupe-corporate #ncupe-why .ncupe-home-h2 {
    font-size: clamp(1.15rem, 2.2vw, 1.4rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--ncupe-text);
    line-height: 1.35;
    margin-bottom: 12px;
}

body.theme-ncupe-corporate #ncupe-why .ncupe-section-desc {
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--ncupe-muted);
    margin-bottom: 20px;
}

body.theme-ncupe-corporate #ncupe-why .ncupe-section-desc--center {
    max-width: none;
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}

/* 三欄重點卡：字級比前版略大一號 */
body.theme-ncupe-corporate #ncupe-why .ncupe-pillar__num {
    font-size: 2.5rem;
}

body.theme-ncupe-corporate #ncupe-why .ncupe-pillar__title {
    font-size: 1.125rem;
    line-height: 1.4;
}

body.theme-ncupe-corporate #ncupe-why .ncupe-pillar__text {
    font-size: 1rem;
    line-height: 1.65;
}

/* 雙欄左／右「標題＋說明」區（淺灰底上，與白色內容區分離）：字級一致 */
body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--events .ncupe-kicker,
body.theme-ncupe-corporate #ncupe-events #ncupe-news .ncupe-kicker,
body.theme-ncupe-corporate .ncupe-news-list-page__intro .ncupe-kicker {
    font-size: 11px;
    letter-spacing: 0.12em;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--events .ncupe-home-h2,
body.theme-ncupe-corporate #ncupe-events #ncupe-news .ncupe-home-h2,
body.theme-ncupe-corporate .ncupe-news-list-page__intro .ncupe-home-h2 {
    font-size: clamp(1.15rem, 2.2vw, 1.4rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--ncupe-text);
    line-height: 1.35;
    margin-bottom: 12px;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--events .ncupe-section-desc,
body.theme-ncupe-corporate #ncupe-events #ncupe-news .ncupe-section-desc,
body.theme-ncupe-corporate .ncupe-news-list-page__intro .ncupe-section-desc {
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--ncupe-muted);
    max-width: none;
    margin-bottom: 20px;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--events .ncupe-event-card__title {
    font-size: 1rem;
    line-height: 1.4;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--events .ncupe-event-card__meta {
    font-size: 12px;
    line-height: 1.5;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--events .ncupe-event-card__link {
    font-size: 13px;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--events .ncupe-home-cta-row .ncupe-inline-more {
    font-size: 13px;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--events .ncupe-event-card {
    padding: 18px 16px 14px;
}

/* 首頁：比賽活動（左）與最新消息（右）均分雙欄 */
body.theme-ncupe-corporate #ncupe-events .ncupe-events-split {
    --ncupe-news-panel-accent: #4a3f6b;
    --ncupe-news-panel-accent-soft: #ede9f7;
    --ncupe-news-panel-tab-active: #0f766e;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-section-desc--split {
    max-width: none;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-event-cards--split {
    margin-left: 0;
    margin-right: 0;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-event-cards--split > [class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

body.theme-ncupe-corporate #ncupe-events #ncupe-news {
    scroll-margin-top: 5.5rem;
}

/* 右欄：標題在淺灰底上，白卡僅包列表（與左欄「標題 → 卡片」對齊） */
body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--news {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__news-online {
    margin: 0 0 14px;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--news > .ncupe-home-cta-row {
    margin-top: 10px;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-events-split__col--news > .ncupe-home-cta-row .ncupe-inline-more {
    font-size: 13px;
}

body.theme-ncupe-corporate .ncupe-news-list-page {
    --ncupe-news-panel-accent: #4a3f6b;
    --ncupe-news-panel-accent-soft: #ede9f7;
    --ncupe-news-panel-tab-active: #0f766e;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-home-news-panel,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-home-news-panel {
    background: var(--ncupe-surface);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 10px 36px rgba(15, 23, 42, 0.08);
    padding: 1rem 1.15rem 1rem;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-home-news-panel__tabs,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-home-news-panel__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 0.25rem;
    padding-bottom: 0.35rem;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-home-news-panel__tab,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-home-news-panel__tab {
    font-size: 14px;
    font-weight: 500;
    color: var(--ncupe-muted);
    padding: 0.2rem 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-home-news-panel__tab--active,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-home-news-panel__tab--active {
    font-weight: 700;
    color: var(--ncupe-news-panel-tab-active);
    border-bottom-color: var(--ncupe-news-panel-tab-active);
}

body.theme-ncupe-corporate #ncupe-events .ncupe-home-news-panel__tab--muted,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-home-news-panel__tab--muted {
    color: #9ca3af;
    cursor: default;
    border-bottom-color: transparent;
}

body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-home-news-panel__tab--link {
    text-decoration: none;
    color: var(--ncupe-muted);
    cursor: pointer;
}

body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-home-news-panel__tab--link:hover {
    color: var(--ncupe-text);
}

body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-home-news-panel__tab--link.ncupe-home-news-panel__tab--active {
    color: var(--ncupe-news-panel-tab-active);
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    margin-top: 0.35rem;
    -webkit-overflow-scrolling: touch;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__item,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__item {
    border-bottom: 1px solid #f0f1f3;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__item:last-child,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__item:last-child {
    border-bottom: none;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__link,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__link {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem 0.75rem;
    padding: 0.75rem 0.15rem 0.75rem 0;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s ease;
    border-radius: 6px;
    margin: 0 -0.15rem;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__link:hover,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__link:hover {
    background: rgba(15, 118, 110, 0.06);
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__tag,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__tag {
    flex: 0 0 auto;
    max-width: 6.5rem;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.02em;
    padding: 0.28rem 0.45rem;
    border-radius: 6px;
    background: var(--ncupe-news-panel-accent-soft);
    color: var(--ncupe-news-panel-accent);
    text-align: center;
    word-break: break-word;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__main,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__main {
    flex: 1 1 0%;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__subject,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__subject {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--ncupe-text);
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__link:hover .ncupe-news-feed__subject,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__link:hover .ncupe-news-feed__subject {
    color: var(--ncupe-accent-dim);
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__clip,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__clip {
    flex-shrink: 0;
    font-size: 14px;
    color: var(--ncupe-accent-dim);
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__date,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__date {
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 500;
    color: var(--ncupe-muted);
    white-space: nowrap;
    margin-left: auto;
    padding-top: 0.15rem;
}

body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed__empty,
body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed__empty {
    font-size: 14px;
    color: var(--ncupe-muted);
    margin: 1rem 0 0.5rem;
    padding: 0 0.25rem;
}

@media (max-width: 991.98px) {
    body.theme-ncupe-corporate #ncupe-events .ncupe-news-feed {
        max-height: min(42vh, 22rem);
    }

    body.theme-ncupe-corporate .ncupe-news-list-page .ncupe-news-feed {
        max-height: none;
        overflow-y: visible;
    }
}

/* 最新消息列表頁：左欄樹狀分類 */
body.theme-ncupe-corporate .ncupe-news-tree {
    background: var(--ncupe-surface);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1rem 1rem 1.1rem;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.06);
}

body.theme-ncupe-corporate .ncupe-news-tree__kicker {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ncupe-muted);
    margin: 0 0 6px;
}

body.theme-ncupe-corporate .ncupe-news-tree__title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ncupe-text);
    margin: 0 0 14px;
    letter-spacing: 0.04em;
}

body.theme-ncupe-corporate .ncupe-news-tree__all {
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 0.45rem 0.5rem 0.5rem 0.35rem;
    margin-bottom: 0.65rem;
    border-radius: 8px;
    text-decoration: none;
    color: var(--ncupe-text);
    border-left: 3px solid transparent;
}

body.theme-ncupe-corporate .ncupe-news-tree__all:hover {
    background: rgba(15, 118, 110, 0.06);
    color: var(--ncupe-accent-dim);
}

body.theme-ncupe-corporate .ncupe-news-tree__all.is-active {
    background: rgba(15, 118, 110, 0.1);
    border-left-color: var(--ncupe-news-panel-tab-active);
    color: var(--ncupe-news-panel-tab-active);
}

body.theme-ncupe-corporate .ncupe-news-tree__details {
    border-top: 1px solid #f0f1f3;
    padding-top: 0.65rem;
    margin-top: 0.35rem;
}

body.theme-ncupe-corporate .ncupe-news-tree__summary {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--ncupe-muted);
    cursor: pointer;
    list-style: none;
    padding: 0.35rem 0.5rem 0.5rem 0.35rem;
    border-radius: 6px;
}

body.theme-ncupe-corporate .ncupe-news-tree__summary::-webkit-details-marker {
    display: none;
}

body.theme-ncupe-corporate .ncupe-news-tree__summary::before {
    content: "";
    display: inline-block;
    border: 4px solid transparent;
    border-left-color: var(--ncupe-muted);
    margin-right: 0.35rem;
    transform: translateY(-1px);
}

body.theme-ncupe-corporate .ncupe-news-tree__details[open] .ncupe-news-tree__summary::before {
    transform: rotate(90deg) translateX(-1px);
}

body.theme-ncupe-corporate .ncupe-news-tree__list {
    list-style: none;
    margin: 0.25rem 0 0.5rem;
    padding: 0 0 0 0.85rem;
    border-left: 2px solid #e5e7eb;
}

body.theme-ncupe-corporate .ncupe-news-tree__link {
    display: block;
    font-size: 13px;
    font-weight: 500;
    padding: 0.35rem 0.4rem 0.35rem 0.5rem;
    margin-bottom: 2px;
    border-radius: 6px;
    text-decoration: none;
    color: var(--ncupe-text);
    line-height: 1.4;
}

body.theme-ncupe-corporate .ncupe-news-tree__link:hover {
    background: rgba(15, 118, 110, 0.06);
    color: var(--ncupe-accent-dim);
}

body.theme-ncupe-corporate .ncupe-news-tree__link.is-active {
    font-weight: 700;
    color: var(--ncupe-news-panel-tab-active);
    background: rgba(15, 118, 110, 0.08);
}

body.theme-ncupe-corporate .ncupe-news-list-page__intro {
    margin-bottom: 14px;
}

body.theme-ncupe-corporate .ncupe-news-list-page__intro .ncupe-kicker {
    color: #c2410c;
}

body.theme-ncupe-corporate .ncupe-news-list-page__pager {
    margin-top: 1.25rem;
}

body.theme-ncupe-corporate .ncupe-news-list-page__pager .pagination {
    margin-bottom: 0;
    justify-content: center;
}

body.theme-ncupe-corporate .body-content {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* 首頁全寬內容軌（參考潤昇多段 full-bleed 區塊） */
body.theme-ncupe-corporate .body-content.ncupe-layout-home {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

/* —— 輪播下方 CTA 帶 —— */
body.theme-ncupe-corporate .ncupe-hero-strip {
    background: var(--ncupe-nav);
    color: rgba(255, 255, 255, 0.85);
    padding: 24px 0 12px;
    border-bottom: 1px solid var(--ncupe-nav-divider);
}

body.theme-ncupe-corporate .ncupe-hero-strip .ncupe-hero-strip-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    justify-content: flex-start;
}

@media (min-width: 768px) {
    body.theme-ncupe-corporate .ncupe-hero-strip .ncupe-hero-strip-inner {
        justify-content: center;
    }
}

body.theme-ncupe-corporate .ncupe-btn-ghost {
    background: transparent;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.45);
    font-weight: 500;
    letter-spacing: 0.04em;
    padding: 10px 22px;
    border-radius: var(--ncupe-radius);
    transition: background 0.2s ease, border-color 0.2s ease;
}

body.theme-ncupe-corporate .ncupe-btn-ghost:hover,
body.theme-ncupe-corporate .ncupe-btn-ghost:focus {
    background: rgba(255, 255, 255, 0.08);
    border-color: #fff;
    color: #fff !important;
}

body.theme-ncupe-corporate .ncupe-btn-gold {
    background: var(--ncupe-accent);
    color: #111 !important;
    border: 1px solid var(--ncupe-accent-dim);
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 10px 22px;
    border-radius: var(--ncupe-radius);
}

body.theme-ncupe-corporate .ncupe-btn-gold:hover,
body.theme-ncupe-corporate .ncupe-btn-gold:focus {
    background: var(--ncupe-accent-soft);
    border-color: var(--ncupe-accent);
    color: #111 !important;
}

body.theme-ncupe-corporate .ncupe-scroll-hint {
    text-align: center;
    margin: 12px 0 0;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.55;
}

body.theme-ncupe-corporate .ncupe-scroll-hint-link {
    color: inherit !important;
    text-decoration: none;
}

body.theme-ncupe-corporate .ncupe-scroll-hint-link:hover {
    color: var(--ncupe-accent-soft) !important;
}

/* —— 首頁段落架構 —— */
body.theme-ncupe-corporate .ncupe-home-main {
    overflow-x: hidden;
}

body.theme-ncupe-corporate .ncupe-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

body.theme-ncupe-corporate .ncupe-home-section {
    padding: 56px 0;
}

body.theme-ncupe-corporate .ncupe-home-section--muted {
    background: #e7e8ea;
}

body.theme-ncupe-corporate .ncupe-kicker {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ncupe-muted);
    margin: 0 0 12px;
}

body.theme-ncupe-corporate .ncupe-kicker--in-card {
    margin-top: -8px;
    margin-bottom: 16px;
}

body.theme-ncupe-corporate .ncupe-home-h2 {
    font-size: clamp(1.35rem, 2.8vw, 1.85rem);
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--ncupe-text);
    margin: 0 0 16px;
    line-height: 1.35;
}

body.theme-ncupe-corporate .ncupe-lead {
    font-size: 1.05rem;
    line-height: 1.85;
    color: var(--ncupe-muted);
    max-width: 46em;
    margin: 0 0 20px;
}

body.theme-ncupe-corporate .ncupe-section-desc {
    font-size: 0.98rem;
    color: var(--ncupe-muted);
    max-width: 40em;
    margin: 0 0 28px;
    line-height: 1.7;
}

body.theme-ncupe-corporate .ncupe-inline-more {
    font-weight: 600;
    font-size: 14px;
    color: var(--ncupe-accent-dim) !important;
    text-decoration: none;
}

body.theme-ncupe-corporate .ncupe-inline-more:hover {
    color: var(--ncupe-accent) !important;
}

body.theme-ncupe-corporate .ncupe-home-cta-row {
    margin-top: 8px;
}

/* 賽事卡片網格 */
body.theme-ncupe-corporate .ncupe-event-cards {
    margin-left: -10px;
    margin-right: -10px;
}

body.theme-ncupe-corporate .ncupe-event-cards > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 20px;
}

body.theme-ncupe-corporate .ncupe-event-card {
    background: var(--ncupe-surface);
    border: 1px solid #d1d5db;
    border-radius: var(--ncupe-radius);
    padding: 22px 22px 18px;
    height: 100%;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

body.theme-ncupe-corporate .ncupe-event-card:hover {
    box-shadow: var(--ncupe-shadow);
    border-color: var(--ncupe-accent-dim);
}

body.theme-ncupe-corporate .ncupe-event-card__title {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0 0 10px;
    line-height: 1.4;
}

body.theme-ncupe-corporate .ncupe-event-card__title a {
    color: var(--ncupe-text) !important;
    text-decoration: none;
}

body.theme-ncupe-corporate .ncupe-event-card__title a:hover {
    color: var(--ncupe-accent-dim) !important;
}

body.theme-ncupe-corporate .ncupe-event-card__meta {
    font-size: 12px;
    color: var(--ncupe-muted);
    margin: 0 0 12px;
    line-height: 1.5;
}

body.theme-ncupe-corporate .ncupe-event-card__link {
    font-size: 13px;
    font-weight: 600;
    color: var(--ncupe-accent-dim) !important;
    text-decoration: none;
}

body.theme-ncupe-corporate .ncupe-event-card__link:hover {
    color: var(--ncupe-accent) !important;
}

/* 統計列 */
body.theme-ncupe-corporate .ncupe-home-stats {
    background: var(--ncupe-surface);
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    padding: 48px 0;
}

body.theme-ncupe-corporate .ncupe-stat-grid .ncupe-stat-cell {
    text-align: center;
    padding: 20px 10px;
    border: 1px solid #e5e7eb;
    background: #fafafa;
    height: 100%;
}

body.theme-ncupe-corporate .ncupe-stat-value {
    display: block;
    font-size: clamp(1.75rem, 4vw, 2.35rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--ncupe-text);
    line-height: 1.2;
}

body.theme-ncupe-corporate .ncupe-stat-label {
    display: block;
    font-size: 12px;
    color: var(--ncupe-muted);
    margin-top: 8px;
    letter-spacing: 0.06em;
}

body.theme-ncupe-corporate .ncupe-stat-grid > [class*="col-"] {
    margin-bottom: 16px;
}

@media (min-width: 768px) {
    body.theme-ncupe-corporate .ncupe-stat-grid > [class*="col-"]:nth-last-child(-n + 3) {
        margin-bottom: 0;
    }
}

/* 首頁內嵌消息區：避免外層與卡片雙重留白 */
body.theme-ncupe-corporate .ncupe-home-section .ncupe-news-section {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
}

/* 底部 CTA 帶 */
body.theme-ncupe-corporate .ncupe-cta-band {
    background: linear-gradient(135deg, #1f2937 0%, #0c0c0c 100%);
    color: rgba(255, 255, 255, 0.92);
    padding: 56px 16px;
}

body.theme-ncupe-corporate .ncupe-cta-band__title {
    font-size: clamp(1.2rem, 2.5vw, 1.65rem);
    font-weight: 600;
    letter-spacing: 0.05em;
    margin: 0 0 12px;
    line-height: 1.4;
    color: #fff !important;
}

body.theme-ncupe-corporate .ncupe-cta-band__text {
    font-size: 1rem;
    opacity: 0.85;
    max-width: 36em;
    margin: 0 auto 24px;
    line-height: 1.7;
}

body.theme-ncupe-corporate .ncupe-cta-band .ncupe-btn-gold {
    padding: 12px 32px;
}

/* —— 頂部導覽（參考企業站全寬深色列） —— */
body.theme-ncupe-corporate nav.ncupe-navbar.navbar.fixed-top {
    background: var(--ncupe-nav);
    border: none;
    border-bottom: 1px solid var(--ncupe-nav-divider);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
    min-height: 56px;
}

body.theme-ncupe-corporate nav.ncupe-navbar .navbar-brand,
body.theme-ncupe-corporate nav.ncupe-navbar .navbar-nav .nav-link {
    color: var(--ncupe-nav-text) !important;
    font-weight: 500;
    font-size: 14px !important;
    letter-spacing: 0.02em;
    line-height: 24px;
    padding-top: 16px;
    padding-bottom: 16px;
    transition: color 0.2s ease, opacity 0.2s ease;
}

body.theme-ncupe-corporate nav.ncupe-navbar .navbar-brand:hover,
body.theme-ncupe-corporate nav.ncupe-navbar .navbar-nav .nav-link:hover,
body.theme-ncupe-corporate nav.ncupe-navbar .navbar-nav .nav-link:focus {
    color: #fff !important;
}

body.theme-ncupe-corporate nav.ncupe-navbar .navbar-brand {
    font-size: 15px !important;
}

body.theme-ncupe-corporate nav.ncupe-navbar .navbar-nav .nav-link .bi {
    color: var(--ncupe-accent) !important;
    opacity: 0.95;
    margin-right: 4px;
}

body.theme-ncupe-corporate nav.ncupe-navbar .navbar-nav .nav-link .ncupe-nav-ico--hot {
    color: orangered !important;
}

body.theme-ncupe-corporate nav.ncupe-navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.25);
    margin-top: 12px;
}

body.theme-ncupe-corporate nav.ncupe-navbar .navbar-collapse {
    border-color: var(--ncupe-nav-divider);
}

/* 下拉選單 */
body.theme-ncupe-corporate nav.ncupe-navbar .dropdown-menu {
    background: var(--ncupe-surface);
    border: 1px solid #e5e7eb;
    border-radius: var(--ncupe-radius);
    box-shadow: var(--ncupe-shadow);
    padding: 8px 0;
    margin-top: 0;
}

body.theme-ncupe-corporate nav.ncupe-navbar .dropdown-menu .dropdown-item {
    color: var(--ncupe-text) !important;
    padding: 10px 20px;
    font-size: 13px;
    white-space: normal;
}

/* 賽事／成績下拉：小字、加寬、單行（與首頁 ncupe-page-home 專用規則一致時以較高特異性為準） */
body.theme-ncupe-corporate nav.ncupe-navbar .dropdown-menu.ncupe-nav-dropdown .dropdown-item.ncupe-nav-dropdown__item {
    font-size: 14px !important;
    line-height: 1.35;
    white-space: nowrap;
}

body.theme-ncupe-corporate nav.ncupe-navbar .dropdown-menu .dropdown-item:hover {
    background: #f9fafb;
    color: var(--ncupe-accent-dim) !important;
}

body.theme-ncupe-corporate nav.ncupe-navbar .nav-link.dropdown-toggle.show,
body.theme-ncupe-corporate nav.ncupe-navbar .nav-item.dropdown .nav-link.show {
    background: rgba(255, 255, 255, 0.06);
    color: #fff !important;
}

body.theme-ncupe-corporate .ncupe-nav-ico {
    color: lightslategray;
}

body.theme-ncupe-corporate .ncupe-nav-ico-dropdown {
    color: lightslategray;
    margin-right: 4px;
}

/* —— 首頁輪播（大圖＋底部漸層文案） —— */
body.theme-ncupe-corporate .ncupe-hero-carousel {
    margin-bottom: 0;
    position: relative;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-inner .carousel-item {
    position: relative;
    max-height: min(72vh, 560px);
    overflow: hidden;
    background: #111;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-inner .carousel-item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: var(--ncupe-hero-overlay);
    pointer-events: none;
    z-index: 1;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .ncupe-hero-slide-img {
    width: 100%;
    height: min(72vh, 560px);
    object-fit: cover;
    object-position: center;
    display: block;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-caption {
    z-index: 2;
    left: 8%;
    right: 8%;
    bottom: 12%;
    padding-bottom: 0;
    text-align: left;
    text-shadow: none;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .ncupe-hero-title {
    font-weight: 600;
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    letter-spacing: 0.04em;
    color: #fff !important;
    margin: 0 0 12px;
    line-height: 1.25;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .ncupe-hero-subtitle {
    font-size: clamp(0.95rem, 1.6vw, 1.1rem);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.88) !important;
    max-width: 40em;
    line-height: 1.6;
    margin: 0;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-indicators {
    bottom: 16px;
    z-index: 3;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-indicators [data-bs-target] {
    width: 28px;
    height: 3px;
    border-radius: 0;
    margin: 0 4px;
    background-color: rgba(255, 255, 255, 0.35);
    border: none;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-indicators .active {
    background-color: var(--ncupe-accent);
    margin: 0 4px;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-control-prev,
body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-control-next {
    z-index: 3;
    width: 48px;
    opacity: 0.5;
    text-shadow: none;
}

body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-control-prev:hover,
body.theme-ncupe-corporate .ncupe-hero-carousel .carousel-control-next:hover {
    opacity: 0.85;
}

/* —— 潤昇式主視覺輪播（附圖：左側重漸層、青綠強調、圓角 CTA、細箭頭、圓點、Scroll to discover）https://www.ramsun.com.tw/ —— */
/* 投影片絕對堆疊：避免 float 橫排造成多張同時露出；配合 carousel-fade 只顯示作用中一張 */
body.theme-ncupe-corporate .ncupe-hero-carousel.ncupe-hero-ramsun .carousel-inner {
    position: relative;
    min-height: min(82vh, 640px);
    overflow: hidden;
}

body.theme-ncupe-corporate .ncupe-hero-carousel.ncupe-hero-ramsun .carousel-inner .carousel-item {
    max-height: min(82vh, 640px);
    position: absolute !important;
    left: 0;
    right: 0;
    top: 0;
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-inner .carousel-item::after {
    /* 全畫面先壓一層半透明，再疊左重右漸層，蓋住 Banner 圖檔內建行銷字（右側常仍清晰） */
    background:
        linear-gradient(rgba(5, 16, 20, 0.42), rgba(5, 16, 20, 0.42)),
        linear-gradient(105deg, rgba(5, 16, 20, 0.92) 0%, rgba(5, 16, 20, 0.78) 22%, rgba(5, 16, 20, 0.5) 42%, rgba(5, 16, 20, 0.38) 62%, rgba(5, 16, 20, 0.28) 100%),
        linear-gradient(0deg, rgba(5, 16, 20, 0.75) 0%, rgba(5, 16, 20, 0.12) 40%, rgba(5, 16, 20, 0) 58%);
}

/* 淡入淡出：非作用中張不接收事件；隱藏未作用文案層避免與 opacity 動畫競態造成殘影 */
body.theme-ncupe-corporate .ncupe-hero-carousel.carousel-fade .carousel-item:not(.active) {
    pointer-events: none;
}

body.theme-ncupe-corporate .ncupe-hero-carousel.carousel-fade .carousel-item:not(.active) .ncupe-hero-caption-ramsun {
    visibility: hidden !important;
}

body.theme-ncupe-corporate .ncupe-hero-carousel.carousel-fade .carousel-item.active .ncupe-hero-caption-ramsun {
    visibility: visible !important;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-slide-img {
    height: min(82vh, 640px);
}

body.theme-ncupe-corporate .ncupe-hero-ramsun video.ncupe-hero-slide-video {
    width: 100%;
    object-fit: cover;
    object-position: center;
    vertical-align: middle;
    background: #000;
}

/* 文案區靠左（約對齊主內容左緣），右側保留留白避免貼邊 */
body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-caption.ncupe-hero-caption-ramsun {
    left: 6%;
    right: 36%;
    bottom: auto;
    top: 50%;
    transform: translateY(-48%);
    max-width: none;
    padding: 0 0 5.75rem 0;
    text-align: left;
}

@media (min-width: 1200px) {
    body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-caption.ncupe-hero-caption-ramsun {
        left: max(1.5rem, calc((100vw - 1140px) / 2 + 0.75rem));
        right: 38%;
    }
}

@media (min-width: 1400px) {
    body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-caption.ncupe-hero-caption-ramsun {
        left: max(1.5rem, calc((100vw - 1320px) / 2 + 0.75rem));
    }
}

@media (max-width: 767px) {
    body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-caption.ncupe-hero-caption-ramsun {
        top: auto;
        bottom: 5.25rem;
        transform: none;
        left: 4%;
        right: 4%;
        max-width: none;
        padding: 0;
    }

    body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-indicators {
        bottom: 40px;
    }

    body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover {
        left: 4%;
        bottom: 10px;
    }
}

@media (min-width: 768px) {
    body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover {
        left: 6%;
    }
}

@media (min-width: 1200px) {
    body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover {
        left: max(1.5rem, calc((100vw - 1140px) / 2 + 0.75rem));
    }
}

@media (min-width: 1400px) {
    body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover {
        left: max(1.5rem, calc((100vw - 1320px) / 2 + 0.75rem));
    }
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-brand-kicker {
    font-size: 17px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.95);
    margin: 0 0 10px;
    letter-spacing: 0.1em;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-tagline {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #5eead4;
    margin: 0 0 28px;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-title {
    font-size: clamp(2.65rem, 7vw, 4.5rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0.03em;
    margin: 0 0 22px;
    color: #fff !important;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-subtitle {
    font-size: clamp(1.15rem, 2.35vw, 1.55rem);
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.92) !important;
    margin: 0 0 34px;
    max-width: 40em;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-pillset {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

/* Bootstrap .d-none 只有單一 class，特異性低於上一則，訪客／會員兩組按鈕會同時出現 */
body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-pillset.d-none {
    display: none !important;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-btn-pill {
    border-radius: 999px;
    padding: 15px 36px;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.06em;
    border: 2px solid transparent;
    transition: box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-btn-pill--primary {
    background: #0f766e;
    color: #fff !important;
    border-color: #0f766e;
    box-shadow: 0 4px 26px rgba(15, 118, 110, 0.5);
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-btn-pill--primary:hover,
body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-btn-pill--primary:focus {
    background: #14b8a6;
    border-color: #99f6e4;
    color: #fff !important;
    box-shadow: 0 6px 32px rgba(20, 184, 166, 0.55);
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-btn-pill--ghost {
    background: transparent;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.88);
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-btn-pill--ghost:hover,
body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-btn-pill--ghost:focus {
    background: rgba(255, 255, 255, 0.12);
    border-color: #fff;
    color: #fff !important;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-indicators {
    bottom: 52px;
    width: 100%;
    left: 0;
    margin-left: 0;
    padding-left: 0;
    text-align: center;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-indicators [data-bs-target] {
    width: 8px;
    height: 8px;
    margin: 0 5px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.4);
    border: none;
    vertical-align: middle;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-indicators .active {
    width: 10px;
    height: 10px;
    margin: 0 4px;
    background-color: #14b8a6;
    border: none;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-control-prev,
body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-control-next {
    background-image: none !important;
    width: 56px;
    opacity: 0.4;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-control-prev-icon,
body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-control-next-icon {
    filter: invert(1);
    opacity: 0.78;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-control-prev:hover,
body.theme-ncupe-corporate .ncupe-hero-ramsun .carousel-control-next:hover {
    opacity: 0.85;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover {
    position: absolute;
    left: 5%;
    bottom: 18px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none !important;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover:hover,
body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover:focus {
    opacity: 1;
    text-decoration: none !important;
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover__rule {
    display: inline-block;
    width: 48px;
    height: 1px;
    background: rgba(255, 255, 255, 0.52);
}

body.theme-ncupe-corporate .ncupe-hero-ramsun .ncupe-hero-scroll-discover__text {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
}

/* —— 內容區／最新消息區塊 —— */
body.theme-ncupe-corporate .ncupe-news-section {
    background: var(--ncupe-surface);
    margin: 32px auto 40px;
    padding: 36px 40px 40px;
    border-radius: var(--ncupe-radius);
    box-shadow: var(--ncupe-shadow);
    border: 1px solid #e5e7eb;
}

@media (max-width: 767px) {
    body.theme-ncupe-corporate .ncupe-news-section {
        margin: 20px 12px 32px;
        padding: 24px 18px 28px;
    }
}

body.theme-ncupe-corporate .ncupe-section-heading {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-bottom: 8px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e7eb;
}

body.theme-ncupe-corporate .ncupe-section-heading h2 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--ncupe-text);
}

body.theme-ncupe-corporate .ncupe-section-heading .ncupe-more-link {
    font-size: 14px;
    font-weight: 500;
    color: var(--ncupe-accent-dim) !important;
    padding: 0 !important;
    text-decoration: none;
}

body.theme-ncupe-corporate .ncupe-section-heading .ncupe-more-link:hover {
    color: var(--ncupe-accent) !important;
    text-decoration: underline;
}

body.theme-ncupe-corporate .ncupe-online-stat {
    font-size: 13px;
    color: var(--ncupe-muted);
    margin: 0 0 20px;
}

body.theme-ncupe-corporate .ncupe-news-section .table {
    margin-bottom: 0;
}

body.theme-ncupe-corporate .ncupe-news-section .table > tbody > tr > td {
    border-top: 1px solid #f3f4f6;
    padding: 18px 12px 18px 0;
    vertical-align: middle !important;
}

body.theme-ncupe-corporate .ncupe-news-section .table > tbody > tr:first-child > td {
    border-top: none;
}

body.theme-ncupe-corporate .ncupe-news-section .table .ncupe-news-type {
    font-size: 13px;
    font-weight: 600;
    color: var(--ncupe-muted);
    text-transform: none;
    margin: 0;
}

body.theme-ncupe-corporate .ncupe-news-section .table a:not(.bi) {
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--ncupe-text) !important;
    text-decoration: none;
}

body.theme-ncupe-corporate .ncupe-news-section .table a:not(.bi):hover {
    color: var(--ncupe-accent-dim) !important;
}

body.theme-ncupe-corporate .ncupe-news-section .bi-paperclip {
    color: var(--ncupe-accent-dim);
}

/* 日曆小圖示在亮色區上的微調 */
body.theme-ncupe-corporate .ncupe-news-section .calendar {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

body.theme-ncupe-corporate hr.ncupe-footer-hr {
    display: none;
}

/* 頁尾：於 .container.body-content 內仍佔滿視覺寬度（參考企業站全寬底欄） */
body.theme-ncupe-corporate .body-content > footer.site-footer-ncupe {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
}

body.theme-ncupe-corporate footer.site-footer-ncupe {
    background: var(--ncupe-footer);
    color: rgba(255, 255, 255, 0.72);
    margin-top: 48px;
    padding: 40px 24px 32px;
    border-top: 3px solid var(--ncupe-accent);
}

body.theme-ncupe-corporate footer.site-footer-ncupe .copyright_row {
    margin: 0;
}

body.theme-ncupe-corporate footer.site-footer-ncupe .cr_text p {
    font-size: 12px !important;
    line-height: 1.85;
    margin: 0;
    color: rgba(255, 255, 255, 0.65);
}

body.theme-ncupe-corporate footer.site-footer-ncupe a {
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
}

body.theme-ncupe-corporate footer.site-footer-ncupe a:hover {
    color: var(--ncupe-accent-soft);
    text-decoration: underline;
}

/* 無輪播的內頁：內容區頂部留白 */
body.theme-ncupe-corporate .body-content > .container:first-child {
    padding-top: 16px;
}

/* 表單與按鈕（全站輕量一致化，不覆蓋業務邏輯） */
body.theme-ncupe-corporate .btn-primary {
    background-color: #1f2937;
    border-color: #111827;
}

body.theme-ncupe-corporate .btn-primary:hover,
body.theme-ncupe-corporate .btn-primary:focus {
    background-color: #374151;
    border-color: #1f2937;
}

/* 內頁表單區塊（Bootstrap 5 card；保留 .panel 相容舊視圖） */
body.theme-ncupe-corporate .panel,
body.theme-ncupe-corporate .card {
    border-radius: var(--ncupe-radius);
    box-shadow: var(--ncupe-shadow);
    border-color: #e5e7eb;
}

body.theme-ncupe-corporate .panel-heading,
body.theme-ncupe-corporate .card-header {
    background: #f9fafb;
    border-color: #e5e7eb;
    font-weight: 600;
}

/* 最新消息明細：頁面標題與卡片內容（含 card-header 網格第一欄／左側裝飾線）左緣對齊 */
body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner .ncupe-news-detail__page-title {
    font-size: 1.875rem;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--ncupe-text);
    margin-bottom: 1rem;
    /* 等同 .card-header 水平 padding + .row 第一欄的 gutter 半寬，與內文左緣一致 */
    padding-left: calc(var(--bs-card-cap-padding-x, 1rem) + var(--bs-gutter-x, 1.5rem) * 0.5);
}

/* 最新消息明細：區塊標籤／內文／連結維持正常字級（避免 .small、clamp 或過小 rem 造成「縮字」感） */
body.theme-ncupe-corporate .ncupe-news-detail .card-header .small,
body.theme-ncupe-corporate .ncupe-news-detail .card-body .small,
body.theme-ncupe-corporate .ncupe-news-detail .card-footer .small {
    font-size: 1rem !important;
    line-height: 1.5;
}

body.theme-ncupe-corporate .ncupe-news-detail .ncupe-news-detail__body {
    white-space: pre-line;
    font-size: 1.0625rem;
    line-height: 1.75;
}

body.theme-ncupe-corporate .ncupe-news-detail .ncupe-news-detail__body a {
    font-size: inherit;
}

body.theme-ncupe-corporate .ncupe-news-detail .ncupe-news-detail__links a,
body.theme-ncupe-corporate .ncupe-news-detail .ncupe-news-detail__files a {
    font-size: 1rem;
}

body.theme-ncupe-corporate .ncupe-news-detail .card-header h3.h5 {
    font-size: 1.25rem;
}

/* 最新消息明細：日曆 block 與「公告日期」同側對齊（calendar_icon.css 使用 float:left 會漂到左邊） */
body.theme-ncupe-corporate .ncupe-news-detail .ncupe-news-detail__calendar {
    float: none;
    display: block;
    margin-left: auto;
    margin-right: 0;
    margin-top: 0.15rem;
}

@media (max-width: 767.98px) {
    body.theme-ncupe-corporate .ncupe-news-detail .ncupe-news-detail__date {
        text-align: left !important;
    }

    body.theme-ncupe-corporate .ncupe-news-detail .ncupe-news-detail__calendar {
        margin-left: 0;
        margin-right: auto;
    }
}

body.theme-ncupe-corporate .well {
    background: var(--ncupe-surface);
    border: 1px solid #e5e7eb;
    border-radius: var(--ncupe-radius);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.03);
    padding: 1rem;
}

/* —— 訪客／會員內頁（無輪播）：主內容與按鈕與首頁青綠調一致 —— */
body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner {
    padding-top: 1.25rem;
    padding-bottom: 2.75rem;
}

body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner > h2:first-child,
body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner > h1:first-child {
    font-size: clamp(1.15rem, 2.2vw, 1.4rem);
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--ncupe-text);
    margin-bottom: 1rem;
}

body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner .table {
    background: var(--ncupe-surface);
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
}

body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner .btn-primary {
    background-color: #0f766e;
    border-color: #0d9488;
    color: #fff !important;
}

body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner .btn-primary:hover,
body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner .btn-primary:focus {
    background-color: #0d9488;
    border-color: #0f766e;
    color: #fff !important;
}

body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner .btn-success {
    background-color: #0f766e;
    border-color: #0d9488;
}

body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner .btn-success:hover,
body.theme-ncupe-corporate.ncupe-page-inner .body-content.ncupe-layout-inner .btn-success:focus {
    background-color: #0d9488;
    border-color: #0f766e;
}

/* —— 後台：白頂欄＋白內容卡 —— */
body.theme-ncupe-corporate.ncupe-page-admin nav.ncupe-navbar--admin.navbar.fixed-top {
    background: #ffffff !important;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

body.theme-ncupe-corporate.ncupe-page-admin nav.ncupe-navbar--admin .navbar-brand,
body.theme-ncupe-corporate.ncupe-page-admin nav.ncupe-navbar--admin .nav-link {
    color: #111827 !important;
}

body.theme-ncupe-corporate.ncupe-page-admin nav.ncupe-navbar--admin .nav-link:hover,
body.theme-ncupe-corporate.ncupe-page-admin nav.ncupe-navbar--admin .nav-link:focus {
    color: #0f766e !important;
}

body.theme-ncupe-corporate.ncupe-page-admin nav.ncupe-navbar--admin .navbar-toggler {
    border-color: #d1d5db;
}

body.theme-ncupe-corporate.ncupe-page-admin nav.ncupe-navbar--admin .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

body.theme-ncupe-corporate.ncupe-page-admin .ncupe-layout-admin {
    background: var(--ncupe-surface);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: var(--ncupe-shadow);
    padding: 1.25rem 1.25rem 2rem;
    margin-bottom: 2rem;
}

body.theme-ncupe-corporate.ncupe-page-admin .ncupe-admin-footer-hr {
    margin: 1.5rem 0;
    border: 0;
    border-top: 1px solid #e5e7eb;
    opacity: 1;
}

body.theme-ncupe-corporate.ncupe-page-admin .ncupe-layout-admin .btn-primary {
    background-color: #0f766e;
    border-color: #0d9488;
    color: #fff !important;
}

body.theme-ncupe-corporate.ncupe-page-admin .ncupe-layout-admin .btn-primary:hover,
body.theme-ncupe-corporate.ncupe-page-admin .ncupe-layout-admin .btn-primary:focus {
    background-color: #0d9488;
    border-color: #0f766e;
}
