/*
 * Global form styling — copied from SuprDense main theme (suprdense/assets/css/main.css
 * lines 307–532 rules, 120–124 + :root tokens). Values unchanged; only the `.sd-main ` scope prefix
 * dropped so it applies site-wide. Plain WP/HTML form block at the end reuses the same values.
 * Header search (.hsd-search) is excluded so its existing look stays.
 */
:root {
	--sd-color-text: #000000;
	--sd-color-bg: #ffffff;
	--sd-color-btn-text: #ffffff;
	--sd-color-btn-light-shadow: rgba(98, 113, 255, 0.45);
	--sd-color-gradient-start: #3e4ec2;
	--sd-color-gradient-end: #363692;
	--sd-color-gradient-hover-start: #6777e9;
	--sd-color-gradient-hover-end: #212167;
	--sd-form-radius: 10px;
	--sd-color-form-border: #cbd6e2;
	--sd-color-form-placeholder: #bfbfbf;
	--sd-color-form-focus: #6753e8;
	--sd-color-form-error: #970000;
}

.hs-form-field {
	margin-bottom: 20px;
}

.hs-form fieldset {
	display: flow-root;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

.hs-form fieldset.form-columns-2 .hs-form-field {
	float: left;
	width: 50%;
}

.hs-form fieldset.form-columns-2 .input {
	margin-right: 8px;
}

.hs-form fieldset.form-columns-1 .input,
.hs-form fieldset.form-columns-2 .hs-form-field:last-child .input {
	margin-right: 0;
}

.hs-form .inputs-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hs-form .inputs-list > li {
	display: block;
	margin: 0.7rem 0;
}

.hs-form input[type="checkbox"],
.hs-form input[type="radio"] {
	cursor: pointer;
	margin-right: 0.35rem;
}

.hs-form input[type="checkbox"] {
	margin-top: 7px;
}

.hs-form label,
.hs-form legend {
	display: block;
	margin-bottom: 0.35rem;
	font-size: inherit;
}

.hs-form .hs-form-required {
	color: red;
	margin-left: 3px;
}

.hs-form .hs-error-msgs label {
	display: inline-flex;
	padding: 5px;
	border-radius: 5px;
	background: var(--sd-color-form-error);
	color: var(--sd-color-btn-text);
	font-size: 14px;
}

.hbspt-form form.hs-form .hs-input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.hs-fieldtype-intl-phone),
.hbspt-form form.hs-custom-style input:not([type="image"]):not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]),
.hs-form select,
.hs-form textarea {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
	outline: 0;
	line-height: 1.4;
	font-size: 16px;
	font-family: inherit;
	font-weight: 400;
	border: 1px solid var(--sd-color-form-border);
	background: var(--sd-color-bg);
	padding: 12px 14px;
	border-radius: var(--sd-form-radius);
	color: var(--sd-color-text);
}

.hs-form .input > .hs-input:not(.hs-fieldtype-intl-phone) {
	width: 100%;
}

.hs-form input::placeholder,
.hs-form textarea::placeholder {
	color: var(--sd-color-form-placeholder);
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	opacity: 1;
}

.hbspt-form form.hs-form select.hs-input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.hs-fieldtype-intl-phone) {
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 14px 9px;
}

.hbspt-form form.hs-form select.hs-input.is-placeholder:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.hs-fieldtype-intl-phone) {
	color: var(--sd-color-form-placeholder);
}

.hs-fieldtype-intl-phone {
	width: 100%;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.hs-fieldtype-intl-phone::after {
	content: "";
	display: table;
	clear: both;
}

.hbspt-form form.hs-form .hs-fieldtype-intl-phone > select.hs-input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.hs-fieldtype-intl-phone) {
	float: left;
	width: 30%;
	padding-right: 14px;
	background-image: none;
	-webkit-appearance: menulist;
	appearance: menulist;
}

.hs-fieldtype-intl-phone > input:not([type="hidden"]) {
	float: right;
	width: 68%;
}

.hs-fieldtype-intl-phone > input[type="hidden"] {
	display: none;
}

.hs-form textarea {
	resize: vertical;
}

.hbspt-form form.hs-form .hs-input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not(.hs-fieldtype-intl-phone):focus,
.hbspt-form form.hs-custom-style input:not([type="image"]):not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):focus,
.hs-form select:focus,
.hs-form textarea:focus {
	border-color: var(--sd-color-form-focus);
	box-shadow: 0 0 0 3px rgb(103 83 232 / 0.12);
}

.hs-form .hs-input.invalid.error {
	border-color: var(--sd-color-form-error);
	box-shadow: 0 0 0 3px rgb(151 0 0 / 0.12);
}

.hs-form .legal-consent-container {
	margin: 0 0 12px;
	font-size: 0.875rem;
}

.hs-form .legal-consent-container p {
	margin: 0 0 8px;
}

.hs-form .hs_recaptcha {
	margin: 8px 0 20px;
}

.hs-form .hs_submit,
.hs-form .actions {
	margin: 8px 0 0;
}

.hs-form .submitted-message {
	font-weight: 700;
}

.hs-form input[type="submit"],
.hs-form input.hs-button,
.hs-form .hs-button {
	display: inline-block;
	width: auto;
	padding: 15px 30px;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	color: var(--sd-color-btn-text);
	background: linear-gradient(95deg, var(--sd-color-gradient-start) 0.63%, var(--sd-color-gradient-end) 98.33%);
	cursor: pointer;
	transition: 0.3s ease-in-out;
}

.hs-form input[type="submit"]:hover,
.hs-form input.hs-button:hover,
.hs-form .hs-button:hover {
	color: var(--sd-color-btn-text);
	background: linear-gradient(75.75deg, var(--sd-color-gradient-hover-start) 0.63%, var(--sd-color-gradient-hover-end) 98.33%);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px var(--sd-color-btn-light-shadow);
	opacity: 0.93;
}

@media (max-width: 767px) {
	.hs-form fieldset.form-columns-2 .hs-form-field {
		float: none;
		width: 100%;
	}

	.hs-form fieldset.form-columns-2 .input {
		margin-right: 0;
	}
}


/* Plain WordPress / HTML forms (same values as the HubSpot rules above). Not the header search. */
form:not(.hsd-search):not(.hs-form) input:not([type="image"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
form:not(.hsd-search):not(.hs-form) select,
form:not(.hsd-search):not(.hs-form) textarea {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
	outline: 0;
	line-height: 1.4;
	font-size: 16px;
	font-family: inherit;
	font-weight: 400;
	border: 1px solid var(--sd-color-form-border);
	background: var(--sd-color-bg);
	padding: 12px 14px;
	border-radius: var(--sd-form-radius);
	color: var(--sd-color-text);
}

form:not(.hsd-search):not(.hs-form) textarea {
	resize: vertical;
}

form:not(.hsd-search):not(.hs-form) input::placeholder,
form:not(.hsd-search):not(.hs-form) textarea::placeholder {
	color: var(--sd-color-form-placeholder);
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	opacity: 1;
}

form:not(.hsd-search):not(.hs-form) select {
	padding-right: 44px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 14px 9px;
}

form:not(.hsd-search):not(.hs-form) input:not([type="image"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]):focus,
form:not(.hsd-search):not(.hs-form) select:focus,
form:not(.hsd-search):not(.hs-form) textarea:focus {
	border-color: var(--sd-color-form-focus);
	box-shadow: 0 0 0 3px rgb(103 83 232 / 0.12);
}

form:not(.hsd-search):not(.hs-form) label,
form:not(.hsd-search):not(.hs-form) legend {
	display: block;
	margin-bottom: 0.35rem;
	font-size: inherit;
}

form:not(.hsd-search):not(.hs-form) input[type="checkbox"],
form:not(.hsd-search):not(.hs-form) input[type="radio"] {
	cursor: pointer;
	margin-right: 0.35rem;
}

form:not(.hsd-search):not(.hs-form) input[type="submit"],
form:not(.hsd-search):not(.hs-form) button[type="submit"],
form:not(.hsd-search):not(.hs-form) .wp-block-button__link,
form:not(.hsd-search):not(.hs-form) .button {
	display: inline-block;
	width: auto;
	padding: 15px 30px;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	color: var(--sd-color-btn-text);
	background: linear-gradient(95deg, var(--sd-color-gradient-start) 0.63%, var(--sd-color-gradient-end) 98.33%);
	cursor: pointer;
	transition: 0.3s ease-in-out;
}

form:not(.hsd-search):not(.hs-form) input[type="submit"]:hover,
form:not(.hsd-search):not(.hs-form) button[type="submit"]:hover,
form:not(.hsd-search):not(.hs-form) .wp-block-button__link:hover,
form:not(.hsd-search):not(.hs-form) .button:hover {
	color: var(--sd-color-btn-text);
	background: linear-gradient(75.75deg, var(--sd-color-gradient-hover-start) 0.63%, var(--sd-color-gradient-hover-end) 98.33%);
	transform: translateY(-2px);
	box-shadow: 0 8px 24px var(--sd-color-btn-light-shadow);
	opacity: 0.93;
}
