body{
    min-height: 100vh;
    display: flex;
    justify-content: end;
    align-items: center;
    margin: 0px;
    background-color: #e9e9e9;
}

.lateral{
    display: flex;
    flex-direction: column;
    min-width: 60%;
    gap: 1rem;
    justify-content: space-between;
}

.main{
    height: 70vh;
    align-items: center;
    justify-content: center;
}

.carrito-main{
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 1rem;
    color: #0a4565;
    width: 100%;
    height: 90%;
    border-radius: 10px;
    gap: 1rem;
}

.lateral .contenido{
    background-color: #17b2c4;
    border-radius: 15px;
    height: 75%;
    overflow-y: scroll;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.total{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #17b2c4;
    border-radius: 15px;
    min-width: 20%;
    max-height: 40%;
    padding: 1rem;
}
.total p{
    text-align: left;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0rem 0;
    font-family: "Nunito", sans-serif;
}
.total h3{
    text-align: left;
    font-size: 1.75rem;
    font-weight: bold;
    margin: 0rem 0;
    font-family: "Nunito", sans-serif;
}
.total button{
    background-color: #0a4565;
    border-radius: 15px;
    color: white;
    font-family: "Nunito", sans-serif;
    font-weight: bold;
}

.lateral .titulo{
    background-color: #17b2c4;
    border-radius: 15px;
}
.lateral .titulo h2{
    font-size: 3.5rem;
    text-align: left;
    font-weight: bold;
    margin: 0rem 0.5rem;
    font-family: "Nunito", sans-serif;
}
.carrito-main .contenido p{
    text-align: center;
    font-family: "Nunito", sans-serif;
}

.carrito-main .btn {
    padding: 0.5rem 1rem;
    background-color: #0f7985;
    color: white;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    text-align: center;
    font-family: "Nunito", sans-serif;
}

.carrito-main .btn:hover {
    background-color: #0a4565;
}

.carrito-main ul{
    list-style: none;
    padding: 20px;
    margin: 0;
    flex-grow: 1;
    overflow-y: auto;
}
.carrito-main ul li {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr 1fr 1fr 1fr;
    align-items: center;
    text-align: center;
    gap: 1rem;
}
.carrito-main ul li img,
.carrito-main ul li input,
.carrito-main ul li p,
.carrito-main ul li button {
    justify-self: center;
}

.carrito-main ul li img{
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 10px;
}
.btn-eliminar{
    background-color: #ff4d4d;
    border: none;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    cursor: pointer;
    font-family: "Nunito", sans-serif;
}
.carrito-main ul li h3{
    font-size: 1.75rem;
    margin: 0 1rem;
    flex-grow: 1;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: "Nunito", sans-serif;
}
.carrito-main ul li h2{
    font-size: 1.25rem;
    margin: 0 1rem;
    flex-grow: 1;
    text-align: center;
    font-family: "Nunito", sans-serif;
}
.carrito-main ul li input{
    background: none;
    border: none;
    font-family: "Nunito", sans-serif;
    font-size: 1.75rem;
    margin: 0;
    max-width: 5rem;
    text-align: center;
    color: white;
}

.cantidad-carrito {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.cantidad-carrito .cantidad-btn {
    width: 32px;
    height: 32px;
    background: #2093a0;
    font-size: 20px;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.2s;
}
.cantidad-carrito .cantidad-btn:hover {
    background: #0a4565;
}
.cantidad-carrito .cantidad {
    width: 50px;
    text-align: center;
    font-size: 16px;
    border-radius: 4px;
    height: 32px;
    border: none;
}
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0;
}

input[type=number] { -moz-appearance:textfield; }

.celular { display: none; }

@media (max-width: 768px) and (orientation: portrait) {
    .carrito-main{
        flex-direction: column;
        gap: 1rem;
    }
    .lateral{
        justify-content: space-evenly;
    }
    .contenido{
        padding: 20px;
    }
    .lista-productos { display: none; }
    .celular {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        overflow-y: auto;
        max-height: 75vh;
        padding: 10px;
    }
    .img{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .img img{
        width: 100px;
        height: 100px;
        object-fit: cover;
        border-radius: 10px;
    }
    .informacion-producto{
        display: flex;
        flex-direction: column;
        justify-content: left;
        text-align: left;
    }
    h3{
        text-align: center;
    }
    .producto{
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .carrito-main{
        margin-top: 290px;
    }
    
}