/* Ergänzungen zum übernommenen Theme (Header-Platzhalter, Karte, Formular, Cookie-Banner) */
.tm-header-placeholder { pointer-events: none; }

/* Karte */
.tm-map { z-index: 0; }
.tm-map .leaflet-popup-content { margin: 15px 20px; }
.tm-map .leaflet-container { font: inherit; }

/* Formular (Optik wie das bisherige Kontaktformular) */
.tm-form { --tm-form-color: #28265b; color: var(--tm-form-color); }
.tm-form .tm-field { margin-bottom: 20px; }
.tm-form .tm-label { display: block; font-weight: 700; font-size: 14px; line-height: 20px; margin-bottom: 10px; color: var(--tm-form-color); }
.tm-form .tm-req { margin-left: 6px; font-size: 12px; vertical-align: top; }
form.tm-form input.tm-input, form.tm-form textarea.tm-input { width: 100%; box-sizing: border-box; border: 1px solid var(--tm-form-color); background: #fff; color: #333; height: 44px; padding: 8px 12px; font: inherit; font-size: 16px; border-radius: 0; outline: none; transition: box-shadow .2s; }
form.tm-form textarea.tm-input { height: 150px; resize: vertical; }
form.tm-form .tm-input:focus { box-shadow: 0 0 0 2px rgba(40, 38, 91, .25); }
form.tm-form .tm-field.tm-error .tm-input { border-color: #d95e60; }
.tm-form .tm-check { display: flex; gap: 20px; align-items: flex-start; cursor: pointer; }
.tm-form .tm-check input { flex: 0 0 auto; width: 30px; height: 30px; margin: 0; background: #ececec; border: 1px solid #e3e3e3; appearance: none; -webkit-appearance: none; cursor: pointer; position: relative; }
.tm-form .tm-check input:checked { background: var(--tm-form-color); border-color: var(--tm-form-color); }
.tm-form .tm-check input:checked::after { content: ""; position: absolute; left: 10px; top: 4px; width: 7px; height: 14px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.tm-form .tm-check-text { font-weight: 700; font-size: 14px; line-height: 28px; color: var(--tm-form-color); }
.tm-form .tm-check-text a { color: var(--tm-form-color); text-decoration: underline; }
.tm-form .tm-submit { display: inline-flex; align-items: center; gap: 10px; background: #28265b; color: #fff; border: 0; padding: 14px 60px; font: inherit; font-size: 18px; line-height: 18px; font-weight: 700; cursor: pointer; transition: background .2s; text-transform: none; letter-spacing: 0; }
.tm-form .tm-submit:hover { background: #212121; }
.tm-form .tm-submit[disabled] { opacity: .6; cursor: wait; }
.tm-form .tm-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.tm-form-msg { padding: 15px 20px; margin-bottom: 25px; border-left: 4px solid; }
.tm-form-msg.ok { background: #edf9f3; border-color: #4bc78f; color: #1d6b48; }
.tm-form-msg.err { background: #fdf0f0; border-color: #d95e60; color: #8a2b2d; }
.tm-form .tm-field-err { color: #d95e60; font-size: 13px; margin-top: 5px; }

/* Cookie-Banner */
.tm-cookie-banner { z-index: 1000; }


/* verschleierte E-Mail */
.js-mail-t { unicode-bidi: plaintext; }
