/* Auth pages: login, forgot-password, reset-password, signup — Bootstrap 5 overrides */

/* Theme 1: Classic Green (default) */
:root,
[data-theme="classic"] {
	--radius-sm: 0.25rem;
	--radius-md: 0.375rem;
	--radius-lg: 0.5rem;

	--font-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	--shadow-lg: 0 4px 16px rgba(0,0,0,0.1);

	--color-bg: #f9fafb;
	--color-surface: #ffffff;
	--color-text: #111827;
	--color-text-muted: #6b7280;
	--color-border: #d1d5db;
	--color-primary: #15803d;
	--color-primary-hover: #166534;
	--color-primary-accent: #166534;
	--color-input-focus: #16a34a;
	--color-input-focus-ring: rgba(22, 163, 74, 0.2);
	--color-alert-error-bg: #fee2e2;
	--color-alert-error-text: #991b1b;
	--color-alert-success-bg: #ecfdf5;
	--color-alert-success-text: #065f46;
}

/* Theme 2: Augusta */
[data-theme="augusta"] {
	--font-heading: 'Playfair Display', 'Source Serif 4', Georgia, serif;
	--font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;

	--shadow-lg: 0 4px 16px rgba(80,60,20,0.12);

	--color-bg: #faf8f2;
	--color-surface: #fefdfb;
	--color-text: #2c2416;
	--color-text-muted: #7a6e55;
	--color-border: #d4c9a8;
	--color-primary: #2d4a2d;
	--color-primary-hover: #1a2e1a;
	--color-primary-accent: #2d4a2d;
	--color-input-focus: #c4a35a;
	--color-input-focus-ring: rgba(196, 163, 90, 0.25);
	--color-alert-error-bg: #f5e0e0;
	--color-alert-error-text: #6a2020;
	--color-alert-success-bg: #f0f5e6;
	--color-alert-success-text: #2d4a2d;
}

/* Theme 3: Ocean Links */
[data-theme="ocean"] {
	--font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
	--font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;

	--shadow-lg: 0 4px 16px rgba(30,58,95,0.15);

	--color-bg: #f0f4f8;
	--color-surface: #ffffff;
	--color-text: #1a2a3a;
	--color-text-muted: #5a7a9a;
	--color-border: #b8cce0;
	--color-primary: #1e3a5f;
	--color-primary-hover: #15304f;
	--color-primary-accent: #1e3a5f;
	--color-input-focus: #0d9488;
	--color-input-focus-ring: rgba(13, 148, 136, 0.2);
	--color-alert-error-bg: #fde8e8;
	--color-alert-error-text: #8a2020;
	--color-alert-success-bg: #e0f5f0;
	--color-alert-success-text: #0d5e56;
}

/* Theme 4: Sunset Tour */
[data-theme="sunset"] {
	--font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
	--font-body: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;

	--shadow-lg: 0 4px 16px rgba(80,50,20,0.12);

	--color-bg: #fefcf9;
	--color-surface: #ffffff;
	--color-text: #2d2420;
	--color-text-muted: #8a7a65;
	--color-border: #e0d5c5;
	--color-primary: #e8873a;
	--color-primary-hover: #d07030;
	--color-primary-accent: #e8873a;
	--color-input-focus: #e8873a;
	--color-input-focus-ring: rgba(232, 135, 58, 0.2);
	--color-alert-error-bg: #f5e0e0;
	--color-alert-error-text: #7a2020;
	--color-alert-success-bg: #f5f0dd;
	--color-alert-success-text: #5a4520;
}

body {
	font-family: var(--font-body);
	background: var(--color-bg);
	color: var(--color-text);
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.card {
	background: var(--color-surface);
	border-radius: var(--radius-lg);
	border: none;
	box-shadow: var(--shadow-lg);
	padding: 2.5rem;
	width: 100%;
	max-width: 400px;
}
.card h1 {
	text-align: center;
	font-family: var(--font-heading);
	color: var(--color-primary-accent);
	font-size: 1.5rem;
	margin-bottom: 0.25rem;
}
.card .subtitle {
	text-align: center;
	color: var(--color-text-muted);
	font-size: 0.875rem;
	margin-bottom: 1.5rem;
}
.form-group { margin-bottom: 1rem; }
.form-group label {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--color-text-muted);
	margin-bottom: 0.25rem;
}
.form-group input,
.form-group select {
	width: 100%;
	padding: 0.625rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	font-size: 0.9rem;
	font-family: var(--font-body);
	background: var(--color-surface);
	color: var(--color-text);
}
.form-group input:focus,
.form-group select:focus {
	outline: none;
	border-color: var(--color-input-focus);
	box-shadow: 0 0 0 2px var(--color-input-focus-ring);
}
.btn-primary {
	width: 100%;
	padding: 0.625rem;
	background: var(--color-primary);
	color: white;
	border: none;
	border-radius: var(--radius-md);
	font-size: 0.9rem;
	font-weight: 600;
	font-family: var(--font-body);
	cursor: pointer;
	margin-top: 0.5rem;
	transition: background 0.15s, box-shadow 0.15s;
}
.btn-primary:hover { background: var(--color-primary-hover); color: white; }
.btn-primary:focus-visible { outline: 2px solid var(--color-input-focus); outline-offset: 2px; }
.back-link {
	display: block;
	text-align: center;
	margin-top: 1rem;
	color: var(--color-primary);
	font-size: 0.85rem;
	text-decoration: none;
}
.back-link:hover { text-decoration: underline; color: var(--color-primary-hover); }
.alert-error {
	background: var(--color-alert-error-bg);
	color: var(--color-alert-error-text);
	padding: 0.75rem;
	border-radius: var(--radius-md);
	font-size: 0.85rem;
	margin-bottom: 1rem;
	text-align: center;
}
.alert-success {
	background: var(--color-alert-success-bg);
	color: var(--color-alert-success-text);
	padding: 0.75rem;
	border-radius: var(--radius-md);
	font-size: 0.85rem;
	margin-bottom: 1rem;
	text-align: center;
}
.lang-switcher {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}
.lang-switcher button {
	background: none;
	border: 2px solid transparent;
	border-radius: var(--radius-sm);
	cursor: pointer;
	padding: 0.15rem;
	font-size: 1.4rem;
	line-height: 1;
	opacity: 0.5;
	transition: opacity 0.15s, border-color 0.15s;
}
.lang-switcher button:hover { opacity: 0.85; }
.lang-switcher button.active {
	opacity: 1;
	border-color: var(--color-input-focus);
}
