/*
 * Ayorn Tools: formularze „Kontakt” i „Wycena indywidualna” (AYR-D50).
 * Jasny, beżowo-złoty styl premium. Zaokrąglenia i stany jak przełączniki w karta.css,
 * przycisk wysyłki jak przyciski.css (bierze wariant z panelu przez --ay-btn-*, a gdy
 * przyciski.css nie jest na stronie, ma złoty gradient jako wartość zapasową).
 * Ładowany tylko na stronach z [ay_formularz]. Nadpisuje style pól motywu Flatsome.
 */

.ay-form {
	--ayf-tusz: var(--ay-tusz, #241c18);
	--ayf-zloto: var(--ay-zloto, #c1922d);
	--ayf-linia: #e7dcc4;
	--ayf-linia-mocna: #cca747;
	--ayf-mgla: #8a7d74;
	--ayf-tekst2: #5f544d;
	--ayf-krem: linear-gradient(180deg, #fffdf8, #faf4e8);
	--ayf-krem-akt: linear-gradient(180deg, #fffdf5, #f6ecd4);
	--ayf-fokus: 0 0 0 4px rgba(200, 162, 74, .18);
	--ayf-ptaszek: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E");
	position: relative;
	box-sizing: border-box;
	max-width: 780px;
	margin: 0 auto 40px;
	padding: clamp(22px, 4vw, 42px);
	border: 1px solid #eadfca;
	border-radius: 24px;
	background: var(--ayf-krem);
	box-shadow: 0 18px 44px rgba(80, 58, 30, .07);
	color: var(--ayf-tusz);
	color-scheme: light;
	text-align: left;
}
.ay-form *,
.ay-form *::before,
.ay-form *::after { box-sizing: border-box; }

/* ---------- nagłówek ---------- */
.ay-form__naglowek { margin: 0 0 24px; }
.ay-form__naglowek::before {
	content: "";
	display: block;
	width: 44px;
	height: 2px;
	margin: 0 0 16px;
	border-radius: 2px;
	background: linear-gradient(90deg, #e3c27a, #b8892c);
}
.ay-form .ay-form__tytul {
	margin: 0 0 8px;
	padding: 0;
	color: var(--ayf-tusz);
	font-size: clamp(24px, 3.6vw, 32px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .01em;
	text-transform: none;
}
.ay-form__wstep { margin: 0; color: var(--ayf-tekst2); font-size: 15px; line-height: 1.6; }

/* ---------- „Pytasz o: produkt” ---------- */
.ay-form__produkt {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 26px;
	padding: 12px 16px 12px 12px;
	border: 1px solid var(--ayf-linia);
	border-radius: 18px;
	background: #fff;
}
.ay-form__produkt-foto { flex: 0 0 auto; display: block; line-height: 0; }
.ay-form__produkt-foto img,
.ay-form .ay-form__produkt-img {
	width: 64px !important;
	height: 64px !important;
	margin: 0 !important;
	border-radius: 12px;
	object-fit: cover;
}
.ay-form__produkt-opis { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ay-form__produkt-nad { color: var(--ayf-mgla); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.ay-form .ay-form__produkt-nazwa {
	color: var(--ayf-tusz);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.ay-form .ay-form__produkt-nazwa:hover { text-decoration: underline; text-decoration-color: var(--ayf-zloto); text-underline-offset: 3px; }

/* ---------- sekcje wyceny ---------- */
.ay-form fieldset.ay-form__sekcja { min-width: 0; margin: 0 0 28px; padding: 0; border: 0; }
.ay-form__sekcja + .ay-form__sekcja { padding-top: 24px; border-top: 1px solid #efe6d6; }
.ay-form legend.ay-form__legenda {
	float: left;
	width: 100%;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	padding: 0;
	color: var(--ayf-tusz);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.ay-form__legenda + * { clear: both; }
.ay-form__nr {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: linear-gradient(135deg, #ead7a6, #c9a24f);
	color: var(--ayf-tusz);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
}

/* ---------- siatka i pola ---------- */
.ay-form__siatka { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }
.ay-form__pole { grid-column: 1 / -1; min-width: 0; margin: 0; }
.ay-form__pole--pol { grid-column: auto; }
.ay-form fieldset.ay-form__pole { padding: 0; border: 0; }

.ay-form label.ay-form__etykieta,
.ay-form legend.ay-form__etykieta {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 8px;
	padding: 0;
	color: var(--ayf-tusz);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
}
.ay-form__gw { color: var(--ayf-zloto); font-weight: 600; }
.ay-form__opc { color: var(--ayf-mgla); font-size: 12px; font-weight: 400; }
.ay-form__podp { display: block; margin: 7px 0 0; color: var(--ayf-mgla); font-size: 12.5px; line-height: 1.45; }

.ay-form input[type="text"],
.ay-form input[type="email"],
.ay-form input[type="tel"],
.ay-form select,
.ay-form textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 52px;
	margin: 0;
	padding: 13px 16px;
	border: 1px solid var(--ayf-linia);
	border-radius: 14px;
	background-color: #fff;
	box-shadow: none;
	color: var(--ayf-tusz);
	font-family: inherit;
	font-size: 16px; /* 16 px = bez powiększania strony na iPhonie */
	line-height: 1.45;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.ay-form textarea { min-height: 140px; resize: vertical; }
.ay-form select {
	padding-right: 46px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8892c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 18px 18px;
	cursor: pointer;
}
.ay-form input::placeholder,
.ay-form textarea::placeholder { color: #b3a79c; opacity: 1; }
.ay-form input[type="text"]:hover,
.ay-form input[type="email"]:hover,
.ay-form input[type="tel"]:hover,
.ay-form select:hover,
.ay-form textarea:hover { border-color: #dcc58e; }
.ay-form input[type="text"]:focus,
.ay-form input[type="email"]:focus,
.ay-form input[type="tel"]:focus,
.ay-form select:focus,
.ay-form textarea:focus { border-color: var(--ayf-linia-mocna); box-shadow: var(--ayf-fokus); outline: none; }

/* ---------- „Co chcesz zamówić?” — lista wyboru jako kafelki ---------- */
.ay-form__chipy { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.ay-form label.ay-form__chip,
.ay-form label.ay-form__karta {
	position: relative;
	display: flex;
	margin: 0;
	color: var(--ayf-tusz);
	font-weight: 500;
	cursor: pointer;
}
/* Pole zostaje w DOM (nie display:none) — przeglądarka może pokazać komunikat „wybierz jedną z opcji”. */
.ay-form__chip input,
.ay-form__karta input,
.ay-form__zgoda input {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}
.ay-form__chip span {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 54px;
	padding: 12px 14px;
	border: 1px solid var(--ayf-linia);
	border-radius: 14px;
	background: var(--ayf-krem);
	font-size: 14.5px;
	line-height: 1.3;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.ay-form__chip span::before {
	content: "";
	flex: 0 0 18px;
	height: 18px;
	border: 1.5px solid #d4c4a0;
	border-radius: 50%;
	background: #fff center / 11px 11px no-repeat;
	transition: background-color .2s ease, border-color .2s ease;
}
.ay-form__chip:hover span { border-color: #dcc58e; }
.ay-form__chip input:checked + span {
	border-color: var(--ayf-linia-mocna);
	background: var(--ayf-krem-akt);
	box-shadow: 0 6px 18px rgba(176, 138, 48, .16);
	font-weight: 600;
}
.ay-form__chip input:checked + span::before { border-color: #b8892c; background-color: #c9a24f; background-image: var(--ayf-ptaszek); }
.ay-form__chip input:focus-visible + span { outline: 2px solid var(--ayf-zloto); outline-offset: 2px; }

/* ---------- modyfikacja czy własny projekt — dwie karty ---------- */
.ay-form__karty { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ay-form label.ay-form__karta {
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--ayf-linia);
	border-radius: 16px;
	background: var(--ayf-krem);
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.ay-form__karta:hover { border-color: #dcc58e !important; }
.ay-form__karta-kropka {
	flex: 0 0 20px;
	height: 20px;
	margin-top: 1px;
	border: 1.5px solid #d4c4a0;
	border-radius: 50%;
	background: #fff;
	transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.ay-form__karta-tekst { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ay-form__karta-tekst strong { font-size: 15px; font-weight: 600; line-height: 1.3; }
.ay-form__karta-tekst small { color: var(--ayf-mgla); font-size: 13px; line-height: 1.4; }
.ay-form label.ay-form__karta:has(input:checked) {
	border-color: var(--ayf-linia-mocna);
	background: var(--ayf-krem-akt);
	box-shadow: 0 6px 18px rgba(176, 138, 48, .16);
}
.ay-form__karta input:checked ~ .ay-form__karta-kropka { border-color: #b8892c; background: #c9a24f; box-shadow: inset 0 0 0 4px #fff; }
.ay-form__karta input:focus-visible ~ .ay-form__karta-kropka { outline: 2px solid var(--ayf-zloto); outline-offset: 2px; }

/* ---------- załącznik ---------- */
.ay-form__plik {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 16px;
	border: 1.5px dashed #dcc58e;
	border-radius: 16px;
	background: #fffdf8;
}
.ay-form .ay-form__plik input[type="file"] {
	width: 100%;
	max-width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--ayf-tekst2);
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
}
.ay-form .ay-form__plik input[type="file"]::file-selector-button {
	margin: 0 12px 0 0;
	padding: 10px 18px;
	border: 1px solid #dcc58e;
	border-radius: 999px;
	background: linear-gradient(135deg, #f3e6c4, #dcc082);
	color: var(--ayf-tusz);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
.ay-form .ay-form__plik input[type="file"]:focus-visible { outline: 2px solid var(--ayf-zloto); outline-offset: 4px; border-radius: 8px; }
.ay-form__plik-blad { display: block; margin-top: 6px; color: #a3361f; font-size: 13px; font-weight: 600; }
.ay-form__plik-blad[hidden] { display: none; }

/* ---------- zgoda ---------- */
.ay-form label.ay-form__zgoda {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 26px 0 22px;
	color: var(--ayf-tekst2);
	font-size: 13.5px;
	font-weight: 400;
	line-height: 1.55;
	cursor: pointer;
}
.ay-form__zgoda-znak {
	flex: 0 0 22px;
	height: 22px;
	margin-top: 1px;
	border: 1.5px solid #d4c4a0;
	border-radius: 7px;
	background: #fff center / 13px 13px no-repeat;
	transition: background-color .2s ease, border-color .2s ease;
}
.ay-form__zgoda input:checked + .ay-form__zgoda-znak { border-color: #b8892c; background-color: #c9a24f; background-image: var(--ayf-ptaszek); }
.ay-form__zgoda input:focus-visible + .ay-form__zgoda-znak { outline: 2px solid var(--ayf-zloto); outline-offset: 2px; }
.ay-form__zgoda a,
.ay-form .ay-form__link { color: var(--ayf-tusz); text-decoration: underline; text-decoration-color: var(--ayf-zloto); text-underline-offset: 3px; }

/* ---------- wysyłka (styl przyciski.css) ---------- */
.ay-form__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.ay-form button.ay-form__wyslij {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 260px;
	min-height: 54px;
	margin: 0;
	padding: 0 32px;
	border: 1px solid var(--ay-btn-ramka, transparent);
	border-radius: 999px;
	background: var(--ay-btn-tlo, linear-gradient(135deg, #ead7a6 0%, #cfab5c 50%, #b8892c 100%));
	box-shadow: var(--ay-btn-cien, 0 6px 16px rgba(184, 137, 44, .25));
	color: var(--ay-btn-tekst, #241c18);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .12em;
	text-shadow: none;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease;
}
.ay-form button.ay-form__wyslij:hover { background: var(--ay-btn-hover, linear-gradient(135deg, #f0dfb4 0%, #d6b465 50%, #c0922f 100%)); transform: translateY(-1px); }
.ay-form button.ay-form__wyslij:focus-visible { outline: 2px solid var(--ayf-tusz); outline-offset: 3px; }
.ay-form button.ay-form__wyslij:disabled { opacity: .7; cursor: progress; transform: none; }
.ay-form__dopisek { flex: 1 1 220px; margin: 0; color: var(--ayf-mgla); font-size: 12.5px; line-height: 1.45; }

/* ---------- komunikaty ---------- */
.ay-form__blad {
	margin: 0 0 22px;
	padding: 14px 16px;
	border: 1px solid #efc6bb;
	border-radius: 14px;
	background: #fdf1ee;
	color: #8a2e1a;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
}
.ay-form__blad:focus,
.ay-form__sukces:focus { outline: none; }
.ay-form__sukces { padding: 18px 4px 6px; text-align: center; }
.ay-form__sukces-ikona {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin: 0 0 16px;
	border-radius: 50%;
	background: linear-gradient(135deg, #ead7a6, #c9a24f);
	box-shadow: 0 8px 22px rgba(176, 138, 48, .25);
	color: #fff;
}
.ay-form .ay-form__sukces-tytul { margin: 0 0 8px; color: var(--ayf-tusz); font-size: 22px; font-weight: 600; line-height: 1.3; }
.ay-form__sukces-tekst { max-width: 520px; margin: 0 auto 18px; color: var(--ayf-tekst2); font-size: 15px; line-height: 1.6; }
.ay-form__sukces p:last-child { margin-bottom: 0; }

/* pułapka na boty — poza ekranem, nie display:none (część botów omija ukryte pola) */
.ay-form .ay-form__pulapka { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- telefon ---------- */
@media (max-width: 599px) {
	.ay-form { margin-bottom: 28px; padding: 22px 16px; border-radius: 18px; }
	.ay-form__siatka,
	.ay-form__karty { grid-template-columns: 1fr; }
	.ay-form__pole--pol { grid-column: 1 / -1; }
	.ay-form__chipy { grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)); gap: 8px; }
	.ay-form__chip span { min-height: 52px; padding: 11px 12px; gap: 8px; font-size: 14px; }
	.ay-form__produkt { padding: 10px 12px 10px 10px; }
	.ay-form__produkt-foto img,
	.ay-form .ay-form__produkt-img { width: 56px !important; height: 56px !important; }
	.ay-form button.ay-form__wyslij { width: 100%; min-width: 0; padding: 0 20px; }
	.ay-form .ay-form__plik input[type="file"]::file-selector-button { display: block; margin: 0 0 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.ay-form *,
	.ay-form *::before { transition: none !important; }
	.ay-form button.ay-form__wyslij:hover { transform: none; }
}

/* Strona Kontakt: formularz + panel z danymi (16.10) */
.ay-kontakt { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 28px; align-items: start; max-width: 1080px; margin: 0 auto; }
.ay-kontakt__info { padding: 26px 26px 22px; border: 1px solid #ece3d6; border-radius: 18px; background: #fbf8f3; color: #3b332e; font-size: 15px; line-height: 1.6; }
.ay-kontakt__info h2 { margin: 0 0 14px; font-size: 20px; font-weight: 600; color: #241c18; }
.ay-kontakt__info h3 { margin: 22px 0 6px; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #9a7a35; }
.ay-kontakt__info p { margin: 0 0 8px; }
.ay-kontakt__info a { color: #241c18; text-decoration: underline; text-underline-offset: 3px; }
.ay-kontakt__info .ay-cta { display: inline-flex; margin-top: 6px; padding: 11px 20px; border-radius: 999px; background: linear-gradient(135deg, #ead7a6 0%, #cfab5c 50%, #b8892c 100%); color: #241c18 !important; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none !important; }
.ay-kontakt__firma { font-size: 13.5px; color: #6f645d; }
@media (max-width: 849px) {
	.ay-kontakt { grid-template-columns: 1fr; gap: 18px; }
	.ay-kontakt__info { padding: 20px 18px; }
}

/* Strony z formularzem: wstęp, kroki, skróty i FAQ wokół formularza (17.10). Treść w edytorze strony, tu tylko wygląd. */
.ay-sf { max-width: 1080px; margin: 0 auto; padding: 8px 0 56px; color: #3b332e; }
.ay-sf__wstep { max-width: 720px; margin: 0 auto 28px; text-align: center; }
.ay-sf__nad { margin: 0 0 8px; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #9a7a35; }
.ay-sf__wstep h1, .ay-sf__wstep h2 { margin: 0 0 12px; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; color: #241c18; text-wrap: balance; }
.ay-sf__wstep p { margin: 0 auto; max-width: 60ch; font-size: 16.5px; line-height: 1.65; color: #5d534c; }
.ay-sf__kroki { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 30px !important; padding: 0 !important; list-style: none; counter-reset: krok; }
.ay-sf__kroki li { counter-increment: krok; display: grid; gap: 4px; margin: 0 !important; padding: 18px 18px 16px; border-radius: 16px; background: #fbf8f3; border: 1px solid #efe6d8; list-style: none; }
.ay-sf__kroki li::before { content: counter(krok); display: inline-flex; width: 30px; height: 30px; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid #c9a24f; color: #9a7a35; font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.ay-sf__kroki strong { font-size: 16px; color: #241c18; }
.ay-sf__kroki span { font-size: 14.5px; line-height: 1.5; color: #6f645d; }
.ay-sf__skroty { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 34px 0 0; }
.ay-sf__skroty a { display: grid; gap: 4px; padding: 18px; border-radius: 16px; border: 1px solid #efe6d8; background: #fff; color: #241c18 !important; text-decoration: none !important; transition: border-color .2s ease; }
.ay-sf__skroty a:hover { border-color: #c9a24f; }
.ay-sf__skroty strong { font-size: 16px; }
.ay-sf__skroty span { font-size: 14px; color: #6f645d; }
.ay-sf__faq { max-width: 780px; margin: 40px auto 0; }
.ay-sf__faq h2 { margin: 0 0 14px; font-size: clamp(22px, 3vw, 28px); color: #241c18; text-align: center; }
.ay-sf__faq details { border-bottom: 1px solid #efe6d8; padding: 2px 0; }
.ay-sf__faq summary { cursor: pointer; list-style: none; padding: 14px 32px 14px 0; position: relative; font-weight: 600; font-size: 16px; color: #241c18; }
.ay-sf__faq summary::-webkit-details-marker { display: none; }
.ay-sf__faq summary::after { content: "+"; position: absolute; right: 4px; top: 10px; font-size: 22px; font-weight: 400; color: #9a7a35; }
.ay-sf__faq details[open] summary::after { content: "-"; }
.ay-sf__faq details p { margin: 0 0 14px; line-height: 1.6; color: #5d534c; }
@media (max-width: 849px) {
	.ay-sf__kroki, .ay-sf__skroty { grid-template-columns: 1fr; gap: 10px; }
	.ay-sf__wstep { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) { .ay-sf__skroty a { transition: none; } }
.ay-sf { padding-left: max(0px, env(safe-area-inset-left, 0px)); padding-right: max(0px, env(safe-area-inset-right, 0px)); }
.page-template-page-blank .ay-sf { padding-left: 16px; padding-right: 16px; padding-top: 40px; }

/* 17.10: edytor WordPressa sam dokleja <p> i <br> między kafelkami, co rozbijało siatkę. Te znaczniki nie wpływają na układ. */
.ay-sf__skroty > p, .ay-sf__kroki > p, .ay-kontakt > p, .ay-sf > p:empty { display: contents; }
.ay-sf__skroty br, .ay-sf__kroki br, .ay-kontakt > br { display: none; }
.ay-sf__skroty a { height: 100%; box-sizing: border-box; }

/* ==========================================================================
   17.10 (D73): prostszy styl. Właściciel: „wygląda jak wygenerowane przez AI”.
   Bez karty z gradientem i cieniem, bez ozdobnej kreski, bez złotych kółek i kafelków z poświatą.
   Zwykłe pola z cienką ramką, złoto tylko w przycisku wysyłki.
   ========================================================================== */
.ay-form { max-width: 720px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.ay-form__naglowek::before { display: none; }
.ay-form .ay-form__tytul { font-size: clamp(22px, 3vw, 28px); }
.ay-form__produkt { border-radius: 6px; background: #faf8f5; border-color: #ece6dd; }
.ay-form__produkt-foto img, .ay-form .ay-form__produkt-img { border-radius: 4px; }
.ay-form input[type="text"], .ay-form input[type="email"], .ay-form input[type="tel"], .ay-form select, .ay-form textarea {
	border: 1px solid #d8cfc4 !important; border-radius: 6px !important; background: #fff !important; box-shadow: none !important;
}
.ay-form input:focus, .ay-form select:focus, .ay-form textarea:focus { border-color: #241c18 !important; box-shadow: none !important; }
.ay-form__chip span, .ay-form label.ay-form__karta { border-radius: 6px !important; background: #fff !important; box-shadow: none !important; border-color: #d8cfc4 !important; }
.ay-form__chip input:checked + span, .ay-form label.ay-form__karta:has(input:checked) { background: #f7f1e6 !important; border-color: #241c18 !important; box-shadow: none !important; }
.ay-form__nr { background: none !important; border: 0 !important; box-shadow: none !important; color: #9a7a35 !important; width: auto !important; height: auto !important; font-size: 13px !important; }
.ay-form__sekcja { border-top: 1px solid #ece6dd; padding-top: 22px; }
.ay-form__plik { border-radius: 6px !important; background: #faf8f5 !important; }
.ay-form__zgoda-znak { border-radius: 4px !important; }

/* Kontakt: dane bez pudełka, kolumna z tekstem */
.ay-kontakt { gap: 48px; }
.ay-kontakt__info { padding: 4px 0 0; border: 0; border-radius: 0; background: none; }
.ay-kontakt__info h2 { font-size: 18px; }
.ay-kontakt__info .ay-cta { background: none !important; padding: 0; border-radius: 0; color: #241c18 !important; font-size: 15px; letter-spacing: 0; text-transform: none; text-decoration: underline !important; text-underline-offset: 4px; text-decoration-color: #c9a24f !important; font-weight: 600; }

/* Kroki i skróty: tekst w kolumnach oddzielonych linią, bez kafelków */
.ay-sf__kroki { gap: 28px; }
.ay-sf__kroki li { padding: 16px 0 0; border: 0; border-top: 1px solid #241c18; border-radius: 0; background: none; }
.ay-sf__kroki li::before { content: "Krok " counter(krok); width: auto; height: auto; border: 0; border-radius: 0; color: #9a7a35; font-size: 13px; letter-spacing: .08em; margin-bottom: 2px; justify-content: flex-start; }
.ay-sf__skroty { gap: 28px; }
.ay-sf__skroty a { padding: 16px 0 0; border: 0; border-top: 1px solid #d8cfc4; border-radius: 0; background: none; }
.ay-sf__skroty a strong::after { content: " →"; color: #9a7a35; }
.ay-sf__skroty a:hover strong { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #c9a24f; }
.ay-form__plik { border: 1px solid #ece6dd !important; }

/* 18.10: wycena indywidualna na stronie Kontakt wyraźnie widoczna (karta z przyciskiem), bez danych firmy obok */
.ay-kontakt__wycena { margin: 22px 0 18px; padding: 18px 18px 16px; border-radius: 14px; background: #f4ecdd; }
.ay-kontakt__info .ay-kontakt__wycena h3 { margin: 0 0 6px; font-family: "Marcellus", Georgia, serif; font-size: 20px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #241c18; }
.ay-kontakt__wycena p { margin: 0 0 12px; }
.ay-kontakt__info .ay-kontakt__wycena .ay-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px !important; border-radius: 999px !important; background: linear-gradient(135deg, #ead7a6 0%, #cfab5c 50%, #b8892c 100%) !important; color: #241c18 !important; font-size: 12px !important; font-weight: 600; letter-spacing: .12em !important; text-transform: uppercase !important; text-decoration: none !important; }

/* 18.10: kreska po lewej w przycisku „Wyślij” (tło gradientu powtarzało się pod przezroczystą ramką): tło liczone od ramki, też przy najechaniu */
.ay-form button.ay-form__wyslij, .ay-form button.ay-form__wyslij:hover, .ay-form button.ay-form__wyslij:focus { background-origin: border-box !important; background-clip: border-box !important; background-repeat: no-repeat !important; border-color: transparent !important; }
