/* ==========================================================================
   USER ACCOUNT PAGES (.doo-s-login*)
   Styles every com_users front-end form this site uses - Login, Forgot
   password (reset: request/confirm/complete) and Forgot username (remind) -
   overridden in html/com_users/{login,reset,remind}/*.php. All share the
   same .doo-s-login/.doo-s-login-form classes and rely on this site's
   existing input/button styling (template.css) for the fields themselves.
   Loaded only on those views (see the registerAndUseStyle() call in each
   override).
   ========================================================================== */

.doo-s-login {
	max-width: 420px;
	margin: 40px auto;
}

.doo-s-login__description {
	margin-bottom: 20px;
	color: var(--doo-s-color-text, #666666);
	text-align: center;
}

.doo-s-login__image {
	display: block;
	max-width: 100%;
	margin: 0 auto 20px;
}

.doo-s-login-form fieldset {
	border: none;
	margin: 0;
	padding: 0;
}

.doo-s-login-form .control-group {
	margin-bottom: 10px;
}

.doo-s-login-form .control-label label {
	display: block;
	margin-bottom: 4px;
	font-weight: 600;
	color: var(--doo-s-color-text, #666666);
	text-align: center;
}

.doo-s-login-form .form-control {
	width: 100%;
}

/* Core's own show/hide-password button (auto-added by the password field
   type) - restyled as a quiet icon button attached to the input instead of
   the generic solid-grey `button` look, with a plain inline-SVG eye
   (open/crossed-out) so it doesn't depend on an icon font this template
   doesn't load on regular pages. */
.doo-s-login-form .input-group {
	display: flex;
	margin: 10px;
}

.doo-s-login-form .input-group .form-control {
	margin: 0;
	min-width: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.doo-s-login-form .input-password-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	flex-shrink: 0;
	padding: 0;
	margin: 0;
	background: #ffffff;
	border: var(--doo-s-color-highlight, #e3c68e) 2px solid;
	border-left: none;
	border-radius: 0 5px 5px 0;
	box-shadow: none;
}

.doo-s-login-form .input-password-toggle:hover,
.doo-s-login-form .input-password-toggle:focus {
	background: var(--doo-s-color-highlight, #e3c68e);
	box-shadow: none;
}

.doo-s-login-form .input-password-toggle .icon-eye,
.doo-s-login-form .input-password-toggle .icon-eye-slash {
	display: inline-block;
	width: 1.125rem;
	height: 1.125rem;
	background-color: var(--doo-s-color-text, #666666);
	-webkit-mask: no-repeat center / contain;
	mask: no-repeat center / contain;
}

.doo-s-login-form .input-password-toggle .icon-eye {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.doo-s-login-form .input-password-toggle .icon-eye-slash {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-7 0-11-7-11-7a21.6 21.6 0 0 1 5.06-5.94M9.9 4.24A10.94 10.94 0 0 1 12 4c7 0 11 7 11 7a21.6 21.6 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cpath d='M1 1l22 22'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.94 10.94 0 0 1 12 19c-7 0-11-7-11-7a21.6 21.6 0 0 1 5.06-5.94M9.9 4.24A10.94 10.94 0 0 1 12 4c7 0 11 7 11 7a21.6 21.6 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cpath d='M1 1l22 22'/%3E%3C/svg%3E");
}

.doo-s-login-form__remember {
	margin: 10px;
	text-align: center;
}

.doo-s-login-form__remember .form-check {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.doo-s-login-form__remember .form-check-label {
	margin: 0;
	font-weight: 400;
	color: var(--doo-s-color-text, #666666);
}

.doo-s-login-form__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 10px;
}

.doo-s-login-form__options {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 20px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: var(--doo-s-color-highlight, #e3c68e) 2px solid;
	font-size: 0.9375rem;
}

.doo-s-login-form__options a {
	color: var(--doo-s-color-link, #d7a037);
}


/* ===== "You are logged in" view (html/com_users/login/default_logout.php) =====
   What a logged-in visitor sees on the Login menu item: a short notice (login
   worked, where the customer portal is, how to log out) above the logout
   button. Same cream/gold language as the contact form: a cream card with a
   gold accent edge, and the same primary pill button. Wider than the login
   form because it carries sentences, not fields. */

.doo-s-login.doo-s-logout {
	max-width: 560px;
}

.doo-s-logout__notice {
	margin: 0 0 26px;
	padding: 24px 28px;
	background: #faf5dc;
	background: color-mix(in srgb, var(--doo-s-color-highlight, #e3c68e) 14%, #ffffff);
	border: 1px solid var(--doo-s-color-highlight, #e3c68e);
	border-left: 5px solid var(--doo-s-color-secondary, #d7a037);
	border-radius: 10px;
	text-align: left;
}

.doo-s-logout__title {
	margin: 0 0 12px;
	padding: 0;
	font-size: 1.25rem;
	text-align: left;
	color: var(--doo-s-color-primary, #4066aa);
}

.doo-s-logout__notice p {
	margin: 0 0 10px;
	padding: 0;
	text-align: left;
	line-height: 1.6;
}

.doo-s-logout__notice p:last-child {
	margin-bottom: 0;
}

/* The customer portal's icon, inline in the sentence and clickable */
.doo-s-logout__portal {
	display: inline-block;
	vertical-align: middle;
	margin: 0 2px;
	padding: 3px;
	line-height: 0;
	background: #ffffff;
	border: 2px solid var(--doo-s-color-highlight, #e3c68e);
	border-radius: 8px;
}

.doo-s-logout__portal:hover,
.doo-s-logout__portal:focus-visible {
	border-color: var(--doo-s-color-secondary, #d7a037);
}

.doo-s-logout__icon {
	display: block;
	width: 26px;
	height: 26px;
	object-fit: contain;
}

.doo-s-logout__portal-name {
	display: inline-block;
	padding: 0 6px;
	line-height: 1.5;
	font-weight: 600;
}

.doo-s-logout__actions {
	display: flex;
	justify-content: center;
}

.doo-s-logout__actions .btn {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 14px 36px;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.2;
	color: #ffffff;
	background: var(--doo-s-color-primary, #4066aa);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 10px 22px -12px var(--doo-s-color-primary, #4066aa);
	cursor: pointer;
	transition: background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.doo-s-logout__actions .btn:hover,
.doo-s-logout__actions .btn:focus {
	color: #ffffff;
	background: #2f5089;
	background: color-mix(in srgb, var(--doo-s-color-primary, #4066aa) 82%, #000000);
	box-shadow: 0 14px 26px -12px var(--doo-s-color-primary, #4066aa);
	transform: translateY(-1px);
}

.doo-s-logout__actions .btn:focus-visible {
	outline: 3px solid var(--doo-s-color-highlight, #e3c68e);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.doo-s-logout__actions .btn {
		transition: none;
	}

	.doo-s-logout__actions .btn:hover,
	.doo-s-logout__actions .btn:focus {
		transform: none;
	}
}
