/**
 * GraceEngine — minimal, theme-friendly frontend styles.
 *
 * @package GraceEngine
 */

/* Auth forms (login, register, password reset) */
.graceengine-auth,
.people-auth {
	max-width: 400px;
	margin: 1.5em auto;
	padding: 1.5em;
}

.graceengine-auth .notice,
.people-auth .notice {
	margin-bottom: 1em;
	padding: 0.75em 1em;
}

.graceengine-auth label,
.people-auth label {
	display: block;
	margin-bottom: 0.25em;
}

.graceengine-auth input[type="text"],
.graceengine-auth input[type="email"],
.graceengine-auth input[type="password"],
.people-auth input[type="text"],
.people-auth input[type="email"],
.people-auth input[type="password"] {
	width: 100%;
	max-width: 100%;
	margin-bottom: 1em;
	padding: 0.5em;
}

.graceengine-auth button,
.people-auth button {
	padding: 0.5em 1em;
	cursor: pointer;
}

/* Directory / people list */
.graceengine-directory,
.people-directory {
	margin: 1.5em 0;
}

.graceengine-directory ul,
.people-directory ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.graceengine-directory li,
.people-directory li {
	margin-bottom: 0.75em;
	padding-bottom: 0.75em;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

/* Person cards (archive) */
.ge-person-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1.5em;
	margin: 1.5em 0;
}

.ge-person-card-link {
	text-decoration: none;
	color: inherit;
}

.ge-person-card-thumb img {
	width: 100%;
	height: auto;
	display: block;
}

.ge-person-card-body {
	padding: 0.5em 0;
}

.ge-person-card-title {
	margin: 0 0 0.25em;
	font-size: 1em;
}

.ge-person-card-position {
	margin: 0;
	font-size: 0.9em;
	opacity: 0.85;
}

/* Base template wrapper */
.ge-template {
	max-width: var(--ge-content-width, 800px);
	margin-left: auto;
	margin-right: auto;
	padding: 1.5em 1em;
}

/* Lists */
.ge-template ul {
	list-style: disc;
	margin: 1em 0;
	padding-left: 1.5em;
}

.ge-template ul li {
	margin-bottom: 0.5em;
}

/* Links */
.ge-template a {
	color: var(--ge-link-color, inherit);
	text-decoration: underline;
}

.ge-template a:hover {
	text-decoration: none;
}

/* Lesson navigation */
.ge-lesson-nav a {
	display: inline-block;
}

/* My courses */
.ge-my-courses .ge-completed {
	opacity: 0.8;
	font-size: 0.9em;
}

/* Certificate print */
@media print {
	.ge-template .no-print,
	.ge-lesson-nav {
		display: none !important;
	}
}
