        /* ===== Basket Page ===== */
        .basket-page {
            min-height: 60vh;
            padding: 40px 0 60px;
            background: var(--color-bg, #f7f7f7);
        }
        .basket-page .container {
            display: grid;
            grid-template-columns: 1fr 340px;
            gap: 28px;
            align-items: start;
        }
        @media (max-width: 900px) {
            .basket-page .container {
                grid-template-columns: 1fr;
            }
        }
        .basket-page h1 {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: var(--color-text, #1a1a1a);
        }
        /* Items */
        .basket-items {
            display: flex;
            flex-direction: column;
            gap: 16px;
        }
        .basket-item {
            display: flex;
            gap: 16px;
            background: #fff;
            border-radius: 12px;
            padding: 16px;
            box-shadow: 0 1px 4px rgba(0,0,0,.07);
            align-items: center;
        }
        .basket-item-img {
            width: 90px;
            height: 90px;
            object-fit: cover;
            border-radius: 8px;
            background: #f0f0f0;
            flex-shrink: 0;
        }
        .basket-item-info {
            flex: 1;
            min-width: 0;
        }
        .basket-item-name {
            font-size: .97rem;
            font-weight: 600;
            color: var(--color-text, #1a1a1a);
            margin-bottom: 4px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .basket-item-meta {
            font-size: .82rem;
            color: #888;
            margin-bottom: 10px;
        }
        .basket-item-price {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--color-primary, #e8a000);
        }
        .basket-item-actions {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 10px;
            flex-shrink: 0;
        }
        .qty-control {
            display: flex;
            align-items: center;
            gap: 0;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }
        .qty-btn {
            width: 34px;
            height: 34px;
            background: #f5f5f5;
            border: none;
            cursor: pointer;
            font-size: 1.1rem;
            color: #444;
            transition: background .15s;
        }
        .qty-btn:hover { background: #ebebeb; }
        .qty-input {
            width: 40px;
            height: 34px;
            border: none;
            border-left: 1px solid #e0e0e0;
            border-right: 1px solid #e0e0e0;
            text-align: center;
            font-size: .95rem;
            font-weight: 600;
            outline: none;
        }
        input[type=number]::-webkit-inner-spin-button,
        input[type=number]::-webkit-outer-spin-button {
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            margin: 0;
        }
        .btn-remove {
            background: none;
            border: none;
            color: #bbb;
            cursor: pointer;
            font-size: .85rem;
            padding: 0;
            transition: color .15s;
        }
        .btn-remove:hover { color: #e53e3e; }
        /* Empty state */
        .basket-empty {
            text-align: center;
            padding: 60px 20px;
            background: #fff;
            border-radius: 12px;
            box-shadow: 0 1px 4px rgba(0,0,0,.07);
        }
        .basket-empty i {
            font-size: 3rem;
            color: #ddd;
            margin-bottom: 16px;
        }
        .basket-empty p {
            color: #888;
            margin-bottom: 20px;
        }
        /* Summary */
        .basket-summary {
            background: #fff;
            border-radius: 12px;
            padding: 24px;
            box-shadow: 0 1px 4px rgba(0,0,0,.07);
            position: sticky;
            top: 80px;
        }
        .basket-summary h2 {
            font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 18px;
            color: var(--color-text, #1a1a1a);
        }
        .summary-row {
            display: flex;
            justify-content: space-between;
            font-size: .92rem;
            color: #555;
            margin-bottom: 10px;
        }
        .summary-row.total {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--color-text, #1a1a1a);
            border-top: 1px solid #f0f0f0;
            padding-top: 12px;
            margin-top: 4px;
        }
        .summary-row.total span:last-child {
            color: var(--color-primary, #e8a000);
        }
        .btn-checkout {
            display: block;
            width: 100%;
            padding: 14px;
            background: var(--color-primary, #e8a000);
            color: #fff;
            border: none;
            border-radius: 10px;
            font-size: 1rem;
            font-weight: 700;
            cursor: pointer;
            text-align: center;
            text-decoration: none;
            margin-top: 20px;
            transition: opacity .15s;
        }
        .btn-checkout:hover { opacity: .88; }
        .btn-continue {
            display: block;
            width: 100%;
            padding: 11px;
            background: #f5f5f5;
            color: #444;
            border: none;
            border-radius: 10px;
            font-size: .92rem;
            font-weight: 600;
            cursor: pointer;
            text-align: center;
            text-decoration: none;
            margin-top: 10px;
            transition: background .15s;
        }
        .btn-continue:hover { background: #ebebeb; }

/* ===== Basket extra utility classes ===== */
.basket-empty--hidden { display: none; }
.btn-checkout--inline { display: inline-block; width: auto; padding: 12px 32px; }
.text-discount { color: #e53e3e; }
.footer-brand-img { height: 56px; width: auto; }
.footer-h5-mt { margin-top: 20px; }
