:root{font-family:Inter,"Noto Sans",system-ui,sans-serif;color:#14243a;background:#f4f6f8;--brand:#f4b400;--dark:#162a43;--line:#dbe3ec}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}.hidden{display:none!important}.welcome,.success,.payment{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px;background:radial-gradient(circle at top,#fff8d8,#f4f6f8 58%)}.welcome img,header img{width:min(360px,62vw);height:100px;object-fit:contain}.welcome h1{font-size:clamp(42px,6vw,76px);margin:24px 0 8px}.welcome p{font-size:28px;color:#52647a}.primary{border:0;border-radius:18px;background:var(--brand);color:#1f2937;font-weight:800;padding:20px 28px;box-shadow:0 8px 20px #d99c0033}.giant{font-size:32px;min-width:330px;margin:32px}.languages{display:flex;gap:14px}.languages button,header button,.modes button{border:1px solid var(--line);background:white;border-radius:14px;padding:14px 20px;font-weight:700}.ordering header{height:96px;background:var(--dark);color:white;display:flex;align-items:center;gap:18px;padding:10px 24px}.ordering header img{width:220px;height:72px;margin-right:auto}.ordering header button{background:#243b58;color:white;border-color:#49617e}.modes{display:flex;justify-content:center;gap:16px;padding:16px}.modes button{font-size:22px;min-width:190px}.modes button.active{background:var(--brand);border-color:var(--brand)}.layout{display:grid;grid-template-columns:190px 1fr 340px;gap:16px;padding:0 18px 18px;height:calc(100vh - 174px)}.layout>aside,.products{background:white;border:1px solid var(--line);border-radius:18px;padding:14px;overflow:auto}#search{width:100%;padding:16px;border:1px solid var(--line);border-radius:12px}#categories{display:grid;gap:10px;margin-top:14px}#categories button{padding:16px;border:0;border-radius:12px;background:#eef2f6;text-align:left;font-weight:700}#categories button.active{background:var(--dark);color:white}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;align-content:start}.product{min-height:150px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.product strong{font-size:22px}.product span{font-size:20px;color:#8a6200;font-weight:800}.cart{display:flex;flex-direction:column}.cart h2{margin:4px 0 14px}.cart #items{flex:1;overflow:auto}.cart-item{padding:12px 0;border-bottom:1px solid var(--line)}.cart-line,.qty,.total{display:flex;justify-content:space-between;align-items:center;gap:10px}.qty{justify-content:flex-end;margin-top:8px}.qty button{width:42px;height:42px;border:0;border-radius:10px;font-size:24px}.total{font-size:24px;padding:18px 0}.cart>.primary{font-size:20px}.success strong{font-size:clamp(90px,18vw,180px);color:var(--dark)}.success h2{max-width:800px;font-size:30px}.success p{font-size:28px}#toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);background:#17263b;color:white;border-radius:14px;padding:14px 22px;display:none}#toast.show{display:block}.payment h1{font-size:clamp(36px,5vw,64px);margin:0 0 12px}.payment>strong{font-size:clamp(48px,7vw,84px);color:var(--dark)}.payment p{font-size:24px;max-width:760px}.qr-test{width:280px;height:280px;margin:24px;display:grid;place-content:center;gap:18px;border:18px solid var(--dark);background:repeating-conic-gradient(#17263b 0 25%,#fff 0 50%) 0/32px 32px;color:#fff;box-shadow:0 12px 36px #17263b33}.qr-test span,.qr-test b{background:var(--dark);padding:8px}.scanner{position:fixed;opacity:0;pointer-events:none;width:1px;height:1px}.payment .primary:disabled{opacity:.6}@media(max-width:900px){.layout{grid-template-columns:150px 1fr 280px}.products{grid-template-columns:repeat(2,1fr)}}
/* Adaptive kiosk layout for customer-owned portrait, compact and wide hardware. */
.layout{grid-template-columns:clamp(140px,16vw,210px) minmax(0,1fr) clamp(280px,27vw,420px)}
@media(max-width:760px){.ordering header{height:auto;min-height:82px;flex-wrap:wrap}.modes{padding:8px;gap:8px;flex-wrap:wrap}.modes button{min-width:140px}.layout{height:auto;min-height:calc(100vh - 160px);grid-template-columns:120px minmax(0,1fr);padding:0 8px 8px}.layout>.cart{grid-column:1/-1;min-height:300px}.products{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.welcome,.success,.payment{padding:24px}.languages{flex-wrap:wrap;justify-content:center}}
@media(orientation:portrait) and (min-width:761px){.layout{grid-template-columns:160px minmax(0,1fr) 300px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Kiosk modifier selection and touch-safe order controls. */
.qty button{width:48px;height:48px}.extras{margin:7px 0;color:#52647a;line-height:1.45;overflow-wrap:anywhere}#toast{z-index:40}dialog{width:min(620px,calc(100% - 28px));max-height:88vh;overflow:auto;border:0;border-radius:20px;padding:26px;box-shadow:0 30px 90px #0005}dialog::backdrop{background:#0009}.option-help{margin-top:-8px;color:#52647a}.option-group{margin:22px 0}.option-group h3{margin:0 0 10px;font-size:21px}.option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-list label{min-height:52px;padding:12px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:9px;overflow-wrap:anywhere}.option-list input{width:22px;height:22px;flex:0 0 auto}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.dialog-actions button{min-height:52px;padding:12px 22px;border:1px solid var(--line);border-radius:12px;font-weight:800}.dialog-actions .primary{border:0}@media(max-width:760px){.option-list{grid-template-columns:1fr}}
