:root {
    color-scheme: light dark;
}


.light {
    color-scheme: light;
}

.dark {
    color-scheme: dark;
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

@media (prefers-color-scheme: dark) {
    body {
        background-color: #121316;
        color: #B3C6F8;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
    margin-bottom: 60px;
    color: light-dark(#041B44, #B3C6F8);
    background-color: light-dark(#fff, #121316);
}

header {
    position: sticky;
    top: 0;
    z-index: 3000;
}

#NombreRestaurant {
    color: light-dark(#fff, #CBD6E0);
}

.loader {
    width: 48px;
    height: 48px;
    border: 4px solid #094caf;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
    top: 15%;
    left: 48%;
}

.loader::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 0;
    background: #FF3D00;
    width: 4px;
    height: 24px;
    transform: translateX(-50%);
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#loader {
    position: fixed;
    left: 1px;
    top: 1px;
    width: 100%;
    height: 100%;
    background-color: #9fbac59e;
    z-index: 9999;
}

.encabezado {
    background-color: light-dark(#041B44, #1d2228);
    color: white;
    font-family: "DM Sans", "Sans Serif Collection";
    height: 11vh;
    padding: 1vh 2vh;
}
.encabezado img {
    background-color: #dde7f2;
    border-radius: 50%;
    max-height: 8vh;
}

.encabezado div {
    margin: auto;
}

.buscar {
    height: 5vh;
    width: 5vh;
    background-color: #a3b6e7;
    border-radius: 50%;
    text-align: center;
}

.buscar i {
    line-height: 5vh;
}

.buscarVisible {
    background-color: #24D886;
}

#Carrito {
    font-size: 4vh;
    position: relative;
    width: fit-content;
}

#Carrito a {
    display: inline-block;
    width: 100%;
    color: #a3b6e7;
    text-decoration: none;
}

#badgeCarrito {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: red;
    font-size: 10px;
    position: absolute;
    top: 0px;    
    right: 0px;
    line-height: 20px;
    color: white;
}
.primary {
    background-color: #dde7f2;
}

.horizontal-scroll-container {
    width: 100%; 
    overflow-x: auto;
    white-space: nowrap; 
    -ms-overflow-style: none; 
    scrollbar-width: none; 
}

.horizontal-scroll-container::-webkit-scrollbar {
    display: none; 
}

.content {
    display: inline-block;     
}

.condiciones {
    font-size: clamp(8px, 3vw, 20px);
    background-color: #dde7f2;
    color: #041B44;
    border-radius: clamp(8px, 8px, 2.5vh);
    padding: 1vh 0px;
}

.promociones {
    height: clamp(14vh, 14vh, 400px);
    border-radius: clamp(8px, 8px, 2.5vh);
}
.laPromocion {
    display: none;
    border-radius: 8px;
}

.laPromocion.activa {
    display: flex;
    flex-wrap: wrap;
    //height: clamp(8px, 8px, 2.5vh);
    padding: 10px;
}

.imagenPromocion {
    width: 34%;    
    border-radius: 5%;
}

.textoPromocion {
    width: 66%;
    padding-right: calc(var(--bs-gutter-x) * .25);
    padding-left: calc(var(--bs-gutter-x) * .25);
}

#GruposDiv {
    background-color: light-dark(#fff, #121316);
}

.losGrupos {
    position: sticky;
    top: 11vh;
    background-color: light-dark(#fff, #121316);
    z-index: 1000;
}

.grupos {
    padding: 1vh 2vw;
    display: inline-block;
}

.grupos.selected {
    border-bottom: 2px solid light-dark(#041B44, #B3C6F8);
    font-weight: bold;
}

.subGrupo {
    display: inline-block;
    width: 120px;
    margin-left: 10px;
    overflow: hidden;
    padding: 10px;
    background-color: #76E3E3;
    border-radius: 8px;
    font-weight: bold;
    text-align: center;
    color: #041B44;     
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
    height: 120px;
    white-space: normal;
    margin-top: 32px;
}

.productos, .subGrupoWrapper {
    display: inline-block;
    width: 140px;
    height: 250px;
    margin-left: 10px;
    overflow: hidden;
}

.paquete {
    box-shadow: 5px 5px 5px light-dark(#0000004d, #FFFFFF4d);
}

.imagen {
    text-align: center;
    font-size: 70px;
    background-color: #DDE7F2;
    height: 120px;
    border-radius: 20%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 10px;
    margin-right: 10px;
}

.signoDeMas {
    display: inline;
    position: relative;
    top: -5%;
    left: 80%;
    font-size: 30px;
    color: light-dark(white, #121316);
}

.signoDeMas i.fa-inverse {
    color: #76E3E3;
        
}

.precio {
    height: 30px;
    font-weight: bolder;
}
.texto {
    height: 50px;
    white-space: normal;
    text-align: left;
}
.tituloGrupo {
    margin-left: 10px;
    font-weight: bold;
}
#UnProducto {
    display: none;
}

#DetalleProducto {    
    width: 100%;
    height: 90%;
    border-radius: 5vh;
    position: fixed;
    top: 0;
    left: 0;
    color: light-dark(#041B44, #B3C6F8);
    background-color: light-dark(#fff, #121316);
    z-index: 5000;
    padding: 15px;
    margin: 50px 0px 0px 0px;
    overflow: auto;
}

#Agregar {
    width: 100vw;
    bottom: 0;
    left: 0;
    padding: 10px 10px 10px 10px;
    position: fixed;
    z-index: 5000;
    background-color: light-dark(#fff, #121316);    
}

#Cerrar {
    font-size: 40px;
    top: 0;
    position: sticky;
    opacity: 50%;
    width:contain;
    /*box-shadow: 0px 2px lightgray;*/
    
}

#NombreDelProducto {
    padding-top: 20px;
}

#PrecioDelProducto {
    font-size: 1.5rem;
    font-weight: bold;
}

#OpcionesDelProducto {
    margin-top: 15px;
    padding-bottom: 70px;
}
.detalles {
    padding: 10px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.imagenGrande {
    height: 30%;
    background-image: url(/images/BebidasDefault.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position-x: center;
    margin: 10px 0px 10px 0px;
}

.container-fluid div.grupoModiOPaq:not(:last-child) {
    padding: 10px 0px 10px 0px;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 10px;
}

.grupoModificador {
    font-weight: bold;
    font-size: 14px;
    min-height: 30px;
    margin: auto;
    width: 100%;
    text-align: center;
}

.grupoModificador p {
    font-weight: normal;
    font-size: smaller;
}

.modificador, .modificadorPaquete {
    text-align: center;
    border: 1px solid #849CAF;
    border-radius: 30px;
    height: 48px;
    line-height: 48px;
    margin-bottom: 10px;
}

.nombreModificador {
line-height: 48px;
}
.elNombre {
    line-height: 24px;
    display: flex;
}
.elPrecio {
    line-height: 20px;
}
.modiSel {
    background-color: #24D886;
    color: #00391F;
}

.btn-finalizar {
    color: #fff;
    background-color: #24D886;
    border-color: #24D886;
    font-weight: bold;
    width: 100%;
}

.nombreProducto {
    color: light-dark(#041B44, #B3C6F8);
}

#VaciarCarrito {
    color: #0067FF;
    text-decoration: none;
    font-weight: bold;
}

.mueveCantidad {
    margin: auto;
    background-color: #76E3E3;
    width: 20px;
    height: 20px;
    display: inline-block;
    border-radius: 50%;
    line-height: 20px;
    color: white;
    font-size: 10px;
    text-align: center;
}

.montoCarrito {
    color: light-dark(#041B44, #B3C6F8);
    font-weight: bold;
}
.tdCantidad {
    width: 30%;
}
.cantidadOrdenada {
    color: light-dark(#041B44, #B3C6F8);
    width: 100%;
    text-align: center;
}

.borraProducto {
    color: red;
    font-size: 20px;
    padding-right: 15px;
}

.sugerencias {
    text-align: justify;
    padding: 0px 10px;
}

#cantidades div.modal-content, #modisPaquete div.modal-content {
    background-color: light-dark(#DFE2E7, #1D2228);
    border-radius: 25px;
    padding: 30px;
}

.row.cantidades {
    height: 60px;
    background-color: light-dark(white, #28313A);
    border-radius: 25px;
}

#cantidad {
    margin-top: 12px;
    background-color: light-dark(white, #28313A);
    color: light-dark(black, #CBD6E0);
}

#mas, #menos, .botonCantidad {
    height: 30px;
    width: 30px;
    border-radius: 50%;
    margin-top: 15px;
    font-size: 35px;
    line-height: 22px;
    text-align: center;
    display: block;
}

.botonCantidad {
    background-color: #fff;
    border-color: #fff;
    color: #24D886;
}

.btn-close {
    background-color: light-dark(#DFE2E7,#b3c6f8);
}
#mas, #menos {
    background-color: #24D886;
    border-color: #24D886;
    color: light-dark(#fff,#28313A);
}

.badgeCantidad {
    height: 30px;
    width: 30px;
    border-radius: 50%;
    margin-top: 8px;
    font-size: 15px;
    line-height: 30px;
    text-align: center;
    background-color: #fff;
    border-color: #fff;
    color: #041B44;
    float: right;
    margin-left: 8px;
}

.errorDeMinimo {
    font-size: 1em !important;
    color: #ef4848;
}

#SIOrdenar, #seleccionMoP {
    background-color: #24D886;
    border-color: #24D886;
    height: 45px;
    border-radius: 25px;
}

#NOOrdenar, #CancelarOrdenar {
    background-color: lightgray;
    border-color: lightgray;
    height: 45px;
    border-radius: 25px;
}

.modificadoresDelProducto, .productosDelPaquete {
    font-style:italic;
    margin-left: 15px;
}

.rowForma {
    margin: 0px 10px 0px 10px;
}

.inputControl {
    background-color: light-dark(#DDE7F2, #28313A);
    border: solid 1px light-dark(#DDE7F2, #28313A);
    border-radius: 25px;
}

.botonRecibir {
    height: 45px;
    font-size: 16px;
    font-weight: bold;
    width: 100%;
    border-radius: 25px;
}

.botonRecibir i {
    font-size: 20px;
    margin-right: 5px;
}

#ADomicilio {
    background-color: #0067FF;
    border-color: #0067FF;
}

#Recoger {
    background-color: #24D886;
    border-color: #24D886;
}

#UbicacionActual, #EnviarPedido {
    color: #041B44;
    background-color: #76E3E3;
    border-color: #76E3E3;
}

.miSwitch {
    font-size: 16px;
    line-height: 20px;
}

    .miSwitch input {
        background-color: light-dark(#DDE7F2, #28313A);
        border-color: light-dark(#DDE7F2, #28313A);
    }

.etiquetaControl {
    margin-bottom: 0px;
    margin-left: 12px;
}

.comoEntrego, .comoEntrego:focus {
    box-shadow: 0px 4px 6px light-dark(#000000cc,#ffffffcc);
}

#btnInstallPwa {
    position: sticky;
    top: 0px;
    width: 100%;
}