/* Let the human illustration lead; keep the controls quiet and close. */
#booking-dialog .booking-body-map{--map-ink:#50735f;--map-mint:#b4dcc3;display:block;width:100%;max-width:570px;margin:0 auto;color:var(--map-ink)}
#booking-dialog .body-map-help{font-size:11px;line-height:1.45;margin:0 0 5px;color:#758577;text-align:left}
#booking-dialog .body-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}
#booking-dialog .body-map-sides{display:flex;gap:3px;padding:3px;border:1px solid #d4e3d4;border-radius:18px;background:#f3f8ed}
#booking-dialog .body-map-side{min-height:34px;min-width:66px;padding:6px 14px;border:0;border-radius:14px;background:none;color:#7a8c7c;font-size:12px;font-weight:550;transition:background .24s,color .24s,box-shadow .24s}
#booking-dialog .body-map-side[aria-pressed=true]{background:#dceedd;color:#446a51;box-shadow:0 2px 5px #6b8d7112,inset 0 1px #fff9}
#booking-dialog .body-map-turn-hint{font-family:'Gaegu',ui-rounded,sans-serif;font-size:23px;letter-spacing:-.3px;color:#8a9d87;transform:rotate(-3deg);padding-right:5px}
#booking-dialog .body-map-canvas{position:relative;width:100%;height:clamp(240px,calc(var(--placement-viewport) - 355px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)),450px);min-height:0;border:1px solid #d9e5d4;border-radius:35px 31px 36px 33px;background:radial-gradient(ellipse at 46% 32%,#fffef8 2%,#f1f8ec 78%);overflow:hidden;box-shadow:inset 0 0 0 5px #fffdf64d,0 6px 18px #6c8a6a05}
#booking-dialog .body-map-canvas:before{content:'';position:absolute;left:13%;right:13%;bottom:40px;height:14px;border-radius:50%;background:#bdccb84a;filter:blur(10px);pointer-events:none}
#booking-dialog .body-map-person{position:absolute;inset:29px 0 31px;transform-origin:50% 75%}
#booking-dialog .body-map-figure{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline:none}
#booking-dialog .body-map-static{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
#booking-dialog .body-map-static,#booking-dialog .body-map-figure{animation:body-map-breathe 4.2s ease-in-out infinite}
#booking-dialog .body-map-person.is-picked{animation:body-map-pick .48s cubic-bezier(.2,.8,.25,1)}
#booking-dialog .booking-placement-basic{display:block;width:100%;height:clamp(300px,60dvh,510px);object-fit:contain;margin:0 auto 12px}
@keyframes body-map-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes body-map-pick{0%,100%{transform:translateY(0) scale(1)}42%{transform:translateY(-3px) scale(1.012)}72%{transform:translateY(1px) scale(.997)}}
#booking-dialog .body-map-figure:focus-visible{outline:2px solid #82ab89;outline-offset:-5px;border-radius:26px}
#booking-dialog .body-map-canvas.is-turning .body-map-figure{cursor:grabbing}
#booking-dialog .body-map-caption{position:absolute;z-index:1;top:6px;left:50%;right:auto;width:max-content;max-width:calc(100% - 24px);min-height:23px;display:flex;align-items:center;justify-content:center;text-align:center;color:#54755b;font-size:10.5px;font-weight:550;line-height:1.3;margin:0;padding:3px 12px;border:1px solid #d7e5d1;border-radius:13px;background:#fffef5dd;pointer-events:none;box-shadow:0 2px 6px #65806404;transform:translateX(-50%)}
#booking-dialog .body-map-orbit{position:absolute;bottom:3px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}
#booking-dialog .body-map-orbit>span{display:none}
#booking-dialog .body-map-turn{display:flex;align-items:center;justify-content:center;width:40px;height:32px;min-height:32px;flex:none;padding:0;border-radius:50%;font-family:Georgia,serif;font-size:26px;line-height:1;background:#e5f0de99;color:#7a9b7d;pointer-events:auto;transition:background .2s,transform .2s}
#booking-dialog .body-map-turn:hover{background:#d9ebd5;transform:scale(1.05)}
#booking-dialog .body-map-selections{padding-top:7px}
#booking-dialog .body-map-ribs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:9px 0 10px}
#booking-dialog .body-map-rib-option{flex:1;min-height:36px;max-width:190px;border:1px solid #cedfc7;border-radius:14px;background:#edf5e6;color:#627f5d;padding:7px 9px;font-size:11px;line-height:1.35;transition:background .2s,border-color .2s}
#booking-dialog .body-map-rib-option.is-selected{background:#d5eccc;border-color:#8eb38c;color:#3f6c48}
#booking-dialog .body-map-custom{display:grid;gap:5px;margin:0 0 5px}
#booking-dialog .body-map-custom-label{font-size:12px;font-weight:550;color:#648060}
#booking-dialog .body-map-custom-input{display:block;width:100%;min-height:43px;border:1px solid #cedfc7;border-radius:15px;background:#fffef7;color:#4f704f;padding:10px 13px;font-family:inherit;font-size:16px;line-height:1.35;box-sizing:border-box}
#booking-dialog .body-map-custom-input::placeholder{color:#9ba894;font-size:13px;opacity:1}
#booking-dialog .body-map-custom-input:focus-visible,#booking-dialog .body-map-rib-option:focus-visible{outline:2px solid #7a9e81;outline-offset:3px}
#booking-dialog .booking-body-map[data-selection-count="0"] .body-map-selections{display:none}
#booking-dialog .body-map-selected-title{font-size:10px;letter-spacing:.02em;color:#8b9d88;margin:0 0 7px;text-align:center}
#booking-dialog .body-map-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
#booking-dialog .body-map-chip{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:40px;border:1px solid #bdd7bf;background:#e6f1df;color:#50765a;border-radius:15px;padding:7px 11px;font-size:11px;line-height:1.5;text-align:left;animation:body-map-chip .28s cubic-bezier(.2,.7,.25,1)}
#booking-dialog .body-map-chip-remove{font-size:17px;line-height:1;opacity:.6}
#booking-dialog .body-map-list{margin-top:13px;border-top:1px solid #dce8d7;padding-top:2px}
#booking-dialog .body-map-list>summary{min-height:44px;align-content:center;font-size:12px;cursor:pointer;color:#70876d;list-style-position:inside;padding:9px 0}
#booking-dialog .body-map-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:4px 0 13px;max-height:280px;overflow-y:auto;overscroll-behavior:contain}
#booking-dialog .body-map-list-option{min-height:44px;padding:8px 10px;border:1px solid #d9e4d3;background:#fafcf4;border-radius:14px;color:#687f66;font-size:11px;text-align:left;line-height:1.45}
#booking-dialog .body-map-list-option.is-selected{background:#dcefd8;border-color:#8fba96;color:#42684e}
#booking-dialog .body-map-alternatives{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:3px}
#booking-dialog .body-map-alternative{min-height:44px;padding:8px 5px;background:none;color:#849b7e;text-decoration:underline;text-underline-offset:4px;font-size:11px}
#booking-dialog .body-map-alternative[aria-pressed=true]{color:#507654;font-weight:600}
#booking-dialog .body-map-side:focus-visible,#booking-dialog .body-map-turn:focus-visible,#booking-dialog .body-map-chip:focus-visible,#booking-dialog .body-map-list-option:focus-visible,#booking-dialog .body-map-list>summary:focus-visible,#booking-dialog .body-map-alternative:focus-visible{outline:2px solid #7a9e81;outline-offset:3px}
#booking-dialog .booking-body-map[aria-invalid=true] .body-map-canvas{border-color:#b08486}
@keyframes body-map-chip{from{opacity:.45;transform:translateY(3px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
#booking-dialog[data-booking-step="placement"]{--placement-viewport:min(790px,calc(100dvh - 56px))}
#booking-dialog[data-booking-step="placement"] .booking-top{position:relative;top:auto;min-height:calc(52px + env(safe-area-inset-top,0px));padding:calc(4px + env(safe-area-inset-top,0px)) 18px 4px}
#booking-dialog[data-booking-step="placement"] .booking-progress{position:relative;top:auto}
#booking-dialog[data-booking-step="placement"] .booking-main{position:relative;padding:10px 18px 18px}
#booking-dialog[data-booking-step="placement"] #booking-step-meta{position:absolute;right:20px;top:17px;margin:0;font-size:8px;line-height:12px;letter-spacing:.08em}
#booking-dialog[data-booking-step="placement"] #booking-title{width:calc(100% - 62px);font-family:'Gaegu',ui-rounded,'Trebuchet MS',sans-serif;font-size:26px;line-height:1.05;letter-spacing:-.5px;margin:0 0 3px}
#booking-dialog[data-booking-step="placement"] .booking-footer{padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));justify-content:space-between}
#booking-dialog[data-booking-step="placement"] .booking-sample-note{display:none}
@media(max-width:767px),(hover:none) and (pointer:coarse){#booking-dialog[data-booking-step="placement"]{--placement-viewport:var(--cozzyko-height,100dvh)}}
@media(max-width:420px){#booking-dialog .body-map-toolbar{gap:8px}#booking-dialog .body-map-side{min-width:58px;padding-inline:13px}}
@media(prefers-reduced-motion:reduce){#booking-dialog .body-map-side,#booking-dialog .body-map-turn{transition:none}#booking-dialog .body-map-chip,#booking-dialog .body-map-person,#booking-dialog .body-map-static,#booking-dialog .body-map-figure{animation:none}}

/* A larger little person, with equally usable named choices for narrow spots. */
#booking-dialog .body-map-help{font-size:12px;line-height:1.55;margin:0 0 12px;color:#667c68}
#booking-dialog .body-map-toolbar{margin-bottom:9px;gap:0}
#booking-dialog .body-map-sides{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:4px;border-radius:19px;padding:4px}
#booking-dialog .body-map-side{min-width:0;min-height:44px;padding:7px 4px;font-size:12px;line-height:1.25;border-radius:14px;touch-action:manipulation}
#booking-dialog .body-map-side[hidden]{display:none}
#booking-dialog .booking-body-map[data-body-renderer="static"] .body-map-sides{grid-template-columns:repeat(2,minmax(0,1fr))}
#booking-dialog .body-map-turn-hint{display:none}
#booking-dialog .body-map-canvas{height:clamp(360px,calc(var(--placement-viewport) - 260px),510px);border-radius:32px 29px 34px 30px}
#booking-dialog .body-map-person{inset:28px 0 35px}
#booking-dialog .body-map-caption{top:9px;min-height:27px;font-size:12px;padding:4px 13px}
#booking-dialog .body-map-turn{width:46px;height:44px;min-height:44px;font-size:27px;background:#e7f1df}
#booking-dialog .body-map-orbit{bottom:5px;left:10px;right:10px}
#booking-dialog .body-map-perspective{margin:8px 0 0;text-align:center;font-size:11px;line-height:1.4;color:#7c8b76}
#booking-dialog .body-map-quick-title{font-family:'Gaegu',ui-rounded,sans-serif;font-size:21px;line-height:1.2;color:#608067;text-align:center;margin:13px 0 6px}
#booking-dialog .body-map-ribs{gap:9px;margin:0 0 13px}
#booking-dialog .body-map-rib-option{min-height:52px;max-width:none;font-size:13px;padding:10px 8px;border-radius:17px 15px 18px 16px;border-color:#bcd3b7;background:#eaf4e4;touch-action:manipulation}
#booking-dialog .body-map-rib-option.is-selected{background:#d0e9c8;border-color:#759e78;box-shadow:inset 0 0 0 1px #759e7833}
#booking-dialog .body-map-selected-title{font-size:12px;text-align:left;color:#608067;margin-bottom:7px}
#booking-dialog .body-map-chips{justify-content:flex-start}
#booking-dialog .body-map-chip{font-size:12px;min-height:44px}
#booking-dialog .body-map-list{margin:14px 0 16px;padding:3px 0 0;border-top-color:#ccdec7}
#booking-dialog .body-map-list>summary{font-family:'Gaegu',ui-rounded,sans-serif;font-size:23px;color:#52765b;padding:11px 1px;min-height:48px}
#booking-dialog .body-map-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:2px 0 10px}
#booking-dialog .body-map-group{min-height:44px;padding:8px 3px;border:1px solid #d5e2cd;border-radius:14px;background:#f8faf1;color:#75846c;font-size:12px;touch-action:manipulation}
#booking-dialog .body-map-group[aria-pressed=true]{color:#486c50;background:#deedda;border-color:#9cbd99;box-shadow:inset 0 -2px #92b58c22}
#booking-dialog .body-map-list-grid{max-height:none;overflow:visible;padding:0;gap:8px;align-items:stretch}
#booking-dialog .body-map-list-option{min-height:50px;font-size:13px;padding:10px 12px;border-radius:16px;touch-action:manipulation}
#booking-dialog .body-map-list-option[hidden]{display:none}
#booking-dialog .body-map-list-option.is-selected{background:#d9ebd3;border-color:#83ab87;box-shadow:inset 0 0 0 1px #83ab8726}
#booking-dialog .body-map-group:focus-visible{outline:2px solid #628b6c;outline-offset:3px}
#booking-dialog .body-map-custom-label{font-size:13px}
#booking-dialog .body-map-custom-input{min-height:48px}
#booking-dialog .body-map-alternative{font-size:12px}
#booking-dialog .body-map-static,#booking-dialog .body-map-figure{animation:none}
@media(max-width:420px){#booking-dialog .body-map-side{min-width:0;padding:7px 2px}#booking-dialog .body-map-canvas{height:clamp(360px,calc(var(--placement-viewport) - 255px),470px)}}

.body-map-accessible:not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);padding:0!important;border:0!important}.body-map-rib-option{min-height:48px;font-size:14px}.body-map-accessible:focus-within{position:relative;clip-path:none}
