/* Scoped to the single Contacto form. Native fields remain usable without JavaScript. */
#formulario-contacto form.elementor-form { --pream-ms-purple:#544695; --pream-ms-yellow:#FEC532; }
#formulario-contacto form.elementor-form,
#formulario-contacto form.elementor-form input,
#formulario-contacto form.elementor-form select,
#formulario-contacto form.elementor-form textarea,
#formulario-contacto form.elementor-form button { font-family:"Nunito Sans",sans-serif; }
#formulario-contacto form.elementor-form { max-width:100%; color:#393345; }
#formulario-contacto form.elementor-form .elementor-field-group { min-width:0; }
#formulario-contacto form.elementor-form .elementor-field-label { color:#393345; font-size:16px; font-weight:700; line-height:1.4; }
#formulario-contacto form.elementor-form :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],select,textarea).elementor-field {
  box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:50px; padding:12px 14px; border:1px solid #b7adc9; border-radius:10px; background:#fff; color:#302846; font-family:inherit; font-size:16px; font-weight:400; line-height:1.5; box-shadow:none; transition:border-color .15s ease,box-shadow .15s ease;
}
#formulario-contacto form.elementor-form textarea.elementor-field { min-height:148px; resize:vertical; }
#formulario-contacto form.elementor-form .elementor-field::placeholder { color:#756f80; opacity:1; }
#formulario-contacto form.elementor-form :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],select,textarea).elementor-field:focus {
  border-color:var(--pream-ms-purple); outline:2px solid var(--pream-ms-purple); outline-offset:2px; box-shadow:0 0 0 5px rgb(84 70 149 / 8%);
}
#formulario-contacto form.elementor-form :is(input,select,textarea)[aria-invalid="true"],
#formulario-contacto form.elementor-form :is(input,select,textarea).elementor-error { border-color:#ad3044; }
#formulario-contacto form.elementor-form .elementor-field-type-acceptance .elementor-field-option { display:flex; align-items:flex-start; gap:10px; min-height:44px; max-width:100%; }
#formulario-contacto form.elementor-form .elementor-field-type-acceptance input[type="checkbox"] { flex:0 0 20px; width:20px; height:20px; margin:4px 0 0; accent-color:var(--pream-ms-purple); }
#formulario-contacto form.elementor-form .elementor-field-type-acceptance label { min-width:0; min-height:44px; font-size:14px; font-weight:400; line-height:1.6; color:#514a60; }
#formulario-contacto form.elementor-form .elementor-field-type-acceptance a { color:var(--pream-ms-purple); text-decoration:underline; text-underline-offset:3px; }
#formulario-contacto form.elementor-form .elementor-field-type-acceptance input:focus-visible { outline:3px solid var(--pream-ms-purple); outline-offset:3px; }
#formulario-contacto form.elementor-form button[type="submit"] { min-height:50px; min-width:170px; max-width:100%; padding:13px 24px; border:1px solid transparent; border-radius:26px; background:var(--pream-ms-yellow); color:#302846; font-family:inherit; font-size:16px; font-weight:800; line-height:1.4; box-shadow:0 4px 12px rgb(84 70 149 / 8%); cursor:pointer; transition:background-color .15s ease,box-shadow .15s ease; }
#formulario-contacto form.elementor-form button[type="submit"]:hover { background:#ffd45a; box-shadow:0 5px 16px rgb(84 70 149 / 14%); }
#formulario-contacto form.elementor-form button[type="submit"]:focus-visible { outline:3px solid var(--pream-ms-purple); outline-offset:3px; }
#formulario-contacto form.elementor-form button[type="submit"]:disabled { cursor:wait; opacity:.7; box-shadow:none; }
#formulario-contacto form.elementor-form .elementor-help-inline { display:block; margin-top:6px; color:#ad3044; font-size:14px; line-height:1.45; }
#formulario-contacto form.elementor-form .elementor-message { box-sizing:border-box; max-width:100%; margin:18px 0 0; padding:16px 18px; border:1px solid #cec4e1; border-radius:12px; background:#f7f3ff; color:#40335e; font-family:inherit; font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
#formulario-contacto form.elementor-form .elementor-message-success { border-left:4px solid var(--pream-ms-yellow); background:#f6f2fd; color:#40335e; }
#formulario-contacto form.elementor-form .elementor-message-danger { border-color:#e2adb6; border-left:4px solid #ad3044; background:#fff7f8; color:#7a2432; }
#formulario-contacto form.elementor-form .pream-ms-feedback:before { display:none; }
#formulario-contacto form.elementor-form .pream-ms-feedback-title { display:block; margin:0 0 5px; font-size:17px; font-weight:800; line-height:1.4; }
#formulario-contacto form.elementor-form .pream-ms-feedback:focus { outline:2px solid currentColor; outline-offset:3px; }
#formulario-contacto form.elementor-form .pream-context-note { margin:15px 0 0; color:#71697e; font-size:13px; line-height:1.55; }
#formulario-contacto .pream-ms-enhanced .pream-ms-area,
#formulario-contacto .pream-ms-introduction,
#formulario-contacto .pream-ms-selection { box-sizing:border-box; width:100%; max-width:100%; min-width:0; flex-basis:100%; font-family:"Nunito Sans",sans-serif; }
#formulario-contacto .pream-ms-introduction { margin:10px 0 14px; padding:0 5px; }
#formulario-contacto .pream-ms-title { margin:0 0 7px; color:#302846; font-family:inherit; font-size:clamp(20px,2.3vw,24px); font-weight:800; line-height:1.3; }
#formulario-contacto .pream-ms-hint,
#formulario-contacto .pream-ms-empty { margin:0; color:#625c73; font-size:15px; line-height:1.55; }
#formulario-contacto .pream-ms-enhanced .pream-ms-origin-field,
#formulario-contacto .pream-ms-enhanced .pream-ms-original-heading { display:none!important; }
#formulario-contacto .pream-ms-enhanced .pream-ms-area { display:block; margin-bottom:10px; }
#formulario-contacto .pream-ms-details { box-sizing:border-box; width:100%; max-width:100%; margin:0; border:1px solid #d9d2ec; border-radius:14px; background:#fff; overflow:clip; }
#formulario-contacto .pream-ms-details[open] { border-color:#a99acb; box-shadow:0 4px 18px rgb(84 70 149 / 5%); }
#formulario-contacto .pream-ms-summary { box-sizing:border-box; display:grid; grid-template-columns:24px minmax(0,1fr) auto 12px; align-items:center; gap:12px; min-height:62px; padding:13px 17px; list-style:none; cursor:pointer; color:var(--pream-ms-purple); background:#f9f7fd; font-size:16px; font-weight:800; line-height:1.35; }
#formulario-contacto .pream-ms-summary::-webkit-details-marker { display:none; }
#formulario-contacto .pream-ms-summary svg { width:24px; height:24px; flex-shrink:0; }
#formulario-contacto .pream-ms-area-title { min-width:0; overflow-wrap:anywhere; }
#formulario-contacto .pream-ms-count { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 6px; border-radius:50px; background:#eee9f8; color:var(--pream-ms-purple); font-size:13px; font-weight:800; }
#formulario-contacto .pream-ms-has-selection .pream-ms-count { background:var(--pream-ms-yellow); color:#302846; }
#formulario-contacto .pream-ms-chevron { display:block; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .16s ease; }
#formulario-contacto .pream-ms-details[open] .pream-ms-chevron { transform:rotate(225deg); }
#formulario-contacto .pream-ms-summary:hover { background:#f1edf9; }
#formulario-contacto .pream-ms-summary:focus-visible,
#formulario-contacto .pream-ms-chip:focus-visible { outline:3px solid var(--pream-ms-purple); outline-offset:-4px; }
#formulario-contacto .pream-ms-fieldset { box-sizing:border-box; min-inline-size:0; width:100%; max-width:100%; padding:14px; margin:0; border:0; }
#formulario-contacto .pream-ms-fieldset .elementor-field-subgroup { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; max-width:100%; }
#formulario-contacto .pream-ms-fieldset .elementor-field-option { box-sizing:border-box; display:flex!important; align-items:center; gap:8px; width:100%; max-width:100%; min-width:0; min-height:48px; padding:2px 10px; margin:0!important; border:1px solid #e4dff0; border-radius:9px; background:#fff; }
#formulario-contacto .pream-ms-fieldset .elementor-field-option.pream-ms-checked { background:#f5f1ff; border-color:#9483bb; box-shadow:inset 3px 0 var(--pream-ms-yellow); }
#formulario-contacto .pream-ms-fieldset input[type="checkbox"] { position:static!important; appearance:auto!important; -webkit-appearance:checkbox!important; display:inline-block!important; opacity:1!important; width:20px!important; height:20px!important; min-width:20px; min-height:20px; margin:0!important; padding:0!important; flex:0 0 20px; accent-color:var(--pream-ms-purple); cursor:pointer; }
#formulario-contacto .pream-ms-fieldset input[type="checkbox"]:focus-visible { outline:3px solid var(--pream-ms-purple); outline-offset:3px; }
#formulario-contacto .pream-ms-fieldset .elementor-field-option label { box-sizing:border-box; display:flex; align-items:center; flex:1 1 auto; min-width:0; min-height:44px; margin:0!important; padding:7px 0!important; color:#393345; font-family:inherit; font-size:15px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; cursor:pointer; }
#formulario-contacto .pream-ms-selection { padding:4px 5px 18px; }
#formulario-contacto .pream-ms-selection-title { margin:0 0 8px; color:#544695; font-size:14px; font-weight:800; }
#formulario-contacto .pream-ms-chips { display:flex; flex-wrap:wrap; gap:8px; max-width:100%; }
#formulario-contacto .pream-ms-chip { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:space-between; gap:10px; max-width:100%; min-height:44px; padding:8px 13px; border:1px solid #b6a7d7; border-radius:24px; background:#f4effd; color:var(--pream-ms-purple); font-family:inherit; font-size:14px; font-weight:700; line-height:1.4; text-align:left; cursor:pointer; }
#formulario-contacto .pream-ms-chip > span:first-child { min-width:0; overflow-wrap:anywhere; }
#formulario-contacto .pream-ms-chip:hover { border-color:var(--pream-ms-purple); background:#ebe3fa; }
#formulario-contacto .pream-ms-chip-cross { flex:0 0 auto; font-size:23px; line-height:1; font-weight:400; }
#formulario-contacto .pream-ms-empty[hidden] { display:none; }
#formulario-contacto .pream-ms-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media(max-width:699px) {
  #formulario-contacto form.elementor-form .elementor-field-group:not(.elementor-field-type-hidden) { width:100%; flex-basis:100%; }
  #formulario-contacto form.elementor-form button[type="submit"] { width:100%; }
  #formulario-contacto .pream-ms-fieldset .elementor-field-subgroup { grid-template-columns:minmax(0,1fr); }
  #formulario-contacto .pream-ms-summary { gap:9px; padding:13px 12px; font-size:16px; }
  #formulario-contacto .pream-ms-fieldset { padding:10px; }
}
@media(prefers-reduced-motion:reduce) {
  #formulario-contacto .pream-ms-chevron { transition:none; }
  #formulario-contacto form.elementor-form :is(input,select,textarea,button) { transition:none!important; }
}
@media(forced-colors:active) {
  #formulario-contacto .pream-ms-details,
  #formulario-contacto .pream-ms-chip,
  #formulario-contacto .pream-ms-fieldset .elementor-field-option { border-color:ButtonText; }
  #formulario-contacto .pream-ms-has-selection .pream-ms-count { outline:1px solid ButtonText; }
}
