/* Stowarzyszenie – Członkowie: część publiczna */
.scz {
	--scz-ink: #3F4E27;
	--scz-bg: #edebe8;
	--scz-card: #f7f6f4;
	--scz-line: #e2dfdb;
	--scz-muted: #8b8c99;
	--scz-soft: #fff0b3;
	--scz-grad: #FFC900;
	--scz-accent: #FFC900;
	--scz-radius: 28px;
	max-width: 1120px;
	margin: 0 auto;
	font-family: "Poppins", "Outfit", "Segoe UI", system-ui, -apple-system, sans-serif;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--scz-ink);
}
.scz *, .scz *::before, .scz *::after { box-sizing: border-box; }
.scz h3 { margin: 0 0 14px; font-size: 1.1em; font-weight: 600; color: var(--scz-ink); }
.scz a { color: var(--scz-ink); }

/* --- Formularze (rejestracja, logowanie) --- */
.scz-form-wrap {
	max-width: 680px;
	padding: 36px;
	border-radius: var(--scz-radius);
	background: var(--scz-bg);
}
.scz-form-wrap--narrow { max-width: 480px; }
.scz-form--narrow { max-width: 460px; }
.scz-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }

.scz-field { margin: 0 0 18px; }
.scz-field label { display: block; margin-bottom: 6px; font-size: 0.9em; font-weight: 600; }
.scz-field input[type="text"],
.scz-field input[type="email"],
.scz-field input[type="password"],
.scz-field input[type="file"],
.scz-field textarea {
	display: block;
	width: 100%;
	padding: 12px 18px;
	border: 1px solid transparent;
	border-radius: 16px;
	background: #fff;
	color: var(--scz-ink);
	font: inherit;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.04);
}
.scz-field input:focus, .scz-field textarea:focus {
	outline: 2px solid var(--scz-ink);
	outline-offset: 1px;
}
.scz-check label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.scz-check input { margin-top: 5px; flex: none; accent-color: var(--scz-ink); }
.scz-hint { display: block; margin-top: 6px; font-size: 0.85em; color: var(--scz-muted); }
.scz-req { color: #b42318; }
.scz-optional { font-weight: 400; color: var(--scz-muted); }
.scz-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.scz-actions { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; margin: 8px 0 0; }
.scz-btn {
	display: inline-block;
	padding: 11px 24px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--scz-ink) !important;
	font: inherit;
	font-size: 0.9em;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.06);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.scz-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(63, 78, 39, 0.12); }
.scz-btn--primary { background: var(--scz-ink); color: #fff !important; }
.scz-btn--danger { background: var(--scz-grad); color: #fff !important; }
.scz-btn--light { background: rgba(255, 255, 255, 0.22); color: #fff !important; box-shadow: none; }

.scz-alert { margin: 0 0 20px; padding: 14px 20px; border-radius: 18px; font-size: 0.95em; }
.scz-alert ul { margin: 0; padding-left: 18px; }
.scz-alert--error { background: #fde3e1; color: #8a1f2b; }
.scz-alert--success { background: #dff5e7; color: #0b5a34; }
.scz-alert--info { background: #fff; color: var(--scz-ink); }

.scz-badge {
	display: inline-block;
	padding: 3px 11px;
	border-radius: 999px;
	background: #e4e2de;
	color: #4a4c5e;
	font-size: 0.78em;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}
.scz-badge--ok { background: #d9f2e3; color: #11703f; }
.scz-badge--warn { background: #fdecc8; color: #8f4a0c; }
.scz-badge--bad { background: #fbd9d6; color: #9c2330; }
.scz-badge--info { background: var(--scz-soft); color: #5c4a00; }
.scz-badge--muted { background: #e4e2de; color: #5c5e70; }

/* --- Panel członka: układ --- */
.scz-app {
	container-type: inline-size;
	display: block;
	border-radius: 36px;
	background: var(--scz-bg);
	box-shadow: 0 30px 60px -30px rgba(63, 78, 39, 0.35);
	overflow: hidden;
}
.scz-app__in { display: flex; min-height: 620px; }

.scz-side {
	flex: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 232px;
	padding: 28px 16px 24px;
	background: var(--scz-ink);
}
.scz-side__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 0 24px 10px;
	border-radius: 14px;
	background: var(--scz-grad);
	color: #fff;
	font-size: 18.5px;
	font-weight: 700;
}
.scz-side__brand { display: block; width: 100%; max-width: 128px; height: auto; margin: -6px auto 14px; align-self: center; border: 0; border-radius: 0; box-shadow: none; }
.scz-side__nav { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.scz-side__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 14px;
	border-radius: 999px;
	color: #d3dac4 !important;
	font-size: 0.9em;
	font-weight: 500;
	text-decoration: none !important;
	white-space: nowrap;
}
.scz-side__link svg { flex: none; width: 20px; height: 20px; }
.scz-side__link:hover { color: #fff !important; background: rgba(255, 255, 255, 0.08); }
.scz-side__link.is-active { background: #FFC900; color: #fff !important; }
.scz-side__text { flex: 1; overflow: hidden; text-overflow: ellipsis; }
.scz-count {
	flex: none;
	min-width: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: #f04b4b;
	color: #fff;
	font-size: 10.5px;
	font-weight: 600;
	line-height: 20px;
	text-align: center;
}

.scz-main { flex: 1; min-width: 0; padding: 32px 36px 36px; }
.scz-top { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.scz-top__title { margin: 0 !important; padding: 0; font-size: 2em; font-weight: 600; line-height: 1.15; color: var(--scz-ink); }
.scz-top__user { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.scz-chip {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--scz-card);
	font-size: 0.85em;
	font-weight: 500;
}

/* Karty */
.scz-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 20px; margin-bottom: 20px; }
.scz-card {
	margin: 0 0 20px;
	padding: 26px 28px;
	border-radius: var(--scz-radius);
	background: var(--scz-card);
}
.scz-grid > .scz-card { margin: 0; }
.scz-card__title { font-size: 1em; font-weight: 500; }
.scz-card__big { margin: 8px 0 4px; font-size: 2.1em; font-weight: 600; line-height: 1.15; overflow-wrap: anywhere; }
.scz-card__muted { margin: 0 0 16px; color: var(--scz-muted); font-size: 0.9em; }

.scz-hero {
	display: flex;
	flex-direction: column;
	padding: 30px 32px;
	border-radius: 32px;
	background: var(--scz-grad);
	color: #fff;
	box-shadow: 0 24px 40px -22px rgba(63, 78, 39, 0.75);
}
.scz-hero__label { font-size: 1em; font-weight: 500; opacity: 0.95; }
.scz-hero__value { margin: 8px 0 6px; font-size: 2.5em; font-weight: 700; line-height: 1.1; letter-spacing: 0.01em; }
.scz-hero__text { margin: 0 0 22px; font-size: 0.9em; opacity: 0.95; }
.scz-hero__stats { display: flex; flex-wrap: wrap; gap: 12px 0; margin-top: auto; }
.scz-hero__stats > div { flex: 1 1 auto; padding: 0 12px; border-left: 1px dashed rgba(255, 255, 255, 0.55); }
.scz-hero__stats > div:first-child { padding-left: 0; border-left: 0; }
.scz-hero__stats span { display: block; font-size: 0.78em; opacity: 0.9; white-space: nowrap; }
.scz-hero__stats strong { display: block; margin-top: 4px; font-size: 1.05em; font-weight: 700; white-space: nowrap; }

.scz-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
.scz-tile {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 10px 20px 10px 10px;
	border-radius: var(--scz-radius);
	background: var(--scz-card);
	color: var(--scz-ink) !important;
	text-decoration: none !important;
	transition: transform 0.12s ease;
}
.scz-tile:hover { transform: translateY(-2px); }
.scz-tile__num {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 22px;
	background: var(--scz-soft);
	font-size: 1.5em;
	font-weight: 600;
}
.scz-tile__num svg { width: 26px; height: 26px; }
.scz-tile__label { font-weight: 500; line-height: 1.3; }
.scz-tile--dark { background: var(--scz-ink); color: #fff !important; }
.scz-tile--dark .scz-tile__num { background: var(--scz-grad); color: #fff; }

.scz-dl { display: grid; grid-template-columns: minmax(120px, 200px) 1fr; gap: 10px 16px; margin: 0; }
.scz-dl dt { color: var(--scz-muted); font-size: 0.9em; }
.scz-dl dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }

.scz-pdf { display: block; width: 100%; height: 70vh; min-height: 420px; border: 0; border-radius: 18px; background: #fff; }

/* Listy (wiadomości, rozmowy) */
.scz-list { display: flex; flex-direction: column; gap: 10px; margin: 0 0 28px; padding: 0; list-style: none; }
.scz-list__item { margin: 0; }
.scz-list__item a {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	align-items: center;
	justify-content: space-between;
	padding: 16px 22px;
	border-radius: 20px;
	color: var(--scz-ink) !important;
	text-decoration: none !important;
	transition: background 0.12s ease;
}
.scz-list__item a:hover, .scz-list__item.is-unread a { background: var(--scz-card); }
.scz-list__title { font-weight: 500; }
.scz-list__item.is-unread .scz-list__title { font-weight: 700; }
.scz-list__meta { color: var(--scz-muted); font-size: 0.85em; white-space: nowrap; }
.scz-empty { color: var(--scz-muted); }
.scz-back { display: inline-block; margin-bottom: 16px; font-size: 0.9em; font-weight: 500; color: var(--scz-muted) !important; text-decoration: none !important; }
.scz-back:hover { color: var(--scz-ink) !important; }

.scz-message__date { margin-bottom: 14px; color: var(--scz-muted); font-size: 0.85em; }
.scz-message__body { overflow-wrap: anywhere; }

.scz-thread { display: flex; flex-direction: column; gap: 10px; margin: 0 0 24px; }
.scz-msg { max-width: 85%; padding: 12px 18px; border-radius: 20px; }
.scz-msg--theirs { align-self: flex-start; background: var(--scz-card); border-bottom-left-radius: 6px; }
.scz-msg--mine { align-self: flex-end; background: var(--scz-ink); color: #fff; border-bottom-right-radius: 6px; }
.scz-msg__meta { margin-bottom: 4px; font-size: 0.78em; opacity: 0.7; }
.scz-msg__body { overflow-wrap: anywhere; }

.scz-danger { background: #fbe4e1; }
.scz-danger h3 { color: #9c2330; }

/* --- Wąskie kontenery i telefony --- */
@container (max-width: 860px) {
	.scz-app__in { flex-direction: column; min-height: 0; }
	.scz-side { flex-direction: row; align-items: center; width: auto; padding: 12px 14px; overflow-x: auto; }
	.scz-side__logo { margin: 0 6px 0 0; flex: none; width: 38px; height: 38px; font-size: 15.5px; }
	.scz-side__brand { flex: none; width: 60px; margin: 0 8px 0 0; }
	.scz-side__nav { flex-direction: row; }
	.scz-side__link { padding: 9px 14px; }
	.scz-main { padding: 24px 20px 28px; }
	.scz-top__title { font-size: 1.6em; }
	.scz-grid, .scz-tiles { grid-template-columns: 1fr; }
}
@container (max-width: 560px) {
	.scz-side__link:not(.is-active) .scz-side__text { display: none; }
	.scz-hero__value { font-size: 2em; }
	.scz-hero__stats { grid-template-columns: 1fr; gap: 10px; }
	.scz-hero__stats > div { padding: 0; border-left: 0; }
	.scz-dl { grid-template-columns: 1fr; gap: 2px; }
	.scz-dl dd { margin-bottom: 10px; }
	.scz-card { padding: 22px 20px; }
}
@media (max-width: 560px) {
	.scz-row { grid-template-columns: 1fr; }
	.scz-form-wrap { padding: 24px 20px; }
}

/* --- Podgląd administratora --- */
.scz-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	align-items: center;
	max-width: 1120px;
	margin: 0 auto 16px;
	padding: 12px 20px;
	border-radius: 20px;
	background: #3F4E27;
	color: #fff;
	font-family: "Poppins", "Outfit", "Segoe UI", system-ui, -apple-system, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	box-sizing: border-box;
}
.scz-form-wrap > .scz-preview { margin-bottom: 20px; }
.scz-preview strong {
	padding: 3px 12px;
	border-radius: 999px;
	background: #FFC900;
	font-weight: 600;
	white-space: nowrap;
}
.scz-preview span { color: #d3dac4; }
.scz-preview label { font-weight: 500; }
.scz-preview select {
	max-width: 100%;
	padding: 7px 14px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: #3F4E27;
	font: inherit;
}
.scz-preview a { margin-left: auto; color: #fff !important; font-weight: 600; white-space: nowrap; }

/* --- Przyciski: wersja odporna na style motywu --- */
.scz .scz-btn,
.scz button.scz-btn,
.scz a.scz-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	margin: 0;
	padding: 0 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #3F4E27 !important;
	font-family: inherit !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.08) !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}
.scz .scz-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px -8px rgba(63, 78, 39, 0.35) !important; }
.scz .scz-btn:focus-visible { outline: 3px solid rgba(63, 78, 39, 0.55); outline-offset: 2px; }
.scz .scz-btn.scz-btn--primary { background: #3F4E27 !important; color: #fff !important; }
.scz .scz-btn.scz-btn--danger { background: #FFC900 !important; color: #fff !important; }

/* Główny przycisk formularza rejestracji i logowania */
.scz-form-wrap .scz-actions { flex-direction: column; align-items: stretch; gap: 14px; margin-top: 22px; }
.scz-form-wrap .scz-actions .scz-btn--primary {
	width: 100%;
	min-height: 56px;
	background: #FFC900 !important;
	font-size: 15.5px !important;
	box-shadow: 0 16px 28px -14px rgba(63, 78, 39, 0.85) !important;
}
.scz-form-wrap .scz-actions .scz-btn--primary:hover { filter: brightness(1.05); box-shadow: 0 20px 32px -14px rgba(63, 78, 39, 0.95) !important; }
.scz-form-wrap .scz-actions > a:not(.scz-btn) {
	align-self: center;
	color: #3F4E27 !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	border-bottom: 2px solid #fff0b3;
	padding-bottom: 1px;
}
.scz-form-wrap .scz-actions > a:not(.scz-btn):hover { border-bottom-color: #FFC900; }
.scz-form-wrap .scz-form > .scz-hint { margin-top: 18px; text-align: center; }
.scz-form-wrap .scz-form > .scz-hint a { font-weight: 600; }

/* --- Kolorystyka: zieleń #3F4E27 + żółty #FFC900 (ciemny tekst na żółtym tle) --- */
.scz-side__logo { color: #3F4E27; }
.scz-side__link.is-active, .scz-side__link.is-active:hover { background: #FFC900; color: #3F4E27 !important; }
.scz-hero { color: #3F4E27; box-shadow: 0 24px 40px -26px rgba(63, 78, 39, 0.55); }
.scz-hero__stats > div { border-left-color: rgba(63, 78, 39, 0.35); }
.scz-tile--dark .scz-tile__num { color: #3F4E27; }
.scz .scz-btn.scz-btn--danger { background: #b42318 !important; color: #fff !important; }
.scz-form-wrap .scz-actions .scz-btn--primary { color: #3F4E27 !important; box-shadow: 0 14px 24px -14px rgba(63, 78, 39, 0.55) !important; }
.scz-form-wrap .scz-actions .scz-btn--primary:hover { box-shadow: 0 18px 28px -14px rgba(63, 78, 39, 0.65) !important; }
.scz-form-wrap .scz-actions > a:not(.scz-btn) { border-bottom-color: #FFC900; }
.scz-form-wrap .scz-actions > a:not(.scz-btn):hover { border-bottom-color: #3F4E27; }
.scz-preview strong { color: #3F4E27; }
.scz-msg--mine { color: #fff; }

/* --- Baner: e-deklaracja do pobrania --- */
.scz-banner {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 20px;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 26px;
	padding: 20px 24px;
	border-radius: 24px;
	background: #FFC900;
	color: #3F4E27;
	box-shadow: 0 18px 30px -22px rgba(63, 78, 39, 0.6);
}
.scz-banner__text { flex: 1 1 240px; font-size: 1.15em; font-weight: 700; line-height: 1.3; }
.scz-banner .scz-btn { flex: none; }
.scz-banner .scz-btn svg { width: 18px; height: 18px; }
.scz-alert a { color: inherit; font-weight: 600; overflow-wrap: anywhere; }

/* --- Umawianie spotkań (wbudowany kalendarz rezerwacji) --- */
.scz .bc-widget {
	--bc-primary: #3F4E27;
	--bc-primary-hover: #2f3b1d;
	--bc-btn-text: #ffffff;
	--bc-avail-bg: #fff0b3;
	--bc-avail-text: #3F4E27;
	max-width: 640px;
	margin: 0 auto;
	font-family: inherit;
	color: #3F4E27;
}
.scz .bc-widget input[type="text"],
.scz .bc-widget input[type="email"],
.scz .bc-widget input[type="tel"],
.scz .bc-widget textarea,
.scz .bc-widget select { border-radius: 14px; }
.scz .bc-widget input[readonly] { background: #f1efec; color: #5c6249; }
.scz .bc-widget .bc-submit-btn, .scz .bc-widget .bc-back-btn { border-radius: 999px; }

/* Historia spotkań */
.scz .scz-section-title { margin-top: 28px; }
.scz-list__row {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	align-items: center;
	justify-content: space-between;
	padding: 16px 22px;
	border-radius: 20px;
	background: #f7f6f4;
}

/* --- Szkolenia --- */
.scz-grid--single { grid-template-columns: 1fr; }
.scz-question { margin: 0 0 18px; padding: 18px 20px; border: 0; border-radius: 20px; background: #fff; }
.scz-question legend { float: left; width: 100%; margin: 0 0 12px; padding: 0; font-weight: 600; line-height: 1.4; }
.scz-question legend + * { clear: both; }
.scz-answer { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 4px; padding: 8px 12px; border-radius: 12px; font-weight: 400; cursor: pointer; }
.scz-answer:hover { background: #f7f6f4; }
.scz-answer input { flex: none; margin-top: 5px; accent-color: #3F4E27; }
.scz-video, .scz-video-embed iframe { display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 18px; background: #000; }
.scz-list__meta .scz-badge { margin-left: 4px; }
.scz .scz-btn[disabled] { opacity: 0.55; cursor: not-allowed; transform: none; }

/* Szkolenia: postęp nagrania, slajdy, blokada testu */
.scz-progress { margin-top: 14px; }
.scz-progress__bar { position: relative; height: 8px; border-radius: 999px; background: #e3e1dc; }
.scz-progress__bar span { display: block; height: 100%; max-width: 100%; border-radius: 999px; background: #3F4E27; transition: width 0.3s; }
.scz-progress__bar i { position: absolute; top: -4px; width: 3px; height: 16px; margin-left: -1px; border-radius: 2px; background: #FFC900; }
.scz-slides { outline: none; }
.scz-slides__stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 240px; border-radius: 18px; background: #fff; overflow: hidden; }
.scz-slides__stage canvas { display: block; max-width: 100%; height: auto; }
.scz-slides__stage iframe { display: block; width: 100%; height: 70vh; min-height: 420px; border: 0; }
.scz-slides__msg { position: absolute; margin: 0; padding: 0 20px; text-align: center; color: var(--scz-muted); }
.scz-slides__nav { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin: 14px 0 4px; }
.scz-slides__count { font-weight: 600; font-variant-numeric: tabular-nums; }
.scz-gate { margin: 0 0 18px; padding: 0; list-style: none; }
.scz-gate li { position: relative; margin: 0 0 8px; padding: 12px 16px 12px 46px; border-radius: 14px; background: #fff; }
.scz-gate li::before { content: ""; position: absolute; left: 16px; top: 50%; width: 16px; height: 16px; margin-top: -10px; border: 2px solid #c9c6bf; border-radius: 50%; }
.scz-gate li.is-done { color: #3F4E27; font-weight: 600; }
.scz-gate li.is-done::before { border-color: #3F4E27; background: #3F4E27; box-shadow: inset 0 0 0 3px #fff; }
@media (max-width: 600px) { .scz-slides__nav .scz-btn { padding-left: 14px; padding-right: 14px; } }
.scz [hidden] { display: none !important; }

/* Dodawanie pliku uchwały przez członka */
.scz-upload { margin: 0; }
.scz-upload__btn { position: relative; overflow: hidden; cursor: pointer; }
.scz-upload__btn input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

.scz-confirm p { margin: 0 0 12px; }
.scz-confirm form { margin: 0; }

/* --- Umawianie spotkań: kalendarz w stylu panelu --- */
.scz .bc-widget {
	--bc-primary: var(--scz-ink);
	--bc-primary-hover: #2f3b1d;
	--bc-btn-text: #fff;
	--bc-avail-bg: #fff;
	--bc-avail-text: var(--scz-ink);
	max-width: 420px;
	margin: 0;
	font: inherit;
	color: var(--scz-ink);
}
.scz .bc-step > h3 { margin: 0 0 14px; font-size: 1.1em; font-weight: 600; }
.scz .bc-calendar-nav { margin: 0 0 12px; padding: 0; }
.scz .bc-calendar-nav button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0 0 2px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--scz-ink);
	font: inherit;
	font-size: 20px;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.06);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.scz .bc-calendar-nav button:hover { background: #fff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(63, 78, 39, 0.12); }
.scz .bc-month-label { font-size: 1em; font-weight: 600; color: var(--scz-ink); text-transform: capitalize; }
.scz .bc-weekdays,
.scz .bc-days { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.scz .bc-weekdays {
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	color: var(--scz-muted);
	font-size: 0.75em;
	font-weight: 600;
}
.scz .bc-day {
	width: auto;
	height: auto;
	aspect-ratio: 1;
	border-radius: 14px;
	color: #c4c2bd;
	font-size: 0.9em;
	transition: background 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}
.scz .bc-day.bc-day-past { color: #cfcdc8; }
.scz .bc-day.bc-day-available {
	background: #fff;
	color: var(--scz-ink);
	font-weight: 600;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.06);
}
.scz .bc-day.bc-day-available:hover { background: var(--scz-ink); color: #fff; transform: none; box-shadow: 0 6px 16px rgba(63, 78, 39, 0.18); }
.scz .bc-day.bc-day-today { border: 0; box-shadow: inset 0 0 0 2px var(--scz-accent); }
.scz .bc-day.bc-day-unavailable { background: transparent; color: var(--scz-muted); }

.scz .bc-time-slots { grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; margin: 0 0 20px; }
.scz .bc-time-slot {
	padding: 9px 6px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--scz-ink);
	font-size: 0.9em;
	font-weight: 600;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.06);
	transition: background 0.12s ease, color 0.12s ease;
}
.scz .bc-time-slot:hover { background: var(--scz-soft); }
.scz .bc-time-slot.selected { background: var(--scz-ink); color: #fff; }
.scz .bc-time-slot.bc-time-slot-unavailable,
.scz .bc-time-slot.bc-time-slot-unavailable:hover { background: transparent; color: var(--scz-muted); box-shadow: none; }
.scz .bc-no-slots { padding: 8px 0 16px; grid-column: 1 / -1; text-align: left; color: var(--scz-muted); font-size: 0.95em; }

.scz .bc-summary { margin: 0 0 20px; padding: 12px 18px; border-radius: 18px; background: var(--scz-soft); color: #5c4a00; font-size: 0.95em; }
.scz .bc-form-row { margin: 0 0 18px; }
.scz .bc-form-row label { margin: 0 0 6px; color: var(--scz-ink); font-size: 0.9em; font-weight: 600; }
.scz .bc-form-row input:not([type="checkbox"]),
.scz .bc-form-row textarea,
.scz .bc-form-row select {
	display: block;
	width: 100%;
	padding: 12px 18px;
	border: 1px solid transparent;
	border-radius: 16px;
	background: #fff;
	color: var(--scz-ink);
	font: inherit;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.04);
}
.scz .bc-form-row input:focus,
.scz .bc-form-row textarea:focus,
.scz .bc-form-row select:focus { border-color: transparent; outline: 2px solid var(--scz-ink); outline-offset: 1px; }
.scz .bc-form-row input[readonly] { background: transparent; box-shadow: none; border-color: var(--scz-line); color: var(--scz-muted); }
.scz .bc-form-row input[readonly]:focus { outline: 0; }
.scz .bc-form-row input.bc-error,
.scz .bc-form-row textarea.bc-error { border-color: #9c2330; }
.scz .bc-phone-prefix {
	padding: 12px 14px 12px 18px;
	border: 0;
	border-radius: 16px 0 0 16px;
	background: #fff;
	color: var(--scz-muted);
	font: inherit;
	font-weight: 600;
	line-height: inherit;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.04);
}
.scz .bc-phone-wrapper input { border-radius: 0 16px 16px 0 !important; padding-left: 4px !important; }
.scz .bc-cf-checkbox { display: flex !important; gap: 10px; align-items: center; font-weight: 400 !important; }
.scz .bc-error-msg { margin-top: 6px; color: #9c2330; font-size: 0.85em; }
.scz .bc-widget .required { color: #b42318; }
.scz .bc-consents { margin: 20px 0; padding: 16px 20px; border-radius: 18px; background: #fff; }
.scz .bc-consent-item label { gap: 10px; font-size: 0.9em; line-height: 1.55; }
.scz .bc-consent-item input[type="checkbox"],
.scz .bc-cf-checkbox input { margin-top: 5px; accent-color: var(--scz-ink); }

.scz .bc-form-actions { flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.scz .bc-back-btn,
.scz .bc-submit-btn {
	padding: 11px 24px;
	border: 0;
	border-radius: 999px;
	font: inherit;
	font-size: 0.9em;
	font-weight: 600;
	line-height: 1.3;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.06);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.scz .bc-back-btn { background: #fff; color: var(--scz-ink); }
.scz .bc-submit-btn { background: var(--scz-ink); color: #fff; }
.scz .bc-back-btn:hover { background: #fff; }
.scz .bc-submit-btn:hover { background: var(--scz-ink); }
.scz .bc-back-btn:hover,
.scz .bc-submit-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(63, 78, 39, 0.12); }
.scz .bc-submit-btn:disabled { background: #d9d6d1; color: var(--scz-muted); transform: none; box-shadow: none; }

.scz .bc-confirmation { padding: 12px 0; text-align: left; }
.scz .bc-check-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 0 16px;
	border-radius: 50%;
	background: #d9f2e3;
	font-size: 0;
}
.scz .bc-check-icon::before { content: "✓"; color: #11703f; font-size: 24px; font-weight: 700; }
.scz .bc-confirmation h3 { margin: 0 0 8px; color: var(--scz-ink); font-size: 1.25em; font-weight: 600; }
.scz .bc-confirmation p { margin: 0; color: var(--scz-ink); font-size: 1em; line-height: 1.55; }
.scz .bc-loading { border-radius: 18px; background: rgba(247, 246, 244, 0.8); }
.scz .bc-spinner { width: 34px; height: 34px; border-width: 3px; border-color: var(--scz-line); border-top-color: var(--scz-ink); }
.scz .bc-alert { margin: 0 0 20px; padding: 14px 20px; border: 0; border-radius: 18px; font-size: 0.95em; }
.scz .bc-alert-error { background: #fde3e1; color: #8a1f2b; border: 0; }

/* --- Strony wtyczki: bez tytułu strony z motywu --- */
body.scz-page .entry-title,
body.scz-page .page-title,
body.scz-page .wp-block-post-title,
body.scz-page .entry-header:empty { display: none; }

/* --- Telefony: elementy, które nie mieściły się w wąskiej karcie --- */
@media (max-width: 600px) {
	.scz-slides__nav { flex-wrap: wrap; gap: 8px; }
	.scz-slides__count { order: -1; flex: 1 0 100%; text-align: center; }
	.scz-slides__nav .scz-btn { flex: 1 1 0; white-space: nowrap; text-align: center; }
	.scz-banner .scz-btn { flex: 1 1 100%; text-align: center; }
	.scz .bc-weekdays,
	.scz .bc-days { gap: 4px; }
	.scz .bc-day { border-radius: 12px; }
	.scz .bc-form-actions > * { flex: 1 1 auto; text-align: center; }
	.scz-actions .scz-btn { text-align: center; }
}

/* --- Szkolenia: forma, punkty, zaświadczenia --- */
.scz-certs__meta { display: block; margin-top: 2px; color: var(--scz-muted); font-size: 0.85em; font-weight: 400; }
.scz-certs__side { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.scz-training-facts { margin: -6px 0 14px; }
@media (max-width: 600px) {
	.scz-list__meta { white-space: normal; text-align: right; }
	.scz-certs__side { justify-content: flex-start; }
}

/* --- Spotkanie: kalendarz i formularz na środku karty --- */
.scz-booking > .scz-card__muted { text-align: center; }
.scz .scz-booking .bc-widget { margin: 0 auto; }
.scz .scz-booking .bc-step > h3,
.scz .scz-booking .bc-step[data-step="2"],
.scz .scz-booking .bc-no-slots { text-align: center; }
.scz .scz-booking .bc-confirmation { text-align: center; }
.scz .scz-booking .bc-check-icon { margin-left: auto; margin-right: auto; }

/* --- Kontakt: zwijany formularz nowej wiadomości, licznik odpowiedzi --- */
.scz-collapse > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 1.1em;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.scz-collapse > summary::-webkit-details-marker { display: none; }
.scz-collapse > summary::after {
	content: "+";
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	box-shadow: 0 1px 2px rgba(63, 78, 39, 0.06);
}
.scz-collapse[open] > summary { margin-bottom: 16px; }
.scz-collapse[open] > summary::after { content: "–"; }
.scz-collapse > summary:focus-visible { outline: 2px solid var(--scz-ink); outline-offset: 4px; border-radius: 8px; }
.scz-list__title .scz-count { margin-left: 6px; vertical-align: 1px; }
.scz-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.scz-list__title .scz-count { display: inline-block; }
.scz-msg__meta .scz-count { display: inline-block; margin-left: 6px; }

/* --- Usuwanie rozmowy / komunikatu z panelu --- */
.scz-delete { display: flex; justify-content: flex-end; margin: 18px 0 0; }
.scz-btn--small { padding: 7px 16px; font-size: 0.8em; }
.scz-btn:disabled { opacity: 0.55; cursor: default; transform: none; box-shadow: none; }
.scz-list__item--action { display: flex; align-items: center; gap: 8px; }
.scz-list__item--action > a { flex: 1 1 auto; min-width: 0; }
.scz-list__action { flex: none; margin: 0; }

/* --- Spotkanie: kolory przycisków odporne na style motywu (także po najechaniu i w fokusie) --- */
.scz .bc-back-btn,
.scz .bc-back-btn:hover,
.scz .bc-back-btn:focus,
.scz .bc-calendar-nav button,
.scz .bc-calendar-nav button:hover,
.scz .bc-calendar-nav button:focus { background: #fff !important; color: var(--scz-ink) !important; }
.scz .bc-submit-btn,
.scz .bc-submit-btn:hover,
.scz .bc-submit-btn:focus { background: var(--scz-ink) !important; color: #fff !important; }
.scz .bc-submit-btn:disabled { background: #d9d6d1 !important; color: var(--scz-muted) !important; }

/* --- Forum --- */
.scz-forum__nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.scz-forum__meta { margin: 0 0 8px; color: var(--scz-muted); font-size: 0.85em; }
.scz-forum__meta strong { color: var(--scz-ink); font-weight: 600; }
.scz-forum__body { overflow-wrap: anywhere; }
.scz-forum__image { display: block; margin: 14px 0 0; max-width: 420px; }
.scz-forum__image img { display: block; max-width: 100%; height: auto; border-radius: 16px; }
.scz-forum__tools { display: flex; justify-content: flex-end; margin: 12px 0 0; }
.scz-forum__comment { padding: 20px 24px; margin-bottom: 12px; }
.scz-forum__post--reply { margin: 14px 0 0 22px; padding: 14px 18px; border-radius: 18px; background: #fff; }
.scz-forum__replyform { margin: 14px 0 0; }
.scz-forum__replyform > summary { display: inline-block; padding: 7px 16px; border-radius: 999px; background: #fff; font-size: 0.8em; font-weight: 600; cursor: pointer; list-style: none; box-shadow: 0 1px 2px rgba(63, 78, 39, 0.06); }
.scz-forum__replyform > summary::-webkit-details-marker { display: none; }
.scz-forum__replyform[open] > summary { margin-bottom: 14px; }
.scz-list__title .scz-count { padding: 0 8px; }
@media (max-width: 600px) {
	.scz-forum__post--reply { margin-left: 10px; }
	.scz-forum__comment { padding: 18px 16px; }
}
.scz .scz-forum__post--reply .scz-btn { background: var(--scz-card); }

/* --- Udostępnione pliki --- */
.scz-shared__desc { display: block; margin-top: 4px; color: var(--scz-ink); font-size: 0.9em; font-weight: 400; line-height: 1.5; }
.scz-shared__note { margin: 18px 4px 0; color: var(--scz-muted); font-size: 0.85em; }
.scz-shared-view__title { margin: 0 0 6px; font-size: 1.25em; font-weight: 700; }
.scz-shared-view__desc { margin: 0 0 6px; line-height: 1.55; }
.scz-shared-view .scz-certs__meta { margin: 0 0 18px; }
.scz-doc { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.scz-doc .scz-slides__stage { border: 1px solid rgba(63, 78, 39, 0.12); }
.scz-doc--image img { display: block; max-width: 100%; height: auto; margin: 0 auto; border-radius: 18px; pointer-events: none; }
@media print { .scz-doc { display: none !important; } }

/* --- Wydarzenia --- */
.scz-events { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.scz-event { margin: 0; }
.scz-event.is-open { box-shadow: 0 0 0 2px #FFC900, 0 18px 34px -24px rgba(63, 78, 39, 0.5); }
.scz-event__head { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: flex-start; justify-content: space-between; }
.scz-event__title { margin: 0; font-size: 1.2em; font-weight: 700; line-height: 1.3; }
.scz-event__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.scz-event__meta { display: flex; flex-wrap: wrap; gap: 10px 36px; margin: 14px 0 0; }
.scz-event__meta dt { margin: 0; color: var(--scz-muted); font-size: 0.8em; font-weight: 500; }
.scz-event__meta dd { margin: 2px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.scz-event__desc { margin: 14px 0 0; line-height: 1.55; }
.scz-event__form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 18px 0 0; }
.scz-event__code { display: flex; flex-direction: column; gap: 6px; font-size: 0.85em; font-weight: 500; }
.scz .scz-event__code input { min-width: 220px; height: 46px; padding: 0 16px; border: 1px solid rgba(63, 78, 39, 0.25); border-radius: 999px; background: #fff; color: var(--scz-ink); font: inherit; font-size: 15px; box-shadow: none; }
.scz .scz-event__code input:focus { outline: 2px solid #FFC900; outline-offset: 1px; border-color: #3F4E27; }
.scz-event__state { margin: 16px 0 0; }
.scz-event__hint { margin: 10px 0 0; color: var(--scz-muted); font-size: 0.85em; }
.scz-event__state .scz-event__hint { margin: 0 0 0 6px; }
.scz-events__heading { margin: 30px 0 14px; font-size: 1.05em; font-weight: 700; }
.scz-events--past .scz-event { opacity: 0.8; }
@media (max-width: 600px) {
	.scz-event__form .scz-btn { width: 100%; text-align: center; }
	.scz-event__code, .scz-event__code input { width: 100%; min-width: 0; }
	.scz-event__state .scz-event__hint { display: block; margin: 8px 0 0; }
}

/* Zaświadczenia: status i przyciski zawsze w osobnej linii pod opisem. */
.scz-certs .scz-list__row { flex-direction: column; align-items: flex-start; gap: 12px; }
.scz-certs .scz-certs__side { justify-content: flex-start; }

/* Nowe pozycje na listach (komunikaty, rozmowy, forum, udostępnione, zaświadczenia, wydarzenia): delikatne podświetlenie. */
.scz-list__item.is-new > a, .scz-list__item.is-new > .scz-list__row { background: #fff6d1; box-shadow: inset 0 0 0 1.5px rgba(255, 201, 0, 0.6); }
.scz-list__item.is-new > a:hover { background: #ffefb0; }
.scz-list__item.is-new .scz-list__title { font-weight: 700; }
.scz-event.is-new:not(.is-open) { background: #fff6d1; box-shadow: inset 0 0 0 1.5px rgba(255, 201, 0, 0.6); }
