/* JC Modal para Contact Form 7 1.3.0 */
.jc-modal-button-wrap { display:flex; margin: 0; max-width:100%; }
.jc-modal-button-wrap--izquierda { justify-content:flex-start; }
.jc-modal-button-wrap--centro { justify-content:center; }
.jc-modal-button-wrap--derecha { justify-content:flex-end; }
.jc-modal-button-wrap--completo .jc-modal-trigger { width:100%; }
.jc-modal-button-wrap--completo { width:100%; }
.jc-modal-button-wrap .jc-modal-trigger {
  --jc-btn-bg: #f56e28;
  --jc-btn-text: #fff;
  --jc-btn-radius: 8px;
  box-sizing:border-box;
  appearance:none;
  display:inline-flex; align-items:center; justify-content:center;
  gap:.55em; max-width:100%;
  font-family:inherit; font-weight:700; line-height:1.25;
  text-align:center; text-decoration:none;
  padding:13px 23px; border-radius:var(--jc-btn-radius);
  border:2px solid var(--jc-btn-bg);
  background:var(--jc-btn-bg); color:var(--jc-btn-text);
  cursor:pointer; transition:filter .15s ease,transform .15s ease;
  box-shadow:none;
}
.jc-modal-button-wrap .jc-modal-trigger:hover { filter:brightness(.93); transform:translateY(-1px); background:var(--jc-btn-bg); color:var(--jc-btn-text); }
.jc-modal-button-wrap .jc-modal-trigger:focus-visible { outline:3px solid var(--jc-btn-bg); outline-offset:3px; }
.jc-modal-button-wrap .jc-modal-trigger--pequeno { padding:9px 16px; font-size:14px; }
.jc-modal-button-wrap .jc-modal-trigger--normal { font-size:16px; }
.jc-modal-button-wrap .jc-modal-trigger--grande { padding:17px 30px; font-size:18px; }
.jc-modal-button-wrap .jc-modal-trigger--borde { background:transparent; color:var(--jc-btn-bg); }
.jc-modal-button-wrap .jc-modal-trigger--borde:hover { background:transparent; color:var(--jc-btn-bg); }
.jc-modal-button-wrap .jc-modal-trigger--enlace { background:transparent; color:var(--jc-btn-bg); border-color:transparent; padding-inline:0; }
.jc-modal-button-wrap .jc-modal-trigger--enlace:hover { background:transparent; color:var(--jc-btn-bg); }

.jc-modal[hidden] { display:none !important; }
.jc-modal {
  --jc-modal-accent:#f56e28;
  position:fixed !important; inset:0 !important; z-index:2147483000 !important;
  display:flex; align-items:center; justify-content:center;
  overflow-x:hidden; overflow-y:auto;
  padding:clamp(12px,4vw,32px);
  overscroll-behavior:contain;
  background:rgba(19,26,35,.68);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  box-sizing:border-box;
}
.jc-modal *, .jc-modal *::before, .jc-modal *::after { box-sizing:border-box; }
.jc-modal__panel {
  position:relative; width:100%; max-width:600px;
  flex:0 1 600px; margin:auto;
  max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px);
  overflow:auto; background:#fff; color:#242935;
  border-radius:18px; padding:clamp(24px,4vw,42px);
  box-shadow:0 24px 70px rgba(0,0,0,.2);
}
.jc-modal__title { margin:0 40px 12px 0; color:#232832; font-size:clamp(1.4rem,3vw,2rem); line-height:1.2; }
.jc-modal__intro { margin:0 0 22px; color:#566071; white-space:pre-line; }
.jc-modal__close {
  position:absolute; top:15px; right:15px;
  width:40px; height:40px; display:grid; place-items:center;
  padding:0; border:0; border-radius:50%; background:#f2f3f5; color:#333;
  cursor:pointer;
}
.jc-modal__close:hover { background:#e5e7eb; }
.jc-modal__close:focus-visible,.jc-modal :focus-visible { outline:2px solid var(--jc-modal-accent); outline-offset:3px; }
.jc-modal__form .wpcf7 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.jc-modal__form .wpcf7 textarea,
.jc-modal__form .wpcf7 select { width:100%; max-width:100%; }
.jc-modal__form .wpcf7 input[type="submit"] { background:var(--jc-modal-accent); border-color:var(--jc-modal-accent); color:#fff; cursor:pointer; }
body.jc-modal-is-open { overflow:hidden; }
.jc-modal-error { border-left:3px solid #d63638; padding:8px 12px; background:#fff6f6; }
@media (prefers-reduced-motion:no-preference) {
  .jc-modal__panel { animation:jc-modal-enter .18s ease-out both; }
  @keyframes jc-modal-enter { from {transform:translateY(8px);opacity:.85;} to {transform:translateY(0);opacity:1;} }
}

/* 1.3.0: selected icon next to button label. No third-party icon library. */
.jc-modal-button-wrap .jc-modal-trigger__icon {
  display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 auto; line-height:1;
}
.jc-modal-button-wrap .jc-modal-trigger__svg { width:1.2em; height:1.2em; display:block; }
.jc-modal-button-wrap .jc-modal-trigger__text { min-width:0; }
/* The maximum panel width is configured independently from the button width. */
.jc-modal .jc-modal__panel {
  flex:0 1 var(--jc-modal-width,600px);
  max-width:var(--jc-modal-width,600px);
}
