/* ==========================================================================
   Go Organized Leads – Frontend Styles
   Namespaced under .gol-* to avoid conflicts with Avada / other themes.
   ========================================================================== */

/* Wrapper */
.gol-form-wrap {
	max-width: 640px;
	margin: 0 auto;
	font-family: inherit;
}

/* Notices */
.gol-notice {
	padding: .75em 1em;
	margin-bottom: 1.25em;
	border-left: 4px solid #999;
	background: #f7f7f7;
	border-radius: 3px;
}
.gol-notice--success { border-color: #4caf50; background: #f0fff0; color: #2a6b2e; }
.gol-notice--error   { border-color: #e53935; background: #fff5f5; color: #c0392b; }

/* Fields */
.gol-fields { display: flex; flex-direction: column; gap: 1.1em; }

.gol-field { display: flex; flex-direction: column; gap: .35em; }

.gol-label {
	display: inline-block;
	font-weight: 600;
	font-size: .95em;
}

.gol-required { color: #e53935; margin-left: .15em; }

.gol-input,
.gol-textarea,
.gol-select {
	width: 100%;
	padding: .55em .75em;
	font-size: 1em;
	font-family: inherit;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	color: #333;
	box-sizing: border-box;
	transition: border-color .15s;
}
.gol-input:focus,
.gol-textarea:focus,
.gol-select:focus {
	outline: none;
	border-color: #0073aa;
	box-shadow: 0 0 0 2px rgba(0,115,170,.15);
}
.gol-input.gol--error,
.gol-textarea.gol--error,
.gol-select.gol--error {
	border-color: #e53935;
}

.gol-textarea { min-height: 120px; resize: vertical; }

/* Checkbox / Radio */
.gol-checkbox-label,
.gol-radio-label {
	display: flex;
	align-items: flex-start;
	gap: .5em;
	cursor: pointer;
	font-size: .95em;
}
.gol-checkbox-label input,
.gol-radio-label  input { margin-top: .2em; flex-shrink: 0; }

.gol-radio-group { border: none; padding: 0; margin: 0; }
.gol-radio-group legend { font-weight: 600; font-size: .95em; margin-bottom: .35em; }
.gol-radio-group .gol-radio-label + .gol-radio-label { margin-top: .3em; }

/* Privacy / Newsletter sections */
.gol-field--privacy,
.gol-field--newsletter {
	padding: .75em;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	background: #fafafa;
}

/* Field error message */
.gol-field-error {
	font-size: .85em;
	color: #e53935;
	min-height: 1.2em;
	display: block;
}

/* Submit */
.gol-submit-wrap {
	display: flex;
	align-items: center;
	gap: .75em;
	margin-top: .5em;
}

.gol-submit-btn {
	padding: .6em 1.5em;
	font-size: 1em;
	font-family: inherit;
	background: #0073aa;
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background .15s;
}
.gol-submit-btn:hover  { background: #005a87; }
.gol-submit-btn:active { background: #004a70; }
.gol-submit-btn:disabled { opacity: .6; cursor: default; }

/* Spinner */
.gol-spinner {
	display: none;
	width: 20px;
	height: 20px;
	border: 2px solid #ccc;
	border-top-color: #0073aa;
	border-radius: 50%;
	animation: gol-spin .7s linear infinite;
}
.gol-form.gol--loading .gol-spinner { display: inline-block; }

@keyframes gol-spin { to { transform: rotate(360deg); } }

/* Messages block */
.gol-messages {
	margin-top: .75em;
	font-size: .95em;
}
.gol-messages.gol--success { color: #2a6b2e; }
.gol-messages.gol--error   { color: #c0392b; }

/* Honeypot – must stay invisible */
.gol-hp { position: absolute; left: -9999px; width: 0; height: 0; overflow: hidden; }
