﻿#tmCartPage {
    --car-primary: #ff7b00;
    --car-grad2: #ff9d4a;
    --car-bg: #fff8f0;
    --car-text: #1f2937;
    --car-soft: 12px;
}

    /* Hero */
    #tmCartPage .tmc-hero {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: 14px 16px;
        border-radius: 16px;
        color: #fff;
        background: radial-gradient(1000px 380px at -10% -80%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 45%), linear-gradient(135deg, var(--car-primary) 0%, var(--car-grad2) 100%);
        box-shadow: 0 10px 26px rgba(255,123,0,.20);
        margin-bottom: 12px;
    }

    #tmCartPage .tmc-title {
        margin: 0;
        font-weight: 800;
        letter-spacing: .3px;
        font-size: clamp(1.2rem, 1rem + 1vw, 1.6rem);
    }

    #tmCartPage .tmc-sub {
        opacity: .93;
        margin: 2px 0 0 0;
        font-size: .95rem
    }

    #tmCartPage .tmc-badge {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        background: rgba(255,255,255,.15);
        border: 1px solid rgba(255,255,255,.3);
        padding: .35rem .6rem;
        border-radius: 999px;
        font-weight: 700;
    }

        #tmCartPage .tmc-badge i {
            font-size: 1rem
        }

    /* Loader / vacíos */
    #tmCartPage .tmc-loader {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        padding: 1rem;
        color: #6c757d
    }

    #tmCartPage .tmc-empty {
        text-align: center;
        background: #fff;
        border: 1px solid rgba(0,0,0,.06);
        border-radius: 16px;
        padding: 28px;
    }

        #tmCartPage .tmc-empty i {
            font-size: 2.2rem;
            color: var(--car-primary)
        }

        #tmCartPage .tmc-empty h2 {
            font-weight: 800;
            margin: .4rem 0
        }

        #tmCartPage .tmc-empty p {
            color: #666;
            margin: 0 0 1rem
        }

    /* Card contenedor */
    #tmCartPage .tmc-card {
        border: none;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 6px 24px rgba(0,0,0,.06);
    }

        #tmCartPage .tmc-card .card-body {
            padding: 14px
        }

    /* Toolbar */
    #tmCartPage .tmc-toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        margin-bottom: .6rem;
    }

    #tmCartPage .tmc-checkall input[type="checkbox"] {
        accent-color: var(--car-primary)
    }

    #tmCartPage .tmc-chip {
        display: inline-block;
        margin-left: .35rem;
        padding: .15rem .45rem;
        border-radius: 999px;
        background: #fff2e4;
        border: 1px solid rgba(255,123,0,.28);
        font-weight: 600;
        font-size: .8rem;
        color: #5b5b5b
    }

    #tmCartPage .tmc-actions .btn-sm {
        border-radius: 10px
    }

    /* Tabla */
    #tmCartPage .tmc-table-scroll {
        border-radius: 14px;
        border: 1px solid rgba(0,0,0,.06);
        overflow: auto
    }

    #tmCartPage .tmc-table {
        min-width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        background: #fff
    }

        #tmCartPage .tmc-table thead {
            position: sticky;
            top: 0;
            z-index: 1;
            color: #fff;
            background: linear-gradient(90deg,var(--car-primary),var(--car-grad2));
        }

        #tmCartPage .tmc-table th, #tmCartPage .tmc-table td {
            border: none;
            vertical-align: middle
        }

        #tmCartPage .tmc-table th {
            font-weight: 700;
            font-size: .9rem;
            padding: .65rem .75rem
        }

        #tmCartPage .tmc-table td {
            font-size: .95rem;
            padding: .55rem .75rem
        }

        #tmCartPage .tmc-table tbody tr {
            transition: background .15s, box-shadow .15s
        }

            #tmCartPage .tmc-table tbody tr:hover {
                background: #fff8f0
            }

    #tmCartPage .tmc-col-check {
        width: 44px;
        text-align: center
    }

    #tmCartPage .tmc-col-x {
        width: 44px;
        text-align: center
    }

    #tmCartPage .tmc-col-cant {
        width: 230px
    }

    #tmCartPage .tmc-table input[type="checkbox"] {
        accent-color: var(--car-primary)
    }

    #tmCartPage .tmc-badge-soft {
        display: inline-block;
        background: #fff2e4;
        border: 1px solid rgba(255,123,0,.25);
        color: #5b5b5b;
        border-radius: 999px;
        padding: .2rem .5rem;
        font-weight: 600
    }

    #tmCartPage .tmc-desc .tmc-desc-title {
        font-weight: 600;
        color: #2b2b2b
    }

    #tmCartPage .tmc-desc .tmc-desc-sub {
        color: #6c757d;
        font-size: .85rem
    }

    /* Cantidad */
    #tmCartPage .tmc-qty-group {
        display: inline-flex;
        align-items: center;
        gap: .35rem
    }

        #tmCartPage .tmc-qty-group .btn {
            width: 38px;
            height: 38px;
            border-radius: 12px
        }

    #tmCartPage .tmc-qty-input {
        width: 88px;
        border-radius: 10px;
        border: 1px solid #ced4da;
        padding: .35rem .5rem;
    }

    /* Footer de la tabla */
    #tmCartPage .tmc-table tfoot th {
        font-weight: 800;
        border-top: 1px solid rgba(0,0,0,.06);
        padding: .75rem
    }

    /* CTA final */
    #tmCartPage .tmc-cta {
        display: flex;
        justify-content: flex-end;
        gap: .5rem;
        margin-top: .9rem
    }

    #tmCartPage .btn-brand {
        background: linear-gradient(135deg,var(--car-primary),var(--car-grad2));
        color: #fff;
        border: none;
        border-radius: 12px;
        padding: .55rem .9rem;
        font-weight: 700;
    }

        #tmCartPage .btn-brand:disabled {
            opacity: .8
        }

    /* Alerts */
    #tmCartPage .tmc-alert {
        border-radius: 14px
    }

/* Responsivo */
@media (max-width: 575.98px) {
    #tmCartPage .tmc-col-cant {
        width: 210px
    }

    #tmCartPage .tmc-hero {
        padding: 12px
    }

    #tmCartPage .tmc-title {
        font-size: 1.2rem
    }
}



/* ===== Modal Carrito (scoped con #tmCart) ===== */
#tmCart .modal-content {
    border-radius: 1rem;
}

#tmCart .tmc-header {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid #eee;
}

#tmCart .tmc-thumb {
    width: 110px;
    height: 110px;
    border-radius: .75rem;
    overflow: hidden;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
}

    #tmCart .tmc-thumb img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

#tmCart .tmc-title {
    font-weight: 600;
    margin: 0;
}

#tmCart .tmc-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

#tmCart .tmc-price {
    font-size: 1.25rem;
    font-weight: 700;
}

#tmCart .tmc-qty {
    display: flex;
    align-items: center;
    gap: .5rem;
}

    #tmCart .tmc-qty .btn {
        width: 40px;
        height: 40px;
        border-radius: .75rem;
    }

    #tmCart .tmc-qty input[type="number"] {
        width: 90px;
        text-align: center;
        border-radius: .5rem;
        border: 1px solid #ced4da;
        padding: .375rem .5rem;
    }

#tmCart .tmc-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}

#tmCart .tmc-meta small {
    color: #6c757d;
}