.tk-product-card {
        background: #fff;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
        border: 1px solid #e5e7eb;
        display: flex;
        flex-direction: column;
        height: 100%;
        min-width: 0;
        position: relative;
        transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
    }

    .tk-product-card:hover {
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.10);
        border-color: #dbe2ea;
        transform: translateY(-1px);
    }

    .tk-product-card-img-link {
        display: block;
    }

    .tk-product-card-img-wrap {
        width: 100%;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }

    .tk-product-card-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        padding: 0;
    }


    /* 卡片內文：名稱 → 留白 → 原價／售價＋購物車按鈕（按鈕與售價同一列垂直置中）；電腦版與手機版同版型，僅尺寸不同 */
    .tk-product-card-body {
        padding: 10px 10px 12px;
        flex: 1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: 1fr auto;
        grid-template-areas:
            "title title"
            "prices actions";
        column-gap: 8px;
        row-gap: 14px;
        align-items: end;
        min-width: 0;
    }

    .tk-product-card-title {
        grid-area: title;
        align-self: start;
        font-size: 1rem;
        font-weight: 700;
        color: #1f2937;
        text-decoration: none;
        line-height: 1.3;
        min-height: 2.6em;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        word-break: break-word;
    }

    .tk-product-card-title:hover {
        color: #0f172a;
    }

    .tk-product-card-bottom {
        display: contents;
    }

    /* 原價在上、售價在下（DOM 為售價在前，以 column-reverse 對調） */
    .tk-product-card-prices {
        grid-area: prices;
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 0;
        min-width: 0;
    }

    /* 單行高度＝按鈕高度；價格區間過長時於「-」後換行，按鈕仍對齊最後一行 */
    .tk-product-card-sale {
        font-size: 1.1rem;
        font-weight: 700;
        color: #FF7F32;
        line-height: 24px;
        padding: 6px 0;
        letter-spacing: 0;
        white-space: normal;
        min-width: 0;
    }

    .tk-product-card-original {
        font-size: 0.8rem;
        color: #94a3b8;
        line-height: 1.2;
        letter-spacing: 0.01em;
        white-space: nowrap;
        min-width: 0;
    }

    .tk-product-card-actions {
        grid-area: actions;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        align-self: end;
        min-width: 0;
        /* 按鈕整體縮小 10%；以右側中心為基準，垂直中心不變，仍與售價對齊 */
        transform: scale(0.9);
        transform-origin: right center;
    }

    /* ── 按鈕共用基底：icon only 小按鈕 ── */
    .tk-product-card-btn-cart,
    .tk-product-card-btn-goto,
    .tk-product-card-btn-restock {
        width: auto;
        min-width: 52px;
        height: 36px;
        padding: 0 14px;
        border: none;
        border-radius: 10px;
        font-size: 0;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        box-sizing: border-box;
        box-shadow: none;
        color: #fff;
        cursor: pointer;
        white-space: nowrap;
        transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
    }

    .tk-product-card-btn-cart .tk-btn-label,
    .tk-product-card-btn-goto .tk-btn-label,
    .tk-product-card-btn-restock .tk-btn-label {
        display: none;
    }

    .tk-product-card-btn-cart .bi-cart3,
    .tk-product-card-btn-goto .bi-arrow-right-circle,
    .tk-product-card-btn-restock .bi-bell {
        font-size: 1.2rem;
    }

    /* 加入購物車：橘底白 icon */
    .tk-product-card-btn-cart {
        background: #FF7F32;
    }

    .tk-product-card-btn-cart:hover {
        background: #d95a1a;
        transform: translateY(-1px);
        box-shadow: 0 6px 14px rgba(217, 90, 26, 0.24);
    }

    .tk-product-card-btn-cart:active {
        transform: translateY(0);
        box-shadow: none;
    }

    /* 缺貨按鈕：顯示文字、隱藏 icon */
    .tk-product-card-btn-cart--oos,
    .tk-product-card-btn-cart--oos:hover {
        background: #d1d5db;
        color: #6b7280;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
        font-size: 0.75rem;
        padding: 0 10px;
    }
    .tk-product-card-btn-cart--oos .tk-btn-label {
        display: inline;
    }
    .tk-product-card-btn-cart--oos .bi-slash-circle {
        display: none;
    }

    /* 前往選購（NMSet 組合賣場連結）：橘底白 icon */
    .tk-product-card-btn-goto {
        background: #FF7F32;
    }

    .tk-product-card-btn-goto:hover {
        background: #d95a1a;
    }

    /* 貨到通知：灰藍底白 icon */
    .tk-product-card-btn-restock {
        background: #64748b;
    }

    .tk-product-card-btn-restock:hover {
        background: #475569;
    }

    /* 手機版：縮小字級與按鈕；原價在上，售價與購物車按鈕同一列垂直置中，售價超出寬度以「...」截斷 */
    @media (max-width: 767px) {
        .tk-product-card-body {
            padding: 8px 8px 10px;
            grid-template-rows: 1fr auto auto;
            grid-template-areas:
                "title title"
                "original original"
                "sale actions";
            column-gap: 6px;
            row-gap: 0;
        }

        .tk-product-card-title {
            font-size: 0.95rem;
            margin-bottom: 12px;
        }

        /* 讓原價、售價直接參與卡片 grid 排版 */
        .tk-product-card-prices {
            display: contents;
        }

        .tk-product-card-sale {
            grid-area: sale;
            align-self: center;
            display: block;
            font-size: 0.875rem;
            line-height: 20px;
            padding: 0;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .tk-product-card-original {
            grid-area: original;
            font-size: 0.75rem;
            text-decoration: line-through;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .tk-product-card-actions {
            align-self: center;
            /* 行動版按鈕區比桌機加大 10%（0.9 × 1.1） */
            transform: scale(0.99);
        }

        .tk-product-card-btn-cart,
        .tk-product-card-btn-goto,
        .tk-product-card-btn-restock {
            min-width: 44px;
            height: 28px;
            padding: 0 12px;
            border-radius: 8px;
        }

        .tk-product-card-btn-cart .bi-cart3,
        .tk-product-card-btn-goto .bi-arrow-right-circle,
        .tk-product-card-btn-restock .bi-bell {
            font-size: 1.05rem;
        }

        .tk-product-card-btn-cart--oos {
            font-size: 0.7rem;
            padding: 0 8px;
        }
    }

    /* ── 觸控裝置：停用 :hover（@media (hover: none) 只作用於無 hover 能力的裝置；桌機不受影響）── */
    @media (hover: none) {
        .tk-product-card:hover {
            box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
            border-color: #e5e7eb;
            transform: none;
        }
        .tk-product-card-title:hover { color: #1f2937; }
        .tk-product-card-btn-cart:not(:disabled):hover {
            background: #FF7F32;
            transform: none;
            box-shadow: none;
        }
        .tk-product-card-btn-goto:hover { background: #FF7F32; }
        .tk-product-card-btn-restock:hover { background: #64748b; }
    }
