/* Afterbrain online booking widget --------------------------------------- */
.ab-book{--bk-radius:16px;max-width:920px;margin:0 auto;text-align:left}
.ab-book *{box-sizing:border-box}
.ab-book .ab-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:14px}
.ab-book .ab-panel{background:var(--cream);border:1px solid var(--line);
  border-radius:var(--bk-radius);padding:18px}
.ab-book .ab-panel-title{font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--turq-d);margin:0 0 12px}
.ab-book .ab-eastern{font-size:12px;color:var(--muted);margin-top:10px}

/* day list */
.ab-days{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow:auto}
.ab-day{display:flex;justify-content:space-between;align-items:center;gap:10px;
  border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 13px;
  cursor:pointer;font:inherit;color:var(--ink);text-align:left;transition:.15s}
.ab-day:hover{border-color:var(--turq)}
.ab-day.is-active{border-color:var(--turq);background:rgba(0,200,192,.08);
  box-shadow:inset 0 0 0 1px var(--turq)}
.ab-day .ab-day-name{font-weight:600;text-transform:capitalize}
.ab-day .ab-day-count{font-size:12px;color:var(--muted)}

/* time grid */
.ab-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ab-time{border:1px solid var(--line);background:#fff;border-radius:12px;
  padding:12px 6px;cursor:pointer;font:inherit;font-weight:600;color:var(--ink);
  text-align:center;transition:.15s}
.ab-time:hover{border-color:var(--turq)}
.ab-time.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.ab-hint{color:var(--muted);font-size:14px;padding:6px 2px}

/* form */
.ab-form{display:grid;gap:12px;margin-top:16px;
  border-top:1px solid var(--line);padding-top:18px}
.ab-selected{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:14px;color:var(--ink)}
.ab-selected b{color:var(--turq-d)}
.ab-field{display:grid;gap:5px}
.ab-field label{font-size:13px;font-weight:600;color:var(--ink)}
.ab-field input,.ab-field textarea{font:inherit;padding:11px 13px;border-radius:11px;
  border:1px solid var(--line);background:#fff;color:var(--ink);width:100%}
.ab-field input:focus,.ab-field textarea:focus{outline:none;border-color:var(--turq);
  box-shadow:0 0 0 3px rgba(0,200,192,.18)}
.ab-field textarea{min-height:74px;resize:vertical}
.ab-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ab-book .ab-submit{width:100%;justify-content:center;margin-top:2px}
.ab-book .ab-submit[disabled]{opacity:.6;cursor:progress}
.ab-msg{font-size:14px;padding:10px 13px;border-radius:11px}
.ab-msg.err{background:rgba(200,60,60,.1);color:#8a2b2b}
.ab-msg.ok{background:rgba(0,200,192,.12);color:#065f5b}

/* states */
.ab-loading,.ab-empty,.ab-error{text-align:center;padding:26px 16px;color:var(--muted)}
.ab-spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--line);
  border-top-color:var(--turq);margin:0 auto 12px;animation:ab-spin .8s linear infinite}
@keyframes ab-spin{to{transform:rotate(360deg)}}
.ab-success{text-align:center;padding:34px 20px}
.ab-success h3{margin:0 0 8px}
.ab-success .ab-check{width:52px;height:52px;border-radius:50%;background:var(--turq);
  color:#062b2a;display:flex;align-items:center;justify-content:center;
  font-size:28px;margin:0 auto 14px}

@media(max-width:720px){
  .ab-book .ab-grid{grid-template-columns:1fr}
  .ab-times{grid-template-columns:repeat(2,1fr)}
  .ab-row2{grid-template-columns:1fr}
}
