.self-help-page {
	background:
		radial-gradient(circle at top left, rgba(212, 162, 118, 0.18), transparent 30%),
		radial-gradient(circle at top right, rgba(51, 84, 96, 0.16), transparent 26%),
		#f7f2ea;
}

.self-help-hero {
	min-height: 380px;
}

.self-help-intro {
	max-width: 720px;
	font-size: 18px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.92);
	margin-top: 14px;
}

.self-help-section {
	padding: 90px 0 70px;
}

.self-help-disclaimer {
	background: #fff7eb;
	border: 1px solid rgba(212, 162, 118, 0.35);
	border-left: 6px solid #d4a276;
	color: #4f3a28;
	border-radius: 18px;
	padding: 18px 20px;
	margin-bottom: 30px;
	line-height: 1.7;
	box-shadow: 0 16px 42px rgba(34, 31, 26, 0.08);
}

.self-help-card,
.self-help-result,
.self-help-side .side-box {
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(17, 17, 17, 0.08);
	border-radius: 22px;
	box-shadow: 0 24px 70px rgba(39, 32, 21, 0.10);
}

.self-help-card {
	padding: 28px;
}

.self-help-card-header h2,
.self-help-result-header h3,
.self-help-side h3 {
	font-size: 30px;
	margin-bottom: 10px;
}

.self-help-card-header p {
	margin-bottom: 24px;
	color: #6b625a;
}

.problem-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 26px;
}

.problem-chip {
	border: 1px solid rgba(17, 17, 17, 0.12);
	background: #fff;
	color: #2b2b2b;
	border-radius: 999px;
	padding: 14px 16px;
	font-weight: 700;
	text-align: left;
	transition: transform 150ms ease, background 150ms ease, color 150ms ease, border-color 150ms ease;
}

.problem-chip:hover,
.problem-chip.active {
	transform: translateY(-1px);
	background: #d4a276;
	border-color: #d4a276;
	color: #111;
}

.problem-chip.urgent-chip {
	background: #7a2e2e;
	color: #fff;
	border-color: #7a2e2e;
}

.question-group {
	margin-bottom: 16px;
}

.question-group label {
	display: block;
	font-weight: 700;
	margin-bottom: 8px;
	color: #1b1b1b;
}

.question-group .form-control,
.question-group select {
	height: 50px;
	border-radius: 14px;
	border: 1px solid rgba(17, 17, 17, 0.14);
	padding: 12px 14px;
	background: #fff;
}

.self-help-submit {
	width: 100%;
	margin-top: 12px;
}

.self-help-result {
	margin-top: 24px;
	padding: 26px 28px;
}

.self-help-result-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}

.result-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: #eef6ef;
	color: #245536;
	font-weight: 700;
	font-size: 13px;
}

.result-summary {
	font-size: 18px;
	line-height: 1.7;
	color: #2b2b2b;
	margin-bottom: 18px;
}

.result-block {
	margin-bottom: 18px;
}

.result-block h4 {
	font-size: 18px;
	margin-bottom: 10px;
}

.result-block ul,
.self-help-side ul {
	margin: 0;
	padding-left: 20px;
}

.result-block li,
.self-help-side li {
	margin-bottom: 8px;
	line-height: 1.6;
}

.alert-box {
	border-radius: 16px;
	background: #fff4f4;
	border: 1px solid rgba(178, 65, 65, 0.18);
	padding: 14px 16px;
	color: #7a2e2e;
	line-height: 1.7;
}

.alert-box-danger {
	background: #7a2e2e;
	color: #fff;
}

.self-help-side {
	display: grid;
	gap: 18px;
}

.side-box {
	padding: 22px;
}

.side-box-accent {
	background: linear-gradient(180deg, #fbf0e1 0%, #fff 100%);
}

.side-box p {
	color: #61584f;
	line-height: 1.7;
	margin-bottom: 16px;
}

.self-help-loading {
	padding: 16px;
	border-radius: 14px;
	background: #f5f3ef;
	color: #4e463e;
}

.floating-self-help-launcher {
	position: fixed;
	left: 18px;
	bottom: 18px;
	z-index: 9998;
	display: inline-flex;
	flex-direction: column;
	gap: 3px;
	padding: 14px 16px;
	border-radius: 18px;
	background: linear-gradient(180deg, #d4a276 0%, #c98d59 100%);
	color: #111;
	font-weight: 800;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
	text-decoration: none;
	max-width: 210px;
}

.floating-self-help-launcher strong {
	font-size: 15px;
	line-height: 1.1;
}

.floating-self-help-launcher span {
	font-size: 12px;
	font-weight: 600;
	opacity: 0.92;
	line-height: 1.3;
}

.floating-self-help-launcher:focus {
	outline: 2px solid rgba(212, 162, 118, 0.55);
	outline-offset: 2px;
}

@media (max-width: 991px) {
	.problem-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 576px) {
	.self-help-card,
	.self-help-result,
	.side-box {
		padding: 20px;
	}

	.self-help-card-header h2,
	.self-help-result-header h3,
	.self-help-side h3 {
		font-size: 24px;
	}

	.self-help-result-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.floating-self-help-launcher {
		left: 12px;
		bottom: 12px;
		max-width: 180px;
	}
}
