/* ==========================================================================
TRANSITIONAL ELEMENTS // ELEMENTOR FORM HARDENING STYLESHEET
Designation: SPEC_FORM_HARDENING_v5.0 (Zero-Curve Edition)
========================================================================== */

:root {
--te-void-black: #0A0A0C;
--te-chassis-black: #121214;
--te-diag-slate: #2B2B2B;
--te-blueprint-grey: #666666;
--te-liability-red: #D91E18;
--te-expansion-cyan: #00D4FF;
--te-optimal-green: #00FF9D;
--te-muted-intel: #A9A9BC;
}

/* 1. FORCE ABSOLUTE SHARP GEOMETRY */
.elementor-form,
.elementor-form *,
.elementor-form *:before,
.elementor-form *:after {
border-radius: 0px !important;
box-sizing: border-box !important;
}

/* 2. LABELS & TYPOGRAPHY HUD LAYER */
.elementor-form .elementor-field-label {
font-family: 'JetBrains Mono', monospace !important;
font-size: 10px !important;
font-weight: 700 !important;
color: var(--te-blueprint-grey) !important; /* Blueprint Grey standard */
text-transform: uppercase !important;
letter-spacing: 2px !important;
margin-bottom: 8px !important;
display: block !important;
}

/* Active focus color shift for labels */
.elementor-field-group.elementor-field-type-text:focus-within label,
.elementor-field-group:focus-within .elementor-field-label {
color: #FFFFFF !important;
}

/* Hide default Elementor success message to prevent unstyled flashes */
.elementor-message-success {
display: none !important;
}

/* 3B. SPECIFIC FIELD OVERRIDES */
/* Suppresses the top-level label of the Lab Access Request checkbox group to avoid double-label crowding */
.elementor-field-group-lab_access_request .elementor-field-label {
display: none !important;
}

/* 3. INPUT FIELDS & TEXTAREAS (MATTE BLACK CHASSIS) */
.elementor-form input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
.elementor-form textarea,
.elementor-form select {
width: 100% !important;
max-width: 100% !important;
background-color: var(--te-chassis-black) !important; /* Matte Black Chassis fill */
color: #FFFFFF !important; / High-contrast white input text /
font-family: 'Inter', sans-serif !important;
font-size: 13px !important;
font-weight: 400 !important;
padding: 14px 18px !important;
border: 1px solid var(--te-diag-slate) !important; /* Diagnostic Slate */
border-left: 2px solid var(--te-diag-slate) !important; /* Default quiet left border */
outline: none !important;
box-shadow: none !important;
transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s !important;
}

/* Interactive Focused States (Glows State Color via local scripts) */
.elementor-form input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]):focus,
.elementor-form textarea:focus,
.elementor-form select:focus {
background-color: #000000 !important; / Drops to deep void black on focus */
}

/* Custom Textarea alignment fixes */
.elementor-form textarea {
min-height: 120px !important;
resize: vertical !important;
}

/* Placeholder Styling */
.elementor-form input::placeholder,
.elementor-form textarea::placeholder {
color: #444449 !important; / Faded Gray */
font-size: 11px !important;
text-transform: uppercase !important;
letter-spacing: 1px !important;
}

/* 4. CUSTOM CHECKBOXES & RADIOS (THE SCENARIO ARRAYS) */
.elementor-form .elementor-field-option {
display: flex !important;
align-items: center !important;
padding: 12px 16px !important;
background-color: var(--te-chassis-black) !important;
border: 1px solid var(--te-diag-slate) !important;
margin-bottom: 8px !important;
cursor: pointer !important;
transition: border-color 0.2s, background-color 0.2s !important;
}

.elementor-form .elementor-field-option:hover {
border-color: var(--te-blueprint-grey) !important;
}

.elementor-form .elementor-field-option label {
font-family: 'Inter', sans-serif !important;
font-size: 12px !important;
color: var(--te-muted-intel) !important;
padding-left: 8px !important;
cursor: pointer !important;
}

.elementor-form input[type="radio"],
.elementor-form input[type="checkbox"] {
appearance: none !important;
-webkit-appearance: none !important;
width: 14px !important;
height: 14px !important;
border: 1px solid var(--te-blueprint-grey) !important;
background-color: #000000 !important;
cursor: pointer !important;
position: relative !important;
outline: none !important;
}

/* Checkbox cross asset */
.elementor-form input[type="checkbox"]:checked:after {
content: "✕" !important;
position: absolute !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
color: #FFFFFF !important;
font-size: 8px !important;
font-weight: 800 !important;
}

/* Radio circle asset */
.elementor-form input[type="radio"]:checked:after {
content: "" !important;
position: absolute !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
width: 6px !important;
height: 6px !important;
background-color: #FFFFFF !important;
}

/* 5. THE PRIMARY TRIGGER BUTTON */
.elementor-form button[type="submit"],
.elementor-form .elementor-button {
width: 100% !important;
background-color: var(--te-liability-red) !important; /* Base Crimson */
color: #FFFFFF !important;
font-family: 'JetBrains Mono', monospace !important;
font-size: 11px !important;
font-weight: 800 !important;
text-transform: uppercase !important;
letter-spacing: 2.5px !important;
padding: 16px 24px !important;
border: none !important;
cursor: pointer !important;
transition: background-color 0.2s, box-shadow 0.2s, transform 0.1s !important;
}

.elementor-form button[type="submit"]:hover,
.elementor-form .elementor-button:hover {
background-color: #FF2A22 !important; /* Hot red highlight */
box-shadow: 0 0 20px rgba(217, 30, 24, 0.3) !important;
}

.elementor-form button[type="submit"]:active,
.elementor-form .elementor-button:active {
transform: scale(0.985) !important;
}

/* 6. HIGH-SECURITY 90-DAY APPLICATION FORM STATE */
.te-secure-form {
border: 2px solid var(--te-liability-red) !important;
background: #050506 !important;
padding: 30px !important;
box-shadow: 0 0 25px rgba(217, 30, 24, 0.15) !important;
}

.te-secure-form button[type="submit"],
.te-secure-form .elementor-button {
animation: te-pulse-red 2.2s infinite ease-in-out;
}

@keyframes te-pulse-red {
0%, 100% { box-shadow: 0 0 8px rgba(217, 30, 24, 0.3); }
50% { box-shadow: 0 0 24px rgba(217, 30, 24, 0.6); }
}

/* 7. SYSTEM TRANSLATIONAL MESSAGES */
.elementor-form .elementor-message {
font-family: 'JetBrains Mono', monospace !important;
font-size: 10px !important;
text-transform: uppercase !important;
letter-spacing: 1px !important;
padding: 15px 20px !important;
margin-top: 20px !important;
}

.elementor-form .elementor-message-success {
background-color: rgba(0, 255, 157, 0.05) !important;
border: 1px solid var(--te-optimal-green) !important;
color: var(--te-optimal-green) !important;
}

.elementor-form .elementor-message-danger {
background-color: rgba(217, 30, 24, 0.05) !important;
border: 1px solid var(--te-liability-red) !important;
color: var(--te-liability-red) !important;
}