/* Bredeschool Workshops frontend */
.bsw-grid { display:grid; gap:24px; grid-template-columns:1fr; padding:12px 0; }
@media (min-width: 992px) { .bsw-grid { grid-template-columns:1fr 1fr; } }

.bsw-tile { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.07); display:flex; flex-direction:column; transition:transform .15s; }
.bsw-tile:hover { transform:translateY(-3px); }
.bsw-tile__band { height:10px; }
.bsw-tile__image { aspect-ratio:16/9; background:#ddd center/cover no-repeat; }
.bsw-tile__body { padding:20px; display:flex; flex-direction:column; gap:10px; flex:1; }
.bsw-tile__cats { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.bsw-tile__cat { font-size:11px; padding:2px 10px; border-radius:10px; background:#eef2f7; color:#1f3a5c; }
.bsw-tile__title { margin:0; font-size:22px; line-height:1.25; color:#1f3a5c; }
.bsw-tile__subtitle { margin:0; color:#666; font-size:15px; }
.bsw-tile__desc { margin:0; font-size:14px; color:#444; }
.bsw-tile__meta { display:flex; justify-content:space-between; align-items:center; margin-top:auto; gap:12px; flex-wrap:wrap; }
.bsw-tile__date { font-weight:600; color:#1f3a5c; font-size:14px; }
.bsw-tile__status { font-size:12px; padding:4px 10px; border-radius:4px; font-weight:600; }
.bsw-tile__status--available { background:#e6f4ea; color:#2e7d32; }
.bsw-tile__status--nearly   { background:#fff4e5; color:#b86e00; }
.bsw-tile__status--full     { background:#fdecea; color:#c62828; }
.bsw-tile__status--closed   { background:#eee; color:#555; }
.bsw-tile__cta { display:inline-block; padding:10px 16px; background:#1f3a5c; color:#fff !important; text-decoration:none; border-radius:6px; font-weight:600; font-size:14px; }
.bsw-tile__cta--waitlist { background:#b86e00; }
.bsw-tile__cta--disabled { background:#aaa; pointer-events:none; }
.bsw-countdown { font-size:12px; color:#666; }

/* Form */
.bsw-form { max-width:620px; background:#fff; padding:24px; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.bsw-form fieldset { border:1px solid #e3e8ef; border-radius:8px; padding:16px; margin:0 0 16px; position:relative; }
.bsw-form legend { padding:0 8px; font-weight:600; color:#1f3a5c; }
.bsw-form label { display:block; margin:8px 0 4px; font-size:14px; font-weight:500; color:#1f3a5c; }
.bsw-form input[type=text], .bsw-form input[type=email], .bsw-form input[type=tel], .bsw-form input[type=number], .bsw-form textarea {
	width:100%; padding:8px 10px; border:1px solid #cdd4de; border-radius:6px; font-size:14px; box-sizing:border-box;
}
.bsw-form .bsw-inline { display:flex; gap:12px; align-items:center; }
.bsw-form .bsw-child { position:relative; background:#f6f8fb; padding:16px; border-radius:6px; margin-bottom:12px; }
.bsw-form .bsw-remove-child { position:absolute; right:12px; top:12px; color:#c62828; background:none; border:0; cursor:pointer; font-size:13px; }
.bsw-form .bsw-add-child { background:#1f3a5c; color:#fff; padding:8px 14px; border:0; border-radius:6px; cursor:pointer; font-weight:600; }
.bsw-form button[type=submit] { background:#2e7d32; color:#fff; padding:12px 22px; border:0; border-radius:6px; cursor:pointer; font-weight:700; font-size:15px; margin-top:8px; }
.bsw-form .bsw-notice { padding:12px 16px; border-radius:6px; margin-bottom:16px; }
.bsw-form .bsw-notice--info    { background:#e3f2fd; color:#0d47a1; }
.bsw-form .bsw-notice--warn    { background:#fff4e5; color:#b86e00; }
.bsw-form .bsw-notice--error   { background:#fdecea; color:#c62828; }
.bsw-form .bsw-notice--success { background:#e6f4ea; color:#2e7d32; }

/* Mijn account dropdown */
.bsw-account { position:relative; }
.bsw-account__icon { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:20px; background:#eef2f7; text-decoration:none; color:#1f3a5c; font-size:14px; }
.bsw-account__panel { position:absolute; right:0; top:110%; background:#fff; border-radius:8px; box-shadow:0 6px 20px rgba(0,0,0,.15); padding:16px; min-width:260px; z-index:1000; display:none; }
.bsw-account__panel.bsw-open { display:block; }
