/* RESET – wichtig für Fullwidth-Hintergründe */
html, body {
margin: 0;
padding: 0;
background: #ffffff;
}
body{
font-family:Montserrat,sans-serif;
margin:0;color:#333}
.header{
width:100%;height:55vh;min-height:320px;
background:url('../images/header.jpg') right center/cover no-repeat}
.container{max-width:1000px;margin:auto;padding:60px 20px;text-align:center}
h1{font-size:36px;color:#3a3a3a}
.info p{font-size:18px}
.gallery{margin-top:60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}
.gallery img{width:100%;border-radius:22px;cursor:pointer}
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);align-items:center;justify-content:center}
.lightbox img{max-width:90%;max-height:90%;border-radius:0}
footer{background:#4a4a4a;color:#fff;font-size:13px;padding:22px;text-align:center}
footer a{color:#fff;text-decoration:none}
.fade{opacity:0;transform:translateY(30px);transition:.8s}
.fade.visible{opacity:1;transform:none}

/* iOS Safari Optimierungen */
html{
    -webkit-text-size-adjust:100%;
}

body{
    -webkit-font-smoothing:antialiased;
}

.header{
    background-attachment:scroll;
}

@supports (-webkit-touch-callout: none) {
    .header{
        height:50vh;
    }
}

/* Galerie – quadratisch & spezielle Ecken wie Rauchfang Quester */
.gallery img{
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:32px 0 32px 0;
}

/* Header Zuschnitt – mehr Fokus auf Person */
.header{
    background-position: 70% center;
}

/* Titel stärker */
h1{
    font-size:48px;
    font-weight:800;
    letter-spacing:0.08em;
}

/* Linie unter Titel */
.title-line{
    width:80px;
    height:4px;
    background:#1b75bc;
    margin:20px auto 40px auto;
}

/* Info Abstände verfeinern */
.info p{
    margin-bottom:4px;
}

/* Trennlinie vor Postadresse */
.separator{
    width:100%;
    height:1px;
    background:#ccc;
    margin:25px 0 15px 0;
}

/* Footer wie rauchfang-quester.at */
footer{
    background:#e6e6e6;
    color:#4a4a4a;
}
footer a{
    color:#4a4a4a;
}

/* Feine Linie unter Postadresse */
.post-line{
    width:60px;
    height:1px;
    background:#ccc;
    margin:10px auto 0 auto;
}

/* Weniger Abstand bei Kontaktblock */
.info p.compact{
    margin-bottom:0;
}

/* Footer Speziallinks: Impressum & Datenschutz */
footer a.imprint,
footer a.privacy{
    font-weight:600;
    color:#1b75bc;
}

footer a.imprint:hover,
footer a.privacy:hover{
    color:#777;
}

/* Weniger Abstand zwischen Header und Titel */
.container{
    padding-top:35px;
}

/* Mehr Abstand vor Trennlinie zur Postadresse */
.separator{
    margin-top:40px;
}

/* Impressum & Datenschutz: nicht bold, minimal größer */
footer a.imprint,
footer a.privacy{
    font-weight:400;
    font-size:14px;
}

/* Feine Linie nach Subheadline */
.sub-separator{
    width:60px;
    height:1px;
    background:#ccc;
    margin:20px auto 25px auto;
}

/* Linkfarbe für Telefon & E-Mail wie Footer-Blau */
.info a{
    color:#1b75bc;
    text-decoration:none;
}

.info a:hover{
    color:#777;
}

/* Header höher – mehr Bild nach unten sichtbar */
.header{
    height:65vh;
    min-height:420px;
}
@media (max-width:768px){
    .header{
        height:55vh;
        min-height:360px;
    }
}
@media (max-width:480px){
    .header{
        height:45vh;
        min-height:300px;
    }
}

/* Feinanpassung: Header +20px */
.header{
    min-height:440px;
}

@media (max-width:768px){
    .header{
        min-height:380px;
    }
}

@media (max-width:480px){
    .header{
        min-height:320px;
    }
}

/* Mehr Abstand zwischen POSTADRESSE Text und Linie */
.post-line{
    margin-top:18px;
}

/* Kompakter Kontaktblock ohne Absatzabstände */
.contact-block{
    margin:0;
    line-height:1.45;
}

/* Kontaktblock noch kompakter */
.contact-block{
    line-height:1.25;
}

/* Abstand vor Linie vor POSTADRESSE angleichen */
.separator{
    margin-top:50px;
}

/* Abstand UNTER der Linie vor POSTADRESSE angleichen */
.separator{
    margin-bottom:40px;
}

/* Galerie – größere Rundung wie gewünscht */
.gallery img{
    border-radius:90px 0 90px 0;
}

/* Sichtbarer Text unter Galerie */
.gallery-note-wrapper{
    width:100%;
    text-align:center;
    margin:35px 0 0px 0;
}
.gallery-note{
    font-size:15px;
    color:#555;
    max-width:900px;
    margin:0 auto;
}
/* Orange subtitle */
.main-content h2{
    color:#e85c1f;
}

/* Force orange color for main subtitle */
.highlight-orange{
    color:#e85c1f !important;
}

/* Orange divider under headings */
.divider,
.section-divider,
.line,
hr {
    background-color:#e85c1f;
    border-color:#e85c1f;
}

/* FORCE orange divider under SEITE IN ARBEIT */
.seite-in-arbeit-divider,
.heading-line,
.title-line,
.section-title:after {
    background-color:#e85c1f !important;
    border-color:#e85c1f !important;
}


/* === ABSOLUTE FINAL GUARANTEE LOGO === */

.viewport-header-logo {
    position: absolute;
    top: 340px; /* unterer Rand des Headers */
    left: 40px;
    width: 220px;
    height: auto;
    z-index: 2147483647;
    pointer-events: none;
	
	
}



/* Footer color adjustment */
footer,
.site-footer {
    background-color: #3e658c;
    color: #ffffff;
}

footer a,
.site-footer a {
    color: #ffffff;
}

footer a:hover,
.site-footer a:hover {
    color: #e6e6e6;
}


/* Force footer links to white */
footer a,
footer a:visited,
.site-footer a,
.site-footer a:visited {
    color: #ffffff !important;
    text-decoration: none;
}

footer a:hover,
.site-footer a:hover {
    color: #e6e6e6 !important;
}
/* ===============================
   MOBILE LOGO – FINAL FIX
=============================== */
@media (max-width: 768px) {
  img.viewport-header-logo {
    position: fixed !important;
    top: 12px !important;
	left: 16px !important; /* ← statt right */ 
    right: auto !important; /* wichtig: reset */
    width: 136px !important;
    height: auto !important;
    z-index: 99999 !important;
    pointer-events: none;
	  
	  
	  
  }
}

/* ===============================
HEADLINE GRÖSSER
=============================== */
.highlight-orange {
font-size: 1.35rem; /* Basis – Desktop */
line-height: 1.25;
}


/* Mobile noch etwas größer */
@media (max-width: 768px) {
.highlight-orange {
font-size: 1.55rem;
}
}

.company-link {
text-decoration: none;
color: inherit;
}


.company-link:hover,
.company-link:active,
.company-link:visited {
color: inherit;
text-decoration: none;
}



/* ===============================
   FOOTER LOGO
=============================== */
.site-footer {
  display: flex;
  align-items: center;
	  justify-content: center; /* ← DAS ist der Fix */
  gap: 14px;
		margin-top: 0;

  padding: 16px 20px;
  background: #3e658c; /* dein dunkles Blau */
  color: #fff;
	padding: 30px 20px;
text-align: center;
}

.footer-logo {
  height: 68px;   /* klein & dezent */
  width: auto;
  flex-shrink: 0;
}

.footer-text {
  font-size: 14px;
  line-height: 1.4;
}

@media (max-width: 768px) {
  .site-footer {
    flex-direction: column;
    text-align: center;
	  justify-content: center; /* ← DAS ist der Fix */
  }

  .footer-logo {
    height: 34px;
    margin-bottom: 6px;
  }
}

+
/* ===============================
   FULLWIDTH HELLBLAUER BEREICH
=============================== */
.fullwidth-gallery {
  width: 100%;
  background-color: #9fb4c7; /* hellblau */
  padding: 0px 0 0px;
}

/* Text im hellblauen Bereich */
.fullwidth-gallery .gallery-note {
  color: #3e658c;
  text-align: center;
}

/* Unternehmensgruppe-Link */
.fullwidth-gallery .group-link {
  color: inherit;
  text-decoration: none;
  font-weight: bold;
}


/* ===============================
   FULLWIDTH HELLBLAUER BEREICH
=============================== */
.fullwidth-gallery {
  width: 100%;
  background-color: #9fb4c7; /* hellblau */
  padding: 0px 0 0px;
}

/* Text im hellblauen Bereich */
.fullwidth-gallery .gallery-note {
  color: #3e658c;
  text-align: center;
}

/* Unternehmensgruppe-Link */
.fullwidth-gallery .group-link {
  color: inherit;
  text-decoration: none;
  font-weight: bold;
}

/* Link im hellblauen Bereich */
.fullwidth-gallery .group-link {
color: #3e658c; /* dunkelblau */
font-weight: bold;
/* KEIN text-decoration hier → Unterstrich bleibt */
}

