.pxab-restaurant-booking,.pxab-restaurant-status,.pxab-restaurant-notice{box-sizing:border-box;color:var(--pxab-restaurant-text,#111827);font:inherit}.pxab-restaurant-booking,.pxab-restaurant-status{padding:clamp(18px,3vw,34px);background:var(--pxab-restaurant-surface,#fff);border:1px solid var(--pxab-restaurant-border,#e5e7eb);border-radius:var(--pxab-restaurant-radius,18px);box-shadow:0 18px 50px rgba(15,23,42,.08)}.pxab-restaurant-booking *,.pxab-restaurant-status *{box-sizing:border-box}.pxab-restaurant-booking>header,.pxab-restaurant-status>header{margin-bottom:24px}.pxab-restaurant-kicker{margin:0 0 6px;color:var(--pxab-restaurant-accent,#b45309);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.pxab-restaurant-booking h2,.pxab-restaurant-status h2{margin:0 0 8px;font-size:clamp(1.6rem,4vw,2.4rem)}.pxab-restaurant-step{margin:18px 0;padding:20px;background:var(--pxab-restaurant-muted-surface,#f8fafc);border:1px solid var(--pxab-restaurant-border,#e5e7eb);border-radius:calc(var(--pxab-restaurant-radius,18px) - 4px)}.pxab-restaurant-step h3{margin-top:0}.pxab-restaurant-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pxab-restaurant-booking label,.pxab-restaurant-admin-fields label{display:grid;gap:7px;font-weight:650}.pxab-restaurant-booking input,.pxab-restaurant-booking select,.pxab-restaurant-booking textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--pxab-restaurant-border,#d1d5db);border-radius:10px;background:#fff;color:inherit}.pxab-restaurant-payment-methods{display:flex;flex-wrap:wrap;gap:10px}.pxab-restaurant-payment-methods label{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid var(--pxab-restaurant-border,#e5e7eb);border-radius:999px}.pxab-restaurant-payment-methods input{width:auto;min-height:0}.pxab-restaurant-submit,.pxab-restaurant-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--pxab-restaurant-primary-button-border,var(--pxab-restaurant-accent,#b45309));border-radius:12px;background:var(--pxab-restaurant-primary-button-bg,var(--pxab-restaurant-accent,#b45309));color:var(--pxab-restaurant-primary-button-text,#fff)!important;font-weight:750;text-decoration:none;cursor:pointer}.pxab-restaurant-submit:disabled{opacity:.6;cursor:wait}.pxab-restaurant-error,.pxab-restaurant-live-status.is-error{margin:14px 0;padding:12px;border-radius:10px;background:#fef2f2;color:#991b1b}.pxab-restaurant-live-status{min-height:1.4em}.pxab-restaurant-table-picker{margin-top:18px}.pxab-restaurant-table-picker [data-pxab-restaurant-room-tabs]{display:flex;gap:8px;overflow:auto;margin-bottom:10px}.pxab-restaurant-table-picker [data-pxab-restaurant-room-tabs] button{padding:8px 12px;border:1px solid var(--pxab-restaurant-border,#e5e7eb);border-radius:999px;background:#fff;cursor:pointer}.pxab-restaurant-table-picker [data-pxab-restaurant-room-tabs] button.is-active{background:var(--pxab-restaurant-accent,#b45309);color:#fff}.pxab-restaurant-table-picker [data-pxab-restaurant-public-floor]{position:relative;width:100%;min-height:260px;overflow:hidden;border:1px dashed var(--pxab-restaurant-border,#d1d5db);border-radius:12px;background:linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px);background-size:20px 20px}.pxab-restaurant-public-table{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px;border:2px solid #64748b;border-radius:8px;background:#fff;color:#111827;font-size:clamp(.65rem,1.6vw,.85rem);font-weight:750;cursor:pointer;transform-origin:center}.pxab-restaurant-public-table--round{border-radius:999px}.pxab-restaurant-public-table--booth{border-radius:18px 18px 5px 5px}.pxab-restaurant-public-table--bar{border-radius:4px}.pxab-restaurant-public-table.is-selected{border-color:var(--pxab-restaurant-accent,#b45309);box-shadow:0 0 0 4px color-mix(in srgb,var(--pxab-restaurant-accent,#b45309) 20%,transparent)}.pxab-restaurant-public-table[data-accessible="1"]:after{content:"♿";position:absolute;right:2px;bottom:0;font-size:.7rem}.pxab-restaurant-complete{padding:24px;background:var(--pxab-restaurant-muted-surface,#f8fafc);border-radius:14px}.pxab-restaurant-status__badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:#e2e8f0;font-weight:750}.pxab-restaurant-status__badge--confirmed,.pxab-restaurant-status__badge--seated,.pxab-restaurant-status__badge--dining{background:#dcfce7;color:#166534}.pxab-restaurant-status__badge--food_preparing,.pxab-restaurant-status__badge--food_ready,.pxab-restaurant-status__badge--ordering{background:#fef3c7;color:#92400e}.pxab-restaurant-status dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.pxab-restaurant-status dl>div{padding:14px;background:var(--pxab-restaurant-muted-surface,#f8fafc);border-radius:10px}.pxab-restaurant-status dt{color:var(--pxab-restaurant-muted,#64748b);font-size:.82rem}.pxab-restaurant-status dd{margin:4px 0 0;font-weight:700}.pxab-restaurant-notice{max-width:900px;margin:24px auto;padding:16px;border:1px solid #fbbf24;border-radius:12px;background:#fffbeb}.pxab-restaurant-hp{position:absolute!important;left:-9999px!important}
@media(max-width:680px){.pxab-restaurant-fields,.pxab-restaurant-status dl{grid-template-columns:1fr}.pxab-restaurant-booking,.pxab-restaurant-status{padding:16px}.pxab-restaurant-step{padding:15px}}

.pxab-restaurant-dine-in-order{display:grid;gap:clamp(20px,3vw,36px);min-width:0}.pxab-restaurant-dine-in-order>[data-pxab-food-menu],.pxab-restaurant-dine-in-order>[data-pxab-food-order]{min-width:0}.pxab-restaurant-status .pxab-restaurant-button{display:inline-flex;margin-top:18px}


.pxab-restaurant-terms {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--pxab-restaurant-border);
    border-radius: calc(var(--pxab-restaurant-radius) * .55);
    background: var(--pxab-restaurant-muted-surface);
    color: var(--pxab-restaurant-muted);
    white-space: pre-line;
}

/* Responsive restaurant table-choice structures and seating markers. */
.pxab-restaurant-table-picker [data-pxab-restaurant-public-floor]{isolation:isolate;min-height:clamp(220px,52vw,520px);touch-action:pan-x pan-y}.pxab-restaurant-public-fixture{position:absolute;z-index:1;display:grid;place-items:center;overflow:hidden;transform-origin:center;pointer-events:none}.pxab-restaurant-public-fixture--wall{border-radius:2px;background:#475569}.pxab-restaurant-public-fixture--divider{background:var(--pxab-fixture-color,#64748b)}.pxab-restaurant-public-fixture--doorway{border:2px solid #94a3b8;border-top-color:transparent;border-radius:0 0 999px 999px;background:rgba(255,255,255,.8)}.pxab-restaurant-public-fixture--window{border-block:2px solid #0284c7;background:rgba(125,211,252,.2)}.pxab-restaurant-public-fixture--service_area{border:2px dashed #94a3b8;border-radius:7px;background:rgba(248,250,252,.88);font-size:clamp(.55rem,1.4vw,.75rem)}.pxab-restaurant-public-fixture--label{border:1px dashed #cbd5e1;border-radius:5px;background:rgba(255,255,255,.82);font-size:clamp(.55rem,1.4vw,.75rem);font-weight:700}.pxab-restaurant-public-table{z-index:2;overflow:visible}.pxab-restaurant-public-table__label{position:relative;z-index:2;max-width:100%;overflow:hidden;text-overflow:ellipsis}.pxab-restaurant-public-seats{position:absolute;inset:0;z-index:-1;pointer-events:none}.pxab-restaurant-public-seats i{position:absolute;width:clamp(6px,12%,13px);aspect-ratio:1;border:1px solid #64748b;border-radius:50%;background:#f8fafc;transform:translate(-50%,-50%)}.pxab-restaurant-public-table--booth{border-width:4px 2px 2px;border-radius:18px 18px 6px 6px;background:linear-gradient(to bottom,#ead6b8 0 28%,#fff 28% 100%)}.pxab-restaurant-public-table--booth .pxab-restaurant-public-seats i{border-radius:4px;background:#d6b685}@media(max-width:600px){.pxab-restaurant-table-picker [data-pxab-restaurant-public-floor]{min-height:210px}.pxab-restaurant-public-table{min-width:28px;min-height:28px;font-size:.62rem}}
.pxab-restaurant-public-fixture--wall,.pxab-restaurant-public-fixture--divider,.pxab-restaurant-public-fixture--doorway,.pxab-restaurant-public-fixture--door_single,.pxab-restaurant-public-fixture--door_double,.pxab-restaurant-public-fixture--door_sliding,.pxab-restaurant-public-fixture--door_staff,.pxab-restaurant-public-fixture--door_emergency,.pxab-restaurant-public-fixture--window{transform-origin:center}


/* Customer-safe Restaurant reservation progress history. */
.pxab-restaurant-status__timeline { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--pxab-restaurant-border,#e5e7eb); }
.pxab-restaurant-status__timeline h3 { margin: 0 0 14px; }
.pxab-restaurant-status__timeline ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.pxab-restaurant-status__timeline li { position: relative; display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 10px; padding-bottom: 16px; }
.pxab-restaurant-status__timeline li:not(:last-child)::before { content:""; position:absolute; top:16px; bottom:0; left:7px; width:2px; background:var(--pxab-restaurant-border,#e5e7eb); }
.pxab-restaurant-status__timeline-item > span { position:relative; z-index:1; width:16px; height:16px; margin-top:2px; border:3px solid var(--pxab-restaurant-surface,#fff); border-radius:50%; background:var(--pxab-restaurant-accent,#b45309); box-shadow:0 0 0 1px var(--pxab-restaurant-accent,#b45309); }
.pxab-restaurant-status__timeline strong { display:block; }
.pxab-restaurant-status__timeline time { display:block; margin-top:2px; color:var(--pxab-restaurant-muted,#64748b); font-size:.82rem; }


/* v1.0.393 expanded Restaurant floor objects. */
.pxab-restaurant-public-fixture--reception_area{z-index:0;border:2px dashed var(--pxab-fixture-color,#475569);border-radius:12px;background-color:color-mix(in srgb,var(--pxab-fixture-accent,#f1f5f9) 82%,transparent)}
.pxab-restaurant-public-fixture--reception_desk{border:4px solid var(--pxab-fixture-color,#334155);border-radius:18px 18px 7px 7px;background:linear-gradient(to bottom,var(--pxab-fixture-accent,#e2e8f0) 0 32%,var(--pxab-fixture-color,#334155) 33% 100%)}
