

/* Formulario de contacto */
form.elementor-form[name="Contacto"] .elementor-form-fields-wrapper,
form.elementor-form[name="Consagrese"] .elementor-form-fields-wrapper{
  --fl-font-size: 0.78rem;
  --fl-top: 0.45rem;
  --fl-x-pad: 1.3rem;
  --fl-speed: 160ms;
  --fl-ease: cubic-bezier(.2,.8,.2,1);
}

/* Contenedor base del campo */
form.elementor-form[name="Contacto"] .elementor-field-group,
form.elementor-form[name="Consagrese"] .elementor-field-group{
  position: relative;
}

/* Ajustes de los inputs/textarea/select para dejar espacio al label dentro */
form.elementor-form[name="Contacto"] .elementor-field-group input.elementor-field,
form.elementor-form[name="Contacto"] .elementor-field-group textarea.elementor-field,
form.elementor-form[name="Contacto"] .elementor-field-group .elementor-select-wrapper select,
form.elementor-form[name="Consagrese"] .elementor-field-group input.elementor-field,
form.elementor-form[name="Consagrese"] .elementor-field-group textarea.elementor-field,
form.elementor-form[name="Consagrese"] .elementor-field-group .elementor-select-wrapper select{
  padding-top: 1.35rem !important;
  padding-bottom: 0.55rem !important;
}

form.elementor-form[name="Contacto"] #form-field-distrito,
form.elementor-form[name="Contacto"] #form-field-provincia,
form.elementor-form[name="Consagrese"] #form-field-distrito,
form.elementor-form[name="Consagrese"] #form-field-provincia{
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}

/* Label dentro del field */
form.elementor-form[name="Contacto"] .elementor-field-group > label.elementor-field-label,
form.elementor-form[name="Consagrese"] .elementor-field-group > label.elementor-field-label{
  position: absolute;
  left: var(--fl-x-pad);
  right: var(--fl-x-pad);
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  pointer-events: none;
  transition: transform var(--fl-speed) var(--fl-ease), 
              top var(--fl-speed) var(--fl-ease), 
              font-size var(--fl-speed) var(--fl-ease), 
              opacity var(--fl-speed) var(--fl-ease);
  opacity: .8;
  background: transparent;
  line-height: 1.2;
}

form.elementor-form[name="Contacto"] .elementor-field-group-message > label,
form.elementor-form[name="Consagrese"] .elementor-field-group-message > label{
	top: 20% !important;
}
	
form.elementor-form[name="Contacto"] .elementor-field-group-message:has(input.elementor-field:focus) > label,
form.elementor-form[name="Contacto"] .elementor-field-group-message:has(textarea.elementor-field:focus) > label,
form.elementor-form[name="Contacto"] .elementor-field-group-message.has-value > label,
form.elementor-form[name="Consagrese"] .elementor-field-group-message:has(input.elementor-field:focus) > label,
form.elementor-form[name="Consagrese"] .elementor-field-group-message:has(textarea.elementor-field:focus) > label,
form.elementor-form[name="Consagrese"] .elementor-field-group-message.has-value > label{
  top: var(--fl-top) !important;
  transform: none;
  font-size: var(--fl-font-size);
  opacity: .95;
}


form.elementor-form[name="Contacto"] .elementor-field-group.elementor-field-type-acceptance > label,
form.elementor-form[name="Contacto"] .elementor-field-group.elementor-field-type-recaptcha > label,
form.elementor-form[name="Consagrese"] .elementor-field-group.elementor-field-type-acceptance > label,
form.elementor-form[name="Consagrese"] .elementor-field-group.elementor-field-type-recaptcha > label{
  position: static;
  transform: none;
}

/* Focus o con valor */

form.elementor-form[name="Contacto"] .elementor-field-group:has(input.elementor-field:focus) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group:has(textarea.elementor-field:focus) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group:has(input.elementor-field:valid) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group:has(textarea.elementor-field:valid) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group-asunto:has(select option:checked:not([value="Asunto"])) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group:has(.elementor-select-wrapper select:focus) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group:has(input.elementor-field:focus) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group:has(textarea.elementor-field:focus) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group.has-value > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group:has(.elementor-select-wrapper select:focus) > label.elementor-field-label,
form.elementor-form[name="Contacto"] .elementor-field-group-asunto.has-value > label.elementor-field-label{
  top: var(--fl-top);
  transform: none;
  font-size: var(--fl-font-size);
  opacity: .95;
	z-index: 99;
}


form.elementor-form[name="Contacto"] .elementor-field-group-asunto .elementor-select-wrapper,
form.elementor-form[name="Consagrese"] .elementor-field-group-asunto .elementor-select-wrapper{
  position: relative;
}

form.elementor-form[name="Contacto"] .elementor-field-group-asunto .select-caret-down-wrapper,
form.elementor-form[name="Consagrese"] .elementor-field-group-asunto .select-caret-down-wrapper{
  pointer-events: none; /* que no tape clics en el select */
}

/* Extra: mejorar alineación del caret e interacción */
form.elementor-form[name="Contacto"] .elementor-field-group-asunto .elementor-select-wrapper select,
form.elementor-form[name="Consagrese"] .elementor-field-group-asunto .elementor-select-wrapper select{
  background: transparent;
  appearance: none;
}


/* Formulario footer */
form.elementor-form#form_foot .elementor-form-fields-wrapper {
  --fl-font-size: 0.78rem;
  --fl-top: 0.45rem;
  --fl-x-pad: 1.3rem;
  --fl-speed: 160ms;
  --fl-ease: cubic-bezier(.2,.8,.2,1);
}

form.elementor-form#form_foot .elementor-field-group {
  position: relative;
}

form.elementor-form#form_foot .elementor-field-group input.elementor-field,
form.elementor-form#form_foot .elementor-field-group textarea.elementor-field,
form.elementor-form#form_foot .elementor-field-group .elementor-select-wrapper select {
  padding-top: 1.35rem !important;
  padding-bottom: 0.55rem !important;
}

form.elementor-form#form_foot .elementor-field-group > label.elementor-field-label {
  position: absolute;
  left: var(--fl-x-pad);
  right: var(--fl-x-pad);
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  pointer-events: none;
  transition: transform var(--fl-speed) var(--fl-ease), 
              top var(--fl-speed) var(--fl-ease), 
              font-size var(--fl-speed) var(--fl-ease), 
              opacity var(--fl-speed) var(--fl-ease);
  opacity: .85;
  background: transparent;
  line-height: 1.2;
	z-index: 3;
}

/* Excluir aceptación/recaptcha si existieran en este form */
form.elementor-form#form_foot .elementor-field-group.elementor-field-type-acceptance > label,
form.elementor-form#form_foot .elementor-field-group.elementor-field-type-recaptcha > label {
  position: static;
  transform: none;
}

/* Focus o con valor => flotar */
form.elementor-form#form_foot .elementor-field-group:has(input.elementor-field:focus) > label.elementor-field-label,
form.elementor-form#form_foot .elementor-field-group:has(textarea.elementor-field:focus) > label.elementor-field-label,
form.elementor-form#form_foot .elementor-field-group:has(.elementor-select-wrapper select:focus) > label.elementor-field-label,
form.elementor-form#form_foot .elementor-field-group:has(input.elementor-field:focus) > label.elementor-field-label,
form.elementor-form#form_foot .elementor-field-group:has(textarea.elementor-field:focus) > label.elementor-field-label,
form.elementor-form#form_foot .elementor-field-group.has-value > label.elementor-field-label,
form.elementor-form#form_foot .elementor-field-group:has(.elementor-select-wrapper select:focus) > label.elementor-field-label{
  top: var(--fl-top);
  transform: none;
  font-size: var(--fl-font-size);
  opacity: .95;
	z-index: 99;
}

form.elementor-form[name="Contacto"] .elementor-field-group-email.has-value > label.elementor-field-label,
form.elementor-form[name="Consagrese"] .elementor-field-group-email.has-value > label.elementor-field-label{
  top: var(--fl-top);
  transform: none;
  font-size: var(--fl-font-size);
  opacity: .95;
	z-index: 99;
}

form.elementor-form[name="Contacto"] .elementor-field-group-email:has(input:-webkit-autofill) > label.elementor-field-label,
form.elementor-form[name="Consagrese"] .elementor-field-group-email:has(input:-webkit-autofill) > label.elementor-field-label{
  top: var(--fl-top);
  transform: none;
  font-size: var(--fl-font-size);
  opacity: .95;
	z-index: 99;
}

form[name="Contacto"] .elementor-field-group-tel > label.elementor-field-label,
form[name="Consagrese"] .elementor-field-group-tel > label.elementor-field-label{
  left: 3.5rem !important;
	z-index: 99;
}

form#form_foot .elementor-field-group-tel > label.elementor-field-label{
  left: 3.5rem !important;
	z-index: 99;
}



/* Posts */
.cartas .elementor-post__excerpt,
.cartas .elementor-post__excerpt > p{
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
          line-clamp: 3 !important;
  overflow: hidden !important;
	height: auto !important;
}

.cartas .elementor-post__title,
.cartas .elementor-post__title a{
  overflow: hidden !important;
  white-space: normal !important;
  word-break: break-word !important;
	height: auto !important;
}

.cartas .elementor-post__title.clamp-2,
.cartas .elementor-post__title a.clamp-2{
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
          line-clamp: 2 !important;
  overflow: hidden !important;
	height: auto !important;
}

.elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail img{
	height: 100%;
	object-fit: cover !important;
}