/* =================================================================
   PART 1: DEFAULT FLOATING LABEL STYLES (WITH CONSISTENT STYLING)
================================================================= */
/* --- THEME & DESIGN TOKENS --- */
:root {
  --ev-color-primary: #5551ff;
  --ev-color-prim: #5551ff;
  --ev-color-sec: #5f6368;
  --ev-color-dark: #33377A;
  --ev-color-saturate: #3743F5;
  --ev-color-dark: #161946;
  --ev-color-accent: rgba(43, 186, 157, 0.5);
  --ev-color-text: #1E1E2C;
  --ev-error-color: #FF1B73;
  --ev-color-bg: #fff;
  --ev-input-padding-x: 16px;
  --ev-notch-padding: 6px; 
}

/* --- HIDE RACAPTCHA EMBED ON FORMS --- */
.elementor-field-type-recaptcha_v3 {
    display: none !important;
}


/* --- GLOBAL BUTTON CURSOR FIX --- */
button {
    cursor: pointer !important;
}

/* --- FIELD & CONTAINER SETUP (Applies to ALL forms by default) --- */
.elementor-field-group {
  position: relative;
  margin-bottom: 1.5rem !important;
}

/* This targets ALL field types to ensure they share the same base style */
.elementor-field-group .elementor-field,
.elementor-field-group .elementor-field-textual,
.elementor-field-group select {
  display: block;
  width: 100%;
  min-height: 60px;
  padding: 16px var(--ev-input-padding-x);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  color: var(--ev-color-text);
  background-color: var(--ev-color-bg);
  border: 2px solid rgba(85, 95, 241, 0.50) !important; /* Base color */
  border-radius: 12px;
  outline: none;
  transition: border-color 0.2s ease;
}

/* --- INPUT FIELD STATES (Applies to ALL forms) --- */
/* Consistent hover effects */
.elementor-field-group .elementor-field:hover:not(:focus),
.elementor-field-group .elementor-field-textual:hover:not(:focus),
.elementor-field-group select:hover:not(:focus) {
  border-color: rgba(85, 95, 241, 0.35) !important; /* Hover color */
}

/* Consistent focus effects */
.elementor-field-group .elementor-field:focus,
.elementor-field-group .elementor-field-textual:focus,
.elementor-field-group select:focus {
  border-color: var(--ev-color-primary) !important; /* Active color */
}

/* --- HIDE THE REAL PLACEHOLDER (FOR FLOATING LABELS) --- */
.elementor-field-group .elementor-field::placeholder,
.elementor-field-group .elementor-field-textual::placeholder {
  color: transparent !important;
}

/* --- LABEL POSITIONING & ANIMATION --- */
.elementor-field-group .elementor-field-label {
  position: absolute;
  top: 50%; left: var(--ev-input-padding-x);
  transform: translateY(-50%);
  color: var(--ev-color-sec);
  background-color: transparent;
  padding: 0;
  transition: all 0.2s ease;
  pointer-events: none;
  z-index: 2;
}
.elementor-field-type-textarea .elementor-field-label { top: 28px; }

.elementor-field-group:has(.elementor-field:focus) .elementor-field-label,
.elementor-field-group:has(.elementor-field:not(:placeholder-shown)) .elementor-field-label {
    top: 0;
    left: calc(var(--ev-input-padding-x) - var(--ev-notch-padding));
    transform: translateY(-50%) scale(0.85);
    color: var(--ev-color-primary);
    background-color: var(--ev-color-bg);
    padding: 0 var(--ev-notch-padding);
}

/* =================================================================
   PART 2: NEWSLETTER FORM OVERRIDE (.ev-newsletter-form)
================================================================= */

/* --- REVERSE THE LOGIC FOR THE NEWSLETTER FORM --- */
.ev-newsletter-form .elementor-field-label { display: none !important; }
.ev-newsletter-form .elementor-field::placeholder { color: var(--ev-color-sec) !important; }


.ev-newsletter-form .elementor-button {
    background-color: var(--ev-color-primary);

}

/* --- POSITIONING FOR THE NEWSLETTER FORM --- */
.ev-newsletter-form .elementor-form-fields-wrapper { position: relative; padding-bottom: 0; }
.ev-newsletter-form .elementor-field-group-email { margin-bottom: 0 !important; }
.ev-newsletter-form .elementor-field[type="email"] { padding-right: 120px !important; }
.ev-newsletter-form .elementor-field-type-submit {
    position: absolute !important; margin-bottom: 0 !important; top: 50% !important;
    transform: translateY(-50%) !important; right: 8px !important; width: auto !important; z-index: 3;
}