dialog.halves-dialog{width:min(1080px,calc(100vw - 40px));height:min(740px,92dvh);max-height:92dvh;padding:0;overflow:hidden;border-radius:28px;background:#fff}
.halves-dialog #modalContent{height:100%;padding:0}
.halves-layout{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 370px}
.halves-catalog{min-height:0;display:flex;flex-direction:column;padding:30px 26px 0 32px}
.halves-heading{padding-left:42px;flex-shrink:0}
.halves-heading .eyebrow{font-size:8px;letter-spacing:1.3px}
.halves-heading h2{font-size:30px;letter-spacing:-1.3px;line-height:1.08;margin:8px 0 10px}
.halves-heading h2 br{display:none}
.halves-heading h2 br::after{content:' '}
#halfCatalogHint{font-size:12px;color:#998b7e;margin:0 0 14px}
.half-flavors{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e6dcd1 transparent;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:13px 12px;padding:20px 5px 26px 0}
.half-flavor{padding:0 4px 10px;background:transparent;border:0;text-align:center;border-radius:17px;min-width:0;color:#33302c;cursor:pointer}
.half-flavor-photo{display:block;position:relative;aspect-ratio:1;border:1px solid transparent;border-radius:20px;padding:5px;transition:background .2s,border-color .2s}
.half-flavor img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s}
.half-flavor:hover .half-flavor-photo{background:#faf6f1}
.half-flavor:hover img{transform:scale(1.025)}
.half-flavor.selected .half-flavor-photo{border-color:#ff944f;background:#fff1e5}
.half-flavor-check{position:absolute;bottom:7px;right:7px;width:23px;height:23px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:12px;opacity:0}
.half-flavor.selected .half-flavor-check{opacity:1}
.half-flavor strong{display:block;font-size:12px;line-height:1.3;margin:5px 0 5px;min-height:30px}
.half-flavor>span:last-child{display:block;color:#867b70;font-size:12px}
.half-flavor small{font-size:8px;display:block;margin-top:3px;color:#aa9a8b}
.halves-summary{background:linear-gradient(145deg,#faf7f3,#fff 62%);padding:22px 22px 16px;min-height:0;display:flex;flex-direction:column;border-left:1px solid #f1eae2}
.half-summary-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e6dcd1 transparent;padding:0 4px}
.half-preview{width:190px;height:190px;margin:0 auto 12px;display:grid;place-items:center}
.half-pizza{position:relative;aspect-ratio:1;width:100%;isolation:isolate;mix-blend-mode:multiply}
.half-preview .half-pizza{transform:scale(var(--half-pizza-scale,1));transition:transform .35s}
.half-empty{position:absolute;inset:5%;border-radius:50%;background:#fbf7f1;color:#e1cdb8}
.half-empty svg{width:100%;height:100%;stroke-width:.7;stroke-dasharray:2 2}
.half-empty.has-both{display:none}
.half-empty.has-left{clip-path:inset(0 0 0 50%)}
.half-empty.has-right{clip-path:inset(0 50% 0 0)}
.half-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.half-layer-left{clip-path:inset(0 50% 0 0)}
.half-layer-right{clip-path:inset(0 0 0 50%)}
.half-seam{position:absolute;top:5%;bottom:5%;left:calc(50% - .5px);width:1px;background:#ffffff9c;pointer-events:none}
.half-slots{display:grid;gap:8px;margin-bottom:17px}
.half-slot{display:flex;align-items:center;text-align:left;gap:10px;padding:10px 11px;border:1px solid #e9e0d7;border-radius:16px;background:#ffffffbe;min-width:0;cursor:pointer;transition:border-color .2s,background .2s}
.half-slot.active{background:#fff2e7;border-color:#ffb57e}
.half-slot-photo{width:43px;height:43px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#f6efe6;color:#d7b495;font-size:24px}
.half-slot-photo img{width:100%;height:100%;object-fit:contain}
.half-slot>span:nth-child(2){flex:1;min-width:0;display:grid;gap:3px}
.half-slot small{font-size:9px;color:#a39180;font-weight:500}
.half-slot strong{font-size:12px;line-height:1.25;color:#39332d}
.half-slot em{font-style:normal;font-size:9px;color:#a18976}
.half-slot-description{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:9px;line-height:1.45;color:#9c8d7e}
.half-slot svg{width:14px;height:14px;color:#bd9f86;flex-shrink:0}
.half-control{margin-bottom:13px}
.half-control>span{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:600;color:#948374;margin-bottom:7px}
.half-control>span svg{width:16px;height:16px;color:var(--orange)}
.half-segment{display:flex;position:relative;background:#eeebe7;border-radius:13px;padding:4px;isolation:isolate}
.half-segment::before{content:'';position:absolute;left:4px;top:4px;bottom:4px;width:calc(50% - 4px);transform:translateX(calc(var(--half-index,0)*100%));border-radius:10px;background:linear-gradient(180deg,#fff,#fffcf8);box-shadow:0 2px 8px #3220110f,inset 0 0 0 1px #ffffffa6;transition:transform .25s cubic-bezier(.2,.7,.2,1);z-index:-1}
.half-segment button{width:50%;padding:9px 4px;border:0;background:none;border-radius:10px;color:#998d80;font-size:11px;font-weight:600;cursor:pointer}
.half-segment button.active{color:#342e27}
.half-segment small{font-size:9px;font-weight:500;margin-left:3px}
.half-addons{margin-top:4px;border-top:1px solid #eee5da}
.half-addons summary{display:flex;align-items:center;gap:5px;padding:14px 0;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.half-addons summary::-webkit-details-marker{display:none}
.half-addons summary svg{width:17px;height:17px;margin-left:auto;transition:transform .2s;color:#b1967d}
.half-addons[open] summary svg{transform:rotate(180deg)}
#halfExtrasCount{font-size:11px;color:#f47c36}
.half-addons .extras-grid{gap:6px;padding-bottom:12px}
.half-addons .extra-card{min-height:140px;padding:8px 5px}
.half-addons .extra-card img{height:58px}
.half-checkout{padding-top:8px;margin-top:auto;flex-shrink:0}
#halfTotalHint{font-size:10px;line-height:1.35;text-align:center;color:#a09180;margin:0 0 8px;min-height:14px}
#halfAdd{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;gap:8px;padding:14px 15px;border-radius:14px;min-height:48px}
#halfAdd>span,#halfAdd>b{margin:0;font-size:12px;white-space:nowrap}
#halfAdd:disabled{filter:grayscale(.7);opacity:.5;cursor:default;box-shadow:none}
.half-checkout>small{display:block;text-align:center;font-size:8px;color:#b0a394;margin-top:9px;line-height:1.4}
.half-product-image{position:relative}
.half-product-image>.half-pizza{width:88%;margin:auto;transition:transform .3s}
.half-product-image:hover>.half-pizza{transform:scale(1.05)}
.half-product-image .half-layer{width:100%;height:100%;transform:none}
.half-card-size{position:absolute;bottom:10px;right:10px;font-size:11px;font-weight:600;padding:6px 11px;border-radius:20px;background:#fff8ef;border:1px solid #f2d8ba;color:#ee792d}
.cart-item .cart-halves{width:65px;height:65px;flex-shrink:0}
.cart-item .cart-halves img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(max-width:850px) and (min-width:701px){.halves-layout{grid-template-columns:minmax(0,1fr) 310px}.halves-catalog{padding-left:20px;padding-right:15px}.half-flavors{grid-template-columns:repeat(2,minmax(0,1fr))}.halves-summary{padding-left:14px;padding-right:14px}.half-preview{width:205px;height:205px}.halves-heading h2{font-size:25px}}
@media(max-width:700px){
 dialog.halves-dialog{inset:0 auto auto 0;width:100vw;max-width:100vw;height:min(100dvh,var(--dialog-viewport-height,100dvh));max-height:min(100dvh,var(--dialog-viewport-height,100dvh));margin:0;border-radius:0}
 .halves-layout{display:flex;flex-direction:column;position:relative;padding-bottom:98px}
 .halves-catalog{display:contents}
 .halves-heading{padding:16px 18px 12px 65px;order:0}
 .halves-heading .eyebrow{font-size:7px}.halves-heading h2{font-size:22px;margin:5px 0 7px;letter-spacing:-.7px}
 #halfCatalogHint{font-size:10px;margin-bottom:0}
 .halves-summary{display:contents}
 .half-summary-scroll{order:1;overflow-y:auto;max-height:270px;flex-shrink:0;padding:0 18px;background:linear-gradient(140deg,#faf7f3,#fff)}
 .half-preview{float:left;width:108px;height:108px;margin:7px 13px 5px 0}
 .half-slots{gap:6px;margin:6px 0 12px;min-height:109px}
 .half-slot{padding:8px;gap:7px;border-radius:12px;min-height:49px}.half-slot-photo{width:30px;height:30px;font-size:18px}
 .half-slot strong{font-size:10px}.half-slot small{font-size:8px}.half-slot em,.half-slot-description{display:none}.half-slot svg{width:10px}
 .half-control{clear:both;display:flex;align-items:center;gap:12px;margin-bottom:8px}
 .half-control>span{width:87px;flex-shrink:0;font-size:9px;margin:0;gap:5px}.half-control>span svg{width:14px;height:14px}
 .half-segment{flex:1;padding:3px;border-radius:11px}.half-segment::before{left:3px;top:3px;bottom:3px;width:calc(50% - 3px);border-radius:8px}
 .half-segment button{font-size:10px;padding:7px 2px}.half-segment small{font-size:8px;display:block;margin:2px 0 0}
 .half-addons{margin:0}.half-addons summary{padding:10px 0;font-size:11px}.half-addons .extra-card{min-height:140px}
 .half-flavors{order:2;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:14px 18px 18px;min-height:0}
 .half-flavor-photo{max-width:150px;margin:auto}.half-flavor strong{font-size:12px;min-height:0;margin:5px 0}.half-flavor small{font-size:8px}
 .half-checkout{position:absolute;bottom:0;left:0;right:0;background:#ffffffef;backdrop-filter:blur(12px);padding:8px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid #f1e7db;z-index:2}
 #halfTotalHint{font-size:9px;margin:0 0 6px;min-height:12px}#halfAdd{min-height:45px;padding:12px 15px}
 .half-checkout>small{font-size:7px;margin-top:6px}
}
@media(max-height:680px) and (max-width:700px){.half-summary-scroll{max-height:210px}.half-preview{width:90px;height:90px}.half-slots{min-height:92px}.half-slot{min-height:43px;padding:6px}.halves-heading{padding-top:10px;padding-bottom:8px}.halves-heading h2{font-size:20px}.half-control{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){.half-flavor img,.half-preview .half-pizza,.half-segment::before{transition:none}}
.half-addon-sides{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#eeebe7;border-radius:12px;padding:4px}
.half-addon-sides button{padding:10px 7px;border-radius:9px;color:#948678;background:transparent;font-size:10px;font-weight:700;line-height:1.4}
.half-addon-sides button.active{background:#fff2e6;color:#df5b1b;box-shadow:0 2px 8px #6043280a}
.half-addon-sides small{font-size:9px}
.half-addon-hint{grid-column:1/-1;margin:0 0 2px;font-size:9px;color:#a08f7e;line-height:1.6}
.half-slot-extras{display:block;margin-top:4px;font-size:9px;line-height:1.4;color:#df6a30}
