/* =========================================
   Live Form Styles (Mint Theme + y-validate)
   ========================================= */
/* y-validate Overrides for Dark Mint Theme */
:root {
    --error-bg-color: #0C0F18;
	--y-select-display-border-hover: #647CA2;
	--y-select-wrap-display: flex;
}
select,
textarea,
input[type="url"],
input[type="tel"],
input[type="text"],
input[type="date"],
input[type="time"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="password"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	direction: inherit;
	border-radius: var(--inputs-border-radius, 0);
	text-align: right;
}
input[type="submit"] {
	text-align: center;
}
input[type="url"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"] {
	direction: ltr;
	text-align: right;
}
input[type="url"][value=""],
input[type="tel"][value=""],
input[type="date"][value=""],
input[type="time"][value=""],
input[type="email"][value=""],
.wpcf7 input[type="url"][value=""],
.wpcf7 input[type="tel"][value=""],
.wpcf7 input[type="email"][value=""] {
	direction: rtl;
}
input[type="submit"],
input[type="button"],
button {
	background: var(--wpcf7-submit-bg, none);
	border: var(--wpcf7-submit-border, none);
	border-radius: var(--inputs-border-radius, 0);
	padding: var(--wpcf7-submit-padding, 0);
	margin: var(--wpcf7-submit-margin, 0);
	line-height: var(--wpcf7-submit-line-height, inherit);
	font-family: var(--wpcf7-submit-family, inherit);
	font-size: var(--wpcf7-submit-size, inherit);
	color: var(--wpcf7-submit-color, inherit);
}
a,
[role="tab"],
[role="button"],
.wpcf7-acceptance label,
.wpcf7-checkbox label,
button:not(:disabled),
input[type="button"]:not(:disabled),
input[type="submit"]:not(:disabled),
input[type="image"]:not(:disabled),
input[type="reset"]:not(:disabled),
select:not(:disabled) {
	cursor: pointer;
}
input[type="checkbox"],
input[type="radio"] {
	vertical-align: middle;
	cursor: pointer;
}
input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}
textarea {
	overflow: auto;
	resize: vertical;
}
form,
blockquote {
	margin: 0;
	padding: 0;
}
.wpcf7-form br {
	display: none;
}
.wpcf7-form p {
	margin: 0;
}
.y-select-wrap {
	flex-direction: column;
}
.y-select-wrap .label-error {
	order: 2;
}
.wpcf7-form {
    background: #161f30;
    padding: 30px 30px 40px 30px;
    border-radius: 16px;
    border: 1px solid #24324d;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-width: 450px;
    margin: 0 auto 40px auto;
    direction: rtl;
}
.wpcf7-form-control-wrap {
    position: relative;
    display: block;
    margin-bottom: 28px; /* Increased to make room for absolute error messages */
}
/* Base Inputs */
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-acceptance) {
    font-family: inherit;
    width: 100%;
    height: 48px;
    border: 1px solid #334155;
    background: #0b0f19;
    color: #e2e8f0;
    padding: 0 15px;
    border-radius: 8px;
    vertical-align: top;
    box-sizing: border-box;
    transition: all 0.3s ease;
}
textarea.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-acceptance) {
    height: 100px;
    padding-top: 15px;
    resize: vertical;
}
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-acceptance):hover {
	border-color: #647CA2;
}
.wpcf7-form-control:focus {
    border-color: #71F494;
    outline: none;
    box-shadow: 0 0 0 1px #71F494;
}
.wpcf7-form-control::-webkit-input-placeholder {
	color: #64748b;
	opacity: 1;
}
.wpcf7-form-control:-moz-placeholder {
	color: #64748b;
	opacity: 1;
}
/* Make sure float labels turn red if the input has an error */
.wpcf7-form-control.error ~ .inputs-label {
    color: red !important;
}
.wpcf7-form-control.error ~ .y-select-display {
	color: red;
}
/* y-select error handling (Applies red border/bg to the custom dropdown when hidden select has error) */
select.error ~ .y-select-display {
    border-color: red !important;
}
/* Floating Labels */
.inputs-label,
input[type="date"] ~ .inputs-label,
input[type="time"] ~ .inputs-label,
.val-is-empty:focus ~ .inputs-label {
    cursor: text;
    position: absolute;
    right: 12px;
    top: -8px;
    padding: 0 5px;
    transition: all 0.3s ease;
    color: #71F494;
    font-size: 13px;
    line-height: 13px;
    opacity: 1;
    visibility: visible;
}
.upload-btn-wrap:not(.active) .inputs-label,
.val-is-empty ~ .inputs-label {
    overflow: hidden;
    color: #64748b;
    font-size: 15px;
    top: 15px;
    right: 15px;
    opacity: 0;
    visibility: hidden;
} 
.inputs-label span {
    position: relative;
    z-index: 1;
}
.inputs-label::before {
    content: "";
    background: #0b0f19;
    width: 100%;
    height: 4px;
    position: absolute;
    right: 0;
    top: 5px;
    z-index: 0;
}
.val-is-empty ~ .inputs-label::before { background: none; }
.val-is-empty:focus ~ .inputs-label::before { background: #0b0f19; }
.hide-inputs-label { display: none; }
/* Checkbox */
.checkbox-wrap { margin-bottom: 25px; }
.wpcf7-list-item { margin: 0; }
.wpcf7-acceptance, .wpcf7-checkbox { position: relative; }
.wpcf7-acceptance label, .wpcf7-checkbox label { cursor: pointer; display: flex; align-items: center;}
.wpcf7-acceptance input[type="checkbox"],
.wpcf7-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}
.wpcf7-acceptance .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label {
    display: block;
    padding: 0 30px 0 0;
    position: relative;
    color: #cbd5e1;
    font-size: 14px;
}
.wpcf7-acceptance .wpcf7-list-item-label::before,
.wpcf7-checkbox .wpcf7-list-item-label::before {
    content: "";
    width: 20px;
    height: 20px;
    border: 2px solid #334155;
    border-radius: 4px;
    position: absolute;
    right: 0;
    top: -2px;
    transition: all 0.2s ease;
}
/* Red outline for checkbox error */
input[type="checkbox"].error ~ .wpcf7-list-item-label::before {
    border-color: red;
    background-color: rgba(239, 68, 68, 0.08);
}
.wpcf7-acceptance .wpcf7-list-item-label::after,
.wpcf7-checkbox .wpcf7-list-item-label::after {
    content: "";
    width: 12px;
    height: 12px;
    background: #71F494;
    border-radius: 2px;
    position: absolute;
    right: 6px;
    top: 4px;
    opacity: 0;
    transition: all 0.2s ease;
}
.wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before,
.wpcf7-checkbox input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before {
    border-color: #71F494;
    background-color: transparent;
}
.wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after,
.wpcf7-checkbox input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after {
    opacity: 1;
}
/* Submit */
.submit-btn-wrap {
    display: block;
    position: relative;
	z-index: 0;
}
.wpcf7-submit {
    --wpcf7-submit-bg: #71F494;
    width: 100%;
    height: 48px;
    --wpcf7-submit-color: #111729;
    --wpcf7-submit-size: 16px;
    font-weight: bold;
    --inputs-border-radius: 8px;
    transition: all 0.2s ease;
}
.wpcf7-submit:hover {
    background: #5ceb82;
    transform: translateY(-2px);
}
.submit-btn-wrap::after {
	content: "";
	display: block;
	clear: both;
}
.submit-btn-wrap:has(.wpcf7-spinner)::before {
	content: "";
	display: none;
	background: #fff;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 50000;
	align-items: center;
	justify-content: center;
}
.submit-btn-wrap .wpcf7-spinner {
	display: none;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 50001;
	margin: 0;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
form.submitting .submit-btn-wrap .wpcf7-spinner,
form.submitting .submit-btn-wrap:has(.wpcf7-spinner)::before {
	display: block;
}
/* Customize y-validate loader colors to match dark text on green button */
.y-btn-loading::after {
    border: 3px solid rgba(17, 23, 41, 0.2) !important;
    border-top-color: #111729 !important;
}