/* AFJOG Manuscript Submission — change --ms-accent to match your site colour */
.afjog-ms {
	--ms-accent: #1f5f4a;
	--ms-accent-soft: #e8f3ee;
	--ms-text: #101828;
	--ms-muted: #667085;
	--ms-border: #d0d5dd;
	--ms-bg: #ffffff;
	--ms-error: #b42318;
	max-width: 720px;
	margin: 0 auto;
	font-family: inherit;
	color: var(--ms-text);
	box-sizing: border-box;
}
.afjog-ms *, .afjog-ms *::before, .afjog-ms *::after { box-sizing: border-box; }
.afjog-ms [hidden] { display: none !important; }

.afjog-ms__card {
	background: var(--ms-bg);
	border: 1px solid #e4e7ec;
	border-radius: 14px;
	padding: 36px 36px 32px;
	box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px rgba(16,24,40,.06);
}
.afjog-ms__head { margin-bottom: 26px; }
.afjog-ms__title { margin: 0 0 8px; font-size: 26px; line-height: 1.25; color: var(--ms-text); }
.afjog-ms__sub { margin: 0; color: var(--ms-muted); font-size: 15px; line-height: 1.6; }

.afjog-ms__field { margin-bottom: 20px; }
.afjog-ms__field > label:not(.afjog-ms__drop) { display: block; font-weight: 600; font-size: 14px; margin-bottom: 7px; color: #344054; }
.afjog-ms .req { color: var(--ms-error); }
.afjog-ms .opt { color: var(--ms-muted); font-weight: 400; }

.afjog-ms input[type="text"],
.afjog-ms input[type="email"],
.afjog-ms select,
.afjog-ms textarea {
	width: 100% !important;
	max-width: 100%;
	font: inherit;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: var(--ms-text) !important;
	background: #fff !important;
	border: 1px solid var(--ms-border) !important;
	border-radius: 8px !important;
	padding: 11px 14px !important;
	margin: 0 !important;
	box-shadow: none !important;
	transition: border-color .15s, box-shadow .15s;
	height: auto !important;
}
.afjog-ms textarea { resize: vertical; min-height: 120px; }
.afjog-ms input:focus, .afjog-ms select:focus, .afjog-ms textarea:focus {
	outline: none;
	border-color: var(--ms-accent) !important;
	box-shadow: 0 0 0 3px var(--ms-accent-soft) !important;
}
.afjog-ms__select { position: relative; }
.afjog-ms__select select { appearance: none; -webkit-appearance: none; padding-right: 40px !important; cursor: pointer; }
.afjog-ms__select::after {
	content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px;
	border-right: 2px solid var(--ms-muted); border-bottom: 2px solid var(--ms-muted);
	transform: translateY(-70%) rotate(45deg); pointer-events: none;
}

.afjog-ms__hint { display: block; font-size: 13px; color: var(--ms-muted); margin-top: 6px; }
.afjog-ms__err { display: block; font-size: 13px; color: var(--ms-error); margin-top: 6px; min-height: 0; }
.afjog-ms__err:empty { display: none; }
.afjog-ms__field.has-error input,
.afjog-ms__field.has-error select,
.afjog-ms__field.has-error textarea,
.afjog-ms__field.has-error .afjog-ms__drop { border-color: var(--ms-error) !important; }

/* Upload box */
.afjog-ms__drop {
	position: relative;
	display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	text-align: center;
	padding: 26px 16px;
	border: 1.5px dashed var(--ms-border);
	border-radius: 10px;
	background: #fcfcfd;
	cursor: pointer;
	transition: border-color .15s, background .15s;
	font-weight: 400 !important;
	margin: 0 !important;
}
.afjog-ms__drop:hover, .afjog-ms__drop.is-drag { border-color: var(--ms-accent); background: var(--ms-accent-soft); }
.afjog-ms__drop input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.afjog-ms__drop input[type="file"]:focus-visible ~ .afjog-ms__drop-text { outline: 2px solid var(--ms-accent); outline-offset: 2px; }
.afjog-ms__drop-icon { color: var(--ms-accent); line-height: 0; }
.afjog-ms__drop-text { display: block; font-size: 15px; color: #344054; }
.afjog-ms__drop-text strong { color: var(--ms-accent); }
.afjog-ms__drop-meta { display: block; font-size: 13px; color: var(--ms-muted); }
.afjog-ms__file {
	margin-top: 6px; display: inline-flex; align-items: center; gap: 8px;
	background: #fff; border: 1px solid #e4e7ec; border-radius: 999px;
	padding: 6px 14px; font-size: 14px; color: var(--ms-text); max-width: 100%;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.afjog-ms__drop.has-file { border-style: solid; border-color: var(--ms-accent); }

/* Honeypot */
.afjog-ms__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Alert */
.afjog-ms__alert {
	background: #fef3f2; border: 1px solid #fecdca; color: var(--ms-error);
	border-radius: 8px; padding: 12px 14px; font-size: 14px; margin-bottom: 20px;
}

/* Button */
.afjog-ms__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	width: 100%;
	background: var(--ms-accent) !important; color: #fff !important;
	border: 0 !important; border-radius: 8px !important;
	padding: 14px 22px !important; font: inherit; font-size: 16px !important; font-weight: 700 !important;
	cursor: pointer; transition: filter .15s, transform .05s;
	margin-top: 4px;
}
.afjog-ms__btn:hover { filter: brightness(1.08); }
.afjog-ms__btn:active { transform: translateY(1px); }
.afjog-ms__btn[disabled] { opacity: .75; cursor: wait; }
.afjog-ms__spinner {
	display: none; width: 16px; height: 16px; border-radius: 50%;
	border: 2px solid rgba(255,255,255,.4); border-top-color: #fff;
	animation: afjog-ms-spin .7s linear infinite;
}
.afjog-ms__btn.is-loading .afjog-ms__spinner { display: inline-block; }
@keyframes afjog-ms-spin { to { transform: rotate(360deg); } }

/* Success */
.afjog-ms__done { text-align: center; padding: 18px 8px 8px; }
.afjog-ms__tick {
	width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%;
	background: var(--ms-accent-soft); color: var(--ms-accent);
	display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700;
}
.afjog-ms__done h3 { margin: 0 0 8px; font-size: 20px; color: var(--ms-text); }
.afjog-ms__done p { margin: 0; color: var(--ms-muted); font-size: 15px; line-height: 1.6; }
.afjog-ms__ref:empty { display: none; }

@media (max-width: 600px) {
	.afjog-ms__card { padding: 24px 18px; border-radius: 12px; }
	.afjog-ms__title { font-size: 22px; }
}
