/* Chef Uivante - Complementos */
.chef-comp-box{margin:18px 0;padding:18px;border:1px solid #e5e5e5;border-radius:12px;background:#fff}
.chef-comp-group-front{margin-bottom:20px}
.chef-comp-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}
.chef-comp-title span{font-size:12px;color:#777}
.chef-comp-error{display:block;min-height:0;color:#b42318;font-size:13px;font-weight:600;margin:7px 0 0}.chef-comp-error:empty{display:none}

/* Opções em formato visual: a imagem recebe a cor da marca quando selecionada. */
.chef-comp-choice{position:relative;display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eee;cursor:pointer}
.chef-comp-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.chef-comp-choice-name{display:inline-block;width:max-content;max-width:100%;font-size:13px;line-height:1.35;color:#585858 !important;transition:color .15s ease,border-color .15s ease;padding-bottom:2px;border-bottom:2px solid transparent}
span.chef-comp-choice-price{color:#585858 !important}
.chef-comp-choice-price{font-size:13px;font-weight:600;color:#585858 !important;white-space:nowrap;transition:color .15s ease}
.chef-comp-choice-image{width:52px;height:52px;padding:3px;box-sizing:border-box;object-fit:contain;border:1px solid #d8d8d8;border-radius:10px;background:#fff;flex:none;transition:border-color .15s ease,box-shadow .15s ease}
.chef-comp-choice.is-selected .chef-comp-choice-image{border:2px solid var(--chef-selector-color,#ff5a00);box-shadow:none}
.chef-comp-choice.is-selected .chef-comp-choice-name{color:#333;border-bottom-color:var(--chef-selector-color,#ff5a00)}
.chef-comp-choice.is-selected .chef-comp-choice-price{color:#333}
.chef-comp-choice.chef-comp-unavailable{opacity:.5;cursor:not-allowed}
.chef-comp-choice.chef-comp-unavailable input{cursor:not-allowed}
.chef-comp-choice-name small{font-size:11px;color:#a00}
.chef-comp-total{text-align:right;padding-top:12px;margin-top:10px;border-top:1px solid #eee}
.chef-comp-paused{margin:18px 0;padding:14px;border:1px solid #e5e5e5;border-radius:10px;background:#fff3f3;color:#8a0000}

.chef-comp-required{color:#d63638;font-style:normal}


/* Cabeçalho dos grupos no celular — inspirado no padrão de seleção do iFood. */
@media (max-width: 600px){
    .chef-comp-box{padding:14px 12px;border-radius:10px}
    .chef-comp-group-front{margin-bottom:24px}
    .chef-comp-title{
        display:block !important;
        width:100%;
        margin:0 2px 14px;
    }
    .chef-comp-title strong{
        display:block !important;
        width:100%;
        font-size:18px;
        line-height:1.25;
        font-weight:700;
        color:#555;
    }
    .chef-comp-title strong .chef-comp-required{font-size:15px}
    .chef-comp-title span{
        display:block !important;
        width:100%;
        margin-top:4px;
        font-size:14px;
        line-height:1.25;
        color:#777;
    }
    .chef-comp-required-badge,.chef-comp-optional-badge{display:none}
    .chef-comp-choice{padding:8px 0;gap:10px}
    .chef-comp-choice-name{font-size:13px}
    .chef-comp-choice-price{font-size:13px}
}

/* Campo de observação opcional por produto. */
.chef-comp-observation{margin:18px 0 0;padding:14px 14px 12px;border:1px solid #e5e5e5;border-radius:10px;background:#fff}
.chef-comp-observation label{display:block;margin:0 0 8px;font-size:14px;line-height:1.3;color:#222}
.chef-comp-observation textarea{display:block;width:100%;min-height:56px;box-sizing:border-box;resize:vertical;padding:10px;border:1px solid #d7d7d7;border-radius:8px;background:#fff;font:inherit;font-size:14px;line-height:1.4;color:#333;outline:none}
.chef-comp-observation textarea::placeholder{color:#9a9a9a}
.chef-comp-observation textarea:focus{border-color:#bdbdbd;box-shadow:none}
@media (max-width:600px){
    .chef-comp-observation{margin-top:16px;padding:14px;border-radius:10px}
    .chef-comp-observation label{font-size:15px;margin-bottom:8px}
    .chef-comp-observation textarea{min-height:40px;height:40px;padding:8px 9px;font-size:14px;border-radius:7px}
}

@media (max-width:600px){
    .chef-comp-title strong{display:block!important;width:100%!important}
    .chef-comp-title span{display:block!important;width:100%!important;clear:both!important;float:none!important}
}

/* Tipografia dos títulos dos complementos e do campo de observação. */
.chef-comp-title strong,
.chef-comp-observation label{
    font-size:1em;
    margin-bottom:8px;
    font-weight:600;
    color:#2d2d2d;
}

/* No desktop, manter o bloco de complementos mais compacto no produto único. */
@media (min-width:601px){
    .chef-comp-box{
        padding:14px;
        margin:14px 0;
        max-width:760px;
    }
    .chef-comp-group-front{margin-bottom:16px}
}


/* v1.4.2 — Tipografia dos títulos do produto com prioridade sobre estilos do tema. */
.chef-comp-title strong,
.chef-comp-observation label{
    font-size:1em !important;
    margin-bottom:8px !important;
    font-weight:600 !important;
    color:#2d2d2d !important;
}

/* No celular, a instrução fica sempre em uma linha própria abaixo do título. */
@media (max-width:767px){
    .chef-comp-title{display:block !important;width:100% !important;}
    .chef-comp-title strong{
        display:block !important;width:100% !important;
        font-size:1em !important;line-height:1.35 !important;
        margin:0 0 8px !important;
    }
    .chef-comp-title span{
        display:block !important;width:100% !important;
        clear:both !important;float:none !important;
        margin:0 !important;font-size:13px !important;line-height:1.35 !important;
    }
}

/* v1.5.1 — Resumo do pedido antes do botão de adicionar ao carrinho. */
.chef-comp-summary{margin-top:18px;padding-top:14px;border-top:1px solid #e5e5e5;font-size:14px}
.chef-comp-summary-title{margin-bottom:8px;font-size:15px;font-weight:600;color:#2d2d2d}
.chef-comp-summary-base,.chef-comp-summary-row,.chef-comp-summary-total{display:flex;align-items:center;justify-content:space-between;gap:16px;line-height:1.5}
.chef-comp-summary-base{color:#555}
.chef-comp-summary-row{color:#555}
.chef-comp-summary-base strong,.chef-comp-summary-row strong{font-weight:500;color:#555;white-space:nowrap}
.chef-comp-summary-items{display:flex;flex-direction:column;gap:2px}
.chef-comp-summary-total{margin-top:9px;padding-top:9px;border-top:1px solid #e5e5e5;font-size:16px;font-weight:700;color:#2d2d2d}
.chef-comp-summary-total strong{font-size:17px;color:#2d2d2d}
@media (max-width:600px){
    .chef-comp-summary{margin-top:16px;padding-top:13px}
    .chef-comp-summary-title{font-size:15px}
    .chef-comp-summary-total{font-size:15px}
    .chef-comp-summary-total strong{font-size:16px}
}


/* v1.5.5 — Produtos fora de estoque no cardápio WPCafe. */
.wpc-food-menu-item.chef-uivante-out-of-stock{
    position:relative;
}
.wpc-food-menu-item.chef-uivante-out-of-stock .wpc-food-menu-thumb{
    position:relative;
    overflow:hidden;
    border-radius:12px;
}
.wpc-food-menu-item.chef-uivante-out-of-stock .wpc-food-menu-thumb img{
    opacity:.58;
    filter:grayscale(18%);
}
.chef-uivante-stock-badge{
    position:absolute;
    left:10px;
    bottom:10px;
    z-index:3;
    padding:6px 9px;
    border-radius:6px;
    background:#555;
    color:#fff;
    font-size:11px;
    line-height:1;
    font-weight:700;
    letter-spacing:.2px;
    text-transform:uppercase;
    box-shadow:0 1px 4px rgba(0,0,0,.18);
}
.wpc-food-menu-item.chef-uivante-out-of-stock .wpc-post-title a,
.wpc-food-menu-item.chef-uivante-out-of-stock .wpc-menu-price,
.wpc-food-menu-item.chef-uivante-out-of-stock p{
    color:#8a8a8a !important;
}
.wpc-food-menu-item.chef-uivante-out-of-stock .wpc-menu-price del{
    color:#aaa !important;
}
.chef-uivante-stock-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:9px;
    padding:7px 11px;
    border-radius:6px;
    background:#f1f1f1;
    color:#666;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
}
.wpc-food-menu-item.chef-uivante-out-of-stock a{
    cursor:default !important;
}
.wpc-food-menu-item.chef-uivante-out-of-stock .wpc-food-menu-thumb>a,
.wpc-food-menu-item.chef-uivante-out-of-stock .wpc-post-title>a{
    pointer-events:none;
}
@media(max-width:767px){
    .chef-uivante-stock-badge{
        left:7px;
        bottom:7px;
        padding:5px 7px;
        font-size:10px;
    }
    .chef-uivante-stock-status{
        margin-top:7px;
        padding:6px 9px;
        font-size:11px;
    }
}
