/* ============================================================
   BOOK: guardian's closing card - a dark panel with a slanted right edge
   over an amber sunburst. The sunburst side carries the booking widget.
   ============================================================ */
.book{position:relative;margin-top:-120px;z-index:2}
.book__card{display:grid;grid-template-columns:1fr 1.15fr;border-radius:var(--cta-r);overflow:hidden;
  box-shadow:0 20px 50px rgba(20,22,25,.25);background:var(--accent)}
.book__panel{position:relative;z-index:1;padding:64px 60px 64px 50px;background:var(--metal-dark);
  clip-path:polygon(0 0,100% 0,88% 100%,0 100%);margin-right:-12%}
.book__panel .h2{max-width:420px}
.book__sub{margin:20px 0 26px;padding-left:16px;border-left:4px solid var(--accent);font-family:var(--font-sans);
  font-weight:700;font-size:16px;line-height:1.45;text-transform:uppercase;color:var(--white);max-width:380px}
.book__facts{display:grid;gap:12px}
.book__facts li{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.9);font-weight:500;font-size:15px;overflow-wrap:break-word}
.book__facts .glyph{color:var(--accent-light)}
.book__facts a{color:var(--white);text-decoration:none;font-weight:600}
.book__facts a:hover{color:var(--accent-light)}
.book__sun{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;padding:44px 40px 44px 14%;
  background:repeating-conic-gradient(from 0deg at 0% 50%,rgba(255,255,255,.28) 0deg 4deg,transparent 4deg 12deg),var(--accent)}

.bk{width:100%;min-width:0;max-width:470px;padding:26px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}
.bk__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.bk__title{margin:0;font-family:var(--font-sans);font-weight:800;font-size:20px;color:var(--title)}
.bk__steps{display:flex;gap:6px;counter-reset:bk}
.bk__steps[hidden]{display:none}
.bk__steps li{counter-increment:bk;display:flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:12px;
  font-weight:600;color:#5E7072}
.bk__steps li::before{content:counter(bk);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:var(--surface);font-weight:700;font-size:11px;color:var(--head);transition:background-color .3s,color .3s}
.bk__steps li.is-on{color:var(--head)}
.bk__steps li.is-on::before{background:var(--head);color:var(--accent-light)}
.bk__steps li.is-done::before{content:"\2713";background:var(--brand);color:#fff}

.bk__form fieldset{border:0;margin:0;padding:0;min-width:0}
.bk__pane{display:none}
.bk__pane.is-on{display:block;animation:bkin .35s ease}
@keyframes bkin{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.bk__form legend{padding:0;margin-bottom:12px;font-family:var(--font-sans);font-weight:700;font-size:15px;color:var(--head)}

.chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.chip{display:flex;align-items:center;gap:10px;padding:11px 12px;border:2px solid #E4DED4;border-radius:12px;
  background:var(--white);cursor:pointer;text-align:left;font-family:var(--font-sans);font-weight:600;font-size:13.5px;
  line-height:1.25;color:var(--head);transition:border-color .2s,background-color .2s}
.chip .ico{width:20px;height:20px;color:var(--brand)}
.chip:hover{border-color:var(--brand)}
.chip[aria-pressed="true"]{border-color:var(--head);background:var(--surface);box-shadow:inset 0 0 0 1px var(--head)}

.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;scrollbar-width:thin}
.day{flex:0 0 62px;display:grid;justify-items:center;gap:2px;padding:9px 4px;border:2px solid #E4DED4;border-radius:12px;
  background:var(--white);cursor:pointer;font-family:var(--font-sans);color:var(--head);transition:border-color .2s,background-color .2s}
.day small{font-size:11px;font-weight:600;text-transform:uppercase;color:#56676A}
.day b{font-size:19px;line-height:1.1}
.day:hover{border-color:var(--brand)}
.day[aria-pressed="true"]{background:var(--head);border-color:var(--head);color:var(--white)}
.day[aria-pressed="true"] small{color:var(--accent-light)}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.slot{padding:10px 4px;border:2px solid #E4DED4;border-radius:10px;background:var(--white);cursor:pointer;
  font-family:var(--font-sans);font-weight:600;font-size:13.5px;color:var(--head);transition:border-color .2s,background-color .2s}
.slot:hover:not(:disabled){border-color:var(--brand)}
.slot:disabled{cursor:not-allowed;color:#B3BDBD;text-decoration:line-through;background:#F6F8F8}
.slot[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--white)}

.bk__fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fld{display:grid;gap:5px}
.fld--wide{grid-column:1 / -1}
.fld span{font-family:var(--font-sans);font-size:12.5px;font-weight:600;color:var(--head)}
.fld input,.fld textarea{width:100%;padding:11px 13px;border:2px solid #E4DED4;border-radius:var(--field-r);font:500 14px var(--font-body);
  color:var(--head);background:#FBFAF7;transition:border-color .2s}
.fld textarea{resize:vertical;min-height:76px;line-height:1.45}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--brand);background:#fff}
.fld input[aria-invalid="true"],.fld textarea[aria-invalid="true"]{border-color:#A6452A}
/* Honeypot: off-screen for people, still in the form for bots. */
.fld--hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.bk__note{margin:10px 0 0;font-size:13px;font-weight:500;color:#56676A}
.bk__note:empty{display:none}
.bk__note[data-kind="error"]{font-weight:600;color:#A6452A}
.bk__note a{color:var(--head);font-weight:700}
.bk__fine a{color:var(--head);font-weight:700}
.btn[disabled]{opacity:.6;cursor:progress}

.bk__human{margin:16px 0 0}
.bk__alt{margin:16px 0 0;padding-top:14px;border-top:1px solid #E4DED4;font-size:13.5px;color:#56676A;text-align:center}
.bk__link{border:0;background:none;padding:4px 2px;cursor:pointer;font:inherit;font-weight:700;color:var(--head);
  text-decoration:underline;text-underline-offset:3px}
.bk__link:hover,.bk__link:focus-visible{color:var(--brand)}
.bk__err{min-height:20px;margin:10px 0 0;font-size:13px;font-weight:600;color:#A6452A}
.bk__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;margin-top:6px}
.bk__go{display:flex;align-items:stretch;gap:10px;margin-left:auto}
.bk__back{border:0;background:none;padding:10px 4px;cursor:pointer;font-family:var(--font-sans);font-weight:700;
  font-size:14px;text-transform:uppercase;color:var(--head);text-decoration:underline;text-underline-offset:4px}

.bk__done{text-align:center;padding:8px 0 4px}
.bk__tick svg{width:66px;height:66px;fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.bk__tick circle{stroke:var(--brand);stroke-dasharray:151;stroke-dashoffset:151;animation:bkdraw .6s .1s ease forwards}
.bk__tick path{stroke:var(--brand);stroke-dasharray:36;stroke-dashoffset:36;animation:bkdraw .4s .6s ease forwards}
@keyframes bkdraw{to{stroke-dashoffset:0}}
.bk__donet{outline:0;margin:10px 0 6px;font-family:var(--font-sans);font-weight:800;font-size:22px;color:var(--title)}
.bk__summary{margin:0 auto 10px;max-width:340px;font-size:14.5px;line-height:1.55}
.bk__fine{font-size:11.5px;color:#56676A;margin-bottom:14px}
.bk__form.is-done .bk__nav,.bk__form.is-done .bk__err{display:none}

@media (max-width:978px){
  .book{margin-top:-100px}
  .book__card{grid-template-columns:minmax(0,1fr)}
  .book__panel{clip-path:none;margin-right:0;padding:48px 36px}
  .book__sun{padding:36px 24px;background:repeating-conic-gradient(from 0deg at 50% 0%,rgba(255,255,255,.28) 0deg 4deg,transparent 4deg 12deg),var(--accent)}
  .bk{max-width:560px}
}
@media (max-width:479px){
  .book__panel{padding:40px 22px}
  .book__sun{padding:22px 12px}
  .bk{padding:20px 16px}
  .chips,.bk__fields{grid-template-columns:1fr}
  .slots{grid-template-columns:repeat(2,1fr)}
  .bk__top{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .bk__pane.is-on{animation:none}
  .bk__tick circle,.bk__tick path{animation:none;stroke-dashoffset:0}
}
