/*
 * Dwell Auth — Sign in / Create account
 * Figma: Dwell Dashboard nodes 62:39 and 149:5698
 *
 * Style-isolated: `all: revert` scoped to `.dwell-auth` neutralizes
 * Elementor / theme element rules before our own styles apply.
 * Selectors are double-prefixed for specificity.
 */

/* ══ Isolation reset ══ */
.dwell-auth.dwell-auth {
	all: revert;

	--da-ink: #252933;
	--da-muted: #5f636f;
	--da-terms: #6c6158;
	--da-brand: #906847;
	--da-border: #ded6c9;
	--da-card: #fefbf8;
	--da-btn-text: #faf8f5;
	--da-req: #e80000;
	--da-page: #f5f0ea;

	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 70vh !important;
	margin: 0 auto !important;
	padding: 40px 16px !important;
	background: transparent !important;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.5 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-align: left !important;
	text-shadow: none !important;
	color: var(--da-ink) !important;
	-webkit-font-smoothing: antialiased;
}

.dwell-auth.dwell-auth :where(div, form, h1, h2, p, span, a, label, button, input, img, strong, em, small) {
	all: revert;
	box-sizing: border-box !important;
	font-family: inherit !important;
	margin: 0 !important;
	text-shadow: none !important;
}

.dwell-auth.dwell-auth [hidden] {
	display: none !important;
}

.dwell-auth.dwell-auth input[type="checkbox"]::before,
.dwell-auth.dwell-auth input[type="checkbox"]::after {
	content: none !important;
}

.dwell-auth.dwell-auth *,
.dwell-auth.dwell-auth *::before,
.dwell-auth.dwell-auth *::after {
	box-sizing: border-box !important;
}

/* ══ Card ══ */
.dwell-auth.dwell-auth .dwell-auth-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 4px !important;
	width: 100% !important;
	max-width: 448px !important;
	margin: 0 auto !important;
	padding: 33px !important;
	background: var(--da-card) !important;
	border: 1px solid var(--da-border) !important;
	border-radius: 16px !important;
	box-shadow:
		0 1px 3px rgba(0, 0, 0, 0.1),
		0 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
}

.dwell-auth.dwell-auth .dwell-auth-logo {
	display: block !important;
	width: auto !important;
	height: 59px !important;
	max-width: 100% !important;
	max-height: 59px !important;
	object-fit: contain !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.dwell-auth.dwell-auth .dwell-auth-title {
	display: block !important;
	width: 100% !important;
	margin: 20px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
	font-weight: 600 !important;
	font-size: 30px !important;
	line-height: 32px !important;
	letter-spacing: -0.24px !important;
	text-align: center !important;
	text-transform: none !important;
	color: var(--da-ink) !important;
}

.dwell-auth.dwell-auth .dwell-auth-subtitle {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 20px !important;
	text-align: center !important;
	color: var(--da-muted) !important;
}

/* ══ Form ══ */
.dwell-auth.dwell-auth .dwell-auth-form {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 28px 0 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.dwell-auth.dwell-auth .dwell-auth-row {
	display: flex !important;
	gap: 11px !important;
	width: 100% !important;
}

.dwell-auth.dwell-auth .dwell-auth-row .dwell-auth-field {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

.dwell-auth.dwell-auth .dwell-auth-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	width: 100% !important;
}

.dwell-auth.dwell-auth .dwell-auth-label-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	width: 100% !important;
}

.dwell-auth.dwell-auth .dwell-auth-label {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 14px !important;
	color: var(--da-ink) !important;
}

.dwell-auth.dwell-auth .dwell-auth-req {
	color: var(--da-req) !important;
	margin-left: 1px !important;
}

.dwell-auth.dwell-auth .dwell-auth-input {
	display: block !important;
	width: 100% !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 1px solid var(--da-border) !important;
	border-radius: 6px !important;
	background: transparent !important;
	box-shadow:
		0 1px 3px rgba(0, 0, 0, 0.1),
		0 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: normal !important;
	color: var(--da-ink) !important;
	outline: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.dwell-auth.dwell-auth .dwell-auth-input::placeholder {
	color: var(--da-muted) !important;
	opacity: 1 !important;
}

.dwell-auth.dwell-auth .dwell-auth-input:focus {
	border-color: var(--da-brand) !important;
	box-shadow: 0 0 0 2px rgba(144, 104, 71, 0.18) !important;
}

.dwell-auth.dwell-auth .dwell-auth-input.is-invalid {
	border-color: #c44 !important;
}

.dwell-auth.dwell-auth .dwell-auth-field-error {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #c44 !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}

.dwell-auth.dwell-auth .dwell-auth-field-error[hidden] {
	display: none !important;
}

.dwell-auth.dwell-auth .dwell-auth-input-wrap {
	position: relative !important;
	width: 100% !important;
}

.dwell-auth.dwell-auth .dwell-auth-input-wrap .dwell-auth-input {
	padding-right: 40px !important;
}

.dwell-auth.dwell-auth .dwell-auth-eye {
	position: absolute !important;
	top: 50% !important;
	right: 10px !important;
	transform: translateY(-50%) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer !important;
	opacity: 0.7 !important;
	line-height: 1 !important;
}

.dwell-auth.dwell-auth .dwell-auth-eye:hover,
.dwell-auth.dwell-auth .dwell-auth-eye:focus-visible {
	opacity: 1 !important;
}

.dwell-auth.dwell-auth .dwell-auth-eye img {
	display: block !important;
	width: 18px !important;
	height: 14px !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.dwell-auth.dwell-auth .dwell-auth-check {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	color: var(--da-terms) !important;
	cursor: pointer !important;
	background: transparent !important;
	border: 0 !important;
}

.dwell-auth.dwell-auth .dwell-auth-check input[type="checkbox"] {
	flex-shrink: 0 !important;
	width: 13px !important;
	height: 13px !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
	accent-color: var(--da-brand);
	cursor: pointer !important;
	appearance: auto !important;
	-webkit-appearance: auto !important;
}

.dwell-auth.dwell-auth .dwell-auth-forgot-link {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--da-brand) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 14px !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.dwell-auth.dwell-auth .dwell-auth-forgot-link:hover {
	text-decoration: underline !important;
	color: var(--da-brand) !important;
}

.dwell-auth.dwell-auth .dwell-auth-actions {
	width: 100% !important;
	padding-top: 8px !important;
}

.dwell-auth.dwell-auth .dwell-auth-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 7.5px 16px 8.5px !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: var(--da-brand) !important;
	box-shadow:
		0 1px 3px rgba(0, 0, 0, 0.1),
		0 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 20px !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	color: var(--da-btn-text) !important;
	text-align: center !important;
	cursor: pointer !important;
}

.dwell-auth.dwell-auth#dwell-auth-sign-up .dwell-auth-btn,
.dwell-auth.dwell-auth #dwell-auth-sign-up-btn {
	font-size: 16px !important;
}

.dwell-auth.dwell-auth .dwell-auth-btn:hover {
	filter: brightness(0.96);
}

.dwell-auth.dwell-auth .dwell-auth-btn:disabled,
.dwell-auth.dwell-auth .dwell-auth-btn.is-loading {
	opacity: 0.7 !important;
	pointer-events: none !important;
}

.dwell-auth.dwell-auth .dwell-auth-footer {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 20px 0 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	text-align: center !important;
	color: var(--da-muted) !important;
}

.dwell-auth.dwell-auth .dwell-auth-link {
	color: var(--da-brand) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.dwell-auth.dwell-auth .dwell-auth-link:hover {
	text-decoration: underline !important;
	color: var(--da-brand) !important;
}

.dwell-auth.dwell-auth .dwell-auth-link--bold {
	font-weight: 700 !important;
}

.dwell-auth.dwell-auth .dwell-auth-message {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 10px 12px !important;
	border-radius: 6px !important;
	border: 1px solid #f5c5a3 !important;
	background: #fff8f5 !important;
	color: #7a3010 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

.dwell-auth.dwell-auth .dwell-auth-message.is-success {
	border-color: #c8e0c5 !important;
	background: #f2faf1 !important;
	color: #2c5e2a !important;
}

.dwell-auth.dwell-auth .dwell-auth-message[hidden] {
	display: none !important;
}

@media (max-width: 520px) {
	.dwell-auth.dwell-auth {
		padding: 24px 12px !important;
		min-height: auto !important;
	}

	.dwell-auth.dwell-auth .dwell-auth-card {
		padding: 28px 20px !important;
	}

	.dwell-auth.dwell-auth .dwell-auth-row {
		flex-direction: column !important;
		gap: 16px !important;
	}

	.dwell-auth.dwell-auth .dwell-auth-title {
		font-size: 26px !important;
		line-height: 30px !important;
	}
}
