/* AIBH WERKRAUM – local-business WordPress pilot (all selectors scoped). */
.aibh-wr-site{--wr-ink:#193239;--wr-deep:#102f35;--wr-accent:#e6af7a;--wr-cream:#f6f5ef;--wr-muted:#66787b;color:var(--wr-ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65;overflow:hidden}
.aibh-wr-site *, .aibh-wr-site *::before,.aibh-wr-site *::after{box-sizing:border-box}
.aibh-wr-site .aibh-wr-container{width:min(100% - 56px,1180px);max-width:1180px!important;margin-inline:auto;padding:0}
.aibh-wr-site :where(h1,h2,h3){font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;letter-spacing:-.045em;color:inherit;font-weight:800;line-height:1.17}
.aibh-wr-site h2{font-size:clamp(2rem,3.8vw,3.4rem);margin:.5em 0 .6em}.aibh-wr-site h3{font-size:1.25rem;margin:.55em 0}.aibh-wr-site p{line-height:1.7}.aibh-wr-site em{font-family:Georgia,serif;font-weight:400;color:#b58b69}
.aibh-wr-site .aibh-wr-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#9c775d;margin-bottom:1rem}
.aibh-wr-site .aibh-wr-ribbon-area{background:#edc094}.aibh-wr-site .aibh-wr-ribbon{text-align:center;font-size:.65rem;font-weight:800;letter-spacing:.16em;margin:0;padding:9px 12px}
.aibh-wr-site .aibh-wr-hero{background:var(--wr-cream)}
.aibh-wr-site .aibh-wr-hero-columns{gap:2.6rem;align-items:stretch;margin:0}
.aibh-wr-site .aibh-wr-hero-columns>.wp-block-column:first-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(46px,6vw,100px) 0}
.aibh-wr-site .aibh-wr-h1{font-size:clamp(2.9rem,5.2vw,5.1rem);line-height:1.1;margin:0 0 1.6rem}
.aibh-wr-site .aibh-wr-lead{color:var(--wr-muted);font-size:1.09rem;max-width:530px}
.aibh-wr-site .aibh-wr-facts{font-size:.77rem;color:var(--wr-muted);margin:2.5rem 0 0;padding-top:1.2rem;border-top:1px solid #dae0d9}
.aibh-wr-site .wp-block-buttons{margin-top:1.5rem}
.aibh-wr-site .wp-block-button__link{background:var(--wr-accent);color:#142f35!important;border-radius:4px;font-size:.85rem;font-weight:800;padding:1rem 1.4rem;text-decoration:none}
.aibh-wr-site .wp-block-button__link:hover{background:#f0bf8c;color:#142f35!important}
.aibh-wr-site .aibh-wr-hero-photo,.aibh-wr-site .aibh-wr-hero-photo img{height:100%;min-height:480px;width:100%;object-fit:cover}
.aibh-wr-site .aibh-wr-hero-photo{margin:0}
.aibh-wr-site .aibh-wr-intro{background:#edf1ec;padding:60px 0}
.aibh-wr-site .aibh-wr-intro .wp-block-columns{align-items:center;gap:3rem;margin:0}
.aibh-wr-site .aibh-wr-section{padding:90px 0}
.aibh-wr-site .aibh-wr-intro-copy{max-width:640px;color:var(--wr-muted);margin-bottom:2rem}
.aibh-wr-site .aibh-wr-service-columns{gap:1.15rem}
.aibh-wr-site .aibh-wr-service-card{height:100%;background:#f5f6f3;padding-bottom:.75rem}
.aibh-wr-site .aibh-wr-card-photo{margin:0}.aibh-wr-site .aibh-wr-card-photo img{height:215px;width:100%;object-fit:cover}
.aibh-wr-site .aibh-wr-card-body{padding:22px 24px!important}.aibh-wr-site .aibh-wr-card-body p{font-size:.92rem;color:var(--wr-muted)}
.aibh-wr-site .aibh-wr-number{color:#b28a6c!important;font-weight:800}.aibh-wr-site .aibh-wr-card-link a{font-size:.85rem;font-weight:800;color:var(--wr-ink)}
.aibh-wr-site .aibh-wr-dark{background:var(--wr-deep);color:white;padding:86px 0}.aibh-wr-site .aibh-wr-dark p{color:#b4c5c6}.aibh-wr-site .aibh-wr-dark .aibh-wr-kicker{color:var(--wr-accent)}.aibh-wr-site .aibh-wr-reasons-columns{gap:4rem;align-items:center}
.aibh-wr-site .aibh-wr-reason{border-top:1px solid #36565a;padding:16px 0}.aibh-wr-site .aibh-wr-reason h3{color:#fff}
.aibh-wr-site .aibh-wr-process{background:#f7f8f5}.aibh-wr-site .aibh-wr-steps{gap:1.25rem;margin-top:2rem}
.aibh-wr-site .aibh-wr-step{border-top:2px solid #d0d9d3;padding-top:18px}.aibh-wr-site .aibh-wr-step-number{font-weight:800;color:#b58b69;font-size:1.8rem;margin:0}
.aibh-wr-site .aibh-wr-project-columns{gap:1.25rem}.aibh-wr-site .aibh-wr-project img{width:100%;height:340px;object-fit:cover}.aibh-wr-site .aibh-wr-project h3{font-size:1.1rem}
.aibh-wr-site .aibh-wr-contact{background:#0c252c;color:white;padding:90px 0}.aibh-wr-site .aibh-wr-contact-columns{gap:4rem;align-items:center}.aibh-wr-site .aibh-wr-contact p{color:#c1d0d0}
.aibh-wr-site .aibh-wr-contact-card{border:1px solid #4d686a;border-radius:6px;padding:30px;background:#15353b}.aibh-wr-site .aibh-wr-contact-card h3{color:white}.aibh-wr-site .aibh-wr-disclaimer{font-size:.8rem;opacity:.8}
.aibh-wr-site .aibh-wr-footer{background:#f3f5f1;padding:40px 0}.aibh-wr-site .aibh-wr-footer p{margin:.25rem 0;color:#66777a;font-size:.8rem}.aibh-wr-site .aibh-wr-footer-title{font-weight:900;color:#16333b!important;letter-spacing:.08em}
.aibh-wr-site :target{scroll-margin-top:100px}
@media(max-width:781px){.aibh-wr-site .aibh-wr-container{width:calc(100% - 36px)}.aibh-wr-site .aibh-wr-section{padding:65px 0}.aibh-wr-site .aibh-wr-hero-columns>.wp-block-column:first-child{padding:60px 0 20px}.aibh-wr-site .aibh-wr-hero-photo img{min-height:320px;height:350px}.aibh-wr-site .aibh-wr-hero-photo{min-height:0}.aibh-wr-site .aibh-wr-dark,.aibh-wr-site .aibh-wr-contact{padding:65px 0}.aibh-wr-site .aibh-wr-service-columns,.aibh-wr-site .aibh-wr-steps,.aibh-wr-site .aibh-wr-project-columns{gap:1.5rem}}
@media(prefers-reduced-motion:reduce){.aibh-wr-site *{scroll-behavior:auto!important}}


/* v0.2.0: Only the isolated WERKRAUM pilot page gets the full width.
   Astra's normal content wrappers otherwise keep .alignfull descendants narrow. */
body.aibh-wr-pilot-page .site-content > .ast-container,
body.aibh-wr-pilot-page .site-content .content-area,
body.aibh-wr-pilot-page .site-content #primary,
body.aibh-wr-pilot-page .site-content .site-main,
body.aibh-wr-pilot-page .site-content article.page,
body.aibh-wr-pilot-page .site-content .entry-content {
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}
body.aibh-wr-pilot-page .site-content > .ast-container {padding-left:0!important;padding-right:0!important;display:block!important}
body.aibh-wr-pilot-page .site-content .entry-content {padding:0!important}
body.aibh-wr-pilot-page article.page > .entry-header {display:none!important}
body.aibh-wr-pilot-page .aibh-wr-site {
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}
/* Gutenberg "constrained" groups otherwise keep their children at ~560px. */
.aibh-wr-site > .wp-block-group,
.aibh-wr-site .aibh-wr-ribbon-area,
.aibh-wr-site .aibh-wr-hero,
.aibh-wr-site .aibh-wr-intro,
.aibh-wr-site .aibh-wr-section,
.aibh-wr-site .aibh-wr-dark,
.aibh-wr-site .aibh-wr-process,
.aibh-wr-site .aibh-wr-contact,
.aibh-wr-site .aibh-wr-footer {
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}
.aibh-wr-site .aibh-wr-container {
    width:min(calc(100% - 56px),1180px)!important;
    max-width:1180px!important;
    margin-inline:auto!important;
    padding:0!important;
}
.aibh-wr-site .aibh-wr-container > :where(*) {
    max-width:100%!important;
}
.aibh-wr-site .aibh-wr-hero-columns,
.aibh-wr-site .aibh-wr-service-columns,
.aibh-wr-site .aibh-wr-project-columns,
.aibh-wr-site .aibh-wr-reasons-columns,
.aibh-wr-site .aibh-wr-contact-columns {
    width:100%!important;
    max-width:none!important;
}
/* Full-width page gets narrow paddings only on actual phone layouts. */
@media(max-width:781px) {
    .aibh-wr-site .aibh-wr-container {width:calc(100% - 36px)!important}
}


/* v0.3.0 – Pilot-only presentation: hide Astra chrome, preserve WP admin bar.
   AIBH's own navigation is generated only on marked pilot pages. */
body.aibh-wr-pilot-page #masthead,
body.aibh-wr-pilot-page .site-header,
body.aibh-wr-pilot-page #colophon,
body.aibh-wr-pilot-page .site-footer,
body.aibh-wr-pilot-page article.page > .entry-header,
body.aibh-wr-pilot-page .entry-title,
body.aibh-wr-pilot-page .ast-single-post-order > .entry-title { display:none!important; }
body.aibh-wr-pilot-page .site-content { padding-top:0!important; }
body.aibh-wr-pilot-page .site-content .ast-container,
body.aibh-wr-pilot-page .site-content .site-main { padding-top:0!important; }
body.aibh-wr-pilot-page #content { padding-top:0!important; }

body.aibh-wr-pilot-page .aibh-wr-topbar,
body.aibh-wr-pilot-page .aibh-wr-topbar * { box-sizing:border-box; }
body.aibh-wr-pilot-page .aibh-wr-topbar {
  background:#fff; color:#193239; width:100%; position:relative; z-index:2;
  border-bottom:1px solid #edf1ee; font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
}
body.aibh-wr-pilot-page .aibh-wr-topbar-inner {
  max-width:1370px; width:calc(100% - 56px); min-height:88px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
body.aibh-wr-pilot-page .aibh-wr-brand {
  display:flex; align-items:center; gap:12px; color:#193239; text-decoration:none;
  line-height:1.15; flex-shrink:0;
}
body.aibh-wr-pilot-page .aibh-wr-brand:hover {color:#193239}
body.aibh-wr-pilot-page .aibh-wr-brand-mark {
  display:flex; justify-content:center; align-items:center; width:43px; height:43px;
  background:#193239; border-radius:6px; color:#fff; font-size:23px;
  line-height:1; font-weight:900; letter-spacing:-.06em;
}
body.aibh-wr-pilot-page .aibh-wr-brand-mark span {color:#e6af7a}
body.aibh-wr-pilot-page .aibh-wr-brand-name {font-size:18px;font-weight:800;letter-spacing:.06em}
body.aibh-wr-pilot-page .aibh-wr-brand-name small {
  display:block; font-size:9px; font-weight:700; letter-spacing:.22em; color:#66787b;
  margin-top:5px;
}
body.aibh-wr-pilot-page .aibh-wr-main-nav {display:flex;align-items:center;gap:clamp(12px,2vw,30px)}
body.aibh-wr-pilot-page .aibh-wr-main-nav a,
body.aibh-wr-pilot-page .aibh-wr-mobile-menu nav a {
  color:#193239; font-size:13px; font-weight:700; text-decoration:none;
}
body.aibh-wr-pilot-page .aibh-wr-main-nav a:hover,
body.aibh-wr-pilot-page .aibh-wr-mobile-menu nav a:hover {color:#ad7d55}
body.aibh-wr-pilot-page .aibh-wr-main-nav .aibh-wr-nav-cta,
body.aibh-wr-pilot-page .aibh-wr-mobile-menu .aibh-wr-nav-cta {
  background:#193239; color:#fff; border-radius:4px; padding:14px 16px;
}
body.aibh-wr-pilot-page .aibh-wr-main-nav .aibh-wr-nav-cta:hover,
body.aibh-wr-pilot-page .aibh-wr-mobile-menu .aibh-wr-nav-cta:hover {background:#2b5158;color:#fff}
body.aibh-wr-pilot-page .aibh-wr-mobile-menu {display:none;position:relative}
body.aibh-wr-pilot-page .aibh-wr-mobile-menu summary {
  list-style:none;cursor:pointer;font-size:14px;font-weight:700;color:#193239;
  border:1px solid #d7e0dc;border-radius:4px;padding:11px 13px;
}
body.aibh-wr-pilot-page .aibh-wr-mobile-menu summary::-webkit-details-marker {display:none}
body.aibh-wr-pilot-page .aibh-wr-mobile-menu summary span {margin-left:8px}
body.aibh-wr-pilot-page .aibh-wr-mobile-menu nav {
  position:absolute;top:calc(100% + 12px);right:0;min-width:230px;z-index:5;
  display:flex;flex-direction:column;align-items:stretch;gap:12px;
  background:#fff;padding:18px;box-shadow:0 10px 30px #19323925;border:1px solid #e2e8e5;border-radius:8px;
}
body.aibh-wr-pilot-page .aibh-wr-mobile-menu nav a {padding:7px}
/* Editable footer included in the block pattern, not duplicated by PHP. */
body.aibh-wr-pilot-page .aibh-wr-site .aibh-wr-footer {
  border-top:1px solid #dfe4df;padding:46px 0;
}
body.aibh-wr-pilot-page .aibh-wr-site .aibh-wr-footer .aibh-wr-footer-title {
  font-size:1.1rem; font-weight:900;
}
@media(max-width:1040px) {
 body.aibh-wr-pilot-page .aibh-wr-main-nav {display:none}
 body.aibh-wr-pilot-page .aibh-wr-mobile-menu {display:block}
}
@media(max-width:600px) {
 body.aibh-wr-pilot-page .aibh-wr-topbar-inner {min-height:72px;width:calc(100% - 32px)}
 body.aibh-wr-pilot-page .aibh-wr-brand-mark {width:37px;height:37px;font-size:21px}
 body.aibh-wr-pilot-page .aibh-wr-brand-name {font-size:15px}
 body.aibh-wr-pilot-page .aibh-wr-brand-name small {font-size:7px}
}


/* v0.3.1 – Cover block themes as well as classic Astra, only on the marked page.
   No changes to WordPress admin bar, site-wide CSS, or stored Gutenberg blocks. */
body.aibh-wr-pilot-page .wp-site-blocks > header,
body.aibh-wr-pilot-page .wp-site-blocks > footer,
body.aibh-wr-pilot-page header.wp-block-template-part,
body.aibh-wr-pilot-page footer.wp-block-template-part,
body.aibh-wr-pilot-page .wp-site-blocks > .wp-block-template-part:first-child,
body.aibh-wr-pilot-page .wp-site-blocks > .wp-block-template-part:last-child { display:none!important; }

/* Existing site template spacing and title are not part of the WERKRAUM design. */
body.aibh-wr-pilot-page .wp-site-blocks > main,
body.aibh-wr-pilot-page .wp-site-blocks > .wp-block-group,
body.aibh-wr-pilot-page main.wp-block-group,
body.aibh-wr-pilot-page .wp-block-post-content,
body.aibh-wr-pilot-page .entry-content,
body.aibh-wr-pilot-page .site-content { margin-block-start:0!important; padding-block-start:0!important; }
body.aibh-wr-pilot-page .wp-block-post-title,
body.aibh-wr-pilot-page .entry-header .entry-title,
body.aibh-wr-pilot-page h1.entry-title { display:none!important; }

/* Gutenberg's constrained group is what squeezed the injected navigation into ~560px.
   Center the navigation against the actual viewport without changing editable page content. */
body.aibh-wr-pilot-page .aibh-wr-topbar {
    display:block!important;
    width:100vw!important;
    max-width:none!important;
    min-width:0!important;
    position:relative!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    margin:0!important;
    padding:0!important;
}
body.aibh-wr-pilot-page .aibh-wr-topbar-inner {
    width:min(calc(100% - 48px),1396px)!important;
    max-width:1396px!important;
    margin:0 auto!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:clamp(12px,2vw,28px)!important;
}
body.aibh-wr-pilot-page .aibh-wr-main-nav {
    flex-wrap:nowrap!important;
    white-space:nowrap;
}
body.aibh-wr-pilot-page .aibh-wr-main-nav a {white-space:nowrap;}
@media(max-width:600px){
  body.aibh-wr-pilot-page .aibh-wr-topbar-inner {width:calc(100% - 32px)!important;}
}

/* v0.3.2: Prevent the viewport-wide pilot header from causing sideways scroll. */
html:has(body.aibh-wr-pilot-page),
body.aibh-wr-pilot-page { overflow-x: clip; }
@supports not (overflow: clip) {
  html:has(body.aibh-wr-pilot-page), body.aibh-wr-pilot-page { overflow-x: hidden; }
}
