/*
 * Scape Conference — Public Form Styles
 *
 * Follows The Academic Editorial design system.
 * Fonts are enqueued via WordPress (Noto Serif, Plus Jakarta Sans, Material Symbols).
 */

/* Material Symbols setup */
.material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	display: inline-block;
	vertical-align: middle;
}

/* Design System Colors */
:root {
	--sc-primary: #000719;
	--sc-primary-container: #051f42;
	--sc-on-primary: #ffffff;
	--sc-secondary: #4d6077;
	--sc-on-secondary-container: #51647c;
	--sc-tertiary-fixed-variant: #5f3f2f;
	--sc-surface: #fff8f3;
	--sc-surface-container: #fdebd7;
	--sc-surface-container-low: #fff1e3;
	--sc-surface-container-lowest: #ffffff;
	--sc-surface-container-highest: #f1e0cc;
	--sc-on-surface: #231a0e;
	--sc-on-tertiary-fixed-variant: #5f3f2f;
	--sc-outline-variant: #c4c6cf;
	--sc-error-container: #ffdad6;
	--sc-on-error-container: #93000a;
	--sc-on-error: #ffffff;
}

/* Form Container */
.scape-conference-form {
	max-width: 768px;
	margin: 0 auto;
	font-family: 'Noto Serif', Georgia, serif;
	background-color: var(--sc-surface-container);
	border-radius: 1.5rem;
	padding: 3rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

/* Form Header */
.sc-form-header {
	display: flex;
	align-items: center;
	margin-bottom: 3rem;
}

.sc-form-header .material-symbols-outlined {
	font-size: 1.5rem;
	color: var(--sc-primary-container);
	margin-right: 1rem;
}

.sc-form-header h2 {
	font-family: 'Noto Serif', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--sc-primary);
	margin: 0;
}

/* Form Grid */
.sc-form-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem 2rem;
}

@media (min-width: 640px) {
	.sc-form-grid {
		grid-template-columns: 1fr 1fr;
	}

	.sc-form-field-full {
		grid-column: 1 / -1;
	}
}

/* Form Fields */
.sc-form-field {
	position: relative;
}

/* Labels */
.sc-form-label {
	display: block;
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--sc-secondary);
	margin-bottom: 0.5rem;
}

.sc-required {
	color: var(--sc-on-error-container);
}

/* Inputs */
.sc-form-input {
	width: 100%;
	padding: 0.5rem 0;
	font-family: 'Noto Serif', Georgia, serif;
	font-size: 1rem;
	color: var(--sc-on-surface);
	background-color: transparent;
	border: none;
	border-bottom: 1px solid var(--sc-outline-variant);
	border-radius: 0;
	appearance: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sc-form-input::placeholder {
	color: rgba(196, 198, 207, 0.6);
}

.sc-form-input:hover {
	border-bottom-color: var(--sc-primary-container);
}

.sc-form-input:focus {
	outline: none;
	border-bottom-color: var(--sc-primary-container);
	box-shadow: 0 1px 0 0 var(--sc-primary-container);
}

/* Select Wrapper */
.sc-form-select-wrapper {
	position: relative;
}

.sc-form-select-wrapper .sc-form-input {
	padding-right: 2rem;
	cursor: pointer;
	background-color: transparent;
}

.sc-form-select-icon {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	font-size: 1.25rem;
	color: var(--sc-secondary);
}

/* Disabled Select State */
.sc-form-select-wrapper .sc-form-input:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Submit Section */
.sc-form-submit {
	display: flex;
	justify-content: center;
	margin-top: 2.5rem;
	padding-top: 1rem;
}

/* Submit Button */
.sc-form-button {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 3rem;
	background-color: var(--sc-primary-container);
	color: var(--sc-on-primary);
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	border: none;
	border-radius: 0.75rem;
	cursor: pointer;
	transition: opacity 0.2s ease, transform 0.1s ease;
}

.sc-form-button:hover {
	opacity: 0.9;
}

.sc-form-button:active {
	transform: scale(0.95);
}

.sc-form-button .material-symbols-outlined {
	transition: transform 0.2s ease;
}

.sc-form-button:hover .material-symbols-outlined {
	transform: translateX(0.25rem);
}

/* Messages */
.sc-form-message {
	padding: 1rem 1.5rem;
	margin-bottom: 2rem;
	border-radius: 0.75rem;
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 0.875rem;
}

.sc-form-message p {
	margin: 0;
}

.sc-form-message-error {
	background-color: var(--sc-error-container);
	color: var(--sc-on-error-container);
	border-left: 4px solid var(--sc-on-error-container);
}

/* Responsive adjustments */
@media (max-width: 640px) {
	.scape-conference-form {
		padding: 1.5rem;
	}

	.sc-form-header {
		margin-bottom: 2rem;
	}

	.sc-form-header h2 {
		font-size: 1.25rem;
	}

	.sc-form-grid {
		gap: 2rem 0;
	}

	.sc-form-button {
		width: 100%;
		justify-content: center;
		padding: 0.875rem 2rem;
	}
}
