/* Book Now side tab, nudge bubble and popup form */
.bk-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;align-items:center;gap:12px;background:#E4572E;color:#fff;border:0;border-radius:14px 0 0 14px;padding:20px 12px;cursor:pointer;font:700 17px/1 'Rubik',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;box-shadow:-4px 8px 24px rgba(12,39,54,.3);transition:background .2s,transform .2s,padding .2s}
.bk-tab span{writing-mode:vertical-rl;text-orientation:mixed}
.bk-tab svg{width:22px;height:22px;flex:none}
.bk-tab::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(228,87,46,.6);animation:bkPulse 2.4s ease-out infinite;pointer-events:none}
.bk-tab:hover,.bk-tab:focus-visible{background:#CF4620;transform:translateY(-50%) translateX(-5px)}
.bk-tab:focus-visible{outline:3px solid #0C2736;outline-offset:3px}
@keyframes bkPulse{0%{box-shadow:0 0 0 0 rgba(228,87,46,.6)}70%,100%{box-shadow:0 0 0 16px rgba(228,87,46,0)}}

.bk-nudge{position:fixed;right:62px;top:50%;transform:translateY(-50%);z-index:59;display:flex;align-items:flex-start;width:min(260px,calc(100vw - 96px));background:#fff;color:#0C2736;border:1.5px solid #E4572E;border-radius:14px;box-shadow:0 14px 34px rgba(12,39,54,.25);animation:bkSlide .45s cubic-bezier(.2,.7,.2,1)}
.bk-nudge[hidden]{display:none}
.bk-nudge-go{flex:1;text-align:left;background:none;border:0;cursor:pointer;color:inherit;font:500 15px/1.4 'Barlow',system-ui,sans-serif;padding:14px 4px 14px 16px}
.bk-nudge-go b{display:block;font:700 17px/1.25 'Rubik',system-ui,sans-serif;color:#E4572E;margin-top:2px}
.bk-x2{flex:none;width:36px;height:36px;border:0;background:none;color:#4F6676;font-size:22px;line-height:1;cursor:pointer;border-radius:50%}
.bk-x2:hover{color:#0C2736}
@keyframes bkSlide{from{opacity:0;transform:translateY(-50%) translateX(24px)}}

.bk-ov{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(8,30,44,.64);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow:auto}
.bk-ov.open{display:flex;animation:bkFade .2s ease-out}
@keyframes bkFade{from{opacity:0}}
.bk-card{position:relative;width:min(580px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;color:#0C2736;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:bkRise .35s cubic-bezier(.2,.7,.2,1)}
@keyframes bkRise{from{opacity:0;transform:translateY(26px) scale(.97)}}
.bk-head{position:relative;background:#0C2736;color:#fff;padding:26px 74px 24px 28px}
.bk-kick{margin:0 0 6px;font:600 13px/1.2 'Barlow',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#74C2EC}
.bk-head h2{margin:0;font:700 clamp(28px,6vw,36px)/1.1 'Rubik',system-ui,sans-serif;color:#fff}
.bk-head h2 em{font-style:normal;color:#FF7A45}
.bk-sub{margin:8px 0 0;font:400 16px/1.5 'Barlow',system-ui,sans-serif;color:#C5D8E3}
.bk-close{position:absolute;top:14px;right:14px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.bk-close:hover{background:rgba(255,255,255,.24)}
.bk-form,.bk-done{padding:24px 28px 28px;font-family:'Barlow',system-ui,sans-serif}
.bk-form label{display:block;margin-bottom:14px;font-weight:600;font-size:15px;color:#0C2736}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.bk-form input,.bk-form select,.bk-form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;min-height:50px;border:1.5px solid #C9D9E2;border-radius:10px;background:#fff;color:#0C2736;font:400 16px/1.4 'Barlow',system-ui,sans-serif}
.bk-form textarea{min-height:92px;resize:vertical}
.bk-form input:focus,.bk-form select:focus,.bk-form textarea:focus{outline:3px solid rgba(31,127,168,.35);border-color:#1F7FA8}
.bk-form .bad{border-color:#C0361A;background:#FFF6F3}
.bk-err{margin:0 0 12px;min-height:0;color:#B02E14;font-weight:600;font-size:15px}
.bk-err:empty{display:none}
.bk-submit{display:block;width:100%;min-height:56px;border:0;border-radius:12px;background:#E4572E;color:#fff;font:700 19px/1 'Rubik',system-ui,sans-serif;cursor:pointer;transition:background .2s,transform .15s;box-shadow:0 10px 22px rgba(228,87,46,.35)}
.bk-submit:hover{background:#CF4620;transform:translateY(-2px)}
.bk-submit[disabled]{opacity:.7;cursor:progress;transform:none}
.bk-or{margin:16px 0 0;text-align:center;color:#4F6676;font-size:16px}
.bk-or a,.bk-call{color:#1F7FA8;font-weight:700;text-decoration:none}
.bk-or a:hover{text-decoration:underline}
.bk-done{text-align:center;padding-top:30px}
.bk-done[hidden],.bk-form[hidden]{display:none}
.bk-done h3{margin:0 0 8px;font:700 28px/1.15 'Rubik',system-ui,sans-serif;color:#1F7FA8}
.bk-done p{margin:0 auto 18px;max-width:40ch;color:#4F6676;font-size:17px}
.bk-call{display:block;margin:0 auto 12px;max-width:340px;padding:15px 20px;border-radius:12px;background:#E4572E;color:#fff;font:700 20px/1.2 'Rubik',system-ui,sans-serif}
.bk-call:hover{background:#CF4620}
.bk-back{background:none;border:0;color:#4F6676;font:600 16px/1 'Barlow',system-ui,sans-serif;cursor:pointer;padding:12px;text-decoration:underline}

@media(max-width:700px){
  .bk-tab{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:16px;transform:none;flex-direction:row;gap:10px;border-radius:999px;padding:15px 22px;font-size:16px;box-shadow:0 10px 28px rgba(12,39,54,.38)}
  .bk-tab span{writing-mode:horizontal-tb}
  .bk-tab:hover,.bk-tab:focus-visible{transform:none}
  .bk-nudge{right:16px;top:auto;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:none;width:min(280px,calc(100vw - 32px))}
  @keyframes bkSlide{from{opacity:0;transform:translateY(16px)}}
  .bk-ov{align-items:flex-end;padding:0}
  .bk-card{border-radius:20px 20px 0 0;max-height:94vh;max-height:94dvh;width:100%}
  .bk-head{padding:22px 70px 20px 20px}
  .bk-form,.bk-done{padding:20px 20px calc(24px + env(safe-area-inset-bottom,0px))}
  .bk-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.bk-tab::after,.bk-nudge,.bk-ov.open,.bk-card{animation:none}.bk-tab,.bk-submit{transition:none}}


/* ===== Full-page booking (opens like its own page) ===== */
.bk-ov{align-items:stretch!important;justify-content:stretch!important;padding:0!important;background:#fff!important;overflow-y:auto;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.bk-ov.open{display:block!important;transform-origin:center center;animation:bkPop .4s cubic-bezier(.34,1.56,.64,1)!important}
@keyframes bkPop{0%{opacity:0;transform:scale(.82)}60%{opacity:1}100%{opacity:1;transform:scale(1)}}
@keyframes bkUp{from{opacity:0;transform:translateY(26px)}}
@keyframes bkGrad{0%,100%{background-position:0 0}50%{background-position:100% 100%}}
.bk-card{display:grid!important;grid-template-columns:minmax(320px,.85fr) 1.15fr;width:100%!important;max-width:none!important;max-height:none!important;min-height:100%;border-radius:0!important;box-shadow:none!important;animation:none!important;overflow:visible!important;background:#fff}
.bk-head{grid-column:1;grid-row:1/span 2;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:72px 44px 44px!important;background:linear-gradient(160deg,#0C2736 0%,#14475F 60%,#1F7FA8 140%);background-size:200% 200%;animation:bkGrad 14s ease infinite}
.bk-head h2{font-size:clamp(34px,4.4vw,56px)!important;margin-top:6px!important}
.bk-points{list-style:none;margin:28px 0 0;padding:0;color:#E3EEF4;font:400 17px/1.5 'Barlow',system-ui,sans-serif}
.bk-points li{position:relative;padding:12px 0 12px 34px;border-top:1px solid rgba(255,255,255,.18)}
.bk-points li:before{content:"";position:absolute;left:0;top:16px;width:18px;height:18px;border-radius:50%;background:#74C2EC}
.bk-phone{margin-top:auto;padding-top:32px;font:700 clamp(26px,3vw,36px)/1 'Rubik',system-ui,sans-serif;color:#fff;text-decoration:none}
.bk-phone small{display:block;margin-bottom:8px;font:600 13px/1 'Barlow',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#74C2EC}
.bk-phone:hover{color:#FF7A45}
.bk-close{position:fixed!important;top:16px;right:16px;z-index:5;background:#E4572E!important;box-shadow:0 0 0 3px #fff,0 8px 20px rgba(12,39,54,.3);transition:transform .25s,background .2s}
.bk-close:hover{background:#CF4620!important;transform:rotate(90deg)}
.bk-form,.bk-done{grid-column:2;width:100%;max-width:700px;justify-self:center;align-self:center;padding:72px max(28px,4vw) 56px!important}
.bk-ov.open .bk-head>*{animation:bkUp .6s cubic-bezier(.2,.7,.2,1) both}
.bk-ov.open .bk-head>*:nth-child(2){animation-delay:.12s}.bk-ov.open .bk-head>*:nth-child(3){animation-delay:.2s}.bk-ov.open .bk-head>*:nth-child(4){animation-delay:.28s}.bk-ov.open .bk-head>*:nth-child(5){animation-delay:.36s}.bk-ov.open .bk-head>*:nth-child(6){animation-delay:.44s}
.bk-ov.open .bk-form>*{animation:bkUp .55s cubic-bezier(.2,.7,.2,1) both}
.bk-ov.open .bk-form>*:nth-child(1){animation-delay:.25s}.bk-ov.open .bk-form>*:nth-child(2){animation-delay:.31s}.bk-ov.open .bk-form>*:nth-child(3){animation-delay:.37s}.bk-ov.open .bk-form>*:nth-child(4){animation-delay:.43s}.bk-ov.open .bk-form>*:nth-child(5){animation-delay:.49s}.bk-ov.open .bk-form>*:nth-child(6){animation-delay:.55s}.bk-ov.open .bk-form>*:nth-child(7){animation-delay:.61s}.bk-ov.open .bk-form>*:nth-child(8){animation-delay:.67s}
@media(max-width:860px){
.bk-card{grid-template-columns:1fr!important}
.bk-head{grid-row:auto;grid-column:1;min-height:0;padding:76px 22px 26px!important}
.bk-points,.bk-phone{display:none}
.bk-form,.bk-done{grid-column:1;padding:26px 20px calc(30px + env(safe-area-inset-bottom,0px))!important}
}
@media(prefers-reduced-motion:reduce){.bk-ov.open,.bk-head,.bk-ov.open .bk-head>*,.bk-ov.open .bk-form>*{animation:none!important}}
