/* Ergaenzungen zum uebernommenen Jimdo-Layout:
   Hintergrundbild (setzte Jimdo per JS), Lightbox und Formular-Feedback. */

/* --- Header-Bild ---
   Jimdo setzte das Bild per JS auf .jtpl-header (background-area="stripe").
   Die konkrete Datei kommt pro Seite aus einem <style> im <head>;
   .jtpl-header{min-height:450px} steht bereits in layout.css.
   Der Fullscreen-Layer blieb leer (bgFullscreen: null). */
.jtpl-header {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #2b2b2b;
}

/* --- Honeypot: fuer Menschen unsichtbar, Bots fuellen ihn aus --- */
.tp-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px;
  overflow: hidden;
}

/* --- Lightbox (ersetzt Jimdos Galerie-Overlay) --- */
.tp-lb {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0, 0, 0, .9);
  opacity: 0; visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}
.tp-lb.is-open { opacity: 1; visibility: visible; }
.tp-lb__img {
  max-width: 92vw; max-height: 88vh;
  object-fit: contain;
  box-shadow: 0 4px 40px rgba(0, 0, 0, .6);
}
.tp-lb__btn {
  position: absolute;
  background: none; border: 0; cursor: pointer;
  color: #fff; font-size: 40px; line-height: 1;
  padding: 16px;
  opacity: .75; transition: opacity .15s ease;
  font-family: "Noto Sans", Helvetica, Arial, sans-serif;
}
.tp-lb__btn:hover, .tp-lb__btn:focus { opacity: 1; }
.tp-lb__btn:focus-visible { outline: 2px solid #6592a7; outline-offset: 2px; }
.tp-lb__close { top: 4px; right: 8px; font-size: 44px; }
.tp-lb__prev { left: 4px; top: 50%; transform: translateY(-50%); }
.tp-lb__next { right: 4px; top: 50%; transform: translateY(-50%); }
.tp-lb__count {
  position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%);
  color: #fff; opacity: .7; font-size: 14px;
  font-family: "Noto Sans", Helvetica, Arial, sans-serif;
}
.tp-lb__single .tp-lb__prev,
.tp-lb__single .tp-lb__next,
.tp-lb__single .tp-lb__count { display: none; }
@media (max-width: 640px) {
  .tp-lb__btn { font-size: 32px; padding: 10px; }
  .tp-lb__close { font-size: 36px; }
}
body.tp-lb-open { overflow: hidden; }

/* --- Formular-Rueckmeldung --- */
.tp-form-msg {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 3px;
  font-size: 15px;
}
.tp-form-msg--ok { background: #e6f1e6; border: 1px solid #9ec89e; color: #2f5d2f; }
.tp-form-msg--err { background: #fbeaea; border: 1px solid #d49b9b; color: #8a2f2f; }
.tp-form-invalid { outline: 2px solid #c0392b; outline-offset: 1px; }
form[data-contact-form].is-sending { opacity: .6; pointer-events: none; }
