.pbfv2-wrap {
	max-width: 720px;
	margin: 20px 0;
	font-size: 15px;
}

.pbfv2-notice {
	padding: 10px 14px;
	border-radius: 6px;
	margin: 10px 0;
	border: 1px solid #ddd;
	background: #f7f7f7;
}
.pbfv2-notice-info    { border-color: #b6d4fe; background: #eff5ff; color: #0b3a91; }
.pbfv2-notice-warn    { border-color: #f0c36d; background: #fff7e6; color: #6b4a0f; }
.pbfv2-notice-success { border-color: #a3d9a4; background: #eef8ee; color: #1a5f21; }
.pbfv2-notice-error   { border-color: #e8b4b4; background: #fdecec; color: #7a1e1e; }

.pbfv2-form h4 { margin: 18px 0 6px; }
.pbfv2-help { color: #666; font-size: 13px; margin: 0 0 12px; }

.pbfv2-day {
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	padding: 10px 14px;
	margin: 0 0 14px;
}
.pbfv2-day legend { font-weight: 600; padding: 0 6px; }

.pbfv2-slot { margin: 6px 0; }
.pbfv2-slot-label { display: inline-block; }
.pbfv2-slot-already { color: #666; }
.pbfv2-slot-sub { color: #666; font-size: 13px; }

.pbfv2-cap {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 10px;
	background: #eef;
	font-size: 12px;
	color: #335;
}
.pbfv2-cap-vol { background: #fee; color: #833; }

.pbfv2-partner {
	margin: 8px 0 8px 24px;
	padding: 8px 12px;
	background: #fafafa;
	border-left: 3px solid #ccd;
	border-radius: 3px;
}
.pbfv2-partner label { margin-right: 12px; }

.pbfv2-dupr,
.pbfv2-notes {
	margin: 16px 0;
	padding: 12px;
	background: #fafafa;
	border-radius: 6px;
}
.pbfv2-dupr label { margin-right: 16px; }
.pbfv2-notes textarea { width: 100%; max-width: 100%; }

.pbfv2-btn {
	display: inline-block;
	padding: 10px 22px;
	border-radius: 4px;
	background: #0F8B8D;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	border: none;
	cursor: pointer;
	font-size: 15px;
}
.pbfv2-btn:hover { background: #0a6d6f; }
.pbfv2-btn-primary { background: #0F8B8D; }

.pbfv2-own {
	background: #f4f8f8;
	border-left: 3px solid #0F8B8D;
	padding: 10px 16px;
	border-radius: 3px;
	margin-bottom: 16px;
}
.pbfv2-own ul { margin: 6px 0 0 20px; padding: 0; }

.pbfv2-deelnemers { margin-top: 30px; }
.pbfv2-slot-list { margin: 10px 0; padding: 8px 10px; background: #fafafa; border-radius: 4px; }
.pbfv2-slot-list summary { cursor: pointer; font-weight: 600; }
.pbfv2-slot-list ol { margin: 8px 0 8px 22px; }
.pbfv2-count { color: #666; font-weight: normal; font-size: 13px; }
.pbfv2-rating { color: #0F8B8D; font-size: 12px; font-weight: 600; }
.pbfv2-badge {
	display: inline-block;
	padding: 1px 6px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
}
.pbfv2-badge-wait { background: #fff2cc; color: #6b4a0f; }

/* Overzicht */
.pbfv2-overzicht { margin: 20px 0; }
.pbfv2-overzicht-tabs {
	display: flex;
	gap: 4px;
	border-bottom: 1px solid #ddd;
	margin-bottom: 20px;
}
.pbfv2-tab {
	padding: 10px 18px;
	color: #555;
	text-decoration: none;
	border-bottom: 3px solid transparent;
	font-weight: 500;
	transition: color .15s;
}
.pbfv2-tab:hover { color: #0F8B8D; }
.pbfv2-tab.is-active {
	color: #0F8B8D;
	border-bottom-color: #0F8B8D;
}
.pbfv2-overzicht-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 20px;
}
.pbfv2-card {
	background: #fff;
	border: 1px solid #e4e4e4;
	border-radius: 8px;
	padding: 18px 20px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.03);
	transition: box-shadow .15s, transform .15s;
	display: flex;
	flex-direction: column;
}
.pbfv2-card:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	transform: translateY(-1px);
}
.pbfv2-card-title {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.3;
}
.pbfv2-card-title a {
	color: #222;
	text-decoration: none;
}
.pbfv2-card-title a:hover { color: #0F8B8D; }
.pbfv2-card-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 10px;
}
.pbfv2-badge-toernooi { background: #eef7f7; color: #0F8B8D; }
.pbfv2-badge-evenement { background: #fef5e6; color: #a06b1c; }
.pbfv2-badge-dupr { background: #0F8B8D; color: #fff; }
.pbfv2-badge-extern { background: #eee; color: #555; }
.pbfv2-status-open       { background: #d7f3d8; color: #1a5f21; }
.pbfv2-status-binnenkort { background: #fff2cc; color: #6b4a0f; }
.pbfv2-status-gesloten   { background: #f4d4d4; color: #7a1e1e; }
.pbfv2-status-gepland    { background: #eee; color: #555; }

/* Agenda-knoppen */
.pbfv2-btn-ghost {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid #0F8B8D;
	color: #0F8B8D;
	background: #fff;
	border-radius: 4px;
	font-size: 13px;
	text-decoration: none;
	font-weight: 500;
	transition: background .12s, color .12s;
}
.pbfv2-btn-ghost:hover {
	background: #0F8B8D;
	color: #fff;
}
.pbfv2-card-cal {
	margin: 6px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.pbfv2-calendar-buttons {
	margin: 12px 0 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* Multi-provider dropdown */
.pbfv2-cal-menu {
	position: relative;
	display: inline-block;
}
.pbfv2-cal-menu summary {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.pbfv2-cal-menu summary::-webkit-details-marker { display: none; }
.pbfv2-cal-caret { font-size: 10px; opacity: 0.7; }
.pbfv2-cal-list {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	z-index: 100;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 6px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.10);
	min-width: 180px;
	overflow: hidden;
}
.pbfv2-cal-list a {
	display: block;
	padding: 10px 14px;
	color: #333;
	text-decoration: none;
	font-size: 13px;
	border-bottom: 1px solid #f0f0f0;
}
.pbfv2-cal-list a:last-child { border-bottom: none; }
.pbfv2-cal-list a:hover {
	background: #f7f7f7;
	color: #0F8B8D;
}
.pbfv2-cal-menu[open] .pbfv2-cal-caret { transform: rotate(180deg); }

/* Extra vragen */
.pbfv2-vragen {
	margin: 18px 0;
	padding: 14px 16px;
	background: #fafafa;
	border-radius: 6px;
}
.pbfv2-vragen h4 { margin: 0 0 10px; }
.pbfv2-vraag {
	margin-bottom: 14px;
}
.pbfv2-vraag-label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
}
.pbfv2-vraag-help {
	font-size: 12px;
	color: #666;
	margin: 0 0 6px;
}
.pbfv2-vraag input[type="text"],
.pbfv2-vraag textarea {
	width: 100%;
	max-width: 500px;
	box-sizing: border-box;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
}
.pbfv2-vraag-inline {
	display: inline-block;
	margin-right: 12px;
}
.pbfv2-vraag-option {
	display: block;
	margin: 3px 0;
}
.pbfv2-req { color: #c33; }
.pbfv2-manage-vragen {
	font-size: 12px;
	color: #444;
	max-width: 260px;
}
.pbfv2-inline-dupr {
	display: inline-block;
	background: #eef7f7;
	color: #0F8B8D;
	padding: 1px 6px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 600;
	margin-left: 4px;
}
.pbfv2-card-meta {
	margin: 4px 0;
	font-size: 14px;
	color: #444;
}
.pbfv2-card-meta strong { margin-right: 4px; }
.pbfv2-card-excerpt {
	margin: 10px 0;
	font-size: 13.5px;
	color: #666;
	line-height: 1.45;
	flex: 1;
}
.pbfv2-card-cta {
	margin: 10px 0 0;
	text-align: right;
}
.pbfv2-card-cta .pbfv2-btn {
	padding: 8px 18px;
	font-size: 14px;
}

/* Slot readonly-list (voor not_open/closed states) — legacy */
.pbfv2-readonly-list { margin: 18px 0; }
.pbfv2-slot-readonly {
	padding: 8px 12px;
	background: #fff;
	border-radius: 4px;
	margin: 4px 0;
	border: 1px solid #eee;
	color: #555;
}

/* Agenda (nieuwe scanbare layout op single-page) */
.pbfv2-agenda { margin: 20px 0; }
.pbfv2-agenda-title { margin: 0 0 14px; font-size: 20px; color: #0F8B8D; }
.pbfv2-agenda-day {
	background: #fff;
	border: 1px solid #e4e4e4;
	border-radius: 10px;
	margin-bottom: 16px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,.03);
}
.pbfv2-agenda-day-head {
	background: linear-gradient(90deg, #0F8B8D 0%, #12a2a4 100%);
	color: #fff;
	padding: 12px 20px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
}
.pbfv2-agenda-day-title {
	font-size: 17px;
	font-weight: 600;
	text-transform: capitalize;
}
.pbfv2-agenda-day-loc {
	font-size: 13px;
	opacity: 0.92;
}
.pbfv2-agenda-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.pbfv2-agenda-slot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 14px 20px;
	border-top: 1px solid #f0f0f0;
	transition: background .12s;
}
.pbfv2-agenda-slot:first-child { border-top: none; }
.pbfv2-agenda-slot:hover { background: #fafcfc; }
.pbfv2-agenda-slot.is-vol { background: #fff8f5; }
.pbfv2-agenda-slot-main {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 1;
	min-width: 0;
}
.pbfv2-agenda-slot-uur {
	font-family: 'SF Mono', 'Menlo', monospace;
	font-size: 14px;
	font-weight: 600;
	color: #0F8B8D;
	background: #eef7f7;
	padding: 6px 10px;
	border-radius: 4px;
	white-space: nowrap;
}
.pbfv2-agenda-slot-body { min-width: 0; }
.pbfv2-agenda-slot-format {
	font-size: 15px;
	font-weight: 600;
	color: #222;
	margin-bottom: 2px;
}
.pbfv2-agenda-slot-label {
	font-size: 13px;
	color: #666;
	line-height: 1.4;
	margin-bottom: 3px;
}
.pbfv2-agenda-slot-meta {
	font-size: 12px;
	color: #888;
}
.pbfv2-agenda-slot-skill {
	background: #f4f4ff;
	color: #4a4a99;
	padding: 2px 8px;
	border-radius: 3px;
	font-weight: 500;
}
.pbfv2-agenda-slot-cap {
	text-align: right;
	min-width: 140px;
}
.pbfv2-agenda-cap-txt {
	font-size: 12px;
	color: #555;
	margin-bottom: 4px;
	font-weight: 500;
}
.pbfv2-agenda-slot.is-vol .pbfv2-agenda-cap-txt { color: #c33; }
.pbfv2-agenda-cap-empty .pbfv2-agenda-cap-txt { color: #aaa; font-style: italic; }
.pbfv2-agenda-cap-bar {
	background: #eee;
	height: 5px;
	border-radius: 3px;
	overflow: hidden;
	max-width: 140px;
	margin-left: auto;
}
.pbfv2-agenda-cap-bar > div {
	background: linear-gradient(90deg, #0F8B8D 0%, #12a2a4 100%);
	height: 100%;
	transition: width .3s;
}
.pbfv2-agenda-slot.is-vol .pbfv2-agenda-cap-bar > div { background: linear-gradient(90deg, #d17040 0%, #c33 100%); }

@media (max-width: 640px) {
	.pbfv2-agenda-slot { flex-direction: column; align-items: stretch; gap: 8px; }
	.pbfv2-agenda-slot-cap { text-align: left; min-width: 0; }
	.pbfv2-agenda-cap-bar { margin-left: 0; }
}
.pbfv2-cap-empty { background: #f4f4f4; color: #999; }

/* Uitschrijven-link + inline forms */
.pbfv2-inline-form {
	display: inline;
	margin: 0;
	padding: 0;
}
.pbfv2-btn-link {
	background: none;
	border: none;
	color: #c33;
	cursor: pointer;
	text-decoration: underline;
	font-size: 13px;
	padding: 0;
}
.pbfv2-btn-link:hover { color: #7a1e1e; }
.pbfv2-badge-actief { background: #eef7f7; color: #0F8B8D; }
.pbfv2-badge-geannuleerd { background: #f4f4f4; color: #999; text-decoration: line-through; }

/* Beheer-sectie */
.pbfv2-manage {
	margin-top: 30px;
	padding: 18px 20px;
	background: #fff9ee;
	border: 1px solid #f0d9a2;
	border-radius: 8px;
}
.pbfv2-manage h3 {
	margin-top: 0;
	color: #8b6510;
}
.pbfv2-manage-hint {
	font-weight: normal;
	font-size: 13px;
	color: #a08b5e;
}
.pbfv2-manage-slot {
	margin: 10px 0;
	background: #fff;
	border-radius: 6px;
	padding: 8px 14px;
}
.pbfv2-manage-slot summary {
	cursor: pointer;
	padding: 4px 0;
}
.pbfv2-manage-table {
	width: 100%;
	border-collapse: collapse;
	margin: 10px 0;
	font-size: 13px;
}
.pbfv2-manage-table th,
.pbfv2-manage-table td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid #eee;
}
.pbfv2-manage-table th {
	background: #f7f7f7;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	color: #666;
}
.pbfv2-manage-actions .pbfv2-inline-form {
	margin-right: 10px;
}
.pbfv2-manage-actions .pbfv2-btn-link {
	color: #555;
}
.pbfv2-manage-remove { color: #c33 !important; }
.pbfv2-manage-activate { color: #0F8B8D !important; }

/* ============================================================
   LAYOUT 1a — 2-koloms grid met sticky sidebar
   ============================================================ */

.pbfv2-layout {
	--pbfv2-teal: #1b9e91;
	--pbfv2-teal-dark: #16857a;
	--pbfv2-teal-head: #1596a6;
	--pbfv2-yellow: #f4c81f;
	--pbfv2-yellow-text: #5a4600;
	--pbfv2-blue: #2f6bd8;
	--pbfv2-card-bg: #ffffff;
	--pbfv2-card-border: #e3ece8;
	--pbfv2-input-border: #dbe6e2;
	--pbfv2-divider: #eef2f0;
	--pbfv2-text-dark: #243330;
	--pbfv2-text: #2b3634;
	--pbfv2-text-body: #3f4a48;
	--pbfv2-text-muted: #63706c;
	--pbfv2-text-fade: #8a9a96;
	--pbfv2-badge-bg: #eef1f0;
	--pbfv2-badge-text: #8a9a96;
	--pbfv2-highlight-bg: #eafaf3;
	--pbfv2-highlight-border: #cdeee0;
	--pbfv2-highlight-text: #177a63;

	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	padding: 32px 24px 60px;
	max-width: 1280px;
	margin: 0 auto;
	box-sizing: border-box;
}
/* Sidebar links, main rechts — expliciete row + column zodat beide op row 1 landen */
.pbfv2-side { grid-column: 1; grid-row: 1; }
.pbfv2-main { grid-column: 2; grid-row: 1; }
/* Tablet: iets nauwere sidebar */
@media (max-width: 1100px) {
	.pbfv2-layout { grid-template-columns: 300px minmax(0, 1fr); gap: 30px; padding: 28px 20px 50px; }
}
/* Tablet-portrait: 1 kolom, sidebar onder main (main eerst) */
@media (max-width: 960px) {
	.pbfv2-layout { grid-template-columns: 1fr; gap: 20px; padding: 24px 20px 40px; }
	.pbfv2-side { position: static !important; grid-column: 1 !important; grid-row: 2 !important; }
	.pbfv2-main { grid-column: 1 !important; grid-row: 1 !important; }
	.pbfv2-side-card, .pbfv2-login-cta { padding: 18px 20px; }
}
/* Mobile: minder padding, kleinere gaps */
@media (max-width: 600px) {
	.pbfv2-layout { padding: 16px 12px 32px; gap: 14px; }
	.pbfv2-main { gap: 14px !important; }
	.pbfv2-side { gap: 14px !important; }
}
.pbfv2-main { min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.pbfv2-main > form.pbfv2-form { display: flex; flex-direction: column; gap: 22px; }
@media (max-width: 600px) {
	.pbfv2-main > form.pbfv2-form { gap: 14px; }
}
.pbfv2-side { display: flex; flex-direction: column; gap: 18px; align-self: start; min-width: 0; }
/* Datum-kaart sticky (op desktop) */
.pbfv2-side-card { position: sticky; top: 24px; }
@media (max-width: 960px) {
	.pbfv2-side-card { position: static !important; }
}

.pbfv2-card {
	background: var(--pbfv2-card-bg);
	border: 1px solid var(--pbfv2-card-border);
	border-radius: 16px;
	padding: 28px 30px;
}
@media (max-width: 700px) {
	.pbfv2-card { padding: 20px 18px; border-radius: 12px; }
}
@media (max-width: 480px) {
	.pbfv2-card { padding: 16px 14px; }
}
.pbfv2-card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; flex-wrap: wrap; }
.pbfv2-step-num {
	width: 34px; height: 34px; flex-shrink: 0;
	border-radius: 12px;
	background: var(--pbfv2-teal); color: white;
	display: flex; align-items: center; justify-content: center;
	font-weight: 600; font-size: 17px;
}
.pbfv2-card-title {
	font-size: 22px; font-weight: 600; color: var(--pbfv2-teal-head);
	margin: 0; line-height: 1.3;
}
.pbfv2-card-title-plain { font-size: 20px; font-weight: 600; color: var(--pbfv2-teal-head); margin: 0 0 16px; }
.pbfv2-card-intro {
	margin-left: 48px; margin-bottom: 18px;
	font-size: 15px; color: var(--pbfv2-text-muted); line-height: 1.55;
}
.pbfv2-card-content { margin-left: 48px; }
@media (max-width: 700px) {
	.pbfv2-card-intro, .pbfv2-card-content { margin-left: 0; }
	.pbfv2-card-title { font-size: 19px; }
}

.pbfv2-day-group { margin-bottom: 20px; }
.pbfv2-day-group:last-child { margin-bottom: 0; }
.pbfv2-day-group-label {
	font-weight: 600; font-size: 15px; color: var(--pbfv2-text);
	margin-bottom: 10px;
}
label.pbfv2-cat-row,
.pbfv2-cat-row {
	display: flex !important;
	align-items: center;
	gap: 14px;
	border: 2px solid #d7e6e0;
	border-radius: 12px;
	padding: 14px 18px;
	margin-bottom: 10px;
	cursor: pointer;
	transition: all 0.15s;
	background: white;
}
.pbfv2-cat-row > input[type="checkbox"] { flex: 0 0 auto !important; margin: 0; }
.pbfv2-cat-body { flex: 1 1 auto; min-width: 0; }
.pbfv2-cat-row .pbfv2-cat-price,
.pbfv2-cat-row .pbfv2-cat-badge { flex: 0 0 auto; }
/* Op kleiner scherm: prijs + badge onder de body wrappen, body blijft naast vinkje */
@media (max-width: 520px) {
	.pbfv2-cat-row { flex-wrap: wrap; padding: 12px 14px; gap: 10px; }
	.pbfv2-cat-body { flex-basis: calc(100% - 34px); }
	.pbfv2-cat-row .pbfv2-cat-price,
	.pbfv2-cat-row .pbfv2-cat-badge { margin-left: 34px; }
	.pbfv2-cat-title { font-size: 15px !important; }
}
.pbfv2-cat-row:hover { border-color: var(--pbfv2-teal); background: #f8fcfb; }
.pbfv2-cat-row.is-checked { border-color: var(--pbfv2-teal); background: #f2fbf8; }
.pbfv2-cat-row.is-disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; background: #f6f7f7; }
.pbfv2-cat-row.is-disabled:hover { border-color: #d7e6e0; background: #f6f7f7; }
.pbfv2-cat-row input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--pbfv2-teal); cursor: pointer; flex-shrink: 0; }
.pbfv2-cat-body { flex-grow: 1; min-width: 0; }
.pbfv2-cat-title { font-weight: 700; font-size: 16px; color: var(--pbfv2-text); }
.pbfv2-cat-sub { font-size: 14px; color: #6b7975; margin-top: 3px; }
.pbfv2-cat-badge {
	background: var(--pbfv2-badge-bg); color: var(--pbfv2-badge-text);
	font-size: 12px; padding: 6px 12px; border-radius: 999px; white-space: nowrap;
	font-weight: 500;
}
.pbfv2-cat-badge-vol { background: #fdecdb; color: #a54a17; }
.pbfv2-cat-price {
	font-weight: 700; color: var(--pbfv2-text); font-size: 15px;
	white-space: nowrap; margin-right: 4px;
}
.pbfv2-cat-price small { font-weight: 400; color: #8a9a96; font-size: 11px; display: block; }

.pbfv2-card .pbfv2-field { margin-bottom: 14px; }
.pbfv2-card label { font-weight: 600; font-size: 14px; color: var(--pbfv2-text); display: block; margin-bottom: 6px; }
.pbfv2-card label small { font-weight: 400; color: var(--pbfv2-text-fade); }
.pbfv2-card input[type="text"],
.pbfv2-card input[type="email"],
.pbfv2-card input[type="tel"],
.pbfv2-card input[type="number"],
.pbfv2-card input[type="date"],
.pbfv2-card select,
.pbfv2-card textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid var(--pbfv2-input-border);
	border-radius: 10px;
	font-size: 15px;
	background: white;
	font-family: inherit;
}
.pbfv2-card input:focus, .pbfv2-card select:focus, .pbfv2-card textarea:focus {
	outline: none; border-color: var(--pbfv2-teal);
	box-shadow: 0 0 0 3px rgba(27,158,145,0.12);
}
.pbfv2-card-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 560px) { .pbfv2-card-2col { grid-template-columns: 1fr; gap: 12px; } }
.pbfv2-card-hint { font-size: 13px; color: var(--pbfv2-text-fade); margin-top: 4px; }

.pbfv2-guest-badge {
	background: #fdf3d6; color: #8a6d10;
	font-size: 12px; font-weight: 600;
	padding: 5px 11px; border-radius: 999px;
	white-space: nowrap;
}

.pbfv2-confirm-row { display: flex; align-items: center; gap: 20px; padding: 10px 0; flex-wrap: wrap; }
.pbfv2-cta {
	background: #F59E0B; color: #000;
	font-weight: 700; font-size: 16px;
	padding: 16px 34px; border-radius: 12px;
	border: none; cursor: pointer;
	transition: background 0.15s;
}
.pbfv2-cta:hover { background: #d68a00; color: #000; }
.pbfv2-cta-hint { font-size: 13px; color: var(--pbfv2-text-fade); }

.pbfv2-empty-state {
	border: 1.5px dashed #d7e6e0;
	border-radius: 12px;
	padding: 28px; text-align: center;
	font-size: 14px; color: var(--pbfv2-text-fade);
	margin-left: 48px;
}
@media (max-width: 700px) { .pbfv2-empty-state { margin-left: 0; padding: 20px; } }

.pbfv2-side-card {
	background: white;
	border: 1px solid var(--pbfv2-card-border);
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 12px 30px -20px rgba(20,60,50,0.35);
}
.pbfv2-side-dagen { display: flex; flex-direction: column; gap: 12px; }
.pbfv2-side-datum { display: flex; align-items: center; gap: 16px; }
.pbfv2-side-dagen .pbfv2-side-datum { margin-bottom: 0; }
.pbfv2-side-date-badge {
	width: 60px; height: 64px; flex-shrink: 0;
	background: var(--pbfv2-teal); color: white;
	border-radius: 12px;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 6px 0;
}
.pbfv2-side-date-day { font-weight: 700; font-size: 26px; line-height: 1; }
.pbfv2-side-date-month { font-size: 12px; letter-spacing: 1px; margin-top: 4px; text-transform: uppercase; }
.pbfv2-side-date-text .pbfv2-side-date-full { font-weight: 600; font-size: 17px; color: var(--pbfv2-text-dark); }
.pbfv2-side-date-text .pbfv2-side-date-uur { font-size: 14px; color: #6b7975; margin-top: 3px; }

.pbfv2-side-divider { height: 1px; background: var(--pbfv2-divider); margin: 14px 0; border: 0; }
.pbfv2-side-info { margin: 10px 0; font-size: 14px; color: var(--pbfv2-text-body); display: flex; gap: 10px; align-items: flex-start; }
.pbfv2-side-bullet { width: 8px; height: 8px; border-radius: 50%; background: var(--pbfv2-teal); flex-shrink: 0; margin-top: 6px; }
.pbfv2-side-info a { color: #1795a5; text-decoration: none; }
.pbfv2-side-info a:hover { text-decoration: underline; }
.pbfv2-side-info-label { color: var(--pbfv2-text-muted); font-size: 13px; }

.pbfv2-side-highlight {
	background: var(--pbfv2-highlight-bg);
	border: 1px solid var(--pbfv2-highlight-border);
	border-radius: 10px;
	padding: 12px 14px;
	color: var(--pbfv2-highlight-text);
	font-size: 14px; font-weight: 600;
	margin: 12px 0;
}
.pbfv2-side-note { font-size: 13px; color: var(--pbfv2-text-muted); margin: 12px 0; line-height: 1.5; }

.pbfv2-side-btn {
	display: block; width: 100%; text-align: center;
	background: white; border: 1.5px solid #cfe0da; color: var(--pbfv2-text);
	font-weight: 600; padding: 12px; border-radius: 10px;
	text-decoration: none; font-size: 14px;
	margin-top: 8px;
}
.pbfv2-side-btn:hover { background: #f8fcfb; }

.pbfv2-login-cta {
	background: #F59E0B;
	border: 1px solid #d68a00;
	border-radius: 16px;
	padding: 22px;
}
.pbfv2-login-cta h4 { font-size: 16px; font-weight: 700; color: #000; margin: 0 0 6px; }
.pbfv2-login-cta p { font-size: 13px; color: #000; margin: 0 0 14px; line-height: 1.5; }
.pbfv2-login-cta-buttons { display: flex; gap: 10px; }
.pbfv2-login-cta-btn {
	display: block; flex: 1 1 0; text-align: center;
	background: #3a2400; color: white;
	font-weight: 700; padding: 12px 10px; border-radius: 10px;
	text-decoration: none; font-size: 14px;
	transition: background 0.15s;
}
.pbfv2-login-cta-btn:hover { background: #241600; color: white; }
.pbfv2-login-cta-btn-secondary {
	background: white; color: #3a2400;
	border: 1.5px solid #3a2400;
}
.pbfv2-login-cta-btn-secondary:hover { background: #fef7e6; color: #3a2400; }
@media (max-width: 400px) {
	.pbfv2-login-cta-buttons { flex-direction: column; }
}

.pbfv2-breadcrumb { font-size: 13px; color: #7c8a86; margin: 16px 0 8px; }
.pbfv2-breadcrumb a { color: #7c8a86; text-decoration: none; }
.pbfv2-breadcrumb a:hover { color: var(--pbfv2-teal-head); text-decoration: underline; }

/* Theme rendert automatisch .post-thumbnail bovenaan single pbf_toernooi — verbergen (affiche zit in sidebar) */
body.single-pbf_toernooi .post-thumbnail,
body.single-pbf_toernooi .entry-thumbnail { display: none !important; }
