/* 購物車相關樣式（theme5） */
/* theme5 navbar 使用 z-index: 999999，此處須高於其才能正確顯示 */

/* theme5 導覽列購物車 hover 效果與指標游標 */
.cart-app .cart-icon-link {
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.cart-app .cart-icon-link:hover {
    opacity: 0.85;
    transform: translateY(-1px);
}

/* Element Plus Message/Loading：確保高於 navbar */
.el-message,
.el-message-box__wrapper,
.el-loading-mask {
    z-index: 1000000 !important;
}

/* Vue 初始化前隱藏元素 */
[v-cloak] {
    display: none !important;
}

/* 購物車添加成功提示訊息 */
.cart-success-message {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 12px 20px;
    background-color: var(--primary-color, #BC6C25);
    color: white;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    z-index: 1000000;
    animation: cartSlideIn 0.3s ease, cartFadeOut 0.5s ease 2.5s forwards;
    display: flex;
    align-items: center;
    font-weight: 500;
}

.cart-success-message i {
    font-size: 1.2rem;
}

@keyframes cartSlideIn {
    from {
        transform: translateX(50px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes cartFadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

/* 購物車預覽 Popover/Drawer：須高於 theme5 navbar (999999) */
.cart-preview-popper,
.cart-preview-drawer {
    z-index: 1000000 !important;
}

/* Drawer overlay（遮罩與 drawer 容器）需置於最外層，覆蓋 navbar */
.cart-preview-drawer-overlay.el-overlay,
.el-overlay.cart-preview-drawer-overlay {
    z-index: 1000000 !important;
}

/* Element Plus Popper 外層（ElPopover 使用 el-popper 時需覆蓋） */
.el-popper.cart-preview-popper,
.el-popper.is-dark.cart-preview-popper {
    z-index: 1000000 !important;
}

/* 購物車預覽頭部 */
.cart-preview-header {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-color, rgba(0, 0, 0, 0.1));
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--primary-color, #BC6C25);
    color: white;
}

/* 購物車預覽內容區 */
.cart-preview-body {
    padding: 16px;
    overflow-y: auto;
    max-height: 400px;
}

/* 購物車預覽底部 */
.cart-preview-footer {
    padding: 12px 16px;
    border-top: 1px solid var(--border-color, rgba(0, 0, 0, 0.1));
    /* background-color: var(--section-bg-color, #f8f9fa); */
    color: var(--dark-color, #333);
}

/* 購物車總計 */
.cart-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    margin-bottom: 12px;
}

/* 購物車項目 */
.cart-item {
    display: flex;
    padding: 8px 0;
    border-bottom: 1px solid var(--border-color, rgba(0, 0, 0, 0.1));
    width: 100%;
}

.cart-item:last-child {
    border-bottom: none;
}

/* 購物車項目圖片 */
.cart-item-image {
    width: 50px;
    height: 50px;
    overflow: hidden;
    border-radius: 4px;
    margin-right: 8px;
    flex-shrink: 0;
}

.cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 購物車項目信息 */
.cart-item-info {
    flex: 1;
    min-width: 0;
    margin-right: 5px;
    text-align: left !important;
}

.cart-item-title {
    color: var(--dark-color, #343a40);
    margin: 0 0 2px;
    font-size: 0.85rem;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cart-item-price {
    font-size: 0.75rem;
    color: var(--p-color, #343a40);
}

/* 購物車項目操作按鈕 */
.cart-item-actions {
    display: flex;
    align-items: center;
    margin-left: 5px;
    flex-shrink: 0;
}

.cart-item-actions .btn {
    padding: 2px 6px;
    font-size: 0.7rem;
}
