.tm-message-form-wrap {
  width: min(820px, 100%);
  background: #fff;
  border-radius: 28px;
  padding: clamp(22px, 4vw, 36px);
  box-shadow: 0 16px 48px rgba(17,17,17,.08);
}

.tm-message-form-wrap h2 {
  margin: 0 0 18px;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.tm-message-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.tm-message-form label {
  display: grid;
  gap: 7px;
  font-weight: 800;
}

.tm-message-form input,
.tm-message-form select,
.tm-message-form textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(17,17,17,.16);
  border-radius: 14px;
  padding: 10px 13px;
  font: inherit;
  background: #fff;
}

.tm-message-full {
  grid-column: 1 / -1;
}

.tm-message-check {
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 10px;
  font-weight: 600 !important;
}

.tm-message-check input {
  width: auto;
  min-height: auto;
  margin-top: 5px;
}

.tm-message-hp {
  position: absolute;
  left: -9999px;
  opacity: 0;
  pointer-events: none;
}

.tm-message-submit {
  margin-top: 18px;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 900;
  padding: 12px 24px;
  cursor: pointer;
}

.tm-message-notice {
  border-radius: 16px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-weight: 700;
}

.tm-message-notice--success {
  background: #eef7ee;
  border: 1px solid #8ccf8c;
}

.tm-message-notice--error {
  background: #fff0f0;
  border: 1px solid #d63638;
}

@media (max-width: 640px) {
  .tm-message-grid {
    grid-template-columns: 1fr;
  }
}


/* v1.1 speaker-page minimal request form */
.tm-speaker-request-form-wrap {
  margin-top: 48px;
}

.tm-speaker-request-for {
  margin: -8px 0 18px;
  color: rgba(17,17,17,.72);
  font-size: 1.05rem;
}

.tm-speaker-request-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tm-speaker-request-form .tm-message-submit {
  margin-top: 20px;
}

@media (max-width: 820px) {
  .tm-speaker-request-grid {
    grid-template-columns: 1fr;
  }
}






/* v1.5: form is inserted inside tm-profile-content before speaker layout is built */
.single-talare .tm-profile-content .tm-speaker-request-form-wrap,
body.single-talare .tm-profile-content .tm-speaker-request-form-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 48px 0 0 0 !important;
  box-sizing: border-box !important;
}

.single-talare .tm-profile-content .tm-speaker-request-grid,
body.single-talare .tm-profile-content .tm-speaker-request-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Fallback if another theme/plugin still places the form outside profile content */
.single-talare .tm-speaker-profile + .tm-speaker-request-form-wrap,
body.single-talare .tm-speaker-profile + .tm-speaker-request-form-wrap {
  width: min(780px, calc(100% - 32px)) !important;
  max-width: 780px !important;
  margin: 48px auto 0 !important;
}

@media (max-width: 820px) {
  .single-talare .tm-profile-content .tm-speaker-request-grid,
  body.single-talare .tm-profile-content .tm-speaker-request-grid {
    grid-template-columns: 1fr !important;
  }

  .single-talare .tm-speaker-profile + .tm-speaker-request-form-wrap,
  body.single-talare .tm-speaker-profile + .tm-speaker-request-form-wrap {
    width: min(100% - 24px, 780px) !important;
    margin-top: 36px !important;
  }
}


/* v1.7 compact speaker request form spacing */
.single-talare .tm-speaker-request-form-wrap,
body.single-talare .tm-speaker-request-form-wrap {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.single-talare .tm-speaker-request-form-wrap h2,
body.single-talare .tm-speaker-request-form-wrap h2 {
  margin: 0 0 10px !important;
  font-size: clamp(1.55rem, 3vw, 2.25rem) !important;
  line-height: 1.05 !important;
}

.single-talare .tm-speaker-request-for,
body.single-talare .tm-speaker-request-for {
  margin: 0 0 14px !important;
  line-height: 1.35 !important;
}

.single-talare .tm-speaker-request-form .tm-message-grid,
body.single-talare .tm-speaker-request-form .tm-message-grid {
  gap: 12px !important;
}

.single-talare .tm-speaker-request-form .tm-message-check,
body.single-talare .tm-speaker-request-form .tm-message-check {
  margin-top: 2px !important;
}

.single-talare .tm-speaker-request-form .tm-message-submit,
body.single-talare .tm-speaker-request-form .tm-message-submit {
  margin-top: 14px !important;
}

@media (max-width: 820px) {
  .single-talare .tm-speaker-request-form-wrap,
  body.single-talare .tm-speaker-request-form-wrap {
    padding: 20px !important;
  }
}


/* v1.8 prefilled speaker on contact form */
.tm-message-selected-speaker {
  margin: -6px 0 18px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(196,154,90,.12);
  color: #111;
  font-weight: 700;
}


/* v1.9 more spacing below contact form heading */
body:not(.single-talare) .tm-message-form-wrap:not(.tm-speaker-request-form-wrap) h2 {
  margin-bottom: 30px !important;
}

body:not(.single-talare) .tm-message-form-wrap:not(.tm-speaker-request-form-wrap) .tm-message-selected-speaker {
  margin-top: -12px !important;
  margin-bottom: 22px !important;
}


/* v2.0 Cloudflare Turnstile */
.tm-turnstile-wrap {
  grid-column: 1 / -1;
  margin-top: 8px;
  min-height: 65px;
}

.tm-speaker-request-form .tm-turnstile-wrap {
  margin-top: 4px;
}

@media (max-width: 640px) {
  .tm-turnstile-wrap {
    overflow-x: auto;
  }
}
