h7{font-size:1.5em;font-weight:bolder;line-height:normal}
.foto{width:400px;padding:0}
.aboutus{margin:0 20px}
.imprint{margin:0 25px}
.zusatz{font-size:.7em;line-height:normal;text-align:left;padding-bottom:50px}
section.imprint{padding:200px;vertical-align:top}

@media screen and (max-width: 768px) {
.imprinttop{height:100px}
.foto{padding:30px 0 10px;width:100%}
h2{font-family:"Roboto Mono","Helvetica Neue",sans-serif;font-size:1.7em;margin:0 0 20px}
}

@media screen and (max-width: 992px) {
.imprinttop{height:100px}
}

.siegel {
position: fixed;
bottom: 0px;
right: 50px;
top: 125px;
width: 250px;
border-radius: 0px;
z-index: 9999;
transition: background-color 0.3s ease;
}

@media screen and (max-width: 992px) {
.siegel {
width: 150px;
height: 135px;
right: 25px;
}
}

@media screen and (max-width: 768px) {
.siegel {
width: 100px;
height: 90px;
right: 20px;
}
}

.cta-wa-button {
position: fixed;
bottom: 25px;
right: 25px;
background-color: #25D366;
color: white;
padding: 15px 15px;
border-radius: 50px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
z-index: 9999;
transition: background-color 0.3s ease;
}

.cta-wa-button:hover {
background-color: #1ebe5b;
}

.cta-back-button-standalone {
position: fixed;
top: 25px;
right: 35px;
background-color: #9C1C1C;
color: white;
padding: 10px 10px;
border-radius: 50px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
z-index: 9999;
transition: background-color 0.3s ease;
}

.cta-back-button-standalone:hover {
background-color: #B66552;
}

.cta-back-button {
position: fixed;
top: 25px;
right: 100px;
background-color: #9C1C1C;
color: white;
padding: 10px 10px;
border-radius: 50px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
z-index: 9999;
transition: background-color 0.3s ease;
}

.cta-back-button:hover {
background-color: #B66552;
}

.cta-forward-button {
position: fixed;
top: 25px;
right: 35px;
background-color: #9C1C1C;
color: white;
padding: 10px 10px;
border-radius: 50px;
font-weight: bold;
text-decoration: none;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
z-index: 9999;
transition: background-color 0.3s ease;
}

.cta-forward-button:hover {
background-color: #B66552;
}

/* Titelbild Fix */

section.content > .container > .content > img.item{
display:block;
width:100%;
max-width:100%;
height:auto !important;
}

/* =================================
KARUSSELL
================================= */

.projekt-galerie{
position: relative;
margin: 40px 0 55px;
}

.projekt-galerie .pg-viewport{
overflow: hidden;
}

.projekt-galerie .pg-track{
display:flex;
gap:24px;
transition:transform 0.45s ease;
will-change:transform;
}

.projekt-galerie .pg-slide{
flex:0 0 calc((100% - 48px) / 3);
position:relative;
overflow:hidden;
border-radius:12px;
}

.projekt-galerie .pg-slide img{
display:block;
width:100%;
height:680px;
object-fit:cover;
border-radius:12px;
background:#f2f2f2;
transition:transform .35s ease;
cursor:zoom-in;
}

.projekt-galerie .pg-slide:hover img{
transform:scale(1.06);
}

.projekt-galerie .pg-arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:5;
width:54px;
height:54px;
border:none;
border-radius:50%;
background:rgba(255,255,255,0.96);
color:#2E2E2E;
font-size:30px;
line-height:54px;
text-align:center;
box-shadow:0 3px 12px rgba(0,0,0,0.18);
cursor:pointer;
}

.pg-prev{left:18px}
.pg-next{right:18px}

.pg-dots{
display:flex;
justify-content:center;
gap:8px;
margin-top:18px;
}

.pg-dot{
width:10px;
height:10px;
border-radius:50%;
background:#bbb;
cursor:pointer;
}

.pg-dot.active{
background:#333;
}

@media (max-width:1024px){

.projekt-galerie .pg-slide{
flex:0 0 calc((100% - 24px) / 2);
}

.projekt-galerie .pg-slide img{
height:520px;
}

}

@media (max-width:768px){

.projekt-galerie .pg-track{
gap:16px;
}

.projekt-galerie .pg-slide{
flex:0 0 100%;
}

.projekt-galerie .pg-slide img{
height:380px;
}

.pg-arrow{
width:42px;
height:42px;
line-height:42px;
font-size:24px;
}

.pg-prev{left:10px}
.pg-next{right:10px}

}

/* =================================
Lightbox
================================= */

.pg-lightbox{
position:fixed;
inset:0;
background:rgba(0,0,0,0.85);
display:flex;
align-items:center;
justify-content:center;
z-index:9999;
opacity:0;
pointer-events:none;
transition:opacity .3s ease;
}

.pg-lightbox.active{
opacity:1;
pointer-events:auto;
}

.pg-lightbox img{
max-width:90vw;
max-height:90vh;
border-radius:8px;
cursor:zoom-out;
}


/* =========================
   Terminformular
   ========================= */

#tadus-termin-form .form-control{
  background: #fff !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;

  border: 1px solid #ccc !important;
  border-bottom: 1px solid #ccc !important;

  border-radius: 4px !important;
  padding: 8px 10px !important;
  margin-top: 5px;

  box-shadow: none !important;
  width: 100%;
  max-width: 300px;
  box-sizing: border-box;
  font: inherit;
}

/* Fokus */
#tadus-termin-form input:focus,
#tadus-termin-form textarea:focus,
#tadus-termin-form select:focus{
  background: #fff !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  border: 1px solid #999 !important;
  border-bottom: 1px solid #999 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Placeholder */
#tadus-termin-form input::placeholder,
#tadus-termin-form textarea::placeholder{
  color: #999 !important;
  -webkit-text-fill-color: #999 !important;
}

/* Safari / WebKit Datum / Uhrzeit */
#tadus-termin-form input[type="date"],
#tadus-termin-form input[type="time"],
#tadus-termin-form input[type="datetime-local"]{
  min-height: 40px;
  line-height: normal;
}

/* Upload */
#tadus-termin-form input[type="file"]{
  max-width: 100% !important;
}

/* Mobile */
@media (max-width:640px){
  #tadus-termin-form .form-control{
    max-width: 100%;
  }
}

/* Standard: untereinander */
#tadus-termin-form .tadus-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

/* Desktop-Grid */
@media (min-width: 900px){

  #tadus-termin-form .tadus-grid{
    grid-template-columns: repeat(12, 1fr);
    gap: 16px 18px;
    align-items: start;
    grid-template-areas:
      "anrede anrede anrede anrede anrede anrede anrede anrede anrede anrede anrede anrede"
      "firstname firstname firstname firstname firstname firstname lastname lastname lastname lastname lastname lastname"
      "tel tel tel tel tel tel email email email email email email"
      "street street street street street street street plz plz city city city"
      "beschreibung beschreibung beschreibung beschreibung beschreibung beschreibung beschreibung beschreibung beschreibung beschreibung beschreibung beschreibung"
      "termin1 termin1 termin1 termin1 termin1 termin1 termin2 termin2 termin2 termin2 termin2 termin2"
      "upload upload upload upload upload upload upload upload upload upload upload upload"
      "actions actions actions actions actions actions actions actions actions actions actions actions";
  }

  #tadus-termin-form .field.anrede{ grid-area: anrede; }

  #tadus-termin-form .field.firstname{ grid-area: firstname; }
  #tadus-termin-form .field.lastname{ grid-area: lastname; }

  #tadus-termin-form .field.tel{ grid-area: tel; }
  #tadus-termin-form .field.email{ grid-area: email; }

  #tadus-termin-form .field.street{ grid-area: street; }
  #tadus-termin-form .field.plz{ grid-area: plz; }
  #tadus-termin-form .field.city{ grid-area: city; }

  #tadus-termin-form .field.beschreibung{ grid-area: beschreibung; }

  #tadus-termin-form .field.termin1{ grid-area: termin1; }
  #tadus-termin-form .field.termin2{ grid-area: termin2; }

  #tadus-termin-form .field.upload{ grid-area: upload; }

  #tadus-termin-form .field.actions{
    grid-area: actions;
    margin-top: 8px;
  }

  #tadus-termin-form .tadus-grid .form-control{
    max-width: 100% !important;
  }

  #tadus-termin-form .field.termin1 .form-control,
  #tadus-termin-form .field.termin2 .form-control{
    max-width: 300px !important;
  }
}