/* Formularz zapisów RakOFF. Paleta i typografia spójne z marką
   Tyskich Szpilek (motyw rakoff-liquid): kremowe tło, bordo, Fraunces
   + Inter. Formularz sam w sobie siedzi już w szklanym panelu motywu
   (.rk-content-shell). Tutaj wewnątrz zostajemy płascy: wstawki w
   kolorze --rakoff-inset zamiast kolejnych warstw szkła, żeby nie
   odciągać uwagi od treści. Rozmiar tekstu, kontrast i czcionka
   czytelna sterowane są globalnie przez pasek dostępności motywu. */

.rakoff-wrap {
	--rakoff-ink: #2B1B22;
	--rakoff-ink-soft: #7A6670;
	--rakoff-ink-mute: #A7969E;
	--rakoff-surface: #FFFFFF;
	--rakoff-inset: #F6EFEC;
	--rakoff-line: #E9DFDD;
	--rakoff-line-strong: #D8C9CD;
	--rakoff-accent: #8C2F52;
	--rakoff-accent-ink: #5C1F37;
	--rakoff-accent-soft: #F4DDE6;
	--rakoff-zdr-bg: #FBE7E4;
	--rakoff-zdr-ink: #9A3A2E;
	--rakoff-focus: #1B5FA8;

	max-width: 100%;
	font-size: calc(1.0625rem * var(--a11y-scale, 1));
	line-height: 1.6;
	color: var(--rakoff-ink);
	font-family: var(--font-body, 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
}
.rakoff-wrap * { box-sizing: border-box; }

body.rk-contrast .rakoff-wrap {
	--rakoff-ink: #000000;
	--rakoff-ink-soft: #1a1a1a;
	--rakoff-ink-mute: #333333;
	--rakoff-surface: #ffffff;
	--rakoff-inset: #ffffff;
	--rakoff-line: #000000;
	--rakoff-line-strong: #000000;
	--rakoff-accent: #6b0026;
	--rakoff-accent-ink: #4a0019;
	--rakoff-accent-soft: #ffffff;
	--rakoff-zdr-bg: #ffffff;
	--rakoff-zdr-ink: #000000;
}
body.rk-contrast .rakoff-card,
body.rk-contrast .rakoff-slot-btn,
body.rk-contrast .rakoff-fieldset-inset,
body.rk-contrast .rakoff-rodo-tresc {
	box-shadow: none !important;
	border-width: 2px !important;
}
body.rk-readable .rakoff-wrap,
body.rk-readable .rakoff-wrap * {
	font-family: Verdana, Tahoma, Arial, sans-serif !important;
	letter-spacing: 0.01em;
}

.rakoff-wrap a:focus-visible,
.rakoff-wrap input:focus-visible,
.rakoff-wrap button:focus-visible,
.rakoff-card:focus-within,
.rakoff-slot-btn:focus-visible {
	outline: 3px solid var(--rakoff-focus);
	outline-offset: 2px;
}

.rakoff-header h2 {
	font-family: var(--font-display, 'Fraunces', Georgia, serif);
	font-weight: 600;
	font-size: 1.6em;
	margin: 0 0 8px;
	color: var(--rakoff-ink);
	letter-spacing: -0.01em;
}
.rakoff-meta { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 18px; }
.rakoff-meta-nazwa {
	margin: 0;
	font-weight: 700;
	font-size: 1.05em;
	color: var(--rakoff-accent-ink);
}
.rakoff-meta-item {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 0.96em;
	color: var(--rakoff-ink-soft);
}
.rakoff-meta-item svg { flex: none; color: var(--rakoff-accent); }
body.rk-contrast .rakoff-meta-nazwa,
body.rk-contrast .rakoff-meta-item { color: var(--rakoff-ink); }

.rakoff-plakat {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
	margin: 4px 0 24px;
	box-shadow: 0 1px 3px rgba(43, 27, 34, 0.06), 0 12px 28px -16px rgba(92, 31, 55, 0.25);
}
.rakoff-phone-alt {
	background: var(--rakoff-zdr-bg);
	color: var(--rakoff-zdr-ink);
	padding: 10px 14px;
	border-radius: 8px;
	margin: 14px 0 0;
	font-size: 0.92em;
}
.rakoff-phone-alt a { color: var(--rakoff-zdr-ink); font-weight: 700; }

.rakoff-status {
	padding: 13px 16px;
	border-radius: 10px;
	margin: 0 0 20px;
	font-weight: 600;
	border: 1px solid var(--rakoff-line);
}
.rakoff-status.rakoff-ok { background: #EAF3EC; border-color: #B9D9C0; color: #2C5F3A; }
.rakoff-status.rakoff-blad { background: var(--rakoff-accent-soft); border-color: var(--rakoff-accent); color: var(--rakoff-accent-ink); }

.rakoff-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.rakoff-fieldset {
	border: none;
	border-top: 1px solid var(--rakoff-line);
	padding: 24px 0 0;
	margin: 0 0 24px;
}
.rakoff-fieldset:first-of-type { border-top: none; padding-top: 0; }
.rakoff-fieldset legend {
	display: block;
	width: 100%;
	font-family: var(--font-display, 'Fraunces', Georgia, serif);
	font-weight: 600;
	font-size: 1.15em;
	padding: 0;
	margin-bottom: 14px;
	color: var(--rakoff-ink);
}
.rakoff-subfieldset { border: none; padding: 12px 0 0; margin: 10px 0 0; }
.rakoff-subfieldset legend { display: block; font-family: inherit; font-size: 0.95em; font-weight: 700; padding: 0; }
.rakoff-hint-inline { font-weight: 400; color: var(--rakoff-ink-soft); }

.rakoff-badania-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (max-width: 600px) { .rakoff-badania-grid { grid-template-columns: 1fr; } }

.rakoff-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	border: 1px solid var(--rakoff-line);
	border-radius: 10px;
	padding: 14px 16px;
	cursor: pointer;
	position: relative;
	background: var(--rakoff-inset);
	transition: transform 0.12s ease, border-color 0.12s ease;
}
@media (prefers-reduced-motion: reduce) { .rakoff-card { transition: none; } }
.rakoff-card:hover { transform: translateY(-2px); }
.rakoff-card input[type="radio"] { position: absolute; top: 14px; right: 14px; width: 20px; height: 20px; accent-color: var(--rakoff-accent); }
.rakoff-card:has(input:checked) { border-color: var(--rakoff-accent); box-shadow: 0 0 0 1.5px var(--rakoff-accent) inset; background: var(--rakoff-accent-soft); }
.rakoff-card-nazwa { font-weight: 600; font-size: 1.03em; padding-right: 28px; color: var(--rakoff-ink); }
.rakoff-card-opis { color: var(--rakoff-ink-soft); font-size: 0.89em; }
.rakoff-card-plec { font-size: 0.76em; font-weight: 700; color: var(--rakoff-zdr-ink); text-transform: uppercase; letter-spacing: 0.04em; }
.rakoff-card-uwaga { font-size: 0.85em; color: var(--rakoff-accent); font-weight: 600; }
.rakoff-card.rakoff-card-niedostepna { opacity: 0.45; }
.rakoff-card.rakoff-card-niedostepna .rakoff-card-uwaga { display: block !important; }

.rakoff-field { margin-bottom: 16px; }
.rakoff-field label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 0.94em; }
.rakoff-field input[type="text"],
.rakoff-field input[type="tel"],
.rakoff-field input[type="email"] {
	width: 100%;
	max-width: 420px;
	font-size: 1em;
	font-family: inherit;
	padding: 11px 14px;
	min-height: 46px;
	border: 1.5px solid var(--rakoff-line-strong);
	border-radius: 8px;
	background: var(--rakoff-surface);
	color: var(--rakoff-ink);
}
.rakoff-field input[type="text"]:focus,
.rakoff-field input[type="tel"]:focus,
.rakoff-field input[type="email"]:focus {
	border-color: var(--rakoff-accent);
	box-shadow: 0 0 0 3px var(--rakoff-accent-soft);
}
body.rk-contrast .rakoff-field input[type="text"],
body.rk-contrast .rakoff-field input[type="tel"],
body.rk-contrast .rakoff-field input[type="email"] {
	border: 2px solid #000000;
	box-shadow: none;
}
.rakoff-hint { color: var(--rakoff-ink-mute); font-size: 0.85em; display: block; margin-top: 4px; }

.rakoff-blokada-hint {
	background: var(--rakoff-zdr-bg);
	color: var(--rakoff-zdr-ink);
	padding: 10px 14px;
	border-radius: 8px;
	margin: 10px 0 0;
	font-size: 0.88em;
	font-weight: 600;
}

.rakoff-radio-inline { display: inline-flex; align-items: center; gap: 8px; margin-right: 24px; font-weight: 600; min-height: 44px; }
.rakoff-radio-inline input { width: 20px; height: 20px; accent-color: var(--rakoff-accent); }

.rakoff-sloty-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(158px, 1fr)); gap: 10px; margin: 10px 0; }
.rakoff-slot-btn {
	min-height: 60px;
	border: 1.5px solid var(--rakoff-line-strong);
	background: var(--rakoff-surface);
	color: var(--rakoff-ink);
	border-radius: 14px;
	font-weight: 700;
	font-size: 0.98em;
	font-family: inherit;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	padding: 9px 6px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	line-height: 1.2;
}
.rakoff-slot-btn > span:first-child { white-space: nowrap; }
.rakoff-slot-btn:hover { border-color: var(--rakoff-accent); color: var(--rakoff-accent-ink); }
.rakoff-slot-btn small {
	font-weight: 700;
	font-size: 0.85em;
	letter-spacing: 0.01em;
	color: var(--rakoff-wolne, #1f7a4d);
}
.rakoff-slot-btn[aria-pressed="true"] { background: var(--rakoff-accent); border-color: var(--rakoff-accent); color: #fff; }
.rakoff-slot-btn[aria-pressed="true"] small { color: #fff; }
.rakoff-slot-btn:disabled {
	border-color: var(--rakoff-line);
	color: var(--rakoff-ink-mute);
	background: var(--rakoff-inset);
	cursor: not-allowed;
	text-decoration: line-through;
}
.rakoff-slot-btn:disabled small { color: var(--rakoff-ink-mute); }
body.rk-contrast .rakoff-slot-btn small { color: #006633; }
body.rk-contrast .rakoff-slot-btn:disabled small { color: var(--rakoff-ink-mute); }
body.rk-contrast .rakoff-slot-btn[aria-pressed="true"] small { color: #fff; }
.rakoff-rezerwa-btn {
	min-height: 46px;
	border: 1.5px dashed var(--rakoff-accent);
	background: var(--rakoff-accent-soft);
	color: var(--rakoff-accent-ink);
	border-radius: 10px;
	font-weight: 600;
	font-family: inherit;
	padding: 12px 16px;
	cursor: pointer;
	width: 100%;
}
.rakoff-rezerwa-btn[aria-pressed="true"] { background: var(--rakoff-accent); color: #fff; }

.rakoff-rodo-tresc {
	max-height: 220px;
	overflow-y: auto;
	border: 1px solid var(--rakoff-line);
	border-radius: 10px;
	padding: 14px 16px;
	font-size: 0.88em;
	color: var(--rakoff-ink-soft);
	background: var(--rakoff-inset);
	margin-bottom: 14px;
}
.rakoff-checkbox { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; font-size: 0.95em; }
.rakoff-checkbox input { width: 22px; height: 22px; flex-shrink: 0; margin-top: 2px; accent-color: var(--rakoff-accent); }

.rakoff-turnstile-row { display: flex; justify-content: center; margin: 4px 0 18px; }

.rakoff-submit-row { text-align: center; padding-top: 4px; }
.rakoff-submit {
	font-family: inherit;
	font-size: 1.05em;
	font-weight: 600;
	padding: 14px 30px;
	min-height: 52px;
	border-radius: 999px;
	border: none;
	background: var(--rakoff-accent);
	color: #fff;
	cursor: pointer;
}
.rakoff-submit:hover { background: var(--rakoff-accent-ink); }
.rakoff-submit:disabled { background: var(--rakoff-ink-mute); cursor: wait; }

.rakoff-field-error { border-color: var(--rakoff-accent) !important; }
