@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
	--font-family: Inter, sans-serif;
	--color-primary: #453274;
	--color-secondary: #f8f8f8;
	--color-accent: #ececec;
	--logo: url('../resources/images/logo.svg') no-repeat center;
	--logo-watermark: url('../resources/images/logo.svg') no-repeat center/cover;
	--logo-watermark-width: 228px;
	--logo-watermark-ratio: 114.67 / 96.6;
	--border-radius: 0;
	--checkbox-color: #f8f8f8;
	--select-svg: url('data:image/svg+xml,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M5 6l5 5 5-5 2 1-7 7-7-7 2-1z" fill="white"/></svg>');
	--select-svg-hover: url('data:image/svg+xml,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M5 6l5 5 5-5 2 1-7 7-7-7 2-1z" fill="black"/></svg>');
}

body {
	font-size: 1rem;
}

.login {
	position: relative;
	font-family: var(--font-family);
	background-color: var(--color-secondary);
	color: var(--color-primary);
}

.login:before {
	content: '';
	background: var(--logo-watermark);
	background-size: 100%;
	position: absolute;
	inset-block-end: 50px;
	inset-inline-end: 50px;
	inline-size: var(--logo-watermark-width);
	aspect-ratio: var(--logo-watermark-ratio);
	pointer-events: none;
	opacity: .3;
}

.login #login {
	position: relative;
	z-index: 1;
}

.login h1 a {
	inline-size: 100%;
	background: var(--logo);
	background-size: contain;
}

.login h1 a:focus {
	box-shadow: none;
}

.login h1 a:focus-visible {
	outline: 3px dashed var(--color-primary);
	outline-offset: .3em;
}

.login form {
	background-color: var(--color-primary);
	border-radius: 5px;
	border: none;
}

.login form > *:not(:last-child) {
	padding-block-end: 15px;
}

.login #login_error,
.login .message,
.login .success {
	color: var(--color-primary);
	background: var(--color-accent);
}

.login input[type="checkbox"]:focus {
	border: none;
	box-shadow: none;
	outline: none;
}

.login label {
	font-size: 1rem;
	color: var(--color-accent);
	display: block;
}

.login .button.wp-hide-pw:focus {
	border-color: transparent;
	box-shadow: none;
}

.login .button.wp-hide-pw:focus-visible {
	outline: 3px dashed var(--color-primary);
	outline-offset: -.3em;
}

.login #wp-submit {
	background-color: var(--color-accent);
	font-size: var(--font-size);
	color: var(--color-primary);
	box-shadow: unset;
	border-radius: var(--border-radius);
	text-shadow: unset;
	transition: all .4s;
	border: 2px solid var(--color-accent);
	padding: 10px 20px;
	min-block-size: 1px;
	line-height: normal;
}

.login #wp-submit:hover {
	background: var(--color-primary);
	color: var(--color-accent);
}

.login #wp-submit:focus-visible {
	outline: 3px dashed currentColor;
	outline-offset: .3em;
	background: var(--color-primary);
	color: var(--color-accent);
}

.login form .input {
	font-size: var(--font-size);
	border-radius: var(--border-radius);
	color: var(--color-primary);
	padding: 15px;
	margin: 0;
	border: none;
	box-shadow: none;
	background: var(--color-secondary);
}

.login .forgetmenot {
	inline-size: 100%;
	display: flex;
	align-items: center;
}

.login .forgetmenot input {
	border: none;
	box-shadow: none;
	accent-color: var(--checkbox-color);
	color: var(--checkbox-color);
	appearance: checkbox;
	-webkit-appearance: checkbox;
}

.login .forgetmenot input:focus-visible {
	outline: 3px dashed var(--checkbox-color);
	outline-offset: .1em;
}

.login .forgetmenot input:before {
	display: none;
}

.login .button.wp-hide-pw {
	height: 100%;
}

.login #backtoblog,
.login #nav {
	padding: 0;
	margin-block-start: 15px;
}

.login .privacy-policy-link,
.login #backtoblog a,
.login #nav a {
	color: var(--color-primary);
	background-color: var(--color-secondary);
	display: inline-block;
	padding: 5px 15px;
	text-decoration: none;
	transition: color .4s, background-color .4s;
}

.login .privacy-policy-link:hover,
.login .privacy-policy-link:focus-visible,
.login #backtoblog a:hover,
.login #backtoblog a:focus-visible,
.login #nav a:hover,
.login #nav a:focus-visible {
	color: var(--color-accent);
	background-color: var(--color-primary);
}

.login .privacy-policy-link:focus-visible,
.login #backtoblog a:focus-visible,
.login #nav a:focus-visible {
	outline: 3px dashed var(--color-primary);
	outline-offset: .3em;
}

.login .privacy-policy-link:focus,
.login #backtoblog a:focus,
.login #nav a:focus {
	box-shadow: none;
}

.login .message {
	border-inline-start: 4px solid var(--color-primary);
}

.wp-core-ui .button {
	border-radius: 0;
	color: var(--color-primary);
	border-color: var(--color-primary);
	background: var(--color-accent);
	transition: color .4s, background .4s;
}

.wp-core-ui .button:hover,
.wp-core-ui .button:focus-visible {
	color: var(--color-primary);
}

.wp-core-ui .button:focus-visible {
	box-shadow: none;
	border-color: var(--color-accent);
	outline: 3px dashed var(--color-accent);
	outline-offset: .2em;
}

.wp-core-ui .language-switcher select {
	font-size: .8rem;
	border-radius: 0;
	color: var(--color-secondary);
	padding-block-end: 0;
	background: var(--color-accent) var(--select-svg) no-repeat right 5px top 55%;
	background-size: 16px 16px;
	transition: color .4s, background .4s;
}

.wp-core-ui .language-switcher select:hover,
.wp-core-ui .language-switcher select:focus-visible {
	color: var(--color-accent);
	background: var(--color-secondary) var(--select-svg-hover) no-repeat right 5px top 55%;
	background-size: 16px 16px;
}

.wp-core-ui .language-switcher select:focus-visible {
	box-shadow: none;
	border-color: var(--color-accent);
	outline: 3px dashed var(--color-accent);
	outline-offset: .2em;
}

label[for="language-switcher-locales"] {
	color: var(--color-accent);
}
