.carrinho-page{

    padding:40px 0 100px;

}

.carrinho-page h1{

    color:#6b3f1d;

    margin-bottom:30px;

    font-size:38px;

}

.carrinho-grid{

    display:grid;

    grid-template-columns:2fr 380px;

    gap:30px;

    align-items:start;

}

.lista-produtos{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.produto-carrinho{

    display:flex;

    gap:20px;

    background:#fff;

    border-radius:22px;

    padding:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.produto-carrinho:hover{

    transform:translateY(-4px);

}

.produto-carrinho img{

    width:140px;

    height:140px;

    border-radius:18px;

    object-fit:cover;

}

.info{

    flex:1;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

}

.info h3{

    color:#6b3f1d;

    font-size:24px;

}

.info p{

    color:#777;

}

.preco{

    color:#2e7d32;

    font-size:24px;

    font-weight:bold;

}

.quantidade{

    display:flex;

    align-items:center;

    gap:10px;

}

.quantidade a{

    width:38px;

    height:38px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#8b5a2b;

    color:#fff;

    font-size:20px;

}

.quantidade span{

    font-size:18px;

    font-weight:bold;

}

.remover{

    color:#d32f2f;

    font-weight:600;

}

.resumo{

    position:sticky;

    top:90px;

    background:#fff;

    border-radius:20px;

    padding:25px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.resumo h2{

    color:#6b3f1d;

    margin-bottom:20px;

}

.linha{

    display:flex;

    justify-content:space-between;

    margin:15px 0;

}

.total{

    font-size:26px;

    font-weight:bold;

    color:#2e7d32;

    border-top:1px solid #eee;

    padding-top:20px;

}

.btn-finalizar{

    width:100%;

    display:block;

    text-align:center;

    padding:16px;

    margin-top:25px;

    background:#28a745;

    color:#fff;

    border-radius:14px;

    font-weight:bold;

    transition:.3s;

}

.btn-finalizar:hover{

    background:#23913b;

}

.btn-continuar{

    display:block;

    text-align:center;

    margin-top:18px;

    color:#6b3f1d;

}

/*=================================
        CARRINHO MOBILE
=================================*/

@media (max-width:768px){

    .carrinho-page{

        padding:20px 0 90px;

    }

    .carrinho-page h1{

        font-size:30px;

        text-align:center;

        margin-bottom:25px;

    }

    .carrinho-grid{

        display:flex;

        flex-direction:column;

        gap:20px;

    }

    .produto-carrinho{

        flex-direction:column;

        padding:15px;

        gap:15px;

    }

    .produto-carrinho img{

        width:100%;

        height:190px;

        border-radius:15px;

        object-fit:cover;

    }

    .info{

        width:100%;

    }

    .info h3{

        font-size:20px;

        margin-bottom:8px;

    }

    .info p{

        font-size:14px;

        margin-bottom:10px;

    }

    .acoes{

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:12px;

        width:100%;

    }

    .quantidade{

        display:flex;

        justify-content:center;

        gap:15px;

    }

    .quantidade a{

        width:42px;

        height:42px;

        font-size:18px;

    }

    .subtotal{

        font-size:22px;

        font-weight:700;

        color:#28a745;

    }

    .remover{

        width:100%;

        text-align:center;

        padding:10px;

        border-radius:10px;

        background:#fff2f2;

    }

    .resumo{

        position:static;

        width:100%;

        margin-top:10px;

    }

    .btn-finalizar{

        padding:15px;

        font-size:17px;

    }

    .btn-continuar{

        padding-bottom:10px;

    }

}

/*==========================
    CARRINHO MOBILE
==========================*/

@media (max-width:768px){

    .carrinho-grid{
        display:block;
    }

    .produto-carrinho{

        display:flex !important;

        flex-direction:column !important;

        gap:15px;

        padding:15px;

    }

    .produto-carrinho img{

        width:100% !important;

        height:180px !important;

        object-fit:cover;

        border-radius:15px;

    }

    .info{

        width:100%;

    }

    .acoes{

        width:100%;

        margin-top:10px;

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:12px;

    }

    .quantidade{

        justify-content:center;

    }

    .resumo{

        position:static;

        width:100%;

        margin-top:20px;

    }

}

/*==========================
      CARRINHO MOBILE
==========================*/

@media (max-width:768px){

    .produto-carrinho{

    display:grid;

    grid-template-columns:65px 1fr;

    gap:10px;

    padding:10px;

    border-radius:14px;

}

.produto-carrinho img{

    width:65px;

    height:65px;

    border-radius:10px;

    object-fit:cover;

}

.info h3{

    font-size:14px;

    margin-bottom:3px;

}

.info p{

    display:-webkit-box;

    -webkit-line-clamp:2;
    line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

.info strong{

    font-size:16px;

}

.acoes{

    margin-top:8px;

    padding-top:8px;

}

.quantidade a{

    width:26px;

    height:26px;

    font-size:13px;

}

.quantidade span{

    font-size:14px;

}

.subtotal{

    font-size:15px;

}

.remover{

    font-size:12px;

}

    .resumo{

        position:static;

        margin-top:20px;

        padding:18px;

    }

}

