textarea{

	font-family:inherit;

	resize:vertical;
}

button{

	font-family:inherit;
}

/* =========================
   AUTH BACKGROUND
========================= */

.auth-background{

	position:fixed;

	inset:0;

	background:
		linear-gradient(
			180deg,
			color-mix(
				in srgb,
				var(--theme-color) 10%,
				white
			) 0%,

			color-mix(
				in srgb,
				var(--theme-color) 18%,
				white
			) 45%,

			#ffffff 100%
		);

	z-index:-2;
}

/* =========================
   AUTH WRAPPER
========================= */

.auth-wrapper{

	width:100%;
	min-height:100dvh;

	display:flex;
	align-items:center;
	justify-content:center;

	padding:24px;
}

/* =========================
   AUTH CARD
========================= */

.auth-card{

	position:relative;

	width:100%;
	max-width:560px;

	padding:
		60px
		42px;

	border-radius:36px;

	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,0.84),
			rgba(255,255,255,0.66)
		);

	backdrop-filter:blur(18px);

	border:
		1px solid var(--glass-border);

	box-shadow:
		var(--soft-shadow);

	overflow:hidden;
}

.auth-card::before{

	content:'';

	position:absolute;

	top:-120px;
	right:-120px;

	width:260px;
	height:260px;

	border-radius:50%;

	background:
		radial-gradient(
			circle,
			rgba(200,169,126,0.16),
			transparent 70%
		);

	pointer-events:none;
}

.auth-card-small{

	max-width:560px;
}

/* =========================
   TYPOGRAPHY
========================= */

.auth-card h1{

	position:relative;

	z-index:2;

	font-family:
		'Cormorant Garamond', serif;

	font-size:68px;
	font-weight:600;

	line-height:0.92;

	color:var(--text-dark);

	text-align:center;

	margin-bottom:16px;
}

.auth-card p{

	position:relative;

	z-index:2;

	text-align:center;

	color:var(--text-light);

	font-size:18px;

	line-height:1.7;

	margin-bottom:36px;
}

/* =========================
   FORM
========================= */

.auth-card form{

	position:relative;

	z-index:2;

	display:flex;
	flex-direction:column;

	gap:18px;
}

.auth-card input,
.auth-card textarea{

	width:100%;

	border:none;

	border-radius:20px;

	background:
		rgba(255,255,255,0.9);

	padding:
		18px
		20px;

	font-size:16px;

	color:var(--text-dark);

	outline:none;

	box-shadow:
		inset 0 0 0 1px rgba(0,0,0,0.04);

	transition:0.2s;
}

.auth-card input::placeholder,
.auth-card textarea::placeholder{

	color:var(--muted);
}

.auth-card textarea{

	min-height:140px;

	font-family:inherit;
}

.auth-card input:focus,
.auth-card textarea:focus{

	box-shadow:
		0 0 0 4px rgba(200,169,126,0.14);
}

/* =========================
   BUTTON
========================= */

.auth-card button{

	width:100%;

	height:60px;

	border:none;

	border-radius:20px;

	background:
		linear-gradient(
			135deg,
			var(--theme-color),
			var(--theme-color-dark)
		);

	color:white;

	font-size:16px;
	font-weight:700;

	cursor:pointer;

	transition:0.2s;

	box-shadow:
		0 18px 40px rgba(200,169,126,0.18);
}

.auth-card button:hover{

	transform:translateY(-2px);

	box-shadow:
		0 22px 48px rgba(200,169,126,0.24);
}

/* =========================
   LINKS
========================= */

.auth-switch{

	position:relative;

	z-index:2;

	margin-top:28px;

	text-align:center;

	color:var(--text-light);

	font-size:15px;
}

.auth-switch a{

	color:var(--theme-color);

	text-decoration:none;

	font-weight:700;
}

.auth-forgot{

	position:relative;

	z-index:2;

	text-align:right;

	margin-top:-6px;
	margin-bottom:2px;
}

.auth-forgot a{

	font-size:14px;

	color:var(--theme-color);

	text-decoration:none;

	font-weight:600;
}

/* =========================
   ERROR
========================= */

.auth-error{

	position:relative;

	z-index:2;

	display:flex;

	align-items:center;

	gap:14px;

	padding:
		18px
		20px;

	border-radius:22px;

	background:
		linear-gradient(
			135deg,
			#fff5f2,
			#ffebe7
		);

	border:
		1px solid rgba(196,90,79,0.12);

	box-shadow:
		0 10px 24px rgba(196,90,79,0.08);

	color:#c45a4f;

	font-size:14px;
	font-weight:700;

	line-height:1.6;

	margin-bottom:22px;
}

.auth-error::before{

	content:'!';

	width:30px;
	height:30px;

	border-radius:50%;

	background:#c45a4f;

	color:white;

	display:flex;
	align-items:center;
	justify-content:center;

	font-size:15px;
	font-weight:700;

	flex-shrink:0;
}

/* =========================
   SUCCESS
========================= */

.auth-success{

	position:relative;

	z-index:2;

	display:flex;

	align-items:center;

	gap:14px;

	padding:
		18px
		20px;

	border-radius:22px;

	background:
		linear-gradient(
			135deg,
			#edf8f0,
			#e4f3e8
		);

	border:
		1px solid rgba(63,127,85,0.12);

	box-shadow:
		0 14px 30px rgba(63,127,85,0.08);

	color:#3f7f55;

	font-size:15px;
	font-weight:700;

	line-height:1.6;

	margin-bottom:22px;
}

.auth-success::before{

	content:'?';

	width:30px;
	height:30px;

	border-radius:50%;

	background:#3f7f55;

	color:white;

	display:flex;
	align-items:center;
	justify-content:center;

	font-size:14px;
	font-weight:700;

	flex-shrink:0;
}

/* =========================
   REGISTER GALLERY PREVIEW
========================= */

.register-gallery-preview{

	position:relative;

	margin:
		10px 0
		28px;

	padding:
		32px
		28px;

	border-radius:30px;

	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,0.84),
			rgba(255,255,255,0.66)
		);

	backdrop-filter:blur(18px);

	border:
		1px solid var(--glass-border);

	box-shadow:
		var(--soft-shadow);

	overflow:hidden;

	display:flex;
	flex-direction:column;

	align-items:center;

	text-align:center;
}

.register-gallery-glow{

	position:absolute;

	top:-100px;
	right:-100px;

	width:220px;
	height:220px;

	border-radius:50%;

	background:
		radial-gradient(
			circle,
			rgba(200,169,126,0.16),
			transparent 70%
		);
}

.register-gallery-badge{

	position:relative;

	z-index:2;

	display:inline-flex;

	align-items:center;
	justify-content:center;

	padding:
		10px
		16px;

	border-radius:999px;

	background:
		rgba(255,255,255,0.74);

	color:var(--theme-color-dark);

	font-size:13px;
	font-weight:700;

	margin-bottom:20px;

	border:
		1px solid var(--glass-border);
}

.register-gallery-name{

	position:relative;

	z-index:2;

	font-family:
		'Cormorant Garamond', serif;

	font-size:48px;
	font-weight:600;

	line-height:0.95;

	color:var(--text-dark);

	margin-bottom:20px;
}

.register-gallery-date{

	position:relative;

	z-index:2;

	display:inline-flex;

	align-items:center;

	gap:10px;

	padding:
		12px
		18px;

	border-radius:18px;

	background:
		rgba(255,255,255,0.72);

	color:var(--text-light);

	font-size:14px;
	font-weight:700;

	margin-bottom:20px;
}

.register-gallery-date i{

	color:var(--theme-color);
}

.register-gallery-text{

	position:relative;

	z-index:2;

	font-size:15px;

	line-height:1.8;

	color:var(--text-light);

	max-width:520px;
}

/* =========================
   MOBILE
========================= */

@media(max-width:900px){

	.auth-card{

		padding:
			46px
			26px;
	}

	.auth-card h1{

		font-size:52px;
	}
}

@media(max-width:700px){

	.auth-wrapper{

		padding:14px;
	}

	.auth-card{

		padding:
			38px
			22px;

		border-radius:28px;
	}

	.auth-card h1{

		font-size:44px;
	}

	.auth-card p{

		font-size:16px;
	}

	.auth-card input,
	.auth-card textarea{

		padding:
			16px
			18px;

		font-size:15px;

		border-radius:18px;
	}

	.auth-card button{

		height:56px;

		font-size:15px;

		border-radius:18px;
	}

	.register-gallery-preview{

		padding:
			26px
			22px;

		border-radius:24px;
	}

	.register-gallery-name{

		font-size:36px;
	}

	.register-gallery-text{

		font-size:14px;
	}
}

/* =========================
   INPUT ERROR
========================= */

.input-error{

	box-shadow:
		0 0 0 3px rgba(196,90,79,0.12),

		inset 0 0 0 1px rgba(196,90,79,0.34) !important;

	background:
		#fffafa !important;
}

.input-error::placeholder{

	color:#c98787;
}

/* =========================
   LEGAL CHECKBOXES
========================= */

.auth-checkbox-group{

	display:flex;

	flex-direction:column;

	gap:14px;

	margin-top:10px;
	margin-bottom:6px;
}

.auth-checkbox{

	display:flex;

	align-items:flex-start;

	gap:12px;

	font-size:14px;

	line-height:1.6;

	color:var(--text-light);
}

.auth-checkbox input{

	width:18px !important;
	height:18px !important;

	min-width:18px;

	margin-top:2px;

	padding:0 !important;

	border:none !important;

	border-radius:6px !important;

	background:none !important;

	box-shadow:none !important;

	accent-color:
		var(--theme-color);

	transform:none !important;

	flex-shrink:0;
}

.auth-checkbox{

	display:flex;

	align-items:flex-start;

	gap:12px;

	font-size:14px;

	line-height:1.7;

	color:var(--text-light);

	cursor:pointer;
}

.auth-checkbox span{

	display:block;
}

.auth-checkbox a{

	color:var(--theme-color-dark);

	font-weight:600;

	text-decoration:none;
}

.auth-checkbox a:hover{

	text-decoration:underline;
}

.auth-password-wrapper{

	position:relative;

	width:100%;
}

.auth-password-wrapper input{

	width:100%;

	padding-right:52px;
}

.auth-password-toggle{

	position:absolute;

	top:50%;

	right:16px;

	transform:translateY(-50%);

	background:transparent !important;

	border:none !important;

	box-shadow:none !important;

	padding:0 !important;

	margin:0 !important;

	width:auto !important;

	height:auto !important;

	min-width:auto !important;

	cursor:pointer;

	color:#111 !important;

	font-size:15px;

	display:flex;

	align-items:center;

	justify-content:center;
}

.auth-password-toggle:hover{

	background:transparent !important;

	color:#000 !important;
}

.auth-password-toggle.hidden{

	display:none !important;
}