.dish-preview{flex-shrink:0;margin:0;border-radius:16px;overflow:hidden;background:#faf6f0;color:#382a22}.dish-stage{position:relative;isolation:isolate;width:min(100%,340px);aspect-ratio:1;margin:auto;overflow:hidden}.dish-layer{position:absolute;inset:0;pointer-events:none}.dish-layer img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.dish-layer-base{z-index:0}.dish-layer-pasta{z-index:10}.dish-layer-ingredient{clip-path:circle(32% at 50% 50%)}.dish-source-probe{position:absolute;inset:0;opacity:0;pointer-events:none}.dish-ingredient-piece{position:absolute;display:block;background-repeat:no-repeat;transform-origin:center}.dish-layer-sauce{clip-path:circle(32% at 50% 50%)}.dish-layer-finish{z-index:40;opacity:.85}.dish-preview-copy{padding:8px 14px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.dish-preview-copy b{font-size:17px}.dish-preview-copy span{font-size:13px}.dish-preview-copy small{flex-basis:100%;font-size:11px;color:#79695d}.dish-preview-ingredients{padding:0 12px 10px;display:flex;flex-wrap:wrap;gap:4px}.dish-preview-ingredients span{border-radius:999px;padding:3px 7px;background:#fff;border:1px solid #e2d6c7;font-size:11px}.dish-preview-compact .dish-stage{max-width:min(280px,25vh)}[data-testid=kiosk-modal] .dish-stage{max-width:min(300px,28vh)}@media (prefers-reduced-motion:no-preference){.dish-layer img{animation:dish-appear .18s ease-out}@keyframes dish-appear{0%{opacity:0}to{opacity:1}}}.plate-builder{color:#302a28;background:white;border-radius:18px;padding:clamp(16px,3vw,32px)}.plate-heading h2{font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.15}.plate-heading p{margin-top:8px;color:#6f6260}.plate-progress{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid #eadede;margin-bottom:24px}.plate-progress li{display:flex;align-items:center;gap:8px;font-size:14px;color:#796c69}.plate-progress li[aria-current]{color:var(--plate-color);font-weight:700}.plate-progress li>span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid;border-radius:50%}.plate-builder h3,.plate-builder legend{font-size:20px;font-weight:700;margin-bottom:16px}.plate-builder fieldset{margin-top:24px}.plate-families{display:grid;grid-template-columns:1fr 1fr;gap:16px}.plate-family{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;min-height:190px;text-align:center;padding:26px 46px;border:2px solid #e7dedc;border-radius:14px;background:#a97c45;color:white}.plate-family img{z-index:-2;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.65)}.plate-family img,.plate-family:before{position:absolute;inset:0;pointer-events:none}.plate-family:before{content:"";z-index:-1;background:linear-gradient(0deg,rgba(25,16,9,.78),rgba(25,16,9,.58) 50%,rgba(25,16,9,.2))}.plate-family-copy{flex:1;min-width:0}.plate-family b{display:block;font-size:26px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.plate-family small{display:block;margin-top:10px;font-size:16px;color:#fff5e9;line-height:1.5}.plate-check{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;margin-left:auto;border:1px solid rgba(255,255,255,.65);border-radius:50%;color:white;font-size:24px;background:rgba(0,0,0,.25)}.plate-family[aria-pressed=true] .plate-check{background:var(--plate-color);border-color:white}.plate-portions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.plate-portions button{display:flex;flex-direction:column;gap:6px;border:2px solid #e7dedc;border-radius:12px;padding:16px 10px;text-align:left}.plate-portions b{font-size:26px}.plate-portions strong{color:var(--plate-color);font-size:21px}.plate-portions small{font-size:12px}.plate-options{display:flex;flex-wrap:wrap;gap:10px}.plate-options button{padding:12px 18px;border:2px solid #e7dedc;border-radius:10px}.plate-builder button[aria-pressed=true]{border-color:var(--plate-color);background:#fff1f1;box-shadow:inset 0 0 0 1px var(--plate-color)}.plate-configuration{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:24px}.plate-preview{align-self:start;position:sticky;top:16px;text-align:center}.plate-preview p{font-size:13px;margin-top:8px}.plate-ingredients{display:grid;gap:8px}.plate-ingredients button{min-height:72px;display:flex;align-items:center;gap:8px;text-align:left;border:2px solid #e7dedc;border-radius:10px;padding:8px;font-size:13px}.plate-ingredients small{display:block;color:var(--plate-color);font-size:11px}.plate-ingredients [data-unavailable=true]{filter:grayscale(1);opacity:.45;background:#eee}.plate-ingredients button:disabled:not([data-unavailable=true]){opacity:.7}.plate-help{color:#6f6260;margin:-6px 0 16px;font-size:14px}.plate-extra{display:block;width:100%;border:2px solid var(--plate-color);border-radius:10px;padding:12px;margin-bottom:16px;color:var(--plate-color);font-weight:700}.plate-notes{display:block;margin-top:24px}.plate-notes textarea{margin-top:8px}.plate-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid #eadede}.plate-total{flex:1}.plate-total small{display:block;color:#6f6260;font-size:12px}.plate-total b{display:block;font-size:25px}.plate-quantity{font-size:12px}.plate-quantity input{display:block;border:1px solid #bbb;border-radius:6px;width:64px;padding:8px}.plate-footer .btn-primary{background:var(--plate-color)}.plate-builder button:focus-visible{outline:3px solid var(--plate-color);outline-offset:3px}@media(max-width:900px){.plate-family{min-height:190px;padding:24px 38px}.plate-family b{font-size:24px}.plate-configuration{grid-template-columns:1fr}.plate-preview{position:static;display:none}.plate-ingredients{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.plate-progress{gap:8px}.plate-progress li{flex-direction:column;align-items:start;font-size:11px;flex:1}.plate-families{grid-template-columns:1fr}.plate-family{flex-wrap:nowrap}.plate-ingredients,.plate-portions{grid-template-columns:repeat(2,minmax(0,1fr))}.plate-footer .btn-primary{width:100%}.plate-family b{font-size:24px}.plate-family small{font-size:15px}}@media (min-width:1400px){.grano-kiosk .plate-configuration{grid-template-columns:minmax(180px,1fr) minmax(0,3fr)}.grano-kiosk .plate-ingredients{grid-template-columns:repeat(5,minmax(0,1fr))}.grano-kiosk .plate-ingredients button{min-height:64px;padding:6px;gap:6px}.grano-kiosk .plate-ingredients [data-testid=ingredient-thumbnail]{width:36px;height:36px}}.plate-ingredients{grid-template-columns:repeat(3,minmax(0,1fr))}.plate-ingredient{display:flex;align-items:center;min-width:0;border:2px solid #e7dedc;border-radius:10px;background:white}.plate-ingredient[data-selected=true]{border-color:var(--plate-color);background:#fff1f1}.plate-ingredients .plate-ingredient-choice{min-width:0;border:0;background:transparent;box-shadow:none;padding:6px}.plate-ingredient-choice>span:last-child{min-width:0}.plate-ingredient-counter{display:flex;align-items:center;gap:4px}.plate-ingredients .plate-ingredient-counter button{display:grid;place-items:center;min-height:36px;width:36px;height:36px;padding:0;font-size:24px;background:white;border:1px solid #d8c3bf}.plate-ingredient-counter output{min-width:18px;text-align:center;font-weight:700}.plate-repeat-help{font-size:12px;color:#65554f;margin-top:8px}.plate-pasta-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.plate-ingredients .plate-ingredient-choice,.plate-pasta-options .plate-pasta-option{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;min-height:120px;padding:20px 12px;color:white;background:#9c784e}.plate-ingredient-photo,.plate-pasta-option img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.65);pointer-events:none}.plate-ingredient-choice:before,.plate-pasta-option:before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(28,19,12,.55);pointer-events:none}.plate-photo-label{display:block;font-size:20px;line-height:1.25;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.35)}.plate-ingredients .plate-photo-label small,.plate-photo-label small{color:white;font-size:12px;font-weight:500;margin-top:8px}.plate-photo-check{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--plate-color);border:1px solid white;color:white}.plate-ingredient{flex-direction:column;overflow:hidden;background:#9c784e}.plate-ingredient[data-selected=true]{box-shadow:0 0 0 1px var(--plate-color)}.plate-ingredients .plate-ingredient-choice{width:100%;flex:1;border-radius:0}.plate-ingredients .plate-ingredient-choice[aria-pressed=true]{background:#9c784e}.plate-ingredient-counter{justify-content:center;background:white;color:#302a28}.plate-ingredients .plate-ingredient[data-unavailable=true]{opacity:1;filter:grayscale(1)}.plate-ingredients .plate-ingredient-choice:disabled{opacity:1}@media(max-width:540px){.plate-ingredients,.plate-pasta-options{grid-template-columns:repeat(2,minmax(0,1fr))}.plate-photo-label{font-size:18px}}.plate-ingredients .plate-ingredient-choice,.plate-ingredients .plate-ingredient-choice[aria-pressed=true]{background:#f6f2ec;align-items:flex-end;min-height:146px;padding:78px 10px 12px}.plate-ingredient-photo{transform:none;-o-object-fit:cover;object-fit:cover}.plate-ingredient-choice:before{background:linear-gradient(0deg,rgba(28,20,14,.72),rgba(28,20,14,.3) 28%,transparent 60%)}.plate-ingredients .plate-photo-label{font-size:18px}.plate-portions b{line-height:32px;min-height:32px}.plate-portions [data-portion="Massa e molho"] b{font-size:16px;white-space:nowrap}.plate-ingredient{flex-direction:row;align-items:stretch}.plate-ingredient-photo{padding:0}.plate-ingredients .plate-ingredient-choice,.plate-ingredients .plate-ingredient-choice[aria-pressed=true]{width:auto;min-height:126px;padding:40px 8px 12px}.plate-ingredient-counter{flex:0 0 44px;flex-direction:column;gap:3px;padding:4px}.plate-ingredients .plate-photo-label{font-size:16px;overflow-wrap:anywhere}.plate-options:has(.plate-sauce-option){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plate-options .plate-sauce-option{position:relative;isolation:isolate;overflow:hidden;min-height:145px;display:flex;align-items:flex-end;justify-content:center;text-align:center;color:white;padding:65px 12px 16px}.plate-sauce-option img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:-2;pointer-events:none}.plate-sauce-option:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,15,10,.78),rgba(20,15,10,.15) 70%);pointer-events:none}.grano-kiosk .plate-ingredients .plate-ingredient-photo{width:100%;height:100%}