.elementor-14 .elementor-element.elementor-element-6723f0d{--display:flex;}.elementor-14 .elementor-element.elementor-element-a75263c{--display:flex;}.elementor-14 .elementor-element.elementor-element-383b8b6{--display:flex;}.elementor-14 .elementor-element.elementor-element-18d15e9{--display:flex;}.elementor-14 .elementor-element.elementor-element-27d5cd4{--display:flex;}.elementor-widget-image-box .elementor-image-box-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-image-box:has(:hover) .elementor-image-box-title,
					 .elementor-widget-image-box:has(:focus) .elementor-image-box-title{color:var( --e-global-color-primary );}.elementor-widget-image-box .elementor-image-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-14 .elementor-element.elementor-element-eb99b4e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 16px 0px;}.elementor-14 .elementor-element.elementor-element-eb99b4e .elementor-image-box-title{margin-bottom:12px;font-family:"Instrument Sans", Sans-serif;font-weight:300;color:#666A6B;}.elementor-14 .elementor-element.elementor-element-eb99b4e:has(:hover) .elementor-image-box-title,
					 .elementor-14 .elementor-element.elementor-element-eb99b4e:has(:focus) .elementor-image-box-title{color:#666A6B;}.elementor-14 .elementor-element.elementor-element-eb99b4e .elementor-image-box-description{font-family:"Inter", Sans-serif;font-weight:400;}.elementor-14 .elementor-element.elementor-element-b63adb3{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--margin-top:8px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-14 .elementor-element.elementor-element-11be1c2{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:0px 0px 0px 0px;box-shadow:0px 0px 20px 0px #212121;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-14 .elementor-element.elementor-element-11be1c2:not(.elementor-motion-effects-element-type-background), .elementor-14 .elementor-element.elementor-element-11be1c2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2D2D2D00;}.elementor-14 .elementor-element.elementor-element-b1b5d52.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-14 .elementor-element.elementor-element-eb99b4e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 10px 0px;}.elementor-14 .elementor-element.elementor-element-eb99b4e .elementor-image-box-title{margin-bottom:2px;}.elementor-14 .elementor-element.elementor-element-11be1c2{--padding-top:45px;--padding-bottom:45px;--padding-left:45px;--padding-right:45px;}}@media(max-width:767px){.elementor-14 .elementor-element.elementor-element-11be1c2{--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}}@media(min-width:768px){.elementor-14 .elementor-element.elementor-element-b63adb3{--content-width:1472px;}.elementor-14 .elementor-element.elementor-element-11be1c2{--width:73%;}}/* Start custom CSS for shortcode, class: .elementor-element-b1b5d52 *//* === Contact Form 7 - Diseño Moderno Premium === */

/* Contenedor principal del formulario */
.wpcf7 form {
  display: grid;
  gap: 20px; /* Un poco más de aire entre elementos */
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  max-width: 100%;
}

/* Evitar márgenes extraños que CF7 añade a veces en los párrafos */
.wpcf7 form p {
  margin: 0;
}

/* Etiquetas (Labels) */
.wpcf7 label {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: #334155;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}

/* Inputs, Selects y Textarea */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  border: 1px solid #e2e8f0; /* Borde más sutil */
  border-radius: 12px;
  background-color: #f8fafc; /* Fondo gris muy suave, no blanco puro */
  padding: 1rem 1.1rem; /* Más padding para sensación de amplitud */
  font-size: 1rem;
  color: #1e293b;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); /* Transición suave */
  outline: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* Sombra sutil por defecto */
}

/* Estado Focus (Cuando haces clic) */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: #6366f1; /* Color Indigo vibrante */
  background-color: #ffffff; /* Se vuelve blanco puro al enfocar */
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15), 0 4px 12px rgba(0, 0, 0, 0.05);
  transform: translateY(-1px); /* Efecto sutil de elevación */
}

/* Placeholder (Texto de ayuda dentro del input) */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #94a3b8;
}

/* Select Personalizado */
.wpcf7 select {
  appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' width='18' height='18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2364748b' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}

/* Checkbox de aceptación / Términos */
.wpcf7-acceptance label {
  display: flex;
  align-items: flex-start; /* Alineación superior por si el texto es largo */
  gap: 10px;
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.5;
  cursor: pointer;
}

/* Personalización del cuadradito del checkbox */
.wpcf7-acceptance input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  margin-top: 2px; /* Ajuste óptico */
  border: 2px solid #cbd5e1;
  border-radius: 4px;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  flex-shrink: 0; /* Evita que se aplaste */
}

.wpcf7-acceptance input[type="checkbox"]:checked {
  background-color: #6366f1;
  border-color: #6366f1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  background-size: 14px;
  background-repeat: no-repeat;
  background-position: center;
}

/* Botón de envío - Estilo Gradiente y Elevación */
.wpcf7 input[type="submit"] {
  display: inline-flex;
  width: auto;
  min-width: 160px; /* Ancho mínimo elegante */
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%); /* Gradiente sutil */
  color: #fff;
  border: none;
  border-radius: 99px;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow: 0 4px 6px -1px rgba(79, 70, 229, 0.3), 0 2px 4px -1px rgba(79, 70, 229, 0.15);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.wpcf7 input[type="submit"]:hover {
  transform: translateY(-2px); /* Se eleva al pasar el mouse */
  box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.4), 0 4px 6px -2px rgba(79, 70, 229, 0.2);
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%); /* Gradiente más brillante */
}

.wpcf7 input[type="submit"]:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px -1px rgba(79, 70, 229, 0.3);
}

/* Mensajes de error y éxito mejorados */
.wpcf7-response-output {
  margin: 1.5rem 0 0 !important; /* Forzar margen */
  border-radius: 12px;
  padding: 1rem 1.25rem !important;
  font-size: 0.9rem;
  font-weight: 500;
  border: none !important; /* Quitamos bordes duros por defecto */
  display: flex;
  align-items: center;
}

/* Éxito */
.wpcf7 form.sent .wpcf7-response-output {
  background-color: #ecfdf5;
  color: #047857;
  border-left: 5px solid #10b981 !important;
}

/* Error */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  background-color: #fef2f2;
  color: #b91c1c;
  border-left: 5px solid #ef4444 !important;
}

/* Validaciones debajo de cada campo (The field is required) */
span.wpcf7-not-valid-tip {
  font-size: 0.8rem;
  color: #ef4444;
  margin-top: 6px;
  display: block;
  font-weight: 500;
}

/* Responsivo */
@media (max-width: 640px) {
  .wpcf7 form {
    gap: 16px;
  }
  
  .wpcf7 input[type="submit"] {
    width: 100%; /* Botón ancho completo en móvil */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-11be1c2 */.wpcf7 input,
.wpcf7 textarea {
  border-radius: 12px;
  border: 1px solid #d2d6dc;
  padding: 12px 16px;
  width: 100%;
  font-size: 1rem;
}
.wpcf7 input[type="submit"] {
  background: #0f172a;
  color: #fff;
  border-radius: 999px;
  padding: 12px 24px;
  font-weight: 600;
}/* End custom CSS */