/* Addovio Product Add-ons */
.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}

/* Visual option styling: the image receives the brand color when selected. */
.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:#4c4c4c;transition:color .15s ease,border-color .15s ease;padding-bottom:2px;border-bottom:2px solid transparent}
.chef-comp-choice-price{font-size:13px;font-weight:600;color:#4c4c4c;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}


/* Mobile group header — inspired by common food-delivery selection patterns. */
@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}
}

/* Optional product note field. */
.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}
}

/* Typography for add-on titles and the note field. */
.chef-comp-title strong,
.chef-comp-observation label{
    font-size:1em;
    margin-bottom:8px;
    font-weight:600;
    color:#2d2d2d;
}

/* Keep the add-on block more compact on the single product page. */
@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 — Product title typography with priority over theme styles. */
.chef-comp-title strong,
.chef-comp-observation label{
    font-size:1em !important;
    margin-bottom:8px !important;
    font-weight:600 !important;
    color:#2d2d2d !important;
}

/* On mobile, the instruction always stays on its own line below the title. */
@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 — Price breakdown before the Add to cart button. */
.apo-breakdown{
    margin-top:14px;
    padding:12px 14px;
    border:1px solid #e5e5e5;
    border-radius:10px;
    background:#fff;
}
.apo-breakdown ul{
    list-style:none;
    margin:0;
    padding:0;
}
.apo-breakdown__row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:4px 0;
    font-size:13px;
    line-height:1.35;
    color:#666;
}
.apo-breakdown__row span:last-child{
    white-space:nowrap;
}
.apo-breakdown__row--total{
    margin-top:7px;
    padding-top:9px;
    border-top:1px dashed #bdbdbd;
    font-size:15px;
    font-weight:600;
    color:#222;
}
@media(max-width:600px){
    .apo-breakdown{
        margin-top:12px;
        padding:11px 12px;
        border-radius:9px;
    }
    .apo-breakdown__row{
        font-size:13px;
        padding:4px 0;
    }
    .apo-breakdown__row--total{
        font-size:15px;
    }
}

/* v1.6.32 — Add-on images are available in Free. */
.addovio-free-breakdown{margin-top:14px;}


/* 1.6.24 — custom field controls */
.chef-comp-select{position:relative;width:100%;max-width:520px;box-sizing:border-box}
body button.chef-comp-select-toggle{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;min-height:52px!important;box-sizing:border-box!important;outline:none!important;border:2px solid #e5e5e5!important;border-radius:10px!important;background:#fff!important;padding:10px!important;font:inherit!important;color:#333!important;text-align:left!important;text-transform:none!important;cursor:pointer!important;box-shadow:none!important;transition:border-color .15s ease,background .15s ease!important}
body button.chef-comp-select-toggle:hover{background:#fff!important;border-color:#c7cdd5!important}
body button.chef-comp-select-toggle:focus,body .chef-comp-select.is-open button.chef-comp-select-toggle{outline:none!important;border-color:#e5e5e5!important;box-shadow:none!important}
.chef-comp-select-value{display:flex!important;align-items:center!important;gap:10px!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;text-align:left!important;font:inherit!important;color:#333!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.chef-comp-select-value .chef-comp-choice-image{width:38px!important;height:38px!important;flex:0 0 38px!important;margin:0!important;padding:2px!important;border:1px solid #d8d8d8!important;border-radius:8px!important;background:#fff!important;object-fit:contain!important}
.chef-comp-select-value .chef-comp-select-option-name{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.chef-comp-select-arrow{display:block!important;margin-left:auto!important;font-size:11px!important;line-height:1!important;color:#777!important;flex:0 0 auto!important;transition:transform .15s ease}
.chef-comp-select.is-open .chef-comp-select-arrow{transform:rotate(180deg)}
.chef-comp-select-menu{position:absolute;z-index:10000;top:calc(100% + 6px);left:0;width:100%;box-sizing:border-box;border:1px solid #d7dce2;border-radius:10px;background:#fff;box-shadow:0 16px 36px rgba(16,24,40,.16);overflow:hidden}
.chef-comp-select-options{max-height:320px;overflow-y:auto;padding:6px}
.chef-comp-select-option{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;min-height:58px!important;box-sizing:border-box!important;border:0!important;border-radius:8px!important;background:#fff!important;padding:7px 9px!important;margin:0!important;font:inherit!important;font-size:13px!important;line-height:1.35!important;color:#333!important;text-align:left!important;text-transform:none!important;cursor:pointer!important;box-shadow:none!important;transition:background .12s ease!important}
.chef-comp-select-option:hover,.chef-comp-select-option.is-selected{background:#fff3ea!important}
.chef-comp-select-option.is-placeholder{color:#777!important;min-height:38px!important}
.chef-comp-select-option .chef-comp-choice-image{width:44px!important;height:44px!important;flex:0 0 44px!important;margin:0!important}
.chef-comp-select-option-name{display:block!important;min-width:0!important;flex:1 1 auto!important;text-align:left!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.chef-comp-select-option .chef-comp-choice-price{margin-left:auto!important;white-space:nowrap!important;flex:0 0 auto!important}
.chef-comp-select-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.chef-comp-text,.chef-comp-textarea,.chef-comp-number{width:100%;box-sizing:border-box;border:1px solid #d7dce2;border-radius:8px;background:#fff;padding:11px 12px;font:inherit;color:inherit}
.chef-comp-text,.chef-comp-number{min-height:44px}
.chef-comp-textarea{min-height:110px;resize:vertical}
.chef-comp-text:focus,.chef-comp-textarea:focus,.chef-comp-number:focus{outline:none;border-color:#ff7a36;box-shadow:0 0 0 3px rgba(255,101,8,.12)}
@media(max-width:600px){.chef-comp-select{max-width:100%}.chef-comp-select-options{max-height:280px}.chef-comp-select-option .chef-comp-choice-image{width:42px;height:42px}}
