/* polk-book.css: the booking dialog (see polk-book.js). Light by default; data-theme="dark" for direction B. */
dialog.book:not([open]){display:none}
.book{border:0;padding:0;margin:auto;background:transparent;width:min(1040px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:visible;color:inherit}
.book::backdrop{background:rgba(19,14,48,.55)}
.book[data-theme="dark"]::backdrop{background:rgba(0,0,0,.72)}
.book-frame{--bg:#F7F8F9;--ink:#130E30;--muted:#5F5C6E;--line:#DFE2E5;--card:#FFFFFF;--accent:#130E30;--accent-ink:#FFFFFF;display:flex;flex-direction:column;max-height:calc(100dvh - 24px);background:var(--bg);color:var(--ink);border-radius:24px;overflow:auto;box-shadow:0 30px 80px -30px rgba(0,0,0,.5)}
[data-theme="dark"] .book-frame{--bg:#0C0A2B;--ink:#FFFFFF;--muted:#B4B4BB;--line:#292A4D;--card:#04061C;--accent:#FFFFFF;--accent-ink:#000000}
[data-book-inline] .book-frame{box-shadow:none;border:1px solid var(--line);max-height:none}
.book-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 18px;border-bottom:1px solid var(--line)}
.book-eyebrow{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.book-title{margin:0;font-family:var(--book-title-font,inherit);font-size:clamp(22px,2.6vw,30px);font-weight:500;line-height:1.15;letter-spacing:-.01em}
.book-sub{margin:8px 0 0;max-width:640px;font-size:15px;line-height:1.5;color:var(--muted)}
.book-close{flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:24px;line-height:1;cursor:pointer}
.book-close:hover{background:var(--card)}
.book-cal{position:relative;flex:1 1 auto;min-height:420px;background:var(--card);overflow:auto}
.book-cal iframe{display:block;width:100%;height:var(--h,620px);border:0;background:var(--card)}
.book-loading{margin:0;padding:56px 28px;text-align:center;color:var(--muted)}
.book-alt{margin:0;padding:12px 28px 18px;font-size:13px;color:var(--muted)}
.book-alt a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.book-done{padding:32px 28px 36px;overflow:auto;-webkit-overflow-scrolling:touch}
.book-done .book-title:focus{outline:none}
.book-wave{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.book-wave h3{margin:0 0 8px;font-family:var(--book-title-font,inherit);font-size:22px;font-weight:500;line-height:1.2}
.book-wave p{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
.book-wave-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;margin-top:16px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none}
.book-wave-btn:hover{opacity:.92}
.book-fine{margin-top:12px!important;font-size:13px}
.book-turnstile{position:absolute;width:0;height:0;overflow:hidden}
body.book-open{overflow:hidden}
@media (max-width:700px){
  /* max-width overrides the UA stylesheet's dialog cap; without it the frame stops short of the phone viewport */
  .book{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}
  .book-frame{border-radius:0;height:100dvh;max-height:100dvh}
  .book-head{padding:18px 18px 12px}
  .book-alt,.book-done{padding-left:18px;padding-right:18px}
}
@media (prefers-reduced-motion:no-preference){
  .book[open]{animation:book-in .22s ease-out}
  @keyframes book-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
