:root {
	--tfp-blue: #1266f1;
	--tfp-blue2: #0a46c8;
	--tfp-blue3: #eaf3ff;
	--tfp-cyan: #38bdf8;
	--tfp-navy: #071936;
	--tfp-text: #092044;
	--tfp-muted: #64748b;
	--tfp-line: #d9e7fb;
	--tfp-bg: #f6f9ff;
	--tfp-card: #fff;
	--tfp-green: #12b76a;
	--tfp-red: #ef4444;
	--tfp-shadow: 0 18px 55px rgba(12, 45, 100, 0.1);
	--tfp-shadow2: 0 10px 26px rgba(18, 102, 241, 0.16);
}
.clubs-page {
	max-width: 1180px;
	margin: 0 auto;
	padding: 22px 16px 54px;
	color: var(--tfp-text);
}
.clubs-badge {
	display: inline-flex;
	align-items: center;
	width: max-content;
	padding: 7px 11px;
	border-radius: 999px;
	background: #eaf3ff;
	color: #0a46c8;
	font-weight: 950;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.clubs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 14px;
	background: #eef5ff;
	color: #0b2d5f;
	text-decoration: none;
	border: 0;
	font-weight: 950;
	cursor: pointer;
	white-space: nowrap;
	transition: 0.18s ease;
}
.clubs-btn:hover {
	transform: translateY(-1px);
}
.clubs-btn--primary {
	background: linear-gradient(135deg, #1877ff, #0047d9);
	color: #fff;
	box-shadow: var(--tfp-shadow2);
}
.clubs-link {
	color: #0a46c8;
	font-weight: 950;
	text-decoration: none;
}
.clubs-alert {
	border-radius: 18px;
	padding: 13px 16px;
	margin: 14px 0;
	font-weight: 900;
}
.clubs-alert--success {
	background: #ecfdf5;
	color: #047857;
}
.clubs-alert--error {
	background: #fff1f2;
	color: #be123c;
}
.reservation-page {
	background:
		radial-gradient(circle at 8% 0, rgba(18, 102, 241, 0.12), transparent 30%),
		radial-gradient(circle at 92% 12%, rgba(56, 189, 248, 0.14), transparent 28%);
}
.blue-glass {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	align-items: center;
	padding: 18px 22px;
	border-radius: 28px;
	background: linear-gradient(135deg, #0b2c68, #1266f1 70%, #38bdf8);
	color: #fff;
	box-shadow: var(--tfp-shadow);
	margin-bottom: 14px;
	min-height: 108px;
}
.blue-glass:after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -135px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
}
.blue-glass h1 {
	font-size: clamp(28px, 3.6vw, 46px);
	line-height: 1;
	margin: 8px 0 6px;
	letter-spacing: -0.045em;
}
.blue-glass p {
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 14px;
	font-weight: 750;
}
.blue-glass .clubs-badge {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}
.blue-glass .clubs-link {
	color: #fff;
	opacity: 0.9;
}
.reservation-shell,
.booking-bar,
.settings-panel {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid var(--tfp-line);
	border-radius: 26px;
	box-shadow: var(--tfp-shadow);
	padding: 14px;
	margin-bottom: 16px;
	backdrop-filter: blur(14px);
}
.reservation-top {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: center;
	margin-bottom: 12px;
}
.reservation-top h2,
.booking-bar h2,
.settings-panel h2 {
	margin: 0;
	color: #092044;
	font-size: 22px;
	letter-spacing: -0.025em;
}
.reservation-top p,
.booking-bar p {
	margin: 5px 0 0;
	color: #5d7190;
	font-weight: 800;
	font-size: 13px;
	line-height: 1.35;
}
.week-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #f3f8ff;
	border: 1px solid #dce9ff;
	border-radius: 22px;
	padding: 6px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.week-nav a {
	padding: 10px 13px;
	border-radius: 18px;
	background: #fff;
	color: #0a46c8;
	text-decoration: none;
	font-weight: 950;
	box-shadow: 0 5px 18px rgba(12, 45, 100, 0.07);
}
.week-nav strong {
	padding: 0 8px;
	color: #12345f;
	font-size: 13px;
	white-space: nowrap;
}
.court-tabs,
.premium-club-tabs {
	display: flex;
	gap: 8px;
	overflow: auto;
	margin: 0 0 12px;
	padding: 7px;
	border-radius: 20px;
	background: #f3f8ff;
	border: 1px solid #dce9ff;
}
.court-tabs button,
.premium-club-tabs a {
	border: 0;
	text-decoration: none;
	padding: 10px 15px;
	border-radius: 14px;
	background: #fff;
	color: #395171;
	font-weight: 950;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: 0 5px 18px rgba(12, 45, 100, 0.05);
}
.court-tabs .is-active,
.premium-club-tabs .is-active {
	background: linear-gradient(135deg, #1877ff, #0047d9);
	color: #fff;
	box-shadow: var(--tfp-shadow2);
}
.reservation-grid-wrap {
	overflow: auto;
	max-height: 64vh;
	border: 1px solid #dbe9fb;
	border-radius: 22px;
	background: #fff;
	scrollbar-color: #8aaee7 transparent;
	scrollbar-width: thin;
}
.reservation-grid {
	width: 100%;
	min-width: 950px;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}
.reservation-grid th {
	position: sticky;
	top: 0;
	z-index: 3;
	background: linear-gradient(180deg, #fbfdff, #f1f7ff);
	color: #0b376b;
	font-size: 12px;
	padding: 11px 8px;
	border-bottom: 1px solid #dce8fb;
}
.reservation-grid .time-cell {
	position: sticky;
	left: 0;
	z-index: 4;
	background: #f7fbff;
	width: 68px;
	border-right: 1px solid #dce8fb;
	color: #064b87;
	font-size: 13px;
}
.reservation-grid td {
	vertical-align: top;
	padding: 5px;
	border-bottom: 1px solid #edf4ff;
	border-right: 1px solid #edf4ff;
	background: linear-gradient(180deg, #fff, #fbfdff);
}
.slot {
	min-height: 44px;
	width: 100%;
	border-radius: 13px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 1px;
	padding: 7px 9px;
	text-align: left;
	font-weight: 950;
	line-height: 1.08;
	transition: 0.16s ease;
}
.slot strong {
	font-size: 13px;
}
.slot small {
	font-size: 10.5px;
	color: inherit;
	opacity: 0.74;
}
.slot--free {
	border: 1px dashed #94bff9;
	background: linear-gradient(180deg, #fbfdff, #edf6ff);
	color: #1266f1;
	cursor: pointer;
}
.slot--free:hover {
	transform: translateY(-1px);
	border-color: #1266f1;
	background: #eaf3ff;
	box-shadow: 0 10px 22px rgba(18, 102, 241, 0.14);
}
.slot--busy {
	position: relative;
	border: 1px solid #aac9f8;
	background: linear-gradient(135deg, #dbeafe, #f7fbff);
	color: #0c376a;
	margin-bottom: 4px;
	box-shadow: inset 4px 0 0 #1266f1;
}
.slot--pending {
	background: linear-gradient(135deg, #fff4d8, #fffaf0);
	border-color: #f6c86b;
	color: #754800;
	box-shadow: inset 4px 0 0 #f59e0b;
}
.slot-actions {
	display: flex;
	gap: 5px;
	margin-top: 5px;
}
.slot-actions form {
	margin: 0;
}
.slot-actions button {
	border: 0;
	border-radius: 9px;
	background: #fff;
	color: #0b477c;
	font-weight: 950;
	padding: 5px 8px;
	cursor: pointer;
	box-shadow: 0 5px 14px rgba(12, 45, 100, 0.08);
}
.booking-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	border-color: #cfe1ff;
	background: linear-gradient(135deg, #fff, #f4f9ff);
}
.booking-form {
	display: flex;
	align-items: end;
	gap: 9px;
	flex-wrap: wrap;
}
.booking-form label,
.settings-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: #40506c;
	font-weight: 900;
	font-size: 12px;
}
.booking-form input,
.settings-form input,
.settings-form textarea {
	border: 1px solid #d6e5fb;
	border-radius: 13px;
	background: #fff;
	padding: 11px 12px;
	font-weight: 850;
	color: #0b1736;
	outline: none;
}
.booking-form input:focus,
.settings-form input:focus,
.settings-form textarea:focus {
	border-color: #1266f1;
	box-shadow: 0 0 0 4px rgba(18, 102, 241, 0.11);
}
.check-row {
	flex-direction: row !important;
	align-items: center !important;
	background: #f3f8ff;
	border: 1px solid #dce8fb;
	border-radius: 14px;
	padding: 10px 12px;
}
.price-pill {
	border-radius: 999px;
	background: #eaf3ff;
	color: #0b477c;
	padding: 12px 14px;
	font-weight: 950;
	border: 1px solid #cfe1ff;
}
.settings-panel {
	padding: 18px;
}
.settings-form {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}
.settings-form .wide {
	grid-column: span 2;
}
.settings-form button {
	width: max-content;
}
.admin-reservation-page .reservation-grid-wrap {
	max-height: 62vh;
}
@media (max-width: 900px) {
	.clubs-page {
		padding: 12px 10px 40px;
	}
	.blue-glass {
		padding: 16px;
		border-radius: 24px;
		min-height: 0;
		align-items: flex-start;
		flex-direction: column;
	}
	.blue-glass h1 {
		font-size: 30px;
	}
	.reservation-shell,
	.booking-bar,
	.settings-panel {
		border-radius: 22px;
		padding: 11px;
	}
	.reservation-top,
	.booking-bar {
		align-items: flex-start;
		flex-direction: column;
	}
	.reservation-top h2,
	.booking-bar h2,
	.settings-panel h2 {
		font-size: 20px;
	}
	.week-nav {
		width: 100%;
		justify-content: space-between;
		border-radius: 18px;
	}
	.week-nav a {
		padding: 9px 10px;
		font-size: 12px;
	}
	.week-nav strong {
		font-size: 12px;
	}
	.court-tabs {
		position: sticky;
		top: 0;
		z-index: 6;
	}
	.reservation-grid-wrap {
		max-height: 68vh;
		border-radius: 18px;
		margin-inline: -2px;
	}
	.reservation-grid {
		min-width: 760px;
	}
	.reservation-grid .time-cell {
		width: 56px;
	}
	.reservation-grid th {
		font-size: 11px;
		padding: 9px 6px;
	}
	.reservation-grid td {
		padding: 4px;
	}
	.slot {
		min-height: 42px;
		padding: 7px;
	}
	.slot strong {
		font-size: 12px;
	}
	.slot small {
		font-size: 10px;
	}
	.booking-form {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
		align-items: stretch;
	}
	.booking-form .clubs-btn,
	.booking-form button {
		width: 100%;
	}
	.settings-form {
		grid-template-columns: 1fr;
	}
	.settings-form .wide {
		grid-column: auto;
	}
	.premium-club-tabs {
		margin-bottom: 10px;
	}
}
@media (max-width: 520px) {
	.clubs-page {
		padding-left: 8px;
		padding-right: 8px;
	}
	.blue-glass h1 {
		font-size: 26px;
	}
	.reservation-grid {
		min-width: 680px;
	}
	.slot {
		min-height: 40px;
	}
	.slot--free strong {
		font-size: 16px;
	}
	.reservation-grid-wrap:before {
		content: "Przesuń tabelę w bok →";
		position: sticky;
		left: 8px;
		top: 8px;
		z-index: 7;
		display: inline-flex;
		margin: 8px;
		padding: 6px 10px;
		border-radius: 999px;
		background: #0b5ce6;
		color: #fff;
		font-size: 11px;
		font-weight: 950;
		box-shadow: var(--tfp-shadow2);
	}
}

/* =========================================================
   Clubs listing page — premium compact cards
   ========================================================= */
.clubs-page:not(.reservation-page):not(.admin-reservation-page) {
	max-width: 1120px;
	padding: 28px 18px 64px;
}

.clubs-hero {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 18px;
	margin: 8px 0 18px;
	padding: 24px;
	border: 1px solid #dbe9ff;
	border-radius: 28px;
	background:
		radial-gradient(circle at 7% 0, rgba(18, 102, 241, 0.16), transparent 34%),
		linear-gradient(135deg, #ffffff 0%, #f4f9ff 100%);
	box-shadow: 0 18px 50px rgba(12, 45, 100, 0.08);
}

.clubs-hero h1 {
	max-width: 760px;
	margin: 10px 0 6px;
	color: #091936;
	font-size: clamp(34px, 4vw, 56px);
	line-height: 0.96;
	letter-spacing: -0.055em;
}

.clubs-hero p {
	max-width: 640px;
	margin: 0;
	color: #5a6c86;
	font-size: 15px;
	font-weight: 750;
}

.clubs-hero__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.clubs-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	margin: 0 0 16px;
	padding: 12px;
	border: 1px solid #dbe9ff;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 12px 34px rgba(12, 45, 100, 0.06);
}

.clubs-filter-form {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.clubs-filter-form input,
.clubs-filter-form select {
	min-height: 42px;
	border: 1px solid #d6e6fb;
	border-radius: 14px;
	background: #fff;
	padding: 0 13px;
	color: #10233f;
	font-weight: 800;
	outline: none;
}

.clubs-filter-form input {
	flex: 1;
	min-width: 220px;
}

.clubs-filter-form input:focus,
.clubs-filter-form select:focus {
	border-color: #1266f1;
	box-shadow: 0 0 0 4px rgba(18, 102, 241, 0.1);
}

.clubs-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
	align-items: stretch;
}

.club-card {
	position: relative;
	overflow: hidden;
	min-height: 250px;
	padding: 16px;
	border: 1px solid #dbe9ff;
	border-radius: 24px;
	background:
		radial-gradient(circle at 100% 0, rgba(18, 102, 241, 0.12), transparent 32%),
		linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
	box-shadow: 0 16px 42px rgba(12, 45, 100, 0.08);
	transition:
		transform 0.18s ease,
		box-shadow 0.18s ease,
		border-color 0.18s ease;
}

.club-card:hover {
	transform: translateY(-2px);
	border-color: #b9d6ff;
	box-shadow: 0 22px 58px rgba(12, 45, 100, 0.12);
}

.club-card__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

.club-card__top span,
.club-card__top strong {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 950;
	letter-spacing: 0.02em;
}

.club-card__top span {
	background: #eaf3ff;
	color: #0a46c8;
}

.club-card__top strong {
	background: #0b5ce6;
	color: #fff;
	box-shadow: 0 8px 20px rgba(18, 102, 241, 0.18);
}

.club-card h2 {
	margin: 0 0 6px;
	font-size: clamp(24px, 2.5vw, 34px);
	line-height: 0.98;
	letter-spacing: -0.045em;
}

.club-card h2 a {
	color: #105ee8;
	text-decoration: none;
}

.club-card__address {
	margin: 0 0 8px;
	color: #5d6d85;
	font-size: 13px;
	font-weight: 850;
}

.club-card > p:not(.club-card__address) {
	min-height: 18px;
	margin: 0 0 10px;
	color: #65758d;
	font-size: 13px;
	line-height: 1.45;
}

.club-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 10px 0;
}

.club-card__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 10px;
	border: 1px solid #d6e6fb;
	border-radius: 999px;
	background: #fff;
	color: #12345f;
	font-size: 12px;
	font-weight: 900;
}

.club-card__reservations {
	display: grid;
	gap: 4px;
	margin: 12px 0;
	padding: 11px;
	border: 1px solid #dbe9ff;
	border-radius: 18px;
	background: rgba(239, 246, 255, 0.72);
}

.club-card__reservations strong {
	color: #0b376b;
	font-size: 12px;
	font-weight: 950;
}

.club-card__reservations small {
	color: #6a7b93;
	font-size: 12px;
	font-weight: 800;
}

.clubs-btn--wide {
	width: 100%;
	min-height: 42px;
	margin-top: 4px;
	border-radius: 16px;
	background: linear-gradient(135deg, #eaf3ff, #f7fbff);
	color: #0b376b;
}

.club-card:hover .clubs-btn--wide {
	background: linear-gradient(135deg, #1877ff, #0047d9);
	color: #fff;
	box-shadow: 0 10px 25px rgba(18, 102, 241, 0.18);
}

.clubs-empty {
	grid-column: 1 / -1;
	padding: 28px;
	border: 1px dashed #b9d6ff;
	border-radius: 24px;
	background: #f7fbff;
	text-align: center;
}

@media (max-width: 860px) {
	.clubs-page:not(.reservation-page):not(.admin-reservation-page) {
		padding: 16px 10px 46px;
	}

	.clubs-hero {
		align-items: flex-start;
		flex-direction: column;
		padding: 18px;
		border-radius: 24px;
	}

	.clubs-hero h1 {
		font-size: 36px;
	}

	.clubs-hero__actions,
	.clubs-hero__actions .clubs-btn {
		width: 100%;
	}

	.clubs-toolbar,
	.clubs-filter-form {
		align-items: stretch;
		flex-direction: column;
	}

	.clubs-filter-form input,
	.clubs-filter-form select,
	.clubs-filter-form .clubs-btn {
		width: 100%;
		min-width: 0;
	}

	.clubs-grid {
		grid-template-columns: 1fr;
	}

	.club-card {
		min-height: 0;
		padding: 14px;
		border-radius: 22px;
	}

	.club-card h2 {
		font-size: 28px;
	}
}

/* =========================================================
   Clubs listing — ultra compact premium SaaS row cards
   ========================================================= */
.clubs-page:not(.reservation-page):not(.admin-reservation-page) {
	max-width: 1180px;
	padding: 22px 16px 56px;
}

.clubs-hero {
	align-items: center;
	margin: 4px 0 12px;
	padding: 18px 20px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 5% 0, rgba(18, 102, 241, 0.13), transparent 30%),
		linear-gradient(135deg, #ffffff 0%, #f6faff 100%);
	box-shadow: 0 14px 38px rgba(12, 45, 100, 0.07);
}

.clubs-hero h1 {
	margin: 8px 0 4px;
	font-size: clamp(30px, 3.2vw, 44px);
	line-height: 1;
	letter-spacing: -0.05em;
}

.clubs-hero p {
	font-size: 13px;
	line-height: 1.35;
}

.clubs-badge {
	padding: 6px 10px;
	font-size: 10px;
}

.clubs-btn {
	min-height: 36px;
	padding: 0 14px;
	border-radius: 12px;
	font-size: 13px;
}

.clubs-toolbar {
	margin-bottom: 12px;
	padding: 9px;
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(12, 45, 100, 0.055);
}

.clubs-filter-form input,
.clubs-filter-form select {
	min-height: 38px;
	border-radius: 12px;
	font-size: 13px;
}

.clubs-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 9px;
}

.club-card {
	display: grid;
	grid-template-columns: minmax(180px, 1.05fr) minmax(170px, 0.9fr) minmax(150px, 0.8fr) 132px;
	align-items: center;
	gap: 14px;
	min-height: 0;
	padding: 13px 14px;
	border-radius: 20px;
	background:
		radial-gradient(circle at 100% 0, rgba(18, 102, 241, 0.09), transparent 28%),
		linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	box-shadow: 0 12px 34px rgba(12, 45, 100, 0.07);
}

.club-card:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 44px rgba(12, 45, 100, 0.1);
}

.club-card__top {
	grid-column: 1 / 2;
	grid-row: 1;
	justify-content: flex-start;
	margin: 0 0 6px;
}

.club-card__top span,
.club-card__top strong {
	min-height: 22px;
	padding: 0 8px;
	font-size: 10px;
}

.club-card h2 {
	grid-column: 1 / 2;
	margin: 0 0 4px;
	font-size: clamp(20px, 2vw, 27px);
	line-height: 1.02;
}

.club-card__address {
	grid-column: 1 / 2;
	margin: 0;
	font-size: 12px;
	line-height: 1.25;
}

.club-card > p:not(.club-card__address) {
	grid-column: 2 / 3;
	min-height: 0;
	margin: 0;
	color: #65758d;
	font-size: 12px;
	line-height: 1.35;
}

.club-card__meta {
	grid-column: 2 / 3;
	margin: 0;
	gap: 5px;
}

.club-card__meta span {
	min-height: 24px;
	padding: 0 9px;
	font-size: 11px;
}

.club-card__reservations {
	grid-column: 3 / 4;
	margin: 0;
	padding: 9px 10px;
	border-radius: 15px;
	gap: 2px;
}

.club-card__reservations strong,
.club-card__reservations small {
	font-size: 11px;
	line-height: 1.25;
}

.clubs-btn--wide {
	grid-column: 4 / 5;
	width: 100%;
	min-height: 38px;
	margin: 0;
	border-radius: 14px;
	font-size: 13px;
}

.clubs-empty {
	padding: 22px;
	border-radius: 20px;
}

@media (max-width: 920px) {
	.clubs-page:not(.reservation-page):not(.admin-reservation-page) {
		padding: 14px 10px 44px;
	}

	.clubs-hero {
		align-items: flex-start;
		flex-direction: column;
		padding: 16px;
		border-radius: 22px;
	}

	.clubs-hero h1 {
		font-size: 32px;
	}

	.clubs-toolbar,
	.clubs-filter-form {
		align-items: stretch;
		flex-direction: column;
	}

	.clubs-filter-form input,
	.clubs-filter-form select,
	.clubs-filter-form .clubs-btn,
	.clubs-hero__actions,
	.clubs-hero__actions .clubs-btn {
		width: 100%;
		min-width: 0;
	}

	.club-card {
		grid-template-columns: 1fr auto;
		gap: 9px 12px;
		padding: 12px;
	}

	.club-card__top,
	.club-card h2,
	.club-card__address,
	.club-card > p:not(.club-card__address),
	.club-card__meta,
	.club-card__reservations {
		grid-column: 1 / 2;
	}

	.club-card__reservations {
		grid-column: 1 / -1;
	}

	.clubs-btn--wide {
		grid-column: 2 / 3;
		grid-row: 1 / 4;
		width: auto;
		min-width: 106px;
		height: 38px;
		align-self: center;
	}
}

@media (max-width: 560px) {
	.clubs-hero h1 {
		font-size: 28px;
	}

	.club-card {
		grid-template-columns: 1fr;
		border-radius: 18px;
	}

	.club-card__top,
	.club-card h2,
	.club-card__address,
	.club-card > p:not(.club-card__address),
	.club-card__meta,
	.club-card__reservations,
	.clubs-btn--wide {
		grid-column: 1 / -1;
	}

	.clubs-btn--wide {
		width: 100%;
	}
}

/* =========================================================
   FINAL OVERRIDE: tiny premium SaaS club catalog
   Cel: 4x mniejsze karty, małe czcionki, 4-6 klubów w rzędzie
   ========================================================= */
.clubs-page:not(.reservation-page):not(.admin-reservation-page) {
	max-width: 1080px;
	padding: 14px 14px 36px;
	font-size: 12px;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-hero {
	min-height: 0;
	margin: 0 0 10px;
	padding: 12px 14px;
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(12, 45, 100, 0.055);
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-hero h1 {
	margin: 5px 0 2px;
	font-size: clamp(22px, 2.1vw, 30px);
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-hero p {
	margin: 0;
	font-size: 11px;
	line-height: 1.25;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-badge {
	min-height: 18px;
	padding: 0 7px;
	font-size: 8px;
	letter-spacing: 0.05em;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-btn {
	min-height: 30px;
	padding: 0 10px;
	border-radius: 10px;
	font-size: 11px;
	font-weight: 900;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-toolbar {
	margin-bottom: 10px;
	padding: 7px;
	border-radius: 14px;
	box-shadow: 0 8px 20px rgba(12, 45, 100, 0.045);
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-filter-form {
	gap: 6px;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-filter-form input,
.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-filter-form select {
	min-height: 32px;
	padding: 0 10px;
	border-radius: 10px;
	font-size: 11px;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	align-items: stretch;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto auto 1fr auto;
	gap: 4px 8px;
	min-height: 118px;
	padding: 10px;
	border-radius: 15px;
	border-color: #dceaff;
	background:
		radial-gradient(circle at 100% 0, rgba(18, 102, 241, 0.075), transparent 34%),
		linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
	box-shadow: 0 8px 22px rgba(12, 45, 100, 0.055);
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 30px rgba(12, 45, 100, 0.085);
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card__top {
	display: contents;
	margin: 0;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card__top span {
	grid-column: 1 / 2;
	grid-row: 1;
	justify-self: start;
	min-height: 18px;
	padding: 0 7px;
	border-radius: 999px;
	font-size: 8px;
	line-height: 18px;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card__top strong {
	grid-column: 2 / 3;
	grid-row: 1;
	justify-self: end;
	min-height: 18px;
	padding: 0 7px;
	border-radius: 999px;
	font-size: 8px;
	line-height: 18px;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card h2 {
	grid-column: 1 / -1;
	grid-row: 2;
	margin: 2px 0 0;
	font-size: 17px;
	line-height: 1.05;
	letter-spacing: -0.035em;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card h2 a {
	color: #1266f1;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card__address {
	grid-column: 1 / -1;
	grid-row: 3;
	margin: 0;
	color: #65758d;
	font-size: 10px;
	line-height: 1.25;
	font-weight: 750;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card > p:not(.club-card__address) {
	grid-column: 1 / -1;
	grid-row: 4;
	min-height: 0;
	margin: 0;
	color: #7b8aa0;
	font-size: 10px;
	line-height: 1.25;
	max-height: 26px;
	overflow: hidden;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card__meta {
	grid-column: 1 / 2;
	grid-row: 5;
	margin: 0;
	gap: 4px;
	align-self: end;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card__meta span {
	min-height: 21px;
	padding: 0 7px;
	border-radius: 999px;
	font-size: 9px;
	font-weight: 850;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card__reservations {
	display: none;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-btn--wide {
	grid-column: 2 / 3;
	grid-row: 5;
	align-self: end;
	width: auto;
	min-width: 74px;
	min-height: 28px;
	margin: 0;
	padding: 0 9px;
	border-radius: 10px;
	font-size: 10px;
	box-shadow: none;
	background: #eef5ff;
	color: #0b376b;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card:hover .clubs-btn--wide {
	background: linear-gradient(135deg, #1877ff, #0047d9);
	color: #fff;
	box-shadow: 0 8px 18px rgba(18, 102, 241, 0.16);
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-empty {
	padding: 16px;
	border-radius: 15px;
	font-size: 12px;
}

@media (min-width: 1320px) {
	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.clubs-page:not(.reservation-page):not(.admin-reservation-page) {
		padding: 10px 10px 34px;
	}

	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-hero {
		padding: 11px;
		border-radius: 16px;
	}

	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-hero h1 {
		font-size: 22px;
	}

	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 7px;
	}

	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card {
		min-height: 112px;
		padding: 9px;
		border-radius: 14px;
	}

	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card h2 {
		font-size: 15px;
	}
}

@media (max-width: 430px) {
	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .clubs-grid {
		grid-template-columns: 1fr;
	}

	.clubs-page:not(.reservation-page):not(.admin-reservation-page) .club-card {
		min-height: 96px;
	}
}

/* =========================================================
   FINAL: footer przyklejony do dołu + 30-min selection UX
   ========================================================= */
html,
body {
	min-height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

body > main,
.clubs-page {
	flex: 1 0 auto;
}

body > footer,
.site-footer,
.footer {
	margin-top: auto;
	flex-shrink: 0;
}

.clubs-page:not(.reservation-page):not(.admin-reservation-page) {
	min-height: calc(100vh - 430px);
}

/* Rezerwacje: więcej życia, mniejsze sloty i czytelne 30 minut */
.reservation-grid-wrap {
	max-height: 70vh;
}

.reservation-grid th {
	font-size: 11px;
	padding: 9px 6px;
}

.reservation-grid .time-cell {
	width: 58px;
	font-size: 12px;
}

.reservation-grid td {
	padding: 4px;
}

.slot {
	min-height: 34px;
	border-radius: 11px;
	padding: 6px 8px;
}

.slot strong {
	font-size: 11.5px;
}

.slot small {
	font-size: 9.5px;
}

.slot--free {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, #eff7ff 100%);
	border-color: #b8d7ff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.9);
}

.slot--free:hover,
.slot--free.is-selected {
	color: #ffffff;
	border-color: #0b5ce6;
	background: linear-gradient(135deg, #2384ff 0%, #064bdc 100%);
	box-shadow: 0 10px 24px rgba(18, 102, 241, 0.25);
}

.slot--free.is-selected::after {
	content: "Wybrane 30 min";
	position: absolute;
	right: 7px;
	top: 6px;
	padding: 2px 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.22);
	color: #fff;
	font-size: 8px;
	font-weight: 950;
}

.booking-bar {
	border-color: #bcd8ff;
	background:
		radial-gradient(circle at 100% 0, rgba(18, 102, 241, 0.12), transparent 32%),
		linear-gradient(135deg, #ffffff, #f2f8ff);
}

.booking-form input[readonly] {
	min-width: 260px;
	background: #f8fbff;
}

@media (max-width: 720px) {
	.reservation-grid {
		min-width: 760px;
	}

	.slot {
		min-height: 36px;
	}

	.slot--free.is-selected::after {
		display: none;
	}

	.booking-form input[readonly] {
		min-width: 0;
	}
}

/* =========================================================
   FINAL BOOKING STUDIO — premium day + courts view
   ========================================================= */
html,
body {
	min-height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	background: #f7faff;
}

body > main {
	flex: 1 0 auto;
}

body > footer,
.site-footer {
	flex-shrink: 0;
	margin-top: auto;
}

.booking-studio {
	max-width: 1120px;
	padding: 18px 14px 56px;
	font-size: 13px;
}

.booking-hero {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	margin-bottom: 12px;
	padding: 22px;
	border: 1px solid rgba(37, 99, 235, 0.18);
	border-radius: 28px;
	background:
		radial-gradient(circle at 100% 0, rgba(96, 165, 250, 0.35), transparent 34%),
		linear-gradient(135deg, #ffffff 0%, #eef6ff 54%, #dcebff 100%);
	box-shadow: 0 24px 70px rgba(15, 52, 110, 0.1);
}

.booking-kicker {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	color: #1d4ed8;
	font-size: 11px;
	font-weight: 950;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.booking-kicker a,
.booking-kicker span {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	color: #1d4ed8;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(37, 99, 235, 0.08);
}

.booking-hero h1 {
	margin: 0;
	color: #071936;
	font-size: clamp(30px, 4vw, 48px);
	line-height: 0.95;
	letter-spacing: -0.055em;
}

.booking-hero p {
	margin: 8px 0 0;
	color: #52647f;
	font-size: 13px;
	font-weight: 850;
}

.booking-hero__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.booking-hero__meta div,
.booking-hero__meta a {
	min-width: 92px;
	min-height: 58px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	padding: 10px 12px;
	border: 1px solid #d8e7ff;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.82);
	color: #0b2b5b;
	text-decoration: none;
	box-shadow: 0 12px 30px rgba(15, 52, 110, 0.08);
}

.booking-hero__meta a {
	align-items: center;
	background: linear-gradient(135deg, #1877ff, #0756dd);
	color: #fff;
	font-weight: 950;
}

.booking-hero__meta strong {
	font-size: 18px;
	line-height: 1;
	letter-spacing: -0.02em;
}

.booking-hero__meta span {
	color: #64748b;
	font-size: 11px;
	font-weight: 850;
}

.booking-board,
.booking-summary {
	border: 1px solid #dbe8fb;
	border-radius: 26px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 20px 60px rgba(15, 52, 110, 0.09);
	backdrop-filter: blur(14px);
}

.booking-board {
	padding: 14px;
}

.booking-board__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
}

.mini-label {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 0 9px;
	border-radius: 999px;
	background: #eaf3ff;
	color: #1556d9;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.booking-board h2,
.booking-summary h2 {
	margin: 6px 0 2px;
	color: #081a38;
	font-size: 22px;
	line-height: 1.05;
	letter-spacing: -0.035em;
}

.booking-board p,
.booking-summary p {
	margin: 0;
	color: #63738d;
	font-size: 12px;
	font-weight: 760;
}

.week-switcher {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px;
	border: 1px solid #dbe8fb;
	border-radius: 999px;
	background: #f5f9ff;
}

.week-switcher a {
	width: 36px;
	height: 36px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 999px;
	background: #fff;
	color: #0b5ee8;
	text-decoration: none;
	font-size: 18px;
	font-weight: 950;
	box-shadow: 0 8px 22px rgba(15, 52, 110, 0.08);
}

.week-switcher strong {
	min-width: 118px;
	color: #17365f;
	text-align: center;
	font-size: 12px;
	font-weight: 950;
}

.day-strip {
	display: grid;
	grid-template-columns: repeat(7, minmax(72px, 1fr));
	gap: 8px;
	margin-bottom: 12px;
}

.day-pill {
	min-height: 54px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	padding: 9px 10px;
	border: 1px solid #dbe8fb;
	border-radius: 16px;
	background: linear-gradient(180deg, #fff, #f7fbff);
	color: #0b2b5b;
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(15, 52, 110, 0.055);
	transition: 0.16s ease;
}

.day-pill:hover {
	transform: translateY(-1px);
	border-color: #9ec5ff;
}

.day-pill small {
	color: #64748b;
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
}

.day-pill strong {
	font-size: 15px;
	font-weight: 950;
}

.day-pill.is-active {
	border-color: transparent;
	background: linear-gradient(135deg, #1877ff, #0756dd);
	color: #fff;
	box-shadow: 0 14px 28px rgba(24, 119, 255, 0.24);
}

.day-pill.is-active small {
	color: rgba(255, 255, 255, 0.78);
}

.court-schedule-wrap {
	max-height: 66vh;
	overflow: auto;
	border: 1px solid #dce9fb;
	border-radius: 20px;
	background: #fff;
	scrollbar-color: #94bff9 transparent;
	scrollbar-width: thin;
}

.court-schedule {
	width: 100%;
	min-width: 760px;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.court-schedule th {
	position: sticky;
	top: 0;
	z-index: 3;
	padding: 10px 8px;
	border-bottom: 1px solid #dce9fb;
	background: linear-gradient(180deg, #fbfdff, #f2f7ff);
	color: #103763;
	font-size: 12px;
	font-weight: 950;
}

.court-schedule .schedule-time-head,
.court-schedule .schedule-time {
	position: sticky;
	left: 0;
	z-index: 4;
	width: 70px;
	border-right: 1px solid #dce9fb;
	background: #f7fbff;
	color: #07508f;
	text-align: center;
}

.court-schedule td {
	height: 48px;
	padding: 4px;
	border-right: 1px solid #edf4ff;
	border-bottom: 1px solid #edf4ff;
	background: #fff;
}

.time-slot {
	width: 100%;
	min-height: 40px;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 1px;
	padding: 6px 8px;
	text-align: left;
	line-height: 1.05;
	font-weight: 950;
	transition:
		transform 0.14s ease,
		box-shadow 0.14s ease,
		border-color 0.14s ease,
		background 0.14s ease;
}

.time-slot strong {
	overflow: hidden;
	max-width: 100%;
	color: inherit;
	font-size: 11px;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.time-slot small {
	color: inherit;
	font-size: 9.5px;
	font-weight: 900;
	opacity: 0.72;
}

.time-slot--free {
	border: 1px dashed #b4d1fb;
	background: linear-gradient(180deg, #fbfdff, #f2f8ff);
	color: #0b6ff7;
	cursor: pointer;
}

.time-slot--free span {
	width: 18px;
	height: 18px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 999px;
	background: #e8f2ff;
	color: #0b6ff7;
	font-size: 14px;
	line-height: 1;
}

.time-slot--free:hover {
	transform: translateY(-1px);
	border-color: #1877ff;
	background: #eaf3ff;
	box-shadow: 0 12px 28px rgba(24, 119, 255, 0.16);
}

.time-slot--free.is-selected,
.time-slot--free.is-range {
	border-style: solid;
	border-color: #0b6ff7;
	background: linear-gradient(135deg, #1877ff, #0756dd);
	color: #fff;
	box-shadow: 0 12px 28px rgba(24, 119, 255, 0.24);
}

.time-slot--free.is-range {
	opacity: 0.88;
}

.time-slot--free.is-blocked-range {
	border-color: #fb7185;
	background: #fff1f2;
	color: #be123c;
	box-shadow: none;
}

.time-slot--busy {
	border: 1px solid #bfdbfe;
	background: linear-gradient(135deg, #dbeafe, #f7fbff);
	color: #0b376b;
	box-shadow: inset 3px 0 0 #2563eb;
}

.time-slot--busy.is-continuation {
	opacity: 0.58;
}

.booking-summary {
	position: sticky;
	bottom: 12px;
	z-index: 12;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-top: 12px;
	padding: 14px;
	background: rgba(255, 255, 255, 0.96);
}

.booking-summary__copy {
	min-width: 220px;
}

.booking-checkout {
	display: flex;
	align-items: end;
	gap: 9px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.booking-checkout label {
	display: flex;
	flex-direction: column;
	gap: 5px;
	color: #475569;
	font-size: 11px;
	font-weight: 950;
}

.booking-checkout select {
	min-width: 142px;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid #d6e6fb;
	border-radius: 13px;
	background: #fff;
	color: #0b1736;
	font-size: 13px;
	font-weight: 900;
	outline: none;
}

.light-toggle {
	min-height: 40px;
	flex-direction: row !important;
	align-items: center !important;
	gap: 7px !important;
	padding: 0 11px;
	border: 1px solid #d6e6fb;
	border-radius: 13px;
	background: #f5f9ff;
}

.light-toggle b {
	color: #0b6ff7;
}

.checkout-price {
	min-width: 98px;
	min-height: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 13px;
	border: 1px solid #d6e6fb;
	border-radius: 13px;
	background: #eef6ff;
	color: #0b376b;
}

.checkout-price small {
	color: #64748b;
	font-size: 10px;
	font-weight: 900;
}

.checkout-price strong {
	font-size: 15px;
	line-height: 1;
	font-weight: 950;
}

.booking-checkout button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

@media (max-width: 900px) {
	.booking-studio {
		padding: 10px 8px 44px;
	}

	.booking-hero,
	.booking-board__head,
	.booking-summary {
		flex-direction: column;
		align-items: stretch;
	}

	.booking-hero {
		padding: 16px;
		border-radius: 22px;
	}

	.booking-hero h1 {
		font-size: 30px;
	}

	.booking-hero__meta {
		justify-content: stretch;
	}

	.booking-hero__meta div,
	.booking-hero__meta a {
		flex: 1;
		min-width: 0;
	}

	.booking-board,
	.booking-summary {
		border-radius: 20px;
		padding: 10px;
	}

	.booking-board h2,
	.booking-summary h2 {
		font-size: 18px;
	}

	.day-strip {
		display: flex;
		overflow-x: auto;
		padding-bottom: 2px;
	}

	.day-pill {
		min-width: 78px;
	}

	.court-schedule-wrap {
		max-height: 64vh;
		border-radius: 16px;
	}

	.court-schedule {
		min-width: 680px;
	}

	.court-schedule .schedule-time-head,
	.court-schedule .schedule-time {
		width: 58px;
	}

	.court-schedule td {
		height: 44px;
		padding: 3px;
	}

	.time-slot {
		min-height: 36px;
		padding: 5px 6px;
	}

	.booking-summary {
		position: static;
	}

	.booking-checkout {
		display: grid;
		grid-template-columns: 1fr;
		justify-content: stretch;
	}

	.booking-checkout select,
	.booking-checkout button,
	.checkout-price {
		width: 100%;
	}
}

@media (max-width: 520px) {
	.booking-hero h1 {
		font-size: 26px;
	}

	.booking-kicker {
		flex-wrap: wrap;
	}

	.week-switcher {
		justify-content: space-between;
		width: 100%;
	}

	.court-schedule {
		min-width: 560px;
	}

	.court-schedule th {
		font-size: 10px;
		padding: 8px 5px;
	}

	.time-slot strong {
		font-size: 10px;
	}

	.time-slot small {
		font-size: 9px;
	}
}

/* === Thoughtful clubs/admin polish === */
html,
body {
	min-height: 100%;
}
body.tfp-sticky-layout {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: #f7faff;
}
body.tfp-sticky-layout > main {
	flex: 1 0 auto;
}
body.tfp-sticky-layout > footer {
	margin-top: auto;
}

.clubs-index-page,
.club-admin-page {
	max-width: 980px;
	padding: 24px 16px 36px;
}

.clubs-mini-hero,
.admin-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid #dceaff;
	border-radius: 22px;
	background: linear-gradient(135deg, #eef6ff 0%, #ffffff 62%, #eef5ff 100%);
	box-shadow: 0 18px 50px rgba(21, 91, 214, 0.08);
}

.clubs-mini-hero span,
.admin-topbar span {
	display: inline-flex;
	color: #1264ea;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 5px;
}

.clubs-mini-hero h1,
.admin-topbar h1 {
	margin: 0;
	color: #0c1d3d;
	font-size: clamp(22px, 3vw, 34px);
	line-height: 0.98;
	letter-spacing: -0.05em;
}

.clubs-mini-hero p,
.admin-topbar p {
	margin: 5px 0 0;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
}

.clubs-compact-toolbar {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 12px 0 10px;
	padding: 8px;
	border: 1px solid #dceaff;
	border-radius: 17px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 12px 32px rgba(20, 83, 180, 0.05);
}

.clubs-compact-filter {
	display: grid;
	grid-template-columns: minmax(160px, 1fr) 150px 74px;
	gap: 7px;
	flex: 1;
}
.clubs-compact-filter input,
.clubs-compact-filter select,
.clubs-compact-filter button {
	height: 34px;
	border-radius: 11px;
	border: 1px solid #d8e7ff;
	background: #fff;
	color: #12325f;
	padding: 0 10px;
	font-size: 11px;
	font-weight: 800;
	outline: none;
}
.clubs-compact-filter button {
	background: #eff6ff;
	color: #075bd8;
	cursor: pointer;
}
.clubs-compact-toolbar > a {
	color: #075bd8;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
	white-space: nowrap;
}

.clubs-ultra-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 9px;
}
.club-mini-card {
	min-height: 105px;
	padding: 11px;
	border: 1px solid #dceaff;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 14px 34px rgba(24, 87, 174, 0.07);
	transition:
		transform 0.16s ease,
		box-shadow 0.16s ease,
		border-color 0.16s ease;
}
.club-mini-card:hover {
	transform: translateY(-2px);
	border-color: #9cc4ff;
	box-shadow: 0 18px 44px rgba(24, 87, 174, 0.12);
}
.club-mini-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	margin-bottom: 8px;
}
.club-mini-card__head span,
.club-mini-card__head b {
	display: inline-flex;
	align-items: center;
	min-height: 18px;
	padding: 0 7px;
	border-radius: 999px;
	background: #eef6ff;
	color: #0b66e4;
	font-size: 9px;
	font-weight: 900;
}
.club-mini-card__head b {
	background: #1264ea;
	color: #fff;
}
.club-mini-card h2 {
	margin: 0;
	font-size: 16px;
	line-height: 1;
	letter-spacing: -0.04em;
}
.club-mini-card h2 a {
	color: #1167e8;
	text-decoration: none;
}
.club-mini-card p {
	margin: 5px 0 12px;
	min-height: 14px;
	color: #475569;
	font-size: 10.5px;
	font-weight: 750;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.club-mini-card__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.club-mini-card__bottom small {
	color: #12325f;
	font-size: 10px;
	font-weight: 900;
}
.club-mini-card__bottom a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 25px;
	padding: 0 11px;
	border-radius: 9px;
	background: #eaf3ff;
	color: #075bd8;
	font-size: 10px;
	font-weight: 950;
	text-decoration: none;
}
.compact-empty {
	grid-column: 1 / -1;
}

.admin-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.admin-club-tabs {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 12px 0;
	overflow-x: auto;
	padding-bottom: 2px;
}
.admin-club-tabs a {
	flex: 0 0 auto;
	height: 32px;
	display: inline-flex;
	align-items: center;
	padding: 0 12px;
	border: 1px solid #dbeafe;
	border-radius: 999px;
	background: #fff;
	color: #0f2f5f;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}
.admin-club-tabs a.is-active {
	background: #1264ea;
	border-color: #1264ea;
	color: #fff;
	box-shadow: 0 10px 24px rgba(18, 100, 234, 0.2);
}

.admin-layout {
	display: grid;
	grid-template-columns: 330px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
}
.admin-settings-card,
.admin-board-card {
	border: 1px solid #dceaff;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 18px 50px rgba(24, 87, 174, 0.07);
}
.admin-settings-card {
	padding: 14px;
	position: sticky;
	top: 88px;
}
.admin-board-card {
	padding: 14px;
	min-width: 0;
}
.admin-card-head,
.admin-board-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.admin-card-head h2,
.admin-board-head h2 {
	margin: 0;
	color: #0c1d3d;
	font-size: 18px;
	letter-spacing: -0.04em;
}
.admin-card-head a {
	color: #1264ea;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none;
}
.admin-board-head span {
	color: #1264ea;
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.admin-board-head p {
	margin: 3px 0 0;
	color: #64748b;
	font-size: 11px;
	font-weight: 700;
}

.admin-form {
	display: grid;
	gap: 9px;
}
.admin-form label {
	display: grid;
	gap: 5px;
	color: #0f2f5f;
	font-size: 10.5px;
	font-weight: 950;
}
.admin-form input,
.admin-form textarea {
	width: 100%;
	border: 1px solid #dbeafe;
	border-radius: 11px;
	background: #f8fbff;
	color: #0c1d3d;
	font-size: 12px;
	font-weight: 800;
	padding: 9px 10px;
	outline: none;
}
.admin-form input {
	height: 36px;
}
.admin-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.admin-check {
	display: flex !important;
	grid-template-columns: none !important;
	align-items: center;
	gap: 8px !important;
	padding: 9px;
	border-radius: 12px;
	background: #f0f7ff;
}
.admin-check input {
	width: 16px;
	height: 16px;
}
.admin-check span {
	font-size: 11px;
}
.delete-club-form {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #e5efff;
}
.delete-club-form button {
	width: 100%;
	border: 0;
	border-radius: 11px;
	height: 34px;
	background: #fff1f2;
	color: #be123c;
	font-size: 11px;
	font-weight: 950;
	cursor: pointer;
}

.admin-stats {
	display: flex;
	gap: 7px;
}
.admin-stats b {
	display: grid;
	place-items: center;
	min-width: 66px;
	padding: 8px;
	border-radius: 14px;
	background: #eff6ff;
	color: #075bd8;
	font-size: 16px;
}
.admin-stats small {
	display: block;
	color: #64748b;
	font-size: 9px;
	font-weight: 900;
}
.admin-day-row {
	display: grid;
	grid-template-columns: repeat(7, minmax(70px, 1fr));
	gap: 6px;
	margin: 12px 0;
}
.admin-day-row a {
	display: grid;
	place-items: center;
	gap: 2px;
	height: 44px;
	border-radius: 13px;
	border: 1px solid #dbeafe;
	background: #f8fbff;
	color: #0f2f5f;
	text-decoration: none;
}
.admin-day-row a.is-active {
	background: #1264ea;
	border-color: #1264ea;
	color: #fff;
}
.admin-day-row small {
	font-size: 9px;
	font-weight: 900;
	text-transform: uppercase;
}
.admin-day-row strong {
	font-size: 12px;
	font-weight: 950;
}
.admin-schedule-wrap {
	overflow: auto;
	border: 1px solid #e1edff;
	border-radius: 16px;
}
.admin-schedule-table {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
	font-size: 11px;
}
.admin-schedule-table th {
	background: #f2f7ff;
	color: #0d2b56;
	font-size: 10px;
	font-weight: 950;
	padding: 8px;
	text-align: left;
	border-bottom: 1px solid #e1edff;
}
.admin-schedule-table td {
	height: 42px;
	padding: 5px;
	border-bottom: 1px solid #edf4ff;
	border-left: 1px solid #edf4ff;
}
.admin-free-slot {
	display: block;
	padding: 6px 8px;
	border-radius: 9px;
	background: #f8fbff;
	color: #9badc6;
	font-size: 10px;
	font-weight: 850;
}
.admin-reservation {
	display: grid;
	gap: 2px;
	padding: 6px 8px;
	border-radius: 10px;
	background: linear-gradient(135deg, #dbeafe, #eff6ff);
	border: 1px solid #9cc4ff;
	color: #0f2f5f;
}
.admin-reservation.is-part {
	opacity: 0.55;
}
.admin-reservation strong {
	font-size: 10px;
	max-width: 130px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.admin-reservation small {
	font-size: 9px;
	color: #35618f;
	font-weight: 850;
}
.admin-empty-state {
	min-height: 260px;
	display: grid;
	place-content: center;
	text-align: center;
}
.admin-empty-state h2 {
	margin: 0;
	color: #0c1d3d;
	font-size: 22px;
}
.admin-empty-state p {
	margin: 6px auto 0;
	color: #64748b;
	max-width: 380px;
	font-size: 13px;
}

@media (max-width: 1000px) {
	.clubs-ultra-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.admin-layout {
		grid-template-columns: 1fr;
	}
	.admin-settings-card {
		position: static;
	}
}

@media (max-width: 720px) {
	.clubs-index-page,
	.club-admin-page {
		padding: 14px 10px 28px;
	}
	.clubs-mini-hero,
	.admin-topbar {
		align-items: flex-start;
		flex-direction: column;
		padding: 15px;
		border-radius: 18px;
	}
	.clubs-compact-toolbar {
		flex-direction: column;
		align-items: stretch;
	}
	.clubs-compact-filter {
		grid-template-columns: 1fr;
	}
	.clubs-ultra-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.admin-form-grid {
		grid-template-columns: 1fr;
	}
	.admin-board-head {
		flex-direction: column;
	}
	.admin-stats {
		width: 100%;
	}
	.admin-stats b {
		flex: 1;
	}
	.admin-day-row {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 430px) {
	.clubs-ultra-grid {
		grid-template-columns: 1fr;
	}
	.club-mini-card {
		min-height: 96px;
	}
}

/* === FINAL: compact premium clubs directory + visible delete action === */
body.tfp-sticky-layout {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body.tfp-sticky-layout > main {
	flex: 1 0 auto;
}

body.tfp-sticky-layout > footer {
	margin-top: auto;
}

.clubs-index-page {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
	padding: 18px 0 42px;
}

.clubs-mini-hero {
	min-height: 76px;
	padding: 16px 18px;
	border-radius: 18px;
	background:
		radial-gradient(circle at 12% 0%, rgba(37, 99, 235, 0.13), transparent 35%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(242, 247, 255, 0.95));
	border: 1px solid rgba(147, 197, 253, 0.45);
	box-shadow: 0 16px 45px rgba(15, 23, 42, 0.06);
}

.clubs-mini-hero span {
	font-size: 9px;
	line-height: 1;
	letter-spacing: 0.09em;
	font-weight: 950;
	color: #075bd8;
	text-transform: uppercase;
}

.clubs-mini-hero h1 {
	margin: 7px 0 2px;
	font-size: clamp(24px, 3.1vw, 38px);
	line-height: 0.95;
	letter-spacing: -0.065em;
	color: #07172f;
}

.clubs-mini-hero p {
	margin: 0;
	font-size: 11px;
	line-height: 1.35;
	font-weight: 750;
	color: #536477;
}

.clubs-mini-hero .clubs-btn {
	height: 30px;
	padding: 0 12px;
	border-radius: 10px;
	font-size: 10.5px;
	box-shadow: 0 10px 20px rgba(37, 99, 235, 0.18);
}

.clubs-compact-toolbar {
	margin: 10px 0 10px;
	padding: 8px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(191, 219, 254, 0.9);
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.045);
}

.clubs-compact-filter {
	grid-template-columns: minmax(260px, 1fr) 170px 80px;
	gap: 8px;
}

.clubs-compact-filter input,
.clubs-compact-filter select,
.clubs-compact-filter button {
	height: 32px;
	border-radius: 10px;
	font-size: 10.5px;
	font-weight: 850;
}

.clubs-compact-toolbar > a {
	height: 32px;
	min-width: 92px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border-radius: 10px;
	background: #eff6ff;
	color: #075bd8;
	font-size: 10.5px;
	font-weight: 950;
	text-decoration: none;
}

.clubs-ultra-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	align-items: stretch;
}

.club-mini-card {
	min-height: 96px;
	padding: 10px;
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 255, 0.98));
	border: 1px solid rgba(191, 219, 254, 0.86);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
	transition:
		transform 0.18s ease,
		box-shadow 0.18s ease,
		border-color 0.18s ease;
}

.club-mini-card:hover {
	transform: translateY(-2px);
	border-color: rgba(37, 99, 235, 0.35);
	box-shadow: 0 18px 34px rgba(37, 99, 235, 0.1);
}

.club-mini-card__head {
	margin-bottom: 6px;
}

.club-mini-card__head span,
.club-mini-card__head b {
	height: 18px;
	padding: 0 7px;
	border-radius: 999px;
	font-size: 8px;
	line-height: 18px;
	letter-spacing: 0.04em;
	font-weight: 950;
}

.club-mini-card h2 {
	margin: 0 0 3px;
	font-size: 15px;
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.club-mini-card h2 a {
	color: #1264ea;
	text-decoration: none;
}

.club-mini-card p {
	margin: 0;
	min-height: 24px;
	color: #334155;
	font-size: 10px;
	line-height: 1.25;
	font-weight: 800;
}

.club-mini-card__bottom {
	margin-top: 9px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.club-mini-card__bottom small {
	height: 22px;
	display: inline-flex;
	align-items: center;
	padding: 0 8px;
	border-radius: 999px;
	background: #f8fbff;
	border: 1px solid #dbeafe;
	color: #0f2f5f;
	font-size: 9.5px;
	font-weight: 950;
	white-space: nowrap;
}

.club-mini-card__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
}

.club-mini-card__actions a,
.club-mini-card__actions button {
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 9px;
	padding: 0 9px;
	font-size: 9.5px;
	font-weight: 950;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}

.club-mini-card__actions a {
	background: linear-gradient(135deg, #1d7cff, #075bd8);
	color: #fff;
	box-shadow: 0 8px 16px rgba(37, 99, 235, 0.18);
}

.club-mini-card__actions form {
	margin: 0;
}

.club-mini-card__actions button {
	background: #fff1f2;
	color: #be123c;
}

@media (max-width: 1160px) {
	.clubs-ultra-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.clubs-ultra-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.clubs-index-page {
		width: min(100% - 20px, 520px);
		padding-top: 12px;
	}

	.clubs-mini-hero {
		gap: 12px;
		padding: 14px;
	}

	.clubs-mini-hero h1 {
		font-size: 25px;
	}

	.clubs-compact-filter {
		grid-template-columns: 1fr;
	}

	.clubs-ultra-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.club-mini-card {
		min-height: 92px;
		padding: 9px;
	}
}

@media (max-width: 430px) {
	.clubs-ultra-grid {
		grid-template-columns: 1fr;
	}
}

/* === FINAL COMPACT PREMIUM / TENNISFINALSPRO === */
html,
body {
	min-height: 100%;
}
body.tfp-sticky-layout,
body {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}
main {
	flex: 1 0 auto;
}
footer,
.footer {
	margin-top: auto;
}

.clubs-page {
	width: min(100% - 32px, 1080px) !important;
	margin-inline: auto !important;
	padding-top: 18px !important;
	font-size: 12px !important;
}

.clubs-hero,
.admin-topbar,
.booking-hero {
	padding: 18px 20px !important;
	border-radius: 18px !important;
	min-height: 0 !important;
	box-shadow: 0 18px 50px rgba(8, 42, 100, 0.07) !important;
}

.clubs-hero h1,
.admin-topbar h1,
.booking-hero h1 {
	font-size: clamp(24px, 3vw, 36px) !important;
	line-height: 1 !important;
	letter-spacing: -0.05em !important;
	margin: 5px 0 4px !important;
}

.clubs-hero p,
.admin-topbar p,
.booking-hero p {
	font-size: 12px !important;
	margin: 0 !important;
}
.clubs-btn,
button,
input,
select,
textarea {
	font-size: 12px !important;
}
.clubs-btn {
	min-height: 30px !important;
	padding: 8px 12px !important;
	border-radius: 10px !important;
}

.clubs-toolbar {
	padding: 8px !important;
	border-radius: 14px !important;
	gap: 8px !important;
}

.clubs-toolbar input,
.clubs-toolbar select {
	min-height: 30px !important;
	padding: 7px 10px !important;
	border-radius: 10px !important;
}

.clubs-grid,
.clubs-list {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 10px !important;
	margin-top: 10px !important;
}

.club-card {
	min-height: 86px !important;
	padding: 12px !important;
	border-radius: 14px !important;
	box-shadow: 0 16px 40px rgba(15, 73, 160, 0.06) !important;
}

.club-card h2,
.club-card h3,
.club-card__name {
	font-size: 15px !important;
	line-height: 1.05 !important;
	margin: 4px 0 3px !important;
	letter-spacing: -0.02em !important;
}

.club-card p,
.club-card small {
	font-size: 10px !important;
	line-height: 1.25 !important;
}
.club-card__meta,
.club-card .club-meta {
	gap: 6px !important;
	margin-top: 8px !important;
}
.club-card .clubs-btn,
.club-card a[class*="btn"] {
	min-height: 24px !important;
	padding: 5px 8px !important;
	border-radius: 8px !important;
	font-size: 10px !important;
}

.booking-studio {
	width: min(100% - 28px, 1060px) !important;
}
.booking-hero {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	background: linear-gradient(135deg, #0b4bd8, #198cff) !important;
	color: #fff !important;
}
.booking-hero h1 {
	color: #fff !important;
}
.booking-kicker,
.booking-kicker a,
.booking-hero p {
	color: rgba(255, 255, 255, 0.85) !important;
}
.booking-hero__meta {
	display: flex !important;
	gap: 8px !important;
	align-items: center !important;
}
.booking-hero__meta > div,
.booking-hero__meta a {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #fff !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 12px !important;
	padding: 8px 10px !important;
	min-width: auto !important;
}

.booking-board,
.booking-summary,
.admin-settings-card,
.admin-board-card {
	border-radius: 16px !important;
	box-shadow: 0 18px 50px rgba(15, 73, 160, 0.06) !important;
}
.booking-board {
	padding: 12px !important;
}
.booking-board__head {
	align-items: center !important;
	margin-bottom: 10px !important;
}
.booking-board__head h2 {
	font-size: 18px !important;
	margin: 2px 0 !important;
}
.booking-board__head p {
	font-size: 11px !important;
}
.week-switcher {
	padding: 5px !important;
	border-radius: 13px !important;
}
.week-switcher a {
	width: 30px !important;
	height: 30px !important;
	border-radius: 10px !important;
}
.week-switcher strong {
	font-size: 11px !important;
	min-width: 112px !important;
}
.day-strip {
	gap: 7px !important;
	margin-bottom: 10px !important;
}
.day-pill {
	padding: 9px 10px !important;
	border-radius: 12px !important;
	min-height: 52px !important;
}
.day-pill small {
	font-size: 9px !important;
}
.day-pill strong {
	font-size: 13px !important;
}

.court-schedule-wrap,
.admin-schedule-wrap {
	max-height: 560px !important;
	border-radius: 14px !important;
	overflow: auto !important;
}
.court-schedule,
.admin-schedule-table {
	border-spacing: 0 !important;
	font-size: 11px !important;
}
.court-schedule th,
.court-schedule td,
.admin-schedule-table th,
.admin-schedule-table td {
	padding: 4px !important;
	height: 32px !important;
}
.schedule-time,
.schedule-time-head,
.admin-schedule-table tbody th {
	width: 58px !important;
	font-size: 11px !important;
}
.time-slot {
	min-height: 28px !important;
	padding: 5px 7px !important;
	border-radius: 9px !important;
	font-size: 10px !important;
	line-height: 1.1 !important;
	position: relative !important;
}
.time-slot strong {
	font-size: 10.5px !important;
	line-height: 1.1 !important;
	display: block !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.time-slot small {
	font-size: 9px !important;
	display: block !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.time-slot--free {
	background: #f8fbff !important;
	border: 1px dashed #b8d4ff !important;
	color: #1269f3 !important;
}
.time-slot--busy {
	background: #eef2f7 !important;
	border: 1px solid #d9e2ef !important;
	color: #667085 !important;
}
.time-slot--mine {
	background: linear-gradient(180deg, #eaf3ff, #dcebff) !important;
	border: 1px solid #7bb3ff !important;
	color: #0757c7 !important;
}
.time-slot.is-selected,
.time-slot.is-range {
	background: #0f6fff !important;
	color: #fff !important;
	border-color: #0f6fff !important;
	box-shadow: 0 8px 22px rgba(15, 111, 255, 0.22) !important;
}
.time-slot.is-blocked-range {
	background: #fff1f2 !important;
	color: #e11d48 !important;
	border-color: #fecdd3 !important;
}
.slot-cancel-form {
	position: absolute !important;
	right: 4px !important;
	top: 4px !important;
}
.slot-cancel-form button,
.admin-inline-delete button {
	border: 0 !important;
	background: #fff !important;
	color: #ef4444 !important;
	border-radius: 7px !important;
	padding: 3px 6px !important;
	font-weight: 800 !important;
	font-size: 9px !important;
	cursor: pointer !important;
}
.time-slot.is-continuation .slot-cancel-form {
	display: none !important;
}

.booking-summary {
	position: sticky !important;
	bottom: 10px !important;
	z-index: 20 !important;
	display: grid !important;
	grid-template-columns: 1fr auto !important;
	gap: 14px !important;
	padding: 12px !important;
	margin-top: 10px !important;
	border: 1px solid #d9e8ff !important;
	background: rgba(255, 255, 255, 0.94) !important;
	backdrop-filter: blur(16px) !important;
}
.booking-summary h2 {
	font-size: 16px !important;
	margin: 2px 0 !important;
}
.booking-summary p {
	font-size: 11px !important;
	margin: 0 !important;
}
.booking-checkout {
	display: flex !important;
	align-items: end !important;
	gap: 8px !important;
}
.booking-checkout label {
	font-size: 10px !important;
	font-weight: 800 !important;
}
.booking-checkout select {
	min-height: 34px !important;
	border-radius: 10px !important;
}
.light-toggle {
	height: 34px !important;
	border-radius: 10px !important;
	padding: 0 9px !important;
}
.checkout-price {
	height: 34px !important;
	min-width: 74px !important;
	border-radius: 10px !important;
	padding: 4px 8px !important;
}
.checkout-price small {
	font-size: 8px !important;
}
.checkout-price strong {
	font-size: 12px !important;
}

.club-admin-page {
	width: min(100% - 28px, 1180px) !important;
}
.admin-layout {
	display: grid !important;
	grid-template-columns: 340px minmax(0, 1fr) !important;
	gap: 12px !important;
	align-items: start !important;
}
.admin-settings-card,
.admin-board-card {
	padding: 14px !important;
}
.admin-form {
	gap: 8px !important;
}
.admin-form label {
	font-size: 10px !important;
}
.admin-form input,
.admin-form textarea,
.admin-form select {
	min-height: 32px !important;
	border-radius: 10px !important;
	padding: 7px 9px !important;
}
.admin-form-grid {
	gap: 8px !important;
}
.admin-form-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.admin-price-box {
	padding: 10px !important;
	border: 1px solid #dbeafe !important;
	border-radius: 14px !important;
	background: #f8fbff !important;
}
.admin-price-box h3 {
	margin: 0 0 3px !important;
	font-size: 13px !important;
}
.admin-price-box p {
	margin: 0 0 8px !important;
	font-size: 10px !important;
	color: #64748b !important;
}
.admin-reservation {
	min-height: 30px !important;
	padding: 5px 7px !important;
	border-radius: 9px !important;
	position: relative !important;
}
.admin-reservation strong {
	font-size: 10px !important;
}
.admin-reservation small {
	font-size: 9px !important;
}
.admin-inline-delete {
	position: absolute !important;
	right: 4px !important;
	top: 4px !important;
}

@media (max-width: 1100px) {
	.clubs-grid,
	.clubs-list {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.admin-layout {
		grid-template-columns: 1fr !important;
	}
}
@media (max-width: 760px) {
	.clubs-page,
	.booking-studio,
	.club-admin-page {
		width: min(100% - 18px, 100%) !important;
		padding-top: 10px !important;
	}
	.clubs-grid,
	.clubs-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.clubs-hero,
	.admin-topbar,
	.booking-hero {
		padding: 14px !important;
		border-radius: 16px !important;
	}
	.clubs-hero h1,
	.admin-topbar h1,
	.booking-hero h1 {
		font-size: 24px !important;
	}
	.booking-hero,
	.booking-board__head,
	.booking-summary {
		grid-template-columns: 1fr !important;
		display: block !important;
	}
	.booking-checkout {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
	}
	.booking-checkout .clubs-btn {
		grid-column: 1 / -1 !important;
	}
	.day-strip {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
	.court-schedule-wrap {
		max-height: 62vh !important;
	}
}

/* Final pricing rules + mobile day strip polish */
.price-rules-box {
	border-color: #d8e8ff !important;
	background: linear-gradient(180deg, #fbfdff, #f6faff) !important;
}
.price-rules-head {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin-bottom: 10px !important;
}
.price-rule-add {
	min-height: 30px !important;
	padding: 0 10px !important;
	border-radius: 10px !important;
	font-size: 10px !important;
}
.price-rules-list {
	display: grid !important;
	gap: 7px !important;
}
.price-rule-row {
	display: grid !important;
	grid-template-columns: 1.15fr 0.9fr 0.9fr 0.9fr 28px !important;
	gap: 7px !important;
	align-items: end !important;
	padding: 8px !important;
	border: 1px solid #dbeafe !important;
	border-radius: 12px !important;
	background: #fff !important;
}
.price-rule-row label {
	margin: 0 !important;
	gap: 4px !important;
}
.price-rule-remove {
	height: 32px !important;
	width: 28px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #fff1f2 !important;
	color: #e11d48 !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	cursor: pointer !important;
}

@media (max-width: 760px) {
	.day-strip {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		gap: 8px !important;
		padding: 0 2px 8px !important;
		margin: 0 -2px 8px !important;
		scroll-snap-type: x proximity !important;
		-webkit-overflow-scrolling: touch !important;
	}
	.day-strip::-webkit-scrollbar {
		height: 4px !important;
	}
	.day-strip::-webkit-scrollbar-thumb {
		background: #b7d4ff !important;
		border-radius: 999px !important;
	}
	.day-pill {
		flex: 0 0 74px !important;
		min-width: 74px !important;
		min-height: 48px !important;
		padding: 8px 9px !important;
		scroll-snap-align: start !important;
	}
	.day-pill small {
		font-size: 8px !important;
		letter-spacing: 0.05em !important;
	}
	.day-pill strong {
		font-size: 13px !important;
	}
	.week-switcher {
		width: 100% !important;
		justify-content: space-between !important;
		margin-bottom: 8px !important;
	}
	.court-schedule {
		min-width: 520px !important;
	}
	.court-schedule th,
	.court-schedule td {
		height: 30px !important;
	}
	.time-slot {
		min-height: 26px !important;
		padding: 4px 6px !important;
	}
	.price-rules-head {
		display: block !important;
	}
	.price-rule-add {
		width: 100% !important;
		margin-top: 8px !important;
	}
	.price-rule-row {
		grid-template-columns: 1fr 1fr !important;
	}
	.price-rule-row .price-rule-remove {
		grid-column: 1 / -1 !important;
		width: 100% !important;
	}
}

/* === FIX PANEL KLUBU: stabilny layout bez nakladania elementow === */
.club-admin-page {
    width: min(100% - 48px, 1360px) !important;
    max-width: 1360px !important;
    margin: 0 auto !important;
    padding: 18px 0 56px !important;
    box-sizing: border-box !important;
}

.club-admin-page *,
.club-admin-page *::before,
.club-admin-page *::after {
    box-sizing: border-box !important;
}

.club-admin-page .admin-layout {
    display: grid !important;
    grid-template-columns: minmax(480px, 560px) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    overflow: visible !important;
}

.club-admin-page .admin-settings-card,
.club-admin-page .admin-board-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: hidden !important;
    border: 1px solid #d9e8ff !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 22px 60px rgba(15, 73, 150, .08) !important;
}

.club-admin-page .admin-settings-card {
    position: static !important;
    padding: 22px !important;
}

.club-admin-page .admin-board-card {
    min-height: 420px !important;
    padding: 24px !important;
}

.club-admin-page .admin-form {
    display: grid !important;
    gap: 14px !important;
    width: 100% !important;
}

.club-admin-page .admin-form label {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    gap: 6px !important;
    color: #0d2b56 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}

.club-admin-page .admin-form input,
.club-admin-page .admin-form select,
.club-admin-page .admin-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    height: auto !important;
    border: 1px solid #d9e8ff !important;
    border-radius: 13px !important;
    background: #f8fbff !important;
    color: #071f42 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    padding: 10px 12px !important;
    box-shadow: none !important;
}

.club-admin-page .admin-form textarea {
    min-height: 92px !important;
    resize: vertical !important;
}

.club-admin-page .admin-form-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
}

.club-admin-page .admin-price-box,
.club-admin-page .price-rules-box,
.club-admin-page .court-features-box {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px !important;
    border: 1px solid #d9e8ff !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff, #f6faff) !important;
    overflow: hidden !important;
}

.club-admin-page .price-rules-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
}

.club-admin-page .price-rules-head h3 {
    margin: 0 0 5px !important;
    color: #092650 !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
}

.club-admin-page .price-rules-head p,
.club-admin-page .admin-price-box p {
    margin: 0 !important;
    color: #60708a !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}

.club-admin-page .price-rule-add {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    white-space: nowrap !important;
}

.club-admin-page .price-rules-list {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
}

.club-admin-page .price-rule-row {
    display: grid !important;
    grid-template-columns: minmax(120px, 1.2fr) minmax(96px, .85fr) minmax(96px, .85fr) minmax(120px, 1fr) 38px !important;
    gap: 10px !important;
    align-items: end !important;
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 15px !important;
    background: #fff !important;
}

.club-admin-page .price-rule-row label {
    margin: 0 !important;
    min-width: 0 !important;
}

.club-admin-page input[name="base_price"],
.club-admin-page input[name="lighting_price"],
.club-admin-page input[name="price_amount[]"] {
    min-width: 120px !important;
    height: 44px !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 950 !important;
}

.club-admin-page .price-rule-remove {
    width: 38px !important;
    height: 42px !important;
    min-height: 42px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 13px !important;
    background: #fff1f2 !important;
    color: #e11d48 !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

.club-admin-page .court-features-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
}

.club-admin-page .court-feature-option {
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #d9e8ff !important;
    border-radius: 999px !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.club-admin-page .court-feature-option input,
.club-admin-page .admin-check input {
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    padding: 0 !important;
}

.club-admin-page .court-feature-option span,
.club-admin-page .admin-check span {
    min-width: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

.club-admin-page .admin-check {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    background: #f0f7ff !important;
}

@media (max-width: 1180px) {
    .club-admin-page {
        width: min(100% - 28px, 980px) !important;
    }
    .club-admin-page .admin-layout {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

@media (max-width: 720px) {
    .club-admin-page {
        width: 100% !important;
        padding: 10px 10px 32px !important;
    }
    .club-admin-page .admin-topbar,
    .club-admin-page .admin-settings-card,
    .club-admin-page .admin-board-card {
        border-radius: 18px !important;
    }
    .club-admin-page .admin-settings-card,
    .club-admin-page .admin-board-card {
        padding: 14px !important;
    }
    .club-admin-page .admin-form-grid {
        grid-template-columns: 1fr !important;
    }
    .club-admin-page .price-rules-head {
        display: grid !important;
        gap: 10px !important;
    }
    .club-admin-page .price-rule-add {
        width: 100% !important;
    }
    .club-admin-page .price-rule-row {
        grid-template-columns: 1fr 1fr !important;
        gap: 9px !important;
    }
    .club-admin-page .price-rule-row label:first-child,
    .club-admin-page .price-rule-row label:last-of-type {
        grid-column: 1 / -1 !important;
    }
    .club-admin-page .price-rule-remove {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
    .club-admin-page input[name="base_price"],
    .club-admin-page input[name="lighting_price"],
    .club-admin-page input[name="price_amount[]"] {
        min-width: 0 !important;
        width: 100% !important;
    }
    .club-admin-page .court-features-grid {
        grid-template-columns: 1fr !important;
    }
}

/* FINAL FIX: court type checkboxes inline with labels */
.club-admin-page .court-features-box {
    width: 100% !important;
    padding: 14px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.club-admin-page .court-features-box > strong {
    display: block !important;
    margin: 0 0 10px !important;
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.club-admin-page .court-features-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
}

.club-admin-page .feature-check,
.club-admin-page .court-feature-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #d9e8ff !important;
    border-radius: 13px !important;
    background: #f8fbff !important;
    color: #0f2f5f !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

.club-admin-page .feature-check:hover,
.club-admin-page .court-feature-option:hover {
    border-color: #93c5fd !important;
    background: #eff6ff !important;
}

.club-admin-page .feature-check input[type="checkbox"],
.club-admin-page .court-feature-option input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    display: inline-block !important;
    position: static !important;
    float: none !important;
    flex: 0 0 16px !important;
    order: 0 !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    accent-color: #2563eb !important;
}

.club-admin-page .feature-check span,
.club-admin-page .court-feature-option span {
    display: inline-block !important;
    flex: 1 1 auto !important;
    order: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #0f2f5f !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
}

@media (max-width: 720px) {
    .club-admin-page .court-features-grid {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .club-admin-page .feature-check,
    .club-admin-page .court-feature-option {
        min-height: 38px !important;
        padding: 8px 11px !important;
        border-radius: 12px !important;
    }
}

/* =========================================================
   CLUBS HUB — premium directory expansion
========================================================= */
.clubs-hub-page {
    --hub-navy: #081a38;
    --hub-blue: #1266f1;
    --hub-cyan: #20b7f4;
    --hub-soft: #eff6ff;
}

.clubs-hub-hero,
.clubs-directory-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: stretch;
    padding: 26px;
    border-radius: 30px;
    background:
        radial-gradient(circle at 86% 12%, rgba(32, 183, 244, .34), transparent 28%),
        linear-gradient(135deg, #071936 0%, #123e91 56%, #1266f1 100%);
    color: #fff;
    box-shadow: 0 24px 70px rgba(9, 32, 68, .18);
    margin-bottom: 14px;
}

.clubs-directory-hero {
    display: block;
    min-height: 228px;
}



.clubs-directory-hero--coach {
    background:
        radial-gradient(circle at 86% 14%, rgba(250, 204, 21, .22), transparent 30%),
        linear-gradient(135deg, #081a38, #153572 58%, #1266f1);
}

.clubs-directory-hero--play {
    background:
        radial-gradient(circle at 86% 14%, rgba(56, 189, 248, .3), transparent 30%),
        linear-gradient(135deg, #071936, #0d397c 58%, #0795e8);
}

.clubs-hub-hero:before,
.clubs-directory-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255,255,255,.12), transparent 38%, rgba(255,255,255,.08));
    pointer-events: none;
}

.clubs-hub-hero__content,
.clubs-directory-hero > * {
    position: relative;
    z-index: 1;
}

.clubs-eyebrow {
    display: inline-flex;
    width: max-content;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    color: inherit;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.clubs-hub-hero h1,
.clubs-directory-hero h1 {
    max-width: 780px;
    margin: 12px 0 10px;
    font-size: clamp(32px, 4.2vw, 54px);
    line-height: .98;
    letter-spacing: -.055em;
    color: #fff;
}

.clubs-hub-hero p,
.clubs-directory-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 15px;
    line-height: 1.55;
    font-weight: 760;
}

.clubs-hub-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.clubs-btn--ghost {
    background: rgba(255,255,255,.14);
    color: #fff;
    border: 1px solid rgba(255,255,255,.24);
}

.clubs-hub-stats {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, 122px);
    gap: 10px;
    align-content: center;
}

.clubs-hub-stats div {
    padding: 14px;
    border-radius: 22px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.17);
    backdrop-filter: blur(12px);
}

.clubs-hub-stats strong {
    display: block;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    letter-spacing: -.04em;
}

.clubs-hub-stats span {
    display: block;
    margin-top: 5px;
    color: rgba(255,255,255,.76);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.clubs-hub-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 7px;
    margin: 0 0 14px;
    border: 1px solid #dce8fb;
    border-radius: 20px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 10px 30px rgba(12, 45, 100, .07);
}

.clubs-hub-tabs a {
    flex: 0 0 auto;
    padding: 10px 14px;
    border-radius: 14px;
    color: #37506f;
    text-decoration: none;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.clubs-hub-tabs a.is-active,
.clubs-hub-tabs a:hover {
    background: linear-gradient(135deg, #1877ff, #0aa6e8);
    color: #fff;
    box-shadow: 0 10px 22px rgba(18, 102, 241, .16);
}

.clubs-search-panel {
    display: grid;
    grid-template-columns: minmax(0, 290px) minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border: 1px solid #dbe8fb;
    border-radius: 24px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 16px 40px rgba(12, 45, 100, .08);
    margin-bottom: 16px;
}

.clubs-search-panel h2,
.clubs-section-head h2 {
    margin: 0;
    color: #092044;
    font-size: 21px;
    letter-spacing: -.035em;
}

.clubs-search-panel p,
.clubs-section-head p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
}

.clubs-premium-filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px auto;
    gap: 8px;
    align-items: center;
}

.clubs-premium-filter input,
.clubs-premium-filter select,
.clubs-premium-filter button {
    height: 42px;
    border-radius: 14px;
    border: 1px solid #dbe8fb;
    background: #fff;
    padding: 0 13px;
    color: #102542;
    font-size: 13px;
    font-weight: 850;
    outline: none;
}

.clubs-premium-filter button {
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #1877ff, #0aa6e8);
    cursor: pointer;
    padding: 0 18px;
}

.clubs-panel-link {
    justify-self: end;
    color: #0a55d8;
    text-decoration: none;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.clubs-premium-grid,
.coaches-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.club-premium-card,
.coach-card,
.play-options-grid article,
.clubs-feature-grid article {
    border: 1px solid #dbe8fb;
    border-radius: 24px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 36px rgba(12, 45, 100, .08);
}

.club-premium-card {
    padding: 15px;
}

.club-premium-card__top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.club-premium-card__avatar,
.coach-card__avatar {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #1266f1, #18bdf2);
    color: #fff;
    font-weight: 950;
    box-shadow: 0 12px 24px rgba(18, 102, 241, .22);
}

.club-premium-card__top span,
.coach-card__body span {
    color: #0a55d8;
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.club-premium-card h2,
.coach-card h2 {
    margin: 2px 0 0;
    color: #092044;
    font-size: 17px;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.club-premium-card h2 a {
    color: inherit;
    text-decoration: none;
}

.club-premium-card__top b {
    padding: 6px 8px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: 10px;
}

.club-premium-card__address {
    min-height: 34px;
    margin: 12px 0;
    color: #5e718d;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
}

.club-premium-card__meta,
.club-premium-card__chips{
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.club-premium-card__meta span,
.club-premium-card__chips span,
.coach-card__body b {
    padding: 6px 8px;
    border-radius: 999px;
    background: #f0f6ff;
    color: #24405f;
    font-size: 11px;
    font-weight: 900;
}

.club-premium-card__chips {
    margin-top: 8px;
}

.club-premium-card__actions {
    display: flex;
    gap: 8px;
    margin-top: 14px;
}

.club-premium-card__actions a,
.play-options-grid a,
.club-row-link,
.clubs-mini-list a {
    text-decoration: none;
}

.club-premium-card__actions a {
    flex: 1;
    text-align: center;
    padding: 10px 12px;
    border-radius: 14px;
    background: #eef5ff;
    color: #075bd8;
    font-size: 12px;
    font-weight: 950;
}

.club-premium-card__actions a:first-child {
    background: linear-gradient(135deg, #1877ff, #0aa6e8);
    color: #fff;
}

.clubs-section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin: 18px 2px 12px;
}

.clubs-feature-grid,
.play-options-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 14px 0 18px;
}

.clubs-feature-grid article,
.play-options-grid article {
    padding: 18px;
}

.clubs-feature-grid span,
.play-options-grid span {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #eef5ff;
    color: #075bd8;
    font-weight: 950;
    font-size: 12px;
}

.clubs-feature-grid h2,
.play-options-grid h2 {
    margin: 12px 0 6px;
    font-size: 18px;
    letter-spacing: -.03em;
    color: #092044;
}

.clubs-feature-grid p,
.play-options-grid p,
.coach-card p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 750;
}






.play-options-grid a {
    display: inline-flex;
    margin-top: 14px;
    color: #075bd8;
    font-weight: 950;
    font-size: 12px;
}

.coach-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 16px;
}

.coach-card__body div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.clubs-mini-list {
    display: grid;
    gap: 8px;
}

.club-row-link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid #dbe8fb;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(12, 45, 100, .06);
}

.club-row-link strong {
    color: #092044;
}

.club-row-link span {
    color: #64748b;
    font-weight: 850;
    font-size: 12px;
}

.club-row-link em {
    color: #075bd8;
    font-style: normal;
    font-weight: 950;
    font-size: 12px;
}

.clubs-empty-wide {
    grid-column: 1 / -1;
}

@media (max-width: 960px) {
    .clubs-hub-hero {
        grid-template-columns: 1fr;
    }

    .clubs-hub-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .clubs-search-panel {
        grid-template-columns: 1fr;
    }

    .clubs-premium-filter {
        grid-template-columns: 1fr 160px auto;
    }

    .clubs-panel-link {
        justify-self: start;
    }

    .clubs-premium-grid,
    .coaches-grid,
    .clubs-feature-grid,
    .play-options-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .clubs-page {
        padding: 12px 10px 42px;
    }

    .clubs-hub-hero,
    .clubs-directory-hero {
        padding: 18px;
        border-radius: 24px;
        min-height: auto;
    }

    .clubs-hub-hero h1,
    .clubs-directory-hero h1 {
        font-size: 28px;
        line-height: 1.02;
        margin: 10px 0 8px;
    }

    .clubs-hub-hero p,
    .clubs-directory-hero p {
        font-size: 13px;
        line-height: 1.45;
    }

    .clubs-hub-actions {
        gap: 8px;
    }

    .clubs-hub-actions .clubs-btn {
        min-height: 38px;
        padding: 0 12px;
        border-radius: 12px;
        font-size: 12px;
    }

    .clubs-hub-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .clubs-hub-stats div {
        padding: 11px;
        border-radius: 16px;
    }

    .clubs-hub-stats strong {
        font-size: 22px;
    }

    .clubs-hub-stats span {
        font-size: 10px;
    }

    .clubs-hub-tabs {
        border-radius: 16px;
        padding: 6px;
        margin-bottom: 12px;
    }

    .clubs-hub-tabs a {
        padding: 8px 10px;
        border-radius: 11px;
        font-size: 11px;
    }

    .clubs-search-panel {
        padding: 12px;
        border-radius: 20px;
        gap: 10px;
    }

    .clubs-search-panel h2,
    .clubs-section-head h2 {
        font-size: 18px;
    }

    .clubs-premium-filter {
        grid-template-columns: 1fr;
    }

    .clubs-premium-filter input,
    .clubs-premium-filter select,
    .clubs-premium-filter button {
        height: 40px;
        border-radius: 12px;
        font-size: 12px;
    }

    .clubs-premium-grid,
    .coaches-grid,
    .clubs-feature-grid,
    .play-options-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .club-premium-card,
    .coach-card,
    .play-options-grid article,
    .clubs-feature-grid article {
        border-radius: 20px;
        padding: 13px;
    }

    .club-premium-card__avatar,
    .coach-card__avatar {
        width: 38px;
        height: 38px;
        border-radius: 14px;
    }

    .club-premium-card h2,
    .coach-card h2 {
        font-size: 15px;
    }

    .club-premium-card__address,
    .clubs-feature-grid p,
    .play-options-grid p,
    .coach-card p {
        font-size: 12px;
    }

    .club-premium-card__meta span,
    .club-premium-card__chips span,
    .coach-card__body b {
        font-size: 10px;
        padding: 5px 7px;
    }

    .club-row-link {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 12px;
        border-radius: 16px;
    }
}

/* TFP header note: this page intentionally does not override .header/.header__nav; it uses the global homepage header styles from components/header.css. */
/* =========================================================
   TFP SAAS PREMIUM FINAL — Kluby + spójny header
   Mobile-first polish for clubs directory page.
========================================================= */
.clubs-body,
body:has(.clubs-index-page) {
    background:
        radial-gradient(circle at 10% 0%, rgba(37, 99, 235, .10), transparent 30%),
        radial-gradient(circle at 86% 6%, rgba(14, 165, 233, .12), transparent 28%),
        linear-gradient(180deg, #f7fbff 0%, #eef5ff 45%, #f8fbff 100%) !important;
    color: #102542;
}

.clubs-body .clubs-page,
body:has(.clubs-index-page) .clubs-page {
    width: min(1180px, calc(100% - 32px));
    max-width: none;
    margin: 0 auto;
    padding: 18px 0 56px;
    overflow-x: clip;
}

.clubs-body .clubs-hub-hero,
body:has(.clubs-index-page) .clubs-hub-hero {
    isolation: isolate;
    grid-template-columns: minmax(0, 1fr) minmax(252px, 292px);
    gap: 18px;
    align-items: center;
    min-height: 190px;
    padding: 24px;
    border-radius: 28px;
    margin-bottom: 12px;
    background:
        radial-gradient(circle at 90% 12%, rgba(125, 211, 252, .28), transparent 29%),
        radial-gradient(circle at 8% 0%, rgba(255, 255, 255, .16), transparent 34%),
        linear-gradient(135deg, #0b2558 0%, #174ea6 56%, #1677f2 100%);
    box-shadow: 0 20px 56px rgba(15, 57, 132, .17);
}

.clubs-body .clubs-hub-hero::before,
body:has(.clubs-index-page) .clubs-hub-hero::before {
    background:
        linear-gradient(110deg, rgba(255,255,255,.16), transparent 36%, rgba(255,255,255,.08)),
        radial-gradient(circle at 48% 115%, rgba(255,255,255,.16), transparent 26%);
    opacity: .9;
}

.clubs-body .clubs-eyebrow,
body:has(.clubs-index-page) .clubs-eyebrow {
    min-height: 24px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.13);
    color: rgba(255,255,255,.86);
    font-size: 10px;
    font-weight: 760;
    letter-spacing: .065em;
}

.clubs-body .clubs-hub-hero h1,
body:has(.clubs-index-page) .clubs-hub-hero h1 {
    max-width: 720px;
    margin: 12px 0 8px;
    font-size: clamp(31px, 3.25vw, 45px);
    line-height: 1.01;
    letter-spacing: -.055em;
    font-weight: 790;
}

.clubs-body .clubs-hub-hero p,
body:has(.clubs-index-page) .clubs-hub-hero p {
    max-width: 650px;
    color: rgba(255,255,255,.84);
    font-size: 14px;
    line-height: 1.48;
    font-weight: 560;
}

.clubs-body .clubs-hub-actions,
body:has(.clubs-index-page) .clubs-hub-actions {
    margin-top: 16px;
    gap: 8px;
}

.clubs-body .clubs-btn,
body:has(.clubs-index-page) .clubs-btn {
    min-height: 38px;
    padding: 0 15px;
    border-radius: 13px;
    font-size: 12.5px;
    font-weight: 760;
    letter-spacing: -.012em;
}

.clubs-body .clubs-btn--primary,
body:has(.clubs-index-page) .clubs-btn--primary,
.clubs-body .clubs-premium-filter button,
body:has(.clubs-index-page) .clubs-premium-filter button,
.clubs-body .club-premium-card__actions a:first-child,
body:has(.clubs-index-page) .club-premium-card__actions a:first-child {
    background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);
    box-shadow: 0 12px 26px rgba(37, 99, 235, .20);
}

.clubs-body .clubs-btn--ghost,
body:has(.clubs-index-page) .clubs-btn--ghost {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.22);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
}

.clubs-body .clubs-hub-stats,
body:has(.clubs-index-page) .clubs-hub-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    width: 100%;
}

.clubs-body .clubs-hub-stats div,
body:has(.clubs-index-page) .clubs-hub-stats div {
    min-height: 68px;
    display: grid;
    align-content: center;
    padding: 12px 13px;
    border-radius: 17px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.clubs-body .clubs-hub-stats strong,
body:has(.clubs-index-page) .clubs-hub-stats strong {
    font-size: 24px;
    font-weight: 780;
}

.clubs-body .clubs-hub-stats span,
body:has(.clubs-index-page) .clubs-hub-stats span {
    margin-top: 4px;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .045em;
}

.clubs-body .clubs-hub-tabs,
body:has(.clubs-index-page) .clubs-hub-tabs,
.clubs-body .clubs-search-panel,
body:has(.clubs-index-page) .clubs-search-panel,
.clubs-body .club-premium-card,
body:has(.clubs-index-page) .club-premium-card {
    background: rgba(255,255,255,.92);
    border-color: rgba(216, 229, 248, .95);
    box-shadow: 0 16px 42px rgba(15, 35, 70, .07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.clubs-body .clubs-hub-tabs,
body:has(.clubs-index-page) .clubs-hub-tabs {
    margin-bottom: 12px;
    padding: 6px;
    border-radius: 18px;
}

.clubs-body .clubs-hub-tabs a,
body:has(.clubs-index-page) .clubs-hub-tabs a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 13px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -.01em;
}

.clubs-body .clubs-search-panel,
body:has(.clubs-index-page) .clubs-search-panel {
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr) auto;
    gap: 12px;
    padding: 14px;
    border-radius: 22px;
    margin-bottom: 14px;
}

.clubs-body .clubs-search-panel h2,
body:has(.clubs-index-page) .clubs-search-panel h2 {
    font-size: 20px;
    font-weight: 760;
    letter-spacing: -.04em;
}

.clubs-body .clubs-search-panel p,
body:has(.clubs-index-page) .clubs-search-panel p {
    font-size: 12px;
    font-weight: 520;
}

.clubs-body .clubs-premium-filter,
body:has(.clubs-index-page) .clubs-premium-filter {
    grid-template-columns: minmax(0, 1fr) 174px 82px;
    gap: 8px;
}

.clubs-body .clubs-premium-filter input,
.clubs-body .clubs-premium-filter select,
.clubs-body .clubs-premium-filter button,
body:has(.clubs-index-page) .clubs-premium-filter input,
body:has(.clubs-index-page) .clubs-premium-filter select,
body:has(.clubs-index-page) .clubs-premium-filter button {
    height: 40px;
    border-radius: 13px;
    font-size: 12.5px;
    font-weight: 570;
}

.clubs-body .clubs-panel-link,
body:has(.clubs-index-page) .clubs-panel-link {
    font-size: 12px;
    font-weight: 720;
}

.clubs-body .clubs-premium-grid,
body:has(.clubs-index-page) .clubs-premium-grid {
    gap: 12px;
}

.clubs-body .club-premium-card,
body:has(.clubs-index-page) .club-premium-card {
    padding: 14px;
    border-radius: 22px;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.clubs-body .club-premium-card:hover,
body:has(.clubs-index-page) .club-premium-card:hover {
    transform: translateY(-2px);
    border-color: rgba(37, 99, 235, .22);
    box-shadow: 0 22px 52px rgba(15, 35, 70, .10);
}

.clubs-body .club-premium-card__avatar,
body:has(.clubs-index-page) .club-premium-card__avatar {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);
    box-shadow: 0 12px 24px rgba(37, 99, 235, .20);
}

.clubs-body .club-premium-card h2,
body:has(.clubs-index-page) .club-premium-card h2 {
    font-size: 16px;
    font-weight: 760;
}

.clubs-body .club-premium-card__address,
body:has(.clubs-index-page) .club-premium-card__address {
    min-height: 30px;
    margin: 10px 0;
    font-size: 12.5px;
    font-weight: 520;
}

.clubs-body .club-premium-card__meta span,
.clubs-body .club-premium-card__chips span,
body:has(.clubs-index-page) .club-premium-card__meta span,
body:has(.clubs-index-page) .club-premium-card__chips span {
    font-size: 10.5px;
    font-weight: 680;
    background: #f1f7ff;
}

@media (max-width: 1220px) and (min-width: 769px) {
    
}

@media (max-width: 960px) {
    .clubs-body .clubs-hub-hero,
    body:has(.clubs-index-page) .clubs-hub-hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .clubs-body .clubs-hub-stats,
    body:has(.clubs-index-page) .clubs-hub-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .clubs-body .clubs-search-panel,
    body:has(.clubs-index-page) .clubs-search-panel {
        grid-template-columns: 1fr;
    }

    .clubs-body .clubs-premium-filter,
    body:has(.clubs-index-page) .clubs-premium-filter {
        grid-template-columns: minmax(0, 1fr) 160px 82px;
    }

    .clubs-body .clubs-panel-link,
    body:has(.clubs-index-page) .clubs-panel-link {
        justify-self: start;
    }
}

@media (max-width: 768px) {
    
}

@media (max-width: 640px) {
    .clubs-body .clubs-page,
    body:has(.clubs-index-page) .clubs-page {
        width: min(100% - 18px, 460px);
        padding: 10px 0 40px;
    }

    .clubs-body .clubs-hub-hero,
    body:has(.clubs-index-page) .clubs-hub-hero {
        gap: 12px;
        padding: 14px;
        border-radius: 20px;
        margin-bottom: 10px;
        box-shadow: 0 16px 36px rgba(15, 57, 132, .15);
    }

    .clubs-body .clubs-hub-hero h1,
    body:has(.clubs-index-page) .clubs-hub-hero h1 {
        max-width: 340px;
        margin: 9px 0 6px;
        font-size: clamp(24px, 7.4vw, 29px);
        line-height: 1.04;
        letter-spacing: -.045em;
    }

    .clubs-body .clubs-hub-hero p,
    body:has(.clubs-index-page) .clubs-hub-hero p {
        max-width: 330px;
        font-size: 12px;
        line-height: 1.4;
    }

    .clubs-body .clubs-eyebrow,
    body:has(.clubs-index-page) .clubs-eyebrow {
        min-height: 20px;
        padding: 0 8px;
        font-size: 8.75px;
    }

    .clubs-body .clubs-hub-actions,
    body:has(.clubs-index-page) .clubs-hub-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-top: 12px;
    }

    .clubs-body .clubs-hub-actions .clubs-btn,
    body:has(.clubs-index-page) .clubs-hub-actions .clubs-btn {
        width: 100%;
        min-height: 36px;
        padding: 0 10px;
        border-radius: 12px;
        font-size: 11.5px;
    }

    .clubs-body .clubs-hub-stats,
    body:has(.clubs-index-page) .clubs-hub-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .clubs-body .clubs-hub-stats div,
    body:has(.clubs-index-page) .clubs-hub-stats div {
        min-height: 52px;
        padding: 9px 10px;
        border-radius: 14px;
    }

    .clubs-body .clubs-hub-stats strong,
    body:has(.clubs-index-page) .clubs-hub-stats strong {
        font-size: 18px;
    }

    .clubs-body .clubs-hub-stats span,
    body:has(.clubs-index-page) .clubs-hub-stats span {
        font-size: 9px;
        margin-top: 2px;
    }

    .clubs-body .clubs-hub-tabs,
    body:has(.clubs-index-page) .clubs-hub-tabs {
        margin: 0 0 10px;
        padding: 5px;
        border-radius: 16px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .clubs-body .clubs-hub-tabs::-webkit-scrollbar,
    body:has(.clubs-index-page) .clubs-hub-tabs::-webkit-scrollbar {
        display: none;
    }

    .clubs-body .clubs-hub-tabs a,
    body:has(.clubs-index-page) .clubs-hub-tabs a {
        min-height: 31px;
        padding: 0 10px;
        border-radius: 11px;
        font-size: 11px;
    }

    .clubs-body .clubs-search-panel,
    body:has(.clubs-index-page) .clubs-search-panel {
        gap: 9px;
        padding: 10px;
        border-radius: 18px;
        margin-bottom: 10px;
    }

    .clubs-body .clubs-search-panel h2,
    body:has(.clubs-index-page) .clubs-search-panel h2 {
        font-size: 18px;
    }

    .clubs-body .clubs-search-panel p,
    body:has(.clubs-index-page) .clubs-search-panel p {
        font-size: 11.5px;
        line-height: 1.32;
    }

    .clubs-body .clubs-premium-filter,
    body:has(.clubs-index-page) .clubs-premium-filter {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .clubs-body .clubs-premium-filter input,
    .clubs-body .clubs-premium-filter select,
    .clubs-body .clubs-premium-filter button,
    body:has(.clubs-index-page) .clubs-premium-filter input,
    body:has(.clubs-index-page) .clubs-premium-filter select,
    body:has(.clubs-index-page) .clubs-premium-filter button {
        height: 37px;
        border-radius: 12px;
        font-size: 12px;
    }

    .clubs-body .clubs-premium-grid,
    body:has(.clubs-index-page) .clubs-premium-grid {
        gap: 9px;
    }

    .clubs-body .club-premium-card,
    body:has(.clubs-index-page) .club-premium-card {
        padding: 11px;
        border-radius: 17px;
    }

    .clubs-body .club-premium-card:hover,
    body:has(.clubs-index-page) .club-premium-card:hover {
        transform: none;
    }

    .clubs-body .club-premium-card__top,
    body:has(.clubs-index-page) .club-premium-card__top {
        gap: 8px;
    }

    .clubs-body .club-premium-card__avatar,
    body:has(.clubs-index-page) .club-premium-card__avatar {
        width: 36px;
        height: 36px;
        border-radius: 13px;
    }

    .clubs-body .club-premium-card h2,
    body:has(.clubs-index-page) .club-premium-card h2 {
        font-size: 14px;
    }

    .clubs-body .club-premium-card__address,
    body:has(.clubs-index-page) .club-premium-card__address {
        min-height: auto;
        margin: 8px 0;
        font-size: 11.75px;
    }

    .clubs-body .club-premium-card__actions,
    body:has(.clubs-index-page) .club-premium-card__actions {
        margin-top: 10px;
    }

    .clubs-body .club-premium-card__actions a,
    body:has(.clubs-index-page) .club-premium-card__actions a {
        padding: 9px 10px;
        border-radius: 12px;
        font-size: 11px;
    }
}

@media (max-width: 380px) {
    .clubs-body .clubs-page,
    body:has(.clubs-index-page) .clubs-page {
        width: calc(100% - 14px);
    }

    .clubs-body .clubs-hub-hero,
    body:has(.clubs-index-page) .clubs-hub-hero {
        padding: 12px;
    }

    .clubs-body .clubs-hub-hero h1,
    body:has(.clubs-index-page) .clubs-hub-hero h1 {
        font-size: 23px;
    }
}





.clubs-body,
.clubs-page {
    background:
        radial-gradient(circle at 12% 0%, rgba(18, 102, 241, .055), transparent 30%),
        linear-gradient(180deg, #f7faff 0%, #f4f7fb 100%) !important;
}

.clubs-page {
    width: min(100% - 28px, 1120px) !important;
    max-width: 1120px !important;
    padding: 18px 0 46px !important;
    color: #101828 !important;
}

.clubs-hub-hero,
.clubs-directory-hero {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 22px !important;
    margin: 0 0 12px !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 98% 0%, rgba(37, 99, 235, .08), transparent 34%),
        rgba(255, 255, 255, .92) !important;
    border: 1px solid rgba(208, 220, 235, .9) !important;
    box-shadow: 0 18px 44px rgba(16, 24, 40, .065) !important;
    color: #101828 !important;
    overflow: hidden !important;
}



.clubs-hub-hero::before,
.clubs-hub-hero::after,
.clubs-directory-hero::before,
.clubs-directory-hero::after {
    display: none !important;
}

.clubs-hub-hero__content,
.clubs-directory-hero > * {
    position: relative !important;
    z-index: 1 !important;
}

.clubs-eyebrow,
.clubs-hub-hero .clubs-eyebrow,
.clubs-directory-hero .clubs-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    min-height: 22px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: #eef5ff !important;
    color: #175cd3 !important;
    font-size: 10px !important;
    font-weight: 760 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

.clubs-hub-hero h1,
.clubs-directory-hero h1 {
    max-width: 680px !important;
    margin: 10px 0 6px !important;
    color: #101828 !important;
    font-size: clamp(24px, 3vw, 38px) !important;
    line-height: .98 !important;
    font-weight: 670 !important;
    letter-spacing: -0.055em !important;
}

.clubs-hub-hero p,
.clubs-directory-hero p {
    max-width: 640px !important;
    margin: 0 !important;
    color: #667085 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

.clubs-hub-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 14px !important;
}

.clubs-btn,
.clubs-hub-actions .clubs-btn,
.clubs-premium-filter button,
.clubs-filter-bar button {
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(208, 220, 235, .9) !important;
    background: #fff !important;
    color: #1d2939 !important;
    box-shadow: 0 8px 18px rgba(16, 24, 40, .045) !important;
    font-size: 12px !important;
    font-weight: 720 !important;
    letter-spacing: -0.01em !important;
}

.clubs-btn--primary,
.clubs-hub-actions .clubs-btn--primary,
.clubs-premium-filter button,
.clubs-filter-bar button.clubs-btn--primary {
    border-color: transparent !important;
    background: linear-gradient(135deg, #1769e8 0%, #0ea5e9 100%) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(23, 105, 232, .18) !important;
}

.clubs-btn--ghost,
.clubs-hub-actions .clubs-btn--ghost {
    background: #f8fbff !important;
    color: #175cd3 !important;
}

.clubs-hub-stats {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(92px, 1fr)) !important;
    gap: 8px !important;
    width: 260px !important;
}

.clubs-hub-stats div {
    min-height: 64px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    background: #f8fbff !important;
    border: 1px solid rgba(208, 220, 235, .9) !important;
    box-shadow: none !important;
}

.clubs-hub-stats strong {
    display: block !important;
    margin: 0 0 4px !important;
    color: #101828 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 680 !important;
    letter-spacing: -0.045em !important;
}

.clubs-hub-stats span {
    color: #667085 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

.clubs-hub-tabs {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 0 12px !important;
    padding: 6px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.82) !important;
    border: 1px solid rgba(208, 220, 235, .82) !important;
    box-shadow: 0 10px 28px rgba(16,24,40,.05) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
}

.clubs-hub-tabs::-webkit-scrollbar {
    display: none !important;
}

.clubs-hub-tabs a {
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    color: #475467 !important;
    background: transparent !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 720 !important;
    letter-spacing: -0.012em !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

.clubs-hub-tabs a.is-active {
    color: #fff !important;
    background: #1769e8 !important;
    box-shadow: 0 8px 16px rgba(23, 105, 232, .18) !important;
}

.clubs-search-panel,
.clubs-section-head,
.clubs-filter-bar,
.clubs-feature-grid article,
.club-premium-card,
.clubs-empty,
.club-row-link {
    border-radius: 20px !important;
    background: rgba(255,255,255,.92) !important;
    border: 1px solid rgba(208, 220, 235, .86) !important;
    box-shadow: 0 14px 34px rgba(16,24,40,.055) !important;
}

.clubs-search-panel {
    display: grid !important;
    grid-template-columns: minmax(180px, .7fr) minmax(0, 1.6fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
}

.clubs-search-panel h2,
.clubs-section-head h2 {
    margin: 0 0 4px !important;
    color: #101828 !important;
    font-size: 22px !important;
    line-height: 1.05 !important;
    font-weight: 650 !important;
    letter-spacing: -0.045em !important;
}

.clubs-search-panel p,
.clubs-section-head p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

.clubs-premium-filter,
.clubs-filter-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 200px) auto !important;
    gap: 8px !important;
    align-items: center !important;
}

.clubs-filter-bar {
    padding: 12px !important;
    margin-bottom: 12px !important;
}

.clubs-filter-bar label {
    display: contents !important;
}

.clubs-filter-bar label span {
    display: none !important;
}

.clubs-premium-filter input,
.clubs-premium-filter select,
.clubs-filter-bar select {
    width: 100% !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(208, 220, 235, .95) !important;
    background: #fff !important;
    color: #1d2939 !important;
    font-size: 12px !important;
    font-weight: 620 !important;
    outline: none !important;
    box-shadow: none !important;
}

.clubs-panel-link {
    justify-self: end !important;
    color: #175cd3 !important;
    background: #eef5ff !important;
    border-radius: 999px !important;
    padding: 9px 12px !important;
    font-size: 11.5px !important;
    font-weight: 760 !important;
    text-decoration: none !important;
}

.clubs-premium-grid{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.club-premium-card{
    padding: 14px !important;
    min-height: 0 !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.club-premium-card:hover,
.club-row-link:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(23, 105, 232, .28) !important;
    box-shadow: 0 18px 42px rgba(16,24,40,.08) !important;
}

.club-premium-card__top {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
}

.club-premium-card__avatar {
    display: none !important;
}

.club-premium-card__top span{
    color: #175cd3 !important;
    background: #eef5ff !important;
    border-radius: 999px !important;
    padding: 4px 8px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 760 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
}

.club-premium-card h2{
    margin: 5px 0 0 !important;
    color: #101828 !important;
    font-size: 17px !important;
    line-height: 1.12 !important;
    font-weight: 690 !important;
    letter-spacing: -0.035em !important;
}

.club-premium-card h2 a {
    color: inherit !important;
    text-decoration: none !important;
}

.club-premium-card__address{
    margin: 0 0 12px !important;
    color: #667085 !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

.club-premium-card__meta,
.club-premium-card__chips{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 0 12px !important;
}

.club-premium-card__meta span,
.club-premium-card__chips span{
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: #f7f9fc !important;
    border: 1px solid rgba(208, 220, 235, .85) !important;
    color: #475467 !important;
    font-size: 10.5px !important;
    font-weight: 680 !important;
    letter-spacing: -0.005em !important;
}

.club-premium-card__actions {
    display: flex !important;
    gap: 8px !important;
    margin-top: 8px !important;
}

.club-premium-card__actions a{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 11px !important;
    background: #eef5ff !important;
    color: #175cd3 !important;
    font-size: 11.5px !important;
    font-weight: 760 !important;
    text-decoration: none !important;
}

.clubs-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
}

.clubs-feature-grid article {
    padding: 14px !important;
}

.clubs-feature-grid article span {
    display: inline-flex !important;
    margin-bottom: 10px !important;
    color: #175cd3 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.clubs-feature-grid h2 {
    margin: 0 0 6px !important;
    color: #101828 !important;
    font-size: 17px !important;
    line-height: 1.12 !important;
    font-weight: 690 !important;
    letter-spacing: -0.035em !important;
}

.clubs-feature-grid p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

.clubs-section-head {
    padding: 16px !important;
    margin: 0 0 12px !important;
}

.clubs-mini-list {
    display: grid !important;
    gap: 8px !important;
}

.club-row-link {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 4px 12px !important;
    align-items: center !important;
    padding: 13px 14px !important;
    color: inherit !important;
    text-decoration: none !important;
}

.club-row-link strong {
    color: #101828 !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
}

.club-row-link span {
    color: #667085 !important;
    font-size: 12px !important;
}

.club-row-link em {
    grid-row: 1 / span 2 !important;
    grid-column: 2 !important;
    color: #175cd3 !important;
    background: #eef5ff !important;
    border-radius: 999px !important;
    padding: 7px 9px !important;
    font-style: normal !important;
    font-size: 11px !important;
    font-weight: 760 !important;
}

@media (max-width: 980px) {
    .clubs-page {
        width: min(100% - 20px, 1120px) !important;
        padding-top: 12px !important;
    }

    .clubs-hub-hero,
    .clubs-directory-hero {
        grid-template-columns: 1fr !important;
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .clubs-hub-stats {
        width: 100% !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .clubs-search-panel {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    .clubs-premium-filter,
    .clubs-filter-bar {
        grid-template-columns: 1fr !important;
    }

    .clubs-panel-link {
        justify-self: start !important;
    }

    .clubs-premium-grid,
    .clubs-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .clubs-page {
        width: calc(100% - 14px) !important;
        padding-bottom: 34px !important;
    }

    .clubs-hub-hero,
    .clubs-directory-hero {
        padding: 14px !important;
        border-radius: 18px !important;
        margin-bottom: 8px !important;
    }

    .clubs-hub-hero h1,
    .clubs-directory-hero h1 {
        font-size: 25px !important;
        line-height: 1.02 !important;
        letter-spacing: -0.052em !important;
    }

    .clubs-hub-hero p,
    .clubs-directory-hero p {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
    }

    .clubs-hub-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 7px !important;
    }

    .clubs-btn,
    .clubs-hub-actions .clubs-btn,
    .clubs-premium-filter button,
    .clubs-filter-bar button {
        min-height: 36px !important;
        font-size: 11.5px !important;
        padding: 0 10px !important;
    }

    .clubs-hub-stats {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .clubs-hub-stats div {
        min-height: 52px !important;
        padding: 8px 6px !important;
        border-radius: 13px !important;
    }

    .clubs-hub-stats strong {
        font-size: 18px !important;
    }

    .clubs-hub-stats span {
        font-size: 8.5px !important;
    }

    .clubs-hub-tabs {
        margin-bottom: 8px !important;
        border-radius: 15px !important;
        padding: 5px !important;
    }

    .clubs-hub-tabs a {
        min-height: 32px !important;
        padding: 0 10px !important;
        font-size: 11.5px !important;
    }

    .clubs-search-panel,
    .clubs-section-head,
    .clubs-filter-bar {
        padding: 12px !important;
        border-radius: 16px !important;
        margin-bottom: 8px !important;
    }

    .clubs-search-panel h2,
    .clubs-section-head h2 {
        font-size: 20px !important;
    }

    .clubs-premium-grid,
    .clubs-feature-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .club-premium-card,
    .clubs-feature-grid article {
        padding: 12px !important;
        border-radius: 16px !important;
    }

    .club-premium-card h2,
    .clubs-feature-grid h2 {
        font-size: 16px !important;
    }

    .club-row-link {
        border-radius: 16px !important;
        padding: 12px !important;
    }
}

@media (max-width: 390px) {
    .clubs-hub-actions {
        grid-template-columns: 1fr !important;
    }

    .clubs-hub-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* =========================================================
   TFP PATCH: club reservation weekly grid
========================================================= */

.booking-board--week {
    overflow: visible !important;
}

.booking-board__head--compact {
    align-items: flex-start !important;
    gap: 14px !important;
}

.week-switcher--premium {
    flex-shrink: 0 !important;
}

.week-switcher--premium a,
.week-switcher--premium strong {
    min-height: 34px !important;
}

.court-picker {
    display: flex;
    gap: 8px;
    padding: 8px;
    margin: 12px 0 10px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(208,220,235,.88);
    border-radius: 16px;
    overflow-x: auto;
    scrollbar-width: none;
}

.court-picker::-webkit-scrollbar {
    display: none;
}

.court-picker__btn {
    border: 1px solid rgba(208,220,235,.95);
    background: #fff;
    color: #344054;
    border-radius: 999px;
    min-height: 36px;
    padding: 0 15px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(16,24,40,.04);
}

.court-picker__btn.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #1769e8 0%, #0ea5e9 100%);
    box-shadow: 0 12px 24px rgba(23,105,232,.18);
}

.booking-summary--inline {
    position: sticky;
    top: 82px;
    z-index: 8;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(208,220,235,.92) !important;
    box-shadow: 0 16px 36px rgba(16,24,40,.08) !important;
    backdrop-filter: blur(12px);
}

.booking-summary--inline .booking-summary__copy h2 {
    font-size: 18px !important;
    line-height: 1.08 !important;
    margin: 3px 0 3px !important;
}

.booking-summary--inline .booking-summary__copy p {
    margin: 0 !important;
    font-size: 12.5px !important;
    color: #667085 !important;
}

.booking-checkout--inline {
    display: grid !important;
    grid-template-columns: minmax(130px, 160px) auto minmax(96px, 115px) auto !important;
    align-items: end !important;
    gap: 8px !important;
}

.booking-checkout--inline label {
    margin: 0 !important;
    min-width: 0;
}

.booking-checkout--inline select {
    min-height: 38px !important;
}

.booking-checkout--inline .light-toggle {
    min-height: 38px !important;
    border-radius: 12px !important;
    padding: 0 10px !important;
}

.booking-checkout--inline .checkout-price {
    min-height: 38px !important;
    border-radius: 12px !important;
    padding: 6px 10px !important;
}

.booking-checkout--inline .clubs-btn {
    min-height: 38px !important;
    padding-inline: 14px !important;
    white-space: nowrap;
}

.court-week-grid-wrap {
    border: 1px solid rgba(208,220,235,.92);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(16,24,40,.06);
    overflow: auto;
    max-height: 68vh;
}

.court-week-panel {
    display: none;
    min-width: 920px;
}

.court-week-panel.is-active {
    display: block;
}

.court-week-grid {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.court-week-grid th,
.court-week-grid td {
    border-bottom: 1px solid rgba(226,232,240,.9);
    border-right: 1px solid rgba(226,232,240,.72);
}

.court-week-grid thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f8fbff;
    padding: 10px 8px;
    color: #344054;
    font-size: 12px;
    text-align: center;
}

.court-week-grid thead th small {
    display: block;
    margin-bottom: 3px;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.court-week-grid thead th strong {
    font-size: 13px;
    font-weight: 850;
}

.court-week-grid thead th.is-today {
    background: #eef5ff;
    color: #175cd3;
}

.court-week-grid .schedule-time-head,
.court-week-grid .schedule-time {
    position: sticky;
    left: 0;
    z-index: 4;
    width: 68px;
    background: #fff;
}

.court-week-grid .schedule-time-head {
    background: #f8fbff;
    z-index: 5;
}

.court-week-grid .schedule-time {
    padding: 0 8px;
    color: #475467;
    font-size: 12px;
    font-weight: 850;
    text-align: center;
}

.court-week-grid td {
    height: 44px;
    padding: 4px;
    background: #fff;
    vertical-align: middle;
}

.court-week-grid .time-slot {
    min-height: 34px;
    width: 100%;
    border-radius: 11px;
}

.court-week-grid .time-slot--free {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px dashed rgba(23,105,232,.18);
    background: #f8fbff;
    color: #175cd3;
    cursor: pointer;
}

.court-week-grid .time-slot--free span {
    width: 18px;
    height: 18px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(23,105,232,.1);
    font-weight: 900;
}

.court-week-grid .time-slot--free small {
    font-size: 10px;
    font-weight: 800;
    color: #175cd3;
}

.court-week-grid .time-slot--free:hover,
.court-week-grid .time-slot--free.is-selected {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, #1769e8 0%, #0ea5e9 100%);
    box-shadow: 0 10px 20px rgba(23,105,232,.18);
}

.court-week-grid .time-slot--free:hover span,
.court-week-grid .time-slot--free.is-selected span {
    background: rgba(255,255,255,.2);
}

.court-week-grid .time-slot--free:hover small,
.court-week-grid .time-slot--free.is-selected small {
    color: #fff;
}

.court-week-grid .time-slot--free.is-range {
    border-color: rgba(23,105,232,.28);
    background: #eaf3ff;
}

.court-week-grid .time-slot--free.is-blocked-range {
    border-color: rgba(239,68,68,.35);
    background: #fff1f2;
    color: #b42318;
}

.court-week-grid .time-slot--busy,
.court-week-grid .time-slot--mine {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6px 8px;
    border: 1px solid rgba(208,220,235,.9);
    background: #f2f4f7;
    color: #475467;
}

.court-week-grid .time-slot--mine {
    border-color: rgba(22,163,74,.25);
    background: #ecfdf3;
    color: #027a48;
}

.court-week-grid .time-slot strong {
    font-size: 10.5px;
    line-height: 1.1;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.court-week-grid .time-slot small,
.court-week-grid .slot-continuation {
    font-size: 9.5px;
    color: inherit;
    opacity: .75;
}

.court-week-grid .time-slot.is-continuation {
    min-height: 24px;
    opacity: .58;
}

.court-week-grid .slot-cancel-form {
    position: absolute;
    right: 4px;
    top: 4px;
}

.court-week-grid .slot-cancel-form button {
    width: 18px;
    height: 18px;
    border: 0;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

@media (max-width: 980px) {
    .booking-summary--inline {
        position: sticky;
        top: 70px;
        grid-template-columns: 1fr !important;
    }

    .booking-checkout--inline {
        grid-template-columns: 1fr 1fr !important;
        width: 100%;
    }

    .booking-checkout--inline .checkout-price,
    .booking-checkout--inline .clubs-btn {
        width: 100%;
    }

    .court-week-grid-wrap {
        max-height: 72vh;
        border-radius: 18px;
    }
}

@media (max-width: 620px) {
    .booking-board__head--compact {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .week-switcher--premium {
        width: 100%;
        display: grid !important;
        grid-template-columns: 1fr auto 1fr;
    }

    .week-switcher--premium a,
    .week-switcher--premium strong {
        justify-content: center;
        padding-inline: 9px !important;
        font-size: 11px !important;
    }

    .court-picker {
        margin-top: 8px;
        border-radius: 14px;
    }

    .court-picker__btn {
        min-height: 34px;
        padding-inline: 13px;
    }

    .booking-summary--inline {
        top: 66px;
        padding: 11px !important;
        border-radius: 16px !important;
        gap: 9px !important;
    }

    .booking-summary--inline .booking-summary__copy h2 {
        font-size: 16px !important;
    }

    .booking-summary--inline .booking-summary__copy p {
        font-size: 11.5px !important;
    }

    .booking-checkout--inline {
        grid-template-columns: 1fr !important;
    }

    .court-week-panel {
        min-width: 760px;
    }

    .court-week-grid thead th {
        padding: 8px 6px;
    }

    .court-week-grid .schedule-time-head,
    .court-week-grid .schedule-time {
        width: 58px;
    }

    .court-week-grid td {
        height: 42px;
        padding: 3px;
    }

    .court-week-grid .time-slot {
        min-height: 32px;
    }
}

/* =========================================================
   TFP PATCH: manual slot picking, no price in slot, fixed week nav
========================================================= */

.week-switcher--premium {
    display: inline-grid !important;
    grid-template-columns: auto auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
}

.week-switcher--premium a,
.week-switcher--premium strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.week-switcher--premium a {
    min-width: 108px !important;
    padding: 0 14px !important;
}

.week-switcher--premium strong {
    min-width: 132px !important;
    padding: 0 12px !important;
    background: rgba(255,255,255,.9) !important;
    border: 1px solid rgba(208,220,235,.9) !important;
    color: #344054 !important;
}

.court-week-grid .time-slot--free {
    min-height: 34px !important;
    gap: 0 !important;
}

.court-week-grid .time-slot--free small {
    display: none !important;
}

.court-week-grid .time-slot--free span {
    margin: 0 !important;
}

.court-week-grid .time-slot--free.is-selected,
.court-week-grid .time-slot--free.is-range {
    color: #fff !important;
    border-color: transparent !important;
    background: linear-gradient(135deg, #1769e8 0%, #0ea5e9 100%) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 10px 20px rgba(23,105,232,.15) !important;
}

.court-week-grid .time-slot--free.is-range {
    opacity: .9;
}

.court-week-grid .time-slot--free.is-selected span,
.court-week-grid .time-slot--free.is-range span {
    background: rgba(255,255,255,.24) !important;
    color: #fff !important;
}

.court-week-grid .time-slot--free.is-blocked-range {
    color: #b42318 !important;
    border-color: rgba(239,68,68,.35) !important;
    background: #fff1f2 !important;
    box-shadow: none !important;
}

.booking-summary--inline .booking-summary__copy h2 {
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.booking-checkout--inline select#durationSelect {
    min-width: 132px !important;
}

@media (max-width: 620px) {
    .week-switcher--premium {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        width: 100% !important;
    }

    .week-switcher--premium a,
    .week-switcher--premium strong {
        width: 100% !important;
        min-width: 0 !important;
    }

    .booking-checkout--inline select#durationSelect {
        min-width: 0 !important;
    }
}

/* =========================================================
   TFP PATCH: proadmin reservation control
========================================================= */

.club-proadmin-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: #eef5ff;
    color: #175cd3;
    font-size: 12px;
    font-weight: 900;
    border: 1px solid rgba(23,105,232,.16);
}

/* =========================================================
   TFP PATCH: reservation owner unlock + compact controls
========================================================= */

.week-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.week-switcher--premium {
    display: inline-grid !important;
    grid-template-columns: auto auto auto !important;
    align-items: center !important;
    gap: 5px !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 4px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.72) !important;
}

.week-switcher--premium a,
.week-switcher--premium strong {
    min-height: 28px !important;
    min-width: auto !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.week-switcher--premium strong {
    padding-inline: 11px !important;
    color: #175cd3 !important;
}

.unlock-week-form {
    margin: 0;
}

.unlock-week-form button {
    min-height: 36px;
    border: 0;
    border-radius: 999px;
    padding: 0 13px;
    color: #fff;
    background: linear-gradient(135deg, #1769e8 0%, #0ea5e9 100%);
    box-shadow: 0 12px 22px rgba(23,105,232,.18);
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
    white-space: nowrap;
}

.court-week-grid .time-slot--busy,
.court-week-grid .time-slot--mine {
    min-height: 34px !important;
    padding: 6px 28px 6px 8px !important;
    overflow: visible !important;
}

.court-week-grid .time-slot strong {
    max-width: 100%;
    padding-right: 2px;
    font-size: 10px !important;
    line-height: 1.1 !important;
}

.court-week-grid .slot-cancel-form {
    position: absolute !important;
    right: 3px !important;
    top: 3px !important;
    z-index: 6 !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
}

.court-week-grid .slot-cancel-form button {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    background: #ef4444 !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    box-shadow: 0 6px 12px rgba(239,68,68,.25) !important;
}

.court-week-grid .time-slot--locked {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed rgba(148,163,184,.35);
    background: #f8fafc;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 850;
}

@media (max-width: 720px) {
    .week-actions {
        justify-content: stretch;
        width: 100%;
    }

    .week-switcher--premium,
    .unlock-week-form,
    .unlock-week-form button {
        width: 100%;
    }

    .week-switcher--premium {
        grid-template-columns: 1fr auto 1fr !important;
    }

    .week-switcher--premium a,
    .week-switcher--premium strong {
        justify-content: center !important;
        padding-inline: 6px !important;
        font-size: 10.5px !important;
    }
}



/* TFP FINAL OVERRIDE: compact week navigation */
.booking-studio .week-switcher--premium a,
.booking-studio .week-switcher--premium strong {
    font-size: 11px !important;
    min-height: 28px !important;
    padding: 0 10px !important;
}

/* =========================================================
   TFP PATCH: no reservation duration limit
========================================================= */

.booking-summary--inline .booking-summary__copy p {
    max-width: 720px;
}

/* =========================================================
   TFP PATCH: reservation panel below time grid
========================================================= */

.booking-summary--inline {
    position: static !important;
    top: auto !important;
    margin: 14px 0 0 !important;
    z-index: 1 !important;
}

.court-week-grid-wrap {
    margin-top: 0 !important;
}

@media (max-width: 720px) {
    .booking-summary--inline {
        position: static !important;
        top: auto !important;
        margin-top: 12px !important;
        padding: 14px !important;
    }

    .booking-summary--inline .booking-summary__copy h2 {
        font-size: 20px !important;
    }

    .booking-summary--inline .booking-summary__copy p {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    .booking-checkout--inline {
        gap: 10px !important;
    }
}

/* =========================================================
   TFP PATCH: clean desktop week navigation
========================================================= */

@media (min-width: 901px) {
    .booking-board__head--compact {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: start !important;
        gap: 18px !important;
    }

    .week-actions {
        width: auto !important;
        min-width: 520px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }

    .week-switcher--premium {
        width: auto !important;
        min-width: 342px !important;
        display: grid !important;
        grid-template-columns: 104px 126px 104px !important;
        align-items: center !important;
        gap: 4px !important;
        padding: 4px !important;
        border-radius: 16px !important;
        background: rgba(255,255,255,.9) !important;
        border: 1px solid rgba(208,220,235,.9) !important;
        box-shadow: 0 10px 22px rgba(16,24,40,.05) !important;
        overflow: visible !important;
    }

    .week-switcher--premium a,
    .week-switcher--premium strong {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 12px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .week-switcher--premium strong {
        color: #175cd3 !important;
        background: #f8fbff !important;
        border: 1px solid rgba(23,105,232,.12) !important;
    }

    .unlock-week-form {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .unlock-week-form button {
        height: 40px !important;
        min-width: 178px !important;
        padding: 0 16px !important;
        font-size: 12px !important;
        border-radius: 14px !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .booking-board__head--compact {
        grid-template-columns: 1fr !important;
    }

    .week-actions {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
    }
}

/* =========================================================
   TFP PATCH: booking weeks management panel
========================================================= */

.booking-weeks-panel {
    margin: 12px 0 10px;
    border: 1px solid rgba(208,220,235,.94);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 30px rgba(16,24,40,.06);
    overflow: hidden;
}

.booking-weeks-panel summary {
    list-style: none;
    cursor: pointer;
    min-height: 50px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.booking-weeks-panel summary::-webkit-details-marker {
    display: none;
}

.booking-weeks-panel summary span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.booking-weeks-panel summary b {
    color: #122033;
    font-size: 14px;
    font-weight: 950;
    letter-spacing: -0.02em;
}

.booking-weeks-panel summary small {
    color: #667085;
    font-size: 11px;
    font-weight: 800;
}

.booking-weeks-panel summary em {
    font-style: normal;
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 8px 12px;
    color: #175cd3;
    background: #eef5ff;
    font-size: 11px;
    font-weight: 950;
}

.booking-weeks-panel[open] summary {
    border-bottom: 1px solid rgba(226,232,240,.9);
}

.booking-weeks-panel__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2fr;
    gap: 14px;
    padding: 14px;
}

.booking-weeks-panel__info strong {
    display: block;
    color: #122033;
    font-size: 13px;
    font-weight: 950;
    margin-bottom: 4px;
}

.booking-weeks-panel__info p {
    margin: 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.45;
}

.booking-weeks-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.booking-weeks-panel__actions form {
    margin: 0;
}

.booking-weeks-panel__actions button {
    min-height: 36px;
    border: 0;
    border-radius: 12px;
    padding: 0 12px;
    color: #fff;
    background: linear-gradient(135deg, #1769e8 0%, #0ea5e9 100%);
    font-size: 11px;
    font-weight: 950;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 10px 20px rgba(23,105,232,.14);
}

.booking-weeks-panel__actions button.is-muted {
    color: #344054;
    background: #f2f4f7;
    box-shadow: none;
}

.booking-weeks-panel__actions button.is-danger {
    background: #fff1f2;
    color: #b42318;
    box-shadow: none;
    border: 1px solid rgba(239,68,68,.18);
}

@media (max-width: 760px) {
    .booking-weeks-panel {
        margin: 10px 0;
        border-radius: 16px;
    }

    .booking-weeks-panel__body {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .booking-weeks-panel__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-content: stretch;
    }

    .booking-weeks-panel__actions button {
        width: 100%;
        padding-inline: 8px;
        font-size: 10.5px;
    }
}

/* =========================================================
   TFP PATCH: favorite clubs / my clubs
========================================================= */

.clubs-search-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.clubs-panel-link--favorite {
    color: #175cd3 !important;
    background: #eef5ff !important;
    border-color: rgba(23,105,232,.14) !important;
}

.club-premium-card__tools {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.club-premium-card__tools > b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    color: #175cd3;
    background: #eef5ff;
    font-size: 11px;
    font-weight: 900;
}

.club-favorite-form {
    margin: 0;
    display: inline-flex;
}

.club-favorite-btn {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border: 1px solid rgba(208,220,235,.95);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #98a2b3;
    background: #fff;
    font-size: 18px;
    line-height: 1;
    font-weight: 950;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 10px 20px rgba(16,24,40,.05);
    transition: transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease;
}

.club-favorite-btn:hover {
    transform: translateY(-1px);
    color: #175cd3;
    border-color: rgba(23,105,232,.24);
    background: #f8fbff;
}

.club-favorite-btn.is-active {
    color: #f59e0b;
    background: #fffbeb;
    border-color: rgba(245,158,11,.28);
}

.club-favorite-btn--guest {
    color: #98a2b3;
}

.booking-hero__favorite {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.booking-hero__favorite .club-favorite-btn {
    width: 42px;
    height: 42px;
    min-width: 42px;
    font-size: 21px;
    background: rgba(255,255,255,.92);
}

.my-clubs-hero .clubs-eyebrow::before {
    content: "★";
    margin-right: 6px;
    color: #f59e0b;
}

.my-clubs-empty {
    text-align: center;
    min-height: 220px;
    justify-content: center;
}

@media (max-width: 720px) {
    .clubs-search-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
    }

    .club-premium-card__tools {
        align-self: flex-start;
    }

    .club-favorite-btn {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }
}

/* =========================================================
   TFP PATCH: favorite star ajax + reserve only card
========================================================= */

.club-premium-card__top {
    align-items: flex-start !important;
}

.club-premium-card__tools {
    position: relative !important;
    z-index: 5 !important;
    flex: 0 0 auto !important;
}

.club-favorite-form {
    position: relative !important;
    z-index: 10 !important;
}

.club-favorite-btn {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 16px !important;
    font-size: 17px !important;
    color: #175cd3 !important;
    background: linear-gradient(135deg, #eef5ff 0%, #ffffff 100%) !important;
    border: 1px solid rgba(23,105,232,.14) !important;
    box-shadow: 0 14px 26px rgba(23,105,232,.12) !important;
}

.club-favorite-btn.is-active {
    color: #fff !important;
    background: linear-gradient(135deg, #1769e8 0%, #0ea5e9 100%) !important;
    border-color: transparent !important;
}

.club-favorite-btn:disabled {
    opacity: .65;
    cursor: progress;
}

.club-premium-card__actions--single {
    display: grid !important;
    grid-template-columns: 1fr !important;
}

.club-premium-card__actions--single a {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
}

.club-premium-card h2 {
    pointer-events: none;
}

.booking-hero__favorite .club-favorite-btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 14px !important;
}

@media (max-width: 720px) {
    .club-favorite-btn {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        border-radius: 14px !important;
        font-size: 16px !important;
    }

    .club-premium-card__actions--single a {
        min-height: 54px !important;
        font-size: 15px !important;
    }
}


/* =========================================================
   TFP PATCH: cleaner occupied slots + recurring reservations
========================================================= */

.court-week-grid .time-slot--busy,
.court-week-grid .time-slot--mine {
    justify-content: center !important;
    padding-right: 28px !important;
}

.court-week-grid .time-slot.is-continuation {
    min-height: 34px !important;
    opacity: .34 !important;
}

.court-week-grid .slot-continuation {
    display: block !important;
    width: 100% !important;
    min-height: 12px !important;
    font-size: 0 !important;
}

.booking-admin-options {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto minmax(150px, 180px);
    align-items: end;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(23,105,232,.12);
    border-radius: 16px;
    background: linear-gradient(180deg, #f8fbff, #ffffff);
}

.booking-admin-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    color: #475467 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
}

.booking-admin-field input,
.booking-admin-field select {
    width: 100%;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #d6e6fb;
    border-radius: 12px;
    background: #fff;
    color: #0b1736;
    font-size: 13px;
    font-weight: 850;
    outline: none;
}

.booking-admin-field input:focus,
.booking-admin-field select:focus {
    border-color: #1769e8;
    box-shadow: 0 0 0 4px rgba(23,105,232,.09);
}

.repeat-toggle {
    min-height: 38px;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center;
    gap: 8px !important;
    padding: 0 13px;
    border: 1px solid rgba(23,105,232,.18);
    border-radius: 999px;
    background: #eef5ff;
    color: #175cd3 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    white-space: nowrap;
}

.repeat-toggle input {
    accent-color: #1769e8;
}

.repeat-weeks-field {
    display: none !important;
}

.repeat-weeks-field.is-visible {
    display: flex !important;
}

@media (max-width: 980px) {
    .booking-admin-options {
        grid-template-columns: 1fr 1fr;
    }

    .booking-admin-field:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .booking-admin-options {
        grid-template-columns: 1fr;
        padding: 9px;
    }

    .repeat-toggle {
        justify-content: flex-start;
        width: 100%;
        border-radius: 12px;
    }
}


.booking-phone-required {
    display: grid;
    gap: 8px;
    min-width: min(360px, 100%);
    padding: 14px;
    border: 1px solid #bfdbfe;
    border-radius: 18px;
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
    color: #0f172a;
}

.booking-phone-required strong {
    font-size: 14px;
    font-weight: 900;
}

.booking-phone-required span {
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
}

.reservation-phone-private {
    display: block;
    margin-top: 2px;
    color: #1d4ed8;
    font-weight: 800;
}

/* TFP HOTFIX: ProAdmin can moderate clubs */
.club-proadmin-delete-form {
    margin: 0;
    width: 100%;
}

.club-proadmin-delete-form button {
    width: 100%;
    border: 1px solid rgba(239, 68, 68, 0.22);
    border-radius: 14px;
    background: linear-gradient(135deg, #fff1f2 0%, #fee2e2 100%);
    color: #b91c1c;
    font-weight: 900;
    font-size: 13px;
    padding: 11px 14px;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(239, 68, 68, 0.10);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.club-proadmin-delete-form button:hover,
.club-proadmin-delete-form button:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(239, 68, 68, 0.45);
    box-shadow: 0 16px 36px rgba(239, 68, 68, 0.18);
    outline: none;
}

.club-proadmin-delete-form--hero {
    width: auto;
}

.club-proadmin-delete-form--hero button {
    min-width: 120px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #dc2626;
}

@media (max-width: 640px) {
    .club-proadmin-delete-form--hero {
        width: 100%;
    }
}

/* =========================================================
   TFP CLUBS DIRECTORY — DISTINCT CARDS / COMPACT HERO V10
   Scoped only to the public clubs catalogue.
========================================================= */
body.clubs-body .clubs-index-page {
    --clubs-navy: #08265d;
    --clubs-navy-2: #0d438e;
    --clubs-blue: #1478f2;
    --clubs-cyan: #15b8e8;
    --clubs-ink: #0c1f3f;
    --clubs-muted: #667892;
    --clubs-border: #cfe0f6;
    --clubs-soft: #eef6ff;
    width: min(100% - 28px, 1120px) !important;
    padding-top: 14px !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 20px !important;
    min-height: 132px !important;
    padding: 18px 20px !important;
    margin-bottom: 10px !important;
    border: 1px solid #c8dcf5 !important;
    border-left: 6px solid var(--clubs-blue) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 101% -18%, rgba(20,120,242,.16) 0 88px, transparent 89px),
        linear-gradient(115deg, #ffffff 0%, #f5faff 62%, #eaf5ff 100%) !important;
    box-shadow: 0 16px 42px rgba(8,38,93,.10) !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero__content {
    min-width: 0 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-eyebrow {
    min-height: 21px !important;
    padding: 0 8px !important;
    color: #0b55b7 !important;
    background: #e5f1ff !important;
    border: 1px solid #c7defb !important;
    font-size: 9px !important;
    font-weight: 900 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero h1 {
    margin: 7px 0 5px !important;
    color: var(--clubs-ink) !important;
    font-size: clamp(28px, 3vw, 39px) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: -.055em !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero p {
    max-width: 580px !important;
    color: #536985 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-actions {
    margin-top: 10px !important;
    gap: 7px !important;
}

body.clubs-body .clubs-index-page .clubs-hub-actions .clubs-btn {
    min-height: 34px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-actions .clubs-btn--primary {
    background: linear-gradient(135deg, var(--clubs-navy-2), var(--clubs-blue)) !important;
    box-shadow: 0 10px 22px rgba(20,120,242,.22) !important;
}

body.clubs-body .clubs-index-page .clubs-hub-stats {
    width: 360px !important;
    grid-template-columns: repeat(4, minmax(72px, 1fr)) !important;
    gap: 7px !important;
}

body.clubs-body .clubs-index-page .clubs-hub-stats div {
    min-height: 62px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 9px 10px !important;
    border-radius: 14px !important;
    border: 1px solid #d2e2f6 !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 8px 18px rgba(8,38,93,.055) !important;
}

body.clubs-body .clubs-index-page .clubs-hub-stats strong {
    color: var(--clubs-navy) !important;
    font-size: 20px !important;
    font-weight: 950 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-stats span {
    color: #69809d !important;
    font-size: 8px !important;
    font-weight: 900 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-tabs {
    min-height: 45px !important;
    margin-bottom: 10px !important;
    padding: 5px !important;
    border-radius: 14px !important;
    border-color: #cfe0f5 !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(8,38,93,.06) !important;
}

body.clubs-body .clubs-index-page .clubs-hub-tabs a {
    min-height: 34px !important;
    border-radius: 10px !important;
    color: #526884 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-tabs a.is-active {
    color: #fff !important;
    background: linear-gradient(135deg, var(--clubs-navy-2), var(--clubs-blue)) !important;
    box-shadow: 0 8px 18px rgba(20,120,242,.20) !important;
}

body.clubs-body .clubs-index-page .clubs-search-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    border: 1px solid #c9dcf4 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 14px 32px rgba(8,38,93,.08) !important;
}

body.clubs-body .clubs-index-page .clubs-search-panel > div:first-child {
    padding: 12px 15px !important;
    background: linear-gradient(110deg, var(--clubs-navy) 0%, var(--clubs-navy-2) 72%, #116ab7 100%) !important;
}

body.clubs-body .clubs-index-page .clubs-search-panel > div:first-child h2 {
    margin: 0 0 2px !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

body.clubs-body .clubs-index-page .clubs-search-panel > div:first-child p {
    color: rgba(255,255,255,.76) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
}

body.clubs-body .clubs-index-page .clubs-premium-filter {
    grid-template-columns: minmax(0, 1.5fr) minmax(170px, .7fr) 130px !important;
    gap: 9px !important;
    padding: 13px 14px !important;
}

body.clubs-body .clubs-index-page .clubs-premium-filter input,
body.clubs-body .clubs-index-page .clubs-premium-filter select {
    min-height: 41px !important;
    border-radius: 11px !important;
    border: 1px solid #cbdcf2 !important;
    background: #f9fbfe !important;
    color: var(--clubs-ink) !important;
    font-size: 12px !important;
}

body.clubs-body .clubs-index-page .clubs-premium-filter input:focus,
body.clubs-body .clubs-index-page .clubs-premium-filter select:focus {
    border-color: var(--clubs-blue) !important;
    box-shadow: 0 0 0 3px rgba(20,120,242,.12) !important;
}

body.clubs-body .clubs-index-page .clubs-premium-filter button {
    min-height: 41px !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, var(--clubs-navy-2), var(--clubs-blue)) !important;
    color: #fff !important;
    font-weight: 900 !important;
}

body.clubs-body .clubs-index-page .clubs-search-actions {
    padding: 0 14px 13px !important;
}

body.clubs-body .clubs-index-page .clubs-results-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 62px !important;
    margin: 0 0 9px !important;
    padding: 10px 14px !important;
    border: 1px solid #cbdff7 !important;
    border-left: 5px solid var(--clubs-blue) !important;
    border-radius: 16px !important;
    background: linear-gradient(100deg, #fff 0%, #f5faff 100%) !important;
    box-shadow: 0 10px 24px rgba(8,38,93,.06) !important;
}

body.clubs-body .clubs-index-page .clubs-results-head__eyebrow {
    display: block !important;
    margin-bottom: 2px !important;
    color: #1471dc !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.clubs-body .clubs-index-page .clubs-results-head h2 {
    margin: 0 !important;
    color: var(--clubs-ink) !important;
    font-size: 19px !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
}

body.clubs-body .clubs-index-page .clubs-results-head > strong {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: #eaf4ff !important;
    color: #0f61c7 !important;
    border: 1px solid #cfe2fb !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

body.clubs-body .clubs-index-page .clubs-premium-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 13px !important;
    padding: 8px !important;
    border: 1px solid #d6e4f5 !important;
    border-radius: 20px !important;
    background: rgba(230,240,252,.62) !important;
}

body.clubs-body .clubs-index-page .club-premium-card {
    position: relative !important;
    overflow: hidden !important;
    padding: 15px !important;
    border: 1px solid #c9dcf4 !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(8,38,93,.075) !important;
}

body.clubs-body .clubs-index-page .club-premium-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 5px !important;
    background: linear-gradient(180deg, var(--clubs-blue), var(--clubs-cyan)) !important;
}

body.clubs-body .clubs-index-page .club-premium-card:hover {
    transform: translateY(-3px) !important;
    border-color: #9fc8f7 !important;
    box-shadow: 0 20px 42px rgba(8,38,93,.13) !important;
}

body.clubs-body .clubs-index-page .club-premium-card__top {
    align-items: center !important;
    gap: 11px !important;
    margin-bottom: 11px !important;
    padding-left: 2px !important;
}

body.clubs-body .clubs-index-page .club-premium-card__avatar {
    display: inline-flex !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, var(--clubs-navy-2), var(--clubs-blue) 65%, var(--clubs-cyan)) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    box-shadow: 0 10px 20px rgba(20,120,242,.22) !important;
}

body.clubs-body .clubs-index-page .club-premium-card__top > div:nth-child(2) {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

body.clubs-body .clubs-index-page .club-premium-card__top span {
    padding: 4px 7px !important;
    color: #0f61c7 !important;
    background: #eaf4ff !important;
    border: 1px solid #d1e5fc !important;
    font-size: 9px !important;
    font-weight: 900 !important;
}

body.clubs-body .clubs-index-page .club-premium-card h2 {
    margin: 5px 0 0 !important;
    color: var(--clubs-ink) !important;
    font-size: 17px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
}

body.clubs-body .clubs-index-page .club-premium-card__address {
    min-height: 31px !important;
    margin: 0 0 10px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    background: #f6f9fd !important;
    color: #536985 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

body.clubs-body .clubs-index-page .club-premium-card__address::before {
    content: "Lokalizacja: " !important;
    color: #224a7c !important;
    font-weight: 900 !important;
}

body.clubs-body .clubs-index-page .club-premium-card__meta,
body.clubs-body .clubs-index-page .club-premium-card__chips {
    gap: 6px !important;
    margin-bottom: 9px !important;
}

body.clubs-body .clubs-index-page .club-premium-card__meta span {
    padding: 6px 9px !important;
    border: 1px solid #cfe0f5 !important;
    background: #eef6ff !important;
    color: #214d82 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
}

body.clubs-body .clubs-index-page .club-premium-card__chips span {
    padding: 5px 8px !important;
    border: 1px solid #dbe5f1 !important;
    background: #fff !important;
    color: #61738a !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

body.clubs-body .clubs-index-page .club-premium-card__actions {
    margin-top: 11px !important;
    padding-top: 11px !important;
    border-top: 1px solid #e0e9f4 !important;
}

body.clubs-body .clubs-index-page .club-premium-card__actions a {
    min-height: 42px !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, var(--clubs-navy-2), var(--clubs-blue)) !important;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(20,120,242,.19) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

body.clubs-body .clubs-index-page .club-favorite-btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 18px rgba(8,38,93,.09) !important;
}

@media (max-width: 900px) {
    body.clubs-body .clubs-index-page .clubs-hub-hero {
        grid-template-columns: 1fr !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-stats {
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    body.clubs-body .clubs-index-page {
        width: calc(100% - 12px) !important;
        padding-top: 8px !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-hero {
        gap: 10px !important;
        min-height: 0 !important;
        padding: 13px !important;
        border-left-width: 4px !important;
        border-radius: 17px !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-hero h1 {
        margin-top: 6px !important;
        font-size: 27px !important;
        line-height: .98 !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-hero p {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        font-size: 11.5px !important;
        line-height: 1.35 !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        margin-top: 9px !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-stats {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 0 !important;
        overflow: hidden !important;
        border: 1px solid #cfe0f5 !important;
        border-radius: 12px !important;
        background: rgba(255,255,255,.92) !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-stats div {
        min-height: 46px !important;
        padding: 7px 3px !important;
        border: 0 !important;
        border-right: 1px solid #dbe7f4 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-align: center !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-stats div:last-child {
        border-right: 0 !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-stats strong {
        margin-bottom: 3px !important;
        font-size: 17px !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-stats span {
        font-size: 7px !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-tabs {
        min-height: 41px !important;
        margin-bottom: 8px !important;
    }

    body.clubs-body .clubs-index-page .clubs-search-panel > div:first-child {
        padding: 10px 12px !important;
    }

    body.clubs-body .clubs-index-page .clubs-premium-filter {
        grid-template-columns: 1fr !important;
        padding: 11px !important;
        gap: 7px !important;
    }

    body.clubs-body .clubs-index-page .clubs-search-actions {
        padding: 0 11px 11px !important;
    }

    body.clubs-body .clubs-index-page .clubs-results-head {
        min-height: 54px !important;
        padding: 9px 11px !important;
        border-radius: 14px !important;
    }

    body.clubs-body .clubs-index-page .clubs-results-head h2 {
        font-size: 17px !important;
    }

    body.clubs-body .clubs-index-page .clubs-premium-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 6px !important;
        border-radius: 16px !important;
    }

    body.clubs-body .clubs-index-page .club-premium-card {
        padding: 13px !important;
        border-radius: 14px !important;
    }

    body.clubs-body .clubs-index-page .club-premium-card__avatar {
        flex-basis: 44px !important;
        width: 44px !important;
        height: 44px !important;
        border-radius: 13px !important;
        font-size: 16px !important;
    }

    body.clubs-body .clubs-index-page .club-premium-card h2 {
        font-size: 16px !important;
    }

    body.clubs-body .clubs-index-page .club-premium-card__address {
        min-height: 0 !important;
        margin-bottom: 8px !important;
    }

    body.clubs-body .clubs-index-page .club-premium-card__actions a {
        min-height: 43px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 390px) {
    body.clubs-body .clubs-index-page .clubs-hub-actions {
        grid-template-columns: 1fr 1fr !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-hero p {
        -webkit-line-clamp: 1 !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-stats span {
        font-size: 6.5px !important;
    }
}

/* =========================================================
   TFP PATCH: compact public club catalogue
   Only the club cards/grid are changed.
========================================================= */
@media (min-width: 1101px) {
    body.clubs-body .clubs-index-page .clubs-premium-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding: 6px !important;
    }
}

@media (min-width: 761px) and (max-width: 1100px) {
    body.clubs-body .clubs-index-page .clubs-premium-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding: 6px !important;
    }
}

@media (min-width: 641px) and (max-width: 760px) {
    body.clubs-body .clubs-index-page .clubs-premium-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding: 6px !important;
    }
}

body.clubs-body .clubs-index-page .club-premium-card {
    padding: 10px !important;
    border-radius: 13px !important;
    box-shadow: 0 8px 20px rgba(8,38,93,.065) !important;
}

body.clubs-body .clubs-index-page .club-premium-card::before {
    width: 3px !important;
}

body.clubs-body .clubs-index-page .club-premium-card__top {
    gap: 7px !important;
    margin-bottom: 7px !important;
}

body.clubs-body .clubs-index-page .club-premium-card__avatar {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    box-shadow: 0 6px 13px rgba(20,120,242,.16) !important;
}

body.clubs-body .clubs-index-page .club-premium-card__top span {
    padding: 3px 5px !important;
    font-size: 7.5px !important;
}

body.clubs-body .clubs-index-page .club-premium-card h2 {
    margin-top: 3px !important;
    font-size: 13px !important;
    line-height: 1.12 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

body.clubs-body .clubs-index-page .club-premium-card__address {
    min-height: 0 !important;
    margin: 0 0 6px !important;
    padding: 5px 7px !important;
    border-radius: 8px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
}

body.clubs-body .clubs-index-page .club-premium-card__meta,
body.clubs-body .clubs-index-page .club-premium-card__chips {
    gap: 4px !important;
    margin-bottom: 6px !important;
}

body.clubs-body .clubs-index-page .club-premium-card__meta span {
    padding: 4px 6px !important;
    font-size: 8px !important;
}

body.clubs-body .clubs-index-page .club-premium-card__chips span {
    padding: 3px 5px !important;
    font-size: 7.5px !important;
}

body.clubs-body .clubs-index-page .club-premium-card__actions {
    gap: 5px !important;
    margin-top: 6px !important;
    padding-top: 6px !important;
}

body.clubs-body .clubs-index-page .club-premium-card__actions a {
    min-height: 32px !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    font-size: 10px !important;
    box-shadow: 0 6px 13px rgba(20,120,242,.14) !important;
}

body.clubs-body .clubs-index-page .club-proadmin-delete-form button {
    min-height: 32px !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    font-size: 9px !important;
    box-shadow: 0 6px 13px rgba(239,68,68,.08) !important;
}

body.clubs-body .clubs-index-page .club-favorite-btn {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
    box-shadow: 0 5px 12px rgba(8,38,93,.07) !important;
}

@media (max-width: 640px) {
    body.clubs-body .clubs-index-page .clubs-premium-grid {
        grid-template-columns: 1fr !important;
    }

    body.clubs-body .clubs-index-page .club-premium-card {
        padding: 11px !important;
    }

    body.clubs-body .clubs-index-page .club-premium-card h2 {
        font-size: 14px !important;
    }

    body.clubs-body .clubs-index-page .club-premium-card__actions a,
    body.clubs-body .clubs-index-page .club-proadmin-delete-form button {
        min-height: 36px !important;
        font-size: 10.5px !important;
    }
}



body.clubs-body,
body:has(.club-admin-page),
.club-admin-page {
    --cz-bg: #f6f8fc;
    --cz-surface: rgba(255,255,255,.95);
    --cz-surface-solid: #fff;
    --cz-ink: #0b1830;
    --cz-text: #263750;
    --cz-muted: #6a7890;
    --cz-line: #dfe6f0;
    --cz-line-strong: #ccd8e7;
    --cz-blue: #1769df;
    --cz-blue-dark: #0d3978;
    --cz-cyan: #20a9d8;
    --cz-soft-blue: #eef5ff;
    --cz-shadow: 0 18px 46px rgba(16,36,68,.075);
    --cz-shadow-soft: 0 8px 24px rgba(16,36,68,.055);
    color: var(--cz-text) !important;
    background: linear-gradient(180deg,#fafcff 0%,#f5f8fc 46%,#f8fafc 100%) !important;
    font-family: Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    letter-spacing: .004em !important;
}

body.clubs-body .clubs-page,
.club-admin-page {
    width: min(1480px, calc(100% - 48px)) !important;
    max-width: 1480px !important;
    min-height: calc(100vh - 70px) !important;
    margin: 0 auto !important;
    padding: 22px 0 64px !important;
    background:
        radial-gradient(circle at 8% -4%, rgba(23,105,223,.07), transparent 25rem),
        radial-gradient(circle at 94% 2%, rgba(32,169,216,.06), transparent 24rem),
        transparent !important;
}

/* ---------- Shared low heroes ---------- */
body.clubs-body .clubs-hub-hero,
body.clubs-body .clubs-directory-hero,
.club-admin-page .admin-topbar {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    margin: 0 0 14px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 22px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 90% -20%, rgba(47,196,232,.26), transparent 18rem),
        linear-gradient(135deg,#0b2349 0%,#123d77 62%,#0e789f 100%) !important;
    box-shadow: 0 18px 42px rgba(15,44,88,.14) !important;
}

body.clubs-body .clubs-hub-hero::before,
body.clubs-body .clubs-directory-hero::before,
.club-admin-page .admin-topbar::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    width: 240px !important;
    height: 240px !important;
    right: -110px !important;
    top: -145px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 36px rgba(255,255,255,.035) !important;
    pointer-events: none !important;
}

/* Main clubs hero: keep stats useful, but compact. */
body.clubs-body .clubs-hub-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 28px !important;
    min-height: 132px !important;
    padding: 20px 24px !important;
}

body.clubs-body .clubs-hub-hero__content {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas:
        "eyebrow actions"
        "title actions"
        "copy actions" !important;
    align-items: center !important;
    column-gap: 18px !important;
}

body.clubs-body .clubs-hub-hero__content > .clubs-eyebrow { grid-area: eyebrow !important; }
body.clubs-body .clubs-hub-hero__content > h1 { grid-area: title !important; }
body.clubs-body .clubs-hub-hero__content > p { grid-area: copy !important; }
body.clubs-body .clubs-hub-hero__content > .clubs-hub-actions { grid-area: actions !important; }


body.clubs-body .clubs-directory-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-rows: auto auto auto !important;
    align-items: center !important;
    column-gap: 26px !important;
    min-height: 118px !important;
    padding: 20px 24px !important;
}

body.clubs-body .clubs-directory-hero > .clubs-eyebrow { grid-column: 1; grid-row: 1; }
body.clubs-body .clubs-directory-hero > h1 { grid-column: 1; grid-row: 2; }
body.clubs-body .clubs-directory-hero > p { grid-column: 1; grid-row: 3; }
body.clubs-body .clubs-directory-hero > .clubs-hub-actions {
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
    align-self: center !important;
}

body.clubs-body .clubs-eyebrow,
body.clubs-body .clubs-directory-hero > .clubs-eyebrow,
.club-admin-page .admin-topbar > div:first-child > span {
    width: fit-content !important;
    min-width: 0 !important;
    min-height: 22px !important;
    margin: 0 0 7px !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 999px !important;
    color: #d7f3ff !important;
    background: rgba(255,255,255,.10) !important;
    box-shadow: none !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    white-space: nowrap !important;
}

body.clubs-body .clubs-hub-hero h1,
body.clubs-body .clubs-directory-hero h1,
.club-admin-page .admin-topbar h1 {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(30px,2.55vw,38px) !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

body.clubs-body .clubs-hub-hero p,
body.clubs-body .clubs-directory-hero p,
.club-admin-page .admin-topbar p {
    max-width: 650px !important;
    margin: 6px 0 0 !important;
    color: rgba(234,243,255,.82) !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    letter-spacing: .006em !important;
}

body.clubs-body .clubs-hub-actions,
.club-admin-page .admin-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
}

body.clubs-body .clubs-btn,
.club-admin-page .clubs-btn {
    min-height: 38px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 11px !important;
    color: #f5fbff !important;
    background: rgba(255,255,255,.09) !important;
    box-shadow: none !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
}

body.clubs-body .clubs-btn--primary,
.club-admin-page .clubs-btn--primary {
    color: #0f3b73 !important;
    border-color: rgba(255,255,255,.68) !important;
    background: #fff !important;
    box-shadow: 0 9px 22px rgba(3,20,46,.13) !important;
}

/* Club stats inside hero */
body.clubs-body .clubs-hub-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(76px, 1fr)) !important;
    gap: 7px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.clubs-body .clubs-hub-stats > div {
    min-width: 78px !important;
    min-height: 62px !important;
    padding: 9px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 13px !important;
    color: #fff !important;
    background: rgba(255,255,255,.09) !important;
    box-shadow: none !important;
    backdrop-filter: blur(10px) !important;
}

body.clubs-body .clubs-hub-stats strong {
    margin: 0 0 3px !important;
    color: #fff !important;
    font-size: 19px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
}
body.clubs-body .clubs-hub-stats span {
    color: rgba(232,243,255,.74) !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

/* ---------- Shared tabs ---------- */
body.clubs-body .clubs-hub-tabs,
.club-admin-page .admin-club-tabs {
    min-height: 46px !important;
    margin: 0 0 14px !important;
    padding: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    overflow-x: auto !important;
    border: 1px solid var(--cz-line) !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: var(--cz-shadow-soft) !important;
    scrollbar-width: none !important;
}
body.clubs-body .clubs-hub-tabs::-webkit-scrollbar,
.club-admin-page .admin-club-tabs::-webkit-scrollbar { display: none !important; }

body.clubs-body .clubs-hub-tabs a,
.club-admin-page .admin-club-tabs a {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    color: #526178 !important;
    background: transparent !important;
    font-size: 9.5px !important;
    font-weight: 650 !important;
    letter-spacing: .008em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
body.clubs-body .clubs-hub-tabs a.is-active,
body.clubs-body .clubs-hub-tabs a:hover,
.club-admin-page .admin-club-tabs a.is-active,
.club-admin-page .admin-club-tabs a:hover {
    color: #fff !important;
    border-color: var(--cz-blue) !important;
    background: var(--cz-blue) !important;
    box-shadow: 0 5px 12px rgba(23,105,223,.14) !important;
}

/* ---------- Clubs search ---------- */
body.clubs-body .clubs-search-panel {
    overflow: hidden !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 1px solid var(--cz-line) !important;
    border-radius: 18px !important;
    background: var(--cz-surface) !important;
    box-shadow: var(--cz-shadow-soft) !important;
}

body.clubs-body .clubs-search-panel > div:first-child {
    min-height: 52px !important;
    padding: 10px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 17px 17px 0 0 !important;
    background: linear-gradient(110deg,#0b2a5d,#1653a7) !important;
}
body.clubs-body .clubs-search-panel h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -.014em !important;
}
body.clubs-body .clubs-search-panel p {
    margin: 3px 0 0 !important;
    color: rgba(231,241,255,.82) !important;
    font-size: 9px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
}

body.clubs-body .clubs-premium-filter {
    display: grid !important;
    grid-template-columns: minmax(320px,1.6fr) minmax(180px,.75fr) 120px !important;
    align-items: end !important;
    gap: 10px !important;
    padding: 14px !important;
    background: #fff !important;
}
body.clubs-body .clubs-premium-filter input,
body.clubs-body .clubs-premium-filter select,
body.clubs-body .clubs-filter-bar select,
.club-admin-page .admin-form input,
.club-admin-page .admin-form select,
.club-admin-page .admin-form textarea {
    min-height: 40px !important;
    border: 1px solid var(--cz-line-strong) !important;
    border-radius: 10px !important;
    color: var(--cz-ink) !important;
    background: #fff !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 10.5px !important;
    font-weight: 550 !important;
    letter-spacing: .004em !important;
}
body.clubs-body .clubs-premium-filter input,
body.clubs-body .clubs-premium-filter select { padding: 0 12px !important; }
body.clubs-body .clubs-premium-filter button {
    min-height: 40px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: var(--cz-blue) !important;
    box-shadow: 0 6px 14px rgba(23,105,223,.13) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
}

/* ---------- Result headings ---------- */
body.clubs-body .clubs-results-head,
body.clubs-body .clubs-section-head {
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 1px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--cz-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.clubs-body .clubs-results-head h2,
body.clubs-body .clubs-section-head h2 {
    margin: 0 !important;
    color: var(--cz-ink) !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.014em !important;
}
body.clubs-body .clubs-results-head__eyebrow,
body.clubs-body .clubs-section-head .clubs-eyebrow {
    min-height: 0 !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--cz-blue) !important;
    background: transparent !important;
    font-size: 7.5px !important;
    letter-spacing: .10em !important;
}
body.clubs-body .clubs-results-head > strong {
    padding: 5px 9px !important;
    border: 1px solid var(--cz-line) !important;
    border-radius: 999px !important;
    color: var(--cz-blue) !important;
    background: var(--cz-soft-blue) !important;
    font-size: 8.5px !important;
    font-weight: 700 !important;
}
body.clubs-body .clubs-section-head p {
    margin: 4px 0 0 !important;
    color: var(--cz-muted) !important;
    font-size: 10px !important;
    font-weight: 500 !important;
}

/* ---------- Compact club catalogue: 4 columns on wide desktop ---------- */
body.clubs-body .clubs-index-page .clubs-premium-grid {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.clubs-body .clubs-index-page .club-premium-card,
body.clubs-body .clubs-feature-grid article,
body.clubs-body .club-row-link {
    border: 1px solid var(--cz-line) !important;
    background: #fff !important;
    box-shadow: 0 7px 20px rgba(17,39,75,.045) !important;
    transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease !important;
}
body.clubs-body .clubs-index-page .club-premium-card:hover,
body.clubs-body .club-row-link:hover {
    transform: translateY(-1px) !important;
    border-color: #bfd0e6 !important;
    box-shadow: 0 12px 28px rgba(17,39,75,.075) !important;
}

body.clubs-body .clubs-index-page .club-premium-card {
    min-width: 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
}
body.clubs-body .clubs-index-page .club-premium-card::before {
    width: 2px !important;
    background: linear-gradient(180deg,var(--cz-blue),var(--cz-cyan)) !important;
}
body.clubs-body .clubs-index-page .club-premium-card__top { gap: 9px !important; margin-bottom: 8px !important; }
body.clubs-body .clubs-index-page .club-premium-card__avatar {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    box-shadow: 0 7px 16px rgba(23,105,223,.13) !important;
}
body.clubs-body .clubs-index-page .club-premium-card__top span {
    padding: 3px 6px !important;
    border-radius: 999px !important;
    color: var(--cz-blue) !important;
    background: var(--cz-soft-blue) !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
}
body.clubs-body .clubs-index-page .club-premium-card h2 {
    margin: 3px 0 0 !important;
    color: var(--cz-ink) !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
    letter-spacing: -.006em !important;
}
body.clubs-body .clubs-index-page .club-premium-card h2 a { color: inherit !important; }
body.clubs-body .clubs-index-page .club-premium-card__address {
    min-height: 0 !important;
    margin: 0 0 7px !important;
    padding: 6px 8px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 9px !important;
    color: #65748a !important;
    background: #f8fafc !important;
    font-size: 8.8px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
}
body.clubs-body .clubs-index-page .club-premium-card__meta,
body.clubs-body .clubs-index-page .club-premium-card__chips { gap: 4px !important; margin-bottom: 6px !important; }
body.clubs-body .clubs-index-page .club-premium-card__meta span,
body.clubs-body .clubs-index-page .club-premium-card__chips span {
    padding: 4px 6px !important;
    border: 1px solid var(--cz-line) !important;
    border-radius: 999px !important;
    color: #58677e !important;
    background: #fff !important;
    font-size: 7.5px !important;
    font-weight: 600 !important;
}
body.clubs-body .clubs-index-page .club-premium-card__actions {
    gap: 5px !important;
    margin-top: 7px !important;
    padding-top: 7px !important;
    border-top: 1px solid #edf1f6 !important;
}
body.clubs-body .clubs-index-page .club-premium-card__actions a,
body.clubs-body .clubs-index-page .club-proadmin-delete-form button {
    min-height: 32px !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    font-size: 9px !important;
    font-weight: 650 !important;
}
body.clubs-body .clubs-index-page .club-premium-card__actions a {
    color: #fff !important;
    background: var(--cz-blue) !important;
    box-shadow: none !important;
}


body.clubs-body .clubs-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
}
body.clubs-body .clubs-feature-grid article {
    min-height: 92px !important;
    padding: 13px 14px !important;
    border-radius: 15px !important;
}
body.clubs-body .clubs-feature-grid article > span {
    width: 26px !important;
    height: 26px !important;
    margin: 0 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    color: var(--cz-blue) !important;
    background: var(--cz-soft-blue) !important;
    font-size: 8px !important;
    font-weight: 700 !important;
}
body.clubs-body .clubs-feature-grid h2 {
    margin: 0 0 4px !important;
    color: var(--cz-ink) !important;
    font-size: 13.5px !important;
    font-weight: 650 !important;
    letter-spacing: -.008em !important;
}
body.clubs-body .clubs-feature-grid p {
    margin: 0 !important;
    color: var(--cz-muted) !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}










/* ---------- Nearby ---------- */
body.clubs-body .clubs-filter-bar {
    display: grid !important;
    grid-template-columns: minmax(220px,420px) auto auto !important;
    align-items: end !important;
    gap: 9px !important;
    margin: 0 0 14px !important;
    padding: 13px !important;
    border: 1px solid var(--cz-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: var(--cz-shadow-soft) !important;
}
body.clubs-body .clubs-filter-bar label > span {
    display: block !important;
    margin: 0 0 4px !important;
    color: #718096 !important;
    font-size: 7px !important;
    font-weight: 700 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}
body.clubs-body .clubs-filter-bar select { width: 100% !important; padding: 0 10px !important; }
body.clubs-body .clubs-filter-bar .clubs-btn {
    min-height: 40px !important;
    border-color: var(--cz-line) !important;
    color: var(--cz-blue) !important;
    background: #f7faff !important;
}
body.clubs-body .clubs-filter-bar .clubs-btn--primary {
    color: #fff !important;
    border-color: var(--cz-blue) !important;
    background: var(--cz-blue) !important;
}

body.clubs-body .clubs-mini-list {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
}
body.clubs-body .club-row-link {
    min-height: 82px !important;
    padding: 12px 14px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-areas: "name courts" "meta courts" !important;
    align-items: center !important;
    gap: 4px 12px !important;
    border-radius: 15px !important;
    text-decoration: none !important;
}
body.clubs-body .club-row-link strong {
    grid-area: name !important;
    color: var(--cz-ink) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}
body.clubs-body .club-row-link span {
    grid-area: meta !important;
    color: var(--cz-muted) !important;
    font-size: 9px !important;
    font-weight: 500 !important;
}
body.clubs-body .club-row-link em {
    grid-area: courts !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    color: var(--cz-blue) !important;
    background: var(--cz-soft-blue) !important;
    font-size: 8px !important;
    font-style: normal !important;
    font-weight: 700 !important;
}

/* ---------- Club admin ---------- */
.club-admin-page .admin-topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    min-height: 118px !important;
    padding: 20px 24px !important;
}
.club-admin-page .admin-actions .clubs-btn:first-child {
    color: #f5fbff !important;
    border-color: rgba(255,255,255,.25) !important;
    background: rgba(255,255,255,.09) !important;
}
.club-admin-page .admin-layout {
    display: grid !important;
    grid-template-columns: minmax(340px,440px) minmax(0,1fr) !important;
    gap: 14px !important;
    align-items: start !important;
}
.club-admin-page .admin-settings-card,
.club-admin-page .admin-board-card {
    border: 1px solid var(--cz-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: var(--cz-shadow-soft) !important;
}
.club-admin-page .admin-settings-card { padding: 16px !important; }
.club-admin-page .admin-board-card { padding: 16px !important; }
.club-admin-page .admin-card-head h2,
.club-admin-page .admin-board-card h2 {
    color: var(--cz-ink) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.012em !important;
}
.club-admin-page .admin-form label,
.club-admin-page .admin-form small {
    color: #68778d !important;
    font-size: 8.5px !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
}
.club-admin-page .admin-form input,
.club-admin-page .admin-form select { padding: 0 10px !important; }
.club-admin-page .admin-form textarea { padding: 10px !important; min-height: 84px !important; }

/* ---------- Desktop width transitions ---------- */
@media (max-width: 1250px) {
    body.clubs-body .clubs-page,
    .club-admin-page { width: min(1160px, calc(100% - 36px)) !important; }
    body.clubs-body .clubs-index-page .clubs-premium-grid{ grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
    body.clubs-body .clubs-hub-hero { grid-template-columns: minmax(0,1fr) !important; }
    body.clubs-body .clubs-hub-stats { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
    body.clubs-body .clubs-hub-hero__content { grid-template-columns: minmax(0,1fr) auto !important; }
}

@media (max-width: 900px) {
    body.clubs-body .clubs-index-page .clubs-premium-grid,
    body.clubs-body .clubs-mini-list { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .club-admin-page .admin-layout { grid-template-columns: 1fr !important; }
}

/* ---------- Mobile ---------- */
@media (max-width: 720px) {
    body.clubs-body .clubs-page,
    .club-admin-page {
        width: calc(100% - 20px) !important;
        max-width: none !important;
        padding: 12px 0 40px !important;
    }

    body.clubs-body .clubs-hub-hero,
    body.clubs-body .clubs-directory-hero,
    .club-admin-page .admin-topbar {
        min-height: 0 !important;
        padding: 16px !important;
        border-radius: 18px !important;
    }

    body.clubs-body .clubs-hub-hero {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    body.clubs-body .clubs-hub-hero__content {
        grid-template-columns: 1fr !important;
        grid-template-areas: "eyebrow" "title" "copy" "actions" !important;
        gap: 0 !important;
    }
    body.clubs-body .clubs-hub-hero__content > .clubs-hub-actions {
        margin-top: 11px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }
    body.clubs-body .clubs-hub-stats {
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
        gap: 5px !important;
    }
    body.clubs-body .clubs-hub-stats > div {
        min-width: 0 !important;
        min-height: 49px !important;
        padding: 7px 5px !important;
        border-radius: 10px !important;
        align-items: center !important;
        text-align: center !important;
    }
    body.clubs-body .clubs-hub-stats strong { font-size: 16px !important; }
    body.clubs-body .clubs-hub-stats span { font-size: 6px !important; letter-spacing: .04em !important; }

    body.clubs-body .clubs-directory-hero {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        gap: 0 !important;
    }
    body.clubs-body .clubs-directory-hero > .clubs-eyebrow,
    body.clubs-body .clubs-directory-hero > h1,
    body.clubs-body .clubs-directory-hero > p,
    body.clubs-body .clubs-directory-hero > .clubs-hub-actions {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
    body.clubs-body .clubs-directory-hero > .clubs-hub-actions {
        margin-top: 11px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }

    body.clubs-body .clubs-eyebrow,
    body.clubs-body .clubs-directory-hero > .clubs-eyebrow,
    .club-admin-page .admin-topbar > div:first-child > span {
        min-height: 20px !important;
        padding: 0 8px !important;
        margin-bottom: 6px !important;
        font-size: 6.8px !important;
        letter-spacing: .085em !important;
    }
    body.clubs-body .clubs-hub-hero h1,
    body.clubs-body .clubs-directory-hero h1,
    .club-admin-page .admin-topbar h1 {
        font-size: 27px !important;
        letter-spacing: -.018em !important;
    }
    body.clubs-body .clubs-hub-hero p,
    body.clubs-body .clubs-directory-hero p,
    .club-admin-page .admin-topbar p {
        font-size: 9.5px !important;
        line-height: 1.4 !important;
    }
    body.clubs-body .clubs-btn,
    .club-admin-page .clubs-btn { min-height: 38px !important; font-size: 9.5px !important; }

    body.clubs-body .clubs-hub-tabs,
    .club-admin-page .admin-club-tabs {
        min-height: 42px !important;
        margin-bottom: 10px !important;
        padding: 5px !important;
        border-radius: 13px !important;
    }
    body.clubs-body .clubs-hub-tabs a,
    .club-admin-page .admin-club-tabs a {
        min-height: 30px !important;
        padding: 0 10px !important;
        font-size: 8.5px !important;
    }

    body.clubs-body .clubs-search-panel { border-radius: 16px !important; }
    body.clubs-body .clubs-search-panel > div:first-child { min-height: 48px !important; padding: 9px 11px !important; }
    body.clubs-body .clubs-search-panel h2 { font-size: 14px !important; }
    body.clubs-body .clubs-search-panel p { font-size: 8px !important; }
    body.clubs-body .clubs-premium-filter {
        grid-template-columns: minmax(0,1fr) 92px !important;
        gap: 7px !important;
        padding: 10px !important;
    }
    body.clubs-body .clubs-premium-filter input {
        grid-column: 1 / -1 !important;
        min-height: 38px !important;
        font-size: 9.5px !important;
    }
    body.clubs-body .clubs-premium-filter select,
    body.clubs-body .clubs-premium-filter button {
        min-width: 0 !important;
        min-height: 36px !important;
        font-size: 8.5px !important;
    }

    body.clubs-body .clubs-results-head,
    body.clubs-body .clubs-section-head { margin-bottom: 7px !important; padding-bottom: 8px !important; }
    body.clubs-body .clubs-results-head h2,
    body.clubs-body .clubs-section-head h2 { font-size: 15px !important; }
    body.clubs-body .clubs-section-head p { font-size: 8.5px !important; }

    body.clubs-body .clubs-index-page .clubs-premium-grid,
    body.clubs-body .clubs-mini-list { grid-template-columns: 1fr !important; gap: 8px !important; }

    body.clubs-body .clubs-index-page .club-premium-card { padding: 11px !important; border-radius: 14px !important; }
    body.clubs-body .clubs-index-page .club-premium-card h2 { font-size: 13px !important; }

    body.clubs-body .clubs-feature-grid {
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
        gap: 6px !important;
        margin-bottom: 12px !important;
    }
    body.clubs-body .clubs-feature-grid article {
        min-height: 84px !important;
        padding: 10px !important;
        border-radius: 13px !important;
    }
    body.clubs-body .clubs-feature-grid article > span { width: 22px !important; height: 22px !important; margin-bottom: 6px !important; font-size: 7px !important; }
    body.clubs-body .clubs-feature-grid h2 { font-size: 10px !important; }
    body.clubs-body .clubs-feature-grid p {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        font-size: 7.2px !important;
    }

    body.clubs-body .clubs-filter-bar {
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 7px !important;
        padding: 10px !important;
    }
    body.clubs-body .clubs-filter-bar label { grid-column: 1 / -1 !important; }
    body.clubs-body .clubs-filter-bar select { min-height: 36px !important; font-size: 9px !important; }
    body.clubs-body .clubs-filter-bar .clubs-btn { min-height: 36px !important; font-size: 8.5px !important; }

    .club-admin-page .admin-topbar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    .club-admin-page .admin-actions { display: grid !important; grid-template-columns: 1fr 1fr !important; width: 100% !important; }
    .club-admin-page .admin-layout { grid-template-columns: 1fr !important; gap: 10px !important; }
    .club-admin-page .admin-settings-card,
    .club-admin-page .admin-board-card { padding: 12px !important; border-radius: 15px !important; }
}

@media (max-width: 390px) {
    body.clubs-body .clubs-hub-hero h1,
    body.clubs-body .clubs-directory-hero h1,
    .club-admin-page .admin-topbar h1 { font-size: 25px !important; }
    body.clubs-body .clubs-feature-grid { gap: 5px !important; }
    body.clubs-body .clubs-feature-grid article { padding: 8px !important; }
    body.clubs-body .clubs-feature-grid h2 { font-size: 9.5px !important; }
    body.clubs-body .clubs-feature-grid p { font-size: 6.8px !important; }
}



:root {
    --club-unified-ink: #0b1834;
    --club-unified-muted: #66758b;
    --club-unified-line: #dbe5f1;
    --club-unified-line-strong: #cbd9ea;
    --club-unified-blue: #1769df;
    --club-unified-soft-blue: #edf5ff;
    --club-unified-navy: #0b2349;
    --club-unified-navy-2: #123d77;
    --club-unified-cyan: #0e789f;
    --club-unified-shadow: 0 18px 42px rgba(15, 44, 88, .14);
    --club-unified-soft-shadow: 0 8px 24px rgba(15, 44, 88, .06);
}

/* ---------- wspólna szerokość i typografia całej strefy ---------- */
body.clubs-body .clubs-page,
.club-admin-page {
    width: min(1480px, calc(100% - 48px)) !important;
    max-width: 1480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.clubs-body .clubs-page *,
.club-admin-page * {
    font-family: inherit !important;
}

/* ============================================================================
   HERO — dokładnie ten sam język co /leagues
   112 px, ten sam gradient, ten sam badge, tytuł i przyciski.
   ============================================================================ */
body.clubs-body .clubs-hub-page .clubs-hub-hero,
body.clubs-body .clubs-hub-page .clubs-directory-hero,
.club-admin-page .admin-topbar {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    margin: 0 0 16px !important;
    padding: 22px 26px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 22px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 90% -20%, rgba(47,196,232,.26), transparent 18rem),
        linear-gradient(135deg, #0b2349 0%, #123d77 62%, #0e789f 100%) !important;
    box-shadow: var(--club-unified-shadow) !important;
}

body.clubs-body .clubs-hub-page .clubs-hub-hero::before,
body.clubs-body .clubs-hub-page .clubs-directory-hero::before,
.club-admin-page .admin-topbar::before {
    content: "" !important;
    position: absolute !important;
    width: 240px !important;
    height: 240px !important;
    right: -110px !important;
    top: -145px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 36px rgba(255,255,255,.035) !important;
    background: transparent !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

body.clubs-body .clubs-hub-page .clubs-hub-hero::after,
body.clubs-body .clubs-hub-page .clubs-directory-hero::after,
.club-admin-page .admin-topbar::after {
    display: none !important;
    content: none !important;
}

/* /clubs: copy + akcje + statystyki mieszczą się bez zwiększania hero */
body.clubs-body .clubs-index-page .clubs-hub-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto auto !important;
    grid-template-rows: 22px auto !important;
    align-content: center !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 7px !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero__content {
    display: contents !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-eyebrow {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero h1 {
    grid-column: 1 !important;
    grid-row: 2 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero p {
    display: none !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-hub-actions {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    margin: 0 !important;
}

body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-hub-stats {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    margin: 0 !important;
}


body.clubs-body .clubs-hub-page .clubs-directory-hero {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-rows: 22px auto !important;
    align-content: center !important;
    align-items: center !important;
    column-gap: 28px !important;
    row-gap: 7px !important;
}

body.clubs-body .clubs-hub-page .clubs-directory-hero > .clubs-eyebrow {
    grid-column: 1 !important;
    grid-row: 1 !important;
}
body.clubs-body .clubs-hub-page .clubs-directory-hero > h1 {
    grid-column: 1 !important;
    grid-row: 2 !important;
}
body.clubs-body .clubs-hub-page .clubs-directory-hero > p {
    display: none !important;
}
body.clubs-body .clubs-hub-page .clubs-directory-hero > .clubs-hub-actions {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    margin: 0 !important;
}

/* Panel klubu korzysta z identycznego hero */
.club-admin-page .admin-topbar {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 28px !important;
}
.club-admin-page .admin-topbar > div:first-child {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
}
.club-admin-page .admin-topbar p { display: none !important; }
.club-admin-page .admin-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    margin: 0 !important;
}

/* badge 1:1 z „ROZGRYWKI LOKALNE” */
body.clubs-body .clubs-hub-page .clubs-eyebrow,
.club-admin-page .admin-topbar > div:first-child > span {
    width: auto !important;
    inline-size: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    min-height: 22px !important;
    height: 22px !important;
    max-height: 22px !important;
    margin: 0 0 7px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: flex-start !important;
    color: #d7f3ff !important;
    background: rgba(255,255,255,.10) !important;
    box-shadow: none !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* tytuł 1:1 z ligą */
body.clubs-body .clubs-hub-page .clubs-hub-hero h1,
body.clubs-body .clubs-hub-page .clubs-directory-hero h1,
.club-admin-page .admin-topbar h1 {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: clamp(31px, 2.7vw, 40px) !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
    text-wrap: balance !important;
}

/* akcje hero 1:1 z ligą */
body.clubs-body .clubs-hub-page .clubs-hub-actions,
.club-admin-page .admin-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
}

body.clubs-body .clubs-hub-page .clubs-hub-actions .clubs-btn,
.club-admin-page .admin-actions .clubs-btn {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 15px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.clubs-body .clubs-hub-page .clubs-hub-actions .clubs-btn--ghost,
.club-admin-page .admin-actions .clubs-btn:first-child {
    color: #f5fbff !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    background: rgba(255,255,255,.09) !important;
}

body.clubs-body .clubs-hub-page .clubs-hub-actions .clubs-btn--primary,
.club-admin-page .admin-actions .clubs-btn--primary {
    color: #0f3b73 !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    background: #fff !important;
    box-shadow: 0 9px 22px rgba(3,20,46,.15) !important;
}

/* statystyki w /clubs — minimalistyczne, nie dominują hero */
body.clubs-body .clubs-index-page .clubs-hub-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(56px, 1fr)) !important;
    gap: 7px !important;
}
body.clubs-body .clubs-index-page .clubs-hub-stats > div {
    min-width: 56px !important;
    min-height: 52px !important;
    padding: 7px 9px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
body.clubs-body .clubs-index-page .clubs-hub-stats strong {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
}
body.clubs-body .clubs-index-page .clubs-hub-stats span {
    margin-top: 4px !important;
    color: rgba(234,243,255,.78) !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* ============================================================================
   ZAKŁADKI — jeden styl na każdej stronie Dla klubu
   ============================================================================ */
body.clubs-body .clubs-hub-tabs,
.club-admin-page .admin-club-tabs {
    min-height: 46px !important;
    margin: 0 0 14px !important;
    padding: 5px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    overflow-x: auto !important;
    border: 1px solid var(--club-unified-line) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 6px 18px rgba(15,44,88,.035) !important;
    scrollbar-width: none !important;
}
body.clubs-body .clubs-hub-tabs::-webkit-scrollbar,
.club-admin-page .admin-club-tabs::-webkit-scrollbar { display: none !important; }

body.clubs-body .clubs-hub-tabs a,
.club-admin-page .admin-club-tabs a {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #536177 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
body.clubs-body .clubs-hub-tabs a:hover,
.club-admin-page .admin-club-tabs a:hover {
    color: #174f9b !important;
    background: #f1f6fd !important;
}
body.clubs-body .clubs-hub-tabs a.is-active,
.club-admin-page .admin-club-tabs a.is-active {
    color: #fff !important;
    background: #1769df !important;
    box-shadow: 0 5px 14px rgba(23,105,223,.18) !important;
}

/* ============================================================================
   NAGŁÓWKI SEKCJI / wyszukiwarka — typografia jak toolbar Ligi
   ============================================================================ */
body.clubs-body .clubs-search-panel,
body.clubs-body .clubs-section-head,
body.clubs-body .clubs-results-head {
    border-color: var(--club-unified-line) !important;
    box-shadow: var(--club-unified-soft-shadow) !important;
}

body.clubs-body .clubs-search-panel > div:first-child {
    min-height: 54px !important;
    padding: 10px 13px !important;
    color: #fff !important;
    background: linear-gradient(90deg, #0d2d63 0%, #1759aa 100%) !important;
}
body.clubs-body .clubs-search-panel h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -.018em !important;
}
body.clubs-body .clubs-search-panel p {
    margin: 3px 0 0 !important;
    color: rgba(231,241,255,.86) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    letter-spacing: .006em !important;
}

body.clubs-body .clubs-premium-filter input,
body.clubs-body .clubs-premium-filter select,
body.clubs-body .clubs-premium-filter button,
body.clubs-body .clubs-filter-bar select,
body.clubs-body .clubs-filter-bar .clubs-btn {
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: .006em !important;
}

body.clubs-body .clubs-section-head .clubs-eyebrow,
body.clubs-body .clubs-results-head .clubs-eyebrow {
    width: max-content !important;
    min-height: 20px !important;
    height: 20px !important;
    margin: 0 0 5px !important;
    padding: 0 8px !important;
    border: 1px solid #d7e6f7 !important;
    border-radius: 999px !important;
    color: #1769df !important;
    background: #edf5ff !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}
body.clubs-body .clubs-section-head h2,
body.clubs-body .clubs-results-head h2 {
    margin: 0 !important;
    color: var(--club-unified-ink) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -.018em !important;
}
body.clubs-body .clubs-section-head p,
body.clubs-body .clubs-results-head p {
    margin: 4px 0 0 !important;
    color: var(--club-unified-muted) !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    letter-spacing: .003em !important;
}


body.clubs-body .clubs-feature-grid h2,
body.clubs-body .club-row-link strong,
body.clubs-body .club-premium-card h2 {
    color: var(--club-unified-ink) !important;
    font-weight: 650 !important;
    letter-spacing: -.006em !important;
}
body.clubs-body .clubs-feature-grid p,
body.clubs-body .club-row-link span,
body.clubs-body .club-premium-card__address {
    color: var(--club-unified-muted) !important;
    font-weight: 500 !important;
    letter-spacing: .003em !important;
}

/* Panel klubu — nagłówki i formularze w tym samym rytmie */
.club-admin-page .admin-card-head h2,
.club-admin-page .admin-board-card h2 {
    color: var(--club-unified-ink) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    letter-spacing: -.018em !important;
}
.club-admin-page .admin-form label,
.club-admin-page .admin-form small {
    color: #75839a !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
}

/* ============================================================================
   Responsive — dokładnie ten sam sposób składania co zaakceptowana Liga.
   ============================================================================ */
@media (max-width: 1180px) {
    body.clubs-body .clubs-page,
    .club-admin-page {
        width: min(1120px, calc(100% - 36px)) !important;
    }
    body.clubs-body .clubs-index-page .clubs-hub-hero {
        grid-template-columns: minmax(0,1fr) auto !important;
    }
    body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-hub-actions {
        grid-column: 2 !important;
    }
    body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-hub-stats {
        display: none !important;
    }
}

@media (max-width: 720px) {
    body.clubs-body .clubs-page,
    .club-admin-page {
        width: calc(100% - 20px) !important;
        max-width: none !important;
        padding-top: 12px !important;
        padding-bottom: 40px !important;
    }

    body.clubs-body .clubs-hub-page .clubs-hub-hero,
    body.clubs-body .clubs-hub-page .clubs-directory-hero,
    .club-admin-page .admin-topbar {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 17px !important;
        border-radius: 18px !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-hero,
    body.clubs-body .clubs-hub-page .clubs-directory-hero,
    .club-admin-page .admin-topbar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        align-items: stretch !important;
        gap: 12px !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-hero__content {
        display: contents !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-eyebrow,
    body.clubs-body .clubs-index-page .clubs-hub-hero h1,
    body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-hub-actions,
    body.clubs-body .clubs-index-page .clubs-hub-hero .clubs-hub-stats,
    body.clubs-body .clubs-hub-page .clubs-directory-hero > .clubs-eyebrow,
    body.clubs-body .clubs-hub-page .clubs-directory-hero > h1,
    body.clubs-body .clubs-hub-page .clubs-directory-hero > .clubs-hub-actions {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body.clubs-body .clubs-hub-page .clubs-eyebrow,
    .club-admin-page .admin-topbar > div:first-child > span {
        min-height: 20px !important;
        height: 20px !important;
        max-height: 20px !important;
        padding: 0 8px !important;
        margin-bottom: 6px !important;
        font-size: 6.8px !important;
        letter-spacing: .085em !important;
    }

    body.clubs-body .clubs-hub-page .clubs-hub-hero h1,
    body.clubs-body .clubs-hub-page .clubs-directory-hero h1,
    .club-admin-page .admin-topbar h1 {
        font-size: 28px !important;
        line-height: 1.02 !important;
        letter-spacing: -.018em !important;
        white-space: normal !important;
    }

    body.clubs-body .clubs-hub-page .clubs-hub-actions,
    .club-admin-page .admin-actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 7px !important;
        justify-content: stretch !important;
    }
    body.clubs-body .clubs-hub-page .clubs-hub-actions .clubs-btn,
    .club-admin-page .admin-actions .clubs-btn {
        width: 100% !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 0 9px !important;
        font-size: 9.5px !important;
    }

    body.clubs-body .clubs-index-page .clubs-hub-stats {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0,1fr)) !important;
        gap: 5px !important;
    }
    body.clubs-body .clubs-index-page .clubs-hub-stats > div {
        min-width: 0 !important;
        min-height: 49px !important;
        padding: 7px 5px !important;
        align-items: center !important;
        text-align: center !important;
        border-radius: 10px !important;
    }
    body.clubs-body .clubs-index-page .clubs-hub-stats strong { font-size: 16px !important; }
    body.clubs-body .clubs-index-page .clubs-hub-stats span { font-size: 6px !important; letter-spacing: .04em !important; }

    body.clubs-body .clubs-hub-tabs,
    .club-admin-page .admin-club-tabs {
        min-height: 42px !important;
        margin-bottom: 10px !important;
        padding: 5px !important;
        border-radius: 13px !important;
        gap: 3px !important;
    }
    body.clubs-body .clubs-hub-tabs a,
    .club-admin-page .admin-club-tabs a {
        min-height: 30px !important;
        padding: 0 10px !important;
        border-radius: 9px !important;
        font-size: 8.5px !important;
        font-weight: 600 !important;
    }

    body.clubs-body .clubs-search-panel > div:first-child {
        min-height: 48px !important;
        padding: 9px 11px !important;
    }
    body.clubs-body .clubs-search-panel h2 { font-size: 14px !important; }
    body.clubs-body .clubs-search-panel p { font-size: 8.5px !important; }

    body.clubs-body .clubs-premium-filter input,
    body.clubs-body .clubs-premium-filter select,
    body.clubs-body .clubs-premium-filter button,
    body.clubs-body .clubs-filter-bar select,
    body.clubs-body .clubs-filter-bar .clubs-btn {
        min-height: 38px !important;
        height: 38px !important;
        border-radius: 10px !important;
        font-size: 9px !important;
    }

    body.clubs-body .clubs-section-head h2,
    body.clubs-body .clubs-results-head h2,
    .club-admin-page .admin-card-head h2,
    .club-admin-page .admin-board-card h2 {
        font-size: 15px !important;
    }
    body.clubs-body .clubs-section-head p,
    body.clubs-body .clubs-results-head p { font-size: 8.5px !important; }
}

@media (max-width: 390px) {
    body.clubs-body .clubs-hub-page .clubs-hub-hero h1,
    body.clubs-body .clubs-hub-page .clubs-directory-hero h1,
    .club-admin-page .admin-topbar h1 {
        font-size: 26px !important;
    }
}

/* ============================================================================
   2026-08-25 — usuń dodatkowe jasne tło/gradient wokół hero.
   Hero ma być jedynym elementem z gradientem — tak jak w Lidze.
   ============================================================================ */
body.clubs-body .clubs-page,
body.clubs-body .clubs-hub-page,
body.clubs-body .clubs-index-page,
.club-admin-page {
    background: transparent !important;
    background-image: none !important;
}

body.clubs-body .clubs-page::before,
body.clubs-body .clubs-page::after,
body.clubs-body .clubs-hub-page::before,
body.clubs-body .clubs-hub-page::after,
body.clubs-body .clubs-index-page::before,
body.clubs-body .clubs-index-page::after {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* ============================================================================
   TFP 2026 — FINALNY WSPÓLNY SYSTEM "DLA KLUBU"
   Wzorzec 1:1: hero i typografia z listy Lig.
   Nowe klasy są używane przez PHP, więc stare hero nie konkurują już o style.
   ============================================================================ */

body.clubs-body,
body.clubs-panel-body {
    --tfp-club-ink: #0b1633;
    --tfp-club-muted: #66758f;
    --tfp-club-line: #d9e4f2;
    --tfp-club-blue: #1769df;
    --tfp-club-blue-dark: #0f54ba;
    font-family: var(--tfp-font-sans, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

body.clubs-body .clubs-page,
body.clubs-panel-body .clubs-page {
    width: min(1480px, calc(100% - 48px)) !important;
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding-top: 22px !important;
    background: transparent !important;
    background-image: none !important;
}

/* HERO — dokładnie te same proporcje i typografia co Liga */
body.clubs-body .tfp-club-hero,
body.clubs-panel-body .tfp-club-hero {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    width: 100% !important;
    min-height: 112px !important;
    height: 112px !important;
    margin: 0 0 16px !important;
    padding: 22px 26px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 22px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 90% -20%, rgba(47,196,232,.26), transparent 18rem),
        linear-gradient(135deg, #0b2349 0%, #123d77 62%, #0e789f 100%) !important;
    box-shadow: 0 18px 42px rgba(15,44,88,.14) !important;
}

body.clubs-body .tfp-club-hero::before,
body.clubs-panel-body .tfp-club-hero::before {
    content: "" !important;
    position: absolute !important;
    width: 240px !important;
    height: 240px !important;
    right: -110px !important;
    top: -145px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 36px rgba(255,255,255,.035) !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

body.clubs-body .tfp-club-hero__copy,
body.clubs-panel-body .tfp-club-hero__copy {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

body.clubs-body .tfp-club-hero__eyebrow,
body.clubs-panel-body .tfp-club-hero__eyebrow {
    width: auto !important;
    min-width: 0 !important;
    min-height: 22px !important;
    margin: 0 0 7px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: flex-start !important;
    color: #d7f3ff !important;
    background: rgba(255,255,255,.10) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 8px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    white-space: nowrap !important;
}

body.clubs-body .tfp-club-hero h1,
body.clubs-panel-body .tfp-club-hero h1 {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: clamp(31px, 2.7vw, 40px) !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
}

body.clubs-body .tfp-club-hero__aside,
body.clubs-panel-body .tfp-club-hero__aside {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
}

body.clubs-body .tfp-club-hero__actions,
body.clubs-panel-body .tfp-club-hero__actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    flex: 0 0 auto !important;
}

body.clubs-body .tfp-club-hero__ghost,
body.clubs-body .tfp-club-hero__primary,
body.clubs-panel-body .tfp-club-hero__ghost,
body.clubs-panel-body .tfp-club-hero__primary {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 15px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    letter-spacing: .01em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

body.clubs-body .tfp-club-hero__ghost,
body.clubs-panel-body .tfp-club-hero__ghost {
    color: #f5fbff !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    background: rgba(255,255,255,.09) !important;
}

body.clubs-body .tfp-club-hero__primary,
body.clubs-panel-body .tfp-club-hero__primary {
    color: #10264b !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(3,25,61,.12) !important;
}

body.clubs-body .tfp-club-hero__ghost:hover,
body.clubs-body .tfp-club-hero__primary:hover,
body.clubs-panel-body .tfp-club-hero__ghost:hover,
body.clubs-panel-body .tfp-club-hero__primary:hover {
    transform: translateY(-1px) !important;
}

body.clubs-body .tfp-club-hero__stats,
body.clubs-panel-body .tfp-club-hero__stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(72px, 1fr)) !important;
    gap: 7px !important;
}

body.clubs-body .tfp-club-hero__stats > div,
body.clubs-panel-body .tfp-club-hero__stats > div {
    min-width: 72px !important;
    min-height: 52px !important;
    padding: 8px 11px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 12px !important;
    display: grid !important;
    align-content: center !important;
    background: rgba(255,255,255,.08) !important;
    box-shadow: none !important;
}

body.clubs-body .tfp-club-hero__stats strong,
body.clubs-panel-body .tfp-club-hero__stats strong {
    margin: 0 !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
}

body.clubs-body .tfp-club-hero__stats span,
body.clubs-panel-body .tfp-club-hero__stats span {
    margin-top: 5px !important;
    color: rgba(225,241,255,.75) !important;
    font-family: inherit !important;
    font-size: 7px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* JEDEN pasek zakładek na wszystkich podstronach */
body.clubs-body .tfp-club-tabs,
body.clubs-panel-body .tfp-club-tabs {
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 0 12px !important;
    padding: 5px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    overflow-x: auto !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 6px 18px rgba(15,44,88,.035) !important;
    scrollbar-width: none !important;
}

body.clubs-body .tfp-club-tabs::-webkit-scrollbar,
body.clubs-panel-body .tfp-club-tabs::-webkit-scrollbar { display: none !important; }

body.clubs-body .tfp-club-tabs a,
body.clubs-panel-body .tfp-club-tabs a {
    min-height: 34px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #40516d !important;
    background: transparent !important;
    font-family: inherit !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 650 !important;
    letter-spacing: .005em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.clubs-body .tfp-club-tabs a:hover,
body.clubs-panel-body .tfp-club-tabs a:hover {
    color: #0f58bd !important;
    background: #eef6ff !important;
}

body.clubs-body .tfp-club-tabs a.is-active,
body.clubs-panel-body .tfp-club-tabs a.is-active {
    color: #fff !important;
    background: linear-gradient(135deg, #1769df, #139dd3) !important;
    box-shadow: 0 5px 13px rgba(23,105,223,.18) !important;
}

/* Typografia całej strefy — jedna rodzina i jeden rytm */
body.clubs-body .clubs-page :is(h2,h3,strong,button,input,select,textarea,a,label,p,span),
body.clubs-panel-body .clubs-page :is(h2,h3,strong,button,input,select,textarea,a,label,p,span) {
    font-family: inherit;
}

body.clubs-body .clubs-section-head h2,
body.clubs-body .clubs-results-head h2,
body.clubs-body .clubs-feature-grid h2,
body.clubs-body .clubs-search-panel h2,
body.clubs-panel-body .admin-card-head h2,
body.clubs-panel-body .admin-board-card h2 {
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
}

body.clubs-body .clubs-section-head p,
body.clubs-body .clubs-results-head p,
body.clubs-body .clubs-feature-grid p{
    font-weight: 500 !important;
    letter-spacing: .004em !important;
}

/* Panel: wewnętrzne zakładki klubów też w tej samej typografii */
body.clubs-panel-body .admin-club-tabs a {
    font-family: inherit !important;
    font-weight: 650 !important;
    letter-spacing: .005em !important;
}

@media (max-width: 1180px) {
    body.clubs-body .clubs-page,
    body.clubs-panel-body .clubs-page {
        width: min(1120px, calc(100% - 36px)) !important;
    }
    body.clubs-body .tfp-club-hero__stats,
    body.clubs-panel-body .tfp-club-hero__stats {
        grid-template-columns: repeat(4, minmax(60px,1fr)) !important;
    }
    body.clubs-body .tfp-club-hero__stats > div,
    body.clubs-panel-body .tfp-club-hero__stats > div {
        min-width: 60px !important;
        padding-inline: 8px !important;
    }
}

@media (max-width: 900px) {
    body.clubs-body .tfp-club-hero,
    body.clubs-panel-body .tfp-club-hero {
        height: auto !important;
        min-height: 112px !important;
    }
    body.clubs-body .tfp-club-hero__aside,
    body.clubs-panel-body .tfp-club-hero__aside {
        flex-direction: column-reverse !important;
        align-items: flex-end !important;
        gap: 8px !important;
    }
    body.clubs-body .tfp-club-hero__stats,
    body.clubs-panel-body .tfp-club-hero__stats {
        display: none !important;
    }
}

@media (max-width: 720px) {
    body.clubs-body .clubs-page,
    body.clubs-panel-body .clubs-page {
        width: calc(100% - 20px) !important;
        max-width: none !important;
        padding-top: 12px !important;
        padding-bottom: 38px !important;
    }

    body.clubs-body .tfp-club-hero,
    body.clubs-panel-body .tfp-club-hero {
        min-height: 0 !important;
        height: auto !important;
        padding: 17px !important;
        margin-bottom: 12px !important;
        border-radius: 18px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    body.clubs-body .tfp-club-hero h1,
    body.clubs-panel-body .tfp-club-hero h1 {
        font-size: 28px !important;
        line-height: 1.02 !important;
        letter-spacing: -.018em !important;
        white-space: normal !important;
    }

    body.clubs-body .tfp-club-hero__eyebrow,
    body.clubs-panel-body .tfp-club-hero__eyebrow {
        min-height: 20px !important;
        padding: 0 8px !important;
        margin-bottom: 6px !important;
        font-size: 6.8px !important;
        letter-spacing: .085em !important;
    }

    body.clubs-body .tfp-club-hero__actions,
    body.clubs-panel-body .tfp-club-hero__actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 7px !important;
    }

    body.clubs-body .tfp-club-hero__ghost,
    body.clubs-body .tfp-club-hero__primary,
    body.clubs-panel-body .tfp-club-hero__ghost,
    body.clubs-panel-body .tfp-club-hero__primary {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 0 9px !important;
        font-size: 9.5px !important;
    }

    body.clubs-body .tfp-club-tabs,
    body.clubs-panel-body .tfp-club-tabs {
        min-height: 42px !important;
        margin-bottom: 10px !important;
        padding: 5px !important;
        border-radius: 13px !important;
        gap: 3px !important;
    }

    body.clubs-body .tfp-club-tabs a,
    body.clubs-panel-body .tfp-club-tabs a {
        min-height: 30px !important;
        padding: 0 10px !important;
        border-radius: 9px !important;
        font-size: 8.5px !important;
        font-weight: 600 !important;
    }
}

@media (max-width: 390px) {
    body.clubs-body .tfp-club-hero h1,
    body.clubs-panel-body .tfp-club-hero h1 {
        font-size: 26px !important;
    }
}

/* ============================================================================
   CLUB CREATOR PRO 2026 — nowy ekran dodawania klubu
   Cel: szerszy formularz, brak obcinania cennika, czytelne sekcje i live preview.
   ============================================================================ */
body.clubs-panel-body .club-create-layout {
    grid-template-columns: minmax(620px, 1.12fr) minmax(430px, .88fr) !important;
    gap: 20px !important;
    align-items: start !important;
}

body.clubs-panel-body .club-create-form-card {
    position: relative !important;
    top: auto !important;
    overflow: visible !important;
    padding: 22px !important;
    border-radius: 22px !important;
    border-color: #dbe6f4 !important;
    box-shadow: 0 18px 46px rgba(15, 44, 88, .07) !important;
}

body.clubs-panel-body .club-create-preview-card {
    position: sticky !important;
    top: 86px !important;
    min-height: 0 !important;
    padding: 20px !important;
    border-radius: 22px !important;
    overflow: visible !important;
    border-color: #dbe6f4 !important;
    box-shadow: 0 18px 46px rgba(15, 44, 88, .07) !important;
}

body.clubs-panel-body .club-create-form-card > .admin-card-head {
    margin: 0 0 16px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #e5edf7 !important;
}

body.clubs-panel-body .club-create-form-card > .admin-card-head h2 {
    font-size: 22px !important;
    line-height: 1.05 !important;
    font-weight: 750 !important;
    letter-spacing: -.025em !important;
}

body.clubs-panel-body .club-admin-form {
    gap: 0 !important;
}

body.clubs-panel-body .club-form-section {
    margin: 0 !important;
    padding: 17px 0 !important;
    border-top: 1px solid #e8eef6 !important;
}

body.clubs-panel-body .club-form-section:first-of-type {
    padding-top: 2px !important;
    border-top: 0 !important;
}

body.clubs-panel-body .club-form-section__head {
    display: grid !important;
    grid-template-columns: 30px minmax(0,1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 0 0 12px !important;
}

body.clubs-panel-body .club-form-section__number {
    width: 28px !important;
    height: 28px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 9px !important;
    color: #1266f1 !important;
    background: #edf5ff !important;
    border: 1px solid #d8e8ff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

body.clubs-panel-body .club-form-section__head h3 {
    margin: 0 !important;
    color: #0b1d3c !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    letter-spacing: -.015em !important;
}

body.clubs-panel-body .club-form-section__head p {
    margin: 3px 0 0 !important;
    color: #7a879c !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    font-weight: 550 !important;
}

body.clubs-panel-body .club-form-section__body {
    display: grid !important;
    gap: 10px !important;
    min-width: 0 !important;
}

body.clubs-panel-body .club-admin-form label,
body.clubs-panel-body .club-admin-form .admin-form-grid > * {
    min-width: 0 !important;
}

body.clubs-panel-body .club-admin-form label {
    color: #42516b !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
}

body.clubs-panel-body .club-admin-form input,
body.clubs-panel-body .club-admin-form select,
body.clubs-panel-body .club-admin-form textarea {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid #d8e3f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0b1d3c !important;
    box-shadow: 0 1px 2px rgba(15, 44, 88, .025) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    outline: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

body.clubs-panel-body .club-admin-form input,
body.clubs-panel-body .club-admin-form select {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 11px !important;
}

body.clubs-panel-body .club-admin-form textarea {
    min-height: 82px !important;
    padding: 10px 11px !important;
}

body.clubs-panel-body .club-admin-form input:focus,
body.clubs-panel-body .club-admin-form select:focus,
body.clubs-panel-body .club-admin-form textarea:focus {
    border-color: #6faaf7 !important;
    box-shadow: 0 0 0 3px rgba(23,105,223,.10) !important;
    background: #fff !important;
}

body.clubs-panel-body .club-admin-form input::placeholder,
body.clubs-panel-body .club-admin-form textarea::placeholder {
    color: #a3aec0 !important;
    font-weight: 500 !important;
}

body.clubs-panel-body .club-admin-form .admin-form-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
}

body.clubs-panel-body .club-input-suffix {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    min-width: 0 !important;
    border: 1px solid #d8e3f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    overflow: hidden !important;
}

body.clubs-panel-body .club-input-suffix:focus-within {
    border-color: #6faaf7 !important;
    box-shadow: 0 0 0 3px rgba(23,105,223,.10) !important;
}

body.clubs-panel-body .club-input-suffix input {
    min-width: 0 !important;
    width: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

body.clubs-panel-body .club-input-suffix > span {
    min-width: 40px !important;
    padding: 0 10px !important;
    color: #738198 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-align: center !important;
    border-left: 1px solid #e5ebf3 !important;
}

body.clubs-panel-body .club-price-defaults {
    margin-bottom: 2px !important;
}

body.clubs-panel-body .club-admin-form .price-rules-box {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow: visible !important;
    border: 1px solid #e0e8f2 !important;
    border-radius: 14px !important;
    background: #f9fbfe !important;
}

body.clubs-panel-body .club-admin-form .price-rules-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 10px !important;
}

body.clubs-panel-body .club-admin-form .price-rules-head > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

body.clubs-panel-body .club-admin-form .price-rules-head strong {
    color: #243654 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

body.clubs-panel-body .club-admin-form .price-rules-head small {
    color: #8390a4 !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

body.clubs-panel-body .club-admin-form .price-rule-add {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 10px !important;
    border: 1px solid #cfe1f8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #1769df !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}

body.clubs-panel-body .club-admin-form .price-rules-list {
    min-width: 0 !important;
    width: 100% !important;
    gap: 8px !important;
}

body.clubs-panel-body .club-admin-form .price-rule-row {
    display: grid !important;
    grid-template-columns: minmax(0,1.15fr) minmax(0,.78fr) minmax(0,.78fr) minmax(0,1fr) 34px !important;
    gap: 7px !important;
    align-items: end !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 9px !important;
    border: 1px solid #e2e9f2 !important;
    border-radius: 12px !important;
    background: #fff !important;
    overflow: hidden !important;
}

body.clubs-panel-body .club-admin-form .price-rule-row > *,
body.clubs-panel-body .club-admin-form .price-rule-row label,
body.clubs-panel-body .club-admin-form .price-rule-row input,
body.clubs-panel-body .club-admin-form .price-rule-row select {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.clubs-panel-body .club-admin-form input[name="base_price"],
body.clubs-panel-body .club-admin-form input[name="lighting_price"],
body.clubs-panel-body .club-admin-form input[name="price_amount[]"] {
    min-width: 0 !important;
    width: 100% !important;
    height: 38px !important;
    text-align: left !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}

body.clubs-panel-body .club-admin-form .club-input-suffix--compact,
body.clubs-panel-body .club-admin-form .club-input-suffix--compact input {
    height: 38px !important;
    min-height: 38px !important;
}

body.clubs-panel-body .club-admin-form .price-rule-remove {
    width: 34px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 9px !important;
    background: #fff3f4 !important;
    color: #e3505f !important;
    font-size: 17px !important;
    box-shadow: none !important;
}

body.clubs-panel-body .club-admin-form .court-features-box {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

body.clubs-panel-body .club-admin-form .court-features-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
}

body.clubs-panel-body .club-admin-form .feature-check {
    position: relative !important;
    min-height: 46px !important;
    padding: 10px 11px !important;
    border: 1px solid #dce5f0 !important;
    border-radius: 11px !important;
    background: #fafcff !important;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease !important;
}

body.clubs-panel-body .club-admin-form .feature-check:has(input:checked) {
    border-color: #8bbaf8 !important;
    background: #edf6ff !important;
    box-shadow: inset 0 0 0 1px rgba(23,105,223,.04) !important;
}

body.clubs-panel-body .club-admin-form .feature-check input {
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    accent-color: #1769df !important;
}

body.clubs-panel-body .club-admin-form .feature-check span {
    color: #263b5d !important;
    font-size: 10.5px !important;
    font-weight: 650 !important;
}

body.clubs-panel-body .club-admin-form label > small {
    margin-top: -1px !important;
    color: #8a96a8 !important;
    font-size: 8.5px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

body.clubs-panel-body .club-confirmation-check {
    align-items: flex-start !important;
    padding: 11px 12px !important;
    border: 1px solid #dbe8f7 !important;
    background: #f5f9ff !important;
}

body.clubs-panel-body .club-confirmation-check > span {
    display: grid !important;
    gap: 2px !important;
}

body.clubs-panel-body .club-confirmation-check strong {
    color: #29405f !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

body.clubs-panel-body .club-confirmation-check small {
    color: #8290a4 !important;
    font-size: 8.5px !important;
    font-weight: 500 !important;
}

body.clubs-panel-body .club-form-actions {
    display: grid !important;
    grid-template-columns: auto minmax(180px, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    padding-top: 16px !important;
    border-top: 1px solid #e8eef6 !important;
}

body.clubs-panel-body .club-form-actions .clubs-btn {
    min-height: 42px !important;
    height: 42px !important;
    border-radius: 11px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
}

body.clubs-panel-body .club-form-cancel {
    border: 1px solid #dbe5f0 !important;
    background: #fff !important;
    color: #5f6f86 !important;
    box-shadow: none !important;
}

body.clubs-panel-body .club-form-submit {
    background: linear-gradient(135deg, #1769df, #11a6db) !important;
    box-shadow: 0 10px 22px rgba(23,105,223,.18) !important;
}

/* Live preview */
body.clubs-panel-body .club-create-preview-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
}

body.clubs-panel-body .club-create-preview-head > div > span {
    display: block !important;
    margin-bottom: 4px !important;
    color: #1769df !important;
    font-size: 8px !important;
    font-weight: 750 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

body.clubs-panel-body .club-create-preview-head h2 {
    margin: 0 !important;
    color: #0b1d3c !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
    letter-spacing: -.02em !important;
}

body.clubs-panel-body .club-create-preview-head p {
    margin: 4px 0 0 !important;
    color: #7a879b !important;
    font-size: 9.5px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
}

body.clubs-panel-body .club-preview-live {
    min-height: 24px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    border: 1px solid #dbe9f8 !important;
    border-radius: 999px !important;
    color: #4d6685 !important;
    background: #f7fbff !important;
    font-size: 7.5px !important;
    font-weight: 750 !important;
    letter-spacing: .08em !important;
}

body.clubs-panel-body .club-preview-live i {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #18b879 !important;
    box-shadow: 0 0 0 3px rgba(24,184,121,.12) !important;
}

body.clubs-panel-body .club-preview-public-card {
    overflow: hidden !important;
    border: 1px solid #dce7f3 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(15,44,88,.07) !important;
}

body.clubs-panel-body .club-preview-cover {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    height: 94px !important;
    padding: 13px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 78% 24%, rgba(255,255,255,.25), transparent 24%),
        linear-gradient(135deg, #4a91ef, #91bff7) !important;
}

body.clubs-panel-body .club-preview-cover > span {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex !important;
    min-height: 22px !important;
    align-items: center !important;
    padding: 0 8px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 999px !important;
    background: rgba(12,57,116,.15) !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body.clubs-panel-body .club-preview-court-lines {
    position: absolute !important;
    inset: 17px 42px -48px 42px !important;
    border: 2px solid rgba(255,255,255,.18) !important;
    border-radius: 5px !important;
    transform: perspective(180px) rotateX(56deg) !important;
}

body.clubs-panel-body .club-preview-court-lines::before,
body.clubs-panel-body .club-preview-court-lines::after {
    content: "" !important;
    position: absolute !important;
    background: rgba(255,255,255,.16) !important;
}

body.clubs-panel-body .club-preview-court-lines::before { left: 50% !important; top: 0 !important; bottom: 0 !important; width: 2px !important; }
body.clubs-panel-body .club-preview-court-lines::after { left: 0 !important; right: 0 !important; top: 50% !important; height: 2px !important; }

body.clubs-panel-body .club-preview-public-main {
    position: relative !important;
    padding: 18px 16px 15px !important;
}

body.clubs-panel-body .club-preview-avatar {
    position: absolute !important;
    left: 16px !important;
    top: -30px !important;
    width: 58px !important;
    height: 58px !important;
    display: grid !important;
    place-items: center !important;
    border: 5px solid #fff !important;
    border-radius: 50% !important;
    color: #6a7e9c !important;
    background: #f4f8fc !important;
    box-shadow: 0 6px 16px rgba(15,44,88,.10) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

body.clubs-panel-body .club-preview-title-row {
    min-height: 42px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding-left: 68px !important;
    margin-bottom: 13px !important;
}

body.clubs-panel-body .club-preview-title-row h3 {
    margin: 0 !important;
    color: #10213e !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
    letter-spacing: -.015em !important;
}

body.clubs-panel-body .club-preview-title-row p {
    margin: 4px 0 0 !important;
    color: #8290a4 !important;
    font-size: 8.5px !important;
    font-weight: 550 !important;
}

body.clubs-panel-body .club-preview-title-row p > span:first-child {
    color: #4e93ed !important;
    font-size: 6px !important;
    vertical-align: middle !important;
}

body.clubs-panel-body .club-preview-ready {
    flex: 0 0 auto !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 999px !important;
    color: #0e7a56 !important;
    background: #ebfaf4 !important;
    border: 1px solid #ccefe2 !important;
    font-size: 7.5px !important;
    font-weight: 700 !important;
}

body.clubs-panel-body .club-preview-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 7px !important;
}

body.clubs-panel-body .club-preview-stats > div {
    min-width: 0 !important;
    min-height: 62px !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 7px !important;
    align-items: center !important;
    border: 1px solid #e1e9f3 !important;
    border-radius: 11px !important;
    background: #f8fbff !important;
}

body.clubs-panel-body .club-preview-stat__icon {
    grid-row: 1 / span 2 !important;
    width: 25px !important;
    height: 25px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    color: #1769df !important;
    background: #eaf3ff !important;
    font-size: 12px !important;
}

body.clubs-panel-body .club-preview-stats strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #173156 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
}

body.clubs-panel-body .club-preview-stats small {
    color: #8996a9 !important;
    font-size: 6.7px !important;
    line-height: 1.1 !important;
    font-weight: 550 !important;
}

body.clubs-panel-body .club-create-preview-placeholder {
    min-height: 104px !important;
    margin-top: 12px !important;
    padding: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border: 1px solid #e0e8f2 !important;
    border-radius: 15px !important;
    background: #fff !important;
}

body.clubs-panel-body .club-create-preview-placeholder > div {
    min-width: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

body.clubs-panel-body .club-preview-placeholder-icon {
    flex: 0 0 auto !important;
    width: 30px !important;
    height: 30px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 9px !important;
    color: #1769df !important;
    background: #edf5ff !important;
    font-size: 13px !important;
}

body.clubs-panel-body .club-create-preview-placeholder h3 {
    margin: 1px 0 4px !important;
    color: #223653 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

body.clubs-panel-body .club-create-preview-placeholder p {
    max-width: 270px !important;
    margin: 0 !important;
    color: #8692a4 !important;
    font-size: 8.5px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

body.clubs-panel-body .club-preview-placeholder-art {
    flex: 0 0 auto !important;
    color: #e1e7ef !important;
    font-size: 46px !important;
    line-height: 1 !important;
}

body.clubs-panel-body .club-create-next-card {
    margin-top: 12px !important;
    padding: 13px 14px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    border: 1px solid #cfe2f8 !important;
    border-radius: 14px !important;
    background: #f3f8ff !important;
}

body.clubs-panel-body .club-create-next-card__icon {
    flex: 0 0 auto !important;
    width: 25px !important;
    height: 25px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #8bb9f3 !important;
    border-radius: 50% !important;
    color: #1769df !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.clubs-panel-body .club-create-next-card strong {
    display: block !important;
    margin: 1px 0 3px !important;
    color: #29405e !important;
    font-size: 10px !important;
    font-weight: 750 !important;
}

body.clubs-panel-body .club-create-next-card p {
    margin: 0 !important;
    color: #74839a !important;
    font-size: 8.5px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

/* Globalny fix obcinanego pola cennika także w edycji istniejącego klubu. */
body.clubs-panel-body .price-rule-row,
body.clubs-panel-body .price-rule-row > *,
body.clubs-panel-body .price-rule-row label,
body.clubs-panel-body .price-rule-row input,
body.clubs-panel-body .price-rule-row select {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.clubs-panel-body input[name="price_amount[]"] {
    min-width: 0 !important;
    width: 100% !important;
}

@media (max-width: 1220px) {
    body.clubs-panel-body .club-create-layout {
        grid-template-columns: minmax(540px,1.08fr) minmax(380px,.92fr) !important;
        gap: 16px !important;
    }
    body.clubs-panel-body .club-preview-stats {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

@media (max-width: 1020px) {
    body.clubs-panel-body .club-create-layout {
        grid-template-columns: 1fr !important;
    }
    body.clubs-panel-body .club-create-preview-card {
        position: relative !important;
        top: auto !important;
    }
}

@media (max-width: 720px) {
    body.clubs-panel-body .club-create-form-card,
    body.clubs-panel-body .club-create-preview-card {
        padding: 14px !important;
        border-radius: 16px !important;
    }
    body.clubs-panel-body .club-form-section {
        padding: 14px 0 !important;
    }
    body.clubs-panel-body .club-form-section__head {
        grid-template-columns: 27px minmax(0,1fr) !important;
        gap: 8px !important;
    }
    body.clubs-panel-body .club-form-section__number {
        width: 26px !important;
        height: 26px !important;
    }
    body.clubs-panel-body .club-admin-form .admin-form-grid,
    body.clubs-panel-body .club-admin-form .court-features-grid {
        grid-template-columns: 1fr !important;
    }
    body.clubs-panel-body .club-admin-form .price-rules-head {
        display: grid !important;
    }
    body.clubs-panel-body .club-admin-form .price-rule-add {
        width: 100% !important;
    }
    body.clubs-panel-body .club-admin-form .price-rule-row {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 8px !important;
        overflow: visible !important;
    }
    body.clubs-panel-body .club-admin-form .price-rule-row label:first-child,
    body.clubs-panel-body .club-admin-form .price-rule-row label:last-of-type {
        grid-column: 1 / -1 !important;
    }
    body.clubs-panel-body .club-admin-form .price-rule-remove {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
    body.clubs-panel-body .club-form-actions {
        grid-template-columns: 1fr !important;
    }
    body.clubs-panel-body .club-form-submit { order: -1 !important; }
    body.clubs-panel-body .club-preview-title-row {
        display: grid !important;
        padding-left: 64px !important;
    }
    body.clubs-panel-body .club-preview-ready { width: max-content !important; }
    body.clubs-panel-body .club-preview-stats {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
    body.clubs-panel-body .club-preview-placeholder-art { display: none !important; }
}

@media (max-width: 390px) {
    body.clubs-panel-body .club-preview-stats {
        grid-template-columns: 1fr !important;
    }
}
body.clubs-panel-body .club-create-form-intro {
    max-width: 520px !important;
    margin: 5px 0 0 !important;
    color: #7a879a !important;
    font-size: 9.5px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

/* MOBILE FIX — compact court types in 2 columns */
@media (max-width: 720px) {
    body.clubs-panel-body .club-admin-form .court-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body.clubs-panel-body .club-admin-form .feature-check {
        min-height: 48px !important;
        padding: 9px 10px !important;
        align-items: center !important;
    }

    body.clubs-panel-body .club-admin-form .feature-check span {
        font-size: 10px !important;
        line-height: 1.25 !important;
    }
}
