/* Global iframe page modal -------------------------------------------------- */
.job50-page-modal.modal{
  display:none;
  width:min(760px, calc(100vw - 40px));
  max-width:760px;
  padding:0;
  border-radius:28px;
  background:#fff;
  color:#333;
  box-shadow:0 28px 90px rgba(18, 25, 38, .20);
  overflow:hidden;
}

.job50-page-modal.modal .close-modal,
.jquery-modal .job50-page-modal.modal .close-modal{
  display:none !important;
}

.job50-page-modal[hidden]{
  display:none !important;
}

.job50-page-modal__shell{
  display:flex;
  flex-direction:column;
  width:100%;
  height:min(82svh, 760px);
  min-height:420px;
  background:#fff;
}

.job50-page-modal__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:24px 28px 18px;
  border-bottom:1px solid #eeeeef;
}

.job50-page-modal__eyebrow{
  margin:0 0 5px;
  font-family:var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif);
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--wp--preset--color--accent-1, var(--j50-red, #ed1c24));
}

.job50-page-modal__title{
  margin:0;
  font-family:var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif);
  font-size:clamp(1.9rem, 3vw, 2.65rem);
  line-height:.95;
  font-weight:800;
  letter-spacing:-.055em;
  text-transform:none;
  color:#333333;
}

.job50-page-modal__close{
  flex:0 0 auto;
  appearance:none;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:999px;
  background:#f7f7f8;
  color:#333;
  cursor:pointer;
  font-size:0;
  line-height:1;
  box-shadow:none;
}

.job50-page-modal__close .material-symbols-outlined{
  display:block;
  width:24px;
  height:24px;
  font-size:24px;
  line-height:1;
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
}

.job50-page-modal__close:hover,
.job50-page-modal__close:focus-visible{
  background:#eeeeef;
  outline:none;
}

.job50-page-modal__body{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  background:#fff;
}

.job50-page-modal__loader{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  font-family:var(--j50-font-display, "Google Sans Flex", Inter, system-ui, sans-serif);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8b8791;
  background:#fff;
  transition:opacity .18s ease, visibility .18s ease;
}

.job50-page-modal.is-loaded .job50-page-modal__loader{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.job50-page-modal__iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
}

.job50-page-modal--fallback{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100vw;
  max-width:none;
  padding:20px;
  border-radius:0;
  background:rgba(17, 24, 39, .38);
  box-shadow:none;
}

.job50-page-modal--fallback .job50-page-modal__shell{
  width:min(760px, calc(100vw - 40px));
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 28px 90px rgba(18, 25, 38, .20);
}

body.job50-page-modal-open{
  overflow:hidden !important;
}

@media (max-width: 700px){
  .job50-page-modal.modal{
    width:calc(100vw - 18px);
    max-width:none;
    border-radius:20px;
  }

  .job50-page-modal__shell{
    height:calc(100svh - 18px);
    min-height:0;
  }

  .job50-page-modal__header{
    padding:18px 18px 14px;
  }

  .job50-page-modal__title{
    font-size:2rem;
  }

  .job50-page-modal__close{
    width:44px;
    height:44px;
  }

  .job50-page-modal--fallback{
    padding:9px;
  }

  .job50-page-modal--fallback .job50-page-modal__shell{
    width:calc(100vw - 18px);
    height:calc(100svh - 18px);
    border-radius:20px;
  }
}
