/* ============================================
   nsk.cart.css – Shopping Cart Page Styles
   NhathuocSucKhoeXanh Theme (Sellzy Design)
   ============================================ */

/* ===== RESET DEFAULT NOPCOMMERCE CART STYLES ===== */
.nsk-theme .order-summary-content .table-wrapper,
.nsk-theme .order-summary-content table.cart {
    display: none !important;
}

.nsk-theme .order-summary-content .cart-options,
.nsk-theme .order-summary-content .cart-footer,
.nsk-theme .order-summary-content .cart-collaterals,
.nsk-theme .order-summary-content .totals {
    all: unset;
    display: block;
}

/* ---------- Page Title ---------- */
.nsk-theme .shopping-cart-page .page-title h1 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--nsk-color-text-primary) !important;
    margin-bottom: 16px !important;
    border: none !important;
}

.nsk-theme .nsk-cart-count {
    font-weight: 400;
    color: #999;
    font-size: 18px;
}

/* ---------- 2-Column Layout ---------- */
.nsk-theme .nsk-cart-layout {
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
}

.nsk-theme .nsk-cart-left {
    flex: 1 !important;
    min-width: 0 !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.nsk-theme .nsk-cart-right {
    flex: 0 0 320px !important;
    max-width: 320px !important;
    position: sticky !important;
    top: 100px !important;
}

/* ---------- Table Header ---------- */
.nsk-theme .nsk-cart-table-header {
    display: grid !important;
    grid-template-columns: 1fr 110px 120px 110px 60px !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    background: #f8f9fa !important;
    border-bottom: 1px solid #e5e7eb !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #888 !important;
}

.nsk-theme .nsk-th-price,
.nsk-theme .nsk-th-qty,
.nsk-theme .nsk-th-total,
.nsk-theme .nsk-th-action {
    text-align: center !important;
}

/* ---------- Cart Row ---------- */
.nsk-theme .nsk-cart-row {
    display: grid !important;
    grid-template-columns: 1fr 110px 120px 110px 60px !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 16px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    transition: background 0.15s !important;
}

.nsk-theme .nsk-cart-row:hover {
    background: #fafbfc !important;
}

.nsk-theme .nsk-cart-row:last-of-type {
    border-bottom: none !important;
}

/* Bottom wrapper — transparent on desktop grid, flex on mobile */
.nsk-theme .nsk-row-bottom {
    display: contents !important;
}

/* Product cell */
.nsk-theme .nsk-row-product {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.nsk-theme .nsk-row-img {
    flex-shrink: 0 !important;
    display: block !important;
}

.nsk-theme .nsk-row-img img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    border: 1px solid #eee !important;
    background: #fff !important;
}

.nsk-theme .nsk-row-details {
    min-width: 0 !important;
    flex: 1 !important;
}

.nsk-theme .nsk-row-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
}

.nsk-theme .nsk-row-name:hover {
    color: var(--nsk-color-primary) !important;
}

.nsk-theme .nsk-row-attrs {
    font-size: 12px !important;
    color: #999 !important;
    margin-top: 4px !important;
    line-height: 1.4 !important;
}

.nsk-theme .nsk-row-sku,
.nsk-theme .nsk-row-meta {
    font-size: 12px !important;
    color: #aaa !important;
    margin-top: 2px !important;
}

/* Inline price — only visible on mobile */
.nsk-theme .nsk-row-price-inline {
    display: none !important;
}

.nsk-theme .nsk-price-inline-current {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--nsk-color-primary) !important;
}

.nsk-theme .nsk-row-edit {
    font-size: 12px !important;
    color: var(--nsk-color-primary) !important;
    text-decoration: none !important;
    margin-top: 4px !important;
    display: inline-block !important;
}

/* Price cell */
.nsk-theme .nsk-row-price {
    text-align: center !important;
}

.nsk-theme .nsk-price-value {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #333 !important;
}

/* Qty cell */
.nsk-theme .nsk-row-qty {
    display: flex !important;
    justify-content: center !important;
}

.nsk-theme .nsk-qty-stepper {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.nsk-theme .nsk-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background: #f8f9fa !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #555 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.nsk-theme .nsk-qty-btn:hover {
    background: var(--nsk-color-primary) !important;
    color: #fff !important;
}

.nsk-theme .nsk-qty-input {
    width: 36px !important;
    height: 32px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 0 !important;
    background: #fff !important;
    outline: none !important;
}

.nsk-theme .nsk-qty-select {
    height: 32px !important;
    padding: 0 8px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 14px !important;
}

/* Total cell */
.nsk-theme .nsk-row-total {
    text-align: center !important;
}

.nsk-theme .nsk-total-value {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--nsk-color-primary) !important;
}

.nsk-theme .nsk-row-discount {
    font-size: 11px !important;
    color: #ef4444 !important;
    margin-top: 2px !important;
}

.nsk-theme .nsk-row-discount-qty {
    font-size: 11px !important;
    color: #aaa !important;
}

/* Action cell */
.nsk-theme .nsk-row-action {
    display: flex !important;
    justify-content: center !important;
}

.nsk-theme .nsk-action-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border: none !important;
    background: none !important;
    cursor: pointer !important;
    border-radius: 4px !important;
    padding: 0 !important;
    color: #aaa !important;
}

.nsk-theme .nsk-delete-btn:hover {
    background: #fef2f2 !important;
    color: #ef4444 !important;
}

/* Row warnings */
.nsk-theme .nsk-row-warnings {
    grid-column: 1 / -1 !important;
}

.nsk-theme .nsk-row-warnings li {
    color: #ef4444 !important;
    font-size: 12px !important;
}

/* Mobile label */
.nsk-theme .nsk-mobile-label {
    display: none !important;
}

/* ---------- Tax Info ---------- */
.nsk-theme .nsk-tax-info {
    font-size: 12px !important;
    color: #999 !important;
    margin-top: 12px !important;
}

.nsk-theme .nsk-tax-info a {
    color: var(--nsk-color-primary) !important;
}

/* ---------- Cart Bottom Actions ---------- */
.nsk-theme .nsk-cart-bottom-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px !important;
    border-top: 1px solid #f0f0f0 !important;
    margin: 0 !important;
}

.nsk-theme .nsk-continue-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 20px !important;
    background: #fff !important;
    color: #555 !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
}

.nsk-theme .nsk-continue-btn:hover {
    border-color: var(--nsk-color-primary) !important;
    color: var(--nsk-color-primary) !important;
}

/* ======== SIDEBAR ======== */

/* Coupon toggle link */
.nsk-theme .nsk-coupon-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 16px !important;
    margin-bottom: 12px !important;
    background: var(--nsk-color-bg-subtle) !important;
    border: 1px solid var(--nsk-color-border) !important;
    border-radius: var(--nsk-radius-pill) !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    font-size: 14px !important;
    color: var(--nsk-color-text-primary) !important;
    font-weight: 500 !important;
}

.nsk-theme .nsk-coupon-toggle:hover {
    border-color: var(--nsk-color-primary) !important;
    color: var(--nsk-color-primary) !important;
}

.nsk-theme .nsk-coupon-toggle svg {
    transition: transform 0.2s !important;
    color: #bbb !important;
    flex-shrink: 0 !important;
}

.nsk-theme .nsk-coupon-toggle--open svg {
    transform: rotate(90deg) !important;
}

/* Coupon content — collapsed/expanded */
.nsk-theme .nsk-coupon-collapsed {
    max-height: 0 !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
    opacity: 0 !important;
    transition: max-height 0.3s ease, opacity 0.2s ease, margin 0.2s ease !important;
}

.nsk-theme .nsk-coupon-area:not(.nsk-coupon-collapsed) {
    max-height: 200px !important;
    opacity: 1 !important;
    transition: max-height 0.3s ease, opacity 0.2s ease, margin 0.2s ease !important;
}

/* Coupon area inside summary card — SearchBox style */
.nsk-theme .nsk-coupon-area {
    margin-bottom: 12px !important;
}

.nsk-theme .nsk-coupon-area .discount-box,
.nsk-theme .nsk-coupon-area .giftcard-box {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
}

.nsk-theme .nsk-coupon-area .title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--nsk-color-text-muted) !important;
    margin-bottom: 8px !important;
    display: block !important;
    border: none !important;
    padding: 0 !important;
}

/* Wrapper acts like SearchBox input-wrap */
.nsk-theme .nsk-coupon-area .coupon-code,
.nsk-theme .nsk-coupon-area .cart-coupon-box {
    display: flex !important;
    align-items: center !important;
    background: var(--nsk-color-bg-subtle) !important;
    border: 1.5px solid var(--nsk-color-border) !important;
    border-radius: var(--nsk-radius-pill) !important;
    overflow: hidden !important;
    min-height: 44px !important;
    transition: all 0.2s !important;
    gap: 0 !important;
}

.nsk-theme .nsk-coupon-area .coupon-code:focus-within,
.nsk-theme .nsk-coupon-area .cart-coupon-box:focus-within {
    border-color: var(--nsk-color-primary) !important;
    background: var(--nsk-color-bg-surface) !important;
    box-shadow: 0 0 0 3px rgba(23, 163, 74, 0.10) !important;
}

/* Input inside — transparent like SearchBox */
.nsk-theme .nsk-coupon-area input[type="text"] {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    padding: 10px 16px !important;
    font-size: var(--nsk-font-size-sm) !important;
    font-family: var(--nsk-font-family) !important;
    color: var(--nsk-color-text-primary) !important;
    outline: none !important;
    box-shadow: none !important;
    min-width: 0 !important;
    border-radius: 0 !important;
}

.nsk-theme .nsk-coupon-area input[type="text"]::placeholder {
    color: var(--nsk-color-text-muted) !important;
}

/* Apply button — inside the wrapper, pill shape */
.nsk-theme .nsk-coupon-area .button-2 {
    padding: 8px 18px !important;
    background: var(--nsk-color-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--nsk-radius-pill) !important;
    font-size: var(--nsk-font-size-sm) !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: all 0.2s !important;
    margin: 3px !important;
    flex-shrink: 0 !important;
    min-height: 36px !important;
}

.nsk-theme .nsk-coupon-area .button-2:hover {
    background: var(--nsk-color-primary-dark) !important;
}

/* Totals area */
.nsk-theme .nsk-totals-area {
    padding-top: 16px !important;
    border-top: 1px solid #f0f0f0 !important;
    width: 100% !important;
    min-width: 0 !important;
}

.nsk-theme .nsk-totals-area .total-info,
.nsk-theme .nsk-totals-area .cart-total,
.nsk-theme .nsk-totals-area table.cart-total {
    width: 100% !important;
    table-layout: fixed !important;
}

/* Totals detail toggle arrow */
.nsk-theme .nsk-totals-toggle {
    display: inline-block !important;
    cursor: pointer !important;
    font-size: 12px !important;
    color: #bbb !important;
    margin-left: 6px !important;
    transition: transform 0.2s !important;
    vertical-align: middle !important;
}

.nsk-theme .nsk-totals-toggle--open {
    transform: rotate(180deg) !important;
}

/* Also force summary card and cart-right to not shrink */
.nsk-theme .nsk-summary-card,
.nsk-theme .nsk-cart-right,
.nsk-theme .nsk-cart-left {
    min-width: 0 !important;
    overflow: hidden !important;
}

/* Order Summary Card */
.nsk-theme .nsk-summary-card {
    padding: 20px !important;
    background: #fff !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    margin-bottom: 16px !important;
}

.nsk-theme .nsk-summary-heading {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 0 12px 0 !important;
    border-bottom: 1px solid #eee !important;
}

/* Totals table */
.nsk-theme .nsk-summary-card table.total-info {
    width: 100% !important;
    border-collapse: collapse !important;
}

.nsk-theme .nsk-summary-card .total-info td {
    padding: 8px 0 !important;
    font-size: 14px !important;
    color: #666 !important;
    border: none !important;
    background: none !important;
}

.nsk-theme .nsk-summary-card .total-info td.cart-total-left {
    text-align: left !important;
}

.nsk-theme .nsk-summary-card .total-info td.cart-total-right {
    text-align: right !important;
    font-weight: 600 !important;
    color: #333 !important;
}

.nsk-theme .nsk-summary-card .total-info .order-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #333 !important;
    padding-top: 12px !important;
    border-top: 1px solid #eee !important;
}

.nsk-theme .nsk-summary-card .total-info .order-total .cart-total-right {
    color: var(--nsk-color-primary) !important;
    font-size: 18px !important;
}

.nsk-theme .nsk-min-warn {
    padding: 8px !important;
    background: #fef2f2 !important;
    color: #ef4444 !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    margin-top: 12px !important;
}

/* Terms of Service */
.nsk-theme .nsk-terms-row {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    color: #555 !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
}

.nsk-theme .nsk-terms-row input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--nsk-color-primary) !important;
}

.nsk-theme .nsk-terms-link {
    color: var(--nsk-color-primary) !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

/* Checkout Button */
.nsk-theme .nsk-checkout-btns {
    margin-bottom: 8px !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid #f0f0f0 !important;
}

/* Continue Shopping in sidebar */
.nsk-theme .nsk-sidebar-continue {
    margin-bottom: 12px !important;
}

.nsk-theme .nsk-continue-outline-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 12px 20px !important;
    background: #fff !important;
    color: #333 !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.nsk-theme .nsk-continue-outline-btn:hover {
    border-color: var(--nsk-color-primary) !important;
    color: var(--nsk-color-primary) !important;
}

.nsk-theme .nsk-checkout-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px 20px !important;
    background: var(--nsk-color-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    min-height: 48px !important;
    transition: all 0.2s !important;
}

.nsk-theme .nsk-checkout-btn:hover {
    background: var(--nsk-color-primary-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Empty Cart */
.nsk-theme .nsk-empty-cart {
    text-align: center !important;
    padding: 80px 24px !important;
    color: #aaa !important;
}

.nsk-theme .nsk-empty-cart svg {
    margin-bottom: 16px !important;
    opacity: 0.3 !important;
}

.nsk-theme .nsk-empty-cart p {
    font-size: 18px !important;
}

/* =========================================
   RESPONSIVE — MOBILE CART
   ========================================= */

/* ── Tablet (≤991px) ── */
@media (max-width: 991px) {
    .nsk-theme .nsk-cart-layout {
        flex-direction: column !important;
        width: 100% !important;
    }

    .nsk-theme .nsk-cart-left {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .nsk-theme .nsk-cart-right {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
        position: static !important;
    }

    /* Force form and order-summary to 100% width */
    .nsk-theme .order-summary-content,
    .nsk-theme .order-summary-content form,
    .nsk-theme #shopping-cart-form {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }
}

/* ── Mobile (≤767px) ── */
@media (max-width: 767px) {

    /* Page title */
    .nsk-theme .shopping-cart-page .page-title h1 {
        font-size: 20px !important;
        margin-bottom: 12px !important;
    }

    /* Hide table header */
    .nsk-theme .nsk-cart-table-header {
        display: none !important;
    }

    /* Cart left card container */
    .nsk-theme .nsk-cart-left {
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
        width: 100% !important;
    }

    /* ── Card-based product row ── */
    .nsk-theme .nsk-cart-row {
        display: block !important;
        position: relative !important;
        padding: 16px !important;
        background: #fff !important;
        border: 1px solid #eee !important;
        border-radius: 12px !important;
        margin-bottom: 12px !important;
        grid-template-columns: none !important;
    }

    .nsk-theme .nsk-cart-row:hover {
        background: #fff !important;
    }

    /* Product: image + details side by side */
    .nsk-theme .nsk-row-product {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
        padding-right: 32px !important;
    }

    .nsk-theme .nsk-row-img img {
        width: 72px !important;
        height: 72px !important;
        border-radius: 8px !important;
    }

    .nsk-theme .nsk-row-name {
        font-size: 14px !important;
        font-weight: 500 !important;
        -webkit-line-clamp: 3 !important;
        line-height: 1.45 !important;
    }

    /* Show inline price on mobile */
    .nsk-theme .nsk-row-price-inline {
        display: block !important;
        margin-top: 6px !important;
    }

    /* Hide desktop price column on mobile */
    .nsk-theme .nsk-row-price {
        display: none !important;
    }

    /* Hide mobile labels */
    .nsk-theme .nsk-mobile-label {
        display: none !important;
    }

    /* Bottom row: qty left, total right */
    .nsk-theme .nsk-row-bottom {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin-top: 12px !important;
        padding-top: 12px !important;
        border-top: 1px solid #f5f5f5 !important;
    }

    /* Show subtotal on mobile */
    .nsk-theme .nsk-row-total {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        text-align: right !important;
        margin-top: 0 !important;
    }

    .nsk-theme .nsk-total-value {
        font-size: 15px !important;
        font-weight: 700 !important;
    }

    /* Full-width on mobile — override ALL parent wrappers */
    .nsk-theme .master-wrapper-content,
    .nsk-theme .master-column-wrapper,
    .nsk-theme .master-column-wrapper.nsk-container,
    .nsk-theme .center-1,
    .nsk-theme .shopping-cart-page,
    .nsk-theme .shopping-cart-page .page-body,
    .nsk-theme .order-summary-content,
    .nsk-theme .nsk-cart-layout {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .nsk-theme .shopping-cart-page .page-title {
        padding: 0 16px !important;
    }

    .nsk-theme .nsk-cart-left {
        padding: 0 12px !important;
    }

    .nsk-theme .nsk-cart-right {
        padding: 0 12px !important;
    }

    /* Quantity stepper — inside bottom row */
    .nsk-theme .nsk-row-qty {
        display: flex !important;
        justify-content: flex-start !important;
        margin-top: 0 !important;
    }

    .nsk-theme .nsk-qty-stepper {
        border-radius: 8px !important;
    }

    .nsk-theme .nsk-qty-btn {
        width: 36px !important;
        height: 36px !important;
        font-size: 18px !important;
    }

    .nsk-theme .nsk-qty-input {
        width: 40px !important;
        height: 36px !important;
        font-size: 15px !important;
    }

    /* Delete button — top-right corner */
    .nsk-theme .nsk-row-action {
        position: absolute !important;
        top: 16px !important;
        right: 16px !important;
        margin: 0 !important;
    }

    .nsk-theme .nsk-action-btn {
        width: 28px !important;
        height: 28px !important;
        color: #bbb !important;
    }

    /* Row warnings full-width */
    .nsk-theme .nsk-row-warnings {
        margin-top: 8px !important;
    }

    /* Bottom actions inside cart-left */
    .nsk-theme .nsk-cart-bottom-actions {
        padding: 12px 0 !important;
        border-top: none !important;
    }

    .nsk-theme .nsk-continue-btn {
        font-size: 14px !important;
        padding: 10px 16px !important;
        border-radius: 8px !important;
        width: 100% !important;
        justify-content: center !important;
    }

    /* ── Sidebar → stacked below ── */
    .nsk-theme .nsk-summary-card {
        border-radius: 12px !important;
        padding: 16px !important;
    }

    .nsk-theme .nsk-summary-heading {
        font-size: 16px !important;
    }

    /* Coupon */
    .nsk-theme .nsk-coupon-area .coupon-code,
    .nsk-theme .nsk-coupon-area .cart-coupon-box {
        min-height: 40px !important;
    }

    .nsk-theme .nsk-coupon-area .button-2 {
        padding: 6px 14px !important;
        font-size: 13px !important;
        min-height: 32px !important;
    }

    /* Checkout btn */
    .nsk-theme .nsk-checkout-btn {
        padding: 14px 20px !important;
        font-size: 16px !important;
        border-radius: 10px !important;
    }

    .nsk-theme .nsk-continue-outline-btn {
        padding: 12px 16px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
    }

    /* Tax info */
    .nsk-theme .nsk-tax-info {
        margin-top: 8px !important;
        font-size: 11px !important;
    }
}

/* ── Small phone (≤575px) ── */
@media (max-width: 575px) {
    .nsk-theme .nsk-row-img img {
        width: 64px !important;
        height: 64px !important;
    }

    .nsk-theme .nsk-row-name {
        font-size: 13px !important;
    }

    .nsk-theme .nsk-cart-row {
        padding: 12px !important;
    }
}

/* =========================================
   MOBILE STICKY SIDEBAR
   ========================================= */
@media (max-width: 767px) {
    .nsk-theme .nsk-cart-right {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 100 !important;
        background: #fff !important;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08) !important;
        border-radius: 12px 12px 0 0 !important;
        padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    }
}