/* ==========================================================================
   css_inicio.css – home (body#index)
   ==========================================================================
   - Formulario contacto CE (.elementor-element-66f4cd8)
   ========================================================================== */

/* Formulario contacto home */
body#index .elementor-element-66f4cd8,
body.page-index .elementor-element-66f4cd8 {
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif);
  color: var(--dil-ink, #151515);
}

body#index .elementor-element-66f4cd8 .elementor-form,
body.page-index .elementor-element-66f4cd8 .elementor-form,
body#index .elementor-element-66f4cd8 .ce-contact-form,
body.page-index .elementor-element-66f4cd8 .ce-contact-form {
  margin: 0;
  padding: 0;
}

body#index .elementor-element-66f4cd8 .elementor-form-fields-wrapper,
body.page-index .elementor-element-66f4cd8 .elementor-form-fields-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.95rem;
  margin: 0;
  padding: 0;
}

body#index .elementor-element-66f4cd8 .elementor-field-group,
body.page-index .elementor-element-66f4cd8 .elementor-field-group {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#index .elementor-element-66f4cd8 .elementor-field-label,
body.page-index .elementor-element-66f4cd8 .elementor-field-label {
  display: block;
  margin: 0 0 0.4rem;
  padding: 0;
  color: var(--dil-ink, #151515);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

body#index .elementor-element-66f4cd8 .elementor-field.elementor-field-textual,
body.page-index .elementor-element-66f4cd8 .elementor-field.elementor-field-textual,
body#index .elementor-element-66f4cd8 input.elementor-field,
body.page-index .elementor-element-66f4cd8 input.elementor-field,
body#index .elementor-element-66f4cd8 textarea.elementor-field,
body.page-index .elementor-element-66f4cd8 textarea.elementor-field {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 2.85rem;
  margin: 0;
  padding: 0.7rem 0.9rem !important;
  border: 1px solid var(--dil-black, #000) !important;
  border-radius: 0 !important;
  background: var(--dil-white, #fff) !important;
  color: var(--dil-ink, #151515) !important;
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  outline: 0;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.15s ease;
}

body#index .elementor-element-66f4cd8 textarea.elementor-field,
body.page-index .elementor-element-66f4cd8 textarea.elementor-field {
  min-height: 7.5rem;
  resize: vertical;
}

body#index .elementor-element-66f4cd8 .elementor-field::placeholder,
body.page-index .elementor-element-66f4cd8 .elementor-field::placeholder {
  color: var(--dil-muted, #7a7a7a);
  opacity: 1;
}

body#index .elementor-element-66f4cd8 .elementor-field:focus,
body.page-index .elementor-element-66f4cd8 .elementor-field:focus {
  border-color: var(--dil-black, #000) !important;
  outline: 0;
  box-shadow: none !important;
}

/* File upload */
body#index .elementor-element-66f4cd8 input[type='file'].elementor-field,
body.page-index .elementor-element-66f4cd8 input[type='file'].elementor-field {
  display: block;
  padding: 0.55rem 0.65rem !important;
  font-size: 0.78rem !important;
  color: var(--dil-muted, #7a7a7a) !important;
  cursor: pointer;
}

body#index .elementor-element-66f4cd8 input[type='file'].elementor-field::file-selector-button,
body.page-index .elementor-element-66f4cd8 input[type='file'].elementor-field::file-selector-button {
  margin-right: 0.75rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--dil-black, #000);
  border-radius: 0;
  background: var(--dil-cream, #faf5eb);
  color: var(--dil-black, #000);
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
}

body#index .elementor-element-66f4cd8 input[type='file'].elementor-field::-webkit-file-upload-button,
body.page-index .elementor-element-66f4cd8 input[type='file'].elementor-field::-webkit-file-upload-button {
  margin-right: 0.75rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--dil-black, #000);
  border-radius: 0;
  background: var(--dil-cream, #faf5eb);
  color: var(--dil-black, #000);
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
}

/* Botón Enviar */
body#index .elementor-element-66f4cd8 .elementor-field-type-submit,
body.page-index .elementor-element-66f4cd8 .elementor-field-type-submit {
  margin-top: 0.25rem !important;
}

body#index .elementor-element-66f4cd8 .elementor-button,
body.page-index .elementor-element-66f4cd8 .elementor-button,
body#index .elementor-element-66f4cd8 button[type='submit'],
body.page-index .elementor-element-66f4cd8 button[type='submit'] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-height: 3rem !important;
  margin: 0 !important;
  padding: 0.85rem 1.25rem !important;
  border: 1px solid var(--dil-black, #000) !important;
  border-radius: 0 !important;
  background: var(--dil-black, #000) !important;
  color: #fff !important;
  font-family: var(--dil-font, Montserrat, system-ui, sans-serif) !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

body#index .elementor-element-66f4cd8 .elementor-button:hover,
body.page-index .elementor-element-66f4cd8 .elementor-button:hover,
body#index .elementor-element-66f4cd8 button[type='submit']:hover,
body.page-index .elementor-element-66f4cd8 button[type='submit']:hover {
  background: var(--dil-yellow, #fccf27) !important;
  border-color: var(--dil-yellow, #fccf27) !important;
  color: var(--dil-black, #000) !important;
}

body#index .elementor-element-66f4cd8 .elementor-button-text,
body.page-index .elementor-element-66f4cd8 .elementor-button-text {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

@media (max-width: 767px) {
  body#index .elementor-element-66f4cd8 .elementor-form-fields-wrapper,
  body.page-index .elementor-element-66f4cd8 .elementor-form-fields-wrapper {
    gap: 0.85rem;
  }

  body#index .elementor-element-66f4cd8 .elementor-field.elementor-field-textual,
  body.page-index .elementor-element-66f4cd8 .elementor-field.elementor-field-textual {
    min-height: 2.65rem;
    font-size: 0.84rem !important;
  }
}
