/*
Theme Name: Adams GmbH Onepage
Theme URI: https://example.com/adams-gmbh-onepage
Author: Fabian Bonner
Author URI: https://www.fabianbonner.de
Description: Block-Theme für die Onepage-Website der Adams GmbH (Hoch- und Tiefbau).
Requires at least: 6.1
Tested up to: 6.5
Requires PHP: 7.4
Version: 1.0.0
License: GPLv2+
Text Domain: adams-gmbh-onepage
*/

/* =========================================
   GLOBAL
   ========================================= */

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background-color:#ffffff; /*test*/
}

   
html {
    scroll-behavior: smooth;
}


/* =========================================
   HEADER (STATIC VERSION)
   ========================================= */

/* Header-Top: Breite, weißer Bereich, kein schwarzer WP-Hintergrund */
.adams-header-top {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    background-color: #ffffff;
}
.adams-header-top.has-background,
.adams-header-top.has-black-background-color { background-color: transparent !important; }
header.wp-block-group.has-black-background-color,
header.wp-block-group.has-background { background-color: transparent !important; }

/* Columns im Header explizit steuern + Standardabstände entfernen */
.adams-header-top .wp-block-columns {
    display: flex;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    row-gap: 0 !important;
}

/* Standard-Margin/Padding der Spalten entfernen */
.adams-header-top .wp-block-column {
    margin: 0 !important;
    padding: 0 !important;
}

/* Seitliche Headerbereiche: Breite orientiert sich am Bild */
.adams-header-side {
    flex: 0 0 auto;          /* so breit wie nötig */
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;          /* verhindert Mini-Abstände durch inline-block */
}

.adams-header-side-left {
    text-align: left;
}

.adams-header-side-right {
    text-align: right;
}

.adams-header-side img {
    max-height: 200px;   /* Obergrenze auf großen Screens */
    width: 100%;         /* füllt die Spalte in der Breite aus */
    height: auto;        /* Höhe passt sich der Breite an */
    object-fit: cover;   /* schneidet ggf. minimal, bleibt aber sauber */
    display: block;
}


/* Mittlerer Block: nutzt den gesamten Platz zwischen den Bildern */
.adams-header-center {
    flex: 1 1 auto;          /* nimmt den kompletten Restplatz ein */
    padding: 0 40px;         /* etwas Abstand zu den Bildern links/rechts */
    text-align: center;
}

.adams-header-center .wp-block-site-logo img {
    width: 88%;   
    height: auto;
}

/* Desktop: Header Columns-Layout */
@media (min-width: 769px) {
    .adams-header-top .wp-block-columns {
        width: 100%;
        align-items: stretch;
    }
    .adams-header-top .wp-block-column:first-child,
    .adams-header-top .wp-block-column:last-child {
        flex: 1 1 0;
        min-width: 0;
    }
    .adams-header-top .wp-block-column.adams-header-center {
        flex: 0 0 auto;
        max-width: 1200px;
    }
    .adams-header-top .adams-header-side img,
    .adams-header-top .adams-header-side-image img {
        width: 100%;
        height: auto;
        max-height: 200px;
        object-fit: cover;
        display: block;
    }
}

/* Desktop >= 900px: Mitte zentriert, Side-Bilder volle Breite */
@media (min-width: 900px) {
    .adams-header-top > .wp-block-columns {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .adams-header-top .wp-block-column.adams-header-center {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
    .adams-header-top .adams-header-side,
    .adams-header-top .adams-header-side img,
    .adams-header-top .adams-header-side-image img {
        width: 100%;
        display: block;
        object-fit: cover;
    }
    .adams-header-top .adams-header-side-image img {
        height: auto;
        max-height: 200px;
    }
}

/* Desktop >= 1200px: Fluid scaling (Logo stufenlos, Side-Bilder proportional, Header höher) */
@media (min-width: 1200px) {
    .adams-header-top {
        position: relative;
        overflow: visible;
        --adams-side-w: clamp(220px, 22vw, 520px);
        --adams-side-aspect: 450 / 350;
        --adams-center-width: clamp(600px, calc((100vw - 2 * var(--adams-side-w)) * 0.96), 1600px);
        --adams-center-scale: clamp(1, calc(0.7 + (100vw - 1200px) / 2400), 1.55);
        --adams-header-h: calc(var(--adams-side-w) * 350 / 450);
        min-height: var(--adams-header-h);
    }
    .adams-header-top .wp-block-columns,
    .adams-header-top .wp-block-column {
        max-height: none;
    }
    .adams-header-top .wp-block-columns {
        align-items: stretch;
        min-height: var(--adams-header-h);
    }
    .adams-header-top .adams-header-side-left .adams-header-side-image {
        position: absolute;
        left: calc(50% - 50vw);
        top: 0;
        width: var(--adams-side-w);
        aspect-ratio: 450 / 350;
        height: auto;
    }
    .adams-header-top .adams-header-side-right .adams-header-side-image {
        position: absolute;
        right: calc(50% - 50vw);
        top: 0;
        width: var(--adams-side-w);
        aspect-ratio: 450 / 350;
        height: auto;
    }
    .adams-header-top .adams-header-side-image img {
        width: 100%;
        height: 100%;
        max-height: none;
        object-fit: cover;
        display: block;
    }
    .adams-header-top .wp-block-column.adams-header-center {
        position: relative;
        z-index: 1;
        flex: 1 1 auto !important;
        flex-basis: auto !important;
        width: 100%;
        max-width: var(--adams-center-width);
        min-width: 0;
        min-height: var(--adams-header-h);
        margin-left: auto;
        margin-right: auto;
        overflow: visible;
        display: flex;
        flex-direction: column;
        justify-content: center;
        transform: scale(var(--adams-center-scale));
        transform-origin: center top;
        transition: transform 250ms ease;
    }
    .adams-header-top .adams-header-logo-row {
        min-height: clamp(80px, 12vh, 160px);
    }
    .adams-header-top .adams-header-logo-row .wp-block-site-logo img,
    .adams-header-top .adams-header-logo-row .adams-header-ral img,
    .adams-header-top .adams-header-logo-row .adams-header-logo img {
        height: clamp(80px, 12vh, 160px) !important;
        max-height: none !important;
    }
    .adams-header-top .adams-header-address,
    .adams-header-top .adams-header-address-wrapper {
        font-size: clamp(0.875rem, 1.2vw + 0.5rem, 1.25rem);
    }
}

@media (max-width: 899px) {
    .adams-header-top .adams-header-side,
    .adams-header-top .adams-header-side-image,
    .adams-header-top .adams-header-side img,
    .adams-header-top .adams-header-side-image img {
        display: none !important;
    }
    .adams-header-top .wp-block-column.adams-header-center {
        flex-basis: 100% !important;
        width: 100%;
        max-width: none;
    }
    .adams-header-top .wp-block-columns {
        justify-content: center;
    }
}

.adams-header-logo {
    width: 88%;
    height: auto;
    display: block;
    margin: 0 auto;

}

.adams-header-logo-ral {
    width: 12%;
    height: auto;
    display: block;
    margin: 0 auto;

}



/* Wrapper für Anschrift – direkt unter dem Logo */
.adams-header-address-wrapper {
    width: 88%;
    margin: 0 auto;
}

/* Text schwarz, etwas größere Schrift */
.adams-header-address {
    margin: 0;
    line-height: 1.2;
    font-size: 1.05rem;
    font-weight: bold;
    color: #000000;
    display: flex;
    justify-content: space-between;  /* verteilt die Blöcke über die gesamte Breite */
    flex-wrap: wrap;                 /* falls es zu schmal wird, dürfen Zeilen umbrechen */
    column-gap: 12px;                /* optional: Abstand zwischen den Blöcken */
}

/* Blöcke nicht umbrechen, aber insgesamt in neue Zeile springen */
.adams-header-address-block {
    flex: 1 1 auto;          /* teilt die Breite gleichmäßig auf */
    white-space: nowrap;     /* kein Umbruch innerhalb eines Blocks */
    text-align: center;      /* Text innerhalb des Blocks zentriert */
}

.adams-header-tel-link {
    color: #000000;
    text-decoration: none;
}

.adams-header-tel-link:hover,
.adams-header-tel-link:focus {
    text-decoration: underline;
}

.adams-header-map-link {
    color: #000000;
    text-decoration: none;
}

.adams-header-map-link:hover,
.adams-header-map-link:focus {
    text-decoration: underline;
}



/* =========================================
   HEADER: STICKY NAVBAR + BURGER (einziges System)
   ========================================= */
.adams-nav-sentinel { margin: 0 !important; padding: 0; pointer-events: none; }
.adams-header.adams-site-header { background-color: var(--wp--preset--color--white, #ffffff) !important; }
.adams-header.adams-site-header > .wp-block-group.adams-header-top { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.adams-header.adams-site-header > .adams-header-navbar,
.adams-header.adams-site-header .wp-block-group.adams-header-navbar { margin-top: 0 !important; padding-top: 0 !important; }

.adams-header-navbar {
    --adams-navbar-height: 56px;
    position: relative;
    z-index: 9999;
    background-color: var(--wp--preset--color--primary-dark, #00324f) !important;
    border-top: 5px solid var(--wp--preset--color--secondary, #c1272d);
    transition: box-shadow 0.35s ease, padding 0.35s ease;
}
.adams-header-navbar .adams-main-nav { border-top: none !important; }
/* Navbar-Balken immer über volle Bildschirmbreite */
body:not(.is-nav-stuck):not(.is-nav-mobile) .adams-header-navbar {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 8px !important;
    padding-right: 8px !important;
    box-sizing: border-box;
}
/* Buttons/Inhalt der Navbar nur 1200px in der Mitte */
body:not(.is-nav-stuck):not(.is-nav-mobile) .adams-header-navbar .adams-navbar-row {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}
body.is-nav-stuck .adams-header-navbar,
body.is-nav-mobile .adams-header-navbar {
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
    left: 0; right: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
body.is-nav-stuck main,
body.is-nav-mobile main { padding-top: var(--adams-navbar-height, 56px); }

.adams-header-top { overflow: hidden; }
@media (min-width: 769px) {
    .adams-header-top { overflow: visible; }
}
/* Header-Bilder beim Scrollen nicht verkleinern – bleiben in voller Größe */
.adams-header-top .adams-header-side img,
.adams-header-top .adams-header-side-image img,
.adams-header-top .adams-header-logo-row img {
    transform: none;
    transition: transform 0.2s ease;
}
body.is-nav-stuck .adams-header-top,
body.is-nav-mobile .adams-header-top { max-height: 0; opacity: 0; pointer-events: none; }
body.is-nav-stuck .adams-header-top .adams-header-side img,
body.is-nav-stuck .adams-header-top .adams-header-side-image img,
body.is-nav-mobile .adams-header-top .adams-header-side img,
body.is-nav-mobile .adams-header-top .adams-header-side-image img,
body.is-nav-stuck .adams-header-top .adams-header-logo-row img,
body.is-nav-mobile .adams-header-top .adams-header-logo-row img { max-height: 0; opacity: 0; }

@media (min-width: 769px) {
    body:not(.is-nav-stuck) .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
        position: static !important; display: flex !important; flex: 1 !important; width: 100% !important; max-width: 1200px !important;
        height: auto !important; inset: auto !important; background: transparent !important; overflow: visible !important;
    }
    body:not(.is-nav-stuck) .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content {
        display: flex !important; flex: 1 !important; width: 100% !important; max-width: 1200px !important;
        visibility: visible !important; opacity: 1 !important; padding: 0 !important;
    }
    body:not(.is-nav-stuck) .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
        display: flex !important; flex: 1 !important; flex-direction: row !important; justify-content: space-between !important;
        gap: 8px !important; visibility: visible !important; opacity: 1 !important;
    }
    body:not(.is-nav-stuck) .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item { flex: 1 1 0 !important; min-width: 0 !important; }
    body:not(.is-nav-stuck) .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none !important; }
    /* Burger-Button auf Desktop ausblenden und keinen Platz lassen */
    body:not(.is-nav-stuck) .adams-header-navbar .adams-main-nav .wp-block-navigation .wp-block-navigation__responsive-container-open {
        display: none !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        max-width: 0;
        overflow: hidden;
    }
    body.is-nav-stuck .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
    body.is-nav-stuck .adams-header-navbar .adams-main-nav .wp-block-navigation .wp-block-navigation__responsive-container-open {
        opacity: 1 !important; visibility: visible !important; max-width: none !important; display: flex !important; pointer-events: auto !important; color: #fff !important;
    }
    /* Sticky Desktop Override: normale Buttons anzeigen, kein Logo/Info, kein Burger */
    body.is-nav-stuck .adams-nav-logo,
    body.is-nav-stuck .adams-nav-contact {
        opacity: 0 !important; max-width: 0 !important; min-width: 0 !important; width: 0 !important;
        flex: 0 0 0 !important; overflow: hidden !important; pointer-events: none !important;
        padding: 0 !important; margin: 0 !important; display: none !important;
    }
    body.is-nav-stuck .adams-navbar-row {
        display: flex !important; justify-content: center; grid-template-columns: unset; align-items: center; gap: 16px;
    }
    body.is-nav-stuck .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: flex !important; position: static !important; flex: 1 !important; width: 100% !important; max-width: 1200px !important;
        height: auto !important; overflow: visible !important; visibility: visible !important; opacity: 1 !important;
    }
    body.is-nav-stuck .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content {
        display: flex !important; flex: 1 !important; width: 100% !important; max-width: 1200px !important; visibility: visible !important; opacity: 1 !important; padding: 0 !important;
    }
    body.is-nav-stuck .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
        display: block !important; flex: 1 1 auto !important; width: 100% !important; visibility: visible !important; opacity: 1 !important;
    }
    body.is-nav-stuck .adams-header-navbar .adams-main-nav .wp-block-navigation .wp-block-navigation__responsive-container-open {
        display: none !important; opacity: 0; visibility: hidden; pointer-events: none; max-width: 0; overflow: hidden;
    }
}
@media (max-width: 768px) {
    :root {
        --adams-mobile-logo-bar-h: 92px;
        --adams-mobile-nav-h: 56px;
    }
    .adams-header-navbar .adams-main-nav .wp-block-navigation__container { display: none !important; }
    .adams-header-navbar .adams-main-nav .wp-block-navigation .wp-block-navigation__responsive-container-open {
        opacity: 1; visibility: visible; max-width: none; display: flex !important; color: #fff; pointer-events: auto;
    }
    body.is-nav-mobile .adams-header-top {
        display: flex !important;
        align-items: center;
        justify-content: center;
        max-height: none !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        position: fixed !important;
        top: var(--wp-admin--admin-bar--height, 0px) !important;
        left: 0 !important;
        right: 0 !important;
        height: var(--adams-mobile-logo-bar-h) !important;
        min-height: var(--adams-mobile-logo-bar-h) !important;
        background: #fff !important;
        z-index: 1002 !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
    }
    body.is-nav-mobile .adams-header-top .adams-header-logo-row img,
    body.is-nav-mobile .adams-header-top .adams-header-side-image img {
        max-height: 64px !important;
        opacity: 1 !important;
    }
    body.is-nav-mobile .adams-header-top .adams-header-address-wrapper,
    body.is-nav-mobile .adams-header-top .adams-header-contact {
        display: none !important;
    }
    body.is-nav-mobile .adams-header-navbar {
        top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--adams-mobile-logo-bar-h)) !important;
        z-index: 1001 !important;
    }
    body.is-nav-mobile main {
        padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--adams-mobile-logo-bar-h) + var(--adams-mobile-nav-h)) !important;
    }
    .adams-header-navbar .adams-nav-logo,
    body.is-nav-mobile .adams-header-navbar .adams-nav-logo {
        display: none !important;
        width: 0 !important;
        max-width: 0 !important;
        overflow: hidden !important;
    }
}

body:not(.is-nav-stuck):not(.is-nav-mobile) .adams-nav-logo,
body:not(.is-nav-stuck):not(.is-nav-mobile) .adams-nav-contact {
    opacity: 0;
    max-width: 0 !important;
    min-width: 0 !important;
    width: 0 !important;
    flex: 0 0 0 !important;
    overflow: hidden;
    pointer-events: none;
    padding: 0 !important;
    margin: 0 !important;
}
body.is-nav-stuck .adams-nav-logo, body.is-nav-stuck .adams-nav-contact,
body.is-nav-mobile .adams-nav-logo, body.is-nav-mobile .adams-nav-contact { opacity: 1; max-width: none; pointer-events: auto; display: flex; align-items: center; }
body:not(.is-nav-stuck):not(.is-nav-mobile) .adams-navbar-row {
    justify-content: center;
    gap: 0;
}

body.is-nav-stuck .adams-navbar-row, body.is-nav-mobile .adams-navbar-row {
    display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 8px;
}
body.is-nav-stuck .adams-navbar-row .adams-nav-logo, body.is-nav-mobile .adams-navbar-row .adams-nav-logo,
body.is-nav-stuck .adams-navbar-row .adams-nav-contact, body.is-nav-mobile .adams-navbar-row .adams-nav-contact { grid-column: 1; }
body.is-nav-stuck .adams-navbar-row .adams-nav-logo, body.is-nav-mobile .adams-navbar-row .adams-nav-logo { justify-content: center; text-align: center; width: 100%; }
body.is-nav-stuck .adams-navbar-row .adams-nav-contact, body.is-nav-mobile .adams-navbar-row .adams-nav-contact { align-self: start; text-align: center; }

.adams-navbar-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 1200px; margin: 0 auto; width: 100%; box-sizing: border-box; }
.adams-nav-logo .wp-block-site-logo img { height: 104px; width: auto; }
.adams-nav-contact { flex: 1; justify-content: center; text-align: center; }
.adams-nav-contact-text, .adams-nav-contact .adams-header-address { margin: 0; font-size: 0.9rem; color: var(--wp--preset--color--light, #f5f5f5); }
.adams-nav-contact .adams-header-map-link, .adams-nav-contact .adams-header-tel-link { color: var(--wp--preset--color--light, #f5f5f5); }

.adams-main-nav .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important; top: var(--wp-admin--admin-bar--height, 0px) !important; right: 0 !important; left: auto !important;
    width: min(360px, 92vw) !important; max-width: 92vw !important; height: 100vh !important;
    background-color: var(--wp--preset--color--primary-dark, #00324f) !important; overflow-y: auto !important; z-index: 100000;
}
.adams-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { display: block !important; visibility: visible !important; padding: 1.5rem; }
.adams-header-navbar .wp-block-navigation__responsive-container-open { color: #fff !important; }

@media (min-width: 769px) {
    .adams-header-navbar .adams-main-nav .wp-block-navigation,
    .adams-header-navbar .adams-main-nav .wp-block-navigation__container { display: flex !important; visibility: visible !important; opacity: 1 !important; }
    .adams-header-navbar .adams-main-nav .wp-block-navigation__container .wp-block-navigation-item,
    .adams-header-navbar .adams-main-nav .wp-block-navigation__container .wp-block-navigation-item__content,
    .adams-header-navbar .adams-main-nav .wp-block-navigation__container a { display: flex !important; visibility: visible !important; opacity: 1 !important; color: var(--wp--preset--color--light, #f5f5f5) !important; }
}
@media (max-width: 768px) {
    .adams-header-navbar .adams-main-nav .wp-block-navigation__responsive-container-open,
    header .adams-main-nav .wp-block-navigation__responsive-container-open { display: flex !important; visibility: visible !important; opacity: 1 !important; max-width: none !important; pointer-events: auto !important; }
}
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open,
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { display: block !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; }
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display: flex !important; flex-direction: column !important; }
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open a { display: flex !important; visibility: visible !important; opacity: 1 !important; color: var(--wp--preset--color--light, #f5f5f5) !important; }
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open { z-index: 100001 !important; }

/* =========================================
   HEADER: BUTTON- & LOGOZEILEN-FORMATIERUNG
   ========================================= */

/* Nav-Container im Header: wenig Abstand, Rahmen oben weg */
header .adams-main-nav .wp-block-navigation__container,
header .adams-header-navbar .adams-main-nav .wp-block-navigation__container {
    border-top: none !important;
    padding-top: 0;
    padding-bottom: 4px;
    padding-left: 4px;
    padding-right: 4px;
    gap: 8px;
}

@media (min-width: 769px) {
    header .adams-main-nav .wp-block-navigation__container,
    header .adams-header-navbar .adams-main-nav .wp-block-navigation__container {
        display: flex !important;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }
    header .adams-main-nav .wp-block-navigation__container > .wp-block-navigation-item,
    header .adams-header-navbar .adams-main-nav .wp-block-navigation__container > .wp-block-navigation-item {
        flex: 1 1 0;
        min-width: 0;
    }
    header .adams-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
    header .adams-header-navbar .adams-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
        width: 100%;
        display: flex !important;
        justify-content: center;
        align-items: center;
    }
}

/* Pfeile/Submenu-Icons in Buttons ausblenden */
header .adams-main-nav .wp-block-navigation-item__submenu-icon,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item__submenu-icon,
header .adams-main-nav .wp-block-navigation-submenu__toggle {
    display: none !important;
}

/* Button-Basis: Rahmen weiß, Hintergrund dunkelblau */
header .adams-main-nav .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item__content {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 8px 14px !important;
    border: 2px solid #fff !important;
    border-radius: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    color: var(--wp--preset--color--light, #f5f5f5) !important;
    background-color: var(--wp--preset--color--primary-dark, #00324f) !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    text-align: center !important;
}
/* Zweizeilige Button-Texte zentriert */
header .adams-main-nav .wp-block-navigation-item__content a,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item__content a {
    text-align: center !important;
}

/* Hover/Focus: Rahmen immer rot, Hintergrund unverändert (aktiv = hellblau, inaktiv = dunkelblau) */
header .adams-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus,
header .adams-main-nav .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus {
    border-color: var(--wp--preset--color--secondary, #BE2A2A) !important;
}

/* Aktiver Menüpunkt: Hintergrund hellblau */
header .adams-main-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
    background-color: var(--wp--preset--color--primary, #004c75) !important;
    border-color: #fff !important;
    color: var(--wp--preset--color--light, #f5f5f5) !important;
}
header .adams-main-nav .wp-block-navigation-item__content[aria-current="page"],
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
    background-color: var(--wp--preset--color--primary, #004c75) !important;
    border-color: #fff !important;
    color: var(--wp--preset--color--light, #f5f5f5) !important;
}

/* Aktiver Menüpunkt bei Hover: Rahmen rot */
header .adams-main-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content:focus,
header .adams-main-nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content:focus,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content:focus,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content:focus,
header .adams-main-nav .wp-block-navigation-item__content[aria-current="page"]:hover,
header .adams-main-nav .wp-block-navigation-item__content[aria-current="page"]:focus,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]:hover,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]:focus {
    border-color: var(--wp--preset--color--secondary, #BE2A2A) !important;
}

/* Drawer: Hover für Menüeinträge */
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus,
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open a:hover,
header .adams-main-nav .wp-block-navigation__responsive-container.is-menu-open a:focus {
    background-color: var(--wp--preset--color--primary, #004c75) !important;
    color: var(--wp--preset--color--light, #f5f5f5) !important;
}

/* Submenü-Container: dunkelblau, abgerundet, Schatten */
header .adams-main-nav .wp-block-navigation__submenu-container,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container,
header .adams-main-nav .wp-block-navigation .wp-block-navigation__submenu-container,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-submenu__submenu-container {
    min-width: 100%;
    background-color: var(--wp--preset--color--primary-dark, #00324f) !important;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 6px 0;
}
/* Submenü-Einträge: Trennlinie zwischen Einträgen */
header .adams-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container .wp-block-navigation-item,
header .adams-main-nav .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-submenu__submenu-container .wp-block-navigation-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
header .adams-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container .wp-block-navigation-item:last-child,
header .adams-main-nav .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-submenu__submenu-container .wp-block-navigation-item:last-child {
    border-bottom: none;
}
/* Submenü-Buttons: Padding, abgerundete Ecken */
header .adams-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation__submenu-container a,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-submenu__submenu-container .wp-block-navigation-item__content,
header .adams-main-nav .wp-block-navigation__submenu-container a,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container a {
    display: flex;
    padding: 10px 14px;
    border: none !important;
    border-radius: 4px;
    background-color: var(--wp--preset--color--primary-dark, #00324f) !important;
    color: var(--wp--preset--color--light, #f5f5f5) !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}
/* Submenü Hover: hellblauer Hintergrund */
header .adams-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus,
header .adams-main-nav .wp-block-navigation__submenu-container a:hover,
header .adams-main-nav .wp-block-navigation__submenu-container a:focus,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container .wp-block-navigation-item__content:focus,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container a:hover,
header .adams-main-nav .wp-block-navigation-submenu__submenu-container a:focus,
header .adams-main-nav .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
header .adams-main-nav .wp-block-navigation .wp-block-navigation__submenu-container a:focus,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-submenu__submenu-container a:hover,
header .adams-main-nav .wp-block-navigation .wp-block-navigation-submenu__submenu-container a:focus {
    background-color: var(--wp--preset--color--primary, #004c75) !important;
    color: var(--wp--preset--color--light, #f5f5f5) !important;
}

/* Logoleiste (Header-Top): beide Logos gleich hoch, mittig ausgerichtet */
.adams-header-top .adams-header-logo-row {
    min-height: clamp(80px, 18vmin, 120px);
    padding: 8px 0 0 0;
    gap: clamp(12px, 2vw, 24px);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.adams-header-top .adams-header-logo-row .wp-block-site-logo,
.adams-header-top .adams-header-logo-row .wp-block-image,
.adams-header-top .adams-header-logo-row .adams-header-ral,
.adams-header-top .adams-header-logo-row figure {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    line-height: 0;
}
.adams-header-top .adams-header-logo-row .wp-block-site-logo a {
    display: flex;
    align-items: center;
    line-height: 0;
}
.adams-header-top .adams-header-logo-row .wp-block-site-logo img,
.adams-header-top .adams-header-logo-row .adams-header-ral img,
.adams-header-top .adams-header-logo-row .adams-header-logo img {
    height: clamp(80px, 18vmin, 120px) !important;
    width: auto !important;
    max-width: 100%;
    max-height: 100px !important;
    object-fit: contain;
    object-position: center;
    vertical-align: middle;
    display: block;
    transition: transform 0.2s ease;
}
.adams-header-top .adams-header-logo-row a:hover img,
.adams-header-top .adams-header-logo-row a:focus img {
    transform: scale(1.03);
}

/* Adresse/Telefon im Header-Top: Hover */
.adams-header-top .adams-header-map-link:hover,
.adams-header-top .adams-header-map-link:focus,
.adams-header-top .adams-header-tel-link:hover,
.adams-header-top .adams-header-tel-link:focus {
    text-decoration: underline;
}





/* =========================================
   LOGO + RAL SAUBER NEBENEINANDER
   ========================================= */

.adams-header-logo-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;                 /* Abstand Logo ↔ RAL */
    margin: 0 auto;
}

.adams-header-logo {
    height: 90px;              /* feste visuelle Referenz */
    width: auto;
    display: block;
}

.adams-header-ral {
    height: 90px;              /* exakt gleiche Höhe */
    width: auto;
    display: block;
}

/* Klickflächen sauber */
.adams-header-logo-link,
.adams-header-ral-link {
    display: inline-flex;
    align-items: center;
}

/*
@media (max-width: 782px) {
    .adams-header-logo {
        height: 70px;
    }

    .adams-header-ral {
        height: 70px;
    }
}
*/






















/* =========================================
   SECTIONS / CONTENT – OnePage
   ========================================= */

/* Startseite: Hintergrund + 3 Content-Boxen */
.adams-startseite-bg.wp-block-cover { position: relative; overflow: hidden; }
.adams-startseite-bg .wp-block-cover__inner-container { padding: 48px 1.5rem; min-height: 0; position: relative; z-index: 1; }
.adams-startseite-bg .wp-block-cover__background { opacity: 0.15; }
.adams-startseite-bg .wp-block-cover__image-background {
    opacity: 0.45;
    filter: saturate(0.85);
    object-fit: cover;
    pointer-events: none;
}
@media (min-width: 900px) {
    .adams-startseite-bg.is-style-parallax-section .wp-block-cover__image-background {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        transform: translateZ(0);
        z-index: 0;
    }
}
@media (max-width: 899px) {
    .adams-startseite-bg .wp-block-cover__image-background {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
    }
}
.adams-startseite-content { display: flex; flex-direction: column; gap: 0; align-items: center; }
.adams-startseite-card {
    background: rgba(255, 255, 255, 0.92);
    padding: 32px;
    margin: 48px auto;
    max-width: 1200px;
    width: 100%;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border-radius: 2px;
}
.adams-startseite-card .wp-block-columns { margin: 0; }
.adams-startseite-card-media { min-height: 220px; display: flex; align-items: center; justify-content: center; background-color: transparent !important; }
.adams-startseite-card-media img { width: 60%; max-width: 60%; height: auto; display: block; margin-left: auto; margin-right: auto; }
/* Section 1: ein Bild, 55% Breite */
.adams-startseite-bg .adams-startseite-card:nth-of-type(1) .adams-startseite-card-media img { width: 55% !important; max-width: 55% !important; }
/* Section 2: zwei Bilder untereinander, je 55% */
.adams-startseite-card-media-stack { flex-direction: column !important; flex-wrap: nowrap !important; align-items: center !important; gap: 1.25rem !important; }
.adams-startseite-card-media-stack .wp-block-image { width: 100% !important; display: block !important; }
.adams-startseite-card-media-stack .wp-block-image a { display: block !important; width: 100% !important; }
.adams-startseite-card-media-stack img { width: 55% !important; max-width: 55% !important; display: block !important; margin-left: auto !important; margin-right: auto !important; }
/* Section 3: ein Bild, 40% Breite */
.adams-startseite-bg .adams-startseite-card:nth-of-type(3) .adams-startseite-card-media img { width: 40% !important; max-width: 40% !important; }
.adams-divider-vertical { min-width: 3px; flex-shrink: 0; }
.adams-startseite-card-text h2 { margin-top: 0; font-weight: 700; line-height: 1.2; }
.adams-startseite-card-text p { line-height: 1.6; margin-bottom: 1rem; }
.adams-startseite-card-text p:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
    .adams-startseite-card .wp-block-columns { flex-direction: column !important; }
    .adams-startseite-card .wp-block-column { flex-basis: 100% !important; }
    .adams-divider-vertical { min-height: 3px !important; width: 100% !important; }
}

/* Blauer Titelbalken (nur Unterseiten) */
.adams-title-bar {
    background-color: var(--wp--preset--color--primary-dark, #00324f) !important;
    color: var(--wp--preset--color--light, #f5f5f5) !important;
    margin: 0 !important;
}
/* Unterseiten: Balken nur so breit wie der Seiteninhalt (1200px) */
.adams-title-bar--narrow {
    max-width: 1200px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.adams-title-bar .wp-block-post-title {
    margin: 0 !important;
    color: inherit !important;
    font-weight: 700;
}

/* Hauptseiten-Template: optionaler Hero (nur wenn verwendet) */
.adams-hauptseite-hero {
    position: relative;
    min-height: 200px;
    overflow: hidden;
}
.adams-hauptseite-hero .wp-block-post-featured-image img {
    width: 100%;
    height: auto;
    max-height: 40vh;
    object-fit: cover;
    opacity: 0.9;
}

.adams-section-titlebar h2 { margin: 0; text-transform: uppercase; letter-spacing: 0.03em; }





/* =========================================
   FOOTER
   ========================================= */

.adams-footer {
    background-color: var(--wp--preset--color--primary-dark);
    color: #ffffff;
    padding-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.adams-footer > .wp-block-group {
    flex: 1 1 280px;
}
.adams-footer > .wp-block-group:first-child {
    padding-left: 2.5rem !important;
    padding-bottom: 1.5rem !important;
}
@media (max-width: 449px) {
    .adams-footer { flex-direction: column; }
    .adams-footer > .wp-block-group { flex: 1 1 100%; }
}

.adams-footer__bottom {
    background-color: var(--wp--preset--color--primary);
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
    text-align: center;
}










/* (Responsive/Burger siehe Abschnitt HEADER: STICKY NAVBAR + BURGER) */






/* =========================================
   RESPONSIVE DESIGN
   ========================================= */



@media (max-width: 992px) {
    /*
    .adams-header-top {
        padding-left: 10px;
        padding-right: 10px;
    }
*/

  .adams-header-address {
        font-size: 0.95rem;
        justify-content: center;
        column-gap: 16px;
    }
}

@media (max-width: 782px) {

    /* Header stacken */
    .adams-header-top {
        flex-direction: column;
        gap: 10px;
        max-width: 100%; /* volle Breite auf kleinen Screens */
        margin-bottom:10px;
    }

    .adams-header-side img {
        display: none;
        /*
        width: 100%;
        height: auto;
        */
    }

    /* Logo + Adresse ganz oben */
    .adams-header-center {
        order: -1;
    }


    .adams-header-address {
        font-size: 1.5rem;
        flex-direction: column;
        align-items: center;
        row-gap: 4px;
    }

    /* Navigation stärker komprimieren */
    .adams-main-nav {
        border-top-width: 4px;
    }

}

@media (max-width: 540px) {

       .adams-header-address {
        font-size: 1rem;
    }
}






/* ================================
   HEADER & NAVIGATION < 600px
   Logo + Adresse + Menüpunkte = gleiche Breite
   ================================ */

@media (max-width: 600px) {

  /* Header-Zentrum ohne seitliches Padding,
     damit wir die volle Breite nutzen können */
  .adams-header-center {
      padding: 0;
  }

  /* Logo und Adress-Wrapper: 88 % der Viewport-Breite */
  .adams-header-logo,
  .adams-header-address-wrapper {
      width: 88vw;
      max-width: 88vw;
      margin-left: auto;
      margin-right: auto;
      box-sizing: border-box;
  }

  /* NAV: UL vertikal, ebenfalls 88 % der Viewport-Breite */
  .adams-main-nav .wp-block-navigation__container {
      flex-direction: column !important;
      align-items: stretch !important;
      width: 88vw !important;
      max-width: 88vw !important;
      margin: 0 auto !important;
      padding-inline: 0 !important;
      gap: 12px !important;
      box-sizing: border-box;
  }

  /* Jeder Menüpunkt füllt die 88vw komplett aus */
  .adams-main-nav .wp-block-navigation-item {
      width: 100% !important;
      max-width: 100% !important;
      flex: 0 0 auto !important;
  }

  .adams-main-nav .wp-block-navigation-item__content {
      width: 100% !important;
      min-height: 48px;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 12px 0 !important;
      box-sizing: border-box;
  }
}














/* =========================================
   PAGES/TEMPLATES: SECTIONS (Hochbau/Tiefbau etc.)
   ========================================= */

.adams-section-cover.wp-block-cover {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    min-height: 50vh;
    padding-top: 0 !important;
    margin-top: 0 !important;
    align-items: flex-start !important;
}
.adams-section-cover .wp-block-cover__inner-container { padding: 0; }
.adams-section-cover .wp-block-cover__background {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
.is-style-parallax-section { position: relative; overflow: hidden; }
.is-style-parallax-section .wp-block-cover__image-background,
.is-style-parallax-section .wp-block-cover__background {
    background-attachment: fixed;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
@media (max-width: 782px) {
    .is-style-parallax-section .wp-block-cover__image-background { background-attachment: scroll; }
}
.adams-section { max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem; }
.adams-section .adams-section-titlebar { margin-top: 0 !important; }
.adams-section-titlebar {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 1.25rem 1.5rem;
    background-color: var(--wp--preset--color--primary-dark, #00324B);
    color: #ffffff;
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.03em;
}
.adams-section .wp-block-columns { margin-top: 2rem; gap: 2rem; }
.adams-section p, .adams-section li { color: #000000; }
.adams-section--light .adams-section-titlebar { background-color: #acacac; color: #00324B; }
.adams-section--light p, .adams-section--light li { color: #00324B; }
.adams-section-textblock { background-color: rgba(255, 255, 255, 0.75); padding: 40px; }
.adams-section-cover .wp-block-group:first-child,
.adams-section-cover section.wp-block-group:first-child { margin-top: 0 !important; padding-top: 0 !important; }

/* =========================================
   NAV DOM FIX (PAGE LIST)
   ========================================= */
@media (min-width: 769px) {
    body:not(.is-nav-stuck):not(.is-nav-mobile) header .adams-navbar-row .adams-main-nav,
    body.is-nav-stuck header .adams-navbar-row .adams-main-nav {
        flex: 1 1 auto;
        min-width: 0;
    }
    body:not(.is-nav-stuck):not(.is-nav-mobile) header .adams-main-nav .wp-block-navigation,
    body.is-nav-stuck header .adams-main-nav .wp-block-navigation {
        width: 100%;
    }
    header .adams-main-nav .wp-block-navigation__container {
        display: block;
        padding-left: 0;
        padding-right: 0;
    }
    header .adams-main-nav .wp-block-navigation__container .wp-block-page-list {
        display: flex;
        gap: 12px;
        max-width: 1200px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 12px;
        list-style: none;
        box-sizing: border-box;
    }
    header .adams-main-nav .wp-block-navigation__container .wp-block-page-list > .wp-block-pages-list__item {
        flex: 1 1 0;
        min-width: 0;
    }
    header .adams-main-nav .wp-block-navigation__container .wp-block-page-list > .wp-block-pages-list__item > a {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    header .adams-main-nav .wp-block-navigation__container .wp-block-page-list > .wp-block-pages-list__item > a:hover,
    header .adams-main-nav .wp-block-navigation__container .wp-block-page-list > .wp-block-pages-list__item > a:focus,
    header .adams-main-nav .wp-block-navigation__container .wp-block-page-list > .wp-block-pages-list__item > a:focus-visible {
        border-color: var(--wp--preset--color--secondary, #BE2A2A) !important;
    }
}

/* Editor only: Header-Vorschau ohne fixed/transform */
.editor-styles-wrapper .adams-header-top,
.editor-styles-wrapper .adams-header-navbar {
    transform: none !important;
    position: static !important;
}