/*
Theme Name:   Bricks Child
Theme URI:    https://bricksbuilder.io/
Description:  Child theme for the Bricks visual page builder theme. Contains all site-specific customisations (league/tournament shortcodes, ACF-driven status automation) so the parent Bricks theme can be updated safely without losing custom code.
Author:       Golf VX
Template:     bricks
Version:      1.1.5
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  bricks-child
*/

/* ============================================================
   Custom Formidable Form Styles
   Matches Unified Intake Form (form.css) look & feel
   Scope: .cstm-frm-style
   ============================================================ */

.cstm-frm-style {
	--cstm-yellow: #ffc700;
	--cstm-yellow-deep: #ffb800;
	--cstm-text: #fff;
	--cstm-muted: #888;
	--cstm-line: rgba(255, 255, 255, 0.4);
	--cstm-line-strong: rgba(255, 255, 255, 0.7);
	--cstm-gradient-primary: linear-gradient(90deg, #4ed9e6 0%, #c5ff3b 100%);

	max-width: 1200px !important;
	margin: 0 auto !important;
	font-family: "Inter", sans-serif !important;
	color: var(--cstm-text) !important;
	background: transparent !important;
}

.cstm-frm-style *,
.cstm-frm-style *::before,
.cstm-frm-style *::after {
	box-sizing: border-box !important;
}

/* ---- Formidable layout reset ---- */
.cstm-frm-style .frm_forms,
.cstm-frm-style .frm_form_fields,
.cstm-frm-style fieldset,
.cstm-frm-style .frm_fields_container {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.cstm-frm-style .frm_screen_reader {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Grid: Formidable frm6 / frm12 */
.cstm-frm-style .frm_fields_container {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 28px 48px !important;
}

.cstm-frm-style .frm_form_field {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	min-width: 0 !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	padding: 0 !important;
}

.cstm-frm-style .frm_form_field.frm12 {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

.cstm-frm-style .frm_form_field.frm6 {
	flex: 0 0 calc(50% - 24px) !important;
	max-width: calc(50% - 24px) !important;
}

/* ---- Labels: yellow uppercase ---- */
.cstm-frm-style .frm_primary_label,
.cstm-frm-style label.frm_primary_label {
	font-family: "Inter", sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var(--cstm-yellow) !important;
	margin: 0 !important;
	padding: 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	line-height: 1.3 !important;
	background: transparent !important;
	border: none !important;
}

.cstm-frm-style .frm_required {
	color: var(--cstm-yellow) !important;
	font-weight: 600 !important;
}

/* ---- Inputs / selects / textareas: underline style ---- */
.cstm-frm-style .frm_form_field input[type="text"],
.cstm-frm-style .frm_form_field input[type="email"],
.cstm-frm-style .frm_form_field input[type="tel"],
.cstm-frm-style .frm_form_field input[type="number"],
.cstm-frm-style .frm_form_field input[type="url"],
.cstm-frm-style .frm_form_field input[type="password"],
.cstm-frm-style .frm_form_field input[type="date"],
.cstm-frm-style .frm_form_field select,
.cstm-frm-style .frm_form_field textarea,
.cstm-frm-style .frm_form_field .frm_date {
	width: 100% !important;
	border: none !important;
	border-bottom: 1px solid var(--cstm-line) !important;
	border-radius: 0 !important;
	text-align: left !important;
	font-family: "Inter", sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: var(--cstm-text) !important;
	background: transparent !important;
	transition: border-color 0.2s !important;
	outline: none !important;
	box-shadow: none !important;
	min-height: 44px !important;
	padding: 10px 0 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.cstm-frm-style .frm_form_field select {
	padding-right: 28px !important;
	cursor: pointer !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0 bottom 14px !important;
	background-size: 16px 16px !important;
}

.cstm-frm-style .frm_form_field select option {
	background: #111 !important;
	color: #fff !important;
}

.cstm-frm-style .frm_form_field textarea {
	resize: vertical !important;
	min-height: 88px !important;
	padding-top: 12px !important;
}

.cstm-frm-style .frm_form_field input:focus,
.cstm-frm-style .frm_form_field select:focus,
.cstm-frm-style .frm_form_field textarea:focus,
.cstm-frm-style .frm_form_field .frm_date:focus {
	border-color: var(--cstm-yellow) !important;
	box-shadow: none !important;
	color: #fff !important;
	background: transparent !important;
}

.cstm-frm-style .frm_form_field input:hover,
.cstm-frm-style .frm_form_field select:hover,
.cstm-frm-style .frm_form_field textarea:hover {
	background: transparent !important;
	border-bottom-color: var(--cstm-line-strong) !important;
}

.cstm-frm-style .frm_form_field input::placeholder,
.cstm-frm-style .frm_form_field textarea::placeholder,
.cstm-frm-style .frm_form_field input::-webkit-input-placeholder,
.cstm-frm-style .frm_form_field textarea::-webkit-input-placeholder,
.cstm-frm-style .frm_form_field input::-moz-placeholder,
.cstm-frm-style .frm_form_field textarea::-moz-placeholder,
.cstm-frm-style .frm_form_field input:-ms-input-placeholder,
.cstm-frm-style .frm_form_field textarea:-ms-input-placeholder,
.cstm-frm-style .frm_forms.with_frm_style .frm_form_field input::placeholder,
.cstm-frm-style .frm_forms.with_frm_style .frm_form_field textarea::placeholder,
.cstm-frm-style .frm_style_formidable-style.with_frm_style .frm_form_field input::placeholder,
.cstm-frm-style .frm_style_formidable-style.with_frm_style .frm_form_field textarea::placeholder,
.cstm-frm-style .frm_form_field input[type="text"]::placeholder,
.cstm-frm-style .frm_form_field input[type="email"]::placeholder,
.cstm-frm-style .frm_form_field input[type="tel"]::placeholder,
.cstm-frm-style .frm_form_field input[type="number"]::placeholder,
.cstm-frm-style .frm_form_field input[type="url"]::placeholder,
.cstm-frm-style .frm_form_field input[type="password"]::placeholder,
.cstm-frm-style .frm_form_field input[type="date"]::placeholder,
.cstm-frm-style .frm_form_field .frm_date::placeholder {
	color: rgba(255, 255, 255, 0.45) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.45) !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

/* Autofill on dark */
.cstm-frm-style .frm_form_field input:-webkit-autofill,
.cstm-frm-style .frm_form_field input:-webkit-autofill:hover,
.cstm-frm-style .frm_form_field input:-webkit-autofill:focus,
.cstm-frm-style .frm_form_field input:-webkit-autofill:active {
	-webkit-text-fill-color: #fff !important;
	caret-color: #fff !important;
	color: #fff !important;
	border: none !important;
	border-bottom: 1px solid var(--cstm-line) !important;
	border-radius: 0 !important;
	box-shadow: 0 0 0 1000px #000 inset !important;
	background-color: transparent !important;
	background-image: none !important;
	transition: background-color 99999s ease-in-out 0s !important;
}

.cstm-frm-style .frm_form_field input:-webkit-autofill:focus {
	border-bottom-color: var(--cstm-yellow) !important;
}

/* Datepicker icon (jQuery UI / Formidable) */
.cstm-frm-style .frm_form_field .frm_date {
	background-image: none !important;
}

.cstm-frm-style .ui-datepicker-trigger {
	filter: invert(1) !important;
	opacity: 0.7 !important;
	margin-left: 8px !important;
	cursor: pointer !important;
}

/* ---- Checkbox (Trial Policy) ---- */
.cstm-frm-style .vertical_radio .frm_opt_container,
.cstm-frm-style .frm_opt_container {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cstm-frm-style .frm_checkbox,
.cstm-frm-style .frm_checkbox label {
	display: inline-flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	font-family: "Inter", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	cursor: pointer !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.45 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.cstm-frm-style .frm_checkbox input[type="checkbox"] {
	accent-color: var(--cstm-yellow) !important;
	width: 16px !important;
	height: 16px !important;
	min-height: 16px !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
	border: 1px solid var(--cstm-line) !important;
	border-radius: 2px !important;
	background: transparent !important;
	box-shadow: none !important;
	-webkit-appearance: auto !important;
	appearance: auto !important;
}

.cstm-frm-style .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"]::before,
.cstm-frm-style .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"]::after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
	background: none !important;
	background-image: none !important;
}

/* ---- Honeypot / verify field ---- */
.cstm-frm-style #frm_field_1056_container,
.cstm-frm-style .frm_verify,
.cstm-frm-style .frm_verify_group {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ---- Submit button ---- */
.cstm-frm-style .frm_submit,
.cstm-frm-style .frm_submit.frm_flex {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 20px !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	background: transparent !important;
	border: none !important;
}

.cstm-frm-style .frm_button_submit,
.cstm-frm-style .frm_final_submit,
.cstm-frm-style button.frm_button_submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 14px 28px !important;
	border-radius: 999px !important;
	font-family: "Inter", sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	border: none !important;
	transition: opacity 0.2s, transform 0.2s !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	line-height: 1.2 !important;
	background: var(--cstm-gradient-primary) !important;
	color: #000 !important;
	box-shadow: none !important;
	min-width: 0 !important;
	width: auto !important;
	height: auto !important;
}

.cstm-frm-style .frm_button_submit:hover,
.cstm-frm-style .frm_final_submit:hover {
	opacity: 0.92 !important;
	transform: translateX(2px) !important;
	color: #000 !important;
	background: var(--cstm-gradient-primary) !important;
}

.cstm-frm-style .frm_button_submit:disabled,
.cstm-frm-style .frm_final_submit:disabled {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

/* ---- Errors ---- */
.cstm-frm-style .frm_forms.with_frm_style .frm_error_style,
.cstm-frm-style .frm_style_formidable-style.with_frm_style .frm_error_style,
.cstm-frm-style .frm_error_style,
.cstm-frm-style .frm_error_style p {
	font-family: "Inter", sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #fca5a5 !important;
	background: rgba(220, 38, 38, 0.15) !important;
	border: 1px solid rgba(220, 38, 38, 0.35) !important;
	border-radius: 0 !important;
	padding: 12px 14px !important;
	margin: 0 0 24px !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

.cstm-frm-style .frm_forms.with_frm_style .frm_error,
.cstm-frm-style .frm_style_formidable-style.with_frm_style .frm_error,
.cstm-frm-style .frm_form_field .frm_error,
.cstm-frm-style .frm_error,
.cstm-frm-style div.frm_error[role="alert"] {
	display: block !important;
	font-family: "Inter", sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #fca5a5 !important;
	background: rgba(220, 38, 38, 0.15) !important;
	border: 1px solid rgba(220, 38, 38, 0.35) !important;
	border-radius: 0 !important;
	padding: 8px 12px !important;
	margin: 8px 0 0 !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Error / blank field inputs */
.cstm-frm-style .frm_blank_field input[type="text"],
.cstm-frm-style .frm_blank_field input[type="email"],
.cstm-frm-style .frm_blank_field input[type="tel"],
.cstm-frm-style .frm_blank_field input[type="number"],
.cstm-frm-style .frm_blank_field input[type="url"],
.cstm-frm-style .frm_blank_field input[type="password"],
.cstm-frm-style .frm_blank_field input[type="date"],
.cstm-frm-style .frm_blank_field select,
.cstm-frm-style .frm_blank_field textarea,
.cstm-frm-style .frm_blank_field .frm_date,
.cstm-frm-style .frm_form_field.frm_blank_field input,
.cstm-frm-style .frm_form_field.frm_blank_field select,
.cstm-frm-style .frm_form_field.frm_blank_field textarea,
.cstm-frm-style .frm_error_field input,
.cstm-frm-style .frm_error_field select,
.cstm-frm-style .frm_error_field textarea {
	border: none !important;
	border-bottom: 1px solid #f87171 !important;
	color: #fff !important;
	background: transparent !important;
	box-shadow: none !important;
}

.cstm-frm-style .frm_blank_field input:focus,
.cstm-frm-style .frm_blank_field select:focus,
.cstm-frm-style .frm_blank_field textarea:focus,
.cstm-frm-style .frm_blank_field .frm_date:focus,
.cstm-frm-style .frm_error_field input:focus,
.cstm-frm-style .frm_error_field select:focus,
.cstm-frm-style .frm_error_field textarea:focus {
	border-bottom-color: #f87171 !important;
	box-shadow: none !important;
}

.cstm-frm-style .frm_blank_field .frm_primary_label,
.cstm-frm-style .frm_blank_field label.frm_primary_label,
.cstm-frm-style .frm_error_field .frm_primary_label {
	color: #f87171 !important;
}

.cstm-frm-style .frm_blank_field .frm_required,
.cstm-frm-style .frm_error_field .frm_required {
	color: #f87171 !important;
}

.cstm-frm-style .frm_blank_field .frm_checkbox input[type="checkbox"],
.cstm-frm-style .frm_error_field .frm_checkbox input[type="checkbox"] {
	border-color: #f87171 !important;
	accent-color: #f87171 !important;
}

.cstm-frm-style .frm_forms.with_frm_style .frm_message,
.cstm-frm-style .frm_forms.with_frm_style .frm_success_style,
.cstm-frm-style .frm_message,
.cstm-frm-style .frm_success_style {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	font-family: "Inter", sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	color: #fff !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 28px 20px !important;
	margin: 0 auto !important;
	line-height: 1.7 !important;
	box-shadow: none !important;
	max-width: 560px !important;
	margin-inline: auto !important;
}

.cstm-frm-style .frm_forms.with_frm_style .frm_message::before,
.cstm-frm-style .frm_message::before {
	content: "✓" !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 72px !important;
	height: 72px !important;
	border-radius: 50% !important;
	background: rgba(255, 199, 0, 0.12) !important;
	color: var(--cstm-yellow) !important;
	font-size: 32px !important;
	line-height: 1 !important;
	margin: 0 auto 20px !important;
}

/* ---- Description / help text ---- */
.cstm-frm-style .frm_description,
.cstm-frm-style .frm_form_field .frm_description p {
	font-family: "Inter", sans-serif !important;
	font-size: 12px !important;
	color: var(--cstm-muted) !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
}

/* ---- Responsive ---- */
@media (max-width: 600px) {
	.cstm-frm-style .frm_fields_container {
		gap: 24px !important;
	}

	.cstm-frm-style .frm_form_field.frm6 {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.cstm-frm-style .frm_submit,
	.cstm-frm-style .frm_submit.frm_flex {
		justify-content: stretch !important;
	}

	.cstm-frm-style .frm_button_submit,
	.cstm-frm-style .frm_final_submit {
		width: 100% !important;
		justify-content: center !important;
	}
}

/* ============================================================
   Additions v2: Rating Scale (NPS/Likert) alignment + custom
   yellow radios, and Textarea visibility fix
   Scope: .cstm-frm-style
   This REPLACES the previous "rating-scale-and-textarea-fixes"
   block — don't keep both on the page, they'll fight each other.
   Append this to the end of your existing stylesheet so it wins
   the cascade (same specificity, later rule = applied).
   ============================================================ */

/* ---- Force explicit width at every ancestor level so the dots
   row and the labels row are guaranteed to be the same width ---- */
.cstm-frm-style .frm_opt_container {
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cstm-frm-style .frm_scale_options {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	width: 100% !important;
	box-sizing: border-box !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 20px 0 0px!important;
	float: none !important;
}

.cstm-frm-style .frm_scale_options .frm_scale {
	flex: 1 1 0% !important;
	min-width: 0 !important;
	width: auto !important;
	float: none !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

.cstm-frm-style .frm_scale_options .frm_scale label {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	color: #fff !important;
	font-family: "Inter", sans-serif !important;
	font-size: 13px !important;
	cursor: pointer !important;
	margin: 0 !important;
	width: 100% !important;
}

.cstm-frm-style .frm_scale_labels {
	display: flex !important;
	justify-content: space-between !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 12px 0 0 !important;
	padding: 0 !important;
	font-family: "Inter", sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
}

.cstm-frm-style .frm_scale_labels span {
	color: #fff !important;
}

.cstm-frm-style .frm_scale_labels span:first-child {
	text-align: left !important;
}

.cstm-frm-style .frm_scale_labels span:last-child {
	text-align: right !important;
}

/* ---- Fully custom radio buttons (yellow), independent of
   accent-color / native browser rendering ---- */
.cstm-frm-style .frm_scale_options .frm_scale input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	margin: 0 auto !important;
	border: 2px solid var(--cstm-line-strong) !important;
	border-radius: 50% !important;
	background-color: transparent !important;
	background-image: none !important;
	outline: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
	transition: border-color 0.15s, background-color 0.15s, box-shadow 0.15s !important;
}

.cstm-frm-style .frm_scale_options .frm_scale input[type="radio"]:hover {
	border-color: var(--cstm-yellow) !important;
}

.cstm-frm-style .frm_scale_options .frm_scale input[type="radio"]:checked {
	border-color: var(--cstm-yellow) !important;
	background-color: var(--cstm-yellow) !important;
	box-shadow: inset 0 0 0 4px #000 !important;
}

.cstm-frm-style .frm_scale_options .frm_scale input[type="radio"]:focus,
.cstm-frm-style .frm_scale_options .frm_scale input[type="radio"]:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(255, 199, 0, 0.35) !important;
}

.cstm-frm-style .frm_scale_options .frm_scale input[type="radio"]:checked:focus,
.cstm-frm-style .frm_scale_options .frm_scale input[type="radio"]:checked:focus-visible {
	box-shadow: inset 0 0 0 4px #000, 0 0 0 3px rgba(255, 199, 0, 0.35) !important;
}

/* ---- Textarea: make it visible against the dark background ---- */
.cstm-frm-style .frm_form_field textarea {
	border: 1px solid var(--cstm-line) !important;
	border-radius: 8px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	padding: 14px !important;
}

.cstm-frm-style .frm_form_field textarea:hover {
	border-color: var(--cstm-line-strong) !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

.cstm-frm-style .frm_form_field textarea:focus {
	border-color: var(--cstm-yellow) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	box-shadow: 0 0 0 1px var(--cstm-yellow) inset !important;
}

.cstm-frm-style .frm_form_field textarea::placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
}