
:root{
    --primary:#1268b0;
    --primary-dark:#0f5691;
    --bg:#f4f7fb;
    --card:#ffffff;
    --border:#e6ebf2;
    --text:#243447;
    --muted:#6b7280;
    --success:#22c55e;
}

*{box-sizing:border-box}

body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;
}

header{
    position:sticky;
    top:0;
    z-index:1000;
    background:#fff!important;
}

.card{
    border:none;
    border-radius:18px;
    background:var(--card);
    box-shadow:0 8px 25px rgba(0,0,0,.06);
    transition:.25s;
}

.card:hover{
    transform:translateY(-2px);
}

.card-header{
    border:none;
    border-radius:18px 18px 0 0!important;
    background:#fff;
    font-weight:700;
}

.bg-primary{
    background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;
}

.form-control{
    border-radius:12px;
    border:1px solid var(--border);
    min-height:46px;
}

.form-control:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 .2rem rgba(18,104,176,.15);
}

.input-group-text{
    border-radius:12px 0 0 12px;
    background:#fff;
}

.list-group-item{
    border:none;
    border-radius:12px!important;
    margin:5px 10px;
    transition:.2s;
    cursor:pointer;
}

.list-group-item:hover{
    background:#eef6fc;
    color:var(--primary);
}

.list-group-item.active{
    background:var(--primary);
    border-color:var(--primary);
}

#produtos{
    row-gap:20px;
}

.produto-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 6px 20px rgba(0,0,0,.08);
    transition:.25s;
    height:100%;
}

.produto-card:hover{
    transform:translateY(-4px);
}

.produto-img{
    width:100%;
    height:180px;
    object-fit:cover;
    background:#f5f5f5;
}

.produto-body{
    padding:18px;
}

.produto-titulo{
    font-size:18px;
    font-weight:700;
}

.produto-desc{
    color:var(--muted);
    font-size:14px;
    min-height:60px;
}

.produto-preco{
    font-size:24px;
    color:var(--primary);
    font-weight:700;
}

.btn{
    border-radius:12px;
    min-height:45px;
    font-weight:600;
}

.btn-success{
    background:var(--success);
    border:none;
}

.btn-outline-danger{
    border-radius:12px;
}

.sticky-top{
    top:95px!important;
}

#totalFinal{
    font-size:34px;
    font-weight:800;
}

label{
    font-weight:600;
    margin-bottom:6px;
}

@media(max-width:992px){
.sticky-top{
position:relative!important;
top:0!important;
margin-top:20px;
}
header .container-fluid{
flex-direction:column;
text-align:center;
gap:10px;
}
}
