/* Mohareg v1.7.0 */

.mohareg-form {
	--mohareg-accent: #6c2e7c;
	max-width: 720px;
	padding: clamp(20px, 4vw, 40px);
	border: 1px solid #dedbe1;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(30, 20, 35, .08);
}

.mohareg-form label,
.mohareg-form fieldset {
	display: block;
	margin: 0 0 20px;
	font-weight: 650;
}

.mohareg-form input[type="text"],
.mohareg-form input[type="email"],
.mohareg-form input[type="tel"],
.mohareg-form input[type="password"],
.mohareg-form input[type="url"],
.mohareg-form input[type="file"],
.mohareg-form textarea {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-top: 7px;
	padding: 11px 12px;
	border: 1px solid #aaa2ad;
	border-radius: 7px;
	background: #fff;
	font: inherit;
}

.mohareg-form input:focus,
.mohareg-form textarea:focus {
	outline: 3px solid rgba(108, 46, 124, .2);
	border-color: var(--mohareg-accent);
}

.mohareg-form fieldset {
	padding: 18px;
	border: 1px solid #d8d2db;
	border-radius: 9px;
}

.mohareg-form legend { padding: 0 8px; }
.mohareg-form small,
.mohareg-help,
.mohareg-optional { color: #625b66; font-weight: 400; }
.mohareg-check { display: flex !important; gap: 10px; align-items: flex-start; }
.mohareg-check input { flex: 0 0 auto; margin-top: 5px; }

.mohareg-form button {
	padding: 12px 22px;
	border: 0;
	border-radius: 8px;
	background: var(--mohareg-accent);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.mohareg-form button:hover { filter: brightness(.9); }
.mohareg-notice { max-width: 720px; margin: 0 0 20px; padding: 14px 16px; border-left: 4px solid #607d8b; background: #f2f6f8; }
.mohareg-success { border-color: #25843b; background: #edf8ef; }
.mohareg-error { border-color: #b42318; background: #fff1f0; }
.mohareg-error ul { margin: 0; }
.mohareg-account { max-width: 720px; margin: 0 0 16px; }
.mohareg-account a { margin-left: 10px; }

.mohareg-account-page {
	box-sizing: border-box;
	min-height: 60vh;
	padding: clamp(32px, 6vw, 80px) 20px;
}

.mohareg-account-shell {
	max-width: 760px;
	margin: 0 auto;
}

.mohareg-account-shell .mohareg-form,
.mohareg-account-shell .mohareg-notice { max-width: none; }

.mohareg-account-shell #loginform {
	box-sizing: border-box;
	padding: clamp(20px, 4vw, 40px);
	border: 1px solid #dedbe1;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(30, 20, 35, .08);
}

.mohareg-account-shell #loginform label { font-weight: 650; }
.mohareg-account-shell #loginform input[type="text"],
.mohareg-account-shell #loginform input[type="password"] {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin-top: 7px;
	padding: 11px 12px;
	border: 1px solid #aaa2ad;
	border-radius: 7px;
}

.mohareg-own-submission {
	box-sizing: border-box;
	padding: clamp(22px, 4vw, 38px);
	border: 1px solid #dedbe1;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(30, 20, 35, .08);
}

.mohareg-own-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

.mohareg-own-heading > div > span {
	color: #6c2e7c;
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.mohareg-own-heading h2 { margin: 4px 0 0; }
.mohareg-own-status {
	padding: 6px 11px;
	border-radius: 999px;
	background: #e9f6ec;
	color: #22713a;
	font-size: 12px;
	font-weight: 750;
}

.mohareg-own-description {
	margin-bottom: 28px;
	padding: 18px 20px;
	border-radius: 10px;
	background: #f7f3f8;
}

.mohareg-own-description h3,
.mohareg-own-submission > h3 { margin-top: 0; }
.mohareg-own-description p:last-child { margin-bottom: 0; }

.mohareg-own-audio-grid {
	display: grid;
	gap: 12px;
	margin-bottom: 30px;
}

.mohareg-own-file-card {
	min-width: 0;
	padding: 16px;
	border: 1px solid #e7e0e9;
	border-radius: 10px;
	background: #fff;
}

.mohareg-own-file-card strong,
.mohareg-own-file-card > span { display: block; }
.mohareg-own-file-card > span {
	margin: 3px 0 12px;
	overflow-wrap: anywhere;
	color: #625b66;
	font-size: 13px;
}
.mohareg-own-file-card audio { display: block; width: 100%; }

.mohareg-own-image-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.mohareg-own-image-grid a {
	display: block;
	width: 150px;
	overflow: hidden;
	border: 1px solid #e7e0e9;
	border-radius: 9px;
	background: #fff;
	color: inherit;
	text-decoration: none;
}

.mohareg-own-image-grid img {
	display: block;
	width: 150px;
	height: 105px;
	object-fit: cover;
}

.mohareg-lightbox {
	width: fit-content;
	max-width: 92vw;
	max-height: 92vh;
	padding: 0;
	overflow: visible;
	border: 0;
	border-radius: 12px;
	background: transparent;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .45);
}

.mohareg-lightbox::backdrop { background: rgba(15, 10, 17, .82); }

.mohareg-lightbox > img {
	display: block;
	max-width: 90vw;
	max-height: 86vh;
	border-radius: 12px;
	object-fit: contain;
}

.mohareg-lightbox-close {
	position: absolute;
	z-index: 2;
	top: 10px;
	right: 10px;
	display: grid;
	width: 42px;
	height: 42px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: rgba(20, 14, 22, .78);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.mohareg-lightbox-close:hover,
.mohareg-lightbox-close:focus-visible {
	background: #6c2e7c;
	outline: 3px solid #fff;
}
