.public-booking-dialog{background:#fbfaf6;border:0;border-radius:22px;box-shadow:0 30px 100px #001c1870;color:#193d2e;margin:auto;max-height:92dvh;max-width:1120px;overflow:auto;padding:0;width:calc(100% - 40px)}.public-booking-dialog::backdrop{background:#062b23d9;backdrop-filter:blur(6px)}.public-booking-dialog *{box-sizing:border-box}.public-booking-header{align-items:center;background:#123c2e;color:#fff;display:flex;justify-content:space-between;padding:16px 30px;position:sticky;top:0;z-index:3}.public-booking-header a{color:inherit;font-size:17px;font-weight:800;letter-spacing:.14em;text-decoration:none}.public-booking-dialog button{background:transparent;border:1px solid #a8b7ae;border-radius:9px;color:inherit;cursor:pointer;font:inherit;font-size:14px;font-weight:700;min-height:44px;padding:10px 18px}.public-booking-header button{border-color:#668578;color:white;font-size:25px;height:44px;padding:0;width:44px}.public-booking-dialog button:disabled{cursor:not-allowed;opacity:.5}.public-booking-body{padding:32px 36px}.public-booking-steps{display:flex;flex-wrap:wrap;gap:12px 26px;margin-bottom:24px}.public-booking-steps span{border-bottom:2px solid transparent;color:#647268;font-size:14px;padding-bottom:8px}.public-booking-steps [aria-current]{border-color:#b28a35;color:#174531;font-weight:700}.public-booking-dialog h2{font-size:clamp(28px,3.5vw,44px);font-weight:600;letter-spacing:-.035em;line-height:1.12;margin:0 0 16px}.public-booking-dialog p{font-size:16px;line-height:1.55}.public-visit-summary{color:#4b6556;margin:0 0 24px}.public-booking-intro{color:#5d6d62;margin-bottom:28px}.public-contact-fields,.public-visit-fields{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.public-booking-dialog label{color:#274d3a;display:grid;font-size:14px;font-weight:600;gap:8px}.public-booking-dialog label small{color:#67776c;font-size:13px;font-weight:400}.public-booking-dialog input:not([type=radio]):not([type=checkbox]),.public-booking-dialog select,.public-booking-dialog textarea{background:#fff;border:1px solid #c1cec4;border-radius:8px;color:#193d2e;font:inherit;font-size:16px;min-height:50px;min-width:0;padding:12px;width:100%}.public-booking-dialog input[type=radio]{accent-color:#1a5138;flex-shrink:0;height:20px;margin:0;width:20px}.public-booking-dialog textarea{resize:vertical}.public-booking-dialog .public-booking-note{color:#5c6d60;font-size:14px;margin:20px 0}.public-booking-dialog .public-booking-advice{color:#a12e24;font-size:13px;line-height:1.45;margin:8px 0 0}.public-christmas-party{background:#fbf3e9;border:1px solid #d7b47f;border-radius:10px;margin-top:22px;padding:16px}.public-booking-dialog .public-christmas-party label{align-items:flex-start;display:flex;gap:10px;line-height:1.4}.public-christmas-party input[type=checkbox]{accent-color:#164731;flex:0 0 auto;height:20px;margin:1px 0 0;width:20px}.public-booking-dialog .public-christmas-party p{color:#4d5e51;font-size:14px;line-height:1.45;margin:8px 0 0 30px}.public-booking-dialog .public-christmas-party .public-christmas-party-hint{color:#8d3528;font-size:13px}.public-christmas-party a{font-weight:700}.public-booking-dialog a{color:inherit;text-underline-offset:3px}.public-booking-actions{align-items:center;background:transparent;border-top:1px solid #d7dfd8;color:#193d2e;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:28px;padding:22px 0 0}.public-booking-actions>span{color:#627767;font-size:14px}.public-booking-dialog .public-primary{background:#164731;border-color:#164731;color:white;min-height:50px;padding:14px 26px}.public-booking-dialog .public-primary:hover:not(:disabled){background:#0d3323}.public-booking-dialog :focus-visible{outline:3px solid #c18c2b;outline-offset:4px}.public-booking-dialog h2:focus{outline:none}.public-booking-error{background:#fae9e4;border-left:3px solid #a14434;color:#792c1f;padding:14px 18px}.public-picker-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:14px 0}.public-floor-legend{display:flex;flex-wrap:wrap;gap:14px}.public-floor-legend span{align-items:center;display:flex;font-size:14px;gap:7px}.public-floor-legend span:before{background:#fff;border:1px solid #678b79;border-radius:4px;content:"";height:15px;width:15px}.public-floor-legend span:nth-child(2):before{background:#194b37;border-color:#d5a13e}.public-floor-legend span:nth-child(3):before{background:#e6e9e7;border-color:#b7c0bb}.public-table-options{border:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;min-width:0;padding:0}.public-table-options label{align-items:center;background:#fff;border:1px solid #becdbf;border-radius:10px;cursor:pointer;display:flex;gap:12px;min-height:78px;padding:14px}.public-table-options label.is-selected{background:#e3efe6;border:2px solid #1a5138;padding:13px}.public-table-options span{display:grid;gap:5px}.public-table-options legend{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;width:1px}.public-selected-table{font-weight:600}.public-table-preference{border:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:26px 0 0;min-width:0;padding:0}.public-table-preference legend{font-size:15px;font-weight:700;margin-bottom:12px}.public-table-preference legend small{color:#67776c;font-size:13px;font-weight:400;margin-left:8px}.public-table-preference label{align-items:start;background:#fff;border:1px solid #becdbf;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px}.public-table-preference label.is-selected{background:#e8efe7;border-color:#1a5138;box-shadow:inset 0 0 0 1px #1a5138}.public-table-preference label span{display:grid;gap:6px;line-height:1.5}.public-preference-summary{align-items:center;background:#edf2eb;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;padding:16px}.public-preference-summary p{flex:1 1 260px;margin:0}.public-booking-success{max-width:680px}.public-booking-success strong{display:inline-block;letter-spacing:.1em;margin-left:10px}.public-cancel-booking{background:#f0f5ef;border:2px solid #164731;border-radius:12px;margin:24px 0;padding:18px}.public-booking-dialog .public-cancel-booking p{font-size:16px;margin:0 0 16px}.public-booking-dialog .public-cancel-booking b{display:block;font-size:20px;margin-bottom:8px}.public-booking-dialog .public-cancel-link{background:#164731;border-radius:9px;color:white;display:inline-block;font-size:17px;font-weight:800;padding:15px 22px;text-decoration:none}@media (max-width:760px){.public-booking-dialog{border-radius:18px 18px 0 0;margin:auto 0 0;max-height:96dvh;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0);width:100%}.public-booking-intro{margin-bottom:20px}.public-booking-header{padding:12px 18px}.public-booking-body{padding:24px 18px}.public-booking-steps{gap:14px}.public-booking-steps span{font-size:13px}.public-visit-fields{gap:16px}.public-contact-fields,.public-visit-fields{grid-template-columns:1fr}.public-booking-actions{align-items:stretch;flex-direction:column}.public-booking-actions button{width:100%}.public-picker-toolbar>p{margin:4px 0}.public-table-options,.public-table-preference{grid-template-columns:1fr}}