.elementor-9422 .elementor-element.elementor-element-d7c315{--display:flex;}.elementor-widget-eael-wpforms .eael-contact-form-description, .elementor-widget-eael-wpforms .wpforms-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-field label, .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field legend{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field textarea, .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field select{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-submit-container .wpforms-submit{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-9422 .elementor-element.elementor-element-4d6ed550 .eael-wpforms label.wpforms-error{display:block !important;}.elementor-9422 .elementor-element.elementor-element-4d6ed550 .eael-wpforms .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .elementor-9422 .elementor-element.elementor-element-4d6ed550 .eael-wpforms .wpforms-field select{height:30px;}.elementor-9422 .elementor-element.elementor-element-4d6ed550 .eael-wpforms .wpforms-submit-container .wpforms-submit:hover, 
                    .elementor-9422 .elementor-element.elementor-element-4d6ed550 .eael-wpforms .wpforms-container-full .wpforms-submit-container .wpforms-form button[type=submit]:hover{background:#065689 !important;}.elementor-9422 .elementor-element.elementor-element-4d6ed550 .eael-wpforms input.wpforms-error{border-width:1px;}.elementor-9422 .elementor-element.elementor-element-4d6ed550 .eael-wpforms textarea.wpforms-error{border-width:1px;}/* Start custom CSS for container, class: .elementor-element-d7c315 *//* ==========================================================
   VIDEO STUDIO JIMENEZ
   PHOTOGRAPHY SESSION & QUOTE REQUEST
   WPForms #9413 + Essential Addons Elementor

   Clase del contenedor Elementor: vsj-booking-form
   ========================================================== */

/* CONTENEDOR PRINCIPAL */

.vsj-booking-form {
  --vsj-dark: #1C2937;
  --vsj-accent: #AD8557;
  --vsj-text: #263342;
  --vsj-muted: #647080;
  --vsj-border: #DCE2E8;

  width: 100% !important;
  max-width: 820px;
  margin-left: auto !important;
  margin-right: auto !important;

  background: transparent;
}

.vsj-booking-form,
.vsj-booking-form * {
  box-sizing: border-box;
}

/* WIDGET Y CONTENEDORES */

.vsj-booking-form .elementor-widget-eael-wpforms,
.vsj-booking-form .elementor-widget-container,
.vsj-booking-form .eael-contact-form,
.vsj-booking-form .eael-wpforms,
.vsj-booking-form #wpforms-9413 {
  width: 100% !important;
  max-width: 100% !important;
}

.vsj-booking-form #wpforms-9413 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* FORMULARIO REAL */

.vsj-booking-form #wpforms-9413 form.wpforms-form {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 36px !important;

  background: #FFFFFF !important;
  border: 1px solid #E3E7EB !important;
  border-radius: 8px !important;

  box-shadow: 0 8px 28px rgba(20,30,45,.06) !important;

  font-family: Arial, Helvetica, sans-serif !important;
}

/* ==========================================================
   TITULO Y DESCRIPCION
   ========================================================== */

.vsj-booking-form #wpforms-9413 .wpforms-head-container {
  display: block !important;
  margin: 0 0 27px !important;
  padding: 0 0 22px !important;

  border-bottom: 1px solid var(--vsj-border) !important;
}

.vsj-booking-form #wpforms-9413 .wpforms-title {
  display: block !important;

  margin: 0 0 12px !important;
  padding: 0 !important;

  color: var(--vsj-dark) !important;

  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(27px, 3vw, 35px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

.vsj-booking-form #wpforms-9413 .wpforms-description {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--vsj-muted) !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* ==========================================================
   DISTRIBUCION DE CAMPOS
   ========================================================== */

.vsj-booking-form #wpforms-9413 .wpforms-field-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  column-gap: 18px !important;
  row-gap: 20px !important;
}

/* Campos por defecto: ancho completo */

.vsj-booking-form #wpforms-9413
.wpforms-field-container > .wpforms-field {
  grid-column: 1 / -1;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Phone + Email en dos columnas */

.vsj-booking-form #wpforms-9413
.wpforms-field-container > [data-field-id="4"] {
  grid-column: 1;
}

.vsj-booking-form #wpforms-9413
.wpforms-field-container > [data-field-id="2"] {
  grid-column: 2;
}

/* No alterar los campos antispam de WPForms */

.vsj-booking-form #wpforms-9413
.wpforms-field-container > [data-field-id="7"],
.vsj-booking-form #wpforms-9413
.wpforms-field-container > [data-field-id="8"] {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  opacity: 0 !important;

  clip-path: inset(50%) !important;
  pointer-events: none !important;
}

/* ==========================================================
   LABELS
   ========================================================== */

.vsj-booking-form #wpforms-9413 .wpforms-field-label {
  display: block !important;

  margin: 0 0 8px !important;
  padding: 0 !important;

  color: var(--vsj-text) !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  text-transform: none !important;
}

.vsj-booking-form #wpforms-9413 .wpforms-required-label {
  color: #B33636 !important;
}

/* ==========================================================
   INPUTS - TEXT, EMAIL, SELECT Y TEXTAREA
   ========================================================== */

.vsj-booking-form #wpforms-9413 input[type="text"],
.vsj-booking-form #wpforms-9413 input[type="email"],
.vsj-booking-form #wpforms-9413 input[type="tel"],
.vsj-booking-form #wpforms-9413 select,
.vsj-booking-form #wpforms-9413 textarea {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  height: 50px !important;
  min-height: 50px !important;

  margin: 0 !important;
  padding: 12px 14px !important;

  background: #FAFBFC !important;

  border: 1px solid #D6DDE5 !important;
  border-radius: 5px !important;

  color: var(--vsj-text) !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;

  box-shadow: none !important;
  outline: none;

  transition:
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

/* PLACEHOLDERS */

.vsj-booking-form #wpforms-9413 input::placeholder,
.vsj-booking-form #wpforms-9413 textarea::placeholder {
  color: #8993A0 !important;
  opacity: 1 !important;
}

/* FOCUS */

.vsj-booking-form #wpforms-9413
input[type="text"]:focus,

.vsj-booking-form #wpforms-9413
input[type="email"]:focus,

.vsj-booking-form #wpforms-9413
select:focus,

.vsj-booking-form #wpforms-9413
textarea:focus {
  background: #FFFFFF !important;

  border-color: var(--vsj-accent) !important;

  box-shadow:
    0 0 0 3px rgba(173,133,87,.14) !important;

  outline: none !important;
}

/* SELECT DE SERVICIOS */

.vsj-booking-form #wpforms-9413 select {
  cursor: pointer !important;
  padding-right: 35px !important;
}

/* AREA DE MENSAJE */

.vsj-booking-form #wpforms-9413 textarea {
  height: 120px !important;
  min-height: 120px !important;
  max-height: 300px;

  resize: vertical;
}

/* ==========================================================
   SUBMIT
   ========================================================== */

.vsj-booking-form #wpforms-9413 .wpforms-submit-container {
  display: block !important;

  width: 100% !important;

  margin: 26px 0 0 !important;
  padding: 0 !important;
}

/* BOTON PRINCIPAL */

.vsj-booking-form #wpforms-9413 button.wpforms-submit {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: 100% !important;
  min-height: 54px !important;

  margin: 0 !important;
  padding: 15px 22px !important;

  background: #1C2937 !important;

  border: 1px solid #1C2937 !important;
  border-radius: 5px !important;

  color: #FFFFFF !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;

  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0 !important;

  box-shadow: none !important;

  cursor: pointer !important;

  transition:
    background-color .2s ease,
    border-color .2s ease;
}

/* HOVER */

.vsj-booking-form #wpforms-9413 button.wpforms-submit:hover {
  background: #34465B !important;
  border-color: #34465B !important;
  color: #FFFFFF !important;
}

/* FOCUS */

.vsj-booking-form #wpforms-9413 button.wpforms-submit:focus-visible {
  outline: 3px solid var(--vsj-accent) !important;
  outline-offset: 3px;
}

/* ==========================================================
   VALIDACIONES
   ========================================================== */

.vsj-booking-form #wpforms-9413 label.wpforms-error {
  display: block;

  margin-top: 6px !important;

  color: #B33636 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.vsj-booking-form #wpforms-9413 input.wpforms-error,
.vsj-booking-form #wpforms-9413 select.wpforms-error,
.vsj-booking-form #wpforms-9413 textarea.wpforms-error {
  border-color: #B33636 !important;
}

/* ==========================================================
   TABLET Y MOBILE
   ========================================================== */

@media (max-width: 767px) {

  .vsj-booking-form #wpforms-9413 form.wpforms-form {
    padding: 24px 20px !important;
  }

  .vsj-booking-form #wpforms-9413 .wpforms-title {
    font-size: 28px !important;
  }

  .vsj-booking-form #wpforms-9413 .wpforms-description {
    font-size: 14px !important;
  }

  .vsj-booking-form #wpforms-9413 .wpforms-field-container {
    grid-template-columns: 1fr !important;
    gap: 17px !important;
  }

  .vsj-booking-form #wpforms-9413
  .wpforms-field-container > .wpforms-field {
    grid-column: 1 / -1 !important;
  }

  .vsj-booking-form #wpforms-9413 input[type="text"],
  .vsj-booking-form #wpforms-9413 input[type="email"],
  .vsj-booking-form #wpforms-9413 select,
  .vsj-booking-form #wpforms-9413 textarea {
    font-size: 16px !important;
  }

}

@media (max-width: 480px) {

  .vsj-booking-form #wpforms-9413 form.wpforms-form {
    padding: 20px 16px !important;
  }

  .vsj-booking-form #wpforms-9413 .wpforms-title {
    font-size: 25px !important;
  }

  .vsj-booking-form #wpforms-9413 .wpforms-head-container {
    margin-bottom: 22px !important;
  }

}/* End custom CSS */