/* Novel submission forms (Add Novel / Upload Novel).
   Shared by the front-end page templates and the wp-admin screens, so the
   selectors stay generic and inherit the surrounding colours rather than
   hard-coding the dark theme. */

.thn-novel-intro {
	margin: 0 0 20px;
	line-height: 1.6;
}

.thn-novel-notice {
	margin: 0 0 18px;
	padding: 12px 15px;
	border-radius: 4px;
	border-left: 4px solid;
	font-size: 14px;
	line-height: 1.5;
}

.thn-novel-notice-success {
	background: rgba(46, 160, 67, 0.12);
	border-left-color: #2ea043;
}

.thn-novel-notice-error {
	background: rgba(218, 54, 51, 0.12);
	border-left-color: #da3633;
}

.thn-novel-form {
	max-width: 860px;
}

.thn-novel-form label {
	display: block;
	margin: 0 0 16px;
}

.thn-novel-form label > span {
	display: block;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: 600;
}

.thn-novel-form label > span em {
	color: #da3633;
	font-style: normal;
}

.thn-novel-form small {
	display: block;
	margin: 6px 0 0;
	font-size: 12px;
	opacity: 0.7;
	line-height: 1.5;
}

.thn-novel-form input[type="text"],
.thn-novel-form input[type="url"],
.thn-novel-form input[type="number"],
.thn-novel-form input[type="file"],
.thn-novel-form select,
.thn-novel-form textarea {
	width: 100%;
	max-width: 100%;
	padding: 9px 11px;
	border: 1px solid rgba(128, 128, 128, 0.4);
	border-radius: 4px;
	background: rgba(128, 128, 128, 0.08);
	color: inherit;
	font-family: inherit;
	font-size: 14px;
	box-sizing: border-box;
}

.thn-novel-form textarea {
	resize: vertical;
	line-height: 1.6;
}

.thn-novel-form input:focus,
.thn-novel-form select:focus,
.thn-novel-form textarea:focus {
	outline: none;
	border-color: rgba(128, 128, 128, 0.8);
}

/* Two fields side by side, stacking on small screens. */
.thn-novel-row {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.thn-novel-row > label {
	flex: 1 1 240px;
	min-width: 0;
}

.thn-novel-checks {
	margin: 0 0 16px;
}

.thn-novel-form label.thn-novel-check {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	margin: 0;
}

.thn-novel-form label.thn-novel-check input {
	width: auto;
	margin: 0;
}

.thn-novel-form label.thn-novel-check > span {
	margin: 0;
	font-weight: 400;
}

.thn-novel-fieldset {
	margin: 0 0 20px;
	padding: 16px;
	border: 1px solid rgba(128, 128, 128, 0.3);
	border-radius: 5px;
}

.thn-novel-fieldset legend {
	padding: 0 8px;
	font-size: 14px;
	font-weight: 600;
}

.thn-novel-submit {
	display: inline-block;
	padding: 11px 26px;
	border: 0;
	border-radius: 4px;
	background: #2ea043;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.thn-novel-submit:hover {
	opacity: 0.9;
}

@media (max-width: 600px) {
	.thn-novel-row {
		gap: 0;
	}

	.thn-novel-row > label {
		flex: 1 1 100%;
	}

	.thn-novel-submit {
		width: 100%;
	}
}
