/* Loyal VSU Gate - shared styles */
* { box-sizing: border-box; }

body.lvg-body {
	margin: 0;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f0f1f2;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	color: #26282b;
}

body.lvg-dark {
	background: #26282b;
	color: #ffffff;
}

.lvg-card {
	width: 100%;
	max-width: 460px;
	padding: 48px 40px;
	text-align: center;
}

.lvg-eyebrow {
	font-size: 12px;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: 6px;
	color: inherit;
}

.lvg-logo {
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
	margin-bottom: 28px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.lvg-logo .lvg-star { color: #c9a227; }

.lvg-heading {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	line-height: 1.6;
	margin-bottom: 34px;
}

.lvg-btn-row {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}
.lvg-btn-row form { margin: 0; }

.lvg-btn {
	display: inline-block;
	padding: 12px 28px;
	font-size: 12px;
	font-family: inherit;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 4px;
	cursor: pointer;
	border: 1px solid #26282b;
	background: #26282b;
	color: #ffffff;
	transition: opacity .15s ease;
	line-height: normal;
}
.lvg-btn:hover { opacity: .85; color:#ffffff; }

.lvg-btn-outline {
	background: transparent;
	color: #26282b;
	border: 1px solid #b9bbbd;
}

body.lvg-dark .lvg-btn-outline {
	color: #ffffff;
	border-color: #ffffff;
	background: #ffffff;
	color: #26282b;
}

.lvg-form { text-align: left; margin-top: 8px; }

.lvg-label {
	display: block;
	font-size: 13px;
	margin-bottom: 6px;
	color: #55585c;
}

.lvg-input {
	width: 100%;
	padding: 11px 14px;
	margin-bottom: 18px;
	border: 1px solid #d5d7d9;
	border-radius: 4px;
	font-size: 14px;
	background: #ffffff;
	color: #26282b;
}

.lvg-input::placeholder { color: #a7a9ac; }

.lvg-row-2 {
	display: flex;
	gap: 12px;
}
.lvg-row-2 .lvg-input { flex: 1; }

.lvg-divider {
	display: flex;
	align-items: center;
	text-align: center;
	color: #a7a9ac;
	font-size: 12px;
	margin: 4px 0 18px;
}
.lvg-divider::before, .lvg-divider::after {
	content: "";
	flex: 1;
	border-bottom: 1px solid #e0e1e2;
}
.lvg-divider span { padding: 0 12px; }

#lvg-google-btn {
	margin-bottom: 18px;
	display: flex;
	justify-content: center;
}

.lvg-submit {
	width: 100%;
	padding: 13px;
	background: #26282b;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
}
.lvg-submit:hover { opacity: .9; }

.lvg-meta-row {
	display: flex;
	justify-content: flex-end;
	margin: -8px 0 18px;
	font-size: 13px;
}
.lvg-meta-row a { color: #55585c; text-decoration: none; }
.lvg-meta-row a:hover { text-decoration: underline; }

.lvg-hint {
	font-size: 12px;
	color: #a7a9ac;
	margin: -12px 0 18px;
}

.lvg-footer-link {
	margin-top: 20px;
	font-size: 13px;
	color: #55585c;
}
.lvg-footer-link a { color: #26282b; font-weight: 600; text-decoration: none; }
.lvg-footer-link a:hover { text-decoration: underline; }

.lvg-terms-row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 12px;
	color: #55585c;
	margin-bottom: 20px;
}
.lvg-terms-row a { color: #26282b; }

.lvg-error {
	background: #fdecea;
	color: #b3261e;
	padding: 10px 14px;
	border-radius: 4px;
	font-size: 13px;
	margin-bottom: 18px;
}

.lvg-restricted-text {
	font-size: 14px;
	letter-spacing: 1px;
	line-height: 1.8;
	margin-bottom: 30px;
	color: #d7d8d9;
}
