/* ─────────────────────────────────────────────
 * Wspomnienia - strona zamówień personalizowanych
 * ───────────────────────────────────────────── */

.kn-wspomnienia {
	background: var(--kn-paper, #fbf7f1);
	color: var(--kn-ink, #1f1d1a);
}

.kn-container--narrow {
	max-width: var(--kn-container-narrow, 1080px);
	margin-inline: auto;
	padding-inline: var(--kn-gutter, 1.5rem);
}

.kn-eyebrow--light {
	color: rgba(255, 255, 255, .85);
}

/* ─── Hero ─── */
.kn-wspomnienia__hero {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: center;
	background-color: #2a2723;
	background-size: cover;
	background-position: center 30%;
	background-repeat: no-repeat;
	color: #fff;
	padding-block: clamp(3rem, 8vw, 6rem);
}

/* Pośrednie viewport (tablety 600-1024px): ograniczona wysokość + dobre kadrowanie */
@media (max-width: 1024px) and (min-width: 601px) {
	.kn-wspomnienia__hero {
		min-height: 340px;
		max-height: 540px;
	}
}

.kn-wspomnienia__hero .kn-container {
	max-width: var(--kn-container, 1280px);
	margin-inline: auto;
	padding-inline: var(--kn-gutter, 1.5rem);
}

.kn-wspomnienia__title {
	font-family: var(--kn-font-display, "Cormorant Garamond", serif);
	font-weight: 300;
	font-size: clamp(2.25rem, 5vw, 4rem);
	line-height: 1.1;
	margin: .5rem 0 1rem;
	color: #fff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .35);
}

.kn-wspomnienia__lead {
	font-family: var(--kn-font-body, "Jost", sans-serif);
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.55;
	max-width: 620px;
	margin: 0;
	color: rgba(255, 255, 255, .92);
	text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}

/* ─── Intro / kroki ─── */
.kn-wspomnienia__intro {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.kn-wspomnienia__steps {
	list-style: none;
	counter-reset: step;
	padding: 0;
	margin: 2rem 0 0;
	display: grid;
	gap: 1.25rem;
}

.kn-wspomnienia__steps li {
	counter-increment: step;
	position: relative;
	padding: 1.25rem 1.5rem 1.25rem 4rem;
	background: #fff;
	border: 1px solid var(--kn-line, #e9e1d2);
	border-radius: 14px;
	line-height: 1.55;
}

.kn-wspomnienia__steps li::before {
	content: counter(step);
	position: absolute;
	left: 1rem;
	top: 1rem;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: var(--kn-cream-200, #efe8db);
	color: var(--kn-ink-700, #4a4641);
	font-family: var(--kn-font-body, "Jost", sans-serif);
	font-size: 1rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ─── Galeria realizacji ─── */
.kn-wspomnienia__gallery {
	padding-block: clamp(3rem, 6vw, 5rem);
	background: #f5efe6;
}

.kn-wspomnienia__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
	margin-top: 1.5rem;
}

.kn-wspomnienia__figure {
	margin: 0;
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(31, 29, 26, .06);
}

.kn-wspomnienia__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.kn-wspomnienia__cap {
	padding: 1rem 1.25rem;
	font-family: var(--kn-font-body, "Jost", sans-serif);
	font-size: .95rem;
	color: var(--kn-muted, #6b6258);
	line-height: 1.5;
}

/* ─── Formularz ─── */
.kn-wspomnienia__form {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.kn-form {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
	background: #fff;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid var(--kn-line, #e9e1d2);
	border-radius: 16px;
}

.kn-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

@media (max-width: 600px) {
	.kn-form__row { grid-template-columns: 1fr; }
}

.kn-form__field {
	display: flex;
	flex-direction: column;
	gap: .35rem;
}

.kn-form__label {
	font-family: var(--kn-font-body, "Jost", sans-serif);
	font-size: .9rem;
	font-weight: 500;
	color: var(--kn-ink, #1f1d1a);
}

.kn-form__req {
	color: #b04a3a;
	margin-left: .15rem;
}

.kn-form input,
.kn-form textarea {
	font-family: inherit;
	font-size: 1rem;
	padding: .75rem .9rem;
	border: 1px solid var(--kn-line, #e9e1d2);
	border-radius: 10px;
	background: #fbf7f1;
	color: var(--kn-ink, #1f1d1a);
	transition: border-color .15s ease, background .15s ease;
}

.kn-form input:focus,
.kn-form textarea:focus {
	outline: none;
	border-color: var(--kn-accent, #c89f7a);
	background: #fff;
}

.kn-form textarea {
	resize: vertical;
	min-height: 140px;
}

.kn-btn {
	display: inline-block;
	padding: .85rem 2rem;
	border: none;
	border-radius: 999px;
	font-family: var(--kn-font-body, "Jost", sans-serif);
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	transition: transform .12s ease, box-shadow .15s ease, background .15s ease;
	justify-self: start;
}

.kn-btn--primary {
	background: var(--kn-accent, #c89f7a);
	color: #fff;
}

.kn-btn--primary:hover {
	background: #b8896a;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(200, 159, 122, .35);
}

.kn-form__note {
	margin: .5rem 0 0;
	font-size: .85rem;
	color: var(--kn-muted, #6b6258);
}

/* ─── Alerty ─── */
.kn-alert {
	padding: 1rem 1.25rem;
	border-radius: 12px;
	margin-bottom: 1.25rem;
	font-family: var(--kn-font-body, "Jost", sans-serif);
}

.kn-alert--success {
	background: #e5f4e8;
	color: #2c5f3a;
	border: 1px solid #b8d9bf;
}

.kn-alert--error {
	background: #fbe8e4;
	color: #8a2d1f;
	border: 1px solid #e9b7ad;
}

/* ─── Wspomnienia - sekcja na stronie głównej ─── */
.kn-home-wspomnienia {
	padding-block: clamp(3rem, 6vw, 5rem);
	background: #f5efe6;
}

.kn-home-wspomnienia .kn-container {
	max-width: var(--kn-container, 1280px);
	margin-inline: auto;
	padding-inline: var(--kn-gutter, 1.5rem);
}

.kn-home-wspomnienia__layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

@media (max-width: 768px) {
	.kn-home-wspomnienia__layout { grid-template-columns: 1fr; }
}

.kn-home-wspomnienia__media {
	display: block;
	aspect-ratio: 4 / 3;
	background-color: #ddd0bc;
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	box-shadow: 0 8px 30px rgba(31, 29, 26, .12);
	transition: transform .2s ease;
}

.kn-home-wspomnienia__media:hover { transform: scale(1.015); }

.kn-home-wspomnienia__title {
	font-family: var(--kn-font-display, "Cormorant Garamond", serif);
	font-weight: 300;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	line-height: 1.15;
	margin: .5rem 0 1rem;
}

.kn-home-wspomnienia__lead {
	font-family: var(--kn-font-body, "Jost", sans-serif);
	font-size: 1.05rem;
	line-height: 1.6;
	color: var(--kn-muted, #6b6258);
	margin: 0 0 1.5rem;
	max-width: 56ch;
}

/* ─── Contact Form 7 nakładka (żeby pasowała do stylu kn-form) ─── */
.kn-form--cf7 .wpcf7-form { display: grid; gap: .25rem; }
.kn-form--cf7 .wpcf7-form > p { margin: 0 0 .65rem !important; padding: 0; }
.kn-form--cf7 .wpcf7-form br { display: none !important; }
.kn-form--cf7 .wpcf7-form label,
.kn-form--cf7 .kn-form__label {
	display: block;
	font-family: var(--kn-font-body, "Jost", sans-serif);
	font-size: .875rem;
	font-weight: 500;
	color: var(--kn-ink-700, #4a4641);
	margin-bottom: .3rem;
	line-height: 1.4;
}
.kn-form--cf7 .wpcf7-form .wpcf7-form-control-wrap { display: block; }
.kn-form--cf7 .wpcf7-form-control:not(.wpcf7-submit) {
	width: 100%; padding: .75rem 1rem; border: 1px solid #d8cdb8;
	border-radius: 8px; font: inherit; background: #fff;
	transition: border-color .15s, box-shadow .15s;
}
.kn-form--cf7 .wpcf7-form-control:not(.wpcf7-submit):focus {
	outline: none; border-color: var(--kn-accent, #8a6c3f);
	box-shadow: 0 0 0 3px rgba(138,108,63,.15);
}
.kn-form--cf7 textarea.wpcf7-form-control { resize: vertical; min-height: 140px; }
.kn-form--cf7 .wpcf7-submit { width: auto; cursor: pointer; }
.kn-form--cf7 .wpcf7-not-valid-tip { color: #b03a2e; font-size: .9rem; margin-top: .35rem; display: block; }
.kn-form--cf7 .wpcf7 form .wpcf7-response-output {
	border-radius: 8px; padding: .85rem 1rem; margin: 1rem 0 0; font-weight: 500;
}
.kn-form--cf7 .wpcf7 form.sent .wpcf7-response-output { border-color: #4a7c59; background: #ecf6ef; color: #2c5e3f; }
.kn-form--cf7 .wpcf7 form.invalid .wpcf7-response-output,
.kn-form--cf7 .wpcf7 form.unaccepted .wpcf7-response-output { border-color: #b03a2e; background: #fbecea; color: #7d251c; }

/* ─── Pole file upload - custom wygląd zamiast browser default ─── */
.kn-form--cf7 input[type="file"].kn-form__input,
.kn-form--cf7 .wpcf7-form input[type="file"] {
	padding: .55rem .9rem !important;
	background: #f5efe6 !important;
	border: 1px solid #d8c9b3 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	font-size: .875rem !important;
	color: var(--kn-ink-700, #4a4641) !important;
	box-shadow: none !important;
}
.kn-form--cf7 input[type="file"]::file-selector-button {
	background: var(--kn-cream-200, #efe8db);
	border: 1px solid #c0ae90;
	border-radius: 6px;
	padding: .35rem .8rem;
	font-family: var(--kn-font-body, "Jost", sans-serif);
	font-size: .8rem;
	font-weight: 500;
	color: var(--kn-ink-700, #4a4641);
	cursor: pointer;
	margin-right: .75rem;
	transition: background .15s;
}
.kn-form--cf7 input[type="file"]::file-selector-button:hover {
	background: #d8c8aa;
}

/* Etykieta pola file - ten sam styl co inne */
.kn-form__field { display: flex; flex-direction: column; gap: .3rem; }

/* Dwukolumnowy wiersz Imię + Email */
.kn-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
@media (max-width: 600px) {
	.kn-form__row { grid-template-columns: 1fr; }
}

/* Czarny trójkąt (artefakt Storefront) przed sekcją formularza */
.kn-wspomnienia__form .kn-section__head::before,
.kn-wspomnienia__form::before,
.page-template-template-wspomnienia .entry-content::before,
.page-template-template-wspomnienia .site-content::before {
	display: none !important;
	content: none !important;
}
