@charset "UTF-8";
:root{font-family:Arial,Helvetica,sans-serif;color:#272019;background:#fffcf5;font-synthesis:none;--ink:#272019;--paper:#fffcf5;--yellow:#f8c941;--red:#c63723;--line:#e6dfd2;--muted:#746b5e}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}input:focus-visible+span{outline:3px solid var(--red);outline-offset:4px}[hidden]{display:none!important}.shell{width:min(1340px,calc(100% - 100px));margin-inline:auto}.demo-strip{min-height:31px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;gap:16px;padding:7px 4%;font-size:.75rem;line-height:1.4}.demo-strip a{text-decoration:underline;text-underline-offset:3px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.brand{display:block;line-height:.8}.brand>span{font-family:Arial Black,Arial,Helvetica,sans-serif;font-size:2.8rem;font-weight:900;letter-spacing:-.09em}.brand-point{color:var(--red)}.brand small{display:block;font-size:.55rem;font-weight:700;letter-spacing:.19em;margin-top:11px;margin-left:3px}.header-note{font-size:.875rem;line-height:1.6;margin-right:auto;color:var(--muted);padding-left:30px;border-left:1px solid var(--line)}.cart-button{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--ink);border-radius:50px;padding:12px 15px 12px 21px;font-size:.875rem;font-weight:600;min-height:48px}.cart-button svg{height:20px;width:20px;stroke:currentColor;stroke-width:1.5;fill:none}.cart-button b{display:grid;place-items:center;background:var(--yellow);border-radius:50%;width:26px;height:26px;font-size:.75rem}.cart-button:hover{background:#f8f0df}.builder{display:grid;grid-template-columns:1.08fr 1fr;gap:7%;padding-top:45px;align-items:start}.pizza-side{position:sticky;top:26px;min-width:0}.eyebrow{font-size:.69rem;line-height:1.5;letter-spacing:.16em;font-weight:700;margin:0 0 16px}.pizza-side>.eyebrow{display:flex;gap:9px;align-items:center;color:var(--red)}.short-line{height:2px;width:25px;background:var(--red)}h1{font-family:Arial Black,Arial,Helvetica,sans-serif;font-size:clamp(3rem,5.4vw,5.1rem);font-weight:900;line-height:.98;letter-spacing:-.065em;margin:0;position:relative;z-index:3}h1 em{font-family:Georgia,Times,serif;font-weight:400;color:var(--red);letter-spacing:-.065em}h2{font-size:1.9rem;line-height:1.1;letter-spacing:-.055em;margin:0;font-weight:700}.pizza-stage{position:relative;aspect-ratio:1.08;margin-top:-10px;isolation:isolate}.stage-circle{position:absolute;width:82%;aspect-ratio:1;left:9%;top:7%;background:var(--yellow);border-radius:50%;z-index:-1}.pizza-visual{position:absolute;inset:0;transition:transform .3s;filter:drop-shadow(0 18px 13px #633b0b24)}.pizza-visual[data-size=maxi]{transform:scale(1.04)}.pizza-base{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.pizza-topping-layer{position:absolute;inset:0;pointer-events:none;animation:ingredient-in .35s both}.topping-piece{position:absolute;display:block;aspect-ratio:1;background-image:url('./assets/ingredients.png');background-size:400% 200%;background-repeat:no-repeat;transform:translate(-50%,-50%) rotate(var(--rotation));filter:drop-shadow(0 2px 1px #4d260a25)}.size-badge{position:absolute;right:0;top:6%;width:84px;aspect-ratio:1;background:var(--red);color:var(--paper);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);border:4px solid var(--paper)}.size-badge strong{font-size:2rem;line-height:1}.size-badge span{font-size:.47rem;letter-spacing:.1em;margin-top:5px}.live-badge{position:absolute;bottom:8%;left:1%;display:flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line);border-radius:5px;box-shadow:0 5px 13px #1e13080a;font-size:.75rem;padding:10px 13px;transform:rotate(-4deg)}.live-badge svg{width:16px;height:16px;fill:none;stroke:var(--red);stroke-width:1.5}.composition{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:baseline;gap:20px}.composition>span{font-size:.625rem;font-weight:700;letter-spacing:.12em;line-height:1.6;max-width:102px;flex-shrink:0}.composition p{font-size:.875rem;line-height:1.6;margin:0;color:var(--muted)}.visual-note{font-size:.69rem;color:var(--muted);margin-top:14px}.configurator{min-width:0;padding-top:1px}.config-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:30px}.config-heading .eyebrow{font-size:.625rem;color:var(--muted);margin-bottom:9px}.text-button{border:0;background:none;font-size:.75rem;padding:8px 0;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;margin-bottom:14px;font-size:.9375rem;font-weight:600;line-height:1.5}.step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#efeadd;margin-right:9px;font-size:.6875rem;font-weight:600}.base-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{position:relative;border:1px solid var(--line);padding:13px;min-height:72px;display:flex;align-items:center;gap:10px;border-radius:9px;cursor:pointer;background:#fff}.choice:has(input:checked){border-color:var(--ink);background:#fff8e3;box-shadow:inset 0 0 0 1px var(--ink)}.choice input,.segmented input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:focus-visible){outline:3px solid var(--red);outline-offset:4px}.sauce-swatch{width:25px;height:25px;border-radius:50%;flex-shrink:0}.sauce-swatch.red{background:#c23a27}.sauce-swatch.white{background:#f2deb7;border:1px solid #d9c297}.choice strong{display:block;font-size:.875rem}.choice small{display:block;font-size:.6875rem;color:var(--muted);margin-top:6px}.choice-check{font-size:.875rem;opacity:0;margin-left:auto}.choice:has(input:checked) .choice-check{opacity:1}.format-row{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:24px;margin-bottom:29px}.format-row legend,.dough-label{font-size:.75rem;font-weight:500;line-height:1.5}.format-row legend{margin-bottom:8px}.segmented{display:flex;min-height:50px;background:#f1ecdf;padding:3px;border-radius:7px}.segmented label{flex:1;cursor:pointer;position:relative;display:flex}.segmented label>span{display:flex;flex-direction:column;justify-content:center;width:100%;text-align:center;padding:6px 9px;border-radius:5px;font-size:.75rem;font-weight:600;white-space:nowrap}.segmented small{font-size:.5625rem;font-weight:400;display:block;margin-top:4px}.segmented input:checked+span{background:var(--paper);box-shadow:0 1px 4px #382b1314}.dough-label select{display:block;width:100%;height:50px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink);font-size:.75rem;margin-top:8px;padding:0 8px}.ingredient-fieldset legend{width:100%;display:flex;align-items:center;margin-bottom:13px}.ingredient-fieldset legend small{margin-left:auto;color:var(--muted);font-weight:400;font-size:.6875rem}.ingredient-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.ingredient{position:relative;display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;min-height:118px;padding:7px 5px 12px;cursor:pointer;transition:background .15s,border-color .15s}.ingredient:has(input:checked){background:#fff5d5;border-color:#b69a51}.ingredient input{appearance:none;width:19px;height:19px;border:1px solid #d6ccba;background:#fff;border-radius:50%;position:absolute;right:7px;top:7px;margin:0;cursor:pointer}.ingredient input:checked{background:var(--ink);border-color:var(--ink)}.ingredient input:checked:after{content:'✓';color:#fff;font-size:12px;display:grid;place-items:center;height:100%}.ingredient:has(input:focus-visible){outline:3px solid var(--red);outline-offset:3px}.ingredient-sprite{display:block;width:57px;height:57px;max-width:100%;background-image:url('./assets/ingredients.png');background-size:400% 200%;background-repeat:no-repeat;margin-bottom:4px}.ingredient strong{font-size:.6875rem;font-weight:500;text-align:center;line-height:1.3}.ingredient small{font-size:.625rem;color:var(--muted);margin-top:5px}.quick-picks{margin-top:21px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.quick-picks>span{font-size:.6875rem;color:var(--muted)}.quick-picks>div{display:flex;gap:6px;flex-wrap:wrap}.quick-picks button{border:1px solid var(--line);border-radius:30px;padding:7px 10px;background:transparent;font-size:.6875rem}.quick-picks button:hover{border-color:var(--ink);background:#f9edce}.builder-summary{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.price-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.price-line>div:first-child{display:flex;align-items:baseline;gap:17px}.price-line span{font-size:.8125rem;color:var(--muted)}.price-line strong{font-size:2rem;font-weight:600;letter-spacing:-.065em;white-space:nowrap}.quantity{display:flex;gap:0;align-items:center;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#fff}.quantity button{height:37px;width:36px;border:0;background:transparent;font-size:1.125rem}.quantity button:hover:not(:disabled){background:#f3e8ce}.quantity output{min-width:25px;text-align:center;font-size:.8125rem}.primary-button{width:100%;border:0;border-radius:8px;min-height:53px;padding:14px 19px;background:var(--ink);color:var(--paper);font-size:.875rem;display:flex;justify-content:space-between;align-items:center;gap:20px;font-weight:600}.primary-button:hover{background:var(--red)}.primary-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}.price-note{font-size:.625rem;color:var(--muted);text-align:center;line-height:1.6;margin:11px 0 0}.ingredient-info{margin:20px 0 0;border-top:1px solid var(--line);padding-top:14px}.ingredient-info summary{font-size:.75rem;cursor:pointer;color:var(--muted)}.ingredient-info p{font-size:.8125rem;line-height:1.7;color:var(--muted)}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:50px;padding:24px 0 28px}.footer-brand{font-weight:900;letter-spacing:-.065em;font-size:1.5rem}.footer p{font-family:Georgia,serif;font-style:italic;font-size:1.125rem;margin:0;color:var(--muted)}.footer a{font-size:.75rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:var(--paper);box-shadow:0 8px 25px #20140c22;border-radius:8px;padding:14px 22px;font-size:.875rem;line-height:1.5;z-index:60;pointer-events:none;transition:opacity .2s,transform .2s;width:max-content;max-width:90%}.toast.visible{transform:translate(-50%,0);opacity:1}.cart-dialog{border:0;border-radius:14px;width:min(560px,calc(100% - 30px));max-height:90dvh;padding:30px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #26170d45}.cart-dialog::backdrop{background:#251b145e;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:5px}.dialog-top .eyebrow{font-size:.625rem;color:var(--muted);margin-bottom:8px}.close-button{border:1px solid var(--line);background:none;border-radius:50%;width:40px;height:40px;font-size:1.7rem;line-height:1}.cart-item{padding:20px 0;border-bottom:1px solid var(--line)}.cart-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.cart-item h3{font-size:1rem;line-height:1.4;margin:0}.cart-item p{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:8px 0}.cart-item-top>strong{font-size:1rem;white-space:nowrap}.cart-item-actions{display:flex;gap:17px}.cart-item-actions button{border:0;background:none;padding:5px 0;font-size:.75rem;text-decoration:underline;text-underline-offset:3px}.cart-item-actions button:last-child{color:var(--red)}.pickup-label{display:block;font-size:.875rem;line-height:1.5;margin-top:25px}.pickup-label select{display:block;width:100%;height:47px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:transparent;margin-top:9px;color:var(--ink);font-size:.875rem}.cart-total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:1rem}.cart-total strong{font-size:1.6rem}.empty-cart{text-align:center;padding:40px 5px}.empty-cart h3{font-size:1.35rem;margin:0 0 10px}.empty-cart p{font-size:.9375rem;line-height:1.7;color:var(--muted)}.empty-cart button{margin-top:23px}.receipt{padding:28px 0 0}.receipt-mark{display:grid;place-items:center;width:55px;height:55px;background:var(--yellow);border-radius:50%;font-size:1.7rem;margin-bottom:20px}.receipt h3{font-size:1.65rem;letter-spacing:-.04em;margin:0 0 12px}.receipt p{font-size:.875rem;line-height:1.7;color:var(--muted)}.receipt .receipt-warning{color:var(--ink);border:1px solid var(--line);padding:14px;border-radius:7px;background:#fff4cf}.receipt-list{padding:0;list-style:none;margin:20px 0}.receipt-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.5}.modal-open{overflow:hidden}.skip-link{position:fixed;top:-100px;z-index:99;padding:16px;background:var(--ink);color:var(--paper)}.skip-link:focus{top:0}.noscript{margin:30px;padding:25px;background:var(--yellow);font-size:1rem;line-height:1.6}@keyframes ingredient-in{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:none}}
@media(min-width:1500px){.builder{gap:8%}.pizza-stage{margin-top:-18px}.ingredient{min-height:125px}.ingredient strong{font-size:.8125rem}.ingredient small{font-size:.75rem}.config-heading{margin-bottom:35px}h2{font-size:2.15rem}}
@media(max-width:1100px){.shell{width:calc(100% - 56px)}.builder{gap:4%;grid-template-columns:1fr 1fr}.header-note{padding-left:18px;font-size:.75rem}.ingredient-grid{gap:6px}.ingredient{min-height:105px}.ingredient strong{font-size:.625rem}.ingredient-sprite{width:48px;height:48px}.format-row{gap:10px;grid-template-columns:1.2fr 1fr}.segmented label>span{padding-inline:5px}.config-heading{align-items:start}h2{font-size:1.55rem}.choice{padding:10px;gap:8px}.choice small{font-size:.625rem}.choice-check{display:none}.composition{display:block}.composition>span{display:block;max-width:none;margin-bottom:9px}.size-badge{width:68px}.size-badge strong{font-size:1.6rem}.size-badge span{font-size:.38rem}}
@media(max-width:800px){.shell{width:calc(100% - 38px)}.header{height:90px;gap:15px}.brand>span{font-size:2.3rem}.brand small{font-size:.45rem;letter-spacing:.15em}.header-note{display:none}.cart-button{padding:10px 12px;gap:9px;font-size:.75rem}.cart-button svg{width:18px}.cart-button b{width:24px;height:24px}.builder{grid-template-columns:1fr;padding-top:28px;gap:30px}.pizza-side{position:relative;top:auto}.pizza-side>.eyebrow{font-size:.625rem;margin-bottom:13px}h1{font-size:clamp(2.8rem,10vw,4rem);line-height:.97}.pizza-stage{width:min(500px,100%);margin:-20px auto -8px;aspect-ratio:1.2}.pizza-visual{inset:-4% 0 -4%}.stage-circle{top:5%;width:80%;left:10%}.size-badge{top:6%;right:1%;width:72px}.live-badge{bottom:8%;font-size:.6875rem;padding:8px 11px}.composition{display:flex;padding-top:14px}.composition>span{max-width:95px;margin:0}.composition p{font-size:.8125rem}.visual-note{font-size:.625rem;margin:10px 0 0}.configurator{padding-top:3px}.config-heading{margin-bottom:25px}h2{font-size:1.9rem}.text-button{font-size:.8125rem}.choice{padding:14px;min-height:75px}.choice strong{font-size:.9375rem}.choice small{font-size:.75rem}.choice-check{display:inline}.format-row{margin-block:23px;gap:17px}.format-row legend,.dough-label{font-size:.8125rem}.segmented label>span,.dough-label select{font-size:.8125rem}.segmented small{font-size:.625rem}.ingredient-grid{gap:9px}.ingredient{min-height:125px;padding-top:10px}.ingredient-sprite{width:60px;height:60px}.ingredient strong{font-size:.75rem}.ingredient small{font-size:.6875rem}.quick-picks{margin-top:19px}.quick-picks>span{font-size:.75rem}.quick-picks button{font-size:.75rem;min-height:36px}.price-line span{font-size:.875rem}.price-line strong{font-size:2rem}.primary-button{font-size:1rem;min-height:56px}.price-note{font-size:.6875rem}.ingredient-info summary{font-size:.875rem}.footer{margin-top:35px;padding-block:23px;flex-wrap:wrap;gap:12px}.footer p{font-size:1rem}.footer a{font-size:.6875rem}.demo-strip{font-size:.625rem;padding-inline:19px}.demo-strip>span{text-align:right}.cart-dialog{padding:22px}.toast{bottom:17px;font-size:.8125rem}}
@media(max-width:400px){.ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ingredient{min-height:110px}.ingredient strong{font-size:.6875rem}.ingredient-sprite{width:48px;height:48px}.ingredient input{width:17px;height:17px;right:5px;top:5px}.format-row{gap:10px}.config-heading h2{font-size:1.65rem}.choice{padding:11px;gap:8px}.choice small{font-size:.65rem}.cart-button>span{font-size:.6875rem}.cart-button{gap:7px}.composition{gap:12px}.footer p{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.topping-piece{filter:none;transform:translate(-50%,-50%) rotate(var(--rotation)) scaleX(var(--flip,1))}
.pizza-tabs{display:flex;gap:4px;padding:4px;margin-bottom:18px;border:1px solid var(--line);border-radius:9px;background:#f1ecdf}
.pizza-tabs button{flex:1;min-height:44px;border:0;border-radius:6px;background:transparent;font-size:.9375rem;font-weight:600;padding:9px 12px}
.pizza-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.menu-intro{font-size:.875rem;color:var(--muted);line-height:1.65;margin:0 0 18px}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.menu-card{display:flex;flex-direction:column;gap:10px;text-align:left;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fff;min-height:145px}
.menu-card:hover{border-color:var(--ink)}.menu-card[aria-pressed=true]{border-color:var(--ink);background:#fff3c6;box-shadow:inset 0 0 0 1px var(--ink)}
.menu-card-head{display:flex;flex-direction:column;gap:6px}.menu-card-head strong{font-size:1rem;line-height:1.2;letter-spacing:-.025em}.menu-card-head b{font-size:.9375rem;white-space:nowrap;color:var(--red);font-weight:600}
.menu-ingredients{font-size:.875rem;line-height:1.4;color:var(--muted)}
.menu-card-choice{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;font-weight:600;padding-top:2px}
.menu-card-choice>span:last-child{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:22px;height:22px;font-size:1rem}
.menu-card[aria-pressed=true] .menu-card-choice>span:last-child{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.customize-link{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-bottom:1px solid var(--line);background:none;width:100%;text-align:left;padding:20px 0 15px;font-size:.875rem;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.chosen-pizza{font-size:1rem;font-weight:600;line-height:1.45;margin:0 0 15px}.composition>span{text-transform:uppercase}
.builder-summary .price-line>div:first-child{display:block}.builder-summary .price-line strong{display:block;margin-top:4px;font-size:1.8rem;letter-spacing:-.04em}
@media(max-width:550px){.menu-grid{gap:8px}.menu-card{padding:12px;min-height:170px;gap:9px}.menu-card-head strong{font-size:1rem}.menu-ingredients{font-size:.875rem}.pizza-tabs button{font-size:.875rem;padding-inline:9px}.builder-summary .price-line strong{font-size:1.6rem}.mobile-preview span,.mobile-preview small{font-size:.75rem}}
.mobile-preview{display:none}
.size-badge span{text-align:center;max-width:100%;padding-inline:2px}
/* The pizza layers share one square coordinate system at every breakpoint. */
.pizza-visual{inset:auto;left:0;top:50%;width:100%;aspect-ratio:1;transform:translateY(-50%)}
.pizza-visual[data-size=maxi]{transform:translateY(-50%) scale(1.04)}
/* Readable controls, including narrow screens and enlarged text. */
.ingredient strong,.choice strong,.format-row legend,.dough-label,.segmented label>span,.dough-label select,.text-button,.quick-picks button,.quantity output,.ingredient-info summary,.cart-item-actions button{font-size:.875rem}
.ingredient small,.choice small,.segmented small,.eyebrow,.config-heading .eyebrow,.ingredient-fieldset legend small,.quick-picks>span,.price-note,.visual-note,.live-badge,.composition>span,.demo-strip,.footer a,.dialog-top .eyebrow{font-size:.75rem}
.ingredient{min-height:134px}.ingredient strong{min-height:2.6em;display:flex;align-items:center;justify-content:center}.ingredient-sprite{width:52px;height:52px}.ingredient small{margin-top:auto;line-height:1.5}
.ingredient-fieldset legend{gap:0;flex-wrap:wrap}.ingredient-fieldset legend small{padding-left:6px}.composition p{font-size:1rem}.quantity button{min-width:40px;min-height:40px}.primary-button{font-size:1rem}.cart-button>span{font-size:.875rem}
.brand small{font-size:.625rem}.size-badge span{font-size:.5rem}.format-row{grid-template-columns:1.15fr 1fr}.segmented small{white-space:normal;font-size:.6875rem}.config-heading{align-items:start}.ingredient-info p,.empty-cart p,.receipt p,.cart-item p{font-size:1rem}
@media(max-width:1100px){.ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ingredient strong{font-size:.8125rem}.choice{gap:7px}.choice small{font-size:.6875rem}.sauce-swatch{width:20px;height:20px}.format-row{grid-template-columns:1fr}.dough-label select{max-width:none}.ingredient small{font-size:.6875rem}.config-heading{flex-wrap:wrap}.cart-button{gap:8px}.composition p{font-size:.875rem}}
@media(max-width:800px){.format-row{grid-template-columns:1.15fr 1fr}.ingredient strong{font-size:.875rem}.ingredient small,.choice small{font-size:.75rem}.ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pizza-stage{margin-top:0}.pizza-side>.eyebrow{font-size:.6875rem}.cart-button>span{font-size:.8125rem}}
@media(max-width:400px){.ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient{min-height:132px}.ingredient strong{min-height:auto}.ingredient-sprite{width:58px;height:58px}.format-row{grid-template-columns:1fr}.demo-strip{font-size:.6875rem}.demo-strip>span{max-width:180px}.cart-button>span{display:none}.brand small{font-size:.55rem}}
@media(max-width:800px){
  h1{font-size:clamp(2.7rem,7.2vw,3.5rem);max-width:580px}h1 br{display:none}h1 br:after{content:' '}
  .pizza-stage{width:min(320px,86%);aspect-ratio:1.16;margin:8px auto 0}
  .size-badge{width:62px;right:-4%;top:3%}.size-badge strong{font-size:1.5rem}.size-badge span{font-size:.4rem}
  .live-badge{bottom:3%;left:-7%;font-size:.6875rem;padding:7px 10px}.composition p{font-size:.875rem}
  .mobile-preview{position:fixed;z-index:20;left:0;right:0;top:0;display:flex;align-items:center;gap:15px;padding:5px 20px;background:#fffcf5f5;border-bottom:1px solid var(--line);box-shadow:0 8px 24px #27201910;backdrop-filter:blur(12px);transform:translateY(-115%);transition:transform .2s;pointer-events:none}
  .mobile-preview.visible{transform:translateY(0)}.modal-open .mobile-preview{visibility:hidden}
  .mini-pizza{position:relative;width:94px;height:94px;flex-shrink:0}.mini-pizza .pizza-visual{filter:drop-shadow(0 3px 4px #633b0b24)}.mini-pizza .pizza-topping-layer{animation:none}
  .mobile-preview>div:last-child{display:flex;flex-direction:column;gap:4px}.mobile-preview span{font-size:.625rem;letter-spacing:.08em;font-weight:700}.mobile-preview strong{font-size:1.5rem;letter-spacing:-.04em}.mobile-preview small{font-size:.6875rem;color:var(--muted)}
  #configuratore{scroll-margin-top:116px}.ingredient{scroll-margin-top:116px}
}
@media(max-width:400px){.pizza-stage{width:270px}.mobile-preview{gap:10px;padding-inline:15px}.mini-pizza{width:90px;height:90px}.mobile-preview small{font-size:.625rem}}

/* Recipe names can be longer than the former two-word base label. */
.composition{display:block}.composition>span{display:block;max-width:none;margin:0 0 8px}.composition p{overflow-wrap:break-word}

/* Food photography: a complete baked pizza, with a quiet supporting interface. */
.header{height:94px}.builder{grid-template-columns:1.12fr 1fr;gap:5%;padding-top:30px}
.pizza-side{top:22px}.pizza-side>.eyebrow{font-size:.75rem;margin-bottom:12px}
h1{font-size:clamp(2.5rem,3.5vw,3.5rem);line-height:1.02;letter-spacing:-.055em}h1 br{display:none}
.pizza-stage{width:100%;aspect-ratio:1;margin:24px 0 0;border-radius:14px;overflow:hidden;background:#282623}
.pizza-visual,.pizza-visual[data-size=maxi]{inset:0;top:0;left:0;width:100%;height:100%;aspect-ratio:1;transform:none;filter:none;transition:none}
.pizza-base{object-fit:cover}.pizza-visual[data-photographic=false] .pizza-base{object-fit:contain}
.pizza-visual[data-photographic=true] .pizza-topping-layer{animation:food-in .2s both}
.pizza-visual[data-photographic=true] .topping-piece{filter:saturate(.84) brightness(.95);mix-blend-mode:multiply}
.size-badge{right:14px;top:14px;width:auto;min-width:64px;aspect-ratio:auto;flex-direction:row;gap:5px;padding:9px 12px;border:1px solid #ffffff3d;border-radius:30px;background:#181716cf;color:#fff;transform:none;backdrop-filter:blur(8px)}
.size-badge strong{font-size:.875rem;font-weight:600}.size-badge span{font-size:.875rem;letter-spacing:0;margin:0;padding:0;max-width:none}
.composition{padding-top:17px;border:0}.composition>span{font-size:1.15rem;letter-spacing:-.02em;text-transform:none;margin-bottom:6px}.composition p{font-size:1rem;line-height:1.55}
.visual-note{font-size:.75rem;line-height:1.5;margin-top:9px}
.config-heading{margin-bottom:20px}.config-heading h2{font-size:1.8rem}.config-heading .eyebrow{font-size:.75rem}.menu-intro{font-size:.875rem}
.menu-grid{grid-template-columns:1fr;gap:10px}
.menu-card{display:flex;flex-direction:row;gap:16px;min-height:138px;padding:12px;border-radius:10px;align-items:stretch}
.menu-photo{display:block;flex:0 0 112px;width:112px;aspect-ratio:1;align-self:center;overflow:hidden;border-radius:7px;background:#282623}
.menu-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.menu-card:hover .menu-photo img{transform:scale(1.035)}
.menu-copy{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.menu-card-head{flex-direction:row;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.menu-card-head strong{font-size:1.0625rem}.menu-card-head b{font-size:.9375rem}
.menu-ingredients{font-size:.875rem;line-height:1.45}.menu-card-choice{font-size:.875rem;padding-top:0}
.menu-card[aria-pressed=true]{background:#fff8e8;border-color:#8e5d23;box-shadow:inset 0 0 0 1px #8e5d23}
.ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ingredient strong,.ingredient small{font-size:.875rem}
.price-note,.ingredient-fieldset legend small,.choice small,.dough-label,.segmented small,.text-button{font-size:.875rem}
@keyframes food-in{from{opacity:0}to{opacity:1}}
@media(min-width:801px){.pizza-stage{width:min(100%,max(360px,calc(100svh - 260px)));margin-inline:auto}}
@media(max-width:1100px){.builder{gap:4%;grid-template-columns:1fr 1fr}.menu-photo{flex-basis:90px;width:90px}.menu-card{gap:12px}.menu-card-head{flex-direction:column;gap:4px}.ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){
  .header{height:88px}.builder{grid-template-columns:1fr;gap:28px;padding-top:24px}.pizza-side{top:auto}
  h1{font-size:clamp(2.1rem,7vw,3rem);line-height:1.07}.pizza-side>.eyebrow{font-size:.75rem}
  .pizza-stage{width:min(100%,460px);margin:19px auto 0;aspect-ratio:1}.size-badge{right:12px;top:12px}
  .composition{padding-top:14px}.composition>span{font-size:1.125rem}.composition p{font-size:1rem}
  .menu-photo{flex-basis:108px;width:108px}.menu-card{gap:14px;min-height:142px}.menu-card-head{flex-direction:row}
  .menu-card-head strong{font-size:1rem}.menu-card-head b{font-size:.875rem}
  .ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mini-pizza{height:86px;width:86px;overflow:hidden;border-radius:7px}.mini-pizza .pizza-visual{filter:none}
  .mobile-preview{padding:8px 18px;gap:14px}.mobile-preview span{font-size:.75rem;letter-spacing:0}.mobile-preview small{font-size:.75rem;line-height:1.35}.mobile-preview strong{font-size:1.4rem}
}
@media(max-width:450px){
  .menu-card{padding:10px;gap:12px;min-height:145px}.menu-photo{flex-basis:96px;width:96px}.menu-card-head{flex-direction:column;gap:4px}
  .ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient{min-height:142px}
  .format-row{grid-template-columns:1fr}.menu-ingredients{font-size:.875rem}
  .mobile-preview>div:last-child{min-width:0}.mini-pizza{width:80px;height:80px}.mobile-preview small{font-size:.75rem}
}

/* Extra toppings only: the ten approved full-pizza photographs are unchanged.
   Four real-texture variants, small contact shadows and opaque food surfaces
   replace the dark multiply blend that made additions look like decals. */
.pizza-visual[data-photographic=true] .pizza-topping-layer[data-material=photographic] .topping-piece{
  mix-blend-mode:normal;
  filter:saturate(.9) brightness(.99) drop-shadow(.15px .45px .4px #351f1438);
}
.pizza-visual[data-photographic=true] .pizza-topping-layer[data-material=photographic]:is([data-ingredient=gorgonzola],[data-ingredient=grana],[data-ingredient=emmental]) .topping-piece{
  opacity:.93;filter:saturate(.78) brightness(1.04);mix-blend-mode:normal;
}
.pizza-visual[data-photographic=true] .pizza-topping-layer[data-material=photographic][data-ingredient=origano] .topping-piece{
  filter:saturate(.8) brightness(.95);opacity:.9;
}
#custom-panel .ingredient-sprite{filter:saturate(.94)}
