/* Puppy School front-end styles */
.psb-field-group { margin: 16px 0; }
.psb-field-group label { display:block; font-weight:600; margin-bottom:8px; }
.psb-date-cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:12px; }
.psb-card { display:block; }
.psb-card input { display:none; }
.psb-card-inner { display:block; border:1px solid #ddd; border-radius:12px; padding:14px; text-align:center; box-shadow: 0 2px 8px rgba(0,0,0,.05); transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
.psb-card input:checked + .psb-card-inner { border-color:#2c7be5; box-shadow: 0 6px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
.psb-card-inner strong { display:block; font-size:16px; }
.psb-card-inner small { display:block; opacity:.7; margin-top:4px; }
.psb-no-dates { padding:10px; background:#fff8e5; border:1px solid #ffe5a0; border-radius:8px; }

.psb-attendee .form-row { margin-bottom:12px; }
.psb-attendee input[type="text"] { width:100%; border:1px solid #ddd; border-radius:8px; padding:10px; }


.psb-card.psb-full .psb-card-inner { opacity:.6; position:relative; }
.psb-card.psb-full .psb-card-inner::after {
    content:'Full'; position:absolute; top:10px; right:10px; font-size:12px; font-weight:700; background:#eee; border-radius:999px; padding:2px 8px; border:1px solid #ccc;
}

.psb-course-options {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.psb-courses {
  display: flex;
  gap: 10px;
  margin: 6px 0;
}

.psb-chip span {
  padding: 6px 12px;
  border: 2px solid #ccc;
  border-radius: 20px;
  cursor: pointer;
  font-size: 14px;
  background: #fff;
  transition: all 0.2s ease;
}

.psb-chip input {
  display: none;
}

.psb-chip:hover {
  background: #f9f9f9;
  border-color: #999;
}

.psb-chip input:checked + span,
.psb-chip input:checked {
  border-color: #E82784;
}