.mojito-builder-dialog{width:min(470px,calc(100vw - 24px));max-width:none;max-height:min(760px,calc(100dvh - 28px));margin:auto;padding:0;overflow:hidden;border:1px solid #d6c5b3;border-radius:24px;background:#fbf6ee;color:#3b1b0b;box-shadow:0 28px 90px #24150f45}
.mojito-builder-dialog::backdrop{background:#241a14a8;backdrop-filter:blur(3px)}
.mojito-builder-shell{display:flex;max-height:min(760px,calc(100dvh - 28px));flex-direction:column}
.mojito-builder-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 22px 15px;border-bottom:1px solid #eadfce}
.mojito-builder-header h2{margin:0;color:#542c19;font-size:22px;line-height:1.4}
.builder-kicker{margin:0 0 3px;color:#987646;font-size:11px;font-weight:700}
.builder-close{width:38px;height:38px;flex:none;border:1px solid #ddcdb8;border-radius:50%;background:transparent;color:#542c19;font-size:25px;line-height:1}
.builder-progress-wrap{padding:14px 22px 0}
.builder-progress{height:4px;overflow:hidden;border-radius:99px;background:#e9dece}
.builder-progress span{display:block;height:100%;width:0;border-radius:inherit;background:#8c5c2c;transition:width .2s ease}
.builder-progress-wrap p{margin:8px 0 0;color:#806b59;font-size:12px;font-weight:700}
.mojito-builder-content{min-height:170px;overflow:auto;padding:18px 22px}
.builder-step-heading{margin-bottom:14px}
.builder-step-heading h3{margin:0;color:#542c19;font-size:18px}
.builder-step-heading p{margin:4px 0 0;color:#806b59;font-size:12px;line-height:1.7}
.builder-choice-list{display:grid;gap:8px}
.builder-choice{width:100%;min-height:60px;display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid #e2d4c2;border-radius:14px;background:#fffdf9;color:#3b1b0b;text-align:start;transition:background .15s,border-color .15s}
.builder-choice:hover{border-color:#b69156}
.builder-choice.is-selected,.builder-addition-card.is-selected>.builder-choice{border-color:#8c5c2c;background:#f3eadc}
.builder-radio{width:19px;height:19px;flex:none;border:1px solid #bba88e;border-radius:50%;background:#fff}
.is-selected .builder-radio{border:5px solid #6a3c22}
.builder-choice-copy{min-width:0;flex:1;display:grid;gap:2px}
.builder-choice-copy strong{font-size:14px}
.builder-choice-copy small{color:#806b59;font-size:11px}
.builder-included{flex:none;color:#8b6d3c;font-size:11px;font-weight:700}
.builder-included .currency{font-size:14px}
.builder-addition-card{overflow:hidden;border:1px solid #e2d4c2;border-radius:15px;background:#fffdf9}
.builder-addition-card>.builder-choice{border:0;border-radius:0;background:transparent}
.builder-addition-card.is-selected{border-color:#8c5c2c}
.builder-extra-controls{display:flex;align-items:center;gap:9px;padding:9px 12px;border-top:1px solid #eee5d8;color:#806b59;font-size:11px}
.builder-extra-controls>span{margin-inline-end:auto}
.builder-extra-controls>small{white-space:nowrap}
.builder-quantity{display:flex;align-items:center;gap:9px;padding:3px;border:1px solid #e3d6c5;border-radius:999px;background:#fbf6ee;color:#542c19;font-size:13px;font-weight:700}
.builder-quantity button{width:27px;height:27px;border:0;border-radius:50%;background:#efe3d1;color:#542c19;font-size:18px;line-height:1}
.builder-quantity button:disabled{opacity:.4;cursor:default}
.builder-extra-controls .currency{font-size:13px}
.builder-empty{padding:24px 12px;border:1px dashed #d6c5b3;border-radius:14px;color:#786352;text-align:center;font-size:13px;line-height:1.8}
.mojito-builder-footer{display:grid;grid-template-columns:1fr;gap:12px;padding:14px 22px 20px;border-top:1px solid #eadfce;background:#f7efe6}
.builder-total{display:flex;align-items:center;justify-content:space-between;color:#806b59;font-size:12px}
.builder-total strong{display:inline-flex;align-items:center;gap:4px;color:#542c19;font:700 21px 'DM Sans',sans-serif;direction:ltr;white-space:nowrap}
.builder-actions{display:flex;gap:9px}
.builder-button{min-height:46px;padding:9px 15px;border:1px solid #d9c9b5;border-radius:13px;font:700 13px Cairo,sans-serif}
.builder-back{background:transparent;color:#6e5947}
.builder-back[hidden]{display:none}
.builder-next{flex:1;border-color:#542c19;background:#542c19;color:#fff8f2}
.builder-next:disabled{opacity:.45;cursor:not-allowed}
.builder-summary{padding:16px;border:1px solid #dfd0bc;border-radius:17px;background:#fffdf9}
.builder-summary-note{margin:0 0 9px;color:#8b6d3c;font-size:12px;font-weight:700}
.builder-summary-list{list-style:none;margin:0;padding:0}
.builder-summary-list li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dotted #ddcdb8;font-size:13px}
.builder-summary-list li span{color:#806b59}
.builder-summary-list li strong{text-align:end}
.builder-summary-list li .currency{font-size:14px}
.builder-summary-total{display:flex;justify-content:space-between;gap:10px;padding-top:14px;color:#542c19;font-weight:800}
.builder-summary-total strong,.builder-line-price{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;direction:ltr}
.builder-cashier-hint{margin:12px 0 0;padding:10px;border-radius:10px;background:#f3eadc;color:#6a503b;text-align:center;font-size:12px}
.builder-cashier-mode .builder-summary{border-color:#b6945f;box-shadow:inset 0 0 0 1px #b6945f}
.mojito-builder-row{display:block;padding:0}
.mojito-builder-trigger{width:100%;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;column-gap:14px;row-gap:2px;padding:17px 0;border:0;background:transparent;color:inherit;text-align:inherit}
.mojito-builder-trigger:focus-visible{outline:3px solid #8a3324;outline-offset:3px;border-radius:8px}
.mojito-builder-trigger .item-name{grid-column:1;grid-row:1}
.mojito-builder-trigger .price{grid-column:2;grid-row:1;align-self:start}
.mojito-builder-hint{grid-column:1 / -1;color:#8b6d3c;font-size:11px;text-align:start}
html[lang=en] .mojito-builder-shell{direction:ltr}
@media(max-width:480px){.mojito-builder-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:92dvh;margin:0;border-radius:23px 23px 0 0;border-bottom:0}.mojito-builder-shell{max-height:92dvh}.mojito-builder-header{padding:18px 18px 12px}.mojito-builder-header h2{font-size:20px}.builder-progress-wrap{padding-inline:18px}.mojito-builder-content{min-height:150px;padding:15px 18px}.mojito-builder-footer{padding:12px 18px max(16px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.builder-progress span,.builder-choice{transition:none}}
