/* A single lightweight catalogue for customer ordering and staff order entry. */
.catalog-picker{--picker-accent:#f0c641;--picker-active:#fff6d7;--picker-ink:#332d21;margin-bottom:24px;border:1px solid var(--line,#e6e2d8);border-radius:18px;overflow:hidden;background:#fff}
.merchant .catalog-picker{--picker-accent:#9dc8ed;--picker-active:#e8f3fd;--picker-ink:#173b5b}
.catalog-search{padding:14px;background:var(--picker-active)}
.catalog-search input{width:100%;margin:0;background:white}
.catalog-split{display:grid;grid-template-columns:155px minmax(0,1fr);height:min(72vh,780px);min-height:350px}
.catalog-categories{overflow-y:auto;background:#f6f6f4;overscroll-behavior:contain}
.catalog-categories button{display:block;position:relative;width:100%;border:0;border-radius:0;background:transparent;padding:20px 14px;text-align:left;font:inherit;line-height:1.4;color:#65655f;overflow-wrap:anywhere;cursor:pointer}
.catalog-categories button.active{background:var(--picker-active);color:var(--picker-ink);font-weight:700;box-shadow:inset 4px 0 var(--picker-accent)}
.catalog-categories button:focus-visible,.catalog-quantity button:focus-visible{outline:3px solid #537eb1;outline-offset:-3px}
.catalog-dishes{overflow-y:auto;padding:18px;min-width:0;overscroll-behavior:contain}
.picker-heading{margin:0 0 6px}.picker-status:empty{display:none}.picker-status{margin:0 0 12px}.picker-help{padding:10px 14px;margin:0}.picker-empty{padding:24px 0;line-height:1.7;color:#777}
.catalog-dish{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #efefeb;min-width:0}
.catalog-dish[hidden],.picker-empty[hidden]{display:none}
.catalog-photo{position:relative;flex:0 0 140px;height:140px;overflow:hidden;border-radius:12px}
.catalog-photo img,.catalog-photo .food-placeholder{width:100%;height:100%;object-fit:cover}.catalog-photo .food-placeholder{display:grid;place-items:center;font-size:36px;background:var(--picker-active)}
.catalog-ribbon{position:absolute;top:0;left:0;padding:3px 7px;background:var(--picker-accent);font-size:11px;color:var(--picker-ink);font-weight:700}
.catalog-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.catalog-info h3{margin:0;line-height:1.45;font-size:19px}.catalog-info p{margin:0;line-height:1.45}.catalog-meta{margin-top:3px!important}
.catalog-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;flex-wrap:wrap}.catalog-bottom>strong{font-size:20px}.catalog-bottom .plus{border-radius:50%;flex-shrink:0;background:var(--picker-accent);min-width:36px;min-height:36px}
.catalog-quantity{display:flex;align-items:center;gap:3px}.catalog-quantity button{width:34px;height:34px;border:0;border-radius:50%;background:var(--picker-accent);font-size:23px;cursor:pointer;color:var(--picker-ink)}.catalog-quantity input{width:46px;min-width:0;padding:5px 0;text-align:center;border:1px solid #dce5eb;border-radius:6px;margin:0;appearance:textfield}.catalog-quantity input::-webkit-inner-spin-button{appearance:none}
.manual-picker .catalog-split{grid-template-columns:125px minmax(0,1fr)}.manual-picker .catalog-photo{flex-basis:100px;height:100px}.manual-picker .catalog-dish{gap:12px}.manual-picker .catalog-info h3{font-size:16px}
@media(max-width:600px){.catalog-split,.manual-picker .catalog-split{grid-template-columns:88px minmax(0,1fr);height:68vh;min-height:380px}.catalog-search{padding:10px}.catalog-categories button{padding:19px 9px;font-size:13px}.catalog-dishes{padding:12px 10px}.catalog-dish,.manual-picker .catalog-dish{gap:10px;padding:16px 0}.catalog-photo,.manual-picker .catalog-photo{flex-basis:82px;height:90px;border-radius:8px}.catalog-info h3,.manual-picker .catalog-info h3{font-size:15px}.catalog-info .small{font-size:11px}.catalog-bottom>strong{font-size:17px}.catalog-bottom{gap:5px}.catalog-quantity{gap:1px}.catalog-quantity button{width:29px;height:29px}.catalog-quantity input{width:33px}.manual-picker{margin-inline:-10px}.catalog-ribbon{font-size:9px;padding:3px}.catalog-picker .price{font-size:17px}}
@media(max-width:370px){.catalog-photo,.manual-picker .catalog-photo{flex-basis:64px;height:76px}.catalog-split,.manual-picker .catalog-split{grid-template-columns:76px minmax(0,1fr)}}
.promotion-translation{margin:0 0 22px;padding:12px;border-radius:10px;background:#edf5fc;line-height:1.5;font-size:13px}.promotion-translation p{margin:0 0 6px}.promotion-selection .catalog-split{height:330px;min-height:250px;grid-template-columns:125px minmax(0,1fr)}.promo-selection-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px 12px 12px;font-size:13px}.promo-selection-tools [data-promo-count]{margin-right:auto}.promo-dishes{overflow:auto;padding:4px 14px;min-width:0;overscroll-behavior:contain}.promo-dish{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #edf0f4;cursor:pointer}.promo-dish input{width:18px;height:18px;flex-shrink:0;margin:3px 0;accent-color:#2e6595}.promo-dish strong{font-size:14px;font-weight:600;line-height:1.5}.promo-dish small{display:block;font-size:12px;color:#6c8196;margin-top:5px;line-height:1.4}.promo-dish[hidden],.promo-empty[hidden]{display:none}.promo-dish:has(input:disabled){opacity:.6}.promo-dish:has(input:checked){background:#f1f7fd}.promo-empty{padding:16px;color:#6c8196}.promotion-selection .catalog-categories button{font-size:13px;padding:15px 12px}
@media(max-width:600px){.promotion-selection .catalog-split{grid-template-columns:92px minmax(0,1fr)}.promo-dishes{padding:4px 10px}.promo-dish{gap:8px}}
/* Manual order uses the document as its only vertical scroll container. */
.manual-order-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.manual-order-form h2{margin-bottom:18px}.manual-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.manual-menu,.manual-payment{grid-column:1/-1}.manual-notes summary{cursor:pointer;padding:12px 0;color:#416583}.manual-notes[open] summary{margin-bottom:12px}.manual-menu .manual-picker{margin:0}.manual-order-form .catalog-split{height:auto;min-height:0;align-items:start;overflow:visible;grid-template-columns:150px minmax(0,1fr)}.manual-order-form .catalog-picker{overflow:visible}.manual-order-form .catalog-categories,.manual-order-form .catalog-dishes{height:auto;overflow:visible;overscroll-behavior:auto}.manual-order-form .catalog-categories{border-radius:0 0 0 15px}.manual-order-form .catalog-categories [hidden]{display:none}.manual-order-form .catalog-dishes{padding-top:16px}.manual-order-form .catalog-dish{padding:16px 0}.picker-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 0}.picker-pagination button{padding:9px 12px;background:#e8f3fd;border-radius:8px;font-size:13px;cursor:pointer}.picker-pagination[hidden]{display:none}.manual-payment{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center}.manual-payment .notice{margin:0 0 10px}.manual-payment .field{margin:0}
@media(max-width:950px){.manual-order-form{grid-template-columns:1fr}.manual-payment{grid-template-columns:1fr 1fr}.manual-payment>div:last-child{grid-column:1/-1}}
@media(max-width:600px){.manual-fields{grid-template-columns:1fr}.manual-order-form .catalog-split{grid-template-columns:88px minmax(0,1fr)}.manual-order-form .catalog-picker{margin:0 -10px}.manual-payment{grid-template-columns:1fr}.manual-order-form .card{padding:18px}.manual-order-form .catalog-photo{flex-basis:72px;height:80px}.picker-pagination{gap:4px;flex-wrap:wrap}.picker-pagination button{padding:9px}.manual-order-form .catalog-quantity input{max-width:42px}.manual-order-form .catalog-categories button{padding:13px 8px}}
@media(min-width:700px){.manual-order-form .catalog-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;column-gap:20px}.manual-order-form .catalog-info>h3,.manual-order-form .catalog-info>p{grid-column:1}.manual-order-form .catalog-bottom{grid-column:2;grid-row:1/span 4;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;margin:0;padding:0;gap:10px}.manual-order-form .catalog-dish{min-height:132px}.manual-order-form .catalog-quantity input{max-width:64px}}
/* Shared page headings and right-hand manual-order confirmation. */
main .page-top h1,main .section-title h1{font-size:1.75rem}
.header-actions{margin-left:auto;justify-content:flex-end}.header-logout{white-space:nowrap}
.manual-order-form{grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr)}
.manual-main{display:grid;gap:20px;min-width:0}.manual-main .manual-menu{grid-column:auto}
.manual-order-form .manual-payment{grid-column:2;display:flex;flex-direction:column;align-items:stretch;gap:20px;position:sticky;top:100px;min-width:0}
.manual-payment h2{margin-bottom:8px}.manual-payment .field{margin:0}.manual-selected-line{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.manual-selected-line>div{min-width:0}.manual-selected-line strong{font-size:14px;line-height:1.5}.manual-selected-line>strong{white-space:nowrap}.manual-selected-line small{display:block;color:var(--muted);margin-top:5px}.manual-order-form .catalog-info{display:flex;gap:5px}.manual-order-form .catalog-bottom{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;gap:8px}.manual-order-form .catalog-split{grid-template-columns:115px minmax(0,1fr)}
@media(max-width:1000px){.manual-order-form{grid-template-columns:minmax(0,1fr) 280px}.manual-main .card{padding:18px}.manual-order-form .catalog-photo{flex-basis:72px;height:80px}.manual-order-form .catalog-split{grid-template-columns:88px minmax(0,1fr)}}
@media(max-width:800px){.manual-order-form{grid-template-columns:minmax(0,1fr)}.manual-order-form .manual-payment{grid-column:1;position:static}.manual-fields{grid-template-columns:1fr 1fr}.manual-order-form .catalog-photo{flex-basis:82px;height:90px}}
@media(max-width:600px){header,.merchant header{height:auto;min-height:80px;gap:8px}.header-actions{flex-wrap:wrap;gap:6px;min-width:0}.header-actions .header-logout{padding:4px 8px;min-height:32px}.manual-fields{gap:0 12px}.manual-fields>.field{min-width:0}.manual-fields input,.manual-fields select{min-width:0;font-size:14px}.manual-order-form .catalog-split{grid-template-columns:88px minmax(0,1fr)}}

.catalog-media{flex:0 0 140px;min-width:0}.catalog-media .catalog-photo{width:100%}@media(max-width:600px){.catalog-media{flex-basis:82px}}@media(max-width:370px){.catalog-media{flex-basis:64px}}
