/* =========================================================
   ThimPress Feedback — Frontend Form Styles
   ========================================================= */

.tpf-wrapper {
	max-width: 100%;
	margin: 0 auto;
	padding: 32px;
	background: #F6F6F6;
	border-radius: 8px;
}

.tpf-title {
	font-size: 1.75rem;
	margin: 0 0 12px;
}

.tps-desc {
	margin: 0 0 28px;
}

/* ---- Notices ---- */
.tpf-notice {
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 20px;
	font-size: 0.9rem;
	font-weight: 500;
}

.tpf-notice--success {
	background: #ecfdf5;
	border: 1px solid #6ee7b7;
	color: #065f46;
}

.tpf-notice--error {
	background: #fef2f2;
	border: 1px solid #fca5a5;
	color: #991b1b;
}

/* ---- Fields ---- */
.tpf-field {
	margin-bottom: 22px;
}

.tpf-label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 7px;
	color: #222;
}

.tpf-required {
	color: #e53e3e;
	margin-left: 3px;
}

.tpf-input,
.tpf-textarea,
.tpf-select {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1.5px solid #d1d5db;
	border-radius: 6px;
	font-size: 0.95rem;
	color: #1a1a1a;
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s;
	outline: none;
}

.tpf-input:focus,
.tpf-textarea:focus,
.tpf-select:focus {
	border-color: #f59e0b;
	box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
	background: #fff;
}

.tpf-input[readonly] {
	background: #f3f4f6;
	color: #6b7280;
	cursor: not-allowed;
}

.tpf-textarea {
	resize: vertical;
	min-height: 130px;
}

/* Multi-select */
.tpf-select--multi {
	padding: 6px 0;
	background: #fff;
}

.tpf-select--multi option {
	padding: 6px 14px;
	cursor: pointer;
}

.tpf-select--multi option:checked {
	background: #fef3c7;
	color: #92400e;
}

.tpf-hint {
	margin: 6px 0 0;
	font-size: 0.8rem;
	color: #888;
}

/* ---- Captcha ---- */
.tpf-captcha {
	display: flex;
	justify-content: flex-start;
}

/* ---- Submit button ---- */
.tpf-btn-submit {
	display: block;
	width: auto;
	padding: 14px 24px;
	background: #f59e0b;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
	font-family: inherit;
}

.tpf-btn-submit:hover {
	background: #d97706;
}

.tpf-btn-submit:active {
	transform: scale(0.98);
}

.tpf-btn-submit:disabled {
	background: #d1d5db;
	cursor: not-allowed;
}

/* ---- Field error state ---- */
.tpf-input.tpf-error,
.tpf-textarea.tpf-error,
.tpf-select.tpf-error {
	border-color: #ef4444;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* ---- Select2 Custom Styling ---- */
.tpf-form .select2-container--default .select2-selection--multiple {
	border: 1.5px solid #d1d5db;
	border-radius: 6px;
	padding: 9px 8px;
	background: #fff;
	font-family: inherit;
	min-height: 49px;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.tpf-form .select2-container--default.select2-container--focus .select2-selection--multiple {
	border-color: #f59e0b;
	box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
	background: #fff;
	outline: none;
}

.tpf-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background-color: #f3f4f6;
	border: 1px solid #e5e7eb;
	border-radius: 4px;
	padding: 2px 8px 2px 14px;
	margin-top: 4px;
	font-size: 0.85rem;
	color: #374151;
}

.tpf-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: #9ca3af;
	margin-right: 5px;
	border: none;
	background: transparent;
	top: 1px;
}

.tpf-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
	color: #ef4444;
	background: transparent;
}

/* Select2 Error State */
.tpf-form .select2-container.tpf-error .select2-selection--multiple {
	border-color: #ef4444;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.tpf-form .select2-container--default .select2-selection--multiple .select2-selection__clear {
	color: #333;
	margin-top: 2px;
}