/*
 * Directorist Sign-in / Sign-up
 * Scoped to the Sign-in page so the Directorist account UI elsewhere remains
 * unaffected.
 */
.kibis-sign-in-page .kibis-site-main {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: min(700px, calc(100vh - 180px));
	padding-block: clamp(3.5rem, 8vw, 6rem);
}

.kibis-sign-in-page .kibis-site-main > .wp-block-post-content {
	width: 100%;
}

.kibis-sign-in-page .directorist-w-100 {
	margin-inline: auto;
	max-width: 540px;
	width: 100%;
}

.kibis-sign-in-page .directorist-login-wrapper {
	float: none;
	margin-inline: auto;
	max-width: none;
	padding: 0;
	width: 100%;
}

.kibis-sign-in-page .directorist-authentication__form {
	background: var(--kibis-card);
	border: 1px solid rgba(102, 199, 232, .45);
	border-radius: var(--kibis-radius);
	box-shadow: 0 18px 42px rgba(8, 7, 95, .3);
	padding: clamp(1.75rem, 5vw, 2.75rem);
	position: relative;
}

.kibis-sign-in-page .directorist-authentication__form::before {
	background: var(--kibis-red);
	border-radius: 3px;
	content: "";
	height: 5px;
	left: clamp(1.75rem, 5vw, 2.75rem);
	position: absolute;
	right: clamp(1.75rem, 5vw, 2.75rem);
	top: 0;
}

.kibis-sign-in-page .directorist-form-group {
	margin-bottom: 1.25rem;
}

.kibis-sign-in-page .directorist-form-group label,
.kibis-sign-in-page .directorist-authentication__form__toggle-area {
	color: var(--kibis-white);
	font-size: 1rem;
	font-weight: 700;
}

.kibis-sign-in-page .directorist-form-element {
	background: var(--kibis-white);
	border: 2px solid transparent;
	border-radius: 8px;
	box-sizing: border-box;
	color: var(--kibis-dark) !important;
	font: inherit;
	min-height: 52px;
	padding: .7rem .9rem;
	width: 100%;
}

.kibis-sign-in-page .directorist-form-element::placeholder {
	color: #50506f !important;
	opacity: 1;
}

.kibis-sign-in-page .directorist-form-element:focus {
	border-color: var(--kibis-light-blue);
	box-shadow: 0 0 0 3px rgba(102, 199, 232, .3);
	outline: 0;
}

.kibis-sign-in-page .directorist-authentication__form__actions {
	display: flex;
	justify-content: flex-end;
	margin: -.25rem 0 1.5rem;
}

.kibis-sign-in-page .atbdp_recovery_pass,
.kibis-sign-in-page .directorist-authentication__form__toggle-area a,
.kibis-sign-in-page .directorist-authentication__form__toggle-area button {
	color: var(--kibis-light-blue);
	font-weight: 700;
}

.kibis-sign-in-page .atbdp_recovery_pass:hover,
.kibis-sign-in-page .directorist-authentication__form__toggle-area button:hover {
	color: var(--kibis-white);
}

.kibis-sign-in-page .directorist-authentication__form__btn {
	background: var(--kibis-red);
	border: 2px solid var(--kibis-red);
	border-radius: 9px;
	color: var(--kibis-white);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	min-height: 52px;
	padding: .7rem 1.25rem;
	transition: background-color 160ms ease, border-color 160ms ease;
	width: 100%;
}

.kibis-sign-in-page .directorist-authentication__form__btn:hover {
	background: var(--kibis-red-hover);
	border-color: var(--kibis-red-hover);
}

.kibis-sign-in-page .directorist-authentication__form__toggle-area {
	border-top: 1px solid var(--kibis-divider);
	margin-top: 1.75rem;
	padding-top: 1.5rem;
	text-align: center;
}

.kibis-sign-in-page .directorist-authentication__form__recover-pass-modal {
	border-color: rgba(102, 199, 232, .7);
	margin-top: 1.5rem;
	padding: 1.5rem;
}

.kibis-sign-in-page .directorist-authentication__form__recover-pass-modal p {
	color: var(--kibis-footer-link) !important;
	font-size: .9375rem;
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

.kibis-sign-in-page .directorist-authentication__btn--signup {
	background: transparent;
	border: 0;
	cursor: pointer;
	font: inherit;
	margin-left: .25rem;
	padding: 0;
	text-decoration: underline;
}

/* Registration consent: retain a clear legal notice without the plugin's
 * inline red link, which does not meet the KIBiS page palette. */
.kibis-sign-in-page .directorist__authentication__signup .directorist-checkbox {
	align-items: flex-start;
	display: flex;
	gap: .75rem;
	margin: 1.5rem 0;
}

.kibis-sign-in-page .directorist__authentication__signup .directorist-checkbox input {
	accent-color: var(--kibis-red);
	flex: 0 0 auto;
	height: 1.2rem;
	margin: .2rem 0 0;
	width: 1.2rem;
}

.kibis-sign-in-page .directorist__authentication__signup .directorist-checkbox__label {
	color: var(--kibis-white) !important;
	font-size: .9375rem;
	font-weight: 400;
	line-height: 1.55;
}

.kibis-sign-in-page .directorist__authentication__signup .directorist-checkbox__label a {
	color: var(--kibis-light-blue) !important;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.kibis-sign-in-page .directorist__authentication__signup .directorist-checkbox__label a:hover {
	color: var(--kibis-white) !important;
}

.kibis-sign-in-page .directorist-form-required {
	color: #ff9cab;
}

.kibis-sign-in-page .directorist-alert {
	border: 0;
	border-left: 5px solid var(--kibis-light-blue);
	border-radius: 8px;
	color: var(--kibis-white);
	margin-bottom: 1.25rem;
	padding: 1rem;
}

.kibis-sign-in-page .directorist-alert-success {
	background: #176b58;
}

.kibis-sign-in-page .directorist-alert-danger {
	background: #8d1830;
}

.kibis-sign-in-page :is(a, button, input):focus-visible {
	outline: 3px solid var(--kibis-light-blue);
	outline-offset: 3px;
}

@media (max-width: 600px) {
	.kibis-sign-in-page .kibis-site-main {
	align-items: flex-start;
	min-height: 0;
	padding-block: 2.5rem;
	}
}
