.pb-booking-modal[hidden]{display:none}
.pb-booking-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(28,24,20,.54);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow:auto}
.pb-booking-dialog{position:relative;width:min(720px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:42px 50px 34px;border:1px solid rgba(201,154,61,.42);border-radius:14px;background-color:#faf8f4;background-image:linear-gradient(rgba(250,248,244,.75),rgba(250,248,244,.75)),url('/assets/pb-marble-veins.png');background-size:115% auto;background-position:center;background-repeat:no-repeat;color:#2b2b2b;box-shadow:0 34px 90px rgba(24,18,12,.30),0 12px 30px rgba(89,64,30,.14);text-align:center;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.pb-booking-dialog:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(101deg,transparent 0 13%,rgba(166,124,55,.07) 13.15% 13.42%,transparent 13.75% 32%,rgba(201,154,61,.052) 32.15% 32.42%,transparent 32.8% 57%,rgba(139,107,63,.045) 57.15% 57.45%,transparent 57.8% 78%,rgba(201,154,61,.05) 78.12% 78.38%,transparent 78.75%)}
.pb-booking-dialog>*{position:relative;z-index:1}
.pb-booking-close{position:absolute;z-index:2;top:12px;right:14px;width:44px;height:44px;border:0;background:transparent;color:#6d5a3c;font:300 31px/1 Georgia,serif;cursor:pointer;display:grid;place-items:center}
.pb-booking-kicker{margin:0 0 13px;color:#a67c37;font:600 11px/1 'DM Sans',Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.pb-booking-title{margin:0;font:400 39px/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.025em;color:#171717}
.pb-booking-title em{font-weight:400;color:#9f7229;letter-spacing:.045em}
.pb-booking-copy{margin:14px auto 28px;font:400 14px/1.6 'DM Sans',Arial,sans-serif;color:#5f574f}
.pb-booking-gold,.pb-booking-city{color:#9f7229}
.pb-booking-options{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pb-booking-choice{padding:24px 22px 22px;border:1px solid rgba(201,154,61,.34);border-radius:11px;background:rgba(255,252,247,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.pb-booking-city{display:block;margin-bottom:10px;font:600 24px/1.15 'Playfair Display',Georgia,serif;color:#9f7229}
.pb-booking-choice address{margin:0;font:400 14px/1.55 'DM Sans',Arial,sans-serif;color:#5c554d;font-style:normal}
.pb-booking-directions{display:inline-block;margin:10px 0 18px;color:#9f7229;font:600 10px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(201,154,61,.46);padding-bottom:2px}
.pb-booking-location{width:100%;height:46px;padding:0 16px;border:1px solid rgba(145,96,24,.78);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#d9b664 0%,#d1a650 18%,#c99a3d 52%,#bd882d 82%,#a97021 100%);color:#fff;font:600 16px/1 'Playfair Display',Georgia,serif;box-shadow:inset 0 1px 0 rgba(255,244,203,.62),inset 0 -1px 0 rgba(111,70,13,.16),0 1px 0 rgba(126,82,20,.26),0 5px 9px rgba(72,50,20,.16);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.pb-booking-location:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,247,215,.68),0 2px 0 rgba(126,82,20,.24),0 7px 11px rgba(72,50,20,.18);filter:brightness(1.03)}
body.pb-modal-open{overflow:hidden}
@media(max-width:600px){.pb-booking-modal{padding:10px}.pb-booking-dialog{width:min(calc(94vw - 10px),510px);max-height:calc(100dvh - 20px);padding:22px 20px 16px;overflow-y:auto}.pb-booking-close{top:6px;right:8px;width:38px;height:38px;font-size:28px}.pb-booking-kicker{margin-bottom:8px;font-size:10px}.pb-booking-title{font-size:32px;line-height:1.04}.pb-booking-copy{margin:9px auto 15px;font-size:13px;line-height:1.4}.pb-booking-options{grid-template-columns:1fr;gap:10px}.pb-booking-choice{padding:13px 16px 12px}.pb-booking-city{margin-bottom:6px;font-size:21px}.pb-booking-choice address{font-size:13px;line-height:1.4}.pb-booking-directions{margin:7px 0 10px;font-size:9px}.pb-booking-location{height:40px;font-size:14px}}

/* Additional building guidance appears beneath each address on all viewports. */
.pb-booking-inside{margin:10px 0 0;font-family:'DM Sans',Arial,sans-serif;line-height:1.45}
.pb-booking-inside span{display:block;color:#a67c37;font-size:12px;font-weight:600;letter-spacing:.02em}
.pb-booking-inside strong{display:block;margin-top:3px;color:#5c554d;font-size:13px;font-weight:500}
@media(max-width:600px){.pb-booking-inside{margin-top:7px}.pb-booking-inside span{font-size:11px}.pb-booking-inside strong{font-size:12px;line-height:1.4}}
