/*
 * Formularze WinoSens: kontakt, degustacja, doradztwo ([ws_formularz]).
 * Kolory i fonty ze wspólnych zmiennych (wyglad/ws-wyglad.css), z wartościami zapasowymi.
 * Ramki pól #8C857A: kontrast co najmniej 3:1 na bieli i kremie (WCAG 1.4.11).
 */

.ws-fm-wrap {
	max-width: 100%;
	font-family: var(--ws-sans, 'Lato', system-ui, -apple-system, 'Segoe UI', sans-serif);
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--ws-ink, #292929);
}

.ws-fm { margin: 0; }

.ws-fm-siatka {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem 1.5rem;
}

@media (min-width: 720px) {
	.ws-fm-siatka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ws-fm-pole { grid-column: 1 / -1; }
	.ws-fm-pole--pol { grid-column: auto; }
}

.ws-fm-pole { min-width: 0; margin: 0; }
fieldset.ws-fm-pole { border: 0; padding: 0; margin: 0; }

.ws-fm-pole > label,
.ws-fm-pole > legend {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 .35rem;
	padding: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--ws-green, #253D32);
}

.ws-fm-opc { font-weight: 400; color: var(--ws-ink-soft, #4F4F4A); }

.ws-fm-podp {
	margin: 0 0 .45rem;
	font-size: .9375rem;
	color: var(--ws-ink-soft, #4F4F4A);
}

.ws-fm input[type="text"],
.ws-fm input[type="email"],
.ws-fm input[type="tel"],
.ws-fm input[type="number"],
.ws-fm select,
.ws-fm textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	margin: 0;
	padding: .65rem .8rem;
	font: inherit;
	font-size: 1.0625rem;
	line-height: 1.4;
	color: var(--ws-ink, #292929);
	background: var(--ws-white, #FFFFFF);
	border: 1px solid #8C857A;
	border-radius: var(--ws-radius, 4px);
	box-shadow: none;
}

.ws-fm textarea { min-height: 9rem; resize: vertical; }

.ws-fm input[type="file"] {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: .6rem;
	font: inherit;
	font-size: 1rem;
	color: var(--ws-ink, #292929);
	background: var(--ws-white, #FFFFFF);
	border: 1px dashed #8C857A;
	border-radius: var(--ws-radius, 4px);
}

.ws-fm input:focus-visible,
.ws-fm select:focus-visible,
.ws-fm textarea:focus-visible {
	outline: 2px solid transparent;
	border-color: var(--ws-green, #253D32);
	box-shadow: var(--ws-focus, 0 0 0 3px #F7F4EC, 0 0 0 6px #743D49);
}

.ws-fm-opcje { display: flex; flex-wrap: wrap; gap: .5rem .75rem; }

.ws-fm-opcja {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	min-height: 48px;
	box-sizing: border-box;
	margin: 0;
	padding: .5rem .95rem;
	font-weight: 400;
	color: var(--ws-ink, #292929);
	background: var(--ws-white, #FFFFFF);
	border: 1px solid #8C857A;
	border-radius: var(--ws-radius, 4px);
	cursor: pointer;
}

.ws-fm-opcja input {
	flex: none;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	accent-color: var(--ws-burgundy, #743D49);
}

.ws-fm-opcja:has(input:checked) {
	background: var(--ws-beige, #E9E1D3);
	border-color: var(--ws-green, #253D32);
	box-shadow: inset 0 0 0 1px var(--ws-green, #253D32);
}

.ws-fm-opcja:has(input:focus-visible) { box-shadow: var(--ws-focus, 0 0 0 3px #F7F4EC, 0 0 0 6px #743D49); }
.ws-fm-opcja input:focus-visible { outline: 2px solid var(--ws-burgundy, #743D49); outline-offset: 2px; }

.ws-fm-blad {
	margin: .4rem 0 0;
	font-size: .9375rem;
	font-weight: 700;
	color: var(--ws-burgundy, #743D49);
}
.ws-fm-blad[hidden] { display: none; }

.ws-fm-pole--blad input[type="text"],
.ws-fm-pole--blad input[type="email"],
.ws-fm-pole--blad input[type="tel"],
.ws-fm-pole--blad input[type="number"],
.ws-fm-pole--blad input[type="file"],
.ws-fm-pole--blad select,
.ws-fm-pole--blad textarea,
.ws-fm-pole--blad .ws-fm-opcja {
	border: 2px solid var(--ws-burgundy, #743D49);
}

.ws-fm-komunikat {
	margin: 0 0 1.25rem;
	padding: .85rem 1rem;
	font-weight: 700;
	color: var(--ws-ink, #292929);
	background: var(--ws-beige, #E9E1D3);
	border-left: 4px solid var(--ws-green, #253D32);
}
.ws-fm-komunikat:empty { display: none; }
.ws-fm-komunikat--blad { border-left-color: var(--ws-burgundy, #743D49); }
.ws-fm-komunikat:focus { outline: none; }
.ws-fm-komunikat:focus-visible { box-shadow: var(--ws-focus, 0 0 0 3px #F7F4EC, 0 0 0 6px #743D49); }

.ws-fm-rodo {
	margin: 1.25rem 0 0;
	font-size: .9375rem;
	color: var(--ws-ink-soft, #4F4F4A);
}
.ws-fm-rodo a {
	color: var(--ws-burgundy, #743D49);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ws-fm-rodo a:focus-visible {
	outline: none;
	border-radius: 2px;
	box-shadow: var(--ws-focus, 0 0 0 3px #F7F4EC, 0 0 0 6px #743D49);
}

.ws-fm-akcje { margin-top: 1.25rem; }

/* Przycisk główny: burgund. Wspólne .ws-btn.ws-btn-primary z ws-wyglad.css ma pierwszeństwo, to jest zapas. */
:where(.ws-fm) .ws-fm-wyslij {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: .8rem 1.6rem;
	font: inherit;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--ws-cream, #F7F4EC);
	background: var(--ws-burgundy, #743D49);
	border: 2px solid var(--ws-burgundy, #743D49);
	border-radius: var(--ws-radius, 4px);
	cursor: pointer;
	text-decoration: none;
}
:where(.ws-fm) .ws-fm-wyslij:hover {
	background: var(--ws-burgundy-dark, #5C2F39);
	border-color: var(--ws-burgundy-dark, #5C2F39);
}
.ws-fm .ws-fm-wyslij:focus-visible {
	outline: none;
	box-shadow: var(--ws-focus, 0 0 0 3px #F7F4EC, 0 0 0 6px #743D49);
}
.ws-fm .ws-fm-wyslij[disabled] { opacity: .8; cursor: progress; }

@media (max-width: 480px) {
	.ws-fm .ws-fm-wyslij { width: 100%; }
	.ws-fm-opcja { width: 100%; }
}

/* Pułapka na boty: niewidoczna dla ludzi i czytników ekranu */
.ws-fm-hp {
	position: absolute !important;
	left: -10000px !important;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.ws-fm-sukces {
	padding: 1.25rem 1.4rem;
	color: var(--ws-ink, #292929);
	background: var(--ws-beige, #E9E1D3);
	border-left: 4px solid var(--ws-green, #253D32);
}
.ws-fm-sukces p { margin: 0 0 .5rem; }
.ws-fm-sukces p:last-child { margin-bottom: 0; }
.ws-fm-sukces:focus { outline: none; }
.ws-fm-sukces-tytul {
	font-family: var(--ws-serif, 'Cormorant Garamond', Georgia, serif);
	font-size: 1.6rem;
	line-height: 1.2;
	color: var(--ws-green, #253D32);
}
.ws-fm-sukces a { color: var(--ws-burgundy, #743D49); }

/* Formularz na ciemnej sekcji (.ws-on-dark) */
.ws-on-dark .ws-fm-wrap { color: var(--ws-cream, #F7F4EC); }
.ws-on-dark .ws-fm-pole > label,
.ws-on-dark .ws-fm-pole > legend { color: var(--ws-cream, #F7F4EC); }
.ws-on-dark .ws-fm-podp,
.ws-on-dark .ws-fm-opc,
.ws-on-dark .ws-fm-rodo { color: var(--ws-beige, #E9E1D3); }
.ws-on-dark .ws-fm-rodo a { color: var(--ws-cream, #F7F4EC); }
.ws-on-dark .ws-fm-blad { color: #F4CDD5; }
.ws-on-dark .ws-fm-pole--blad input,
.ws-on-dark .ws-fm-pole--blad select,
.ws-on-dark .ws-fm-pole--blad textarea,
.ws-on-dark .ws-fm-pole--blad .ws-fm-opcja { border-color: #F4CDD5; }
