/* ========================================================== */
/* _tpl\complain.css  - page-specific styles, extracted from templates          */
/* ========================================================== */


/* ==================== complain.tpl (block 1 of 1) - extracted from templates/complain.tpl ==================== */

	/* ── Страница жалобы ── */
	.complain-card {
		background: #fff;
		border: 1px solid var(--gc-bd, #e8e8e8);
		border-radius: 14px;
		overflow: hidden;
	}

	.complain-card__header {
		padding: 1.25rem 1.5rem;
		border-bottom: 1px solid var(--gc-bd, #e8e8e8);
		background: #fafafa;
	}

	.complain-card__header h1 {
		font-size: 1.35rem;
		font-weight: 500;
		margin: 0;
		line-height: 1.4;
		color: var(--gc-p, #222);
	}

	.complain-card__body {
		padding: 1.5rem;
	}

	/* Блок объекта жалобы */
	.complain-object {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		padding: 1rem 1.25rem;
		background: #f5f7fa;
		border-radius: 10px;
		margin-bottom: 1.5rem;
	}

	.complain-object__icon {
		flex-shrink: 0;
		width: 2.5rem;
		height: 2.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #fff;
		border-radius: 8px;
		color: #007AFF;
		font-size: 1.2rem;
		box-shadow: 0 1px 3px rgba(0,0,0,0.06);
	}

	.complain-object__text {
		font-size: 0.9rem;
		color: var(--gc-p, #333);
		line-height: 1.5;
	}

	.complain-object__text a {
		color: #007AFF;
		font-weight: 500;
		text-decoration: none;
		transition: color 0.2s;
	}

	.complain-object__text a:hover {
		color: #0051a8;
		text-decoration: underline;
	}

	/* Информационный блок */
	.complain-info {
		padding: 1rem 1.25rem;
		background: #f0f7ff;
		border-radius: 10px;
		margin-bottom: 1.5rem;
		border-left: 3px solid #007AFF;
	}

	.complain-info p {
		font-size: 0.85rem;
		color: #555;
		line-height: 1.55;
		margin-bottom: 0.5rem;
	}

	.complain-info p:last-child {
		margin-bottom: 0;
	}

	.complain-info ul {
		margin: 0.4rem 0 0.5rem 1.1rem;
		padding: 0;
	}

	.complain-info ul li {
		font-size: 0.85rem;
		margin-bottom: 0.25rem;
	}

	.complain-info ul li a {
		color: #007AFF;
		font-weight: 500;
		text-decoration: none;
		transition: color 0.2s;
	}

	.complain-info ul li a:hover {
		color: #0051a8;
		text-decoration: underline;
	}

	/* Секция формы */
	.complain-section {
		margin-bottom: 1.25rem;
	}

	.complain-section__title {
		font-size: 0.95rem;
		font-weight: 500;
		color: var(--gc-p, #222);
		margin-bottom: 0.75rem;
		display: flex;
		align-items: center;
		gap: 0.4rem;
	}

	.complain-section__title i {
		color: #007AFF;
		font-size: 1rem;
	}

	/* Чекбоксы причин */
	.complain-reasons {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	@media (min-width: 576px) {
		.complain-reasons {
			grid-template-columns: 1fr 1fr;
		}
	}

	.complain-reason {
		position: relative;
	}

	.complain-reason input[type="checkbox"] {
		position: absolute;
		opacity: 0;
		width: 0;
		height: 0;
	}

	.complain-reason label {
		display: flex;
		align-items: flex-start;
		gap: 0.6rem;
		padding: 0.65rem 0.85rem;
		font-size: 0.85rem;
		font-weight: 400;
		color: #444;
		background: #fafafa;
		border: 1px solid #e8e8e8;
		border-radius: 8px;
		cursor: pointer;
		transition: all 0.2s ease;
		line-height: 1.4;
		margin: 0;
	}

	.complain-reason label:hover {
		background: #f0f7ff;
		border-color: #b0d4f1;
	}

	.complain-reason input[type="checkbox"]:checked + label {
		background: #e8f4fd;
		border-color: #007AFF;
		color: #0051a8;
	}

	.complain-reason__check {
		flex-shrink: 0;
		width: 1.2rem;
		height: 1.2rem;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 2px solid #ccc;
		border-radius: 4px;
		transition: all 0.2s ease;
		margin-top: 0.1rem;
	}

	.complain-reason__check i {
		font-size: 0.7rem;
		color: transparent;
		transition: color 0.2s;
	}

	.complain-reason input[type="checkbox"]:checked + label .complain-reason__check {
		background: #007AFF;
		border-color: #007AFF;
	}

	.complain-reason input[type="checkbox"]:checked + label .complain-reason__check i {
		color: #fff;
	}

	/* Текстовое поле */
	.complain-textarea {
		width: 100%;
		padding: 0.75rem 1rem;
		font-size: 0.9rem;
		line-height: 1.5;
		color: #333;
		background: #fafafa;
		border: 1px solid #e8e8e8;
		border-radius: 10px;
		resize: vertical;
		transition: all 0.2s ease;
		font-family: inherit;
	}

	.complain-textarea:focus {
		outline: none;
		background: #fff;
		border-color: #6bb7f5;
		box-shadow: 0 0 0 3px rgba(0,122,255,0.12);
	}

	.complain-textarea::placeholder {
		color: #aaa;
	}

	/* Сообщение об ошибке */
	.complain-alert {
		display: flex;
		align-items: flex-start;
		gap: 0.6rem;
		padding: 0.85rem 1rem;
		background: #fff8e6;
		border: 1px solid #ffe082;
		border-radius: 10px;
		margin-bottom: 1.25rem;
	}

	.complain-alert i {
		flex-shrink: 0;
		color: #f59e0b;
		font-size: 1.1rem;
		margin-top: 0.1rem;
	}

	.complain-alert span {
		font-size: 0.85rem;
		color: #92400e;
		line-height: 1.5;
	}

	/* Кнопка отправки */
	.complain-submit {
		margin-top: 1.5rem;
		padding-top: 1.25rem;
		border-top: 1px solid #eee;
	}

	.complain-btn {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.65rem 1.6rem;
		font-size: 0.9rem;
		font-weight: 500;
		color: #fff;
		background: #007AFF;
		border: none;
		border-radius: 10px;
		cursor: pointer;
		transition: all 0.2s ease;
		line-height: 1.4;
	}

	.complain-btn:hover {
		background: #0062cc;
		box-shadow: 0 2px 8px rgba(0,122,255,0.3);
	}

	.complain-btn:active {
		background: #0051a8;
	}

	.complain-btn i {
		font-size: 1rem;
	}

	/* Подсказка для неавторизованных */
	.complain-guest-note {
		display: flex;
		align-items: flex-start;
		gap: 0.5rem;
		margin-top: 0.85rem;
		padding: 0.75rem 1rem;
		background: #f9f9f9;
		border-radius: 8px;
		max-width: 480px;
	}

	.complain-guest-note i {
		flex-shrink: 0;
		color: #888;
		font-size: 1rem;
		margin-top: 0.1rem;
	}

	.complain-guest-note p {
		font-size: 0.8rem;
		color: #777;
		line-height: 1.5;
		margin: 0;
	}

	.complain-guest-note a {
		color: #007AFF;
		font-weight: 500;
		text-decoration: none;
	}

	.complain-guest-note a:hover {
		color: #0051a8;
		text-decoration: underline;
	}
