/* Strona „Kontakt”: dane, formularz (Fluent Forms) i rezerwacja terminu. */

/* ---------- Dane kontaktowe i formularz ---------- */

.pr-kontakt {
	display: flex;
}

.pr-kontakt__lewa,
.pr-kontakt__prawa {
	display: flex;
	flex: 0 0 50%;
	min-width: 0;
	flex-direction: column;
	gap: 20px;
	padding: 130px 80px;
}

.pr-kontakt__lewa {
	background: var(--wp--preset--color--burgund);
}

.pr-nadtytul--kontakt {
	--pr-linia: 150px;
}

.pr-nadtytul--napisz {
	--pr-linia: 253px;
}

.pr-nadtytul--termin {
	--pr-linia: 259px;
}

.pr-kontakt .pr-kontakt__tytul,
.pr-termin .pr-termin__tytul {
	margin: 8px 0 16px;
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 68px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wp--preset--color--krem);
}

.pr-kontakt .pr-kontakt__tekst {
	margin-top: 20px;
	padding-bottom: 14.4px;
}

.pr-kontakt__tekst p,
.pr-termin .pr-termin__tekst {
	margin: 0 0 14.4px;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 16px;
	line-height: 1.7em;
	color: var(--wp--preset--color--krem);
}

.pr-kontakt__dane {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 16px 0 17px;
}

.pr-kontakt .pr-kontakt__etykieta {
	margin: 0;
	color: var(--wp--preset--color--krem);
}

.pr-kontakt__etykieta span {
	font-size: 13px;
	line-height: 13px;
	letter-spacing: 2.3px;
	text-transform: uppercase;
}

.pr-kontakt .pr-kontakt__wartosc {
	margin: 0;
	font-size: 23px;
	line-height: 1;
	color: var(--wp--preset--color--krem);
}

/* ---------- Formularz Fluent Forms ---------- */

.pr-kontakt__prawa .frm-fluent-form fieldset {
	display: flex;
	flex-wrap: wrap;
	gap: 26px 10px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.pr-kontakt__prawa .frm-fluent-form .ff-el-group {
	flex: 0 0 100%;
	margin: 0;
}

.pr-kontakt__prawa .frm-fluent-form .ff-el-group.pr-ff-polowa {
	flex-basis: calc(50% - 5px);
}

.pr-kontakt__prawa .frm-fluent-form .ff-el-input--label {
	display: block;
	margin: 0;
	padding: 0 0 8px;
	line-height: 19px;
}

.pr-kontakt__prawa .frm-fluent-form .ff-el-input--label label {
	display: block;
	margin: 0;
	font-family: var(--wp--preset--font-family--archivo);
	font-size: 12px;
	font-weight: 600;
	line-height: 19px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--przygaszony);
}

.pr-kontakt__prawa .frm-fluent-form .ff-el-form-control {
	width: 100%;
	padding: 8px 16px;
	border: 1px solid rgba(48, 72, 84, 0.16);
	border-radius: 12px;
	background: transparent;
	box-shadow: none;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 16px;
	line-height: 32px;
	color: var(--wp--preset--color--atrament);
}

.pr-kontakt__prawa .frm-fluent-form select.ff-el-form-control {
	height: 44px;
	padding: 5px 20px 5px 14px;
}

.pr-kontakt__prawa .frm-fluent-form textarea.ff-el-form-control {
	height: 140px;
	padding: 5px 14px;
	resize: vertical;
}

.pr-kontakt__prawa .frm-fluent-form .ff-el-form-control:focus {
	border-color: var(--wp--preset--color--burgund);
	outline: 0;
	background: transparent;
}

.pr-kontakt__prawa .frm-fluent-form .ff_gdpr_field,
.pr-kontakt__prawa .frm-fluent-form .ff-el-form-check {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 13px;
	line-height: 1.7;
	color: var(--wp--preset--color--przygaszony);
}

.pr-kontakt__prawa .frm-fluent-form .ff-el-form-check a {
	color: var(--wp--preset--color--burgund);
}

.pr-kontakt__prawa .frm-fluent-form .ff-el-group:has(.ff-el-form-check) {
	margin-top: 6px;
}

.pr-kontakt__prawa .frm-fluent-form .ff_submit_btn_wrapper {
	margin: 0;
}

.pr-kontakt__prawa .frm-fluent-form .ff-btn-submit {
	width: calc(50% - 5px);
	min-width: 0;
	padding: 22px 30px;
	border: 0;
	border-radius: 10px;
	background: var(--wp--preset--color--burgund);
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 12px;
	font-weight: 600;
	line-height: 12px;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--wp--preset--color--krem);
	transition: background 0.3s;
}

.pr-kontakt__prawa .frm-fluent-form .ff-btn-submit:hover,
.pr-kontakt__prawa .frm-fluent-form .ff-btn-submit:focus-visible {
	background: var(--wp--preset--color--burgund-ciemny);
	color: var(--wp--preset--color--krem);
}

.pr-kontakt__prawa .ff-message-success {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	font-size: 16px;
	color: var(--wp--preset--color--atrament);
}

/* Bez gwiazdek przy wymaganych polach (jak w poprzednim formularzu). */
.pr-kontakt__prawa .frm-fluent-form .ff-el-is-required.asterisk-right label::after,
.pr-kontakt__prawa .frm-fluent-form .ff-el-is-required.asterisk-left label::before {
	content: none;
}

.pr-kontakt__prawa .frm-fluent-form .ff-btn-submit::after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 20px;
	vertical-align: -1px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.2'%3E%3Cpath d='M1 6h9M7 3l3 3-3 3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='black' stroke-width='1.2'%3E%3Cpath d='M1 6h9M7 3l3 3-3 3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Rezerwacja terminu ---------- */

/* Ciemny blok pod bordowym (obie połowy po lewej), kalendarz pod formularzem po prawej: bez stykających się narożników. */
.pr-termin {
	display: flex;
	flex-direction: row;
}

.pr-termin__opis {
	display: flex;
	flex: 0 0 50%;
	flex-direction: column;
	gap: 20px;
	padding: 130px 80px;
	background: var(--wp--preset--color--granat-nocny);
}

.pr-termin__kalendarz {
	flex: 1 1 auto;
	padding: 130px 80px;
}

.pr-termin__karta {
	padding: 34px;
	border: 1px solid rgba(41, 51, 58, 0.12);
	border-radius: 21px;
	background: #fff;
}

.pr-termin__ramka {
	display: block;
	width: 100%;
	height: 600px;
}

/* ---------- Telefon i tablet ---------- */

@media (max-width: 1024px) {
	.pr-kontakt {
		flex-direction: column;
	}

	.pr-termin {
		flex-direction: column-reverse;
	}

	.pr-kontakt__lewa,
	.pr-kontakt__prawa,
	.pr-termin__opis,
	.pr-termin__kalendarz {
		flex-basis: auto;
	}

	.pr-kontakt__lewa {
		padding: 85px 17px 51px;
	}

	.pr-kontakt__prawa {
		padding: 52px 25px 25px;
	}

	.pr-termin__opis {
		padding: 85px 17px;
	}

	.pr-termin__kalendarz {
		padding: 0;
	}

	.pr-termin__karta {
		padding: 34px 25px;
	}

	.pr-kontakt .pr-kontakt__tytul,
	.pr-termin .pr-termin__tytul {
		font-size: clamp(36px, 10.5vw, 68px);
	}

	.pr-kontakt__prawa .frm-fluent-form .ff-el-group.pr-ff-polowa {
		flex-basis: 100%;
	}

	.pr-kontakt__prawa .frm-fluent-form .ff-btn-submit {
		width: 100%;
	}
}
