


:root {
    /* =================================
       1. 全域通用設定 (手機尺寸)
       ================================= */
    --global-font-size-base: 0.9rem; /* 網站內文、段落等基本字體大小 */

    /* =================================
       2. 頁首導覽列 (Header)
       ================================= */
    --navbar-font-size: 0.75rem;      /* 導覽列上按鈕與標題的字體大小 */
    --navbar-padding-x: 0.6rem;      /* 導覽列按鈕的左右內邊距 */
    --navbar-padding-y: 0.5rem;      /* 導覽列按鈕的上下內邊距 */

    /* =================================
       3. 主要按鈕 (如頁面中的"推薦組合")
       ================================= */
    --main-btn-font-size: 0.95rem;
    --main-btn-padding-y: 0.4rem;
    --main-btn-padding-x: 0.8rem;
    
    /* =================================
       4. 大型按鈕 (如 "8591賣場連結")
       ================================= */
    --lg-btn-font-size: 0.95rem;
    --lg-btn-padding-y: 0.4rem;
    --lg-btn-padding-x: 0.8rem;

    /* =================================
       5. 表格樣式
       ================================= */
    --table-font-size: 0.9rem;          /* 表格內文的字體大小 */
    --table-padding-y: 0.1rem;           /* 儲存格的上下內邊距 */
    --table-padding-x: 0.2rem;           /* 儲存格的左右內邊距 */
    
    --table-subheader-font-size: 1rem; /* 分區標題 (如 "8折特區") 的字體大小 */
    --table-subheader-padding-y: 0.1rem; /* 分區標題的上下內邊距 */
    --table-subheader-padding-x: 0.75rem;/* 分區標題的左右內邊距 */

    /* =================================
       6. 頁尾浮動列 (Footer)
       ================================= */
    --footer-font-size: 0.8rem;
    --footer-padding-y: 5px;
    --footer-padding-x: 10px;
    --footer-summary-font-size: 0.9em;

    /* =================================
       7. 右側邊欄 (Sidebar)
       ================================= */
    --sidebar-label-font-size: 0.9rem;
    --sidebar-btn-font-size: 0.9rem;
    --sidebar-menu-link-font-size: 0.9rem;

    /* =================================
       8. 內容頁面 (登入、說明頁等)
       ================================= */
    --page-h1-font-size: 1.75rem;
    --page-h2-font-size: 1.5rem;
    --page-h3-font-size: 1.25rem;
    --page-h4-font-size: 1.1rem;
    --page-h5-font-size: 1rem;
    --page-lead-font-size: 1rem;
    --alert-font-size: 0.95rem;

    /* =================================
       9. 其他頁面元素
       ================================= */
    --visitor-counter-font-size: 0.9rem;
    --custom-tab-btn-font-size: 0.8rem;
    --custom-tab-btn-padding-y: 0.2rem;
    --custom-tab-btn-padding-x: 0.4rem;

    /* =================================
       10. 標籤 (Badge) 字體大小
       ================================= */
    --tag-font-size-recommend: 0.9em;  /* (index.php) 推薦組合區塊的標籤字體大小 */
    --tag-font-size-footer: 0.9em;     /* (footer.php) 頁腳選擇清單的標籤字體大小 */
    --tag-font-size-results: 1em;      /* (results.php) 搜尋結果頁條件框的標籤字體大小 */

    /* 自助開專屬說明頁 - 步驟圈圈大小（預設：手機） */
    --step-circle-size: 48px;
    --step-circle-icon-size: 1.5rem;
}

@media (min-width: 768px) { /* md - 平板尺寸 */
    :root {
        --global-font-size-base: 0.95rem;

        --navbar-font-size: 0.9rem;
        --navbar-padding-x: 0.8rem;
        --navbar-padding-y: 0.5rem;

        --main-btn-font-size: 1.2rem;
        --main-btn-padding-y: 0.6rem;
        --main-btn-padding-x: 1.5rem;

        --lg-btn-font-size: 1.25rem;
        --lg-btn-padding-y: 0.75rem;
        --lg-btn-padding-x: 1.5rem;

        --table-font-size: 0.9rem;
        --table-padding-y: 0.6rem;
        --table-padding-x: 0.6rem;

        --table-subheader-font-size: 1.1rem;
        --table-subheader-padding-y: 0.3rem;
        --table-subheader-padding-x: 1rem;
        
        --footer-font-size: 0.9rem;
        --footer-padding-y: 8px;
        --footer-padding-x: 12px;
        --footer-summary-font-size: 0.95em;

        --sidebar-label-font-size: 0.9rem;
        --sidebar-btn-font-size: 0.85rem;
        --sidebar-menu-link-font-size: 0.9em;
        
        --page-h1-font-size: 1.5rem;
        --page-h2-font-size: 1.75rem;
        --page-h3-font-size: 1.5rem;
        --page-h4-font-size: 1.25rem;
        --page-h5-font-size: 1.05rem;
        --page-lead-font-size: 1.05rem;
        --alert-font-size: 0.95rem;

        --visitor-counter-font-size: 1.0rem;
        --custom-tab-btn-font-size: 0.9rem;
        --custom-tab-btn-padding-y: 0.3rem;
        --custom-tab-btn-padding-x: 0.6rem;

        --tag-font-size-recommend: 0.9em;
        --tag-font-size-footer: 0.95em;
        --tag-font-size-results: 1em;

        /* 自助開專屬說明頁 - 步驟圈圈大小（平板） */
        --step-circle-size: 60px;
        --step-circle-icon-size: 1.75rem;
    }
}

@media (min-width: 992px) { /* lg - 電腦尺寸 */
    :root {
        --global-font-size-base: 1rem;

        --navbar-font-size: 0.95rem;
        --navbar-padding-x: 0.9rem;
        --navbar-padding-y: 0.5rem;

        --table-font-size: 1rem;
        --table-padding-y: 0.75rem;
        --table-padding-x: 0.75rem;

        --table-subheader-font-size: 1.2rem;
        --table-subheader-padding-y: 0.5rem;
        --table-subheader-padding-x: 1rem;

        --footer-font-size: 1rem;
        --footer-padding-y: 10px;
        --footer-padding-x: 15px;
        --footer-summary-font-size: 1em;

        --sidebar-label-font-size: 1rem;
        --sidebar-btn-font-size: 0.9rem;
        --sidebar-menu-link-font-size: 1em;

        --page-h1-font-size: 1.75rem;
        --page-h2-font-size: 2rem;
        --page-h3-font-size: 1.75rem;
        --page-h4-font-size: 1.4rem;
        --page-h5-font-size: 1.1rem;
        --page-lead-font-size: 1.1rem;
        --alert-font-size: 1rem;

        --visitor-counter-font-size: 1.1rem;
        --custom-tab-btn-font-size: 1rem;
        --custom-tab-btn-padding-y: 0.375rem;
        --custom-tab-btn-padding-x: 0.75rem;

        --tag-font-size-recommend: 1em;
        --tag-font-size-footer: 1em;
        --tag-font-size-results: 1em;

        /* 自助開專屬說明頁 - 步驟圈圈大小（桌機） */
        --step-circle-size: 70px;
        --step-circle-icon-size: 2rem;
    }
}
/* --- [響應式樣式設定結束] --- */

body {
    font-size: var(--global-font-size-base);
}

.table td, .table th {
    font-size: var(--table-font-size);
    padding: var(--table-padding-y) var(--table-padding-x);
    vertical-align: middle; 
}

/* 推薦組合樣式 */
.group-container { margin-bottom: 2.5rem; }
.group-title { border-bottom: 2px solid #dee2e6; padding-bottom: 0.5rem; margin-bottom: 1.5rem; font-size: 1.75rem; color: #343a40; }
.set-item { border: 1px solid #e9ecef; border-radius: .25rem; margin-bottom: 1rem; padding: 1rem; background-color: #fff; transition: background-color .2s ease-in-out, box-shadow .15s ease-in-out; }

.set-item:hover { 
    background-color: #fff9e6; 
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.075); 
}

.set-name { font-weight: 500; color: #0056b3; }
.card-details { display: flex; flex-wrap: wrap; align-items: center; }
.card-details .badge, .card-details .card-name-item { margin-right: 5px; margin-bottom: 5px; vertical-align: middle; }

.card-details .badge { padding: 5px 8px; font-weight: bold; color: #212529; font-size: var(--tag-font-size-recommend); }
.card-details .card-name-item { background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 4px; padding: 4px 8px; font-size: 0.9em; }
.card-details .card-name-item strong { font-weight: 600; }

.card-details .badge.badge-primary { background-color: #007bff; color: #fff; }
.card-details .badge.badge-success { background-color: #28a745; color: #fff; }
.card-details .badge.badge-danger { background-color: #dc3545; color: #fff; }
.card-details .badge.badge-warning { background-color: #ffc107; color: #212529; } 

.badge-recommend-newbie { background-color: #41ba51ff; color: #fff; }
.badge-recommend-strength { background-color: #d13a49ff; color: #fff; }

.set-name .badge { font-size: 0.7em; vertical-align: middle; font-weight: bold; }
.set-meta-info { font-size: 0.9em; color: #6c757d; }
.set-meta-info .meta-item { margin-right: 15px; display: inline-block; margin-bottom: 5px; }
.set-meta-info .meta-item i { margin-right: 5px; color: #868e96; }
.strength-rating { color: #f5b000; font-weight: bold; }
.strength-rating .empty-star { color: #e0e0e0; }
.strength-rating i { color: #6c757d; margin-right: 5px; }

.filter-section-wrapper {
    max-width: 480px;
    margin-left: 0;
    margin-right: auto;
}

#filter-container {
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
    padding: 0;
}
#filter-container, #filter-container .custom-select, #filter-container .btn {
    font-size: 1rem;
}
.filter-item {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e9ecef;
}
.filter-item:last-child {
    border-bottom: none;
}
.filter-label {
    font-weight: 500;
    color: #212529;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
}
.filter-controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.radio-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}
.radio-grid .btn input[type="radio"] {
    position: absolute;
    clip: rect(0,0,0,0);
    pointer-events: none;
}
.radio-grid .btn {
    text-align: center;
    padding: .375rem .75rem;
}
.radio-grid .btn-outline-primary {
    color: #007bff;
}
.radio-grid .btn-outline-primary.active {
    color: #fff;
}
.radio-grid .btn .text-green { color: #28a745; }
.radio-grid .btn .text-red { color: #dc3545; }
.radio-grid .btn.active .text-green,
.radio-grid .btn.active .text-red {
    color: #fff;
}

.filter-controls.radio-group label {
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}
.filter-controls.radio-group input[type="radio"] {
    margin-right: 4px;
}
.filter-controls span {
    white-space: nowrap;
}
.stock-sold-out { color: #dc3545; }
.stock-low { color: #fd7e14; }
.stock-available { color: #28a745; }

.set-item-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.set-item-info {
    flex: 1;
}
.set-item-actions {
    flex-shrink: 0;
    width: 120px;
}
.set-item-actions .btn {
    margin-bottom: 0.25rem;
}
.set-item-actions form {
    margin: 0;
}
.set-item-actions .btn:last-child {
    margin-bottom: 0;
}

/* 自訂搜尋樣式 */
.quantity-selector { display: flex; align-items: center; justify-content: center; }
.quantity-display { margin: 0 8px; font-weight: bold; font-size: 1.1em; min-width: 20px; text-align: center; }
.quantity-btn { width: 28px; height: 28px; line-height: 28px; padding: 0; }

/* 新版頁腳樣式 */
body { margin-bottom: 0; } /* 移除底部邊距 */

.page-footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 -2px 5px rgba(0,0,0,0.1);
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
}

#footer-toggle-btn {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 30px;
    background-color: rgba(81, 91, 101, 0.8);
    color: white;
    border-radius: 20px 20px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    box-shadow: 0 -2px 5px rgba(0,0,0,0.1);
}
#footer-toggle-btn i {
    transition: transform 0.35s ease-in-out;
}
.page-footer.open #footer-toggle-btn i {
    transform: rotate(180deg);
}
.footer-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: var(--footer-padding-y) var(--footer-padding-x);
    border-bottom: 1px solid #dee2e6;
    color: #343a40;
}
.footer-header .btn, .footer-header strong {
    font-size: var(--footer-font-size);
}
.footer-header strong {
    flex-grow: 1;
    text-align: center;
}
#footer-content-wrapper {
    padding: 10px 15px;
    height: 110px;
    overflow-y: auto;
    max-height: 110px;
    transition: max-height 0.35s ease-in-out, padding 0.35s ease-in-out;
}

.page-footer:not(.open) #footer-content-wrapper {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
}

#selection-summary, #selection-summary .selection-item {
    font-size: var(--footer-summary-font-size);
}

#selection-summary a, #selection-summary span { cursor: pointer; }


#selection-summary .selection-item {
    display: inline-block;
    margin: 0 5px 5px 0;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 4px 8px;
    color: #212529;
    text-decoration: none;
    font-weight: normal;
}
#selection-summary a.selection-item:hover {
    background-color: #e9ecef;
}
#selection-summary .selection-item strong {
    font-weight: 600;
}

.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); display: none; justify-content: center; align-items: center; z-index: 2000; }
.modal-content { background-color: white; padding: 20px 30px; border-radius: 8px; text-align: center; box-shadow: 0 4px 8px rgba(0,0,0,0.2); }
.modal-buttons { margin-top: 20px; }
.modal-buttons button { margin: 0 10px; min-width: 80px; }

#search-content-container {
    padding-bottom: 150px; 
}

#fixed-header-container { position: fixed; z-index: 100; display: none; overflow-x: auto; -webkit-overflow-scrolling: touch; }
#fixed-header-container .table { margin-bottom: 0; }
#table-scroll-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }

.counter-digit { 
    height: 20px;
    width: auto; 
    margin: 0 1px; 
    vertical-align: middle; 
}
.visitor-counter-container {
    font-size: var(--visitor-counter-font-size);
    font-weight: 500;
    color: #495057;
    text-align: right;
    margin-bottom: 1rem;
}

.navbar-brand-centered {
    flex-grow: 1;
    text-align: center;
    font-weight: 500;
    font-size: calc(var(--navbar-font-size) + 0.2rem);
}

#custom-tab .btn-group-toggle .btn {
    font-size: var(--custom-tab-btn-font-size);
    padding: var(--custom-tab-btn-padding-y) var(--custom-tab-btn-padding-x);
}


/* 可收合側邊欄樣式 */
#right-sidebar {
    position: fixed;
    right: -280px;
    width: 280px;
    background-color: #fff;
    box-shadow: -2px 0 5px rgba(0,0,0,0.1);
    z-index: 1039;
    border-radius: 10px 0 0 10px;
    display: flex; 
    flex-direction: column; 
}
#right-sidebar.open {
    right: 0;
}

.sidebar-header {
    padding: 10px 15px;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.sidebar-footer {
    padding: 10px;
    border-top: 1px solid #dee2e6;
    background-color: #f8f9fa;
}

.sidebar-toggle {
    position: absolute;
    left: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 80px;
    background-color: rgba(81, 91, 101, 0.8);
    color: white;
    border-radius: 15px 0 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    box-shadow: -2px 2px 5px rgba(0,0,0,0.1);
    padding: 0;
}

#sidebar-toggle {
    top: 50%;
}


#nav-menu-list #filter-container {
    border: none;
    box-shadow: none;
    padding: 0 10px 10px 10px;
    margin: 0;
    border-bottom: 1px solid #dee2e6;
}
#nav-menu-list .filter-item {
    padding: 0.5rem 0;
}
#nav-menu-list .filter-label {
    font-size: var(--sidebar-label-font-size);
    margin-bottom: 0.35rem;
}
#nav-menu-list .filter-controls .custom-select,
#nav-menu-list .radio-grid .btn,
#nav-menu-list .btn-group-toggle .btn {
    font-size: var(--sidebar-btn-font-size);
    padding: .25rem .5rem;
}
#nav-menu-list .radio-grid {
    gap: 0.25rem;
}

#nav-menu-list {
    flex-grow: 1;
    overflow-y: auto;
    padding-top: 10px;
}
#nav-menu-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
#nav-menu-list li a {
    display: block;
    padding: 8px 15px;
    color: #007bff;
    text-decoration: none;
    font-size: var(--sidebar-menu-link-font-size);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#nav-menu-list li a:hover {
    background-color: #e9ecef;
    color: #0056b3;
}

#floating-top-btn {
    position: fixed;
    bottom: 50px;
    right: 10px;
    z-index: 2000;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: none;
    background-color: rgba(226, 106, 124, 0.8);
    color: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    cursor: pointer;
    font-size: 1.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
#floating-top-btn.visible {
    opacity: 1;
    visibility: visible;
}
#floating-top-btn:hover {
    background-color: #0056b3;
}
#floating-top-btn:focus {
    outline: none;
    background-color: rgba(226, 106, 124, 0.8);
}

#right-sidebar.sidebar-animating * {
    pointer-events: none !important;
}

@media (max-height: 500px) and (orientation: landscape) {
    .navbar.fixed-top { padding-top: 0; padding-bottom: 0; min-height: 40px; }
    .navbar-brand, .navbar .btn { font-size: 0.85rem; padding-top: .25rem; padding-bottom: .25rem; }
}

/* 手機版側邊欄樣式 */
@media (max-width: 767px) {
    #right-sidebar {
        width: 210px;
        right: -210px;
    }
}



.navbar-action-buttons .btn {
    font-size: var(--navbar-font-size);
    padding: var(--navbar-padding-y) var(--navbar-padding-x);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.navbar-action-buttons .btn .fas {
    margin-right: .3em;
}


/* 表格與內容樣式 */
.table-responsive {
    overflow-x: auto;
}

#show_card > thead,
#special-offer-table > thead,
#results-table > thead {
    background-color: #343a40;
    color: #fff;
}
#special-offer-table > thead > tr > th:first-child {
    white-space: nowrap;
}

.copy-btn {
    padding: .25rem .5rem;
    font-size: .8rem;
}
.countdown-timer .text-muted { font-style: italic; }


/* 折扣分區標題列樣式 */
.discount-group-header td {
    background-color: #d1ecf1 !important;
    font-weight: bold;
    text-align: left;
    padding: var(--table-header-padding-y) var(--table-header-padding-x) !important;
    font-size: var(--table-subheader-font-size);
}

.highlight-card {
    background-color: #ffe4e9; 
    border: 1px solid #ffb3c1; 
    color: #c92c4d; 
    padding: 0.1em 0.3em;
    border-radius: .25rem;
    font-weight: bold;
}

/* 特價組合狀態強調 */
tr.offer-reserved {
    background-color: #fff8e1 !important; 
}
tr.offer-reserved:hover {
    background-color: #ffecb3 !important;
}
tr.offer-soldout {
    background-color: #f5f5f5 !important; 
    color: #9e9e9e;
}
tr.offer-soldout .text-danger, tr.offer-soldout .text-muted {
    text-decoration: line-through;
}
tr.offer-soldout:hover {
    background-color: #eeeeee !important;
}
.navbar-brand-container {
    display: flex;
    align-items: center;
}

.logo-small {
    height: 30px;
    width: auto;
}

.logo-large {
    max-height: 24px;
    height: auto;
    width: auto; 
}

.navbar-brand-text-mobile {
    font-weight: 500;
    margin-left: 0.5rem;
    color: rgba(0,0,0,.9);
    font-size: var(--navbar-font-size) + 0.2rem;
}

.navbar-action-buttons {
    display: none;
}
@media (min-width: 200px) {
    .navbar-action-buttons {
        display: inline-flex;
    }
}

#page-action-buttons .btn-group-lg > .btn, 
#page-action-buttons .btn-lg {
    font-size: var(--main-btn-font-size);
    padding: var(--main-btn-padding-y) var(--main-btn-padding-x);
}

.btn-lg {
    font-size: var(--lg-btn-font-size);
    padding: var(--lg-btn-padding-y) var(--lg-btn-padding-x);
}

@media (max-width: 420px) {
    .navbar-action-buttons .btn .btn-text {
        display: none;
    }
    .navbar-action-buttons .btn {
        padding: var(--navbar-padding-y) 0.9rem;
    }
    .navbar-action-buttons .btn .fas {
        margin-right: 0;
    }
}



.login-container, 
.info-page-container { 
    max-width: 99%;
}

h1, .h1,
.display-4 { font-size: var(--page-h1-font-size); }
h2, .h2 { font-size: var(--page-h2-font-size); }
h3, .h3 { font-size: var(--page-h3-font-size); }
h4, .h4 { font-size: var(--page-h4-font-size); }
h5, .h5 { font-size: var(--page-h5-font-size); }
.lead      { font-size: var(--page-lead-font-size); }
.alert     { font-size: var(--alert-font-size); }

/* 自助開專屬說明頁 – 步驟圈圈大小 */
.step-circle {
    width: var(--step-circle-size);
    height: var(--step-circle-size);
    min-width: var(--step-circle-size);
}

.step-circle-icon {
    font-size: var(--step-circle-icon-size);
}


@media (min-width: 768px) {
    .login-container,
    .info-page-container {
        max-width: 99%;
    }
}

@media (min-width: 992px) {
    .login-container,
    .info-page-container {
        max-width: 80%;
    }
}


.login-container h2 {
    text-align: center;
    margin-bottom: 1.5rem;
}


.btn-add-to-cart {
    background-color: #28a745;
    border-color: #28a745;
    color: #fff;
}
.btn-add-to-cart:hover {
    background-color: #218838;
    border-color: #1e7e34;
}
.btn-add-to-cart.in-cart {
    background-color: #6c757d;
    border-color: #6c757d;
    cursor: not-allowed;
}


.cart-item-card {
    margin-bottom: 1.5rem;
}


#user-menu-dropdown .user-menu-icon-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #6c757d;
    border-color: #6c757d;
}
#user-menu-dropdown .dropdown-menu {
    min-width: 250px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
#user-menu-dropdown .dropdown-menu-right {
    right: 0;
    left: auto;
}
#user-menu-dropdown .dropdown-header {
    font-size: 0.9rem;
    font-weight: 600;
}
#user-menu-dropdown .dropdown-item i.fa-fw {
    text-align: center;
    width: 1.25em;
}














#user-menu-view-cart-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cart-count-badge {
    /* 確保徽章有最小寬度並垂直置中 */
    min-width: 28px; 
    padding: 0.3em 0.5em;
    font-size: 0.8em;
    line-height: 1;
    text-align: center;
    border-radius: 10rem;
}


.user-cart-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .25rem 1.5rem; 
    font-size: 0.9rem;
    color: #212529;
}
.user-cart-item .sell-id {
    font-weight: 500;
}
.user-cart-item .remove-btn {
    font-size: 1.2rem;
    line-height: 1;
    color: #dc3545;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0 5px;
}
.user-cart-item .remove-btn:hover {
    color: #a71d2a;
}

.search-criteria-box { background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: .5rem; padding: 1rem 1.5rem; margin-bottom: 2rem; box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075); }
.search-criteria-box h4 { font-size: var(--page-h4-font-size); margin-bottom: 1rem; color: #343a40; border-bottom: 1px solid #ced4da; padding-bottom: 0.75rem; }
.criteria-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.criterion-item { display: flex; align-items: center; background-color: #fff; padding: 0.5rem 0.75rem; border-radius: .25rem; border: 1px solid #e9ecef; }
.criterion-item i { margin-right: 0.75rem; font-size: 1.1em; }
.criterion-item i.icon-star { color: #ffc107; } 
.criterion-item i.icon-gem { color: #007bff; } 
.criterion-item i.icon-sort { color: #28a745; } 
.criterion-item i.icon-cards { color: #6c757d; }
.criterion-item i.icon-limit { color: #17a2b8; }
.criterion-label { font-weight: 500; color: #495057; margin-right: 0.5rem; }
.criterion-value { font-weight: bold; color: #212529; }
.criterion-item.full-width { grid-column: 1 / -1; flex-direction: column; align-items: flex-start; }
.criterion-item.full-width .criterion-label { margin-bottom: 0.5rem; display: flex; align-items: center; }
.criterion-value-cards { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.criterion-value-cards .badge { padding: .3em .6em; font-size: var(--tag-font-size-results); }
.text-green { color: #28a745; }
.text-red { color: #dc3545; }

.resource-item i.icon-stone { color: #007bff; }
.resource-item i.icon-ticket { color: #e83e8c; }
.resource-item i.icon-apple { color: #ffc107; }
.resource-item i.icon-mana { color: #28a745; }
.resource-item i.icon-qp { color: #fd7e14; }

.resources-line {
    font-size: 0.9em;
    color: #495057;
    display: flex;
    flex-wrap: wrap;
    gap: 0 1rem;
    align-items: center;
}
.resource-item { 
    white-space: nowrap; 
}
.resource-item i { 
    margin-right: 0.25rem; 
}

#selection-summary .badge {
    margin-right: 5px;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: var(--tag-font-size-footer);
}


