.elementor-2898 .elementor-element.elementor-element-d09f1d8{--display:flex;--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;--padding-top:3vw;--padding-bottom:3vw;--padding-left:0vw;--padding-right:0vw;}.elementor-2898 .elementor-element.elementor-element-8e7aeca{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-2898 .elementor-element.elementor-element-c13cad4{margin:0vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;padding:0px 0px 0px 0px;text-align:center;}.elementor-2898 .elementor-element.elementor-element-c13cad4 .elementor-heading-title{font-family:"Outfit", Sans-serif;font-size:56px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;letter-spacing:0px;word-spacing:0em;}.elementor-2898 .elementor-element.elementor-element-8b4e9b4{margin:2vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;}@media(max-width:1366px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-2898 .elementor-element.elementor-element-c13cad4{padding:0px 8px 0px 8px;}.elementor-2898 .elementor-element.elementor-element-c13cad4 .elementor-heading-title{font-size:28px;}.elementor-2898 .elementor-element.elementor-element-8b4e9b4{padding:0vw 4vw 0vw 4vw;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-2898 .elementor-element.elementor-element-c13cad4 .elementor-heading-title{font-size:32px;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-2898 .elementor-element.elementor-element-c13cad4 .elementor-heading-title{font-size:28px;}}@media(min-width:768px){.elementor-2898 .elementor-element.elementor-element-d09f1d8{--content-width:1400px;}}@media(min-width:2400px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}}/* Start custom CSS for shortcode, class: .elementor-element-8b4e9b4 *//* Disposición en 2 columnas sin clases, para TODOS los CF7 */
.wpcf7 form.wpcf7-form{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}
.wpcf7 form.wpcf7-form > p{
  margin:0;
  width:100%;
}

/* 1ª fila: Nombre (1º) + Email (2º) */
.wpcf7 form.wpcf7-form > p:nth-of-type(1),
.wpcf7 form.wpcf7-form > p:nth-of-type(2){
  width:calc(50% - 10px);
}

/* 2ª fila: Teléfono (3º) + Asunto (4º) */
.wpcf7 form.wpcf7-form > p:nth-of-type(3),
.wpcf7 form.wpcf7-form > p:nth-of-type(4){
  width:calc(50% - 10px);
}

/* Textarea más bajo (5º campo) */
.wpcf7 form.wpcf7-form > p:nth-of-type(5) textarea{
  min-height:110px;
  height:110px;
  resize:vertical;
  line-height:1.4;
}

/* Botón a la izquierda (ajusta si su posición cambia) */
.wpcf7 form.wpcf7-form > p:has(.wpcf7-submit){
  width:100%;
  text-align:left !important;
}
.wpcf7 .wpcf7-submit{
  float:none !important;
  margin:0 !important;
  align-self:flex-start;
  background-color: #EF8014 !important;
  color: #000 !important;
}

/* Detalles: texto blanco, enlaces con color de tema */
.wpcf7 details{ color:#fff; 
    margin-left: 18px;
    margin-top: -16px;
}
.wpcf7 details a{
  color:var(--link-color, #ff7a00);
  text-decoration:underline;
}

/* Inputs full width dentro de su columna */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea{
  width:100%;
  box-sizing:border-box;
}

/* Responsive: una columna en móvil */
@media (max-width:768px){
  .wpcf7 form.wpcf7-form > p:nth-of-type(1),
  .wpcf7 form.wpcf7-form > p:nth-of-type(2),
  .wpcf7 form.wpcf7-form > p:nth-of-type(3),
  .wpcf7 form.wpcf7-form > p:nth-of-type(4){
    width:100%;
  }
}

/* Aplica el color al texto dentro del input */
.wpcf7 .orange {
  color: #ff7a00; /* o el color que uses en tu marca */
}

/* Aplica color al placeholder */
.wpcf7 .orange::placeholder {
  color: #ff7a00;
  opacity: 1; /* asegura visibilidad */
}

/* Si también quieres borde naranja al enfocar */
.wpcf7 .orange:focus {
  border-color: #ff7a00;
  box-shadow: 0 0 0 1px #ff7a00;
}

/* Texto del usuario en textarea blanco, pero placeholder mantiene su color */
.wpcf7 textarea {
  color: #fff; /* texto que escribe el usuario */
}

.wpcf7 textarea::placeholder {
  color: inherit; /* mantiene el color definido antes o por el tema */
  opacity: 1;
}

/* ===== Ajustes específicos para PORTÁTIL (laptop) ===== */
@media (min-width: 992px) and (max-width: 1366px){

  /* Contenedor del formulario: menos hueco entre campos */
  .wpcf7 form.wpcf7-form{
    gap:16px;
  }

  /* Dos columnas más estables en pantallas medias */
  .wpcf7 form.wpcf7-form > p:nth-of-type(1),
  .wpcf7 form.wpcf7-form > p:nth-of-type(2),
  .wpcf7 form.wpcf7-form > p:nth-of-type(3),
  .wpcf7 form.wpcf7-form > p:nth-of-type(4){
    width:48%;                /* en lugar de calc(50% - 10px) */
  }

  /* Inputs y selects: altura y tipografía algo menores */
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 select,
  .wpcf7 textarea{
    font-size:15px;
    line-height:1.35;
    padding:12px 14px;
  }

  /* Placeholder un pelín más pequeño para no “gritar” */
  .wpcf7 ::placeholder{
    font-size:15px;
  }

  /* Textarea: altura cómoda pero contenida */
  .wpcf7 form.wpcf7-form > p:nth-of-type(5) textarea{
    min-height:110px;         /* ajusta si lo quieres aún más bajo */
  }

  /* Checkbox + texto: alineación y separación */
  .wpcf7 .wpcf7-list-item{
    margin:0 0 0 0 !important;
  }
  .wpcf7 input[type="checkbox"]{
    transform: translateY(1px);
    margin-right:10px;
  }

  /* Detalles: margen más contenido */
  .wpcf7 details{
    margin-left:0px;
    margin-top:-10px;
  }

  /* Botón enviar: tamaño cómodo en portátil */
  .wpcf7 .wpcf7-submit{
    padding:12px 22px;
    font-size:15px;
    line-height:1;
    border-radius:14px;       /* respeta tu estilo actual */
  }
}

/* Opcional: limita el ancho máximo del bloque del formulario en layouts muy anchos */
@media (min-width: 1200px){
  .wpcf7 form.wpcf7-form{
    max-width: 1200px;        /* cámbialo si tu contenedor es más estrecho/ancho */
  }
}

.wpcf7 input[type="submit"] {
  transition: transform 0.2s ease;
}

.wpcf7 input[type="submit"]:hover {
  transform: scale(0.95);
}/* End custom CSS */