/**
 * Form Styles — Fluent Forms Overrides
 *
 * Underline-only input styling targeting Fluent Forms selectors.
 * Includes focus states, submit button pill override, validation,
 * checkbox/radio custom styling, and dark section variant.
 *
 * @package BuryGolfClub
 * @since   1.0.0
 */

/* ==========================================================================
   Text Inputs, Textarea, Select — Underline Only
   ========================================================================== */

.fluentform .ff-el-input--content input[type="text"],
.fluentform .ff-el-input--content input[type="email"],
.fluentform .ff-el-input--content input[type="tel"],
.fluentform .ff-el-input--content input[type="number"],
.fluentform .ff-el-input--content input[type="url"],
.fluentform .ff-el-input--content textarea,
.fluentform .ff-el-input--content select {
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--text-primary);
	border-radius: 0;
	background: transparent;
	padding: 0.8125rem 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--text-primary);
	transition: border-color 0.5s ease;
	width: 100%;
}

/* ==========================================================================
   Focus States
   ========================================================================== */

.fluentform .ff-el-input--content input[type="text"]:focus,
.fluentform .ff-el-input--content input[type="email"]:focus,
.fluentform .ff-el-input--content input[type="tel"]:focus,
.fluentform .ff-el-input--content input[type="number"]:focus,
.fluentform .ff-el-input--content input[type="url"]:focus,
.fluentform .ff-el-input--content textarea:focus,
.fluentform .ff-el-input--content select:focus {
	border-bottom-width: 2px;
	border-bottom-color: var(--wp--preset--color--accent);
	outline: none;
	box-shadow: none;
}

/* Keyboard-only focus — visible outline for accessibility. */
.fluentform .ff-el-input--content input:focus-visible,
.fluentform .ff-el-input--content textarea:focus-visible,
.fluentform .ff-el-input--content select:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 0;
}

/* ==========================================================================
   Placeholders
   ========================================================================== */

.fluentform .ff-el-input--content input::placeholder,
.fluentform .ff-el-input--content textarea::placeholder {
	color: var(--wp--preset--color--text-secondary);
	opacity: 0.9;
}

/* ==========================================================================
   Labels
   ========================================================================== */

.fluentform .ff-el-input--label label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.125rem;
	color: var(--wp--preset--color--text-primary);
	margin-bottom: 0.25rem;
}

/* ==========================================================================
   Submit Button — Pill CTA Override
   ========================================================================== */

.fluentform .ff-btn-submit {
	background-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--white) !important;
	border: none !important;
	border-radius: var(--wp--custom--border-radius--pill) !important;
	padding: 1rem 2.5rem !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	cursor: pointer;
	transition: background-color 0.2s ease-out;
}

.fluentform .ff-btn-submit:hover {
	background-color: var(--wp--preset--color--accent-dark) !important;
}

.fluentform .ff-btn-submit:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

/* ==========================================================================
   Checkbox / Radio Custom Styling
   ========================================================================== */

.fluentform .ff-el-input--content input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 1.25rem;
	height: 1.25rem;
	border: 2px solid var(--wp--preset--color--text-primary);
	border-radius: 0.1875rem;
	background: transparent;
	cursor: pointer;
	position: relative;
	vertical-align: middle;
	transition: background-color 0.2s ease-out,
		border-color 0.2s ease-out;
}

.fluentform .ff-el-input--content input[type="checkbox"]:checked {
	background-color: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

.fluentform .ff-el-input--content input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	top: 0.125rem;
	left: 0.3125rem;
	width: 0.3125rem;
	height: 0.625rem;
	border: solid var(--wp--preset--color--white);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* ==========================================================================
   Validation Error States
   ========================================================================== */

.fluentform .ff-el-is-error .ff-el-input--content input,
.fluentform .ff-el-is-error .ff-el-input--content textarea {
	border-bottom-color: var(--wp--preset--color--heritage-red, #8B3A3A);
}

.fluentform .ff-el-is-error .ff-el-input--label label {
	color: var(--wp--preset--color--heritage-red, #8B3A3A);
}

/* ==========================================================================
   Dark Section Variant
   ========================================================================== */

.bgc-section--dark .fluentform .ff-el-input--content input[type="text"],
.bgc-section--dark .fluentform .ff-el-input--content input[type="email"],
.bgc-section--dark .fluentform .ff-el-input--content input[type="tel"],
.bgc-section--dark .fluentform .ff-el-input--content input[type="number"],
.bgc-section--dark .fluentform .ff-el-input--content input[type="url"],
.bgc-section--dark .fluentform .ff-el-input--content textarea,
.bgc-section--dark .fluentform .ff-el-input--content select {
	color: var(--wp--preset--color--text-light);
	border-bottom-color: rgba(255, 255, 255, 0.5);
}

.bgc-section--dark .fluentform .ff-el-input--content input[type="text"]:focus,
.bgc-section--dark .fluentform .ff-el-input--content input[type="email"]:focus,
.bgc-section--dark .fluentform .ff-el-input--content input[type="tel"]:focus,
.bgc-section--dark .fluentform .ff-el-input--content input[type="number"]:focus,
.bgc-section--dark .fluentform .ff-el-input--content input[type="url"]:focus,
.bgc-section--dark .fluentform .ff-el-input--content textarea:focus,
.bgc-section--dark .fluentform .ff-el-input--content select:focus {
	border-bottom-color: var(--wp--preset--color--gold);
	opacity: 1;
}

.bgc-section--dark .fluentform .ff-el-input--label label {
	color: var(--wp--preset--color--text-light);
}
