.tsm-wrap {
  --tsm-blue: var(--tsm-module-accent, #174e7a);
  --tsm-button: var(--tsm-module-button-bg, var(--tsm-blue));
  --tsm-button-text: var(--tsm-module-button-text, #fff);
  --tsm-field-bg: var(--tsm-module-field-bg, #fff);
  --tsm-border: var(--tsm-module-field-border, #d7d7d7);
  --tsm-radius: var(--tsm-module-field-radius, 2px);
  --tsm-section-spacing: var(--tsm-module-section-spacing, 42px);
  max-width: 100%; margin: 0; color: #222;
}
.tsm-divi-module > .tsm-wrap { max-width: none; }
.tsm-form section { margin: 0 0 var(--tsm-section-spacing); }
.tsm-form h2 { margin: 0 0 15px; font-size: 25px; line-height: 1.25; }
.tsm-form h3 { margin: 34px 0 14px; font-size: 22px; }
.tsm-form h4 { margin: 18px 0 4px; }
.tsm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 18px; }
.tsm-grid label, .tsm-title-row, #tsm-custom label { display: flex; flex-direction: column; gap: 5px; }
.tsm-grid label > span, .tsm-title-row > span, #tsm-custom label > span { font-size: 14px; color: #333; }
.tsm-grid input, .tsm-grid select, .tsm-title-row input, #tsm-custom textarea {
  box-sizing: border-box; width: 100%; min-height: var(--tsm-module-field-height, 46px);
  padding: 10px 12px; border: 1px solid var(--tsm-border); border-radius: var(--tsm-radius);
  background: var(--tsm-field-bg); font: inherit;
}
.tsm-options { display: grid; gap: 8px; margin: 10px 0 18px; }
.tsm-two { grid-template-columns: 1fr 1fr; }
.tsm-three { grid-template-columns: repeat(3, 1fr); }
#tsm-media { grid-template-columns: repeat(var(--tsm-module-media-columns, 1), minmax(0, 1fr)); gap: var(--tsm-module-media-gap, 8px); }
.tsm-card {
  display: block; box-sizing: border-box; padding: var(--tsm-module-card-padding, 14px);
  border: 1px solid var(--tsm-module-card-border, #d7d7d7); border-radius: var(--tsm-module-card-radius, 2px);
  background: var(--tsm-module-card-bg, #fff); cursor: pointer;
}
.tsm-card:hover { border-color: var(--tsm-blue); }
.tsm-card input { margin-right: 7px; }
.tsm-card small { display: block; margin: 4px 0 0 var(--tsm-module-description-indent, 25px); color: #6c757d; font-size: 12px; line-height: 1.4; }
.tsm-title-row { margin: 0 0 11px; }
.tsm-title-row small, #tsm-custom small { text-align: right; color: #6c757d; }
.tsm-title-row.is-hidden { display: none; }
.tsm-help, .tsm-required { color: #6c757d; font-size: 14px; line-height: 1.5; }
.tsm-notice { padding: 13px 15px; margin: 17px 0; background: #eaf4fb; border-left: 4px solid var(--tsm-blue); }
.tsm-ajax-message { margin-top: 0; }
.tsm-success { background: #e9f7ed; border-color: #21843d; }
.tsm-error { background: #fff0f0; border-color: #b42318; }
.tsm-invalid { border-color: #b42318 !important; box-shadow: 0 0 0 2px rgba(180,35,24,.14) !important; }
.tsm-secondary, .tsm-remove { padding: 9px 13px; background: #fff; border: 1px solid var(--tsm-blue); border-radius: var(--tsm-radius); color: var(--tsm-blue); cursor: pointer; }
.tsm-remove { margin-top: 12px; border-color: #8b2c2c; color: #8b2c2c; }
.tsm-person { padding: 0; margin-bottom: 25px; background: transparent; }
.tsm-submit { float: right; padding: 12px 20px; border: 0; border-radius: var(--tsm-radius); background: var(--tsm-button); color: var(--tsm-button-text); font: 600 16px/1.2 inherit; cursor: pointer; }
.tsm-submit:hover { filter: brightness(.9); }
.tsm-submit:disabled { opacity: .65; cursor: wait; }
.tsm-required { clear: both; padding-top: 10px; }
.tsm-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.tsm-span-2 { grid-column: 1/-1; }
@media (max-width: 760px) {
  .tsm-grid, .tsm-two, .tsm-three, #tsm-media { grid-template-columns: 1fr; }
  .tsm-grid > span { display: none; }
  .tsm-form h2 { font-size: 23px; }
  .tsm-submit { float: none; width: 100%; }
}
