.cadastroitens_combo-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--rest-borda);
}

.cadastroitens_combo-titulo {
    margin: 0;
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-destaque);
    font-weight: 700;
    color: var(--rest-texto);
    margin-bottom: 20px;
}

.cadastroitens_combo-titulo .bi {
    color: var(--rest-primaria);
    opacity: .9
}

.cadastroitens_combo-botao-novo {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .9rem;
    border-radius: 10px;
    background: var(--rest-primaria);
    color: var(--rest-branco);
    font-family: var(--font-destaque);
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--rest-sombra);
    transition: transform .3s ease, background .15s ease;
    margin-bottom: 20px;
}

.cadastroitens_combo-botao-novo:hover {
    transform: scale(1.03)
}

.cadastroitens_combo-botao-novo .bi {
    font-size: 1rem
}

.cadastroitens_combo-lista {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    border-bottom: 1px solid var(--rest-borda);
    overflow: hidden;
    background: var(--rest-card);
}

.cadastroitens_combo-item {
    display: grid;
    grid-template-columns: 92px 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas:
        "mid info acoes"
        "mid itens acoes";
    gap: 12px 16px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--rest-borda);
    align-items: start;
}

.cadastroitens_combo-item:last-child {
    border-bottom: none
}

.cadastroitens_combo-item:hover {
    background: #fffdfa
}

.cadastroitens_combo-midia {
    grid-area: mid;
    width: 92px;
    height: 72px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--rest-borda)
}

.cadastroitens_combo-midia img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.cadastroitens_combo-midia--placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rest-subtexto)
}

.cadastroitens_combo-midia--placeholder .bi {
    font-size: 1.25rem;
    opacity: .7
}

.cadastroitens_combo-info {
    grid-area: info;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem
}

.cadastroitens_combo-nome {
    font-weight: 700;
    color: var(--rest-texto)
}

.cadastroitens_combo-preco {
    font-weight: 700;
    color: var(--rest-texto);
    background: linear-gradient(to right, rgba(216, 67, 21, .07), transparent);
    padding: .1rem .4rem;
    border-radius: 6px;
}

.cadastroitens_combo-itens {
    grid-area: itens;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px dashed var(--rest-borda);
}

.cadastroitens_combo-produtos {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.cadastroitens_combo-produto {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .25rem .55rem;
    border: 1px solid var(--rest-borda);
    border-radius: 999px;
    color: var(--rest-texto);
    line-height: 1.1;
}

.cadastroitens_combo-produto .nome {
    font-size: .75rem;
    line-height: 1.1;
    font-weight: 600;
}

.cadastroitens_combo-produto .bi {
    color: var(--rest-primaria);
    font-size: .75rem;
}

.cadastroitens_combo-produto .range {
    color: var(--rest-subtexto);
    font-size: .7rem
}

.cadastroitens_combo-produto .tag {
    font-size: .7rem;
    padding: .1rem .4rem;
    border-radius: 999px;
    border: 1px solid var(--rest-borda)
}

.cadastroitens_combo-produto .tag-obrigatorio {
    background: rgba(76, 175, 80, .08);
    border-color: rgba(76, 175, 80, .35)
}

.cadastroitens_combo-produto .tag-opcional {
    background: rgba(255, 204, 128, .25);
    border-color: rgba(255, 204, 128, .6)
}

.cadastroitens_combo-produto.vazio {
    color: var(--rest-subtexto);
    font-size: .75rem;
    line-height: 1.1;
    font-weight: 600;
}

.cadastroitens_combo-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .3rem .65rem;
    border-radius: 999px;
    border: 1px solid var(--rest-primaria);
    background: transparent;
    color: var(--rest-primaria);
    font-family: var(--font-destaque);
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: transform .3s ease, background .15s ease, color .15s ease, border-color .15s ease, box-shadow .2s ease;
}

.cadastroitens_combo-chip:hover {
    transform: scale(1.03)
}

.hidden {
    display: none !important
}


.cadastroitens_combo-acoes {
    display: flex;
    gap: .5rem;
    align-items: center
}

.cadastroitens_combo-botao {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .7rem .7rem;
    border-radius: 10px;
    border: 1px solid transparent;
    font-family: var(--font-destaque);
    font-weight: 600;
    text-decoration: none;
    line-height: 1;
    transform-origin: center center;
    transition: transform .3s ease, box-shadow .2s ease, background .15s ease, color .15s ease, border-color .15s ease;
}

.cadastroitens_combo-botao .bi {
    font-size: 1rem;
    line-height: 1;
    display: inline-block;
    vertical-align: middle
}

.cadastroitens_combo-botao.editar {
    background: var(--rest-principal);
    color: var(--rest-branco);
    border-color: var(--rest-principal);
    font-size: 0.85rem;
}

.cadastroitens_combo-botao.remover {
    background: var(--rest-erro);
    color: var(--rest-branco);
    border-color: var(--rest-erro);
    font-size: 0.85rem;
}

.cadastroitens_combo-botao:hover {
    transform: scale(1.03)
}