/* Schinhammer & Partner: zentrale Anpassungen fuer die statische Fassung.
   Originaldesign liegt in original.css, Seiteninhalte direkt in den index.html Dateien.
   Fuer Farben, mobile Breakpoints und Abstaende diese Datei bearbeiten. */
@import url('/assets/css/original.css');
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{padding-bottom:3rem;background:#f6f6f6}
.site-header{min-height:100px;background:#fff;position:relative;z-index:20}.header-inner{max-width:1200px;margin:auto;display:flex;justify-content:space-between;align-items:center;min-height:100px;padding:0 22px;gap:18px}.top-navigation{display:flex;align-items:center;flex:1;min-width:0}.menu-button{background:#000;border:0;color:#fff;width:80px;height:100px;display:flex;align-items:center;justify-content:center;flex-direction:column;font:18px Abel,Arial,sans-serif;cursor:pointer;flex-shrink:0}.menu-button img{width:40px;height:40px;object-fit:contain;filter:invert(1)}.desktop-navigation{padding:10px 16px}.desktop-nav,.active-submenu{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;font:20px Abel,Arial,sans-serif;text-transform:uppercase}.desktop-nav li a,.active-submenu li a{padding:0 10px;border-right:1px solid #333}.desktop-nav li:last-child a,.active-submenu li:last-child a{border:0}.desktop-nav a.active,.active-submenu a.active,.desktop-nav a:hover,.active-submenu a:hover{color:#c83536}.desktop-nav .subnav{display:none}.active-submenu{font-size:15px;margin-top:10px;line-height:1.3}.brand img{max-height:80px;max-width:160px;width:auto;height:auto}.brand{flex-shrink:0}.hero{min-height:calc(100svh - 148px);background-image:var(--hero-image);background-size:cover;background-position:var(--hero-position,center center);background-repeat:no-repeat;position:relative;padding:60px 20px 80px}.page-article{max-width:1000px;margin:auto;position:relative;z-index:2}.page-article h1{font:normal clamp(24px,2.5vw,35px) Abel,Arial,sans-serif;background:#111;color:#fff;display:table;max-width:100%;margin:0 auto 55px;padding:10px 20px;position:relative;text-align:center}.page-article h1:after{content:"";border-top:28px solid #111;border-left:25px solid transparent;position:absolute;right:12px;top:100%}.article-content{max-width:100%;position:relative;margin:auto}.article-content-text{background:rgba(255,255,255,.90);padding:28px 34px;line-height:1.6;max-height:none;overflow-wrap:break-word}.article-content-text img{max-width:100%;height:auto}.article-content-text iframe{max-width:100%}.article-content-text a{text-decoration:underline}.toggle-copy{position:absolute;right:-11px;top:-11px;z-index:4;background:#fff;border:2px solid #555;border-radius:50%;width:27px;height:27px;line-height:18px;font-size:23px;cursor:pointer;color:#555}.article-content.is-hidden .article-content-text{display:none}.article-content.is-hidden{height:1px}.article-content.is-hidden .toggle-copy{right:0;top:0}.site-footer{position:relative;background:#111;color:white;min-height:3rem;display:flex;align-items:center;justify-content:center;padding:8px 12px}.site-footer ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;margin:0;padding:0}.site-footer li{display:inline-flex}.site-footer a,.site-footer button{font:18px Abel,Arial,sans-serif;color:white!important;background:transparent;border:0;border-right:1px solid #aaa;padding:3px 10px;cursor:pointer}.site-footer li:last-child button{border:0}.mobile-panel{position:absolute;inset:0 auto auto 0;background:#fff;color:#111;width:min(420px,100vw);max-height:100svh;overflow:auto;box-shadow:0 8px 25px #0004;padding:20px;z-index:30}.mobile-panel[hidden]{display:none!important}.mobile-nav,.mobile-nav ul{list-style:none;margin:0;padding:0}.mobile-nav a{display:block;font:21px Abel,Arial,sans-serif;text-decoration:none;border-bottom:1px solid #ddd;padding:11px}.mobile-nav .subnav{padding-left:16px}.mobile-close{background:#111;color:#fff;border:0;font-size:30px;float:right;cursor:pointer}.consent-dialog{border:0;border-radius:3px;max-width:min(600px,calc(100% - 24px));padding:28px;background:#fff;box-shadow:0 8px 35px #0005;font:16px Arial,sans-serif;color:#111}.consent-dialog::backdrop{background:#0009}.consent-dialog label{display:block;margin:14px 0}.consent-actions{display:flex;gap:12px;flex-wrap:wrap}.consent-actions button,.contact-form button{background:#111;color:white;border:0;padding:12px 20px;cursor:pointer}.contact-form label{display:block;margin:12px 0}.contact-form input,.contact-form textarea{display:block;width:100%;padding:8px;border:1px solid #999}.contact-form textarea{min-height:130px}.trap{position:absolute;left:-9999px}.contact-placeholder{font-size:13px}.contact-placeholder code{font-family:monospace}
@media(max-width:1200px){.site-header{position:relative!important}.desktop-navigation{display:none}.header-inner{min-height:80px}.menu-button{height:80px}.brand img{max-height:65px}.hero{min-height:calc(100svh - 130px)}}
@media(max-width:768px){body{padding-bottom:0}.header-inner{padding:0 12px;min-height:66px}.menu-button{height:66px;width:64px;font-size:15px}.menu-button img{width:28px;height:28px}.brand img{max-height:56px;max-width:130px}.hero{min-height:calc(100svh - 145px);padding:35px 15px 55px}.page-article h1{margin-bottom:38px;font-size:25px}.article-content-text{padding:22px 18px;font-size:15px}.site-footer{min-height:70px}.site-footer a,.site-footer button{font-size:15px}.page-article{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}}

/* ================================================================
   TEXTBEREICHE AUF DEN FULLSCREEN-BILDERN
   --text-max-height begrenzt die Texthoehe auf grossen Bildschirmen.
   Der Text scrollt innerhalb der halbtransparenten Flaeche.
   Ein-/Ausblenden bleibt ueber das Plus-/Kreuz-Symbol moeglich.
   ================================================================ */
:root{--text-max-height:min(64vh,640px)}
.article-content-text{max-height:var(--text-max-height);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#888 #eee}
.article-content-text:focus-visible{outline:2px solid #b21938}
/* ================================================================
   MOBILES MENUE: EINE EBENE SICHTBAR, ZURUECK-PFEIL IM UNTERMENUE
   ================================================================ */
.mobile-panel{background:#000;color:#fff;padding:0;width:min(420px,100vw);max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
.mobile-close{position:sticky;top:0;display:block;width:100%;height:48px;text-align:right;padding:0 17px;float:none;background:#000;font-size:36px;z-index:3}
.mobile-nav:not(.is-current){display:none}
.mobile-nav li,.mobile-subview li{list-style:none}
.mobile-nav,.mobile-subview{list-style:none;padding:0;margin:0}
.mobile-nav a,.mobile-subview a{font:21px Abel,Arial,sans-serif;color:#fff!important;border-bottom:1px solid #666;text-decoration:none;display:block;padding:13px 17px}
.mobile-nav a[data-submenu]:after{content:'❯';float:right;font-size:18px}
.mobile-nav a:hover,.mobile-subview a:hover{background:#ab1535;color:#fff!important}
.mobile-subview[hidden]{display:none!important}
.mobile-back-item{background:#ae1534}
.mobile-back{font:32px Arial,sans-serif;text-align:left;width:100%;color:#fff;background:transparent;border:0;min-height:58px;padding:8px 17px;cursor:pointer}
/* ================================================================
   COOKIE PANEL: AUSWAHL, DETAILKATEGORIEN, WIDERRUF
   Keine externen Services, solange nicht gesondert konfiguriert.
   ================================================================ */
.consent-dialog{width:min(680px,calc(100vw - 24px));max-width:680px;max-height:min(90dvh,760px);overflow:auto;padding:0;border-radius:0}
.consent-ui{padding:25px;font:15px/1.5 Arial,sans-serif}
.consent-header h2{font:normal 27px Abel,Arial,sans-serif;margin:0 0 12px}
.consent-actions-primary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}
.consent-actions-primary button{padding:13px 9px;background:#a91535;border:0;color:#fff;font-weight:600;cursor:pointer}
.consent-actions-primary button:last-child{grid-column:1/-1;background:#272727}
.consent-details{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:14px 0;margin:15px 0}
.consent-details summary{cursor:pointer;font-weight:600}
.consent-service{border-top:1px solid #e4e4e4;padding:8px 0}
.consent-service label{display:flex;align-items:center;gap:9px;margin:5px 0}
.consent-service label span{font-size:12px;color:#666;margin-left:auto}
.consent-service p{margin:5px 0 10px 26px;color:#555;font-size:13px}
.consent-note{color:#555;font-size:12px;margin-bottom:0}
@media(max-width:768px){:root{--text-max-height:min(54dvh,500px)}.mobile-panel{max-height:calc(100dvh - 66px)}.consent-ui{padding:18px}.consent-actions-primary{grid-template-columns:1fr}.consent-actions-primary button:last-child{grid-column:auto}}

/* ================================================================
   FIX: TEXTBOX NUR VERTIKAL SCROLLEN, SCHLIESSEN-BUTTON SICHTBAR
   Diese Regeln gelten fuer alle HTML-Seiten zentral.
   ================================================================ */
/* Keine horizontale Scrollleiste durch breite Inhaltselemente. */
html, body { max-width:100%; overflow-x:clip; }
.page-article, .article-content { min-width:0; max-width:100%; }
.article-content-text {
  width:100%;
  min-width:0;
  overflow-x:hidden;
  overflow-y:auto;
  overflow-wrap:anywhere;
  word-break:normal;
}
/* Eingebettete Elemente duerfen die Textbox nicht verbreitern. */
.article-content-text img,
.article-content-text video,
.article-content-text iframe,
.article-content-text svg,
.article-content-text table,
.article-content-text pre { max-width:100%; }
.article-content-text table { table-layout:fixed; overflow-wrap:anywhere; }
.article-content-text pre { white-space:pre-wrap; overflow-wrap:anywhere; }
/* Button vollstaendig innerhalb der Box halten. */
.article-content .toggle-copy {
  right:8px;
  top:-15px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  z-index:5;
}
.article-content.is-hidden .toggle-copy { right:8px; top:0; }
