/* carrito ********************************** */

@import url('../fonts/syscom_logo/syscom_logo.css'); /* Importar la fuente de iconos syscom */

body {
    font-family: Arial, Helvetica, sans-serif;
}

.tag-preferido {
    top: 5px;
    right: 0px;
    position: absolute;
    padding: 1px 4px;
    font-size: 14px;
    color: #daa520;
    border: none;
}
#modal_pago .list-group-item{
    margin-bottom: 15px;
    border-radius: 4px;
}
.btn-cambiar {
    font-weight: bold;
    border: 1px solid #014e94;
    background-color: #f2f9ff;
    color: #014e94;
}
.btn-cambiar.invalid:not(:hover) {
    font-weight: bold;
    border: 1px solid #d28bae;
    background-color: #ffe4f1;
    color: #b2003b;
}
.btn-cambiar.btn-link {
    margin-left: 10px;
}
.btn-cambiar:hover {
    background-color: #c5f4ff !important;
    border: 1px solid #012b52;
}
body[data-bs-theme="dark"] .btn-cambiar {
    background-color: #012b52;
    border-color: #014e94;
    color: #91ebff;
}
body[data-bs-theme="dark"] .btn-cambiar.invalid:not(:hover) {
    border-color: #ff6a6a;
    background-color: #401529;
    color: #ffced6;
}
body[data-bs-theme="dark"] .btn-cambiar:hover {
    background-color: #0160b1 !important;
}
.preg-donde {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #014e94;
}
.dark-mode-syscom .preg-donde {
    color: #ffc800 !important;
}
.dark-mode-syscom .panel-success > .panel-heading {
    color: #14d217;
    background-color: #0c2900;
    border-color: #14d217;
}
.dark-mode-syscom .panel-success {
    border-color: #14d217;
}
.dark-mode-syscom .modal-body > hr {
    border-color: #5b5661;
}
.dark-mode-syscom .list-group-item.active, .dark-mode-syscom .list-group-item.active:hover, .dark-mode-syscom .list-group-item.active:focus{
    background-color: #014e94 !important;
    border-color: #012b52 !important;
}
.dark-mode-syscom a.list-group-item:hover, .dark-mode-syscom button.list-group-item:hover, .dark-mode-syscom a.list-group-item:focus, .dark-mode-syscom button.list-group-item:focus {
    color: #fff;
    background-color: #012b52 !important;
}
.modal-header.bg-primary {
    border-radius: 4px 4px 0 0;
    background-color: #014e94 !important;
}
.dark-mode-syscom .modal-header.bg-primary {
    background-color: #014e94;
}
.dark-mode-syscom .close {
    color: #fff;
    opacity: .5;
}
.dark-mode-syscom .bg-danger {
    background-color: #4d2727;
}
.dark-mode-syscom .panel_segmento.carrito-productos a {
    color: #fcfbfc;
}
.label-nuevo {
    position: absolute;
    margin-left: 5px;
    font-size: 11px;
    background-color: #014e94;
    color: white;
    padding: 0 5px;
    border-radius: 8px;
}
.lds-ellipsis {
    display: inline-block;
    position: relative;
    height: 20px;
    width: 90px;
}
.lds-ellipsis div {
    position: absolute;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #014e94;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}
.contenedor-relacionados {
    min-height: 215px;
    border: 1px solid #e2e2e2;
    padding: 5px 10px;
    border-radius: 4px;
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin-bottom: 10px;
    box-shadow: 0 4px 6px rgba(1, 78, 148, 0.1);
}
@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}
@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}
#msg_pago_realizado, #msg_reintento {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: fixed;
    z-index: 100000;
    padding: 10px;
    display: none;
}
.pago-realizado-window {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    max-width: 610px;
    padding: 15px;
    transform: translate(0, 0);
    border-radius: 8px;
    margin: 30px auto;
    border: 1px solid #0000002b;
    box-shadow: 0 8px 16px rgba(1, 78, 148, 0.15);
}
#panel_derecho_carrito {
    position: sticky;
    position: -webkit-sticky;
    transition: padding-top 0.5s;
    top: 110px;
    padding-bottom: 15px;
}
.btn-relative {
    position: relative;
}
.no-resize {
    resize: none;
}
.editar-dir {
    position: absolute;
    right: 5px;
    bottom: 2px;
    opacity: 0.6;
    font-weight: 600;
}
.basureitor {
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: crimson;
    opacity: 0.4;
    cursor: pointer;
    font-size: 15px;
}
.basureitor:hover {
    opacity: 1;
}
.guardar-despues {
    position: absolute;
    bottom: 5px;
    right: 21px;
    color: #014e94;
    opacity: 0.4;
    cursor: pointer;
    font-size: 15px;
}
.guardar-despues:hover {
    opacity: 1;
}
.ellipsis-multiline {
    display: block;
    display: -webkit-box;
    max-width: 400px;
    line-height: 1.3;
    margin: 0 auto;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.list-product-title {
    font-size: 0.9em;
    color: #014e94;
    height: 54px;
}
.modelo-marca {
    font-weight: bold;
    font-size: 13px;
    color: #012b52;
}
.list-producto-price-p3 {
    font-size: 1.35em;
    font-weight: bolder;
    color: #014e94;
}
.foto_producto_bloque {
    max-width: 160px;
    width: 100%;
    height: auto;
    vertical-align: middle;
}
.eliminar-para-despues {
    position: absolute;
    top: 5px;
    right: 5px;
}
.contrls-slider {
    height: 100px !important;
    margin-top: 100px;
}
.imagen-carrito {
    width: 100%;
    height: auto;
    max-width: 75px;
}
@media only screen and (max-width: 700px) {
    /* Force table to not be like tables anymore */
    #productos table, #productos_2 table, #fleteras table,
    #productos thead, #productos_2 thead, #fleteras thead,
    #productos tbody, #productos_2 tbody, #fleteras tbody,
    #productos th, #productos_2 th, #fleteras th,
    #productos th > span, #productos_2 th > span, #fleteras th > span,
    #productos td, #productos_2 td, #fleteras td,
    #productos tr, #productos_2 tr, #fleteras tr {
        display: block; }

    /* Hide table headers (but not display: none;, for accessibility) */
    #productos thead tr, #productos_2 thead tr, #fleteras thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px; }

    #productos tr, #productos_2 tr, #fleteras tr {
        border: 1px solid #ccc; }

    #productos td, #productos_2 td, #fleteras td {
        /* Behave  like a "row" */
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 35% !important;
        white-space: normal;
        text-align: left;
        overflow: hidden;
        width: 100%;
        max-width: 100%; }

    #productos td:before, #productos_2 td:before, #fleteras td:before {
        /* Now like a table header */
        position: absolute;
        /* Top/left values mimic padding */
        top: 6px;
        left: 6px;
        width: 30%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
        text-overflow: ellipsis; }

    /*
    Label the data
    */
    #productos td:before, #productos_2 td:before, #fleteras td:before {
        content: attr(data-title); }
}
.footer-total {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    padding: 0.75rem 1.25rem;
    border: 1px solid rgba(1, 43, 82, 0.2);
    background: #014e94;
    color: #fff;
    box-shadow: 0 -0.3rem 0.6rem rgba(0, 0, 0, 0.3) !important;
}
#barras_folios {
    position: fixed;
    top: 48px;
    left: 0;
    right: 0;
    z-index: 9;
}
.container-carrito {
    margin-top: 66px;
}
.container-carrito.con-folio{
    margin-top: 110px;
}
@media screen and (max-width: 991px){
    #folio_bar {
        display: none;
    }
}
@media screen and (min-width: 992px){
    #folio_bar_movil {
        display: none;
    }
    #barras_folios {
        top: 80px;
    }
    .container-carrito {
        margin-top: 100px
    }
    .container-carrito.con-folio{
        margin-top: 134px
    }
}
@media screen and (min-width: 1200px){
    .footer-total {
        display: none;
    }
}
.multicart-icon {
    display: inline-block;
    width: 90px;
    font-size: 33px;
    border-radius: 0 20px 20px 0;
    color: #d0f4fd;
}
.multicart-icon-sm {
    width: 63px;
    font-size: 28px;
}
.multicart-text {
    display: inline-block;
    width: calc(100% - 90px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body[data-bs-theme="dark"] .multicart-icon {
    color: #032831;
}
#folio_bar_movil {
    margin-top: 16px;
}
#mdl_oxxo_code {
    max-width: 442px;
}

.loyalty .form-check-input:checked {
    background-color: #014e94;
    border-color: #012b52;
}

/* Elementos glass */
.glass-element {
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(1, 78, 148, 0.1);
    border: 1px solid rgba(1, 78, 148, 0.2);
}

/* Botones principales */
.btn-primary {
    background-color: #014e94;
    border-color: #012b52;
    color: white;
}

.btn-primary:hover {
    background-color: #012b52;
    border-color: #001a33;
}

/* Iconos SYSCOM */
.syscom-icon {
    font-family: 'syscom_logo', Arial, sans-serif;
}

/* Tablas */
.table thead th {
    background-color: #014e94;
    color: white;
    border-color: #012b52;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(1, 78, 148, 0.05);
}

/* Cards */
.card {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(1, 78, 148, 0.2);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.card-header {
    background-color: #014e94;
    color: white;
    font-weight: bold;
}