﻿.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin: 0;
    padding: 0;
    color: #fff;
    /* background: linear-gradient(90deg, #040e49, #251818);*/
    background: url(../Images/all/newbg.jpg);
    letter-spacing: 1px;
    background-size: cover;
}

.breadcrumb {
    display: none;
}

.header .navbar {
    background: none;
}

.footer .footer_content {
    background: none;
}

.is_scroll .navbar,
.header .navbar {
    border: none;
}

.navbar .navbar-brand {
    width: 90px;
    margin: 0 20px;
}

.footer .footer_content {
    position: absolute;
    bottom: 0;
    padding-left: 20px;
}

.footer .copyrights-info {
    border-top: none;
}

.footer .copyrights-info {
    color: #ffffff38;
}

.is_scroll .gotop {
    display: none;
}

.el-form-item__error {
    left: 13px !important;
}

.btn.btn-txt:hover {
    color: #fff;
}

.nav-link {
    color: rgb(255 255 255 / 22%);
}

.header .navbar-nav .nav-item:hover > .nav-link {
    color: #fff;
}

.navbar .small-btn-box a {
    /* display: none;*/
}

.header .navbar-nav .nav-link {
    color: #ffffff45;
}

.navbar .small-btn-box a {
    margin: 0 10px;
}

.navbar-toggler .navbar-toggler-icon, .navbar-toggler .navbar-toggler-icon::after, .navbar-toggler .navbar-toggler-icon::before {
    background-color: #ffffff3d;
    height: 2px;
}

.navbar {
    --bs-navbar-toggler-icon-bg: none;
}

.bsnav-mobile.full.in .navbar {
    background: rgb(29 18 42 / 46%);
    backdrop-filter: blur(20px);
}
.bsnavclose.close-btn img {
    opacity: .5;
}

.bsnav-mobile.full.in .navbar .navbar-brand {
    width: 100px;
}
.bsnav-mobile.full .navbar-nav .nav-item .nav-link {
    color: #ffffff85;
}


/*會員需知-----------------------------------------------------*/
body.home .editor img {
    padding: 0px 0;
   
}
body.home .home-pt img {
    width: 170px;
    height: 170px;
}

body.home .home-pt img {
    width: 170px;
    height: 170px;
}
.home-pt {
    position: absolute;
    left: 50%;
    top: 60px;
    transform: translateX(-50%);
    z-index: 1;
}

body.home .editor p {
    color: #ffffffa8;
}

    body.home .editor p:last-child {
        font-weight: bold;
        color: #fe5555;
    }



/*會員登入頁-----------------------------------------------------*/
body.login .mainSection {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

body.login .logform {
    width: 600px;
    padding: 65px 50px;
    background: rgb(0 0 0 / 60%);
    box-sizing: border-box;
    position: relative;
    border-radius: 50px;
    backdrop-filter: blur(2px);
}

body.login .logform:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: rgb(255 255 255 / 2%);
    pointer-events: none;
    border-radius: 50px 0 0 50px;
}

body.login .avtar {
    width: 130px;
    height: 130px;
    position: absolute;
    top: calc(-120px/2);
    left: calc(38%);
}

body.login h2 {
    text-align: center;
    font-size: 25px;
}

body.login .btn.btn-primary {
    background: #90215c;
    width: 100%;
    margin: 0 auto;
    display: table;
    padding: 10px 0;
}
body.login .mainSection .flex-font-size-25 {
    font-size: 25px;
}


/*會員註冊頁-----------------------------------------------------*/
body.register .h3 {
    color: #fff;
    font-size: 25px;
    padding-top: 5px;
    font-weight: 500;
    margin-left: 10px;
}

body.register .i3 {
    padding-top: 0;
    margin-left: 0;
    margin-top: -7px;
}

body.register .btn.btn-primary {
    background: #961522;
    padding: 10px 25px;
    font-size: 16px;
}

body.register .registerbox {
    margin-top: 60px;
}

body.register .btn.btn-secondary {
    font-size: 16px;
    padding: 10px 25px;
}

body.register .align-central {
    width: 60%;
    padding: 50px 0 10px;
    background: rgb(0 0 0 / 50%);
    box-sizing: border-box;
    position: relative;
    border-radius: 50px;
    backdrop-filter: blur(5px);
    margin: 0 auto;
}

body.register .avtar {
    width: 160px;
    height: 160px;
    position: absolute;
    top: calc(-150px / 2);
    left: calc(41%);
}

body.register .avtar2 {
    width: 150px;
    height: 150px;
    margin-left: 5px
}

body.register .re-title {
    position: absolute;
    left: 50%;
    top: -80px;
    transform: translateX(-50%);
    z-index: 1;
}

body.register .re-box {
    margin-top: 80px;
}

body.register .form-check.form-check-inline input {
    margin-top: 3px;
}


/*會員需知-----------------------------------------------------*/
body.home .editor:first-child {
    width: 60%;
    padding: 130px 50px 5px;
    background: rgb(0 0 0 / 50%);
    box-sizing: border-box;
    position: relative;
    border-radius: 50px;
    backdrop-filter: blur(5px);
    margin: 9rem auto 80px;
    color: #fff;
}

body.home .editor .nav-tabs .nav-link {
    background-color: #fff0;
    color: #fff;
    font-size: 25px;
    text-align: center;
    border: none;
}

.nav-tabs {
    border: none;
    margin: 0 auto;
    display: table;
    padding-bottom: 20px;
}



/*會員首頁-----------------------------------------------------*/
body.load-completed .text-muted {
    color: #fff !important;
}

body.load-completed .card {
    background-color: #fff0;
    border: none;
    color: #fff;
}

body.load-completed a .logout {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

body.load-completed a:hover .logout {
    opacity: 1;
}

body.load-completed .logout {
    position: absolute;
    bottom: 25px;
    right: 20px;
}

    body.load-completed .logout:before {
        content: '';
        background: url(../Images/all/logout.svg);
        background-repeat: no-repeat;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 23px;
        left: 0;
    }

    body.load-completed .logout h6 {
        padding: 0 0 0 25px;
    }

    body.load-completed .logout a {
        color: #ffffff45;
    }

    body.load-completed .logout .fa-sign-out-alt:before {
        display: none;
    }

body.load-completed .card-body {
    position: relative;
    width: 210px;
    height: 210px;
    transition: transform 0.3s ease;
}

body.load-completed .cd1 {
    background: url(../Images/all/log1.png);
}

body.load-completed .cd2 {
    background: url(../Images/all/log2.png);
}

body.load-completed .cd3 {
    background: url(../Images/all/log3.png) no-repeat;
}

    body.load-completed .cd1 .text-muted,
    body.load-completed .cd2 .text-muted,
    body.load-completed .cd3 .text-muted {
        position: absolute;
        bottom: -25px;
        left: 50%;
        transform: translateX(-50%);
    }

body.load-completed .bo3 a:hover .cd1,
body.load-completed .bo3 a:hover .cd2,
body.load-completed .bo3 a:hover .cd3 {
    transform: scale(1.1);
}

body.load-completed .frame-small-box2 {
    width: 900px;
}

body.load-completed .bo3 {
    padding: 80px 50px;
    background: rgb(0 0 0 / 15%);
    box-sizing: border-box;
    position: relative;
    border-radius: 50px;
    /*    backdrop-filter: blur(3px);*/
    margin: 0 auto 80px;
    color: #fff;
}

body.load-completed .logtitle h5 {
    font-size: 30px;
    position: relative;
    padding-left: 48px;
    padding-top: 5px;
}

    body.load-completed .logtitle h5:before {
        content: '';
        background: url(../Images/all/micon.svg);
        width: 40px;
        height: 40px;
        position: absolute;
        top: 0;
        left: 0;
    }

body.load-completed .logtitle p {
    color: #ff9090;
}



/*紅利-----------------------------------------------------*/
body.bonus .h2 {
    color: #fff;
    border-bottom: none;
    padding-top: 5px;
}

body.bonus .rwd-table.mob-mode td {
    line-height: 2;
}

    body.bonus .rwd-table.mob-mode td:last-child {
        color: #dd3b91;
        font-weight: bold;
    }

body.bonus .bouns-title {
    position: absolute;
    left: 50%;
    top: -80px;
    transform: translateX(-50%);
    z-index: 1;
}

body.bonus .bouns-icon {
    width: 140px;
    height: 140px;
    margin-left: 5px
}



body.bonus .rwd-table.mob-mode th {
    background: #c66034;
}

body.bonus .rwd-table.mob-mode tr:nth-child(odd) {
    background: none;
}

body.bonus .rwd-table.mob-mode tr {
    border-bottom: 2px dotted #ffffff1c;
}

    body.bonus .rwd-table.mob-mode tr:first-child {
        border-bottom: none;
    }

body.bonus .el-pagination {
    padding-top: 30px;
}

body.bonus button.btn-next,
body.bonus button.btn-prev,
body.bonus .number {
    border-radius: 50%;
}

/* 統計＋篩選的控制區。桌機靠外層 .order-list 收住，不需要再加容器；
   手機版 .order-list 背景是 none（站台既有設定），控制區得自己有底，
   否則卡片與 chip 會直接浮在紫色背景上，看起來散 */
body.bonus .bonus-control {
    margin-bottom: 1.5rem;
}

body.bonus .bonus-summary-row {
    margin-bottom: 1rem;
}

/* 加了「到期時間」後這張表變成 6 欄，768~1100px 之間每個表頭都會被擠斷成兩行。
   表頭一律不換行，欄寬不夠時交給外層 .table-responsive 橫向捲動——
   讓使用者滑一下，比每格標題斷成兩行好讀。中等寬度再把字級與內距收一級。 */
body.bonus .rwd-table.mob-mode th {
    white-space: nowrap;
}

@media (min-width: 768px) and (max-width: 1100px) {
    body.bonus .rwd-table.mob-mode th,
    body.bonus .rwd-table.mob-mode td {
        padding: 8px 6px;
    }

    body.bonus .rwd-table.mob-mode th {
        font-size: 1rem;
    }
}

/* 點數統計三格：比照站內卡片語言（深色半透明＋圓角），因為疊在同樣半透明的 .order-list 上，
   另加一道與站內虛線分隔同色系的細邊，讓卡片邊界看得出來但不搶眼。
   右下角留給說明 icon，故 padding-right 稍多一點避免數字與 icon 靠太近 */
body.bonus .bonus-summary-card {
    position: relative;
    padding: 1rem 0.75rem 1.1rem;
    background: rgb(0 0 0 / 30%);
    border: 1px solid #ffffff1c;
    /* 站台面板（.order-list／.bo3／手機版表格列）一律 50px 圓角，
       小卡用 50px 會變成膠囊，取 25px 讓它讀起來仍是同一套語言 */
    border-radius: 25px;
    text-align: center;
    color: #fff;
    height: 100%;
    /* 卡片同時是到期狀態的篩選器 */
    cursor: pointer;
    user-select: none;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}

    body.bonus .bonus-summary-card:hover,
    body.bonus .bonus-summary-card:focus-visible {
        border-color: #ffffff59;
        background: rgb(0 0 0 / 40%);
        outline: none;
    }

    /* 選中：用站內重點色的邊框＋淡光暈，不整塊填色——數字才是主角，
       填滿會讓數字在粉底上變得難讀 */
    body.bonus .bonus-summary-card.is-active {
        border-color: #dd3b91;
        background: rgb(221 59 145 / 14%);
        box-shadow: 0 0 0 1px #dd3b91 inset;
    }

body.bonus .bonus-summary-label {
    font-size: 0.9rem;
    color: #d9d2f0;
    margin-bottom: 0.25rem;
}

body.bonus .bonus-summary-value {
    font-size: 1.75rem;
    font-weight: bold;
    line-height: 1.2;
}

    body.bonus .bonus-summary-value.is-accent {
        color: #dd3b91;
    }

/* 說明 icon：擺在各卡片右下角，滑過／點擊顯示該項統計的定義，
   取代原本常駐在卡片下方、佔兩行版面的說明文字 */
body.bonus .bonus-info-icon {
    position: absolute;
    right: 8px;
    bottom: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff59;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.2s;
}

    body.bonus .bonus-info-icon:hover,
    body.bonus .bonus-info-icon:focus {
        color: #dd3b91;
        outline: none;
    }

.bonus-summary-tip {
    max-width: 300px;
    line-height: 1.9;
    white-space: pre-line;
}

/* 查詢工具列：融入卡片不加框，比照 body.coupon .coupon-toolbar。
   兩組條件並排成一列，寬度不夠時自動往下換行（小視窗一組一列）。
   組內 chip 間距 0.5rem、組與組之間 1.75rem，用間距差異表達分組，不另外畫分隔線
   （分隔線在換行後會落在行尾變成贅飾） */
body.bonus .bonus-toolbar {
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.75rem;
    margin-bottom: 1.5rem;
}

body.bonus .filter-chip-row,
body.coupon .filter-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* 期間快捷 chip（單選）：選中用站內重點色 #dd3b91，與表格的點數結餘同一套色。
   到期狀態的篩選已併入上方三張統計卡，這裡不再重複一排 */
body.bonus .filter-chip,
body.coupon .filter-chip {
    padding: 0.35rem 1.1rem;
    border: 1px solid #ffffff40;
    border-radius: 999px;
    background: rgb(255 255 255 / 8%);
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.6;
    transition: all 0.2s;
}

    body.bonus .filter-chip:hover,
    body.coupon .filter-chip:hover {
        border-color: #dd3b91;
        background: rgb(221 59 145 / 20%);
    }

    body.bonus .filter-chip.is-active,
    body.coupon .filter-chip.is-active {
        border-color: #dd3b91;
        background: #dd3b91;
        font-weight: bold;
    }



.el-pagination.is-background .btn-next:disabled,
.el-pagination.is-background .btn-prev:disabled {
    background-color: #14103b !important;
}

.el-pagination.is-background .el-pager li.is-active {
    background-color: #256639 !important;
}

body.bonus .order-list {
    padding: 80px 50px 40px;
    background: rgb(0 0 0 / 25%);
    box-sizing: border-box;
    position: relative;
    border-radius: 50px;
    backdrop-filter: blur(3px);
    margin: 5rem auto 80px;
    color: #fff;
}


/*折價券（比照紅利樣式）-----------------------------------------------------*/
body.coupon .h2 {
    color: #fff;
    border-bottom: none;
    padding-top: 5px;
}

body.coupon .rwd-table.mob-mode td {
    line-height: 2;
}

    body.coupon .rwd-table.mob-mode td:last-child {
        color: #dd3b91;
        font-weight: bold;
    }

body.coupon .coupon-title {
    position: absolute;
    left: 50%;
    top: -80px;
    transform: translateX(-50%);
    z-index: 1;
}

body.coupon .coupon-icon {
    width: 140px;
    height: 140px;
    margin-left: 5px
}

body.coupon .rwd-table.mob-mode th {
    background: #c66034;
}

body.coupon .rwd-table.mob-mode tr:nth-child(odd) {
    background: none;
}

body.coupon .rwd-table.mob-mode tr {
    border-bottom: 2px dotted #ffffff1c;
}

    body.coupon .rwd-table.mob-mode tr:first-child {
        border-bottom: none;
    }

body.coupon .el-pagination {
    padding-top: 30px;
}

body.coupon button.btn-next,
body.coupon button.btn-prev,
body.coupon .number {
    border-radius: 50%;
}

body.coupon .order-list {
    padding: 80px 50px 40px;
    background: rgb(0 0 0 / 25%);
    box-sizing: border-box;
    position: relative;
    border-radius: 50px;
    backdrop-filter: blur(3px);
    margin: 5rem auto 80px;
    color: #fff;
}

/* 序號歸戶／狀態篩選工具列：融入卡片，不額外加框，比照站內表單既有樣式 */
body.coupon .coupon-toolbar {
    color: #fff;
    margin-bottom: 1.5rem;
}

body.coupon .coupon-toolbar .col-form-label {
    color: #d9d2f0;
}



/*訊息-----------------------------------------------------*/
body.news .h2 {
    color: #fff;
    border-bottom: none;
}
body.news.Show .kind-info {
    display: none;
}
body.news .article-list .item a {
    padding: 15px 10px;
}

body.news button.btn-next,
body.news button.btn-prev,
body.news .number {
    border-radius: 50%;
}

.el-pagination.is-background .btn-next,
.el-pagination.is-background .btn-prev {
    background-color: #14103b !important;
    color: #fff;
}

.el-pagination.is-background .el-pager li.is-active {
    background-color: #a43583 !important;
}

body.news .news-title {
    position: absolute;
    left: 50%;
    top: -80px;
    transform: translateX(-50%);
    z-index: 1;
}

body.news .article-list {
    padding-top: 100px;
}

body.news .news-icon {
    width: 150px;
    height: 150px;
    margin-left: -20px;
    margin-bottom: 5px;
}

body.news .order-list {
    padding: 40px 50px 20px;
    background: rgb(0 0 0 / 25%);
    box-sizing: border-box;
    position: relative;
    border-radius: 50px;
    margin: 5rem auto 80px;
    color: #fff;
    backdrop-filter: blur(10px);
    max-width: 950px;
}

body.news .article-list .item .time {
    color: #7ca073;
    font-size: 12px;
    margin-right: 10px;
    background: #000;
    padding: 5px 10px;
    border-radius: 5px;
    min-width: 95px;
}

body.news .article-list .item .info {
    color: #c0c0c0;
}

body.news .fa-chevron-circle-right:before, .fa-circle-chevron-right:before {
    color: #528879;
}

body.news .article-list .item + .item {
    border-top: dotted 2px #cccccc40;
}

body.news.Show .small-title {
    font-size: 15px;
    color: #a37e37;
}

body.news.Show .tag {
    background: #000000;
    margin-bottom: 5px;
    border-radius: 5px;
    color: #ccc;
}

body.news.Show .editor {
    color: #ccc;
}

.article-list .item .info {
    transition: all .3s ease;
}

.article-list .item a:hover .info {
    letter-spacing: 3px;
    color: #fff;
}

body.register .pos-relative {
    margin-top: 5rem;
}


nav.navbar .navbar-collapse {
    padding-right: 1rem;
}

.collapse:not(.show) {
    display: flex !important;
    flex-basis: auto;
}
.navbar-expand-md .navbar-nav {
    flex-direction: row;
}

.el-pager li:hover {
    color: #fff;
    background-color:#dd3b91;
}
.el-pagination.is-background .el-pager li:hover {
    background-color: #a43583 !important;
    color: #fff;
}


.el-pagination.is-background.page-box.mt-3.mb-5.pagination {
    margin-top: 40px !important;
    margin-bottom: 20px !important;
}

.back-bt {
    margin: 25px 10px 35px;
}

/* 底部操作列的佔位塊只在小視窗（固定列生效時）才需要，桌機不留白 */
.page-action-bar-spacer {
    display: none;
}
    .back-bt button,
    .back-bt button:active {
        background: #00000080 !important;
        font-size: 15px;
        padding: 7px 35px 5px;
        color: #bba3df !important;
    }
    .back-bt button:hover {
        background: #000 !important;
    }
    .back-bt button:focus {
       box-shadow: none;
    }

.form-check-input {
    transform: translateY(5px);
}

/*RWD-----------------------------------------------------*/
@media (max-width: 1399px) {
    body .register .align-central, body.register .align-central, body.home .editor:first-child {
        width: 70%;
    }
}

@media (max-width: 1199px) {
    body.register .align-central {
        width: 80%;
    }
}

@media (max-width: 991px) {
    body.register .align-central {
        width: 100%;
    }

    body.load-completed .frame-small-box2 {
        width: 700px;
    }

    .nav-brand-wrapper {
        flex: initial;
    }

    .justify-content-lg-end {
        justify-content: flex-end !important;
    }
}

@media (max-width: 767px) {
    body:not(.home) .home-title {
        margin-top: 2rem;
    }
    body.login .logform {
        width: 360px;
    }

    body.login .avtar {
        left: calc(30%);
    }

    body.register .align-central {
        padding: 50px 30px 10px;
        margin-bottom: 5rem;
    }

    body.register .avtar {
        width: 150px;
        height: 150px;
        left: calc(37%);
    }

    body.register .pos-relative {
        margin-top:9rem;
    }
    body.register .h3 {
        font-size: 23px;
    }

    body.home .editor:first-child {
        width: 80%;
    }

    body.load-completed .frame-small-box2 {
        width: 100%;
        padding-bottom: 10px;
    }

    body.load-completed .logtitle h5:before {
        content: '';
        top: -35px;
        left: 77px;
        background-size: 90%;
        background-repeat: no-repeat;
    }
    /*    body.login.load-completed .main {
        position: initial;
        transform: inherit;
    }*/
    body.load-completed .card {
        margin: 0 auto;
        display: table;
    }

    body.load-completed .bo3 {
        padding: 30px 50px;
        margin: 20px 20px 80px;
    }

    body.load-completed .cd1,
    body.load-completed .cd2,
    body.load-completed .cd3 {
        margin-bottom: 40px;
    }

    body.load-completed .logtitle p {
        color: #ff9090;
        background: linear-gradient(90deg, #4c15abcc, #1ef92645);
        border-radius: 10px;
        padding: 10px 30px;
        font-weight: bold;
        /*        backdrop-filter: blur(3px);*/
    }

    body.load-completed .logout {
        bottom: 10px;
        right: 10px;
        transform: scale(0.9);
    }

    .rwd-table.mob-mode tr + tr {
        margin-bottom: 20px;
    }

    body.bonus .order-list {
        background: none;
    }

    body.bonus .rwd-table.mob-mode tr,
    body.bonus .rwd-table.mob-mode tr:nth-child(odd) {
        padding: 30px 20px;
        background: rgb(0 0 0 / 25%);
        box-sizing: border-box;
        position: relative;
        border-radius: 50px;
        backdrop-filter: blur(5px);
        margin: 0 auto 20px;
        color: #fff;
    }

    body.bonus .rwd-table.mob-mode td {
        padding: 0.3rem 0.5rem;
        border-bottom: dotted 2px #ffffff1c;
        border-top: 0;
        border-left: 0;
        border-right: 0
    }

    body.bonus .order-list {
        padding: 20px 30px 0;
    }

        body.bonus .order-list.mb-5 {
            margin-bottom: 1rem !important;
        }

    body.bonus .rwd-table.mob-mode td:last-child {
        color: #dd3b91;
        font-size: 18px;
        font-weight: bold;
    }

    body.bonus .el-pagination {
        padding-top: 0;
    }

        body.bonus .el-pagination.mb-5 {
            margin-bottom: 1rem !important;
        }

    body.bonus .btn-secondary {
        margin-bottom: 50px;
    }

    body.news .fa-chevron-circle-right:before, .fa-circle-chevron-right:before {
        display: none;
    }

    .flex-wrap {
        flex-wrap: nowrap !important;
    }

    body.news .order-list.mb-5 {
        margin-bottom: 4rem !important;
    }

    body.news .btn-area {
        margin-bottom: 50px;
    }

    body.login.load-completed .load-index {
        position: relative;
    }

    body.bonus .mob-mode {
        margin-top: 100px;
    }

    /* 手機版 .order-list 背景是 none，統計與篩選會直接浮在紫色背景上顯得散。
       給控制區自己的半透明底，讓它成為一個看得出邊界的「控制面板」。
       禮物圖是 position:absolute 蓋在面板上緣（.bouns-title top:10px），
       原本靠 .mob-mode 的 margin-top:100px 讓表格閃開；現在控制區才是第一個內容，
       改由它承接這段閃避距離，表格則不再需要（否則會多出一整段空白） */
    body.bonus .bonus-control {
        margin-top: 95px;
        padding: 1rem 0.9rem;
        background: rgb(0 0 0 / 25%);
        border-radius: 30px;
        backdrop-filter: blur(3px);
    }

    body.bonus .mob-mode {
        margin-top: 1.25rem;
    }

    /* 少了一整排狀態 chip，卡片可以做大一點，數字才是這頁的主角 */
    body.bonus .bonus-summary-card {
        padding: 0.8rem 0.4rem 1rem;
        border-radius: 20px;
    }

    body.bonus .bonus-summary-label {
        font-size: 0.78rem;
        line-height: 1.35;
    }

    body.bonus .bonus-summary-value {
        font-size: 1.5rem;
    }

    body.bonus .bonus-info-icon {
        right: 5px;
        bottom: 4px;
        font-size: 14px;
    }

    body.bonus .bonus-toolbar {
        gap: 0.5rem;
    }

    body.bonus .filter-chip,
    body.coupon .filter-chip {
        padding: 0.3rem 0.85rem;
        font-size: 0.85rem;
    }

    body.news .news-title {
        top: -80px;
    }

    body.news .article-list {
        padding: 90px 0 20px 0;
    }

    body.news .mainSection {
        margin-top: 30px;
    }

    body.news .h2 {
        text-align: center;
        padding-bottom: 0;
    }

    body.news .news-icon {
        margin-left: 0;
    }

    body.register .avtar2 {
        margin-left: 15px;
    }

    .navbar .navbar-brand {
        margin: 10px 20px;
        width: 80px
    }

    body.load-completed .logtitle h5 {
        padding-top: 7px;
    }

    body.bonus .bouns-title {
        top: 10px;
    }

    body.coupon .order-list {
        background: none;
    }

    body.coupon .rwd-table.mob-mode tr,
    body.coupon .rwd-table.mob-mode tr:nth-child(odd) {
        padding: 30px 20px;
        background: rgb(0 0 0 / 25%);
        box-sizing: border-box;
        position: relative;
        border-radius: 50px;
        backdrop-filter: blur(5px);
        margin: 0 auto 20px;
        color: #fff;
    }

    body.coupon .rwd-table.mob-mode td {
        padding: 0.3rem 0.5rem;
        border-bottom: dotted 2px #ffffff1c;
        border-top: 0;
        border-left: 0;
        border-right: 0
    }

    body.coupon .order-list {
        padding: 20px 30px 0;
    }

        body.coupon .order-list.mb-5 {
            margin-bottom: 1rem !important;
        }

    body.coupon .rwd-table.mob-mode td:last-child {
        color: #dd3b91;
        font-size: 18px;
        font-weight: bold;
    }

    body.coupon .el-pagination {
        padding-top: 0;
    }

        body.coupon .el-pagination.mb-5 {
            margin-bottom: 1rem !important;
        }

    body.coupon .btn-secondary {
        margin-bottom: 50px;
    }

    body.coupon .mob-mode {
        margin-top: 100px;
    }

    body.coupon .coupon-title {
        top: 10px;
    }

    /* 折價券比照紅利（見 body.bonus .bonus-control）：
       序號歸戶＋狀態篩選這塊工具列才是畫面第一個內容，由它承接禮物圖的閃避距離，
       並給自己的半透明底把它收成一個「控制區」，不要直接浮在紫色背景上 */
    body.coupon .coupon-toolbar {
        margin-top: 95px;
        padding: 1rem 0.9rem;
        background: rgb(0 0 0 / 25%);
        border-radius: 30px;
        backdrop-filter: blur(3px);
    }

    body.coupon .mob-mode {
        margin-top: 1.25rem;
    }

    /* ── 前台底部操作列（點數／折價券／訊息／會員資料共用）─────────────
       小視窗釘在畫面底部、不隨捲動移動、扁平化滿版；兩顆以上按鈕自動左右均分。

       用 fixed 而非 sticky：外層 .page_wrapper 帶 overflow:hidden，會成為 sticky 的捲動容器
       而讓 sticky 完全失效；fixed 不受 overflow 祖先影響（只有 transform/filter 祖先會改變
       fixed 的包含區塊，站台僅 body.login .mainSection 有，與這幾頁無關）。 */
    .page-action-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 20;
        display: flex;
        margin: 0 !important;
        padding: 0 0 env(safe-area-inset-bottom);
        background: rgb(10 6 26 / 82%);
        backdrop-filter: blur(12px);
        border-top: 1px solid #ffffff1c;
    }

        /* 各頁內層結構不同（.btn-area 或 ul.pagination），一律攤平成等寬的 flex 項目。
           margin 需要 !important：既有的 body.news .btn-area { margin-bottom: 50px }
           權重比這裡高（多一個 body），不加會在固定列內部多撐出 50px，
           讓按鈕被頂到列的上緣、整條列莫名變厚 */
        .page-action-bar .btn-area,
        .page-action-bar > ul {
            display: flex;
            width: 100%;
            margin: 0 !important;
            padding: 0 !important;
            list-style: none;
        }

        .page-action-bar .item,
        .page-action-bar .page-item {
            flex: 1 1 0;
            margin: 0 !important;
        }

            .page-action-bar .item + .item,
            .page-action-bar .page-item + .page-item {
                border-left: 1px solid #ffffff1c;
            }

        /* 扁平化：整格都是可點區域，沒有圓角與外框，看起來像 App 的底部導航列。
           背景設 transparent 以蓋掉 .back-bt button 的 #00000080 !important，
           讓整條列是一片連續的底色，而不是「一條列上面再放一顆深色按鈕」 */
        .page-action-bar .btn,
        .page-action-bar .btn:active,
        .page-action-bar .btn:focus {
            width: 100%;
            border: 0;
            border-radius: 0;
            margin: 0 !important;
            padding: 16px 0 !important;
            font-size: 16px;
            background: transparent !important;
            box-shadow: none;
        }

        .page-action-bar .btn-secondary {
            color: #cfc4e8 !important;
        }

        /* 主要動作（儲存／註冊）保留重點色，讓兩顆並排時分得出主次 */
        .page-action-bar .btn-primary {
            color: #fff !important;
            background: #dd3b91 !important;
            font-weight: bold;
        }

        .page-action-bar .btn:disabled {
            opacity: 0.5;
        }

    /* 佔位塊：把被固定列蓋住的高度補回內容流，最後一筆資料與分頁才不會被擋住。
       各頁自己放一個，就不必替每個頁面各寫一條 padding-bottom */
    .page-action-bar-spacer {
        display: block;
        height: 60px;
    }

    body.news .order-list {
        padding: 40px 20px 20px;
        margin: 9rem auto 80px;
    }
}



/*.page_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(90deg, #040e49, #251818);
    animation: animate 20s linear infinite;
}*/
/*@keyframes animate {
    0% {
        filter: hue-rotate(0deg);
    }

    50% {
        filter: hue-rotate(360deg);
    }

    100% {
        filter: hue-rotate(0deg);
    }
}*/

/*.page_wrapper:before {
   content:'';
   position:absolute;
   top:0;
   left:0;
   border-top:100vh solid transparent;
   border-left:100vh solid #fff;
   opacity:0.1;
}

.page_wrapper:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    border-top: 100vh solid transparent;
    border-right: 100vh solid #fff;
    opacity: 0.1;
}*/
