#TB_window {
  background-color: var(--wp--preset--color--light-grey);
  max-width: 760px;
}
#TB_title {
  height: 75px !important;
  width: 100%;
  display: flex;
  border-bottom: unset !important;
  background: transparent !important;
  padding-right: 24px !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  justify-content: end !important;
}
#TB_closeWindowButton {
position: relative !important;
}
#TB_ajaxContent {
  padding: 0;
  height: auto !important;
  width: 100% !important;
  max-width: 100%;
  overflow-y: auto;
  scrollbar-color: var(--wp--preset--color--primary) var(--wp--preset--color--light-grey);
  scrollbar-width: thin;
  padding-top: 0 !important;
}
.tb-close-icon::before {
  color: var(--wp--preset--color--black);
  font-size: 1.5rem;
}

#TB_closeWindowButton:focus .tb-close-icon {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
#TB_closeWindowButton:focus, #TB_closeWindowButton:hover {
  background-color: transparent !important;
}

#TB_ajaxContent{
    padding: 0px 32px 40px 40px !important;
}
#TB_window {
  transform: translate(-50%,-50%);
  margin: 0 !important;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  top: 48%;
}

/* === Get in touch form === */

.contact-form-success,
.contact-form-failed,
.contact-form-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  text-align: center;
  align-items: center;
  gap: var(--wp--preset--spacing--12);
}
.contact-form-7-wrapper {
  width: 100%;
}
#ccontact-overlay-wrapper p.has-large-font-size {
  max-width: 34ch;
  margin-bottom: var(--wp--preset--spacing--12);
}
#ccontact-overlay-wrapper p.has-tiny-font-size {
  color: rgba(0,0,0,0.80);
}
#ccontact-overlay-wrapper p.has-tiny-font-size a {
  color: inherit;
  text-decoration: underline;
}
#ccontact-overlay-wrapper a.wp-element-button {
  margin: var(--wp--preset--spacing--16) 0;
}
/* Overlay Form */
.overlay-heading {
    justify-content: center;
    display: flex;
    flex-direction: column;
    padding-bottom: 32px;
}
.overlay-title{
    font-weight: 700 !important;
    margin: 0 !important;
    font-size: 28px;
    justify-content: center;
    display: flex;
    text-align: center;
}
.overlay-subtitle{
    font-size: 18px;
    justify-content: center;
    display: flex;
    text-align: center;
}

/* =========================================
   Thickbox CF7 message states
========================================= */

.message-wrapper {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  box-sizing: border-box;
}

.message-wrapper h2 {
  margin: 0 0 12px;
  font-size: 29px;
  font-weight: 700;
  color: #2d3047;
}

.message-wrapper p {
  margin: 0 auto 40px;
  font-size: 18px;
  color: #4f5266;
}

.message-wrapper p.message-small {
  margin-top: 12px;
  margin-bottom: 12px;
  font-size: 16px;
  color: #4f5266;
}

.message-wrapper strong {
  font-weight: 700;
  color: #2d3047;
  word-break: break-word;
}

.cf7-state-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 40px;
  color: #9fd6e2;
}

.cf7-state-icon-success svg {
  display: block;
  width: 54px;
  height: 54px;
  margin: 0 auto;
}

.cf7-spinner-circle {
  display: block;
  width: 54px;
  height: 54px;
  border: 3px solid rgba(159, 214, 226, 0.28);
  border-top-color: #9fd6e2;
  border-radius: 50%;
  box-sizing: border-box;
  animation: cf7Spin 0.9s linear infinite;
}

@keyframes cf7Spin {
  100% {
    transform: rotate(360deg);
  }
}

.cf7-message-button,
.cf7-message-link {
  border: 0;
  background: none;
  font-family: inherit;
  cursor: pointer;
}

.cf7-message-button {
  display: inline-block;
  min-width: 164px;
  padding: 16px 26px;
  margin-top: 18px;
  background: #b8e3ec;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.03em;
  transition: background 0.2s ease;
}

.cf7-message-button:hover {
  background: #9fd6e2;
}

.cf7-message-link {
  padding: 0;
  color: #7fcfe1;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  text-decoration: none;
}

.cf7-message-link:hover {
  color: #4f5266 !important;
  text-decoration: underline !important;
  background: transparent !important;
}

.message-wrapper-error h2 {
  margin-bottom: 12px;
}

.message-wrapper-error p {
  max-width: 430px;
}

#TB_ajaxContent .wpcf7 form {
  margin-bottom: 0;
}

.cf7-state-icon-loading {
  width: 64px;
  height: 64px;
  margin: 0 auto 26px;
}

.cf7-loading-svg {
  display: block;
  width: 64px;
  height: 64px;
  animation: cf7Rotate 1s linear infinite;
  transform-origin: center center;
}
.message-wrapper .cf7-message-button:hover,
.message-wrapper .cf7-message-link:hover {
    background: #2d3645;
    color: #fff;
    border-color: #2d3645;
    transition: all 0.3s ease;
}
.pf-form-col:has(.wpcf7-submit) {
    padding-top: 40px !important;
}

#TB_ajaxContent .wpcf7-response-output {
    display: none !important;
}

@keyframes cf7Rotate {
  100% {
    transform: rotate(360deg);
  }
}

@media (max-width: 767px) {
  #TB_ajaxContent {
    padding: 0 16px 30px !important;
  }
  .overlay-heading{
    padding: unset !important;
  }
  .message-wrapper {
    max-width: 100%;
    padding: 16px 0 8px;
  }

  .message-wrapper h2 {
    font-size: 18px;
  }

  .message-wrapper p {
    font-size: 15px;
  }

  .cf7-message-button {
    min-width: 150px;
    padding: 14px 20px;
    font-size: 13px;
  }

  .cf7-state-icon,
  .cf7-spinner-circle,
  .cf7-state-icon-success svg {
    width: 46px;
    height: 46px;
  }
  .pf-form-row{
    margin: 0;
  }
  #TB_window{
    max-width: 100vw;
    max-height: 100vh;
  }

}