/* Flexibook theme — adjust these to recolor the whole site */
:root{
  --primary:#22c55e;   /* soft, standout green */
  --primary-600:#16a34a;
  --ring:#a7f3d0;
}
.bg-primary{ background:var(--primary) !important; }

/* Calendar selections */
.cal-selected{ outline:2px solid var(--primary); outline-offset:0; }
.cal-off{ opacity:.35; }

/* Lightweight fallbacks (when CDN is blocked) */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.55rem .9rem; border-radius:.75rem; border:1px solid #e2e8f0; background:#fff; }
.btn:hover{ background:#f8fafc; }
.btn-primary{ background:var(--primary); color:#fff; border-color:var(--primary); }
.btn-primary:hover{ background:var(--primary-600); }
.btn-outline{ background:#fff; }
.btn-accent{ background:#06b6d4; color:#fff; border-color:#06b6d4; }
.btn-success{ background:#10b981; color:#fff; border-color:#10b981; }
.btn-sm{ padding:.35rem .6rem; font-size:.85rem; }
.join{ display:inline-flex; border-radius:.75rem; overflow:hidden; }
.join .btn{ border-radius:0; border-left-width:0; }
.join .btn:first-child{ border-left-width:1px; border-top-left-radius:.75rem; border-bottom-left-radius:.75rem; }
.join .btn:last-child{ border-top-right-radius:.75rem; border-bottom-right-radius:.75rem; }

.card{ border-radius:1rem; }
.card-body{ padding:1.25rem; }
.card-title{ font-weight:700; font-size:1.125rem; }

.input, .select, .textarea{
  width:100%; border:1px solid #e2e8f0; border-radius:.75rem; padding:.6rem .75rem; background:#fff;
}
.input:focus, .select:focus, .textarea:focus{ outline:2px solid var(--ring); outline-offset:2px; }

.label{ font-size:.85rem; color:#334155; margin-bottom:.25rem; }
.link{ color:#0369a1; }
.link:hover{ text-decoration:underline; }
.border{ border:1px solid #e2e8f0; }
.rounded-xl{ border-radius:1rem; }
