/* Gravity forms styles >= 2.5 */
/* Please disable CSS in /admin.php?page=gf_settings */

/* WCAG 2.0 errors */
div.validation_error {
	background-color: var(--red);
	/* Replace with your error color */
	color: #ffffff;
	/* Replace with your text color */
	font-size: 17px;
	/* Replace with your desired font size */
	font-weight: bold;
	/* Replace with your desired font weight */
	margin-bottom: 1rem;
	/* Adjust as needed */
	padding: 1.25rem;
}

body *[aria-invalid="true"] {
	border-color: var(--red);
	/* Replace with your error color */
}

.validation_message {
	color: var(--red);
	/* Replace with your error color */
	font-size: 14px;
	/* Replace with your desired font size */
	font-weight: normal;
	/* Replace with your desired font weight */
}

.validation_list {
	list-style: none;
	margin-bottom: 1rem;
	margin-left: 0;
	padding: 0;
}

.validation_list a {
	color: var(--red);
	/* Replace with your link color */
	text-decoration: none;
}

.validation_list li {
	color: var(--red);
	/* Replace with your list item color */
	font-weight: bold;
	/* Replace with your desired font weight */
}

/* Default required label */
.gfield_required.gfield_required_asterisk {
	font-size: 12px;
	/* Replace with your desired font size */
}

.gfield_required.gfield_required_asterisk,
.gfield_required.gfield_required_text {
	color: var(--red);
	/* Replace with your required text color */
}

.gfield_required.gfield_required_text {
	font-size: 14px;
	/* Replace with your desired font size */
}

/* Gravity forms minimal default styles */
.gform_wrapper > form {
	display: grid;
	grid-column-gap: 1.5rem;
	/* Adjust as needed */
	grid-row-gap: 1.5rem;
	/* Adjust as needed */
}

.gform-body ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gform-body textarea,
.gform-body input:not([type="checkbox"]):not([type="radio"]) {
	width: 100%;
}

.ginput_container.ginput_container_textarea {
	display: flex;
}

.gfield_radio,
.gfield_checkbox {
	display: grid;
	gap: 0.625rem;
}

.gchoice {
	display: flex;
	gap: 0.625rem;
}

.gfield_label {
	display: inline-flex;
	gap: 0.5rem;
	/* Adjust as needed */
	padding-inline-end: 0;
	padding-inline-start: 0;
}

/* 2.5 built-in multi-column support */
.gform_fields {
	display: grid;
	grid-column-gap: 1.5rem;
	/* Adjust as needed */
	grid-row-gap: 1.5rem;
	/* Adjust as needed */
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(auto-fill, auto);
	width: 100%;
}

.gfield {
	border: 0;
	grid-column: 1 / -1;
	padding: 0;
}

.gfield.gfield--width-full {
	grid-column: span 12;
}

.gfield.gfield--width-eleven-twelfths {
	grid-column: span 11;
}

.gfield.gfield--width-five-sixths {
	grid-column: span 10;
}

.gfield.gfield--width-three-quarter {
	grid-column: span 9;
}

.gfield.gfield--width-two-thirds {
	grid-column: span 8;
}

.gfield.gfield--width-seven-twelfths {
	grid-column: span 7;
}

.gfield.gfield--width-half {
	grid-column: span 6;
}

.gfield.gfield--width-five-twelfths {
	grid-column: span 5;
}

.gfield.gfield--width-third {
	grid-column: span 4;
}

.gfield.gfield--width-quarter {
	grid-column: span 3;
}

@media (max-width: 640px) {
	.gform_fields {
		grid-column-gap: 0;
	}

	.gfield:not(.gfield--width-full) {
		grid-column: 1 / -1;
	}
}

/* Hide SPAM Honeypot fields */
.gform_validation_container {
	display: none;
}

/* Default confirmation message styles */
.gform_confirmation_message {
	background-color: transparent;
	color: var(--accent);
	font-size: 18px;
}

/* hidden field */
.gfield_visibility_hidden {
	display: none;
	width: 0;
	height: 0;
}

/* ==========================================================================
  gd-gform - gravity forms custom styles
   ========================================================================== */
.gd-form .gd-buttons-wrap,
.gd-form .gd-button-wrap,
.gd-form .gd-button {
	width: 100%;
}
.gd-form .gd-buttons-wrap {
	margin-top: 0;
}
/* Ukrywanie oznaczenia pola wymaganego */
.gd-form .gfield_required {
	display: none;
}

/* Wyłączenie możliwości zmiany rozmiaru pola textarea */
.gform_wrapper textarea {
	resize: none;
	height: 10rem;
}

/* Pozycjonowanie pól formularza */
.gform_wrapper .gfield {
	position: relative;
}

/* Styl dla etykiety floating */
.gform_wrapper .gd-floating-label .gfield_label {
	position: absolute;
	top: 0.75rem;
	left: 1rem;
	font-size: 1rem;
	color: var(--gray-light);
	transition: all 0.2s ease-out;
	pointer-events: none;
	background: var(--black);
	padding: 0 0.2rem;
	z-index: 1; /* Ustawienie nad polem */
}

/* Aktywacja floating label */
.gform_wrapper .gd-floating-label .gfield_label.gd-label-active {
	top: -0.75rem;
	font-size: 0.75rem;
	color: var(--accent);
}

/* Styl dla input i textarea */
.gform_wrapper .gd-floating-label input,
.gform_wrapper .gd-floating-label textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: var(--gray-dark);
	border-radius: 0;
	color: var(--gray-light);
	outline: none;
	background: transparent;
	transition: border-color 0.2s ease-out;
	z-index: 0; /* Ustawienie poniżej etykiety */
}

/* Styl focus dla input i textarea */
.gform_wrapper .gd-floating-label input:focus,
.gform_wrapper .gd-floating-label textarea:focus {
	/* border-color: var(--gray-light); */
}

/* Wyłączenie błędnej kaskady */
.gform_wrapper
	.gd-floating-label
	textarea
	.gform_wrapper
	.gd-floating-label
	input:focus,
.gform_wrapper .gd-floating-label textarea:focus {
	/* border-color: var(--gray-light); */
}

/* Wrapper dla pola */
.gform_wrapper .ginput_container {
	position: relative;
}

/* Pseudo-element ::after dodany do wrappera */
.gform_wrapper .ginput_container::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 1px;
	z-index: 2;
	transition: 0.2s ease;
}

/* Efekt focus: wrapper aktywuje gradientowy efekt */
.gform_wrapper .ginput_container.has-focus::after {
	width: 100%;
	filter: blur(0.063rem);
	background-image: linear-gradient(
		to right,
		rgba(255, 255, 255, 0) 0%,
		var(--gray-light) 20%,
		var(--gray-light) 90%,
		rgba(255, 255, 255, 0) 100%
	);
	box-shadow: 0 0 5px var(--gray-light), 0 0 15px var(--gray-light),
		0 0 30px var(--gray-light), 0 0 60px var(--gray-light);
}

/* Wrapper dla checkboxa */
.gform_wrapper .ginput_container_consent {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.875rem;
	color: var(--gray-light);
}
.gform_wrapper .gfield--input-type-consent .gfield_label {
	display: none;
}
.gform_wrapper .ginput_container_consent a {
	color: var(--accent);
}
.gform_wrapper .ginput_container_consent .gfield_consent_label {
	line-height: 1.2rem;
}

/* Ukrycie domyślnego checkboxa */
.gform_wrapper .ginput_container_consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 2rem;
	height: 2rem;
	margin: 0;
	border: 1px solid var(--gray-dark);
	background: transparent;
	cursor: pointer;
	transition: all 0.2s ease;
	display: inline-block;
	position: relative;
	flex-shrink: 0;
}

/* Dodanie efektu hover */
.gform_wrapper .ginput_container_consent input[type="checkbox"]:hover {
	border-color: var(--gray-light);
	box-shadow: 0 0 4px var(--gray-light), inset 0 0 4px var(--gray-light);
}

/* Efekt zaznaczenia checkboxa */
.gform_wrapper .ginput_container_consent input[type="checkbox"]:checked {
	background: transparent;
	border-color: var(--accent);
}

/* Dodanie ikony SVG jako zaznaczenia */
.gform_wrapper
	.ginput_container_consent
	input[type="checkbox"]:checked::before {
	content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M20.2071 6.70711L9.70711 17.2071C9.51184 17.4024 9.19526 17.4024 9 17.2071L3 11.2071L3.70711 10.5L9.35355 16.1464L19.5 6L20.2071 6.70711Z" fill="%23AFAEAF"/></svg>');
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1.5rem;
	height: 1.5rem;
	display: block;
}

/* Styl scrollbar-a */
textarea {
	scrollbar-width: thin; /* Dla Firefox */
	scrollbar-color: var(--gray-dark) transparent; /* Kolory dla Firefox */
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

/* Styl dla WebKit (Chrome, Edge, Safari) */
textarea::-webkit-scrollbar {
	width: 0.5rem;
	height: auto;
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

.gform_submission_error {
	color: var(--red);
	font-size: 14px;
}
