fieldset {
	border: 0;
}

/** Form **/
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="color"],
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	height: 50px;
	width: 100%;
	border: 1px solid #D2D2D2;
	border-radius: 25px;
	padding: 10px 20px;
	transition: box-shadow 0.3s ease-in-out, border-color 0.3s ease-in-out;
	background-color: white;
	color: var(--dark-text);
	font-size: 0.85rem;
	letter-spacing: 0;
	line-height: 1.2rem;
	position: relative;
	font-family: var(--text);
}

/* Custom styling for select dropdown */
select {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="gray"><path d="M7 10l5 5 5-5z"/></svg>');
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 22px;
	padding-right: 40px;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding-top: 13px;
	color: var(--dark-text);
}

select option:first-child {
    color: var(--mid-text); 
}

/* Hide the first (placeholder-like) option so it's not selectable */
select option[value=""][disabled] {
	display: none;
}

/* Focus state */
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
select:focus {
	border-color: #25c0af;
	outline: none;
	box-shadow: 0 0 5px #8291b2, 0 0 10px #25c0af, 0 0 15px #149063, 0 0 40px #30a0a7;
}

/* Ensure textarea height is flexible */
textarea {
	height: auto;
	min-height: 140px;
	font-family: var(--text);
	padding: 20px;
}

/* Form error messages */
.frm_required {
	color: var(--primary);
}

.frm_error {
    font-size: 14px !important;
    color: red !important;
    padding: 10px 0 !important;
}

/* Labels */
label {
	color: var(--primary);
	font-family: var(--text);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.2px;
	line-height: 1rem;
	text-transform: uppercase;
	padding: 15px 0 8px 0;
	display: block;
}

.hs-error-msgs label {
	color: var(--error);
	font-size: 0.7rem;
	text-transform: none;
	padding: 2px 0;
}

/** Layout **/
fieldset {
	max-width: 100%!important;
}

.form-columns-1 .hs-input {
	width: 100%!important;
}

/* Placeholder styling */
*::placeholder,
select:invalid {
	color: var(--mid-text);
	font-size: 14px;
	letter-spacing: 0;
	line-height: 19px;
	font-family: var(--text);
}

/** Checkbox **/
.frm_checkbox {
	font-size: 12px;
	letter-spacing: 0.65px;
	line-height: 14px;
	color: var(--mid-text);
	font-family: var(--text);
}

.frm_checkbox label {
	display: flex;
	margin: 10px 0;
}

.frm_checkbox label input {
	margin-right: 12px;
}

/** Radio Buttons **/
.wpcf7-radio {
	margin-top: 10px;
	display: inline-block;
}

.wpcf7-radio .wpcf7-list-item {
	margin: 0 10px 0 0;
}

.wpcf7 p {
	padding-bottom: 0;
}

/** Contact Form 7 Messages **/
.wpcf7 form .wpcf7-response-output {
	margin: 3em 0px 1em !important;
	padding: 0 !important;
	border: none !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output .wpcf7-not-valid-tip {
	color: #D73C53;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	letter-spacing: 0;
	line-height: 25px;
}

.wpcf7 form.sent .wpcf7-response-output {
	color: #17B09D;
}

/* Remove default focus outline */
*:focus {
	outline: none;
}

/* Scrollbar Styling */
::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-track {
	box-shadow: none;
	border-radius: 5px;
}

::-webkit-scrollbar-thumb {
	background: #D2D2D2;
	border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
	background: #D2D2D2;
}