/* A warm, illustrated café seating plan. Scoped to this feature. */
.wcb-section{background:#f6efdf;border-block:1px solid #d5c5aa;color:#543d2b;padding:76px 6% 70px}
.wcb-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.wcb-heading .bp-kicker{color:#95623d;margin-bottom:18px}.wcb-heading h2{font-size:clamp(48px,5.6vw,80px)!important;line-height:.98!important}.wcb-heading h2 em{color:#ad5c37}.wcb-heading>p{font-size:14px;line-height:1.8;color:#7c654f;padding-bottom:4px}
.wcb-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.9fr);gap:clamp(28px,5vw,80px);align-items:start}.wcb-plan-panel{background:#e9dcc2;border:1px solid #d1bc98;border-radius:110px 110px 8px 8px;padding:43px 18px 23px;box-shadow:inset 0 0 45px #fff6e947}.wcb-plan-top{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.13em;margin:0 28px 28px;color:#765c41}.wcb-plan{position:relative;width:100%;aspect-ratio:600/520}.wcb-plan>svg{display:block;width:100%;height:100%;overflow:visible}.wcb-plan svg text{font:8px Arial,sans-serif;fill:#7f6e53;letter-spacing:1px}.wcb-plan svg .wcb-counter-label{font-size:9px;fill:#4c432f;letter-spacing:.8px}
.tds-builder-preview .wcb-table{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:16%;height:15%;min-width:44px;min-height:44px;background:repeating-linear-gradient(9deg,#dbc198 0,#dbc198 12px,#d7b88b 13px,#dbc198 15px);border:2px solid #94744f;border-radius:50%;box-shadow:0 4px 0 #977a5445,0 8px 8px #8465451c;color:#513b27;padding:5px;transition:background-color .2s,border-color .2s,box-shadow .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;line-height:1.15}
.wcb-table strong{font:400 clamp(16px,2.2vw,26px)/1 Georgia,serif}.wcb-table small{font-size:9px;white-space:nowrap;margin-top:4px}.tds-builder-preview .wcb-table-booth{width:20%;height:13%;border-radius:13px}.tds-builder-preview .wcb-table-long{width:29%;height:11%;border-radius:12px}.tds-builder-preview .wcb-table-square{border-radius:14px;width:15%;height:13%}.tds-builder-preview .wcb-table:disabled{opacity:1;background:#d5cabb;color:#74644f;border-color:#baa98e;box-shadow:0 3px 0 #ad9a7b33}.tds-builder-preview .wcb-table[aria-pressed=true]{background:#6d795f;color:#fff9e9;border-color:#46533d;box-shadow:0 0 0 5px #87957144,0 5px 0 #46533d40}.wcb-table[aria-pressed=true] strong:after{content:' ✓';font:12px Arial,sans-serif}.wcb-table:focus-visible{outline:3px solid #a65030!important;outline-offset:5px!important}
.wcb-legend{display:flex;gap:17px;justify-content:center;flex-wrap:wrap;margin:25px 0 13px;font-size:10px;color:#6f5c45}.wcb-legend span{display:flex;align-items:center;gap:6px}.wcb-legend i{width:9px;height:9px;border-radius:50%;background:#d7b789;border:1px solid #96744d}.wcb-legend span:nth-child(2) i{background:#6d795f;border-color:#46533d}.wcb-legend span:nth-child(3) i{background:#d5cabb;border-color:#baa98e}.tds-builder-preview .wcb-plan-caption{text-align:center;font:italic 14px/1.6 Georgia,serif;color:#7b654b;margin-top:14px}
.wcb-controls{min-width:0}.wcb-step{border:0;border-bottom:1px solid #d8c6aa;margin:0;padding:0 0 23px;min-width:0}.wcb-step+.wcb-step{margin-top:23px}.wcb-step-label,.wcb-step legend{display:block;font:10px/1.6 Arial,sans-serif;letter-spacing:.12em;color:#896443;margin-bottom:14px;padding:0}.wcb-step legend{width:100%;float:left}.wcb-step legend+.wcb-options{clear:both}.wcb-party{display:flex;justify-content:space-between;align-items:center;gap:15px}.wcb-party strong{display:block;font:23px/1.2 Georgia,serif;font-weight:400}.wcb-party>div>span{font-size:11px;color:#806c55;display:block;margin-top:5px}.wcb-stepper{display:flex;align-items:center;border:1px solid #bea485;border-radius:30px;padding:3px;gap:7px;background:#fcf6e9}.wcb-stepper button{border:0;border-radius:50%;width:44px;height:44px;background:transparent;font-size:23px!important}.wcb-stepper output{font-size:18px;min-width:18px;text-align:center}.wcb-options{display:flex;gap:8px}.wcb-options button{flex:1;min-width:0;border:1px solid #c8b391;border-radius:7px;background:transparent;padding:10px 5px;font-size:12px!important;transition:background .18s,border-color .18s,color .18s}.wcb-options button[aria-pressed=true]{background:#6d795f;color:#fff8e5;border-color:#6d795f}.wcb-times{margin-top:10px}.wcb-times button{border-radius:24px}.wcb-fine{font-size:11px;color:#806c55;margin-top:11px!important}
.wcb-choice select{width:100%;min-height:48px;border:1px solid #bda281;border-radius:7px;background:#fcf6e9;color:#543d2b;padding:12px 30px 12px 12px;font:13px Arial,sans-serif;cursor:pointer}.wcb-choice select:focus-visible{outline:3px solid #a65030;outline-offset:3px}.wcb-place{display:flex;gap:15px;align-items:start;margin-top:20px;min-height:102px}.wcb-place-letter{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #b69c79;border-radius:50%;font:22px Georgia,serif;color:#90653b}.wcb-place h3{font:25px/1.2 Georgia,serif!important;letter-spacing:-.02em}.wcb-place p{font-size:12px;line-height:1.7;color:#806c55;margin-top:7px!important;max-width:310px}
.wcb-summary{margin-top:23px;padding:21px 23px 22px;background:#eee0c6;border:1px solid #d1b892;border-radius:3px 3px 14px 3px}.wcb-summary-top{display:flex;justify-content:space-between;align-items:center;gap:12px;letter-spacing:.1em;font-size:9px;color:#865f39;margin-bottom:13px}.wcb-summary-top>span:last-child{font-size:24px;line-height:1}.wcb-summary>p{font-size:14px;line-height:1.6}.wcb-summary .wcb-summary-table{font-size:12px;color:#7c6042;margin-top:5px;min-height:20px}.tds-builder-preview .wcb-review{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#985132;color:#fff7e5;border:1px solid #985132;padding:13px 17px;border-radius:6px;width:100%;font-size:13px;margin-top:18px}.tds-builder-preview .wcb-review:disabled{opacity:1;background:#dfcfb4;color:#7d6b54;border-color:#cbb692}.wcb-summary [data-wcb-reviewed]{margin-top:16px;padding-top:16px;border-top:1px dashed #bfa37d;animation:wcb-unfold .24s ease-out}.wcb-summary [data-wcb-reviewed]>strong{font:22px/1.2 Georgia,serif}.wcb-summary [data-wcb-reviewed]>p{font-size:12px;line-height:1.7;margin-top:9px}.wcb-edit,.wcb-reset{background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:8px 0;font-size:12px!important}.wcb-edit{margin-top:8px}.wcb-bottom{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-top:15px}.wcb-bottom>p{font-size:11px;color:#775e43;min-height:36px;line-height:1.65;flex:1}.wcb-reset{white-space:nowrap;flex:0 0 auto;margin-top:-5px}.wcb-disclaimer{font-size:10px;line-height:1.7;color:#806c55;margin-top:12px!important}
@keyframes wcb-unfold{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.wcb-table:not(:disabled):not([aria-pressed=true]):hover{border-color:#985132;box-shadow:0 0 0 4px #98513222,0 4px 0 #977a5445}.wcb-options button:not([aria-pressed=true]):hover{background:#e8dbc3}.wcb-stepper button:not(:disabled):hover{background:#eee1c8}}
@media(min-width:1000px){.wcb-plan-panel{position:sticky;top:24px}.wcb-section{overflow:visible}}
@media(max-width:900px){.wcb-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:25px}.wcb-plan-panel{padding:35px 9px 20px;border-radius:80px 80px 8px 8px}.wcb-plan-top{margin-inline:20px;font-size:8px}.wcb-table small{font-size:8px}.wcb-heading>p{max-width:260px}.wcb-legend{gap:12px;font-size:9px}}
@media(max-width:700px){.wcb-section{padding:45px 6%}.wcb-heading{align-items:start;margin-bottom:28px;flex-direction:column;gap:20px}.wcb-heading h2{font-size:58px!important}.wcb-heading>p{font-size:13px;max-width:none}.wcb-layout{grid-template-columns:minmax(0,1fr);gap:31px}.wcb-plan-panel{padding:32px 12px 20px;border-radius:90px 90px 7px 7px}.wcb-plan-top{font-size:8px;margin:0 17px 22px;letter-spacing:.1em}.wcb-table strong{font-size:20px}.wcb-table small{font-size:8px;margin-top:3px}.wcb-plan-caption{font-size:13px!important}.wcb-controls{padding:0 3px}.wcb-legend{gap:15px;font-size:9px}.wcb-step-label,.wcb-step legend{font-size:10px}.wcb-options button{font-size:13px!important}.wcb-place{min-height:98px}.wcb-disclaimer{font-size:11px}.wcb-choice select{font-size:16px}.wcb-plan svg text{font-size:9px}}
/* Source order follows the visit: party/time, table, then review. */
.wcb-layout{row-gap:23px}.wcb-visit-controls{grid-column:2;grid-row:1;min-width:0}.wcb-plan-panel{grid-column:1;grid-row:1 / span 2}.wcb-controls{grid-column:2;grid-row:2}
@media(max-width:700px){.wcb-layout{gap:28px}.wcb-visit-controls,.wcb-plan-panel,.wcb-controls{grid-column:1;grid-row:auto}.wcb-controls{display:block}.wcb-choice{margin-top:0!important}.wcb-place{min-height:0}.wcb-summary{margin-top:23px}.wcb-bottom{margin-top:15px}.wcb-disclaimer{margin-top:12px!important}}
@media(max-width:360px){.wcb-section{padding-inline:5%}.wcb-plan-panel{padding-inline:5px}.wcb-plan-top{font-size:7px;margin-inline:22px}.wcb-table strong{font-size:17px}.wcb-table small{font-size:7px}.wcb-legend{gap:9px;font-size:8px}.wcb-summary{padding-inline:17px}.wcb-heading h2{font-size:52px!important}}
@media(prefers-reduced-motion:reduce){.wcb-section *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Applied to the café seating feature after its generated scene passes review. */
.wcb-realistic .wcb-plan-panel{padding:20px 16px 20px;border-radius:28px 28px 8px 8px;background:#e8ddc8}
.wcb-realistic .wcb-plan-top{margin:3px 8px 17px;font-size:9px;letter-spacing:.1em}
.wcb-realistic .wcb-plan{aspect-ratio:1;border-radius:8px;isolation:isolate}
.wcb-realistic .wcb-plan>img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px}
.tds-builder-preview .wcb-realistic .wcb-table{width:46px;height:46px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#503a27}
.wcb-realistic .wcb-table strong{display:grid;place-items:center;width:36px;height:36px;border:1px solid #fff9eb;border-radius:50%;background:#fff7e8ed;box-shadow:0 2px 12px #30271955;font:20px/1 Georgia,serif}
.wcb-realistic .wcb-table small{position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:9px;line-height:1.4;white-space:nowrap;margin-top:4px;border:1px solid #ffffff80;background:#fff7e8f0;color:#503a27;border-radius:8px;padding:1px 6px}
.tds-builder-preview .wcb-realistic .wcb-table:disabled{opacity:1;background:transparent;color:#6b6357;box-shadow:none}
.wcb-realistic .wcb-table:disabled strong{border-color:#ffffff90;background:#ebe5dbd9;box-shadow:0 2px 8px #30271930}
.tds-builder-preview .wcb-realistic .wcb-table[aria-pressed=true]{background:transparent;color:#fff9eb;box-shadow:none}
.wcb-realistic .wcb-table[aria-pressed=true] strong{border-color:#fff8e6;background:#566849;box-shadow:0 0 0 4px #fff9eb70,0 3px 15px #26331d66;display:flex;justify-content:center;gap:2px}
.wcb-realistic .wcb-table[aria-pressed=true] small{background:#566849;color:#fff9eb}
.wcb-realistic .wcb-table[aria-pressed=true] strong:after{font-size:10px}
.wcb-realistic .wcb-legend{margin-top:22px}.wcb-realistic .wcb-legend span:first-child i{background:#fff7e8;border-color:#af9678}
@media(max-width:900px){.wcb-realistic .wcb-plan-panel{padding:16px 10px 18px}.wcb-realistic .wcb-plan-top{font-size:8px;margin-inline:7px}.tds-builder-preview .wcb-realistic .wcb-table{width:44px;height:44px}.wcb-realistic .wcb-table strong{font-size:20px}.wcb-realistic .wcb-table small{font-size:8px;margin-top:3px}}
@media(max-width:360px){.wcb-realistic .wcb-plan-panel{padding-inline:5px}.wcb-realistic .wcb-plan-top{font-size:7px;margin-inline:9px}.wcb-realistic .wcb-table small{font-size:7px;padding-inline:4px}}
@media(hover:hover){.tds-builder-preview .wcb-realistic .wcb-table:not(:disabled):not([aria-pressed=true]):hover{box-shadow:none}.wcb-realistic .wcb-table:not(:disabled):hover strong{box-shadow:0 0 0 4px #fff9eb70,0 3px 14px #26331d66}}
/* Party capacity and the two-table seating choice share one arrival time. */
.wcb-stepper{flex-shrink:0}.wcb-party>div:first-child{min-width:0}
.wcb-seating-choice{margin-top:22px}.wcb-seating-choice .wcb-step-label{margin-bottom:9px}.wcb-seating-choice .wcb-options button{min-height:44px}.wcb-seating-choice .wcb-fine{line-height:1.7;min-height:38px}.wcb-options button:disabled{cursor:default;opacity:.55}
.wcb-suggestion{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px 16px;padding:15px 0;border-bottom:1px solid #d8c6aa}
.wcb-suggestion p{font-size:11px;line-height:1.6;color:#786046;flex:1 1 180px}
.tds-builder-preview .wcb-suggest{border:1px solid #a4aa91;border-radius:20px;background:#e4e7d6;color:#4d5b41;padding:8px 14px;font-size:11px;min-height:44px}
.wcb-selected{display:grid;gap:10px;margin-top:18px}.wcb-selected:empty{display:none}
.wcb-picked{display:flex;align-items:center;gap:12px;padding:11px 10px 11px 13px;background:#f9f2e4;border:1px solid #d5c2a3;border-radius:9px}
.wcb-picked>.wcb-place-letter{flex-basis:34px;width:34px;height:34px;font-size:21px;background:#6d795f;color:#fff9e8;border-color:#6d795f}
.wcb-picked>div{flex:1;min-width:0}.wcb-picked strong{display:block;font:21px/1.15 Georgia,serif;font-weight:400}.wcb-picked>div>span{display:block;font-size:10px;line-height:1.6;color:#80694e;margin-top:4px}
.tds-builder-preview .wcb-picked button{background:transparent;border:1px solid #c9b392;border-radius:50%;width:44px;height:44px;flex:0 0 44px;font-size:23px;line-height:1}
.wcb-capacity{margin-top:20px}.wcb-capacity>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.wcb-capacity strong{font-size:13px;font-weight:400}.wcb-capacity>div>span{font-size:10px;color:#80694e;white-space:nowrap}
.wcb-seat-progress{height:5px;border-radius:5px;background:#ddd0b8;margin-top:11px;overflow:hidden}.wcb-seat-progress>span{display:block;width:var(--wcb-seat-progress,0%);height:100%;background:#6d795f;transition:width .22s ease-out;border-radius:inherit}
.wcb-capacity>p{font-size:11px;color:#80694e;line-height:1.7;margin-top:10px;min-height:19px}
.wcb-split-note{background:#e8e8d9;border-left:2px solid #899573;padding:12px 14px;margin-top:15px!important;font-size:12px;line-height:1.7;color:#5c674c}
.wcb-image-credit{text-align:center;font-size:9px;color:#816d53;margin-top:9px!important}
.wcb-summary [data-wcb-reviewed-seating]{color:#5b593d}
@media(max-width:700px){.wcb-selected{gap:9px}.wcb-capacity strong{font-size:13px}.wcb-picked strong{font-size:22px}.wcb-image-credit{font-size:10px}.wcb-suggestion p{font-size:12px}.wcb-suggestion{gap:8px}.wcb-plan-top{align-items:start}.wcb-plan-top>span:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){.wcb-seat-progress>span{transition:none}}
