/* ═══ BOOK APPOINTMENT — self-contained ═══ */
.scs-book{--deep:#194452;--green:#28876b;--sky:#80c3d8;--sky2:#d9edf4;--mint:#eef6f2;--cloud:#f4fafb;
  --line:#dcebe7;--line2:#c9e0da;--muted:#5b7480;--ink:#1c3d47;
  --fh:'Prata',Georgia,serif;--fb:'Karla',system-ui,'Segoe UI',sans-serif;
  padding:150px 0 90px;background:#fff;font-family:var(--fb);color:var(--ink)}
.bk-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.bk-crumbs{display:flex;align-items:center;gap:10px;margin-bottom:30px;
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.bk-crumbs a{color:var(--muted);text-decoration:none}
.bk-crumbs a:hover{color:var(--green)}
.bk-crumbs i{font-size:9px;color:var(--sky)}
.bk-crumbs span{color:var(--green)}

.bk-head{display:grid;grid-template-columns:1.6fr 1fr;gap:32px;align-items:end;margin-bottom:40px}
.bk-tag{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.bk-tag::before{content:"";width:22px;height:2px;background:var(--green)}
.bk-head h1{font-family:var(--fh);font-weight:400;color:var(--deep);font-size:clamp(28px,4vw,42px);line-height:1.12;margin:0 0 14px}
.bk-head p{color:var(--muted);line-height:1.7;margin:0;max-width:60ch}
.bk-head .btn-book{display:inline-flex;align-items:center;gap:10px;background:var(--deep);color:#fff;
  font-weight:700;padding:14px 24px;border-radius:99px;text-decoration:none;transition:.3s;justify-self:end}
.bk-head .btn-book:hover{background:var(--green);transform:translateY(-3px)}
.bk-head .btn-book i{font-size:.75rem}

/* main grid */
.bk-grid{display:grid;grid-template-columns:1fr 400px;gap:36px;align-items:start}
.bk-form-card{background:#fff;border:1px solid var(--line2);border-radius:18px 18px 18px 5px;padding:34px;box-shadow:0 18px 45px rgba(25,68,82,.08)}
.bk-group{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.bk-group:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.bk-group h2{font-family:var(--fh);font-weight:400;font-size:18px;color:var(--deep);margin:0 0 18px;display:flex;align-items:center;gap:10px}
.bk-group h2::before{content:"";width:4px;height:18px;border-radius:4px;background:var(--green)}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}
.bk-row.full{grid-template-columns:1fr}
.bk-field label{display:block;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.bk-field .u-in,.bk-field select,.bk-field textarea{width:100%;border:0;border-bottom:1.5px solid var(--line2);background:transparent;
  padding:9px 2px;color:var(--deep);font-size:.96rem;font-family:var(--fb);border-radius:0;transition:.3s}
.bk-field textarea{resize:vertical;min-height:92px}
.bk-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%2328876b' d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 2px center;padding-right:22px}
.bk-field .u-in:focus,.bk-field select:focus,.bk-field textarea:focus{outline:none;border-color:var(--green);background:var(--mint)}
.bk-field label.error{display:block;color:#d64545;font-size:.72rem;font-weight:700;margin-top:5px;letter-spacing:0;text-transform:none}
.bk-field .u-in.is-invalid,.bk-field select.is-invalid,.bk-field textarea.is-invalid{border-color:#d64545;background:rgba(214,69,69,.04)}

.bk-submit{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#fff;border:0;
  font-family:var(--fb);font-weight:700;padding:14px 30px;border-radius:99px;cursor:pointer;transition:.3s}
.bk-submit:hover{background:var(--deep);transform:translateY(-2px)}
.bk-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.bk-foot{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bk-foot .mono{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.bk-foot .mono i{color:var(--green);margin-right:6px}
.result{margin-top:14px;font-weight:700;color:var(--green)}
#recaptcha1{transform-origin:left top}

/* RIGHT sidebar */
.bk-side{display:flex;flex-direction:column;gap:18px}
.bk-card{background:#fff;border:1px solid var(--line2);border-radius:16px 16px 16px 5px;padding:24px;overflow:hidden}
.bk-card h2{font-family:var(--fh);font-weight:400;font-size:20px;color:var(--deep);margin:0 0 16px;display:flex;align-items:center;gap:10px}
.bk-card h2::before{content:"";width:4px;height:18px;border-radius:4px;background:var(--green)}
.bk-card .ic{width:44px;height:44px;border-radius:12px 12px 12px 4px;background:var(--mint);color:var(--green);
  display:grid;place-items:center;font-size:1rem;margin-bottom:14px}
.bk-card p{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 12px}
.bk-card strong{color:var(--deep)}
.bk-card a{color:var(--muted);text-decoration:none;transition:.25s;word-break:break-word}
.bk-card a:hover{color:var(--green)}
.bk-card .pill{display:inline-block;background:var(--mint);color:var(--green);font-size:14px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:99px;margin:2px 4px 2px 0}
.bk-setmore{background:var(--deep);color:#fff;border:0;padding:34px 24px;text-align:center;position:relative;overflow:hidden}
.bk-setmore>*{position:relative}
.bk-setmore::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 85% 15%,rgba(128,195,216,.2),transparent 60%)}
.bk-setmore h2{color:#fff;margin-bottom:8px}
.bk-setmore p{color:rgba(255,255,255,.82)}
.bk-setmore a.btnw{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--green);font-weight:700;
  padding:12px 22px;border-radius:99px;text-decoration:none;transition:.3s;margin-top:14px}
.bk-setmore a.btnw:hover{background:var(--sky2);color:var(--deep);transform:translateY(-2px)}

/* map embed at bottom of sidebar */
.bk-map{border:1px solid var(--line2);border-radius:16px 16px 16px 5px;overflow:hidden}
.bk-map iframe{width:100%;height:280px;border:0;display:block}
/* ═══ jQuery UI DATEPICKER — themed to match ═══ */
.ui-datepicker{width:auto;min-width:300px;padding:16px;background:#fff;border:1px solid var(--line2);
  border-radius:16px 16px 16px 5px;box-shadow:0 24px 60px rgba(25,68,82,.28);z-index:99999!important;
  font-family:var(--fb);margin-top:8px}
.ui-datepicker .ui-datepicker-header{position:relative;padding:4px 0 12px;border-bottom:1px solid var(--line);margin-bottom:10px}
.ui-datepicker .ui-datepicker-title{display:flex;justify-content:center;gap:8px}
.ui-datepicker .ui-datepicker-title select{border:1px solid var(--line2);border-radius:10px;padding:6px 10px;
  color:var(--deep);font-weight:700;background:#fff;font-family:var(--fb);font-size:.88rem;cursor:pointer}
.ui-datepicker .ui-datepicker-title select:focus{outline:none;border-color:var(--green)}

/* prev / next arrows (replace missing jQuery UI sprite) */
.ui-datepicker a.ui-datepicker-prev,.ui-datepicker a.ui-datepicker-next{position:absolute;top:8px;width:34px;height:34px;
  border-radius:10px 10px 10px 4px;display:grid;place-items:center;cursor:pointer;background:var(--mint);transition:.25s}
.ui-datepicker a.ui-datepicker-prev{left:4px}
.ui-datepicker a.ui-datepicker-next{right:4px}
.ui-datepicker a.ui-datepicker-prev:hover,.ui-datepicker a.ui-datepicker-next:hover{background:var(--green)}
.ui-datepicker a.ui-datepicker-prev:hover::after,.ui-datepicker a.ui-datepicker-next:hover::after{color:#fff}
.ui-datepicker .ui-datepicker-prev .ui-icon,.ui-datepicker .ui-datepicker-next .ui-icon{display:none}
.ui-datepicker a.ui-datepicker-prev::after,.ui-datepicker a.ui-datepicker-next::after{
  font-family:"Font Awesome 5 Free";font-weight:900;font-size:.72rem;color:var(--green)}
.ui-datepicker a.ui-datepicker-prev::after{content:"\f053"}
.ui-datepicker a.ui-datepicker-next::after{content:"\f054"}

/* calendar grid */
.ui-datepicker table{width:100%;border-collapse:separate;border-spacing:2px}
.ui-datepicker th{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  font-weight:700;padding:6px 0;text-align:center}
.ui-datepicker td{padding:0;text-align:center}
.ui-datepicker td a,.ui-datepicker td span{display:block;min-width:34px;padding:8px 4px;border-radius:10px;
  text-align:center;color:var(--ink);font-weight:600;font-size:.9rem;text-decoration:none;transition:.2s}
.ui-datepicker td a:hover{background:var(--mint);color:var(--green)}
.ui-datepicker td .ui-state-active{background:var(--green);color:#fff;box-shadow:0 6px 14px rgba(40,135,107,.35)}
.ui-datepicker td .ui-state-highlight{background:var(--sky2);color:var(--deep)}
.ui-datepicker td .ui-state-disabled{opacity:.35}
.ui-datepicker td .ui-priority-secondary{opacity:.45}

/* Today / Done buttons */
.ui-datepicker .ui-datepicker-buttonpane{display:flex;justify-content:center;gap:10px;margin-top:12px;
  padding-top:12px;border-top:1px solid var(--line)}
.ui-datepicker .ui-datepicker-buttonpane button{border:0;border-radius:99px;padding:8px 18px;
  font-weight:700;font-size:.85rem;cursor:pointer;font-family:var(--fb);transition:.25s}
.ui-datepicker .ui-datepicker-current{background:var(--mint);color:var(--green)}
.ui-datepicker .ui-datepicker-current:hover{background:var(--sky2)}
.ui-datepicker .ui-datepicker-close{background:var(--green);color:#fff}
.ui-datepicker .ui-datepicker-close:hover{background:var(--deep)}

/* keep it inside small screens */
@media (max-width:575.98px){
  .ui-datepicker{min-width:0;width:calc(100vw - 40px)}
}
@media (max-width:1199.98px){
  .bk-head{grid-template-columns:1fr}
  .bk-head .btn-book{justify-self:start}
  .bk-grid{grid-template-columns:1fr}
}
@media (max-width:767.98px){
  .scs-book{padding-top:120px}
  .bk-wrap{padding:0 16px}
  .bk-form-card{padding:24px 20px}
  .bk-row{grid-template-columns:1fr}
  #recaptcha1{transform:scale(.82)}
}
@media (max-width:575.98px){
  .bk-form-card{padding:20px 16px}
}