/* Booking page (/booking/, app/views/booking.php + js/booking.js) and the thank-you page. */
.bk{
  --bk-navy:#0B2A55;--bk-navy-900:#051A39;--bk-orange:#F47421;--bk-line:#E3E9F1;--bk-tint:#F4F7FB;--bk-muted:#5B6B82;
  padding-bottom:clamp(48px,6vw,96px);background:var(--bk-tint);color:var(--bk-navy);
  font-family:"Poppins","Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.bk *,.bk *::before,.bk *::after{box-sizing:border-box;}
.bk-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

.bk-hero{
  padding:clamp(40px,5vw,72px) 0 clamp(120px,12vw,160px);text-align:center;color:rgba(255,255,255,.84);
  background:radial-gradient(circle at 15% 120%,rgba(244,116,33,.25),transparent 40%),radial-gradient(circle at 90% 0%,rgba(96,140,210,.28),transparent 42%),linear-gradient(140deg,var(--bk-navy) 0%,var(--bk-navy-900) 100%);
}
.bk-kicker{display:inline-block;margin-bottom:14px;color:#FFB27A;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.bk-hero h1{max-width:860px;margin:0 auto;color:#FFFFFF;font-size:clamp(30px,4vw,52px);font-weight:800;line-height:1.12;letter-spacing:-.02em;}
.bk-hero h1 em{font-style:normal;color:var(--bk-orange);}
.bk-hero p{max-width:620px;margin:16px auto 0;font-size:clamp(15.5px,1.2vw,18px);line-height:1.7;}

/* the form card rises into the navy header; the sidebar sits beside it */
.bk-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(20px,2.4vw,32px);align-items:start;margin-top:clamp(-120px,-9vw,-84px);}
.bk-card{overflow:hidden;border-radius:24px;background:#FFFFFF;box-shadow:0 30px 70px rgba(5,26,57,.16);scroll-margin-top:110px;}
.bk-card .ig-bk__head{grid-template-columns:44px minmax(0,1fr) auto;padding:16px 22px;}
.bk-card .ig-bk__count{margin:0;white-space:nowrap;}
.bk-card .ig-bk__body{padding:clamp(24px,3.6vw,44px);}

.bk-side{position:sticky;top:110px;display:grid;gap:16px;}
.bk-box{padding:24px;border:1px solid var(--bk-line);border-radius:20px;background:#FFFFFF;box-shadow:0 14px 34px rgba(11,42,85,.06);}
.bk-box__label{display:block;margin-bottom:12px;color:var(--bk-orange);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.bk-office{border-top:4px solid var(--bk-orange);}
.bk-office h2{margin:0 0 10px;font-size:20px;font-weight:800;line-height:1.3;color:var(--bk-navy);}
.bk-office__addr{display:flex;gap:10px;margin:0;font-size:15px;line-height:1.55;color:var(--bk-muted);}
.bk-office__addr svg{flex:none;width:18px;height:18px;margin-top:3px;fill:none;stroke:var(--bk-orange);stroke-width:2;}
.bk-office__hours{display:grid;gap:4px;margin:12px 0 0;padding:0;list-style:none;font-size:14px;color:var(--bk-muted);}
.bk-office__change{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:#DA6210;text-decoration:underline;}
.bk-office__change:hover{color:var(--bk-navy);}
.bk-checks{display:grid;gap:12px;margin:0;padding:0;list-style:none;}
.bk-checks li{display:flex;gap:10px;font-size:15px;font-weight:500;line-height:1.5;color:var(--bk-navy);}
.bk-checks svg{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;background:#FDEEE3;fill:none;stroke:var(--bk-orange);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.bk-call{border-color:var(--bk-navy);background:var(--bk-navy);}
.bk-call .bk-box__label{color:#FFB27A;}
.bk-call__btn{display:flex;align-items:center;justify-content:center;height:50px;border-radius:12px;background:#FFFFFF;color:var(--bk-navy);font-weight:700;text-decoration:none;transition:background .2s ease,color .2s ease;}
.bk-call__btn:hover{background:var(--bk-orange);color:#FFFFFF;}

/* ---------- office search ---------- */
.bk-find{position:relative;}
.bk-find__field{position:relative;}
.bk-find__field svg{position:absolute;top:50%;left:18px;width:22px;height:22px;transform:translateY(-50%);fill:none;stroke:#5B6B82;stroke-width:2;stroke-linecap:round;pointer-events:none;}
.bk-find__field input{
  width:100%;height:60px;padding:0 18px 0 52px;border:1.5px solid #D5DDE8;border-radius:14px;background:#FFFFFF;
  font:inherit;font-size:17px;color:#0B2A55;transition:border-color .18s ease,box-shadow .18s ease;
}
.bk-find__field input::placeholder{color:#8A97AB;}
.bk-find__field input:focus{outline:none;border-color:#F47421;box-shadow:0 0 0 4px rgba(244,116,33,.18);}
.bk-find__field input[aria-expanded="true"]{border-radius:14px 14px 0 0;}
.bk-find__list{
  margin:0;padding:6px;list-style:none;max-height:320px;overflow-y:auto;
  border:1.5px solid #F47421;border-top:0;border-radius:0 0 14px 14px;background:#FFFFFF;box-shadow:0 18px 36px rgba(11,42,85,.12);
}
.bk-find__opt{display:flex;align-items:center;gap:14px;padding:12px;border-radius:10px;cursor:pointer;}
.bk-find__opt b{display:block;font-size:15.5px;font-weight:700;color:#0B2A55;}
.bk-find__opt small{display:block;margin-top:2px;font-size:13px;color:#5B6B82;}
.bk-find__opt.is-active,.bk-find__opt:hover{background:#FFF6EF;}
.bk-find__opt.is-active .ig-bk__ico{background:#F47421;color:#FFFFFF;}
.bk-find__msg{min-height:20px;margin:10px 2px 0;font-size:13.5px;line-height:1.5;color:#5B6B82;}
.bk-find__all{margin-left:4px;padding:0;border:0;background:none;font:inherit;font-weight:700;color:#DA6210;text-decoration:underline;cursor:pointer;}
.bk-picked{
  display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid #F47421;border-radius:14px;background:#FFF6EF;
  box-shadow:inset 0 0 0 1px #F47421;
}
.bk-picked[hidden]{display:none;}
.bk-picked .ig-bk__ico{background:#F47421;color:#FFFFFF;}
.bk-picked div{flex:1;min-width:0;}
.bk-picked b{display:block;font-size:15.5px;font-weight:700;color:#0B2A55;}
.bk-picked span{display:block;margin-top:2px;font-size:13px;color:#5B6B82;}
.bk-picked__change{flex:none;padding:8px 14px;border:1.5px solid #D5DDE8;border-radius:10px;background:#FFFFFF;font:inherit;font-size:14px;font-weight:600;color:#0B2A55;cursor:pointer;}
.bk-picked__change:hover{border-color:#F47421;color:#DA6210;}

/* ---------- the form ---------- */
/* header: back · progress · step count */
.ig-bk__head{
  flex:none;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:14px;
  padding:14px 16px;border-bottom:1px solid #E3E9F1;
}
.ig-bk__back{
  width:44px;height:44px;padding:0;border:0;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:#F4F7FB;color:#0B2A55;transition:background .2s ease,color .2s ease,opacity .2s ease;
}
.ig-bk__back:hover:not(:disabled){background:#F47421;color:#FFFFFF;}
.ig-bk__back:disabled{opacity:0;pointer-events:none;}
.ig-bk__back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.ig-bk__progress{height:6px;border-radius:3px;background:#E3E9F1;overflow:hidden;}
.ig-bk__progress b{display:block;width:20%;height:100%;border-radius:3px;background:linear-gradient(90deg,#F47421,#FBA95C);transition:width .35s ease;}

.ig-bk__count{margin:0 0 8px;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#F47421;}
.ig-bk__pane{margin:0;padding:0;border:0;min-width:0;}
.ig-bk__pane[hidden]{display:none;}
.ig-bk__q{
  float:left;width:100%;padding:0;margin:0 0 8px;outline:none;
  font-size:clamp(22px,3.4vw,28px);line-height:1.2;font-weight:800;letter-spacing:-.01em;color:#0B2A55;
}
.ig-bk__q + *{clear:both;}
.ig-bk__sub{margin:0 0 22px;font-size:15px;line-height:1.6;color:#5B6B82;}

/* choice cards (radio inside a label) */
.ig-bk__opts{display:grid;gap:10px;}
.ig-bk__opts--2{grid-template-columns:1fr 1fr;}
.ig-bk__opt{
  position:relative;display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 16px;
  border:1.5px solid #E3E9F1;border-radius:14px;background:#FFFFFF;cursor:pointer;
  font-size:15.5px;font-weight:600;line-height:1.3;color:#0B2A55;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.ig-bk__opt:hover{border-color:#F47421;transform:translateY(-1px);}
.ig-bk__opt input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.ig-bk__opt:focus-within{box-shadow:0 0 0 3px rgba(244,116,33,.3);}
.ig-bk__opt.is-checked{border-color:#F47421;background:#FFF6EF;box-shadow:inset 0 0 0 1px #F47421;}
.ig-bk__opt small{display:block;margin-top:2px;font-size:13px;font-weight:400;color:#5B6B82;}
.ig-bk__ico{
  flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:#F4F7FB;color:#0B2A55;transition:background .18s ease,color .18s ease;
}
.ig-bk__opt.is-checked .ig-bk__ico{background:#F47421;color:#FFFFFF;}
.ig-bk__ico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}

/* day + time chips */
.ig-bk__label{margin:0 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5B6B82;}
.ig-bk__days{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-bottom:22px;}
.ig-bk__times{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ig-bk__opt--chip{flex-direction:column;justify-content:center;gap:1px;min-height:58px;padding:8px 6px;text-align:center;font-size:15px;}
.ig-bk__opt--chip span{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5B6B82;}
.ig-bk__opt--chip b{font-weight:700;}
.ig-bk__opt--wide{grid-column:span 2;}
.ig-bk__opt--chip.is-checked span{color:#DA6210;}

/* continue / submit */
.ig-bk__next{
  display:block;width:100%;height:54px;margin-top:24px;border:0;border-radius:12px;cursor:pointer;
  background:#0B2A55;color:#FFFFFF;font:inherit;font-size:16px;font-weight:700;
  transition:background .2s ease,opacity .2s ease;
}
.ig-bk__next:hover:not(:disabled){background:#082041;}
.ig-bk__next:disabled{opacity:.35;cursor:not-allowed;}
.ig-bk__submit{margin-top:18px;background:#F47421;}
.ig-bk__submit:hover:not(:disabled){background:#DA6210;}
.ig-bk__note{margin:12px 0 0;text-align:center;font-size:13px;color:#5B6B82;}

/* contact step */
.ig-bk__summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;}
.ig-bk__summary:empty{display:none;}
.ig-bk__summary span{padding:6px 12px;border-radius:999px;background:#F4F7FB;font-size:13px;font-weight:600;color:#0B2A55;}
.ig-bk__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ig-bk__field{display:flex;flex-direction:column;gap:6px;}
.ig-bk__field--full{grid-column:1 / -1;}
.ig-bk__field > span{font-size:13.5px;font-weight:600;color:#0B2A55;}
.ig-bk__field i{font-style:normal;color:#F47421;}
.ig-bk__field em{font-style:normal;font-weight:400;color:#5B6B82;}
.ig-bk__field input,.ig-bk__field textarea{
  width:100%;height:52px;padding:0 14px;border:1.5px solid #D5DDE8;border-radius:10px;background:#FFFFFF;
  font:inherit;font-size:16px;color:#0B2A55;transition:border-color .18s ease,box-shadow .18s ease;
}
.ig-bk__field textarea{height:auto;min-height:84px;padding:12px 14px;line-height:1.5;resize:vertical;}
.ig-bk__field input:focus,.ig-bk__field textarea:focus{outline:none;border-color:#F47421;box-shadow:0 0 0 3px rgba(244,116,33,.2);}
.ig-bk__field input[aria-invalid="true"]{border-color:#D64545;box-shadow:0 0 0 3px rgba(214,69,69,.14);}
.ig-bk__consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;cursor:pointer;font-size:12px;line-height:1.55;color:#5B6B82;}
.ig-bk__consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#F47421;cursor:pointer;}
.ig-bk__consent a{color:#DA6210;text-decoration:underline;}
.ig-bk__consent.is-invalid{color:#B42318;}
.ig-bk__consent.is-invalid input{outline:2px solid #D64545;outline-offset:2px;}
.ig-bk__error{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:#FDECEC;font-size:14px;font-weight:600;color:#B42318;}

/* phones */
@media (max-width:960px){
  .bk-grid{grid-template-columns:minmax(0,1fr);}
  .bk-side{position:static;}
}
@media (max-width:640px){
  .bk-wrap{padding:0 14px;}
  .bk-card .ig-bk__head{padding:12px 14px;}
  .ig-bk__opts--2,.ig-bk__grid{grid-template-columns:1fr;}
  .ig-bk__times{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion:reduce){
  .ig-bk__progress b,.ig-bk__opt{transition:none;}
}

/* ============================================================
   THANK-YOU PAGE (inside .ig-home, extends page.css)
   ============================================================ */
.ty-badge{
  display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:22px;border-radius:50%;
  background:rgba(244,116,33,.16);box-shadow:inset 0 0 0 2px rgba(244,116,33,.55);
}
.ig-home .ty-badge svg{width:30px;height:30px;fill:none !important;stroke:#F47421;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.ty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2vw,28px);align-items:start;}
.ty-card{
  background:#FFFFFF;border:1px solid var(--ig-line);border-radius:16px;
  padding:clamp(22px,2.2vw,32px);box-shadow:0 14px 36px rgba(11,42,85,.08);
}
.ig-home .ty-card h2{margin:0 0 16px;font-size:clamp(19px,1.5vw,23px);font-weight:700;color:var(--ig-navy) !important;}
.ty-summary dl{margin:0;display:grid;gap:14px;}
.ty-summary dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ig-muted);}
.ty-summary dd{margin:3px 0 0;font-size:16px;font-weight:600;color:var(--ig-navy);}
.ty-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:ty;}
.ty-steps li{display:grid;grid-template-columns:34px 1fr;column-gap:14px;counter-increment:ty;}
.ty-steps li::before{
  content:counter(ty);grid-row:span 2;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--ig-orange);color:#FFFFFF;font-size:15px;font-weight:700;
}
.ty-steps b{font-size:15.5px;color:var(--ig-navy);}
.ty-steps span{font-size:14.5px;line-height:1.55;color:var(--ig-muted);}
.ig-home .ty-help p{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--ig-muted);}
.ty-help .ig-btn{width:100%;border-radius:8px;}
.ty-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;}
.ig-home .ty-links a{font-size:15px;font-weight:600;color:var(--ig-orange);}
.ig-home .ty-links a:hover{text-decoration:underline !important;}
