/* Vercetti 2.14.0 — Unified Form System */
.vc-unified-phone{display:grid;grid-template-columns:minmax(145px,42%) minmax(0,1fr);gap:10px;width:100%;min-width:0;align-items:stretch}
.vc-unified-phone-country{position:relative;min-width:0;height:48px;border:1px solid #d6dbe5;border-radius:9px;background:#fff;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.vc-unified-phone-country:focus-within{border-color:#6b0d96;box-shadow:0 0 0 3px rgba(107,13,150,.10)}
.vc-unified-phone-flag{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:2;width:25px;height:18px;border:1px solid rgba(0,0,0,.10);border-radius:3px;overflow:hidden;background:#fff;pointer-events:none;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.vc-unified-phone-flag img{display:block;width:100%;height:100%;object-fit:cover}
.vc-unified-phone-select{display:block!important;width:100%!important;max-width:100%!important;height:46px!important;min-height:46px!important;border:0!important;background:transparent!important;color:#303746!important;padding:0 28px 0 48px!important;font:400 14px/1.2 Roboto,Arial,sans-serif!important;outline:0!important;box-shadow:none!important;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;appearance:auto!important}
.vc-unified-phone-local{display:block!important;width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;margin:0!important;border:1px solid #d6dbe5!important;border-radius:9px!important;background:#fff!important;color:#303746!important;padding:0 13px!important;font:400 14px/1.2 Roboto,Arial,sans-serif!important;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease!important}
.vc-unified-phone-local:focus{outline:0!important;border-color:#6b0d96!important;box-shadow:0 0 0 3px rgba(107,13,150,.10)!important}
.vc-unified-phone-help{display:block;margin-top:6px;color:#737b89;font-size:11px;line-height:1.45}
.vc-unified-phone-help.is-error{color:#b23c3c}.vc-unified-phone-help.is-valid{color:#2b7b4a}
.vc-unified-form .form-wrap{display:flex;flex-direction:column;gap:7px;margin:0 0 2px;position:relative}
.vc-unified-form .form-label{position:static!important;display:block!important;order:-1!important;transform:none!important;margin:0!important;color:#333a48!important;font-size:13px!important;font-weight:600!important;line-height:1.35!important;pointer-events:auto!important}
.vc-unified-form .form-input{width:100%;min-height:48px;border:1px solid #d6dbe5;border-radius:9px;background:#fff;color:#303746;padding:11px 13px;box-shadow:none}
.vc-unified-form textarea.form-input{min-height:126px;height:auto;resize:vertical}
.vc-unified-form select.form-input{padding-right:34px}
.vc-unified-form .form-input:focus{border-color:#6b0d96;box-shadow:0 0 0 3px rgba(107,13,150,.10);outline:0}
.vc-unified-form .form-wrap.has-error .form-input{border-color:#c94d4d}
.vc-unified-form .form-validation{position:static;margin-top:2px}
.vc-unified-form .vc-unified-phone-form-wrap>.form-label{position:static!important}
.vc-agent-contact-form .vc-unified-phone,.vc-visit-form .vc-unified-phone,.vc-valuation-grid .vc-unified-phone{margin-top:0}
.vc-valuation-grid .vc-unified-phone-local,.vc-valuation-grid .vc-unified-phone-select{font-family:inherit!important}
.vc-valuation-field select.vc-native-form-select{width:100%;min-height:48px;border:1px solid #d9dce5;border-radius:10px;background:#fff;color:#303746;padding:10px 38px 10px 13px}
.vc-valuation-field select.vc-native-form-select:focus{outline:0;border-color:#6b0d96;box-shadow:0 0 0 3px rgba(107,13,150,.10)}
@media(max-width:480px){.vc-unified-phone{grid-template-columns:minmax(126px,44%) minmax(0,1fr);gap:8px}.vc-unified-phone-select{font-size:13px!important;padding-left:44px!important}.vc-unified-phone-flag{left:10px}.vc-unified-phone-local{font-size:14px!important}.vc-unified-phone-help{font-size:11px}}
html[data-vc-theme="dark"] .vc-unified-phone-country,html.vc-dark-mode .vc-unified-phone-country,body.vc-dark-mode .vc-unified-phone-country,
html[data-theme="dark"] .vc-unified-phone-country,body[data-theme="dark"] .vc-unified-phone-country,
html[data-vc-theme="dark"] .vc-unified-phone-local,html.vc-dark-mode .vc-unified-phone-local,body.vc-dark-mode .vc-unified-phone-local,
html[data-theme="dark"] .vc-unified-phone-local,body[data-theme="dark"] .vc-unified-phone-local,
html[data-vc-theme="dark"] .vc-unified-form .form-input,html.vc-dark-mode .vc-unified-form .form-input,body.vc-dark-mode .vc-unified-form .form-input,
html[data-theme="dark"] .vc-unified-form .form-input,body[data-theme="dark"] .vc-unified-form .form-input,
html[data-vc-theme="dark"] .vc-valuation-field select.vc-native-form-select,html.vc-dark-mode .vc-valuation-field select.vc-native-form-select,body.vc-dark-mode .vc-valuation-field select.vc-native-form-select{background:#252936!important;border-color:#414757!important;color:#edf0f5!important}
html[data-vc-theme="dark"] .vc-unified-phone-select,html.vc-dark-mode .vc-unified-phone-select,body.vc-dark-mode .vc-unified-phone-select,html[data-theme="dark"] .vc-unified-phone-select,body[data-theme="dark"] .vc-unified-phone-select{color:#edf0f5!important}
html[data-vc-theme="dark"] .vc-unified-form .form-label,html.vc-dark-mode .vc-unified-form .form-label,body.vc-dark-mode .vc-unified-form .form-label{color:#edf0f5!important}


/* ==========================================================================
   Vercetti 2.14.1 — Visual Compatibility Pass
   Ajustes posteriores a la unificación funcional de formularios.
   ========================================================================== */

/* Formularios antiguos ubicados sobre fondos oscuros:
   el label heredado ya no puede conservar el gris pensado para fondo blanco. */
.context-dark .vc-unified-form .form-label,
.footer-modern.context-dark .vc-unified-form .form-label,
.bg-gray-31.context-dark .vc-unified-form .form-label{
  color:#f4f1f6!important;
}
.context-dark .vc-unified-form .form-input,
.footer-modern.context-dark .vc-unified-form .form-input,
.bg-gray-31.context-dark .vc-unified-form .form-input{
  background:#fff!important;
  color:#252936!important;
  border-color:rgba(255,255,255,.38)!important;
}
.context-dark .vc-unified-form .form-input:focus,
.footer-modern.context-dark .vc-unified-form .form-input:focus,
.bg-gray-31.context-dark .vc-unified-form .form-input:focus{
  border-color:#c59bd9!important;
  box-shadow:0 0 0 3px rgba(210,174,226,.16)!important;
}
.context-dark .vc-unified-form .form-input::placeholder,
.footer-modern.context-dark .vc-unified-form .form-input::placeholder{
  color:#7b818d!important;
}
.footer-modern .vc-unified-form .form-wrap{gap:8px}
.footer-modern .vc-unified-form textarea.form-input{min-height:126px}
.footer-modern .vc-unified-form .button{
  min-height:46px;
  border-radius:999px!important;
  padding-left:25px;
  padding-right:25px;
}

/* Teléfono unificado: proporciones más legibles.
   Mantiene bandera, código y país sin comprimir el número local. */
.vc-agent-contact-form .vc-agent-form-grid{
  grid-template-columns:minmax(210px,.78fr) minmax(330px,1.22fr);
  gap:18px 20px;
}
.vc-agent-contact-form .vc-unified-phone{
  grid-template-columns:minmax(158px,46%) minmax(145px,1fr);
  gap:10px;
}
.vc-agent-contact-form .vc-unified-phone-select{
  font-size:13px!important;
  padding-right:24px!important;
}
.vc-agent-contact-form .vc-unified-phone-help{
  margin-top:7px;
  font-size:10.5px;
  line-height:1.4;
  text-transform:none!important;
  letter-spacing:0!important;
  color:#7a808c;
}

/* En Agenda una visita el teléfono dispone de toda una fila.
   Esto evita comprimir el componente al coexistir con fecha/horario. */
.vc-visit-field.vc-unified-phone-host{
  grid-column:1/-1;
}
.vc-visit-field.vc-unified-phone-host .vc-unified-phone{
  grid-template-columns:minmax(168px,34%) minmax(180px,1fr);
  max-width:560px;
}
.vc-visit-field.vc-unified-phone-host .vc-unified-phone-help{
  max-width:560px;
}

/* Formularios de valoración y contacto tradicional: teléfono cómodo,
   pero sin ocupar innecesariamente todo el formulario. */
.vc-valuation-field.vc-unified-phone-host .vc-unified-phone,
.vc-unified-form .vc-unified-phone{
  grid-template-columns:minmax(158px,42%) minmax(140px,1fr);
}

/* El teléfono en perfiles de agentes debe conservar su variante específica. */
.vc-agent-contact-form .vc-unified-phone{
  grid-template-columns:minmax(158px,46%) minmax(145px,1fr);
}

/* Labels y ayudas con una jerarquía coherente. */
.vc-unified-phone-host>.form-label,
.vc-unified-phone-host>label{
  margin-bottom:7px;
}
.vc-unified-phone-help{
  color:#737986;
  text-transform:none!important;
  letter-spacing:0!important;
}

/* Tablets: se conserva la composición de dos columnas del agente solo
   cuando existe espacio real para que teléfono y nombre respiren. */
@media(max-width:860px){
  .vc-agent-contact-form .vc-agent-form-grid{
    grid-template-columns:1fr;
  }
  .vc-agent-contact-form .vc-field,
  .vc-agent-contact-form .vc-field.vc-field-full{
    grid-column:1/-1;
  }
  .vc-agent-contact-form .vc-unified-phone{
    grid-template-columns:minmax(170px,35%) minmax(180px,1fr);
    max-width:560px;
  }
}

/* Móvil: proporciones controladas; en pantallas muy estrechas se apila
   únicamente el teléfono unificado, no los componentes aprobados de Publicación rápida. */
@media(max-width:480px){
  .vc-unified-phone{
    grid-template-columns:minmax(150px,48%) minmax(0,1fr);
    gap:8px;
  }
  .vc-agent-contact-form .vc-unified-phone,
  .vc-visit-field.vc-unified-phone-host .vc-unified-phone,
  .vc-valuation-field.vc-unified-phone-host .vc-unified-phone,
  .vc-unified-form .vc-unified-phone{
    grid-template-columns:minmax(150px,48%) minmax(0,1fr);
    max-width:none;
  }
  .vc-unified-phone-help{
    font-size:10.5px;
    line-height:1.42;
  }
}
@media(max-width:340px){
  .vc-agent-contact-form .vc-unified-phone,
  .vc-visit-field.vc-unified-phone-host .vc-unified-phone,
  .vc-valuation-field.vc-unified-phone-host .vc-unified-phone,
  .vc-unified-form .vc-unified-phone{
    grid-template-columns:1fr;
  }
}

/* Modo oscuro del sistema nuevo en perfiles/agendas. */
html[data-vc-theme="dark"] .vc-agent-contact-form .vc-unified-phone-help,
html[data-vc-theme="dark"] .vc-visit-form .vc-unified-phone-help,
html.vc-dark-mode .vc-agent-contact-form .vc-unified-phone-help,
html.vc-dark-mode .vc-visit-form .vc-unified-phone-help{
  color:#b9bec8;
}


/* ========================================================================== 
   Vercetti 2.14.2 — Dark Section Forms
   Los formularios dentro de contextos oscuros se integran visualmente con la sección.
   ========================================================================== */
.context-dark .vc-unified-form .form-input,
.footer-modern.context-dark .vc-unified-form .form-input,
.bg-gray-31.context-dark .vc-unified-form .form-input{
  background:#252a39!important;
  color:#f7f8fb!important;
  border-color:#4a5061!important;
  box-shadow:none!important;
}
.context-dark .vc-unified-form .form-input::placeholder,
.footer-modern.context-dark .vc-unified-form .form-input::placeholder,
.bg-gray-31.context-dark .vc-unified-form .form-input::placeholder{
  color:#aeb3bf!important;
  opacity:1;
}
.context-dark .vc-unified-form .form-input:focus,
.footer-modern.context-dark .vc-unified-form .form-input:focus,
.bg-gray-31.context-dark .vc-unified-form .form-input:focus{
  border-color:#8d2eb8!important;
  box-shadow:0 0 0 3px rgba(141,46,184,.18)!important;
  outline:0!important;
}
.context-dark .vc-unified-form .form-label,
.footer-modern.context-dark .vc-unified-form .form-label,
.bg-gray-31.context-dark .vc-unified-form .form-label{
  color:#f4f1f6!important;
}
.context-dark .vc-unified-form .form-wrap.has-error .form-input,
.footer-modern.context-dark .vc-unified-form .form-wrap.has-error .form-input,
.bg-gray-31.context-dark .vc-unified-form .form-wrap.has-error .form-input{
  border-color:#e58b8b!important;
  box-shadow:0 0 0 3px rgba(229,139,139,.10)!important;
}
.context-dark .vc-unified-form .form-validation,
.footer-modern.context-dark .vc-unified-form .form-validation,
.bg-gray-31.context-dark .vc-unified-form .form-validation{
  position:static!important;
  margin-top:4px!important;
  color:#ffb8b8!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.4!important;
}

/* Teléfono unificado cuando vive dentro de una sección oscura. */
.context-dark .vc-unified-phone-country,
.footer-modern.context-dark .vc-unified-phone-country,
.bg-gray-31.context-dark .vc-unified-phone-country,
.context-dark .vc-unified-phone-local,
.footer-modern.context-dark .vc-unified-phone-local,
.bg-gray-31.context-dark .vc-unified-phone-local{
  background:#252a39!important;
  border-color:#4a5061!important;
  color:#f7f8fb!important;
}
.context-dark .vc-unified-phone-select,
.footer-modern.context-dark .vc-unified-phone-select,
.bg-gray-31.context-dark .vc-unified-phone-select{
  color:#f7f8fb!important;
  background-color:transparent!important;
}
.context-dark .vc-unified-phone-local::placeholder,
.footer-modern.context-dark .vc-unified-phone-local::placeholder,
.bg-gray-31.context-dark .vc-unified-phone-local::placeholder{
  color:#aeb3bf!important;
  opacity:1;
}
.context-dark .vc-unified-phone-country:focus-within,
.footer-modern.context-dark .vc-unified-phone-country:focus-within,
.bg-gray-31.context-dark .vc-unified-phone-country:focus-within,
.context-dark .vc-unified-phone-local:focus,
.footer-modern.context-dark .vc-unified-phone-local:focus,
.bg-gray-31.context-dark .vc-unified-phone-local:focus{
  border-color:#8d2eb8!important;
  box-shadow:0 0 0 3px rgba(141,46,184,.18)!important;
}
.context-dark .vc-unified-phone-help,
.footer-modern.context-dark .vc-unified-phone-help,
.bg-gray-31.context-dark .vc-unified-phone-help{
  color:#c0c5cf!important;
}
.context-dark .vc-unified-phone-help.is-error,
.footer-modern.context-dark .vc-unified-phone-help.is-error,
.bg-gray-31.context-dark .vc-unified-phone-help.is-error{
  color:#ffb8b8!important;
}

/* Footer: respiración y CTA sin alterar el lenguaje corporativo. */
.footer-modern.context-dark .vc-unified-form .form-wrap{gap:8px}
.footer-modern.context-dark .vc-unified-form textarea.form-input{min-height:126px}
.footer-modern.context-dark .vc-unified-form .button{
  min-height:46px;
  border-radius:999px!important;
  padding-left:25px;
  padding-right:25px;
}
.footer-modern.context-dark .vc-unified-form .vc-privacy-block,
.footer-modern.context-dark .vc-unified-form .vc-privacy-block p,
.footer-modern.context-dark .vc-unified-form .vc-privacy-check span{
  color:#d1d4db!important;
}
.footer-modern.context-dark .vc-unified-form .vc-privacy-block a{
  color:#ead8f2!important;
  text-decoration-color:rgba(234,216,242,.55);
}


/* ========================================================================== 
   Vercetti 2.14.3 — Required & Validation States
   Un solo lenguaje visual para campos obligatorios, opcionales y errores.
   ========================================================================== */
.vc-required-system .vc-required-mark{color:#6b0d96;font-weight:800;margin-left:2px}
.vc-required-system .vc-optional-mark{color:#808693;font-size:.86em;font-weight:400;white-space:nowrap}
.vc-required-note{margin:0 0 14px;color:#727986;font-size:11.5px;line-height:1.4}
.vc-required-note span{color:#6b0d96;font-weight:800;margin-right:3px}
.vc-required-system .form-wrap.has-error .form-input,
.vc-required-system .vc-field.has-error .form-input,
.vc-required-system .vc-valuation-field.has-error input,
.vc-required-system .vc-valuation-field.has-error select,
.vc-required-system .vc-valuation-field.has-error textarea,
.vc-required-system .vc-visit-field.has-error .vc-visit-control{border-color:#c94747!important;box-shadow:0 0 0 3px rgba(201,71,71,.09)!important}
.vc-required-system .form-validation{position:static!important;display:block;min-height:0;margin-top:4px!important;color:#b63e3e!important;font-size:12px!important;font-weight:500!important;line-height:1.4!important}
.vc-required-system .vc-unified-phone-host.has-error .vc-unified-phone-country,
.vc-required-system .vc-unified-phone-host.has-error .vc-unified-phone-local,
.vc-required-system .form-wrap.has-error .vc-unified-phone-country,
.vc-required-system .form-wrap.has-error .vc-unified-phone-local,
.vc-required-system .vc-field.has-error .vc-unified-phone-country,
.vc-required-system .vc-field.has-error .vc-unified-phone-local,
.vc-required-system .vc-visit-field.has-error .vc-unified-phone-country,
.vc-required-system .vc-visit-field.has-error .vc-unified-phone-local{border-color:#c94747!important;box-shadow:0 0 0 3px rgba(201,71,71,.09)!important}
.vc-required-system .vc-unified-phone-help.is-error{color:#b63e3e!important;font-weight:500}
.context-dark .vc-required-system .vc-required-mark,
.footer-modern.context-dark .vc-required-system .vc-required-mark,
.bg-gray-31.context-dark .vc-required-system .vc-required-mark{color:#d6a6e9}
.context-dark .vc-required-system .vc-optional-mark,
.footer-modern.context-dark .vc-required-system .vc-optional-mark,
.bg-gray-31.context-dark .vc-required-system .vc-optional-mark{color:#b9bec9}
.context-dark .vc-required-note,
.footer-modern.context-dark .vc-required-note,
.bg-gray-31.context-dark .vc-required-note{color:#c9cdd6}
.context-dark .vc-required-note span,
.footer-modern.context-dark .vc-required-note span,
.bg-gray-31.context-dark .vc-required-note span{color:#d6a6e9}
.context-dark .vc-required-system .form-validation,
.footer-modern.context-dark .vc-required-system .form-validation,
.bg-gray-31.context-dark .vc-required-system .form-validation,
.context-dark .vc-required-system .vc-unified-phone-help.is-error,
.footer-modern.context-dark .vc-required-system .vc-unified-phone-help.is-error,
.bg-gray-31.context-dark .vc-required-system .vc-unified-phone-help.is-error{color:#ffb8b8!important}
@media(max-width:480px){.vc-required-note{margin-bottom:12px;font-size:11px}}


/* Vercetti 2.14.4 — Validación sin duplicados */
.vc-required-system .vc-required-note{
  margin-bottom:10px;
}
.vc-required-system .form-validation:empty{
  display:none!important;
}
.vc-required-system .form-validation{
  margin-top:6px!important;
}
.context-dark .vc-required-system .vc-required-note,
.footer-modern.context-dark .vc-required-system .vc-required-note,
.bg-gray-31.context-dark .vc-required-system .vc-required-note{
  margin-bottom:10px;
}


/* ==========================================================================
   Vercetti 2.14.6 — Deferred & Progressive Validation
   Los errores aparecen al intentar avanzar/enviar, no al abandonar un campo.
   ========================================================================== */

.vc-deferred-validation:not(.vc-validation-attempted) .form-validation{
  display:none!important;
}
.vc-deferred-validation:not(.vc-validation-attempted) .vc-unified-phone-help.is-error{
  color:inherit!important;
  font-weight:400!important;
}
.vc-deferred-validation:not(.vc-validation-attempted) .has-error{
  --vc-premature-error-reset:1;
}
.vc-deferred-validation:not(.vc-validation-attempted) .has-error .form-input,
.vc-deferred-validation:not(.vc-validation-attempted) .vc-field.has-error input,
.vc-deferred-validation:not(.vc-validation-attempted) .vc-field.has-error select,
.vc-deferred-validation:not(.vc-validation-attempted) .vc-field.has-error textarea,
.vc-deferred-validation:not(.vc-validation-attempted) .vc-valuation-field.has-error input,
.vc-deferred-validation:not(.vc-validation-attempted) .vc-valuation-field.has-error select,
.vc-deferred-validation:not(.vc-validation-attempted) .vc-visit-field.has-error .vc-visit-control{
  box-shadow:none!important;
}

/* Burbuja Vercetti: misma apariencia en Chrome, Safari, Firefox, Android e iOS. */
.vc-validation-bubble{
  position:fixed;
  z-index:2147483000;
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:min(320px,calc(100vw - 24px));
  padding:10px 13px;
  border:1px solid #ded8e2;
  border-radius:9px;
  background:#fff;
  color:#292d36;
  font:500 13px/1.3 Roboto,Arial,sans-serif;
  box-shadow:0 8px 24px rgba(28,24,34,.17);
  opacity:0;
  visibility:hidden;
  transform:translateY(-3px);
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
.vc-validation-bubble::before{
  content:"";
  position:absolute;
  top:-6px;
  left:20px;
  width:11px;
  height:11px;
  background:#fff;
  border-left:1px solid #ded8e2;
  border-top:1px solid #ded8e2;
  transform:rotate(45deg);
}
.vc-validation-bubble.is-above::before{
  top:auto;
  bottom:-6px;
  border-left:0;
  border-top:0;
  border-right:1px solid #ded8e2;
  border-bottom:1px solid #ded8e2;
}
.vc-validation-bubble.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.vc-validation-bubble-icon{
  display:grid;
  place-items:center;
  flex:0 0 20px;
  width:20px;
  height:20px;
  border-radius:5px;
  background:#6b0d96;
  color:#fff;
  font-size:13px;
  font-weight:800;
}
.vc-validation-bubble-text{min-width:0}

/* Solo el error activo toma protagonismo. */
.vc-deferred-validation.vc-validation-attempted .has-error .form-validation{
  display:block!important;
}
.vc-deferred-validation.vc-validation-attempted .has-error input:not([type="checkbox"]):not([type="radio"]),
.vc-deferred-validation.vc-validation-attempted .has-error textarea,
.vc-deferred-validation.vc-validation-attempted .has-error select,
.vc-deferred-validation.vc-validation-attempted .vc-fieldset.has-error{
  border-color:#c94747!important;
}
.vc-deferred-validation.vc-validation-attempted .vc-fieldset.has-error{
  border-radius:10px;
  box-shadow:0 0 0 3px rgba(201,71,71,.08);
}

/* Dark mode / formularios sobre secciones oscuras. */
html[data-vc-theme="dark"] .vc-validation-bubble,
html.vc-dark-mode .vc-validation-bubble,
body.vc-dark-mode .vc-validation-bubble,
.context-dark .vc-validation-bubble{
  background:#252a39;
  border-color:#4a5061;
  color:#f3f4f7;
}
html[data-vc-theme="dark"] .vc-validation-bubble::before,
html.vc-dark-mode .vc-validation-bubble::before,
body.vc-dark-mode .vc-validation-bubble::before{
  background:#252a39;
  border-color:#4a5061;
}

@media(max-width:480px){
  .vc-validation-bubble{
    max-width:calc(100vw - 24px);
    padding:9px 11px;
    font-size:12.5px;
  }
}


/* ==========================================================================
   Vercetti 2.14.8 — Compact Contact Form
   Variante breve para formularios email + mensaje en fondos oscuros.
   ========================================================================== */

/* Los labels ya no son flotantes. El JS antiguo puede añadir .focus/.auto-fill,
   pero visualmente permanecen siempre visibles y en su sitio. */
.vc-unified-form .form-label,
.vc-unified-form .form-label.focus,
.vc-unified-form .form-label.auto-fill,
.vc-unified-form .form-label.not-empty,
.vc-unified-form .form-label.active{
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  display:block!important;
  pointer-events:auto!important;
}

/* Un formulario de solo correo + mensaje no necesita explicar el asterisco. */
.vc-compact-contact .vc-required-note{display:none!important}

/* Composición más corta, limpia y editorial. */
.footer-modern.context-dark .vc-compact-contact,
.context-dark .vc-compact-contact{
  margin-top:0;
}
.footer-modern.context-dark .vc-compact-contact .row.row-20,
.context-dark .vc-compact-contact .row.row-20{
  row-gap:15px;
}
.footer-modern.context-dark .vc-compact-contact .form-wrap,
.context-dark .vc-compact-contact .form-wrap{
  gap:6px!important;
  margin-bottom:0!important;
}
.footer-modern.context-dark .vc-compact-contact .form-label,
.context-dark .vc-compact-contact .form-label{
  margin:0!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
.footer-modern.context-dark .vc-compact-contact input.form-input,
.context-dark .vc-compact-contact input.form-input{
  min-height:48px!important;
  height:48px!important;
}
.footer-modern.context-dark .vc-compact-contact textarea.form-input,
.context-dark .vc-compact-contact textarea.form-input{
  min-height:108px!important;
  height:108px!important;
  padding-top:12px!important;
}
.footer-modern.context-dark .vc-compact-contact .button,
.context-dark .vc-compact-contact .button{
  margin-top:1px!important;
  min-height:44px!important;
}
.footer-modern.context-dark .vc-compact-contact .form-validation,
.context-dark .vc-compact-contact .form-validation{
  margin-top:3px!important;
}

/* La información de privacidad se mantiene, pero con una huella visual más discreta. */
.footer-modern.context-dark .vc-compact-contact .vc-privacy-block,
.context-dark .vc-compact-contact .vc-privacy-block{
  margin-top:12px!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.footer-modern.context-dark .vc-compact-contact .vc-privacy-block p,
.context-dark .vc-compact-contact .vc-privacy-block p{
  margin-bottom:8px!important;
}

@media(max-width:480px){
  .footer-modern.context-dark .vc-compact-contact .row.row-20,
  .context-dark .vc-compact-contact .row.row-20{row-gap:13px}
  .footer-modern.context-dark .vc-compact-contact textarea.form-input,
  .context-dark .vc-compact-contact textarea.form-input{
    min-height:102px!important;
    height:102px!important;
  }
}


/* Vercetti 2.14.9 — Compact contact tighter spacing */
.vc-compact-contact .vc-required-note{
  display:none!important;
}
.footer-modern.context-dark h3 + .vc-compact-contact,
.context-dark h3 + .vc-compact-contact{
  margin-top:14px!important;
}
.footer-modern.context-dark .vc-compact-contact .row.row-20,
.context-dark .vc-compact-contact .row.row-20{
  row-gap:13px!important;
}
.footer-modern.context-dark .vc-compact-contact .form-wrap,
.context-dark .vc-compact-contact .form-wrap{
  margin-top:0!important;
  margin-bottom:0!important;
}
@media(max-width:480px){
  .footer-modern.context-dark h3 + .vc-compact-contact,
  .context-dark h3 + .vc-compact-contact{
    margin-top:11px!important;
  }
}


/* ==========================================================================
   Vercetti 2.14.10 — Contextual Form Toasts
   ========================================================================== */
html.vc-contextual-toast-ready #form-output-global.snackbars{
  display:none!important;
}
.vc-form-toast-stack{
  position:fixed;
  z-index:10090;
  top:20px;
  right:20px;
  display:grid;
  gap:10px;
  width:min(410px,calc(100vw - 32px));
  pointer-events:none;
}
.vc-form-toast{
  --vc-toast-duration:6200ms;
  position:relative;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 30px;
  gap:11px;
  align-items:start;
  overflow:hidden;
  padding:15px 13px 14px 14px;
  border:1px solid #e5e0e8;
  border-radius:14px;
  background:#fff;
  color:#292631;
  box-shadow:0 16px 42px rgba(28,20,35,.18);
  opacity:0;
  transform:translateY(-8px) scale(.985);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:auto;
}
.vc-form-toast.is-visible{opacity:1;transform:translateY(0) scale(1)}
.vc-form-toast-icon{
  display:grid;
  place-items:center;
  width:38px;height:38px;
  border-radius:11px;
  background:#f3e9f7;
  color:#6b0d96;
}
.vc-form-toast-icon svg{width:21px;height:21px;fill:currentColor}
.vc-form-toast.is-error .vc-form-toast-icon{background:#fdecec;color:#b73535}
.vc-form-toast-copy{min-width:0;padding-top:1px}
.vc-form-toast-copy strong{
  display:block;
  margin:0 0 3px;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
  color:inherit;
}
.vc-form-toast-copy p{
  margin:0;
  font-size:12.5px;
  line-height:1.5;
  color:#6f6875;
}
.vc-form-toast-close{
  display:grid;
  place-items:center;
  width:28px;height:28px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#77707c;
  font-size:21px;
  line-height:1;
  cursor:pointer;
}
.vc-form-toast-close:hover,.vc-form-toast-close:focus-visible{
  background:#f3f0f5;color:#3d3542;outline:none
}
.vc-form-toast-progress{
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:#6b0d96;
  transform-origin:left center;
  transform:scaleX(1);
}
.vc-form-toast.is-error .vc-form-toast-progress{background:#b73535}
.vc-form-toast.is-running .vc-form-toast-progress{
  animation:vcToastProgress var(--vc-toast-duration) linear forwards;
}
.vc-form-toast.is-paused .vc-form-toast-progress{animation-play-state:paused}
@keyframes vcToastProgress{to{transform:scaleX(0)}}

html[data-vc-theme="dark"] .vc-form-toast,
html.vc-dark-mode .vc-form-toast,
body.vc-dark-mode .vc-form-toast{
  border-color:#454a59;
  background:#252a39;
  color:#f5f3f7;
  box-shadow:0 18px 46px rgba(0,0,0,.32);
}
html[data-vc-theme="dark"] .vc-form-toast-copy p,
html.vc-dark-mode .vc-form-toast-copy p,
body.vc-dark-mode .vc-form-toast-copy p{color:#c1bdc7}
html[data-vc-theme="dark"] .vc-form-toast-close,
html.vc-dark-mode .vc-form-toast-close,
body.vc-dark-mode .vc-form-toast-close{color:#c8c3cd}

@media(max-width:600px){
  .vc-form-toast-stack{
    top:12px;
    right:12px;
    left:12px;
    width:auto;
  }
  .vc-form-toast{
    grid-template-columns:36px minmax(0,1fr) 28px;
    gap:9px;
    padding:13px 11px 13px 12px;
    border-radius:12px;
  }
  .vc-form-toast-icon{width:34px;height:34px;border-radius:10px}
  .vc-form-toast-copy strong{font-size:13.5px}
  .vc-form-toast-copy p{font-size:12px}
}


/* ==========================================================================
   Vercetti 2.14.11 — Toast positioning
   Desktop: esquina superior derecha, despejado del header.
   Mobile: centrado horizontalmente y bajo el header/safe-area.
   ========================================================================== */

.vc-form-toast-stack{
  --vc-toast-header-offset:72px;
  top:calc(var(--vc-toast-header-offset) + 16px + env(safe-area-inset-top, 0px));
  right:24px;
  left:auto;
  width:min(410px,calc(100vw - 48px));
}

@media(max-width:600px){
  .vc-form-toast-stack{
    --vc-toast-header-offset:56px;
    top:calc(var(--vc-toast-header-offset) + 10px + env(safe-area-inset-top, 0px));
    left:14px;
    right:14px;
    width:auto;
    margin:0 auto;
  }
}

@media(max-width:360px){
  .vc-form-toast-stack{
    left:10px;
    right:10px;
  }
}
