/* TB Profi-Ticketsystem – bewusst stark gekapselt für Divi 4/5 und Fremd-Themes. */
.tbpt-wrap{
  --tbpt-accent:#d65a1f;
  --tbpt-ink:#162033;
  --tbpt-muted:#64748b;
  --tbpt-line:#dce3ec;
  --tbpt-soft:#f6f8fb;
  width:100%;
  max-width:1100px;
  margin:34px auto;
  padding:0;
  position:relative;
  isolation:isolate;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.5;
  color:var(--tbpt-ink);
  text-align:left;
}
.tbpt-wrap,.tbpt-wrap *,.tbpt-wrap *::before,.tbpt-wrap *::after{box-sizing:border-box}
.tbpt-wrap *{min-width:0}
.tbpt-card{
  width:100%;
  margin:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #e1e7ef;
  border-radius:22px;
  box-shadow:0 22px 65px rgba(15,23,42,.12);
}
.tbpt-card__head{
  position:relative;
  padding:38px 42px 34px;
  overflow:hidden;
  background:linear-gradient(135deg,#111827 0%,#243247 65%,#314158 100%);
  border-top:6px solid var(--tbpt-accent);
  color:#fff;
}
.tbpt-card__head::after{
  content:"";
  position:absolute;
  right:-55px;
  bottom:-95px;
  width:250px;
  height:250px;
  border:42px solid rgba(255,255,255,.045);
  border-radius:50%;
  pointer-events:none;
}
.tbpt-card__head h2{
  position:relative;
  z-index:1;
  margin:6px 0 9px!important;
  padding:0!important;
  border:0!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:clamp(29px,4vw,39px)!important;
  font-weight:800!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}
.tbpt-card__head p{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0!important;
  padding:0!important;
  color:#d8e0eb!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.tbpt-eyebrow{
  position:relative;
  z-index:1;
  display:block;
  margin:0;
  color:#bfc9d8;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.4;
  text-transform:uppercase;
}
.tbpt-form{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0 42px 40px!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.tbpt-form__section{
  margin:0!important;
  padding:34px 0 31px!important;
  border:0!important;
  border-bottom:1px solid #e7ebf1!important;
}
.tbpt-form__section--last{padding-bottom:0!important;border-bottom:0!important}
.tbpt-section-head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin:0 0 24px;
}
.tbpt-section-head__number{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(214,90,31,.24);
  border-radius:12px;
  background:rgba(214,90,31,.08);
  color:var(--tbpt-accent);
  font-size:13px;
  font-weight:850;
  line-height:1;
}
.tbpt-section-head h3{
  margin:0 0 3px!important;
  padding:0!important;
  border:0!important;
  color:#202b3d!important;
  font-family:inherit!important;
  font-size:20px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:-.015em!important;
}
.tbpt-section-head p{
  margin:0!important;
  padding:0!important;
  color:var(--tbpt-muted)!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.tbpt-grid{
  display:grid!important;
  width:100%!important;
  gap:18px 20px!important;
  margin:0 0 20px!important;
  padding:0!important;
}
.tbpt-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tbpt-grid--address{grid-template-columns:minmax(0,2fr) minmax(105px,.7fr) minmax(0,1.3fr)!important}
.tbpt-grid>.tbpt-field{margin:0!important}
.tbpt-field{
  display:block!important;
  width:100%!important;
  margin:0 0 20px!important;
  padding:0!important;
  color:var(--tbpt-ink)!important;
  font-family:inherit!important;
  line-height:1.4!important;
}
.tbpt-field>span{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:#2a364b!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.35!important;
}
.tbpt-field b{color:var(--tbpt-accent)!important;font-weight:850!important}
.tbpt-wrap .tbpt-field input:not([type="checkbox"]):not([type="radio"]),
.tbpt-wrap .tbpt-field select,
.tbpt-wrap .tbpt-field textarea{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:52px!important;
  margin:0!important;
  padding:13px 15px!important;
  border:1px solid #cbd5e1!important;
  border-radius:11px!important;
  outline:0!important;
  background-color:#fff!important;
  background-image:none;
  box-shadow:0 1px 2px rgba(15,23,42,.03)!important;
  color:#172033!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.35!important;
  text-align:left!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
}
.tbpt-wrap .tbpt-field select{
  appearance:none!important;
  -webkit-appearance:none!important;
  padding-right:46px!important;
  background-image:linear-gradient(45deg,transparent 50%,#657389 50%),linear-gradient(135deg,#657389 50%,transparent 50%)!important;
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px!important;
  background-size:6px 6px,6px 6px!important;
  background-repeat:no-repeat!important;
  cursor:pointer!important;
}
.tbpt-wrap .tbpt-field textarea{
  min-height:185px!important;
  resize:vertical!important;
  line-height:1.55!important;
}
.tbpt-wrap .tbpt-field input::placeholder,.tbpt-wrap .tbpt-field textarea::placeholder{color:#8a96a8!important;opacity:1!important}
.tbpt-wrap .tbpt-field input:focus,.tbpt-wrap .tbpt-field select:focus,.tbpt-wrap .tbpt-field textarea:focus{
  border-color:var(--tbpt-accent)!important;
  background-color:#fff!important;
  box-shadow:0 0 0 4px rgba(214,90,31,.13)!important;
}
.tbpt-field small{
  display:block!important;
  margin:6px 1px 0!important;
  padding:0!important;
  color:#7a8798!important;
  font-size:12px!important;
  line-height:1.4!important;
  text-align:right!important;
}
.tbpt-upload{
  position:relative!important;
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
  padding:20px!important;
  overflow:hidden!important;
  border:1px dashed #aab7c8!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  color:#273449!important;
  cursor:pointer!important;
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease!important;
}
.tbpt-upload:hover{border-color:var(--tbpt-accent)!important;background:#fffaf7!important;transform:translateY(-1px)}
.tbpt-upload:focus-within{border-color:var(--tbpt-accent)!important;box-shadow:0 0 0 4px rgba(214,90,31,.13)!important}
.tbpt-upload input[type="file"]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  cursor:pointer!important;
}
.tbpt-upload__icon{
  display:grid!important;
  place-items:center!important;
  width:50px!important;
  height:50px!important;
  border:1px solid #d7dfe9!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--tbpt-accent)!important;
  font-size:27px!important;
  font-weight:400!important;
  line-height:1!important;
}
.tbpt-upload strong{display:block!important;margin:0 0 2px!important;color:#263348!important;font-size:15px!important;line-height:1.35!important}
.tbpt-upload small{display:block!important;margin:0!important;color:#6c788a!important;font-size:12px!important;line-height:1.5!important}
.tbpt-filelist{display:flex!important;flex-wrap:wrap!important;gap:8px!important;min-height:0!important;margin:10px 0 0!important;padding:0!important}
.tbpt-filelist:empty{display:none!important}
.tbpt-filelist span{display:inline-flex!important;max-width:100%!important;padding:7px 10px!important;border:1px solid #dce4ed!important;border-radius:8px!important;background:#eef3f8!important;color:#455468!important;font-size:12px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.tbpt-antispam{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(150px,190px)!important;
  gap:20px!important;
  align-items:end!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:18px 20px!important;
  border:1px solid #d9e1eb!important;
  border-radius:14px!important;
  background:#f7f9fc!important;
}
.tbpt-antispam__question strong,.tbpt-antispam__question span{display:block!important;margin:0!important;padding:0!important}
.tbpt-antispam__question strong{color:#64748b!important;font-size:11px!important;font-weight:850!important;line-height:1.4!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.tbpt-antispam__question span{margin-top:5px!important;color:#172033!important;font-size:20px!important;font-weight:850!important;line-height:1.25!important}
.tbpt-antispam .tbpt-field{margin:0!important}
.tbpt-check{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:17px 18px!important;
  border:1px solid #e0e6ee!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#465468!important;
  font-family:inherit!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.tbpt-wrap .tbpt-check input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  flex:0 0 auto!important;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  accent-color:var(--tbpt-accent)!important;
  box-shadow:none!important;
}
.tbpt-check span{display:block!important;margin:0!important;padding:0!important}
.tbpt-check a{color:var(--tbpt-accent)!important;font-weight:750!important;text-decoration:underline!important;text-underline-offset:2px!important}
.tbpt-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  margin:24px 0 0!important;
  padding:0!important;
}
.tbpt-wrap .tbpt-button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
  min-height:52px!important;
  margin:0!important;
  padding:14px 22px!important;
  border:1px solid var(--tbpt-accent)!important;
  border-radius:11px!important;
  background:var(--tbpt-accent)!important;
  box-shadow:0 9px 22px rgba(214,90,31,.24)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-decoration:none!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  cursor:pointer!important;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}
.tbpt-wrap .tbpt-button:hover,.tbpt-wrap .tbpt-button:focus{background:var(--tbpt-accent)!important;border-color:var(--tbpt-accent)!important;color:#fff!important;transform:translateY(-1px)!important;filter:brightness(.88)!important;box-shadow:0 11px 25px rgba(214,90,31,.28)!important}
.tbpt-wrap .tbpt-button:disabled{opacity:.65!important;cursor:wait!important;transform:none!important}
.tbpt-required{color:#7a8798!important;font-size:12px!important;line-height:1.4!important}
.tbpt-alert{width:100%!important;max-width:1100px!important;margin:0 auto 18px!important;padding:15px 18px!important;border:1px solid!important;border-radius:12px!important;font-family:inherit!important;font-size:14px!important;line-height:1.5!important}
.tbpt-alert--success{background:#ecfdf5!important;border-color:#a7f3d0!important;color:#065f46!important}
.tbpt-alert--error{background:#fef2f2!important;border-color:#fecaca!important;color:#991b1b!important}
.tbpt-alert--warning{background:#fff7ed!important;border-color:#fed7aa!important;color:#9a3412!important}
.tbpt-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media (max-width:820px){
  .tbpt-wrap{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;margin:24px 0 24px 50%!important;transform:translateX(-50%)}
  .tbpt-card{border-radius:18px}
  .tbpt-card__head{padding:31px 28px 28px}
  .tbpt-form{padding:0 28px 30px!important}
  .tbpt-form__section{padding:29px 0 27px!important}
  .tbpt-grid--address{grid-template-columns:minmax(0,1.6fr) minmax(95px,.65fr)!important}
  .tbpt-grid--address .tbpt-field:last-child{grid-column:1/-1!important}
}
@media (max-width:640px){
  .tbpt-wrap{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;margin:18px 0 18px 50%!important;font-size:15px}
  .tbpt-card{border-radius:15px}
  .tbpt-card__head{padding:26px 20px 24px;border-top-width:5px}
  .tbpt-card__head p{font-size:14px!important;line-height:1.55!important}
  .tbpt-form{padding:0 19px 24px!important}
  .tbpt-form__section{padding:25px 0 23px!important}
  .tbpt-section-head{grid-template-columns:36px minmax(0,1fr);gap:11px;margin-bottom:20px}
  .tbpt-section-head__number{width:36px;height:36px;border-radius:10px;font-size:12px}
  .tbpt-section-head h3{font-size:18px!important}
  .tbpt-section-head p{font-size:13px!important}
  .tbpt-grid,.tbpt-grid--2,.tbpt-grid--address{grid-template-columns:1fr!important;gap:17px!important;margin-bottom:17px!important}
  .tbpt-grid--address .tbpt-field:last-child{grid-column:auto!important}
  .tbpt-field{margin-bottom:17px!important}
  .tbpt-wrap .tbpt-field input:not([type="checkbox"]):not([type="radio"]),.tbpt-wrap .tbpt-field select,.tbpt-wrap .tbpt-field textarea{min-height:50px!important;font-size:16px!important}
  .tbpt-wrap .tbpt-field textarea{min-height:170px!important}
  .tbpt-upload{grid-template-columns:43px minmax(0,1fr)!important;gap:13px!important;padding:16px!important}
  .tbpt-upload__icon{width:43px!important;height:43px!important;font-size:24px!important}
  .tbpt-antispam{grid-template-columns:1fr!important;gap:14px!important;padding:16px!important}
  .tbpt-actions{align-items:stretch!important;flex-direction:column!important;gap:12px!important}
  .tbpt-wrap .tbpt-button{width:100%!important}
  .tbpt-required{text-align:center!important}
}
