.tlwn-form-wrap {
  --tlwn-accent: #111111;
  --tlwn-button-bg: #111111;
  --tlwn-button-color: #ffffff;
  --tlwn-input-bg: #ffffff;
  --tlwn-input-color: #222222;
  --tlwn-border: #d8d8d8;
  --tlwn-radius: 6px;
  --tlwn-gap: 12px;
  width: 100%;
  box-sizing: border-box;
}
.tlwn-form-wrap .tlwn-form { position: relative; margin: 0; }
.tlwn-form-wrap .tlwn-fields { display: flex; flex-wrap: wrap; gap: var(--tlwn-gap); }
.tlwn-form-wrap .tlwn-field {
  flex: 0 0 calc(var(--tlwn-width, 100%) - var(--tlwn-gap) * (1 - var(--tlwn-ratio, 1)));
  min-width: 0;
  box-sizing: border-box;
}
.tlwn-form-wrap .tlwn-field > label:not(.tlwn-choice),
.tlwn-form-wrap .tlwn-field legend { display: block; margin: 0 0 6px; font-weight: 600; }
.tlwn-form-wrap .tlwn-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.tlwn-form-wrap .tlwn-field textarea,
.tlwn-form-wrap .tlwn-field select {
  width: 100%; max-width: 100%; box-sizing: border-box;
  background: var(--tlwn-input-bg) !important;
  color: var(--tlwn-input-color) !important;
  border: 1px solid var(--tlwn-border) !important;
  border-radius: var(--tlwn-radius) !important;
  padding: 11px 12px; min-height: 44px; margin: 0;
}
.tlwn-form-wrap .tlwn-field textarea { min-height: 100px; resize: vertical; }
.tlwn-form-wrap .tlwn-field input:focus-visible,
.tlwn-form-wrap .tlwn-field textarea:focus-visible,
.tlwn-form-wrap .tlwn-field select:focus-visible { outline: 2px solid var(--tlwn-accent); outline-offset: 2px; }
.tlwn-form-wrap .tlwn-field fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.tlwn-form-wrap .tlwn-choice { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 6px; font-weight: normal; }
.tlwn-form-wrap .tlwn-choice input[type=checkbox],
.tlwn-form-wrap .tlwn-choice input[type=radio] { flex: 0 0 auto; width: 16px; height: 16px; min-height: 0; margin: 3px 0 0; accent-color: var(--tlwn-accent); }
.tlwn-form-wrap .tlwn-submit,
.tlwn-form-wrap .tlwn-submit:hover,
.tlwn-form-wrap .tlwn-submit:focus {
  margin-top: var(--tlwn-gap); border: 0 !important;
  border-radius: var(--tlwn-radius) !important;
  padding: 12px 22px;
  background: var(--tlwn-button-bg) !important;
  color: var(--tlwn-button-color) !important;
  font-weight: 700; cursor: pointer; text-transform: none;
}
.tlwn-form-wrap .tlwn-submit span { color: inherit; }
.tlwn-form-wrap .tlwn-submit:disabled { opacity: .55; cursor: wait; }
.tlwn-form-wrap .tlwn-response { margin-top: 10px; }
.tlwn-form-wrap .tlwn-response.is-success { color: #15803d; }
.tlwn-form-wrap .tlwn-response.is-error { color: #b91c1c; }
.tlwn-form-wrap .tlwn-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.tlwn-form-wrap .tlwn-privacy { font-size: 12px; }
.tlwn-form-wrap .tlwn-field[hidden] { display: none !important; }
.tlwn-form-shell[data-display=inline] { position: relative; }
.tlwn-form-shell:not([data-display=inline]) { position: fixed; z-index: 999999; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s; }
.tlwn-form-shell:not([data-display=inline]).is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.tlwn-display-popup,.tlwn-display-exit { inset: 0; background: rgba(0,0,0,.55); display: grid; place-items: center; padding: 20px; }
.tlwn-display-popup .tlwn-form-wrap,.tlwn-display-exit .tlwn-form-wrap { max-width: 560px; background: #fff; padding: 28px; border-radius: 10px; max-height: 90vh; overflow: auto; }
.tlwn-display-slidein { right: 20px; bottom: 20px; max-width: 420px; background: #fff; padding: 24px; border-radius: 10px; box-shadow: 0 18px 60px rgba(0,0,0,.25); transform: translateY(30px); }
.tlwn-display-slidein.is-open { transform: none; }
.tlwn-close { position: absolute; z-index: 2; right: 12px; top: 8px; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; }
[dir=rtl] .tlwn-close { right: auto; left: 12px; }
@media(max-width:600px) {
  .tlwn-form-wrap .tlwn-field { flex-basis: 100%; }
  .tlwn-display-slidein { left: 12px; right: 12px; bottom: 12px; max-width: none; }
}
