/* Karma Mindbody Bridge — front-end styles for the login + gate.
   Intentionally lightweight and neutral so it blends with the theme.
   Override any of these in the theme's CSS to match the site design. */

.karma-mb-login {
	max-width: 380px;
	margin: 1.5rem auto;
	text-align: center;
}

.karma-mb-login label {
	display: block;
	margin-bottom: .5rem;
	font-weight: 600;
}

.karma-mb-login input[type="email"] {
	width: 100%;
	padding: .7rem .8rem;
	font-size: 1rem;
	border: 1px solid #ccc;
	border-radius: 8px;
	box-sizing: border-box;
}

.karma-mb-login button,
.karma-mb-loggedin button {
	display: inline-block;
	margin-top: 1rem;
	padding: .7rem 1.4rem;
	font-size: 1rem;
	border: 0;
	border-radius: 8px;
	background: #2d2a26;
	color: #fff;
	cursor: pointer;
}

.karma-mb-login button:hover,
.karma-mb-loggedin button:hover {
	opacity: .9;
}

.karma-mb-login button.link {
	background: none;
	color: #2d2a26;
	text-decoration: underline;
	padding: .3rem;
	margin-top: .5rem;
	font-size: .9rem;
}

.karma-mb-notice {
	color: #2d6a2d;
	margin-bottom: 1rem;
}

.karma-mb-error {
	color: #b00020;
	margin-bottom: 1rem;
}

/* ---- Six-box OTP input ---- */

.karma-mb-otp {
	display: flex;
	gap: .5rem;
	justify-content: center;
	margin: .5rem 0 0;
}

.karma-mb-otp input {
	width: 48px;
	height: 56px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
	border: 1px solid #ccc;
	border-radius: 8px;
	-moz-appearance: textfield;
}

.karma-mb-otp input::-webkit-outer-spin-button,
.karma-mb-otp input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.karma-mb-otp input:focus {
	outline: none;
	border-color: #2d2a26;
	box-shadow: 0 0 0 2px rgba(45, 42, 38, .2);
}

/* When JS is off, the single fallback field shows instead of the boxes. */
.karma-mb-otp-fallback {
	width: 100%;
	padding: .7rem .8rem;
	font-size: 1.2rem;
	letter-spacing: .4em;
	text-align: center;
	border: 1px solid #ccc;
	border-radius: 8px;
	box-sizing: border-box;
}

.karma-mb-denied {
	padding: 1.25rem;
	background: #faf7f2;
	border: 1px solid #e6ddd0;
	border-radius: 8px;
}
