/*
 * Mevotech forms + form modals.
 * Forminator forms run with design "none" (scripts/forms-create.php), so this file is their only styling.
 * The four Contact-page modal forms are 1:1 copies of the old site's Gravity Forms pop-ups (old /contact/):
 *   orbital = GF 14 General Inquiry (Get in touch): white outlined 38px inputs, two columns, blue #204ce5 button.
 *   legacy  = GF 6 / GF 9 / GF 10 (Contact Us, Get Support, New Product Ideas): grey 56px inputs, #2573be button.
 * Variants are keyed on the submit button class (mevo-gf-submit--orbital|legacy) and field classes (mevo-gf--*).
 * Loaded only on pages whose content has a [forminator_form] shortcode (functions.php, "forms" block).
 */

/* ---------- modal shell (form dialogs only; old .atwm-gform-popup) ---------- */
.mevo-modal:has(.forminator-ui) {
	box-sizing: border-box;
	margin: auto;
	width: min(735px, calc(100vw - 32px));
	max-width: none;
	max-height: 90vh;
	max-height: 90dvh;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
}
.mevo-modal:has(.forminator-ui)::backdrop { background: rgba(0, 0, 0, 0.5); }
.mevo-modal:has(.forminator-ui) .mevo-modal__panel { position: relative; padding: 40px 47px 32px; }
.mevo-modal:has(.forminator-ui) .mevo-modal__head { position: absolute; top: 10px; right: 20px; z-index: 2; display: block; margin: 0; }
.mevo-modal:has(.forminator-ui) .mevo-modal__close {
	position: relative; display: block; width: 28px; height: 28px; padding: 0;
	border: 0; border-radius: 0; background: transparent; color: #2573be; font-size: 0; line-height: 0; cursor: pointer;
}
.mevo-modal:has(.forminator-ui) .mevo-modal__close > span { display: none; }
.mevo-modal:has(.forminator-ui) .mevo-modal__close::before,
.mevo-modal:has(.forminator-ui) .mevo-modal__close::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 23px; height: 2px; background: currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}
.mevo-modal:has(.forminator-ui) .mevo-modal__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.mevo-modal:has(.forminator-ui) .mevo-modal__close:hover { background: transparent; color: #1b5a96; }
.mevo-modal:has(.forminator-ui) .mevo-modal__close:focus-visible { outline: 2px solid #2573be; outline-offset: 2px; }
@media (max-width: 600px) {
	.mevo-modal:has(.forminator-ui) .mevo-modal__panel { padding: 40px 20px 24px; }
}

/* ---------- shared base ---------- */
.forminator-ui.forminator-custom-form[data-design="none"] {
	box-sizing: border-box; width: 100%; max-width: 100%; margin: 0; font-family: var(--wp--preset--font-family--roboto, Roboto, sans-serif); color: #25282a;
}
.forminator-ui.forminator-custom-form[data-design="none"][data-grid] .forminator-row,
.forminator-ui.forminator-custom-form[data-design="none"][data-grid] .forminator-row-inside {
	display: flex; flex-wrap: wrap; gap: 0 15px; margin: 0;
}
.forminator-ui.forminator-custom-form[data-design="none"][data-grid] .forminator-col {
	flex: 1 1 100%; min-width: 0; max-width: 100%; margin: 0; padding: 0;
}
.forminator-ui.forminator-custom-form[data-design="none"][data-grid] .forminator-col-6 { flex: 1 1 calc(50% - 7.5px); max-width: calc(50% - 7.5px); }
@media (max-width: 640px) {
	.forminator-ui.forminator-custom-form[data-design="none"][data-grid] .forminator-col-6 { flex-basis: 100%; max-width: 100%; }
}
.forminator-ui.forminator-custom-form[data-design="none"][data-grid] .forminator-row.forminator-row-last { margin-bottom: 0; }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-field { position: relative; margin: 0; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--hidden-label .forminator-label {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
	clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-label {
	display: block; margin: 0 0 8px; font-size: 16px; font-weight: 700; line-height: 1.3; color: #25282a;
}
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-required { color: #790000; }
.forminator-ui.forminator-custom-form[data-design="none"] input.forminator-input,
.forminator-ui.forminator-custom-form[data-design="none"] textarea.forminator-textarea {
	display: block; box-sizing: border-box; width: 100%; max-width: 100%; margin: 0;
	font-family: inherit; box-shadow: none; outline: 0; -webkit-appearance: none; appearance: none;
}
.forminator-ui.forminator-custom-form[data-design="none"] input.forminator-input:focus-visible,
.forminator-ui.forminator-custom-form[data-design="none"] textarea.forminator-textarea:focus-visible,
.forminator-ui.forminator-custom-form[data-design="none"] select:focus-visible,
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-button:focus-visible { outline: 2px solid #2573be; outline-offset: 2px; }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-button-submit { display: block; width: 100%; margin: 0; border: 0; cursor: pointer; font-family: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-description { display: block; margin: 0; }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-description:empty { display: none; }
/* success: like Gravity Forms, the confirmation replaces the fields */
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-response-message { display: none; }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-response-message.forminator-show,
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-response-message[aria-hidden="false"] { display: block; }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-response-message.forminator-success { font-size: 16px; line-height: 1.5; color: #25282a; }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-response-message p,
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-response-message label { margin: 0; font: inherit; color: inherit; }
.forminator-ui.forminator-custom-form[data-design="none"]:has(.forminator-response-message.forminator-success[aria-hidden="false"]) .forminator-row { display: none; }

/* ---------- legacy look: GF 6 / 9 / 10 (+ Careers) ---------- */
/* GF legacy rhythm: 8px between fields, 5px hidden-label space above text controls, 7px below textareas */
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--legacy) .forminator-row:not(.forminator-row-last) { margin-bottom: 8px; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy.mevo-gf--hidden-label:not(.mevo-gf--select) > .forminator-field { padding-top: 5px; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy.forminator-field-textarea > .forminator-field { padding-bottom: 7px; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy input.forminator-input,
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy textarea.forminator-textarea {
	width: calc(100% - 16px); height: 56px; padding: 16px; border: 1px solid transparent; border-radius: 5px;
	background: #f4f4f4; color: #000; font-size: 16px; line-height: 24px;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy textarea.forminator-textarea { height: 160px; min-height: 160px; resize: vertical; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy ::placeholder { color: #757575; opacity: 1; }
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--legacy) .forminator-row-last { margin-top: 8px; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf-submit--legacy {
	height: 56px; padding: 16px; border-radius: 5px; background: #2573be; color: #fff; font-size: 16px; font-weight: 400; line-height: 24px;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf-submit--legacy:hover { background: #1b5a96; }
/* section title (GF 10 "Idea Details:") */
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-field-section .forminator-field { margin-right: 16px; padding-bottom: 8px; border-bottom: 1px solid #ccc; }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-field-section .forminator-title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.2; color: #25282a; font-family: inherit; text-transform: none; }
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--legacy) .forminator-row:has(.forminator-field-section) { margin: -8px 0 28px; }
/* native select, half width (GF 10 "Who are you?") */
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--select select {
	display: block; box-sizing: border-box; width: calc(50% - 15px); min-width: 0; max-width: 100%; height: 27px; margin: 0 0 0 1px;
	padding: 2px 0 2px 3px; border: 1px solid #767676; border-radius: 0; background-color: #fff; color: #000;
	font-family: inherit; font-size: 16px; line-height: normal;
}
@media (max-width: 640px) { .forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--select select { width: calc(100% - 16px); } }
/* multi upload (GF 10): dashed drop area with "Drop files here or" above the native file button
   (design "none" renders a plain <input type=file>; the button text is the browser's own) */
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--upload .forminator-multi-upload {
	position: relative; box-sizing: border-box; width: calc(100% - 16px); padding: 24px; border: 1px dashed #ccc; border-radius: 4px;
	background: rgba(0, 0, 0, 0.02); color: #aaa; font-size: 16px; line-height: 1.5; text-align: center;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--upload .forminator-multi-upload::before { content: "Drop files here or"; display: block; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--upload .forminator-input-file {
	display: block; width: auto; max-width: 100%; margin: 8px auto 0; color: #25282a; font: inherit; font-size: 14px; cursor: pointer;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--upload .forminator-input-file::file-selector-button {
	margin-right: 8px; padding: 1px 6px; border: 2px outset #767676; border-radius: 0; background: #efefef; color: #000; font: inherit; font-size: 16px; cursor: pointer;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--upload .forminator-input-file:focus-visible { outline: 2px solid #2573be; outline-offset: 2px; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--upload .forminator-description { padding-top: 16px; font-size: 13px; line-height: 1.6; color: #25282a; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--upload .forminator-uploaded-files { margin: 8px 16px 0 0; padding: 0; list-style: none; font-size: 14px; }
/* radio (GF 10 "Is this customer specific? (Sales Team)"): native radios, visible label */
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--radio .forminator-label { margin: 0 0 8px; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--radio .forminator-radio {
	display: flex; align-items: center; gap: 8px; min-height: 30px; margin: 13px 0 0; font-size: 14px; color: #25282a; cursor: pointer;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--radio .forminator-radio input { width: 13px; height: 13px; margin: 0; accent-color: #2573be; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--radio .forminator-radio-bullet { display: none; }
/* Careers (visible labels, Forminator first/last name pair) */
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy:not(.mevo-gf--hidden-label) .forminator-row-inside .forminator-col { flex: 1 1 calc(50% - 7.5px); }
.forminator-ui.forminator-custom-form[data-design="none"] .forminator-field-upload:not(.mevo-gf--upload) input[type="file"] { font: inherit; font-size: 16px; }
/* legacy validation (GF legacy markup) */
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--legacy) .forminator-response-message.forminator-error {
	margin: 0 16px 8px 0; padding: 17px 22px; border: 1px solid #790000; border-radius: 5px; color: #790000; font-size: 16px; font-weight: 700; line-height: 1.4;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy .forminator-error-message { display: block; padding-top: 8px; color: #790000; font-size: 13px; font-weight: 700; line-height: 1.4; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy .forminator-has_error input.forminator-input,
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy .forminator-has_error textarea.forminator-textarea,
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--legacy .forminator-has_error select { border: 1px solid #790000; }

/* ---------- orbital look: GF 14 General Inquiry ---------- */
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--orbital) { padding-top: 27px; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf-legend { margin: 0; font-size: 16px; line-height: 1.9; color: #25282a; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf-legend .mevo-gf-req { color: #c02b0a; }
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--orbital) .forminator-row:not(.forminator-row-last) { margin-bottom: 45px; }
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--orbital) .forminator-row:has(.forminator-field-html) { margin-bottom: 22px; }
@media (max-width: 640px) {
	.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--orbital) .forminator-row { row-gap: 45px; }
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--orbital input.forminator-input {
	height: 38px; padding: 0 14px; border: 1px solid #686e77; border-radius: 3px; background: #fff; color: #112337; font-size: 14px; line-height: 36px;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--orbital textarea.forminator-textarea {
	height: 130px; min-height: 130px; padding: 14px; border: 1px solid transparent; border-radius: 5px; background: #f4f4f4; color: #112337; font-size: 14px; line-height: 21px; resize: vertical;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--orbital ::placeholder { color: #112337; opacity: 1; }
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--orbital) .forminator-row-last { margin-top: -5px; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf-submit--orbital {
	height: 38px; padding: 0 16px; border-radius: 3px; background: #204ce5; color: #fff; font-size: 14px; font-weight: 500; line-height: 38px;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf-submit--orbital:hover { background: #001ab3; }
/* orbital validation (GF 2.7 orbital theme) */
.forminator-ui.forminator-custom-form[data-design="none"]:has(.mevo-gf-submit--orbital) .forminator-response-message.forminator-error {
	margin: 0 0 40px; padding: 20px 16px; border: 1px solid rgba(192, 43, 10, 0.25); border-radius: 3px; background: rgba(192, 43, 10, 0.03);
	box-shadow: 0 1px 4px rgba(18, 25, 97, 0.08); color: #c02b0a; font-size: 14px; font-weight: 500; line-height: 1.4;
}
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--orbital .forminator-error-message { display: block; margin-top: 8px; color: #c02b0a; font-size: 13px; line-height: 1.4; }
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--orbital .forminator-has_error input.forminator-input,
.forminator-ui.forminator-custom-form[data-design="none"] .mevo-gf--orbital .forminator-has_error textarea.forminator-textarea { border-color: #c02b0a; }

/* Success toast for form pop-ups (assets/js/modal.js, 2026-10-28): small, centred, above the page; OK dismisses (also Esc, auto after 8s). */
.mevo-toast { position: fixed; z-index: 100000; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(420px, calc(100vw - 32px)); box-sizing: border-box; padding: 24px 24px 20px; background: #fff; color: #25282a; border-radius: 6px; box-shadow: 0 10px 40px rgba(0,0,0,0.35); text-align: center; }
.mevo-toast[hidden] { display: none; }
.mevo-toast__msg { margin: 0 0 16px; font-size: 16px; line-height: 1.5; }
.mevo-toast__close { min-width: 88px; min-height: 44px; padding: 8px 24px; border: 0; border-radius: 4px; background: var(--wp--preset--color--primary); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.mevo-toast__close:hover { background: #1b5a96; }
.mevo-toast__close:focus-visible { outline: 3px solid var(--wp--preset--color--primary); outline-offset: 2px; }
