.feedback-page {
	--feedback-ink: #1b1b1b;
	--feedback-muted: #6d6861;
	--feedback-line: #e6e0d7;
	--feedback-soft: #faf7f1;
	--feedback-accent: #f79400;
	--feedback-danger: #c0392b;
	background: #f7f5f1;
}

.feedback-section {
	position: relative;
	overflow: hidden;
	padding: 95px 0 110px;
	background: linear-gradient(135deg, #f7f5f1 0%, #fff 52%, #f5efe6 100%);
}

.feedback-section::before,
.feedback-section::after {
	position: absolute;
	border: 1px solid rgba(247, 148, 0, 0.2);
	border-radius: 50%;
	content: '';
	pointer-events: none;
}

.feedback-section::before { top: -170px; left: -130px; width: 430px; height: 430px; }
.feedback-section::after { right: -190px; bottom: -200px; width: 520px; height: 520px; }

.feedback-shell {
	position: relative;
	z-index: 1;
	width: min(860px, calc(100% - 40px));
	margin: 0 auto;
}

.feedback-heading { max-width: 690px; margin: 0 auto 38px; text-align: center; }
.feedback-eyebrow {
	color: var(--feedback-accent);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 2.2px;
	text-transform: capitalize;
}

.feedback-heading h2 {
	margin: 13px 0 15px;
	color: var(--feedback-ink);
	font-size: clamp(34px, 5vw, 56px);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: 1px;
}

.feedback-heading p {margin: 0;color: var(--feedback-muted);font-size: 18px;line-height: 1.7;letter-spacing: 1px;}

.feedback-card {
	padding: 46px 52px 42px;
	border: 1px solid rgba(27, 27, 27, 0.08);
	border-top: 4px solid var(--feedback-accent);
	background: #fff;
	box-shadow: 0 24px 60px rgba(39, 30, 18, 0.11);
}

.feedback-card_top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 32px; padding-bottom: 23px; border-bottom: 1px solid var(--feedback-line); }
.feedback-card_label {color: var(--feedback-accent);font-size: 16px;font-weight: 600;text-transform: capitalize;letter-spacing: 1px;}
.feedback-card_top h3 {margin: 8px 0 0;color: var(--feedback-ink);font-size: 28px;line-height: 1.2;letter-spacing: 1px;}
.feedback-card_mark {color: #bdb5aa;font-size: 11px;font-weight: 700;letter-spacing: 2px;writing-mode: vertical-rl;}

.feedback-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; }
.feedback-field { min-width: 0; }
.feedback-field_full { grid-column: 1 / -1; }
.feedback-field label {display: block;margin-bottom: 8px;color: var(--feedback-ink);font-size: 17px;font-weight: 600;letter-spacing: 1px;}
.feedback-field label span {color: #ffffff;}
.feedback-field input:not(.feedback-file),
.feedback-field textarea {
	width: 100%;
	padding: 14px 15px;
	border: 1px solid var(--feedback-line);
	border-radius: 0;
	outline: 0;
	background: #fff;
	letter-spacing: 1px;
	color: var(--feedback-ink);
	font-size: 15px;
	line-height: 1.4;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}
.feedback-field input:not(.feedback-file) { height: 52px; }
.feedback-field textarea { min-height: 132px; resize: vertical; }
.feedback-field input:not(.feedback-file):focus,
.feedback-field textarea:focus { border-color: var(--feedback-accent); box-shadow: 0 0 0 3px rgba(247, 148, 0, 0.12); }
.feedback-field input.feedback-has-error:not(.feedback-file),
.feedback-field textarea.feedback-has-error { border-color: var(--feedback-danger); box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.08); }

.feedback-upload { display: flex !important; align-items: center; gap: 14px; min-height: 78px; margin: 0 !important; padding: 15px 17px; border: 1px dashed #d8c5ad; background: var(--feedback-soft); cursor: pointer; }
.feedback-upload:hover { border-color: var(--feedback-accent); background: #fffaf2; }
.feedback-upload_icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--feedback-accent); color: #fff; font-size: 26px; font-weight: 300; }
.feedback-upload strong, .feedback-upload small { display: block; }
.feedback-upload strong {color: var(--feedback-ink);font-size: 14px;letter-spacing: 1px;}
.feedback-upload small {margin-top: 4px;color: var(--feedback-muted);font-size: 12px;font-weight: 400;letter-spacing: 1px;}
.feedback-file { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.feedback-file-name {display: block;margin-top: 7px;color: var(--feedback-muted);font-size: 12px;letter-spacing: 1px;}
.feedback-preview { position: relative; display: inline-block; margin-top: 14px; }
.feedback-preview img { display: block; width: 88px; height: 88px; border: 3px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 5px 16px rgba(0, 0, 0, 0.14); }
.feedback-preview_remove { position: absolute; top: -5px; right: -5px; display: grid; width: 25px; height: 25px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--feedback-ink); color: #fff; font-size: 18px; line-height: 1; cursor: pointer; }
.feedback-preview_remove:hover { background: var(--feedback-danger); }

.feedback-captcha_row { display: grid; grid-template-columns: 150px 52px minmax(0, 1fr); gap: 10px; align-items: stretch; }
.feedback-captcha_code { display: grid; min-height: 52px; place-items: center; border: 1px dashed var(--feedback-accent); background: #fffaf2; color: var(--feedback-ink); font-size: 21px; letter-spacing: 4px; user-select: none; }
.feedback-captcha_refresh { border: 0; background: var(--feedback-ink); color: #fff; font-size: 24px; cursor: pointer; }
.feedback-captcha_refresh:hover { background: var(--feedback-accent); }
.feedback-error {display: none;margin-top: 6px;color: var(--feedback-danger);font-size: 12px;line-height: 1.4;letter-spacing: 1px;}
.feedback-error.feedback-error_visible { display: block; }
.feedback-form_bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 31px; padding-top: 24px; border-top: 1px solid var(--feedback-line); }
.feedback-required {margin: 0;color: var(--feedback-muted);font-size: 12px;letter-spacing: 1px;}
.feedback-submit {padding: 15px 23px;border: 0;background: var(--feedback-ink);color: #fff;font-size: 16px;font-weight: 600;cursor: pointer;letter-spacing: 1px;}
.feedback-submit span { margin-left: 12px; color: var(--feedback-accent); font-size: 19px; }
.feedback-submit:hover { background: var(--feedback-accent); }
.feedback-submit:hover span { color: #fff; }
.feedback-success { display: none; margin: 18px 0 0; padding: 13px 16px; border-left: 3px solid #27814b; background: #eff9f2; color: #267445; font-size: 14px; }
.feedback-success.feedback-success_visible { display: block; }
.feedback-success.feedback-response_error { border-left-color: var(--feedback-danger); background: #fff1f0; color: var(--feedback-danger); }

@media (max-width: 700px) {
	.feedback-section { padding: 70px 0 80px; }
	.feedback-card { padding: 34px 28px 30px; }
}

@media (max-width: 520px) {
	.feedback-shell { width: min(100% - 30px, 560px); }
	.feedback-heading h2 { font-size: 36px; }
	.feedback-grid { grid-template-columns: 1fr; }
	.feedback-field_full { grid-column: auto; }
	.feedback-card_top { align-items: flex-start; }
	.feedback-card_mark { display: none; }
	.feedback-captcha_row { grid-template-columns: 1fr 48px; }
	.feedback-captcha_row input { grid-column: 1 / -1; grid-row: 2; }
	.feedback-form_bottom { align-items: stretch; flex-direction: column; }
	.feedback-submit { width: 100%; }
}
