/* Zusätze: Formulare (Meldungen, Spam-Schutz), Cookie-Hinweis (Consent-Manager), Karte vor der Einwilligung */
.vm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.vm-form .alert{margin:0 15px 1rem;padding:.8rem 1rem;border-radius:6px;font-size:1rem}
.vm-form .alert-success{background:#e4f5ea;color:#14532d;border:1px solid #b6e2c4}
.vm-form .alert-danger{background:#fde8e6;color:#7a1a14;border:1px solid #f3b7b1}
.vm-form .gdpr-block{display:block;margin-top:1rem}
.vm-form .gdpr-block input[type=checkbox]{margin-right:.4rem}
.textGDPR a{color:#149dcc;text-decoration:none}
.vm-form button[disabled]{opacity:.7;cursor:wait}

.google-map.vm-map{position:relative}
.vm-map-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.25rem;text-align:center;background:#e9e5dc;overflow:auto;z-index:5}
.vm-map-ph p{margin:0 0 .75rem;color:#4a4744}
.vm-map-btns{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.vm-map-btns .btn{margin:0}
.vm-map-on .vm-map-ph{display:none}
@media (max-width:767px){.vm-map-btns .btn{width:100%}}

#vm-consent-bar{position:fixed;left:0;right:0;bottom:0;z-index:2000;background:#f1f1f1;color:#232323;box-shadow:0 -2px 14px rgba(0,0,0,.25);padding:1rem 1.2rem;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
#vm-consent-bar .in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center;justify-content:space-between}
#vm-consent-bar p{margin:0;flex:1 1 380px;font-size:.95rem;line-height:1.45}
#vm-consent-bar a{color:#0b5f8a;text-decoration:underline}
#vm-consent-bar .btns{display:flex;flex-wrap:wrap;gap:.5rem}
#vm-consent-bar button{font-family:inherit;font-size:.95rem;font-weight:600;padding:.55rem 1.1rem;border-radius:6px;border:2px solid #0b5f8a;background:#0b5f8a;color:#fff;cursor:pointer}
#vm-consent-bar button.alt{background:#fff;color:#0b5f8a}
#vm-consent-bar button:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
#vm-consent-bar fieldset{border:0;margin:.8rem 0 0;padding:0;flex:1 1 100%}
#vm-consent-bar label{display:block;margin:.4rem 0;font-size:.95rem}
#vm-consent-bar label small{display:block;margin-left:1.6rem;color:#555}

.vm-foot-line{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem}.vm-foot-line p{margin:0}.vm-foot-line .vm-update{text-align:left}
.footer4 .vm-foot-line{padding-bottom:1rem}
.vm-offset{box-sizing:content-box!important;border-bottom:2px solid #9ed4f9;height:var(--vm-nav-h,112px)!important;min-height:0!important;padding:0!important;background:none!important;overflow:hidden}

/* Handy: Fotos immer komplett zeigen (kein Zuschnitt) */
@media (max-width:767px){
  .vm-ar{aspect-ratio:var(--vm-ar);min-height:0!important;padding-top:1rem!important;padding-bottom:1rem!important;display:flex;align-items:center;background-size:100% 100%!important}
  .vm-ar>.container{width:100%;padding-top:.75rem;padding-bottom:.75rem}
  .vm-ar .vm-section-title{margin:0!important;padding-bottom:0!important}
  .features4 .image-wrapper img{height:auto!important;object-fit:contain!important}
}
@media (max-width:991px){
  .features4 .image-wrapper{min-height:0!important;height:auto!important}
  .features4 .img-container{height:auto!important}
  .features4 .image-wrapper img{height:auto!important;object-fit:contain!important}
}
/* kein seitliches Wackeln auf dem Handy */
html,body{overflow-x:hidden;max-width:100%}

/* Handy-Menü: Hamburger-Symbol bleibt in derselben Zeile ganz rechts, auch bei schmalen Displays */
@media (max-width:991px){
  .menu .navbar:not(.opened){flex-wrap:nowrap!important}
  .menu .navbar .navbar-brand{min-width:0;flex:1 1 auto;margin-right:.5rem}
  .menu .navbar .navbar-brand .navbar-caption{white-space:normal;word-break:normal;overflow-wrap:normal}
  .menu .navbar .navbar-toggler{flex:none;margin-left:auto!important;align-self:center}
}
@media (max-width:359px){
  .menu .navbar .navbar-logo img{height:4.2rem!important}
  .menu .navbar .navbar-brand .navbar-caption{font-size:.95rem}
}
/* Dropdown-Menü (Computer): beim Überfahren darf sich der schwarze Block nicht verbreitern.
   Rechts ist immer Platz reserviert, den der nach rechts rückende Text beim Hover nutzt. */
@media (min-width:992px){
  .menu .dropdown .dropdown-menu .dropdown-item{padding-right:2.6em!important}
  .menu .dropdown .dropdown-menu .dropdown-item:hover{padding-left:3.5em!important;padding-right:.95em!important}
}

/* Galerie: alle Fotos werden im gleichen Format (3:2) angezeigt, passend zugeschnitten - egal wie das Original aussieht */
.vm-gallery .vm-gallery-item{overflow:hidden}
.vm-gallery .vm-gallery-item img{display:block;width:100%!important;max-width:100%;height:auto!important;aspect-ratio:3/2;object-fit:cover}
