body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
/*
 * root.css – zentrale Gestaltung der gesamten Seite und aller WAB-Plugins
 * ==========================================================================
 *
 * Eingebunden im Seitenlayout „Layout Standard“ unter „Externe Stylesheets“.
 * Alle Einstellungen stehen als Variablen im ersten :root-Block. Wer hier einen Wert ändert,
 * ändert ihn überall: Fließtext, Überschriften, Buttons, Slider, Boxen, Bild & Text, Seitentrenner, Header, Footer …
 *
 * Farben aus dem bisherigen Auftritt der Schreinerei Lischka (Logo und alte Website):
 * Grün #1b5b34, Gold #ebb421, Grau #9d9d9c, Text #2f2f2f.
 *
 * Nicht hier, sondern im Backend unter Layout → Seitenlayout → „Breakpoints und Inhaltsbreite“ eingestellt
 * (weil Media Queries keine Variablen können): Breakpoints, Inhaltsbreiten (--wab-container …), Seitenrand (--wab-gutter)
 * und die Abschnittsabstände S–XL (--wab-space-s … --wab-space-xl).
 */

:root {
    /* ======================================================================
       1. Farben
       Zu jeder Farbe gehört eine Textfarbe (-text), die auf dieser Farbe gut lesbar ist.
       ====================================================================== */

    /* Primärfarbe – Grün aus dem Logo */
    --wab-color-primary: #1b5b34;
    --wab-color-primary-text: #ffffff;

    /* Sekundärfarbe – Gold aus dem Logo (dunkler Text, weiß wäre auf Gold nicht lesbar) */
    --wab-color-secondary: #ebb421;
    --wab-color-secondary-text: #2f2f2f;

    /* Komplementärfarbe – Grau der alten Website */
    --wab-color-complementary: #9d9d9c;
    --wab-color-complementary-text: #2f2f2f;

    /* Hell – warmes Naturweiß für ruhige Hintergründe (Holz-Anmutung) */
    --wab-color-light: #f6f3ec;
    --wab-color-light-text: #2f2f2f;

    /* Dunkel – sehr dunkles Grün für kontrastreiche Abschnitte */
    --wab-color-dark: #12402a;
    --wab-color-dark-text: #ffffff;

    /* Grundfarben der Seite */
    --wab-color-text: #2f2f2f;          /* Fließtext */
    --wab-color-heading: #1b5b34;       /* Überschriften */
    --wab-color-background: #ffffff;    /* Seitenhintergrund */
    --wab-color-link: var(--wab-color-primary);
    --wab-color-link-hover: #b8860b;    /* dunkles Gold – auf Weiß noch lesbar */
    --wab-color-border: #e4e0d6;        /* Linien, Rahmen */

    /* Topbar (Leiste über der Navigation) */
    --wab-color-topbar: var(--wab-color-primary);
    --wab-color-topbar-text: var(--wab-color-primary-text);

    /* Navigation (Header-Modul) – gilt auch für das mobile Menü */
    --wab-color-nav: #ffffff;
    --wab-color-nav-text: #2f2f2f;
    --wab-color-nav-accent: var(--wab-color-primary);

    /* Footer (Footer-Modul) – wie bisher grün mit goldenen Akzenten */
    --wab-color-footer: var(--wab-color-primary);
    --wab-color-footer-text: #ffffff;
    --wab-color-footer-accent: var(--wab-color-secondary);

    /* ======================================================================
       2. Schriften
       Lato wie auf der bisherigen Website. Die Dateien liegen lokal unter files/content/fonts/
       (kein Abruf bei Google → DSGVO-konform).
       ====================================================================== */

    --wab-font-main: 'Lato', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    --wab-font-accent: 'Lato', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;

    --wab-font-weight-normal: 400;
    --wab-font-weight-bold: 700;
    --wab-font-accent-weight: 900;      /* Stärke der Überschriften h1/h2 */
    --wab-font-accent-spacing: -.01em;  /* Buchstabenabstand der Überschriften h1/h2 */

    /* ======================================================================
       3. Schriftgrößen – dynamisch
       Die Schrift wächst mit der Fensterbreite von „min“ (Smartphone, 360 px) bis „max“ und bleibt dann stehen.
       ====================================================================== */

    --wab-font-size-min: 1rem;          /* 16 px – Fließtext auf Smartphones */
    --wab-font-size-max: 1.125rem;      /* 18 px – Fließtext höchstens */
    --wab-font-fluid: .002;

    --wab-font-size-small: .875em;
    --wab-line-height: 1.7;

    --wab-h1-min: 2rem;      --wab-h1-max: 3.25rem;
    --wab-h2-min: 1.625rem;  --wab-h2-max: 2.5rem;
    --wab-h3-min: 1.25rem;   --wab-h3-max: 1.5rem;
    --wab-h4-min: 1.125rem;  --wab-h4-max: 1.25rem;
    --wab-h5-min: 1rem;      --wab-h5-max: 1.125rem;
    --wab-h6-min: 1rem;      --wab-h6-max: 1rem;
    --wab-heading-fluid: .012;
    --wab-heading-line-height: 1.2;

    /* ======================================================================
       4. Abstände im Text
       ====================================================================== */

    --wab-paragraph-gap: 1em;
    --wab-heading-gap-top: 1.5em;
    --wab-heading-gap-bottom: .5em;

    /* ======================================================================
       5. Formen, Schatten, Bewegung
       ====================================================================== */

    --wab-radius-button: 4px;           /* klare, handwerkliche Kanten statt Pillenform */
    --wab-radius-box: 4px;
    --wab-radius-card: 6px;
    --wab-radius-image: 6px;

    --wab-shadow: 0 12px 32px rgba(18, 64, 42, .10);

    --wab-speed: .35s;
    --wab-ease: cubic-bezier(.4, 0, .2, 1);
}

/* ==========================================================================
   Ab hier wird nur noch berechnet und angewendet – Einstellungen bitte oben ändern.
   ========================================================================== */

/* Schriftdateien (Pfade relativ zu dieser Datei), Lizenz: SIL Open Font License (files/content/fonts/OFL-lato.txt) */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../../files/content/fonts/lato-400-normal.woff2') format('woff2');
}

@font-face {
    font-family: 'Lato';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../../files/content/fonts/lato-400-italic.woff2') format('woff2');
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../../files/content/fonts/lato-700-normal.woff2') format('woff2');
}

@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('../../files/content/fonts/lato-900-normal.woff2') format('woff2');
}

/* Dynamische Größen: clamp(kleinste, mitwachsend ab 360 px Fensterbreite, größte) */
:root {
    --wab-font-size-base: clamp(var(--wab-font-size-min), calc(var(--wab-font-size-min) + (100vw - 360px) * var(--wab-font-fluid)), var(--wab-font-size-max));

    --wab-h1-size: clamp(var(--wab-h1-min), calc(var(--wab-h1-min) + (100vw - 360px) * var(--wab-heading-fluid)), var(--wab-h1-max));
    --wab-h2-size: clamp(var(--wab-h2-min), calc(var(--wab-h2-min) + (100vw - 360px) * var(--wab-heading-fluid)), var(--wab-h2-max));
    --wab-h3-size: clamp(var(--wab-h3-min), calc(var(--wab-h3-min) + (100vw - 360px) * var(--wab-heading-fluid)), var(--wab-h3-max));
    --wab-h4-size: clamp(var(--wab-h4-min), calc(var(--wab-h4-min) + (100vw - 360px) * var(--wab-heading-fluid)), var(--wab-h4-max));
    --wab-h5-size: clamp(var(--wab-h5-min), calc(var(--wab-h5-min) + (100vw - 360px) * var(--wab-heading-fluid)), var(--wab-h5-max));
    --wab-h6-size: clamp(var(--wab-h6-min), calc(var(--wab-h6-min) + (100vw - 360px) * var(--wab-heading-fluid)), var(--wab-h6-max));
}

/*
 * Grundgestaltung. :where() hat keine Spezifität – jede Regel eines Plugins oder Elements gewinnt,
 * die Werte hier sind nur die Vorgabe für alles, was nichts Eigenes festlegt.
 */
body {
    margin: 0;
    background: var(--wab-color-background);
    color: var(--wab-color-text);
    font-family: var(--wab-font-main);
    font-size: var(--wab-font-size-base);
    font-weight: var(--wab-font-weight-normal);
    line-height: var(--wab-line-height);
}

:where(h1, h2, h3, h4, h5, h6) {
    margin: var(--wab-heading-gap-top) 0 var(--wab-heading-gap-bottom);
    color: var(--wab-color-heading);
    font-weight: var(--wab-font-weight-bold);
    line-height: var(--wab-heading-line-height);
}

:where(h1) { font-size: var(--wab-h1-size); }
:where(h2) { font-size: var(--wab-h2-size); }
:where(h3) { font-size: var(--wab-h3-size); }
:where(h4) { font-size: var(--wab-h4-size); }
:where(h5) { font-size: var(--wab-h5-size); }
:where(h6) { font-size: var(--wab-h6-size); }

:where(h1, h2),
.wab-font-accent {
    font-family: var(--wab-font-accent);
    font-weight: var(--wab-font-accent-weight);
    letter-spacing: var(--wab-font-accent-spacing);
}

/* Auf farbigen Abschnitten übernehmen Überschriften die Textfarbe des Abschnitts */
:where(.wab-section--text) :where(h1, h2, h3, h4, h5, h6) {
    color: inherit;
}

:where([class^="content-"], .rte) > :first-child {
    margin-top: 0;
}

:where(p, ul, ol, dl, blockquote) {
    margin-block: var(--wab-paragraph-gap);
}

:where(small) {
    font-size: var(--wab-font-size-small);
}

:where(a) {
    color: var(--wab-color-link);
    text-underline-offset: .15em;
    transition: color var(--wab-speed) var(--wab-ease);
}

:where(a:hover, a:focus-visible) {
    color: var(--wab-color-link-hover);
}

:where(hr) {
    border: 0;
    border-top: 1px solid var(--wab-color-border);
}

/*
 * lischka.css – projektspezifische Ergänzungen zur root.css (Schreinerei Lischka)
 * Farben, Schriften und Abstände kommen aus der root.css (--wab-*).
 */

/* --------------------------------------------------------------------------
   Dachzeile über Abschnittsüberschriften (Absatz mit Klasse „lischka-eyebrow“)
   -------------------------------------------------------------------------- */
:root {
    --lischka-gold-text: #8a6400;       /* dunkles Gold – als Schrift auf Weiß/Hell gut lesbar */
}

.lischka-eyebrow {
    margin: 0 0 .5rem;
    color: var(--lischka-gold-text);
    font-size: .8125rem;
    font-weight: var(--wab-font-weight-bold);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.lischka-eyebrow::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    margin: .6rem 0 0;
    background: var(--wab-color-secondary);
}

.lischka-eyebrow[style*="center"]::after {
    margin-inline: auto;
}

.lischka-eyebrow + :is(h1, h2, h3) {
    margin-top: .75rem;
}

/* --------------------------------------------------------------------------
   Slider: Buttons in den Markenfarben (Gold mit dunkler Schrift)
   -------------------------------------------------------------------------- */
.wab-slider .wab-btn--primary {
    border-color: var(--wab-color-secondary);
    background: var(--wab-color-secondary);
    color: var(--wab-color-secondary-text);
}

.wab-slider .wab-btn--primary:hover,
.wab-slider .wab-btn--primary:focus-visible {
    border-color: #fff;
    background: #fff;
    color: var(--wab-color-primary);
}

.wab-slider .wab-btn--outline:hover,
.wab-slider .wab-btn--outline:focus-visible {
    background: #fff;
    color: var(--wab-color-primary);
}

/* Auf grünen/dunklen Abschnitten: Dachzeile in hellem Gold */
:is(.lischka-bg-primary, .lischka-bg-dark) .lischka-eyebrow {
    color: var(--wab-color-secondary);
}

/* Textlinks auf grünen/dunklen Abschnitten weiß, beim Überfahren Gold */
:is(.lischka-bg-primary, .lischka-bg-dark) :is(p, li, dd) a:not([class]) {
    color: inherit;
}

:is(.lischka-bg-primary, .lischka-bg-dark) :is(p, li, dd) a:not([class]):is(:hover, :focus-visible) {
    color: var(--wab-color-secondary);
}

/* Auf hellen Abschnitten behalten Überschriften, Links und Buttons das Grün
   (das Layout-Plugin würde sonst die Textfarbe des Abschnitts übernehmen) */
.lischka-bg-light.wab-section--text :is(h1, h2, h3, h4) {
    color: var(--wab-color-heading);
}

.lischka-bg-light.wab-section--text .wab-it {
    --wab-it-accent: var(--wab-color-primary);
}

.lischka-bg-light.wab-section--text :is(.wab-it__link--button, .wab-it__link--outline:hover, .wab-it__link--outline:focus-visible) {
    color: var(--wab-color-primary-text);
}

/* Dachzeilen (zweite Überschrift) von „Bild & Text“ und „Text & Text“ im dunklen Gold */
.wab-it__subline--above {
    color: var(--lischka-gold-text);
    letter-spacing: .14em;
}

:is(.lischka-bg-primary, .lischka-bg-dark) .wab-it__subline--above {
    color: var(--wab-color-secondary);
}

/* --------------------------------------------------------------------------
   Logo im Header: das Logo hat einen goldenen Hintergrund → leicht abgerundet
   -------------------------------------------------------------------------- */
.wab-site-header img {
    border-radius: 3px;
}

/* --------------------------------------------------------------------------
   Galerie (Referenzen, Innentüren)
   -------------------------------------------------------------------------- */
.lischka-gallery ul {
    display: grid;
    grid-template-columns: repeat(var(--lischka-cols, 4), minmax(0, 1fr));
    gap: 12px;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}

.lischka-gallery li {
    margin: 0;
    padding: 0;
    float: none;
    width: auto;
}

.lischka-gallery figure {
    margin: 0;
    overflow: hidden;
    border-radius: var(--wab-radius-image);
    background: var(--wab-color-light);
}

.lischka-gallery a {
    position: relative;
    display: block;
}

.lischka-gallery a::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(18, 64, 42, .55), transparent 60%);
    opacity: 0;
    transition: opacity var(--wab-speed) var(--wab-ease);
}

.lischka-gallery img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    transition: transform .6s var(--wab-ease);
}

.lischka-gallery a:hover img,
.lischka-gallery a:focus-visible img {
    transform: scale(1.06);
}

.lischka-gallery a:hover::after,
.lischka-gallery a:focus-visible::after {
    opacity: 1;
}

/* Spaltenzahl aus dem Inhaltselement („Vorschaubilder pro Reihe“) */
.content-gallery--cols-3 ul { --lischka-cols: 3; }
.content-gallery--cols-5 ul { --lischka-cols: 5; }
.content-gallery--cols-6 ul { --lischka-cols: 6; }

@media (max-width: 1023px) {
    .lischka-gallery ul { --lischka-cols: 3; }
}

@media (max-width: 767px) {
    .lischka-gallery ul { --lischka-cols: 2; gap: 8px; }
}

/* --------------------------------------------------------------------------
   Zitate (Team, Ausbildung)
   -------------------------------------------------------------------------- */
blockquote {
    margin: 0;
    padding: 0 0 0 1.25rem;
    border-left: 3px solid var(--wab-color-secondary);
    font-style: italic;
}

blockquote p:last-child {
    margin-bottom: 0;
}

.lischka-quote {
    padding: 0;
    border: 0;
    text-align: center;
    font-size: 1.25em;
    line-height: 1.6;
}

.lischka-quote strong {
    color: var(--wab-color-secondary);
    font-style: normal;
}

.lischka-quote p:last-child {
    margin-top: 1.25rem;
    font-size: .8em;
}

/* --------------------------------------------------------------------------
   Rechtstexte
   -------------------------------------------------------------------------- */
.lischka-legal h2 {
    font-size: var(--wab-h4-size);
    letter-spacing: 0;
}

.lischka-legal p,
.lischka-legal li {
    hyphens: auto;
    overflow-wrap: anywhere;
}

/* --------------------------------------------------------------------------
   Kleinigkeiten
   -------------------------------------------------------------------------- */
.lischka-spaced {
    margin-top: var(--wab-space-l, 64px);
}

::selection {
    background: var(--wab-color-secondary);
    color: #2f2f2f;
}

/* Smartphone: Slider-Pfeile ausblenden (Wischen + Punkte genügen, Pfeile würden den Text überdecken) */
@media (max-width: 767px) {
    .wab-slider .slick-arrow {
        display: none !important;
    }
}

