/* Booking widget — partagé entre qualification.html et acquisition.html */

.book-final{
  grid-template-columns: 1.05fr 1.2fr;
  align-items:stretch;
  padding:48px 48px;
  gap:48px;
}
@media (max-width:980px){ .book-final{ grid-template-columns:1fr; padding:36px 24px; gap:28px; } }
.book-intro{ position:relative; z-index:1; align-self:center; }
.book-intro h2{ font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size: clamp(28px, 3.6vw, 44px); line-height:1.02; margin:18px 0 14px; letter-spacing:-0.02em; }
.book-intro p{ color:#8FA0BD; max-width:38ch; margin:0 0 22px; }
.book-bullets{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; font-size:14px; color:#C9D3E8; }
.book-bullets li{ display:flex; align-items:center; gap:10px; }
.eyebrow-on-dark{ background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.12); color:#C9D3E8; }
.eyebrow-on-dark .badge{ background:var(--green); color:var(--ink); }

.booker{
  position:relative; z-index:1;
  background:#fff; color:var(--ink); border-radius:18px;
  padding:20px 22px 16px;
  display:flex; flex-direction:column;
  box-shadow: 0 30px 60px -30px rgba(0,0,0,0.45), 0 6px 12px -8px rgba(0,0,0,0.2);
  min-height:480px;
}
.booker-head{
  display:flex; align-items:center; gap:14px;
  padding-bottom:14px; border-bottom:1px solid var(--line);
  margin-bottom:16px;
}
.booker-back{
  border:1px solid var(--line-2); background:#fff;
  border-radius:999px; padding:6px 12px; font-size:12px; cursor:pointer;
  font-family:'JetBrains Mono',monospace; color:var(--ink-2);
  transition: background .15s ease;
}
.booker-back:hover{ background:var(--bg-2); }
.booker-title{ font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:18px; letter-spacing:-0.01em; color:var(--ink); }
.booker-body{ flex:1; display:flex; flex-direction:column; min-height:0; }
.booker-step{ flex:1; display:flex; flex-direction:column; min-height:0; }
.booker-step[hidden]{ display:none; }
.booker-loading{ display:flex; align-items:center; justify-content:center; padding:48px 0; color:var(--ink-3); font-family:'JetBrains Mono',monospace; font-size:13px; }
.booker-foot{
  margin-top:14px; padding-top:12px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center;
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-3);
}

/* calendar */
.cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; gap:12px; }
.cal-nav{
  width:32px; height:32px; border-radius:50%;
  border:1px solid var(--line-2); background:#fff; color:var(--ink-2);
  font-size:18px; line-height:1; cursor:pointer; display:grid; place-items:center;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.cal-nav:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.cal-nav:disabled{ opacity:0.3; cursor:not-allowed; background:#fff; color:var(--ink-4); border-color:var(--line); }
.cal-month{ font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:17px; letter-spacing:-0.01em; text-transform:capitalize; }
.cal-weekdays{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; margin-bottom:6px; }
.cal-weekdays span{ font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--ink-4); text-align:center; padding:4px 0; }
.cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal-day{
  aspect-ratio:1; display:grid; place-items:center;
  border:1px solid transparent; border-radius:10px;
  font-size:14px; font-weight:500; color:var(--ink); background:transparent;
  cursor:pointer; transition: background .12s ease, color .12s ease, border-color .12s ease;
  font-family:inherit;
}
.cal-day:hover:not(:disabled){ background:var(--green-soft); border-color:var(--green); color:var(--green-deep); }
.cal-day.empty{ visibility:hidden; pointer-events:none; }
.cal-day:disabled{ color:var(--ink-4); cursor:not-allowed; background:transparent; }
.cal-day.today{ outline:1.5px dashed var(--line-2); outline-offset:-3px; }
.cal-day.has-slots{ background:var(--bg-2); color:var(--ink); }
.cal-day.selected{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* time slots */
.time-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; align-content:flex-start; max-height:340px; overflow-y:auto; padding:2px; }
@media (max-width:560px){ .time-grid{ grid-template-columns:repeat(2,1fr); } }
.time-slot{
  padding:11px 10px; border:1px solid var(--line); border-radius:10px;
  background:#fff; color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:13px;
  cursor:pointer; transition: background .12s ease, border-color .12s ease, color .12s ease;
}
.time-slot:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* form */
.book-form{ display:flex; flex-direction:column; gap:12px; }
.book-form .hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.book-form .fld{ display:flex; flex-direction:column; gap:5px; }
.book-form .fld > span{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-3); }
.book-form .fld input, .book-form .fld select, .book-form .fld textarea{
  padding:10px 12px; border:1px solid var(--line-2); border-radius:10px; background:#fff;
  font-family:'Outfit',sans-serif; font-size:14px; color:var(--ink); width:100%;
  outline:none; transition: border-color .12s ease, box-shadow .12s ease;
}
.book-form .fld textarea{ resize:vertical; min-height:64px; font-family:'Outfit',sans-serif; }
.book-form .fld input:focus, .book-form .fld select:focus, .book-form .fld textarea:focus{
  border-color:var(--blue-rcs); box-shadow: 0 0 0 3px color-mix(in oklab, var(--blue-rcs) 22%, transparent);
}
.fld-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:560px){ .fld-row{ grid-template-columns:1fr; } }
.btn-book{
  margin-top:6px; padding:13px 18px; border:none; border-radius:999px;
  background:var(--blue-rcs); color:#fff; font-size:15px; font-weight:600;
  font-family:'Outfit',sans-serif; cursor:pointer;
  transition: background .15s ease, transform .15s ease;
}
.btn-book:hover{ background:#0F437F; transform:translateY(-1px); }
.btn-book[disabled]{ background:var(--ink-4); cursor:wait; transform:none; }
.book-error{
  padding:10px 12px; border-radius:10px;
  background:#FEE; border:1px solid #F2C7C7; color:#A23939; font-size:13px;
}
.book-legal{ color:var(--ink-3); font-size:12px; line-height:1.5; text-align:center; padding:6px 0 0; }
.book-legal a{ color:var(--ink-2); }

/* success */
.success{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:24px 0 8px; gap:8px; }
.success-icon{
  width:56px; height:56px; border-radius:50%; background:var(--green); color:var(--ink);
  display:grid; place-items:center; font-size:28px; font-weight:700;
  margin-bottom:6px;
}
.success-title{ font-family:'Bricolage Grotesque',sans-serif; font-weight:700; font-size:24px; letter-spacing:-0.01em; }
.success-when{ font-family:'Bricolage Grotesque',sans-serif; font-weight:400; font-size:20px; color:var(--ink-2); margin:2px 0 8px; }
.success-desc{ font-size:14px; color:var(--ink-3); max-width:36ch; line-height:1.55; }
.success-ref{ margin-top:14px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-4); }
