/* =========================================================
   QBIT CART 4.1
   Página completa de carrito
   ========================================================= */


/* =========================================================
   HEADER EN BASKET
   ========================================================= */

body.cl-basket .qbit-header {

    display: block !important;
}

body.cl-basket .qbit-header-main {

    display: block !important;
}

body.cl-basket .qbit-header-row {

    display: flex !important;
}

body.cl-basket .qbit-services-bar {

    visibility: visible !important;
}


/* =========================================================
   ÁREA GENERAL
   ========================================================= */

body.cl-basket .content {

    background: #f4f6f8;
}

body.cl-basket .content > .container-xxl {

    max-width: 1400px;

    padding-top: 30px !important;

    padding-bottom: 34px !important;
}


/* Layout 2 columnas */

body.cl-basket .content > .container-xxl > .row {

    --bs-gutter-x: 18px;
}


/* =========================================================
   CARRITO PRINCIPAL
   ========================================================= */

body.cl-basket #basket_list {

    border: 0 !important;

    border-radius: 0 !important;

    background: transparent !important;
}


/* Título Tu carrito */

body.cl-basket #basket_list > .card-header {

    margin: 0 0 14px !important;

    padding: 0 0 13px !important;

    border: 0 !important;

    border-bottom: 1px solid #d9e2e9 !important;

    background: transparent !important;

    color: #183f68 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 23px !important;

    line-height: 1.25 !important;

    font-weight: 600 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   PRODUCTO
   ========================================================= */

body.cl-basket #basket_list .list-group {

    gap: 10px;

    background: transparent;
}

body.cl-basket #basket_list .basketitemrow {

    margin: 0 !important;

    padding: 18px !important;

    border: 1px solid #dce5ec !important;

    border-radius: 10px !important;

    background: #ffffff !important;

    box-shadow: none !important;
}


/* Grid interno */

body.cl-basket .basketitemrow > .row {

    align-items: center;
}


/* =========================================================
   IMAGEN
   ========================================================= */

body.cl-basket .basketitemrow .col-img {

    width: 115px !important;

    flex: 0 0 115px !important;

    padding-right: 16px !important;
}

body.cl-basket .basketitemrow .col-img a {

    width: 98px;

    height: 98px;

    padding: 8px;

    border: 1px solid #e1e8ee;

    border-radius: 8px;

    background: #fff;

    display: flex !important;

    align-items: center;

    justify-content: center;
}

body.cl-basket .basketitemrow .col-img img {

    width: 82px !important;

    height: 82px !important;

    max-width: 82px !important;

    object-fit: contain;
}


/* =========================================================
   TÍTULO DE PRODUCTO
   ========================================================= */

body.cl-basket .basketitemrow .h5 {

    margin: 0 0 8px !important;

    color: #24496d !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 15px !important;

    line-height: 1.38 !important;

    font-weight: 500 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   SKU / PRECIO / PESO / ATRIBUTOS
   ========================================================= */

body.cl-basket .basket-item-desc {

    color: #657788;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 11.5px;

    line-height: 1.45;
}

body.cl-basket .basketitemrow
.serial-no,
body.cl-basket .basketitemrow
.unit-price,
body.cl-basket .basketitemrow
.attributes {

    margin-bottom: 4px !important;
}

body.cl-basket .basketitemrow
.attribute {

    color: #81909d !important;

    font-size: 11px !important;
}

body.cl-basket .basketitemrow
.value {

    color: #465e73 !important;

    font-size: 11.5px !important;
}


/* IVA */

body.cl-basket .article-vat {

    color: #8a97a3;

    font-size: 10px;
}


/* =========================================================
   CANTIDAD
   ========================================================= */

body.cl-basket .quantity {

    margin-left: auto;
}

body.cl-basket .quantity .input-group {

    width: 116px !important;

    flex-wrap: nowrap;
}

body.cl-basket .quantity
.btn-less,
body.cl-basket .quantity
.btn-more {

    width: 36px;

    height: 38px;

    padding: 0 !important;

    border-color: #cbd8e3 !important;

    background: #fff !important;

    color: #0872cf !important;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 17px !important;

    font-weight: 500 !important;
}

body.cl-basket .quantity
.btn-less {

    border-radius: 6px 0 0 6px !important;
}

body.cl-basket .quantity
.btn-more {

    border-radius: 0 6px 6px 0 !important;
}

body.cl-basket .quantity
.form-control {

    width: 44px !important;

    min-width: 44px !important;

    height: 38px !important;

    padding: 4px !important;

    border-color: #cbd8e3 !important;

    color: #28475f;

    font-size: 12px;

    box-shadow: none !important;
}


/* =========================================================
   ELIMINAR
   ========================================================= */

body.cl-basket .basketitemrow
.btn-remove {

    width: 36px;

    height: 38px;

    margin-left: 7px;

    padding: 0 !important;

    border: 1px solid transparent !important;

    border-radius: 6px;

    color: #7d8c98;

    display: inline-flex;

    align-items: center;

    justify-content: center;
}

body.cl-basket .basketitemrow
.btn-remove:hover {

    border-color: #e5d1d1 !important;

    background: #fff6f6 !important;

    color: #b65050 !important;
}

body.cl-basket .basketitemrow
.btn-remove svg {

    width: 17px;

    height: 17px;
}


/* Favoritos/lista de deseos no aporta dentro del carrito */

body.cl-basket .basketitemrow
.btn-noticelist {

    display: none !important;
}


/* =========================================================
   TOTAL DEL PRODUCTO
   ========================================================= */

body.cl-basket .basketitemrow
.totalPrice strong {

    color: #123f70 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 19px !important;

    line-height: 1.2 !important;

    font-weight: 700 !important;
}


/* =========================================================
   RESUMEN STICKY
   ========================================================= */

body.cl-basket .sticky-md-top {

    top: 145px !important;
}

body.cl-basket .sticky-md-top > .card,
body.cl-basket .sticky-md-top .card {

    border: 1px solid #dce5ec !important;

    border-radius: 10px !important;

    background: #fff !important;

    overflow: hidden;
}


/* Título Resumen */

body.cl-basket .sticky-md-top
.card-title {

    padding: 17px 18px !important;

    border-bottom: 1px solid #e0e7ed !important;

    background: #fff !important;

    color: #24496d !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 18px !important;

    line-height: 1.25 !important;

    font-weight: 600 !important;

    letter-spacing: 0 !important;
}


/* Filas */

body.cl-basket .sticky-md-top
.list-group-item {

    padding: 7px 18px !important;

    border: 0 !important;

    color: #5c6f80;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 12px;

    line-height: 1.4;
}


/* Total general */

body.cl-basket .sticky-md-top
.list-group-item.h5 {

    margin-top: 8px !important;

    padding-top: 13px !important;

    padding-bottom: 14px !important;

    border-top: 1px solid #e1e8ee !important;

    color: #143f6e !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 17px !important;

    font-weight: 700 !important;
}


/* =========================================================
   CUPÓN
   ========================================================= */

body.cl-basket .sticky-md-top
.card.mb-3 {

    margin-top: 10px;

    margin-bottom: 10px !important;
}

body.cl-basket #voucherCollapse
.card-body {

    padding: 13px !important;
}

body.cl-basket #input_voucherNr {

    min-height: 39px;

    border-color: #ccd8e2;

    border-radius: 6px 0 0 6px;

    font-size: 12px;
}

body.cl-basket .voucher-btn {

    width: 42px;

    border-radius: 0 6px 6px 0 !important;

    background: #0872cf !important;

    border-color: #0872cf !important;
}


/* =========================================================
   FINALIZAR COMPRA
   ========================================================= */

body.cl-basket .sticky-md-top
.btn-highlight {

    min-height: 46px;

    border: 1px solid #0872cf !important;

    border-radius: 7px !important;

    background: #0872cf !important;

    color: #fff !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 13px !important;

    font-weight: 600 !important;

    box-shadow: none !important;
}

body.cl-basket .sticky-md-top
.btn-highlight:hover {

    border-color: #075fae !important;

    background: #075fae !important;
}


/* =========================================================
   COMPRA CON QBIT
   ========================================================= */

.qbit-cart-page-assurance {

    margin-top: 10px;

    padding: 15px;

    border: 1px solid #dce5ec;

    border-radius: 9px;

    background: #fff;
}

.qbit-cart-page-assurance-label {

    color: #0872cf;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .045em;

    text-transform: uppercase;
}

.qbit-cart-page-assurance h3 {

    margin: 4px 0 10px;

    color: #294a66;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 14px;

    line-height: 1.3;

    font-weight: 600;
}

.qbit-cart-page-benefits {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 6px;
}

.qbit-cart-page-benefit {

    min-height: 40px;

    padding: 7px 8px;

    border-radius: 6px;

    background: #f4f8fb;

    color: #617587;

    display: flex;

    align-items: center;

    gap: 6px;

    font-size: 10.5px;
}

.qbit-cart-page-benefit::before {

    content: "✓";

    color: #0872cf;

    font-weight: 700;
}


/* WhatsApp */

.qbit-cart-page-help {

    margin-top: 10px;

    padding-top: 10px;

    border-top: 1px solid #e5ebf0;
}

.qbit-cart-page-help a {

    color: #0872cf;

    font-size: 11px;

    font-weight: 600;

    text-decoration: none;
}


/* =========================================================
   SEGUIR COMPRANDO
   ========================================================= */

.qbit-cart-continue-shopping {

    width: 100%;

    min-height: 40px;

    margin-top: 8px;

    border: 1px solid #c6d4df;

    border-radius: 7px;

    background: #fff;

    color: #0872cf;

    display: flex;

    align-items: center;

    justify-content: center;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 11.5px;

    font-weight: 600;

    text-decoration: none;
}

.qbit-cart-continue-shopping:hover {

    border-color: #0872cf;

    background: #f5f9fd;

    color: #0872cf;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {

    body.cl-basket .sticky-md-top {

        position: static !important;

        top: auto !important;

        margin-top: 16px;
    }

    body.cl-basket .basketitemrow
    .col-img {

        width: 95px !important;

        flex-basis: 95px !important;
    }

    body.cl-basket .basketitemrow
    .col-img a {

        width: 80px;

        height: 80px;
    }

    body.cl-basket .basketitemrow
    .col-img img {

        width: 66px !important;

        height: 66px !important;
    }
}

@media (max-width: 575.98px) {

    body.cl-basket .content > .container-xxl {

        padding-left: 12px !important;

        padding-right: 12px !important;
    }

    body.cl-basket #basket_list
    .basketitemrow {

        padding: 13px !important;
    }

    .qbit-cart-page-benefits {

        grid-template-columns: 1fr;
    }
}


/* =========================================================
   QBIT CART 4.1 END
   ========================================================= */


/* =========================================================
   QBIT CART 4.2 — refinamiento
   ========================================================= */

body.cl-basket .basketitemrow {

    overflow: visible !important;
}

body.cl-basket .basketitemrow
.quantity {

    overflow: visible !important;
}

body.cl-basket .basketitemrow
.totalPrice {

    min-width: 135px !important;

    text-align: right;
}

body.cl-basket .basketitemrow
.basket-item-desc {

    min-width: 0;
}


/* Evitar que el control se comprima */

body.cl-basket .basketitemrow
.input-group {

    flex-wrap: nowrap !important;
}

body.cl-basket .basketitemrow
.quantity .form-control {

    flex:
        0 0 46px !important;

    max-width:
        46px !important;
}

/* =========================================================
   QBIT — CALCULADORA DE ENVIO
   ========================================================= */

body.cl-basket .qbit-cart-shipping {
    margin-top: 8px !important;
    padding: 15px 18px !important;
    border-top: 1px solid #e1e8ee !important;
    border-bottom: 0 !important;
    background: #f8fbfd !important;
}

.qbit-cart-shipping-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}

.qbit-cart-shipping-heading > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.qbit-cart-shipping-eyebrow {
    color: #0872cf;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
}

.qbit-cart-shipping-heading strong {
    color: #24496d;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
}

.qbit-cart-shipping-icon {
    color: #0872cf;
    font-size: 17px;
    line-height: 1;
}

.qbit-cart-shipping-help {
    margin: 0 0 11px;
    color: #6b7d8d;
    font-size: 10.5px;
    line-height: 1.45;
}

.qbit-cart-shipping-label {
    display: block;
    margin: 0 0 5px;
    color: #52697c;
    font-size: 10px;
    font-weight: 600;
}

.qbit-cart-shipping-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
}

.qbit-cart-shipping-input {
    width: 100%;
    min-width: 0;
    min-height: 39px;
    padding: 8px 10px;
    border: 1px solid #c9d7e2;
    border-radius: 6px;
    outline: 0;
    background: #fff;
    color: #294a66;
    font-size: 12px;
}

.qbit-cart-shipping-input:focus {
    border-color: #0872cf;
    box-shadow: 0 0 0 2px rgba(8, 114, 207, .10);
}

.qbit-cart-shipping-button {
    min-height: 39px;
    padding: 8px 13px;
    border: 1px solid #0872cf;
    border-radius: 6px;
    background: #0872cf;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.qbit-cart-shipping-button:hover {
    border-color: #075fae;
    background: #075fae;
}

.qbit-cart-shipping-button:disabled {
    cursor: wait;
    opacity: .65;
}

.qbit-cart-shipping-status {
    margin-top: 9px;
    min-height: 0;
    font-size: 10.5px;
    line-height: 1.4;
}

.qbit-cart-shipping-status:empty {
    display: none;
}

.qbit-cart-shipping-status.is-loading {
    color: #607587;
}

.qbit-cart-shipping-status.is-success {
    color: #287146;
}

.qbit-cart-shipping-status.is-error {
    color: #a83c3c;
}

.qbit-cart-shipping-result {
    margin-top: 10px;
}

.qbit-cart-shipping-result:empty {
    display: none;
}

.qbit-cart-shipping-destination {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin-bottom: 9px;
    padding: 8px 9px;
    border-radius: 6px;
    background: #edf5fb;
    color: #526b7e;
    font-size: 10px;
}

.qbit-cart-shipping-destination strong {
    color: #24496d;
    font-size: 10px;
}

.qbit-cart-shipping-split {
    margin-bottom: 9px;
    padding: 8px 9px;
    border: 1px solid #dae5ed;
    border-radius: 6px;
    background: #fff;
    color: #607486;
    font-size: 10px;
    line-height: 1.4;
}

.qbit-cart-shipping-shipment + .qbit-cart-shipping-shipment {
    margin-top: 11px;
}

.qbit-cart-shipping-shipment-title {
    margin-bottom: 6px;
    color: #24496d;
    font-size: 10px;
    font-weight: 700;
}

.qbit-cart-shipping-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 6px;
    padding: 9px;
    border: 1px solid #d8e3eb;
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}

.qbit-cart-shipping-option:hover {
    border-color: #a9c8df;
    background: #fbfdff;
}

.qbit-cart-shipping-radio {
    flex: 0 0 auto;
    margin: 2px 0 0;
    accent-color: #0872cf;
}

.qbit-cart-shipping-option-content {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.qbit-cart-shipping-option-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #294a66;
    font-size: 11px;
}

.qbit-cart-shipping-option-price {
    color: #123f70;
    white-space: nowrap;
}

.qbit-cart-shipping-option-meta {
    color: #6c7e8d;
    font-size: 9.5px;
    line-height: 1.35;
}

.qbit-cart-shipping-cheapest {
    width: fit-content;
    margin-top: 2px;
    padding: 2px 5px;
    border-radius: 10px;
    background: #e9f5ed;
    color: #2f7650;
    font-size: 8.5px;
    font-weight: 700;
}

.qbit-cart-shipping-selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #dfe7ed;
    color: #5d7284;
    font-size: 10px;
}

.qbit-cart-shipping-selected strong {
    color: #123f70;
    font-size: 12px;
    white-space: nowrap;
}

.qbit-cart-shipping-note {
    margin-top: 6px;
    color: #758695;
    font-size: 9px;
    line-height: 1.4;
}

.qbit-cart-shipping-empty {
    padding: 9px;
    border-radius: 6px;
    background: #fff;
    color: #7a5b5b;
    font-size: 10px;
}

@media (max-width: 575.98px) {

    .qbit-cart-shipping-input-row {
        grid-template-columns: 1fr;
    }

    .qbit-cart-shipping-button {
        width: 100%;
    }
}


/* =========================================================
   QBIT CART UI 4.5 START
   Header + control de cantidad
   ========================================================= */


/* =========================================================
   HEADER — CARRITO
   ========================================================= */

body.cl-basket .qbit-header-main .container-xxl {
    width: 100% !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}


body.cl-basket .qbit-header-row {
    display: grid !important;

    grid-template-columns:
        150px
        minmax(360px, 1fr)
        auto !important;

    align-items: center !important;
    gap: 22px !important;

    width: 100% !important;
}


body.cl-basket .qbit-header-row > * {
    min-width: 0 !important;
}


body.cl-basket .qbit-logo {
    width: 150px !important;
    max-width: 150px !important;

    display: flex !important;
    align-items: center !important;

    margin: 0 !important;
}


body.cl-basket .qbit-logo img {
    display: block !important;

    width: 145px !important;
    max-width: 145px !important;
    height: auto !important;
}


body.cl-basket .qbit-search {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
}


body.cl-basket .qbit-search form,
body.cl-basket .qbit-search .input-group {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}


body.cl-basket .qbit-header-actions {
    display: flex !important;

    align-items: center !important;
    justify-content: flex-end !important;

    gap: 8px !important;

    width: auto !important;
    min-width: max-content !important;

    margin: 0 !important;
}


body.cl-basket .qbit-contact,
body.cl-basket .qbit-account,
body.cl-basket .qbit-cart {
    flex: 0 0 auto !important;

    margin: 0 !important;
}


body.cl-basket .qbit-contact-button {
    min-height: 44px !important;
}


/* Evitar que widgets heredados de Apex
   intenten expandirse dentro del header */

body.cl-basket .qbit-header-actions .dropdown,
body.cl-basket .qbit-header-actions form,
body.cl-basket .qbit-header-actions .btn {
    flex-shrink: 0 !important;
}


/* =========================================================
   CANTIDAD — CARRITO
   ========================================================= */

body.cl-basket
.basketitemrow
.quantity {
    min-width: 122px !important;
}


body.cl-basket
.basketitemrow
.quantity
.input-group {
    display: flex !important;
    flex-wrap: nowrap !important;

    width: 122px !important;
    min-width: 122px !important;
    height: 40px !important;

    border: 1px solid #d5e0e9 !important;
    border-radius: 8px !important;

    background: #ffffff !important;

    box-shadow: none !important;
    outline: none !important;

    overflow: hidden !important;
}


body.cl-basket
.basketitemrow
.quantity
.btn-less,

body.cl-basket
.basketitemrow
.quantity
.btn-more {
    flex: 0 0 38px !important;

    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;

    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #ffffff !important;
    color: #0872cf !important;

    box-shadow: none !important;
    outline: none !important;

    font-size: 16px !important;
    font-weight: 500 !important;

    line-height: 38px !important;
}


body.cl-basket
.basketitemrow
.quantity
.form-control {
    flex: 0 0 44px !important;

    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 38px !important;

    padding: 0 !important;

    border: 0 !important;
    border-left: 1px solid #edf1f5 !important;
    border-right: 1px solid #edf1f5 !important;
    border-radius: 0 !important;

    background: #ffffff !important;
    color: #203d56 !important;

    box-shadow: none !important;
    outline: none !important;

    text-align: center !important;

    font-size: 12px !important;
    font-weight: 500 !important;
}


body.cl-basket
.basketitemrow
.quantity
.btn-less:hover,

body.cl-basket
.basketitemrow
.quantity
.btn-more:hover {
    background: #f4f9fd !important;
    color: #005fae !important;
}


body.cl-basket
.basketitemrow
.quantity
.btn-less:focus,

body.cl-basket
.basketitemrow
.quantity
.btn-more:focus,

body.cl-basket
.basketitemrow
.quantity
.form-control:focus {
    box-shadow: none !important;
    outline: none !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199.98px) {

    body.cl-basket .qbit-header-row {
        grid-template-columns:
            130px
            minmax(260px, 1fr)
            auto !important;

        gap: 12px !important;
    }

    body.cl-basket .qbit-logo,
    body.cl-basket .qbit-logo img {
        width: 125px !important;
        max-width: 125px !important;
    }
}


/* =========================================================
   QBIT CART UI 4.5 END
   ========================================================= */


/* =========================================================
   QBIT CART UI 4.5D START
   Fix exacto lupa + borde Apex quantity
   ========================================================= */


/* =========================================================
   BUSCADOR
   Solo enmarcar botón de lupa.
   NO modificar el contenedor del buscador.
   ========================================================= */

body.cl-basket
.qbit-search
button[type="submit"] {

    border:
        1px solid #cbd8e3 !important;

    border-left:
        0 !important;

    border-radius:
        0 7px 7px 0 !important;

    background:
        #ffffff !important;

    box-shadow:
        none !important;

    outline:
        none !important;
}


body.cl-basket
.qbit-search
button[type="submit"]:hover {

    background:
        #f5f9fc !important;

    border-color:
        #cbd8e3 !important;
}


body.cl-basket
.qbit-search
button[type="submit"]:focus {

    border-color:
        #cbd8e3 !important;

    box-shadow:
        none !important;

    outline:
        none !important;
}


/* El input se une visualmente con la lupa */

body.cl-basket
.qbit-search
input[type="search"],
body.cl-basket
.qbit-search
input[name="searchparam"] {

    border-radius:
        7px 0 0 7px !important;
}


/* =========================================================
   CANTIDAD
   Apex aplica:
       .basket .quantity {
           border: 1px solid #000;
           max-width: 100px;
       }

   Lo anulamos en el elemento EXACTO.
   ========================================================= */

body.cl-basket
.basket
.quantity,
body.cl-basket
.basketitemrow
.quantity {

    border:
        0 !important;

    max-width:
        none !important;

    outline:
        0 !important;

    box-shadow:
        none !important;
}


/* Nuestro marco QBIT vive únicamente en input-group */

body.cl-basket
.basket
.quantity
.input-group,
body.cl-basket
.basketitemrow
.quantity
.input-group {

    width:
        122px !important;

    min-width:
        122px !important;

    max-width:
        122px !important;

    border:
        1px solid #ccd8e2 !important;

    border-radius:
        7px !important;

    overflow:
        hidden !important;

    background:
        #ffffff !important;

    box-shadow:
        none !important;

    outline:
        none !important;
}


/* Elementos interiores sin marcos propios */

body.cl-basket
.basket
.quantity
.input-group
button,

body.cl-basket
.basket
.quantity
.input-group
input,

body.cl-basket
.basketitemrow
.quantity
.input-group
button,

body.cl-basket
.basketitemrow
.quantity
.input-group
input {

    border:
        0 !important;

    outline:
        0 !important;

    box-shadow:
        none !important;
}


/* Separadores internos sutiles */

body.cl-basket
.basket
.quantity
.form-control,

body.cl-basket
.basketitemrow
.quantity
.form-control {

    border-left:
        1px solid #edf1f5 !important;

    border-right:
        1px solid #edf1f5 !important;

    border-top:
        0 !important;

    border-bottom:
        0 !important;
}


/* =========================================================
   QBIT CART UI 4.5D END
   ========================================================= */


/* QBIT BASKET EMPTY 4.41D START */

body.cl-basket
.qbit-basket-empty {
    width: min(680px, calc(100% - 32px));

    margin: 26px auto 34px;
    padding: 30px 26px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    border: 1px solid #d7e2ec;
    border-radius: 8px;

    background: #ffffff;

    text-align: center;

    box-sizing: border-box;
}


body.cl-basket
.qbit-basket-empty-icon {
    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 10px;

    border-radius: 8px;

    background: #eef6fd;

    color: #0875d1;
}


body.cl-basket
.qbit-basket-empty-icon svg {
    width: 29px;
    height: 29px;

    display: block;
}


body.cl-basket
.qbit-basket-empty h1 {
    margin: 0;

    color: #073867;

    font-size: 28px;
    line-height: 34px;

    font-weight: 600;
}


body.cl-basket
.qbit-basket-empty p {
    margin: 7px 0 17px;

    color: #667b8f;

    font-size: 15px;
    line-height: 21px;
}


body.cl-basket
.qbit-basket-empty-action {
    min-height: 42px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 0 18px;

    border: 1px solid #0875d1;
    border-radius: 6px;

    background: #0875d1;

    color: #ffffff;

    font-size: 14px;
    line-height: 18px;

    font-weight: 500;

    text-decoration: none;
}


body.cl-basket
.qbit-basket-empty-action:hover {
    border-color: #0668ba;

    background: #0668ba;

    color: #ffffff;
}


body.cl-basket
.qbit-basket-empty-action:focus-visible {
    outline: 2px solid #0875d1;
    outline-offset: 2px;
}


@media (max-width: 575.98px) {

    body.cl-basket
    .qbit-basket-empty {
        width: calc(100% - 20px);

        margin: 18px auto 26px;

        padding: 24px 16px;
    }


    body.cl-basket
    .qbit-basket-empty h1 {
        font-size: 23px;
        line-height: 29px;
    }


    body.cl-basket
    .qbit-basket-empty p {
        font-size: 14px;
        line-height: 19px;
    }

}

/* QBIT BASKET EMPTY 4.41D END */


/* =========================================================
   QBIT CART SHIPPING — CHECKOUT REQUIRED STATE
   ========================================================= */

.cl-basket .qbit-cart-shipping {
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

.cl-basket .qbit-cart-shipping-required {
    border-width: 2px;
}

.cl-basket .qbit-cart-shipping-required
.qbit-cart-shipping-heading::after {
    content: "Requerido para continuar";
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 5px 9px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

.cl-basket .qbit-cart-shipping-confirmed
.qbit-cart-shipping-heading::after {
    content: "Envío confirmado";
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 5px 9px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

.cl-basket .qbit-cart-checkout-gate-message {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
}

.cl-basket
.qbit-cart-checkout-disabled {
    cursor: not-allowed;
    opacity: .58;
}



/* =========================================================
   QBIT CART SHIPPING — REQUIRED VISUAL 4.38A
   ========================================================= */

/*
 * Estado pendiente.
 * El bloque completo comunica que el envío forma parte
 * obligatoria del total de la compra.
 */
body.cl-basket
.qbit-cart-shipping.qbit-cart-shipping-required {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--bs-primary);
    border-radius: 10px;
    background: #f4f8fd;
    box-shadow:
        0 5px 16px rgba(0, 64, 128, .07);
}


/*
 * Más aire interno para que deje de parecer
 * una fila secundaria del resumen.
 */
body.cl-basket
.qbit-cart-shipping.qbit-cart-shipping-required {
    padding: 18px 16px 16px;
}


/*
 * Cabecera vertical.
 * Evita que la etiqueta obligatoria compita
 * horizontalmente con el título.
 */
body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 10px;
}


/*
 * Eyebrow QBIT.
 */
body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-eyebrow {
    margin-bottom: 4px;
    color: var(--bs-primary);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
}


/*
 * Título principal del bloque.
 */
body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading strong {
    max-width: 260px;
    color: #063f73;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.18;
}


/*
 * Sustituye la cápsula anterior.
 */
body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading::after {
    content: "ENVÍO REQUERIDO";
    display: inline-flex;
    width: auto;
    align-items: center;
    justify-content: center;
    margin: 10px 0 0;
    padding: 5px 8px;
    border: 0;
    border-radius: 4px;
    background: var(--bs-primary);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .035em;
}


/*
 * Texto explicativo.
 */
body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-help {
    max-width: 310px;
    margin: 0 0 14px;
    color: #526b82;
    font-size: 13px;
    line-height: 1.45;
}


/*
 * Label del CP con mayor claridad.
 */
body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-label {
    color: #274b6c;
    font-size: 14px;
    font-weight: 500;
}


/*
 * Campo CP integrado al estado requerido.
 */
body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-input {
    border-color: #abc8e4;
    background: #fff;
}


/*
 * Estado operativo inferior.
 */
body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-status {
    margin-top: 10px;
    color: #526b82;
    font-size: 13px;
}


/*
 * Cuando ya quedó confirmado, retiramos
 * la alarma visual y dejamos confirmación limpia.
 */
body.cl-basket
.qbit-cart-shipping.qbit-cart-shipping-confirmed {
    border: 1px solid #b9cddd;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
}


/*
 * Etiqueta confirmada, discreta.
 */
body.cl-basket
.qbit-cart-shipping-confirmed
.qbit-cart-shipping-heading::after {
    content: "ENVÍO CONFIRMADO";
    display: inline-flex;
    width: auto;
    margin: 8px 0 0;
    padding: 4px 7px;
    border: 1px solid #8fb4d4;
    border-radius: 4px;
    background: #fff;
    color: #37698f;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .025em;
}



/* =========================================================
   QBIT CART — SINGLE HEADER SEPARATORS 4.40A
   Conserva únicamente el separador fino existente.
   ========================================================= */

body.cl-basket
#basket_list > .card-header {
    border-bottom: 0 !important;
}

body.cl-basket
.sticky-md-top .card-title {
    border-bottom: 0 !important;
}


/* =========================================================
   QBIT_CART_SHIPPING_COMPACT_1_02
   Checkpoint compacto de envío en carrito.

   Mantiene intacto:
   - gate obligatorio del checkout
   - cotización CT
   - selección de transportista
   - persistencia de selección
   ========================================================= */

body.cl-basket
.qbit-cart-shipping.qbit-cart-shipping-required {
    padding: 11px 12px 10px;

    border-width: 1px;
    border-radius: 8px;

    background: #f7faff;

    box-shadow: none;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading {
    display: flex;

    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    gap: 8px;

    margin-bottom: 5px;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading > div {
    display: flex;

    flex-direction: row;
    align-items: center;

    gap: 7px;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-eyebrow {
    margin: 0;

    font-size: 11.5px;
    line-height: 1;

    font-weight: 500;

    letter-spacing: .025em;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading strong {
    max-width: none;

    font-size: 15px;
    line-height: 19px;

    font-weight: 500;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading::after {
    content: "Requerido";

    display: inline-flex;

    align-items: center;
    justify-content: center;

    margin: 0;

    padding: 3px 6px;

    border: 1px solid currentColor;
    border-radius: 999px;

    background: transparent;

    color: var(--bs-primary);

    font-size: 11.5px;
    line-height: 1;

    font-weight: 500;

    letter-spacing: 0;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-icon {
    display: none;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-help {
    max-width: none;

    margin: 0 0 8px;

    font-size: 13px;
    line-height: 17px;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-label {
    margin-bottom: 4px;

    font-size: 13px;
    line-height: 17px;

    font-weight: 400;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-input-row {
    gap: 7px;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-input {
    min-height: 40px;

    padding: 7px 10px;

    border-radius: 7px;

    font-size: 14px;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-button {
    min-height: 40px;

    padding: 7px 14px;

    border-radius: 7px;

    font-size: 13px;
    line-height: 18px;

    font-weight: 500;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-status {
    min-height: 0;

    margin-top: 6px;

    font-size: 12.5px;
    line-height: 16px;
}


body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-status:empty {
    display: none;
}


/*
 * Confirmado:
 * mantener el bloque compacto también después
 * de que exista una selección válida.
 */
body.cl-basket
.qbit-cart-shipping.qbit-cart-shipping-confirmed {
    padding: 11px 12px 10px;

    border-radius: 8px;

    box-shadow: none;
}


body.cl-basket
.qbit-cart-shipping-confirmed
.qbit-cart-shipping-heading {
    margin-bottom: 6px;
}


body.cl-basket
.qbit-cart-shipping-confirmed
.qbit-cart-shipping-heading::after {
    content: "Confirmado";

    margin: 0;

    padding: 3px 6px;

    border-radius: 999px;

    font-size: 11.5px;
    line-height: 1;

    font-weight: 500;
}


body.cl-basket
.qbit-cart-shipping-confirmed
.qbit-cart-shipping-heading strong {
    font-size: 15px;
    line-height: 19px;

    font-weight: 500;
}


body.cl-basket
.qbit-cart-shipping-confirmed
.qbit-cart-shipping-help {
    margin-bottom: 8px;

    font-size: 13px;
    line-height: 17px;
}


/*
 * Mensaje junto al botón continuar:
 * útil funcionalmente, pero sin competir con el resumen.
 */
body.cl-basket
.qbit-cart-checkout-gate-message {
    margin: 6px 0 8px;

    font-size: 12.5px;
    line-height: 16px;

    text-align: left;
}


@media (max-width: 575.98px) {

    body.cl-basket
    .qbit-cart-shipping-required
    .qbit-cart-shipping-heading {
        align-items: flex-start;
    }


    body.cl-basket
    .qbit-cart-shipping-required
    .qbit-cart-shipping-heading > div {
        flex-wrap: wrap;
    }


    body.cl-basket
    .qbit-cart-shipping-required
    .qbit-cart-shipping-input-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }


    body.cl-basket
    .qbit-cart-shipping-required
    .qbit-cart-shipping-button {
        width: auto;
    }

}

/* QBIT_CART_SHIPPING_COMPACT_1_02 END */



/* =========================================================
   QBIT_CART_SHIPPING_STATE_BADGES_1_03
   - Oculta visualmente "Envío pendiente"
   - Badge "Requerido" ámbar
   - Badge "Confirmado" verde
   ========================================================= */

body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading {
    margin-bottom: 4px;
    align-items: center;
    justify-content: space-between;
}

body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading > div {
    gap: 0;
}

body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading strong {
    display: none;
}

body.cl-basket
.qbit-cart-shipping-required
.qbit-cart-shipping-heading::after {
    content: "Requerido";
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 4px 8px;

    border: 1px solid #efd27a;
    border-radius: 999px;

    background: #fff3cd;
    color: #8a5a00;

    font-size: 11.5px;
    line-height: 1;
    font-weight: 600;

    box-shadow: none;
}

body.cl-basket
.qbit-cart-shipping-confirmed
.qbit-cart-shipping-heading {
    align-items: center;
    justify-content: space-between;
}

body.cl-basket
.qbit-cart-shipping-confirmed
.qbit-cart-shipping-heading::after {
    content: "Confirmado";
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 4px 8px;

    border: 1px solid #b9e3ca;
    border-radius: 999px;

    background: #e8f6ee;
    color: #137a45;

    font-size: 11.5px;
    line-height: 1;
    font-weight: 600;

    box-shadow: none;
}

/* QBIT_CART_SHIPPING_STATE_BADGES_1_03 END */


/* =========================================================
   QBIT_CART_VISUAL_ALIGN_1_04
   - Quita línea divisora bajo "Tu carrito"
   - Reduce espacio inferior del título
   - Sube ligeramente el bloque izquierdo
   para alinear mejor con "Resumen"
   ========================================================= */

body.cl-basket h1,
body.cl-basket .page-title,
body.cl-basket .qbit-cart-title,
body.cl-basket .qbit-basket-title {
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

body.cl-basket h1 + hr,
body.cl-basket .page-title + hr,
body.cl-basket .qbit-cart-title + hr,
body.cl-basket .qbit-basket-title + hr,
body.cl-basket .page-title::after,
body.cl-basket .qbit-cart-title::after,
body.cl-basket .qbit-basket-title::after {
    display: none !important;
    content: none !important;
}

@media (min-width: 992px) {
    body.cl-basket .qbit-basket-main,
    body.cl-basket .qbit-cart-main,
    body.cl-basket .basketitems,
    body.cl-basket .basket-content,
    body.cl-basket .qbit-cart-left,
    body.cl-basket .qbit-cart-products {
        margin-top: -8px !important;
    }
}

/* QBIT_CART_VISUAL_ALIGN_1_04 END */



/* =========================================================
   QBIT_CART_VISUAL_ALIGN_REAL_1_04C

   Selector real del encabezado "Tu carrito".
   - elimina divisor
   - elimina padding inferior innecesario
   - reduce separación antes del primer producto
   ========================================================= */

body.cl-basket
#basket_list > .card-header {
    margin: 0 0 6px !important;

    padding: 0 !important;

    border: 0 !important;
    border-bottom: 0 !important;
}


/*
 * El listado comienza inmediatamente después
 * del encabezado compacto.
 */
body.cl-basket
#basket_list > .list-group {
    margin-top: 0 !important;
}


/*
 * Evitar cualquier pseudo-elemento heredado
 * usado como divisor.
 */
body.cl-basket
#basket_list > .card-header::before,
body.cl-basket
#basket_list > .card-header::after {
    display: none !important;
    content: none !important;
}

/* QBIT_CART_VISUAL_ALIGN_REAL_1_04C END */



/* =========================================================
   QBIT_CART_COLUMNS_ALIGN_1_05
   - alinea el arranque visual del carrito con Resumen
   - compacta el bloque "¿Te falta algo?"
   ========================================================= */

/*
 * Subimos ligeramente la columna izquierda completa
 * para igualar el arranque visual del aside Resumen.
 */
@media (min-width: 992px) {

    body.cl-basket
    #basket_list {
        margin-top: -11px !important;
    }

}


/*
 * El encabezado conserva su espacio mínimo.
 */
body.cl-basket
#basket_list > .card-header {
    margin-bottom: 5px !important;
}


/*
 * Bloque promocional inferior:
 * menor altura y ancho contenido dentro
 * de la misma columna visual del producto.
 */
body.cl-basket
.qbit-cart-cross-sell,
body.cl-basket
.qbit-cart-assist,
body.cl-basket
.qbit-basket-assist,
body.cl-basket
.qbit-cart-help,
body.cl-basket
.qbit-cart-footer-actions {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;

    margin-left: 0 !important;
    margin-right: 12px !important;

    padding-top: 12px !important;
    padding-bottom: 12px !important;
}


/*
 * Si el bloque está implementado como list-group-item
 * justo después de la lista del carrito.
 */
body.cl-basket
#basket_list + .list-group-item,
body.cl-basket
#basket_list ~ .list-group-item {
    max-width: calc(100% - 12px) !important;
}


/*
 * Compactar texto y botones del bloque inferior.
 */
body.cl-basket
.qbit-cart-continue-shopping,
body.cl-basket
.qbit-cart-consult {
    min-height: 36px !important;

    padding-top: 7px !important;
    padding-bottom: 7px !important;

    font-size: 13px !important;
}


/* QBIT_CART_COLUMNS_ALIGN_1_05 END */



/* =========================================================
   QBIT_CART_COLUMNS_ALIGN_FINE_1_05B

   Ajuste fino:
   el bloque #basket_list debe comenzar aproximadamente
   a la misma altura que la tarjeta Resumen.
   ========================================================= */

@media (min-width: 992px) {

    body.cl-basket
    #basket_list {
        margin-top: -18px !important;
    }

}

/* QBIT_CART_COLUMNS_ALIGN_FINE_1_05B END */



/* =========================================================
   QBIT_CART_FINAL_ALIGNMENT_1_05D

   1. Sube únicamente la tarjeta de producto unos píxeles,
      sin seguir desplazando todo #basket_list.

   2. Iguala el ancho de "¿Te falta algo?" con la tarjeta
      principal del producto.
   ========================================================= */


/* ---------------------------------------------------------
   PRODUCTO VS RESUMEN
   --------------------------------------------------------- */

/*
 * El header ya no necesita separación inferior.
 * Esto acerca la primera basketitemrow al título
 * aproximadamente 5 px sin mover "Tu carrito".
 */
body.cl-basket
#basket_list > .card-header {
    margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   ¿TE FALTA ALGO?
   --------------------------------------------------------- */

/*
 * Actualmente sobresale aproximadamente 11 px por cada
 * lateral respecto al bloque de producto.
 *
 * Lo insetamos dentro de su columna para que sus bordes
 * coincidan visualmente con la basketitemrow.
 */
body.cl-basket
.qbit-cart-page-help {
    width: calc(100% - 22px) !important;
    max-width: calc(100% - 22px) !important;

    margin-left: 11px !important;
    margin-right: 11px !important;

    box-sizing: border-box !important;
}


/*
 * Mantener su contenido compacto.
 */
body.cl-basket
.qbit-cart-page-help {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
}


/* QBIT_CART_FINAL_ALIGNMENT_1_05D END */



/* =========================================================
   QBIT_CART_VISUAL_FINAL_1_06

   Ajuste fino visual:
   - "Tu carrito" ligeramente menor
   - título alineado con tarjeta de producto
   - "¿Te falta algo?" alineado exactamente
     con la tarjeta superior
   ========================================================= */


/* ---------------------------------------------------------
   TITULO TU CARRITO
   --------------------------------------------------------- */

body.cl-basket
#basket_list > .card-header {
    position: relative;

    left: 11px;

    width: calc(100% - 22px);

    margin: 0 0 4px !important;
    padding: 0 !important;

    border: 0 !important;

    font-size: 21px !important;
    line-height: 27px !important;

    font-weight: 600 !important;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   BLOQUE ¿TE FALTA ALGO?
   --------------------------------------------------------- */

body.cl-basket
.qbit-cart-page-help {
    position: relative !important;

    left: 11px !important;

    width: calc(100% - 22px) !important;
    max-width: calc(100% - 22px) !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}


/*
 * Mantenerlo visualmente compacto.
 */
body.cl-basket
.qbit-cart-page-help {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}


/*
 * Reducir ligeramente el texto secundario
 * sin perder legibilidad.
 */
body.cl-basket
.qbit-cart-page-help p {
    margin-bottom: 0 !important;
}


/* QBIT_CART_VISUAL_FINAL_1_06 END */



/* =========================================================
   QBIT_PRODUCT_META_SCALE_1_00_CART

   Escala común QBIT:
   label / auxiliar = 13 px
   valor            = 14 px
   ========================================================= */

body.cl-basket
.basket-item-desc {
    font-size: 13px !important;
    line-height: 1.45 !important;
}


body.cl-basket
.basketitemrow
.attribute {
    font-size: 13px !important;
    line-height: 1.4 !important;
}


body.cl-basket
.basketitemrow
.value {
    font-size: 14px !important;
    line-height: 1.4 !important;
}


body.cl-basket
.article-vat {
    font-size: 13px !important;
    line-height: 1.4 !important;
}


/*
 * Art.No. y Precio Unitario conservan jerarquía compacta,
 * pero dejan de verse como texto diminuto.
 */
body.cl-basket
.basketitemrow
.serial-no,
body.cl-basket
.basketitemrow
.unit-price,
body.cl-basket
.basketitemrow
.attributes {
    font-size: 13px !important;
    line-height: 1.45 !important;
}

/* QBIT_PRODUCT_META_SCALE_1_00_CART END */



/* =========================================================
   QBIT_SHIPPING_TYPOGRAPHY_1_02

   Escala:
   auxiliar             13px
   transportista        14px
   precio envío         14px
   ========================================================= */

body.cl-basket
.qbit-cart-shipping-destination {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

body.cl-basket
.qbit-cart-shipping-destination strong {
    font-size: 13px !important;
    line-height: 1.4 !important;
}


body.cl-basket
.qbit-cart-shipping-split,
body.cl-basket
.qbit-cart-shipping-shipment-title {
    font-size: 13px !important;
    line-height: 1.4 !important;
}


body.cl-basket
.qbit-cart-shipping-option-top {
    font-size: 14px !important;
    line-height: 1.4 !important;
}


body.cl-basket
.qbit-cart-shipping-option-price {
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}


body.cl-basket
.qbit-cart-shipping-option-meta {
    font-size: 13px !important;
    line-height: 1.4 !important;
}


body.cl-basket
.qbit-cart-shipping-cheapest {
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}


body.cl-basket
.qbit-cart-shipping-selected {
    font-size: 13px !important;
    line-height: 1.4 !important;
}


body.cl-basket
.qbit-cart-shipping-selected strong {
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}


body.cl-basket
.qbit-cart-shipping-note {
    font-size: 13px !important;
    line-height: 1.4 !important;
}


body.cl-basket
.qbit-cart-shipping-empty {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* QBIT_SHIPPING_TYPOGRAPHY_1_02 END */



/* =========================================================
   QBIT_CART_SECONDARY_LAYOUT_CSS_1_09

   Sidebar:
   - Resumen
   - Envío
   - CTA Finalizar compra
   - Seguir comprando

   Columna izquierda:
   - Carrito
   - ¿Te falta algo?
   - Cupón
   - Compra con QBIT
   ========================================================= */


/* ---------------------------------------------------------
   RESUMEN — REDUCIR ALTURA
   --------------------------------------------------------- */

body.cl-basket
.sticky-md-top
.list-group-item:not(.h5) {
    padding-top:
        4px !important;

    padding-bottom:
        4px !important;

    line-height:
        1.3 !important;
}


/*
 * Total general conserva jerarquía,
 * pero ocupa menos altura.
 */
body.cl-basket
.sticky-md-top
.list-group-item.h5 {
    margin-top:
        5px !important;

    padding-top:
        9px !important;

    padding-bottom:
        9px !important;
}


/* ---------------------------------------------------------
   CONTENEDOR SECUNDARIO IZQUIERDO
   --------------------------------------------------------- */

body.cl-basket
.qbit-cart-secondary {
    display:
        grid;

    grid-template-columns:
        minmax(0, .82fr)
        minmax(0, 1.18fr);

    gap:
        12px;

    width:
        calc(100% - 22px);

    max-width:
        calc(100% - 22px);

    margin:
        12px 11px 0;

    align-items:
        start;

    box-sizing:
        border-box;
}


/* ---------------------------------------------------------
   CUPÓN
   --------------------------------------------------------- */

body.cl-basket
.qbit-cart-secondary
.qbit-cart-secondary-voucher {
    width:
        100%;

    margin:
        0 !important;

    border:
        1px solid #dce5ec !important;

    border-radius:
        9px !important;

    box-shadow:
        none !important;

    overflow:
        hidden;
}


body.cl-basket
.qbit-cart-secondary
.qbit-cart-secondary-voucher
.card-header {
    min-height:
        48px;

    padding:
        10px 13px !important;
}


body.cl-basket
.qbit-cart-secondary
.qbit-cart-secondary-voucher
[data-bs-target="#voucherCollapse"] {
    font-size:
        14px !important;

    line-height:
        1.3 !important;
}


body.cl-basket
.qbit-cart-secondary
#voucherCollapse
.card-body {
    padding:
        11px !important;
}


/* ---------------------------------------------------------
   COMPRA CON QBIT
   --------------------------------------------------------- */

body.cl-basket
.qbit-cart-secondary
.qbit-cart-page-assurance {
    width:
        100%;

    margin:
        0 !important;

    padding:
        12px 14px !important;

    box-sizing:
        border-box;
}


body.cl-basket
.qbit-cart-secondary
.qbit-cart-page-assurance
h3 {
    margin-bottom:
        8px !important;
}


body.cl-basket
.qbit-cart-secondary
.qbit-cart-page-benefits {
    gap:
        6px !important;
}


body.cl-basket
.qbit-cart-secondary
.qbit-cart-page-benefit {
    min-height:
        34px;
}


/* ---------------------------------------------------------
   SIDEBAR — NO DEJAR HUECOS DE COMPONENTES MOVIDOS
   --------------------------------------------------------- */

body.cl-basket
.sticky-md-top
> .qbit-cart-page-assurance {
    display:
        none !important;
}


/*
 * El card del cupón ya no debe reservar margen dentro
 * del sidebar una vez trasladado.
 */
body.cl-basket
.qbit-cart-secondary-voucher {
    margin-top:
        0 !important;

    margin-bottom:
        0 !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 991.98px) {

    body.cl-basket
    .qbit-cart-secondary {
        grid-template-columns:
            1fr;

        width:
            100%;

        max-width:
            100%;

        margin-left:
            0;

        margin-right:
            0;
    }

}

/* QBIT_CART_SECONDARY_LAYOUT_CSS_1_09 END */



/* =========================================================
   QBIT_CART_SHIPPING_COMPACT_1_10

   Compactación visual del envío:

   - elimina label "Código postal";
   - conserva input CP + botón Calcular;
   - elimina resumen redundante "Envío seleccionado";
   - elimina nota redundante inferior;
   - NO modifica lógica CT ni checkout gate.
   ========================================================= */


/* ---------------------------------------------------------
   CODIGO POSTAL
   --------------------------------------------------------- */

body.cl-basket
.qbit-cart-shipping-label {
    display:
        none !important;
}


/*
 * Al desaparecer el label, acercamos el campo
 * al texto introductorio.
 */
body.cl-basket
.qbit-cart-shipping-input-row {
    margin-top:
        5px !important;
}


/* ---------------------------------------------------------
   RESUMEN REDUNDANTE DE ENVIO
   --------------------------------------------------------- */

body.cl-basket
.qbit-cart-shipping-selected {
    display:
        none !important;
}


body.cl-basket
.qbit-cart-shipping-note {
    display:
        none !important;
}


/*
 * Evitar separación residual después de las opciones.
 */
body.cl-basket
.qbit-cart-shipping-result {
    margin-bottom:
        0 !important;
}


/* QBIT_CART_SHIPPING_COMPACT_1_10 END */



/* =========================================================
   QBIT_CART_ASSURANCE_TYPO_1_11

   Carrito:
   - Cupón no se muestra temporalmente.
   - Compra con QBIT aumenta legibilidad.
   - Backend/vouchers OXID permanecen intactos.
   ========================================================= */


/* ---------------------------------------------------------
   CUPON — OCULTO EN CARRITO
   --------------------------------------------------------- */

body.cl-basket
.qbit-cart-secondary-voucher {
    display:
        none !important;
}


/*
 * Al quedar solo Compra con QBIT,
 * ocupar todo el ancho disponible.
 */
body.cl-basket
.qbit-cart-secondary {
    grid-template-columns:
        minmax(0, 1fr) !important;
}


body.cl-basket
.qbit-cart-secondary
.qbit-cart-page-assurance {
    width:
        100% !important;

    max-width:
        100% !important;
}


/* ---------------------------------------------------------
   COMPRA CON QBIT — TIPOGRAFIA
   --------------------------------------------------------- */

body.cl-basket
.qbit-cart-page-assurance-label {
    font-size:
        13px !important;

    line-height:
        1.2 !important;

    font-weight:
        600 !important;
}


body.cl-basket
.qbit-cart-page-assurance
h3 {
    font-size:
        15px !important;

    line-height:
        1.3 !important;

    font-weight:
        500 !important;
}


body.cl-basket
.qbit-cart-page-benefit {
    font-size:
        13px !important;

    line-height:
        1.35 !important;
}


body.cl-basket
.qbit-cart-page-help,
body.cl-basket
.qbit-cart-page-help a {
    font-size:
        13px !important;

    line-height:
        1.35 !important;
}


/*
 * Mantener tarjeta compacta pese al aumento tipográfico.
 */
body.cl-basket
.qbit-cart-secondary
.qbit-cart-page-assurance {
    padding:
        13px 15px !important;
}


body.cl-basket
.qbit-cart-page-benefits {
    gap:
        7px !important;
}


/* QBIT_CART_ASSURANCE_TYPO_1_11 END */

