/* LoaBooking - front, mobile-first. Charte Loatys. */
.loabooking {
  max-width: 480px;
  --loa-purple:#662483; --loa-blue:#009FE3; --loa-green:#3FA535; --loa-orange:#D17012;
}
.loabooking input[type="radio"] { accent-color: var(--loa-purple); }
.loabooking__date { margin-bottom: 1rem; }
.loabooking__date label { display:block; font-weight:600; margin-bottom:.35rem; }
.loabooking__date-input { width:100%; padding:.6rem .75rem; font-size:1rem; border:1px solid #ccc; border-radius:8px; }
.loabooking__slots {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(84px, 1fr));
  gap:.5rem; margin:.75rem 0 1rem;
}
.loabooking__hint { grid-column:1 / -1; color:#666; font-size:.9rem; }
.loabooking__slot {
  padding:.6rem .25rem; font-size:.95rem; text-align:center;
  border:1px solid #ccc; border-radius:8px; background:#fff; cursor:pointer;
  transition:border-color .12s, background .12s;
}
.loabooking__slot:hover { border-color:var(--loa-blue); }
.loabooking__slot.is-selected { border-color:var(--loa-purple); background:#f3edf8; color:var(--loa-purple); font-weight:600; }
.loabooking__slot[disabled] { opacity:.4; cursor:not-allowed; }
.loabooking__payment { border:1px solid #e0e0e0; border-radius:8px; padding:.75rem; margin:0 0 1rem; }
.loabooking__payment-title { font-weight:600; font-size:.95rem; padding:0 .25rem; }
.loabooking .loabooking__pay-option {
  display:flex; align-items:flex-start; gap:.6rem;
  padding:.55rem .25rem; cursor:pointer; text-align:left;
}
.loabooking__pay-option + .loabooking__pay-option { border-top:1px solid #f0f0f0; }
.loabooking .loabooking__pay-option input { margin:.2rem 0 0; flex:0 0 auto; }
.loabooking .loabooking__pay-label { flex:1 1 auto; min-width:0; display:block; line-height:1.35; text-align:left; }
.loabooking .loabooking__pay-label strong { display:block; font-size:1.05rem; }
.loabooking .loabooking__pay-note { display:block; color:#666; font-size:.82rem; }
.loabooking .loabooking__book.btn { width:100%; padding:.85rem 1rem; font-size:1rem; background:var(--loa-purple); border-color:var(--loa-purple); color:#fff; }
.loabooking .loabooking__book.btn:hover { background:#54206e; border-color:#54206e; }
.loabooking__book[disabled] { opacity:.5; cursor:not-allowed; }
.loabooking__credit { text-align:center; font-size:11px; color:#9a9a9a; margin:.6rem 0 0; }
.loabooking__credit strong { color:var(--loa-purple); font-weight:700; letter-spacing:.02em; }
.loabooking-selector__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:.75rem; margin:.5rem 0 1rem; }
.loabooking-selector__card {
  display:flex; flex-direction:column; gap:.25rem; padding:.85rem 1rem; text-decoration:none;
  border:1px solid #e0e0e0; border-radius:10px; background:#fff; color:#333; transition:border-color .12s, box-shadow .12s;
}
.loabooking-selector__card:hover { border-color:var(--loa-purple); box-shadow:0 2px 8px rgba(102,36,131,.12); text-decoration:none; }
.loabooking-selector__name { font-weight:600; font-size:1rem; color:#222; }
.loabooking-selector__meta { font-size:.85rem; color:#666; }
.loabooking-selector__cta { margin-top:.35rem; align-self:flex-start; font-size:.8rem; font-weight:700; color:#fff; background:var(--loa-purple); padding:.25rem .6rem; border-radius:6px; }
.loabooking-bk { border:1px solid #e0e0e0; border-radius:10px; padding:1rem; margin-bottom:1rem; }
.loabooking-bk__head { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:baseline; }
.loabooking-bk__head strong { font-size:1.05rem; }
.loabooking-bk__when { color:#444; }
.loabooking-bk__due { color:#b00; font-size:.9rem; }
.loabooking-bk__actions { margin-top:.6rem; display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.loabooking-bk__locked { color:#999; font-size:.85rem; }
.loabooking-bk__resched { margin-top:.75rem; padding-top:.75rem; border-top:1px solid #f0f0f0; max-width:480px; }
.loabooking-bk__label { display:block; font-weight:600; margin-bottom:.35rem; }
.loabooking-bk__confirm { margin-top:.25rem; }
