:root,
[data-bs-theme=light] {
  --ar-primary: #d95900;
  --ar-primary-rgb: 217, 89, 0;
  --bs-primary: #d95900;
  --bs-primary-rgb: 217, 89, 0;
  --ar-secondary: #edf1f5;
  --ar-secondary-rgb: 237, 241, 245;
  --bs-secondary: #edf1f5;
  --bs-secondary-rgb: 237, 241, 245;
  --ar-warning: #edcb50;
  --ar-warning-rgb: 237, 203, 80;
  --bs-warning: #edcb50;
  --bs-warning-rgb: 237, 203, 80;
  --ar-info: #3f7fca;
  --ar-info-rgb: 63, 127, 202;
  --bs-info: #3f7fca;
  --bs-info-rgb: 63, 127, 202;
  --ar-success: #3fca90;
  --ar-success-rgb: 63, 202, 144;
  --bs-success: #3fca90;
  --bs-success-rgb: 63, 202, 144;
  --ar-danger: #ed5050;
  --ar-danger-rgb: 237, 80, 80;
  --bs-danger: #ed5050;
  --bs-danger-rgb: 237, 80, 80;
  --ar-light: #ffffff;
  --ar-light-rgb: 255, 255, 255;
  --bs-light: #ffffff;
  --bs-light-rgb: 255, 255, 255;
  --ar-dark: #21252b;
  --ar-dark-rgb: 33, 37, 43;
  --bs-dark: #21252b;
  --bs-dark-rgb: 33, 37, 43;
  --ar-link-color: #d95900;
  --ar-link-hover-color: #c04000;
  --bs-link-color: #d95900;
  --bs-link-color-rgb: 217, 89, 0;
  --bs-link-hover-color: #c04000;
  --ar-body-font-family: 'Open Sans', Arial, sans-serif;
  --ar-heading-font-family: 'Open Sans', Arial, sans-serif;
  --ar-root-font-size: 1rem;
  --ar-body-font-size: 1rem;
  --ar-border-width: 1px;
  --ar-border-radius: 1rem;
  --ar-border-radius-sm: calc(var(--ar-border-radius) * 0.75);
  --ar-border-radius-lg: calc(var(--ar-border-radius) * 1.25);
  --ar-border-radius-xl: calc(var(--ar-border-radius) * 1.5);
  --ar-border-radius-xxl: calc(var(--ar-border-radius) * 2.25);
}
[data-bs-theme=light] {
  --ar-body-bg: #ffffff;
  --bs-body-bg: #ffffff;
  --ar-body-bg-rgb: 255, 255, 255;
  --bs-body-bg-rgb: 255, 255, 255;
  --ar-body-color: #21252b;
  --bs-body-color: #21252b;
  --ar-body-color-rgb: 33, 37, 43;
  --bs-body-color-rgb: 33, 37, 43;
  --ar-secondary-color: #858c97;
  --bs-secondary-color: #858c97;
  --ar-heading-color: #21252b;
  --bs-heading-color: #21252b;
  --ar-border-color: #e3e9ef;
  --bs-border-color: #e3e9ef;
}
[data-bs-theme=light] .card {
  --ar-card-bg: #ffffff;
}
.btn-primary {
  --booost-btn-color: #fff;
  --booost-btn-hover-color: #fff;
  --ar-btn-bg: #d95900;
  --ar-btn-border-color: #d95900;
  --ar-btn-hover-bg: #c04000;
  --ar-btn-hover-border-color: #c04000;
  --ar-btn-active-bg: #c04000;
  --ar-btn-active-border-color: #c04000;
  --ar-btn-disabled-bg: #d95900;
  --ar-btn-disabled-border-color: #d95900;
}
.btn-outline-primary {
  --ar-btn-color: #d95900;
  --ar-btn-border-color: #d95900;
  --ar-btn-hover-bg: #d95900;
  --ar-btn-hover-border-color: #d95900;
  --ar-btn-active-bg: #d95900;
  --ar-btn-active-border-color: #d95900;
  --ar-btn-disabled-color: #d95900;
  --ar-btn-disabled-border-color: #d95900;
}
.btn-secondary {
  --booost-btn-color: #121519;
  --booost-btn-hover-color: #121519;
  --ar-btn-bg: #edf1f5;
  --ar-btn-border-color: #edf1f5;
  --ar-btn-hover-bg: #d4d8dc;
  --ar-btn-hover-border-color: #d4d8dc;
  --ar-btn-active-bg: #d4d8dc;
  --ar-btn-active-border-color: #d4d8dc;
  --ar-btn-disabled-bg: #edf1f5;
  --ar-btn-disabled-border-color: #edf1f5;
}
.btn-outline-secondary {
  --ar-btn-color: #edf1f5;
  --ar-btn-border-color: #edf1f5;
  --ar-btn-hover-bg: #edf1f5;
  --ar-btn-hover-border-color: #edf1f5;
  --ar-btn-active-bg: #edf1f5;
  --ar-btn-active-border-color: #edf1f5;
  --ar-btn-disabled-color: #edf1f5;
  --ar-btn-disabled-border-color: #edf1f5;
}
.btn-warning {
  --booost-btn-color: #121519;
  --booost-btn-hover-color: #121519;
  --ar-btn-bg: #edcb50;
  --ar-btn-border-color: #edcb50;
  --ar-btn-hover-bg: #d4b237;
  --ar-btn-hover-border-color: #d4b237;
  --ar-btn-active-bg: #d4b237;
  --ar-btn-active-border-color: #d4b237;
  --ar-btn-disabled-bg: #edcb50;
  --ar-btn-disabled-border-color: #edcb50;
}
.btn-outline-warning {
  --ar-btn-color: #edcb50;
  --ar-btn-border-color: #edcb50;
  --ar-btn-hover-bg: #edcb50;
  --ar-btn-hover-border-color: #edcb50;
  --ar-btn-active-bg: #edcb50;
  --ar-btn-active-border-color: #edcb50;
  --ar-btn-disabled-color: #edcb50;
  --ar-btn-disabled-border-color: #edcb50;
}
.btn-info {
  --booost-btn-color: #fff;
  --booost-btn-hover-color: #fff;
  --ar-btn-bg: #3f7fca;
  --ar-btn-border-color: #3f7fca;
  --ar-btn-hover-bg: #2666b1;
  --ar-btn-hover-border-color: #2666b1;
  --ar-btn-active-bg: #2666b1;
  --ar-btn-active-border-color: #2666b1;
  --ar-btn-disabled-bg: #3f7fca;
  --ar-btn-disabled-border-color: #3f7fca;
}
.btn-outline-info {
  --ar-btn-color: #3f7fca;
  --ar-btn-border-color: #3f7fca;
  --ar-btn-hover-bg: #3f7fca;
  --ar-btn-hover-border-color: #3f7fca;
  --ar-btn-active-bg: #3f7fca;
  --ar-btn-active-border-color: #3f7fca;
  --ar-btn-disabled-color: #3f7fca;
  --ar-btn-disabled-border-color: #3f7fca;
}
.btn-success {
  --booost-btn-color: #121519;
  --booost-btn-hover-color: #121519;
  --ar-btn-bg: #3fca90;
  --ar-btn-border-color: #3fca90;
  --ar-btn-hover-bg: #26b177;
  --ar-btn-hover-border-color: #26b177;
  --ar-btn-active-bg: #26b177;
  --ar-btn-active-border-color: #26b177;
  --ar-btn-disabled-bg: #3fca90;
  --ar-btn-disabled-border-color: #3fca90;
}
.btn-outline-success {
  --ar-btn-color: #3fca90;
  --ar-btn-border-color: #3fca90;
  --ar-btn-hover-bg: #3fca90;
  --ar-btn-hover-border-color: #3fca90;
  --ar-btn-active-bg: #3fca90;
  --ar-btn-active-border-color: #3fca90;
  --ar-btn-disabled-color: #3fca90;
  --ar-btn-disabled-border-color: #3fca90;
}
.btn-danger {
  --booost-btn-color: #fff;
  --booost-btn-hover-color: #fff;
  --ar-btn-bg: #ed5050;
  --ar-btn-border-color: #ed5050;
  --ar-btn-hover-bg: #d43737;
  --ar-btn-hover-border-color: #d43737;
  --ar-btn-active-bg: #d43737;
  --ar-btn-active-border-color: #d43737;
  --ar-btn-disabled-bg: #ed5050;
  --ar-btn-disabled-border-color: #ed5050;
}
.btn-outline-danger {
  --ar-btn-color: #ed5050;
  --ar-btn-border-color: #ed5050;
  --ar-btn-hover-bg: #ed5050;
  --ar-btn-hover-border-color: #ed5050;
  --ar-btn-active-bg: #ed5050;
  --ar-btn-active-border-color: #ed5050;
  --ar-btn-disabled-color: #ed5050;
  --ar-btn-disabled-border-color: #ed5050;
}
.btn-light {
  --booost-btn-color: #121519;
  --booost-btn-hover-color: #121519;
  --ar-btn-bg: #ffffff;
  --ar-btn-border-color: #ffffff;
  --ar-btn-hover-bg: #e6e6e6;
  --ar-btn-hover-border-color: #e6e6e6;
  --ar-btn-active-bg: #e6e6e6;
  --ar-btn-active-border-color: #e6e6e6;
  --ar-btn-disabled-bg: #ffffff;
  --ar-btn-disabled-border-color: #ffffff;
}
.btn-outline-light {
  --ar-btn-color: #ffffff;
  --ar-btn-border-color: #ffffff;
  --ar-btn-hover-bg: #ffffff;
  --ar-btn-hover-border-color: #ffffff;
  --ar-btn-active-bg: #ffffff;
  --ar-btn-active-border-color: #ffffff;
  --ar-btn-disabled-color: #ffffff;
  --ar-btn-disabled-border-color: #ffffff;
}
.btn-dark {
  --booost-btn-color: #fff;
  --booost-btn-hover-color: #fff;
  --ar-btn-bg: #21252b;
  --ar-btn-border-color: #21252b;
  --ar-btn-hover-bg: #080c12;
  --ar-btn-hover-border-color: #080c12;
  --ar-btn-active-bg: #080c12;
  --ar-btn-active-border-color: #080c12;
  --ar-btn-disabled-bg: #21252b;
  --ar-btn-disabled-border-color: #21252b;
}
.btn-outline-dark {
  --ar-btn-color: #21252b;
  --ar-btn-border-color: #21252b;
  --ar-btn-hover-bg: #21252b;
  --ar-btn-hover-border-color: #21252b;
  --ar-btn-active-bg: #21252b;
  --ar-btn-active-border-color: #21252b;
  --ar-btn-disabled-color: #21252b;
  --ar-btn-disabled-border-color: #21252b;
}
.accordion-button:not(.collapsed)::after {
  --ar-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='%23d95900'%3e%3cpath%20d='M.5%206.3c.6-.6%201.6-.6%202.3%200l9.3%209.3%209.3-9.3c.6-.6%201.6-.6%202.3%200%20.6.6.6%201.6%200%202.3L13.3%2018.8c-.6.6-1.6.6-2.3%200L.8%208.5c-.9-.8-.9-1.6-.3-2.2z'/%3e%3c/svg%3e");
}
/* trockenbauprofi - custom CSS (Phase C draft, push byte-identical into
   booost.theme_custom_css). Colours = live www.trockenbauprofi.at
   (analysis/live-colors.md): primary #d95900 (hover #a64400), dark #21252b,
   grey bands #cfd2d5, breadcrumb band #838280. Light-only values are scoped
   to html:not([data-bs-theme=dark]). @@custom.css loads before the theme:
   selectors need extra specificity. */

/* Content width 1040 like live (container 1070 incl. 15px gutters) */
@media (min-width: 1200px) {
  html body .container, html body .container-lg, html body .container-xl, html body .container-xxl { max-width: 1070px; }
}

/* Headings: live 'Open Sans Bold' face = rendered 700, uppercase */
html body h1, html body h2, html body .h1, html body .h2,
html body h3, html body h4, html body h5, html body h6 { font-weight: 700; text-transform: uppercase; }
html body h1, html body .h1 { font-size: 28px; line-height: 33.6px; }
html body h2, html body .h2 { font-size: 24px; }

/* Links: live primary, hover #a64400, no underline in navigation/footer */
html:not([data-bs-theme=dark]) body { --ar-link-hover-color: #a64400; }


/* Photo bands (live imagefullwidth padding-bottom 20 % / 25 %) */
html body .tbp-band .position-relative.z-2 { padding: 0 !important; }
html body .tbp-band-5x1 .ratio { --ar-aspect-ratio: 20%; }
html body .tbp-band-5x1 .jarallax-img { background-position: 50% 0% !important; } /* live parallax starts at the top of the photo (lamp) */
html body .tbp-band-4x1 .ratio { --ar-aspect-ratio: 25%; }

/* Hero bands Unternehmen/Kontakt: 60px light h1, orange word, 50x3 bar */
.tbp-hero .tbp-hero-title { font-size: 60px; font-weight: 400; text-transform: none; color: #fff;
  text-shadow: rgba(0, 0, 0, .2) 0 1px 0; line-height: 1.2; }
.tbp-hero .tbp-hero-title::after { content: ""; display: block; width: 50px; height: 3px;
  background: #d95900; margin: 1rem auto 0; }
.tbp-hero .tbp-hero-lead { color: rgba(250, 250, 250, .7); font-size: 18px; font-weight: 400; margin: 25px 0 0; }
.tbp-hero .tbp-hero-title { line-height: 72px; margin: 0; letter-spacing: -1px; }
.tbp-hero .tbp-hero-title::after { margin-top: 22px; }
/* live heights: Unternehmen 354 (pad 90), Kontakt 327 (pad 120) */
html body .tbp-hero .jarallax { padding: 0 !important; }
html body .tbp-hero .jarallax > .position-relative.z-2 { margin: 0 !important; padding: 0 !important; display: flex; align-items: flex-start; justify-content: center; }
html body .tbp-hero .jarallax > .position-relative.z-2 > .my-5 { margin: 0 !important; width: 100%; }
html body .tbp-hero-u .jarallax > .position-relative.z-2 { min-height: 354px; padding-top: 90px !important; }
html body .tbp-hero-k .jarallax > .position-relative.z-2 { min-height: 327px; padding-top: 120px !important; }
html body .tbp-hero-k .tbp-hero-title::after { display: none; }
@media (max-width: 767.98px) {
  html body .tbp-hero-u .jarallax > .position-relative.z-2, html body .tbp-hero-k .jarallax > .position-relative.z-2 { min-height: 0; padding: 60px 0 !important; }
}
.tbp-hero .bg-dark.opacity-75 { background-color: #21252b !important; opacity: .8 !important; }
@media (max-width: 767.98px) { .tbp-hero .tbp-hero-title { font-size: 36px; line-height: 44px; } }

/* Tiles (live portfolio_classic_5): photo 3:2, white uppercase title bottom
   left on a dark gradient instead of the light pill of cards_image_zoom_view
   (the view ignores image_ratio, findings B) */
html body .tbp-tiles .row { --ar-gutter-x: 20px; --ar-gutter-y: 20px; }
html body .tbp-tiles .card { border: 0 !important; border-radius: 0 !important; margin-bottom: 0 !important; }
html body .tbp-tiles .card .zoom-effect-wrapper { aspect-ratio: 3 / 2; border-radius: 0 !important; }
html body .tbp-tiles .card img { height: 100% !important; object-fit: cover; border-radius: 0 !important; box-shadow: none !important; }
html body .tbp-tiles .card > span.bg-dark.opacity-10 { display: none; }
html body .tbp-tiles .card .card-body {
  background: linear-gradient(rgba(19, 21, 25, 0) 55%, rgba(19, 21, 25, .7) 73%, rgba(19, 21, 25, .9) 100%);
  padding: 1.1rem 30px; }
html body .tbp-tiles .card .card-body > span.bg-light {
  background: transparent !important; color: #fff !important; padding: 0 !important; border-radius: 0;
  font-size: 16px !important; font-weight: 700 !important; line-height: 34px !important;
  text-transform: uppercase; letter-spacing: 0; }

/* Team (live team_1): photo column-wide (GL 3:2, staff 1:1), name 20px
   uppercase left, function in primary */
html body .tbp-team .row { --ar-gutter-x: 20px; --ar-gutter-y: 27px; }
html body .tbp-team .card-hover { max-width: none !important; text-align: left !important; padding-bottom: 0 !important; }
html body .tbp-team .zoom-effect-wrapper { aspect-ratio: 1 / 1; border-radius: 0 !important; overflow: hidden; }
html body .tbp-team-gl .zoom-effect-wrapper { aspect-ratio: 3 / 2; }
html body .tbp-team img { height: 100% !important; object-fit: cover; border-radius: 0 !important; box-shadow: none !important; }
html body .tbp-team .card-hover > div.pt-4 { padding-top: 20px !important; padding-bottom: 30px !important; }
html body .tbp-team h3 { font-size: 20px; font-weight: 700; text-transform: uppercase; margin-bottom: 10px !important; }
html body .tbp-team h3 + p { color: var(--ar-primary) !important; margin-bottom: 20px; line-height: 26px; }
html body .tbp-team .team-social { display: none !important; }

/* Unternehmen tabs (live vertical tabs): nav 240px left, bordered pane */
@media (min-width: 768px) {
  html body .tbp-tabs .tile-template-tabs-view { display: grid; grid-template-columns: 240px 1fr; }
  html body .tbp-tabs .tile-template-tabs-view > .nav { flex-direction: column; flex-wrap: nowrap !important; overflow: visible !important;
    padding: 0 !important; margin: 0 !important; border: 0; width: 240px !important; }
}
html body .tbp-tabs .nav-link { border: 1px solid #eee !important; border-radius: 0 !important; margin: 0 0 -1px !important;
  font-size: 14px; color: #2e343c; background: #f8f8f8; padding: 13px 20px; text-align: left; }
html body .tbp-tabs .nav-link.active { background: #fff; color: #21252b; border-left: 3px solid var(--ar-primary) !important; }
html body .tbp-tabs .tab-content { border: 1px solid #eee; padding: 20px 10px; }
html body .tbp-tabs .tab-pane h3 { display: none; }
html body .tbp-tabs .tab-pane .col-12 > div > p:first-of-type { color: var(--ar-primary); margin-bottom: 2.5rem !important; }
html[data-bs-theme=dark] .tbp-tabs .nav-link { background: transparent; color: inherit; border-color: rgba(255,255,255,.15) !important; }
html[data-bs-theme=dark] .tbp-tabs .tab-content { border-color: rgba(255,255,255,.15); }

/* Kontakt: address lines h6 bold uppercase with orange icons */
.tbp-contact-line { font-weight: 700; text-transform: uppercase; font-size: 16px; line-height: 28.8px; margin-bottom: 7px; }
html:not([data-bs-theme=dark]) .tbp-contact-line a { color: #21252b; }

/* Footer + colophon: #cfd2d5, headings 16px bold uppercase, links primary */
html:not([data-bs-theme=dark]) #footer, html:not([data-bs-theme=dark]) #ui-colophon {
  background-color: #cfd2d5 !important; --ar-body-color: #21252b; color: #21252b; }
#footer h2.h6, #footer .card-title { font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: 0; line-height: 28.8px; margin-bottom: 10px !important; padding-bottom: 0 !important; }
#footer a:not(.btn), #ui-colophon a { text-decoration: none; }
html:not([data-bs-theme=dark]) #footer a:not(.btn), html:not([data-bs-theme=dark]) #ui-colophon a { color: #d95900; }
html:not([data-bs-theme=dark]) #footer a:not(.btn):hover, html:not([data-bs-theme=dark]) #ui-colophon a:hover { color: #a64400; }
#ui-colophon { border-top: 1px solid #fff; }

/* Header: white band 123px with bottom shadow, nav #21252b, hover/active
   primary with a 2px underline (live) */
@media (min-width: 992px) {
  html body #header { min-height: 123px; }
  html body #header .navbar-nav { margin-right: -9px; }
  html body #header .nav-link { padding-left: 15px; padding-right: 15px; }
}
html:not([data-bs-theme=dark]) body #header .nav-link { color: #21252b; }
html body #header .nav-link:hover, html body #header .nav-item.active > .nav-link,
html body #header .nav-link.active { color: var(--ar-primary) !important; }

/* Top bar (live): phone + mail left, search right, 47px, icons #eee */
html body #topbar { min-height: 47px; }
html body #topbar .container { justify-content: flex-start !important; gap: 24px !important; }
html body #topbar .container > *:last-child { margin-left: auto; }
html body #topbar .nav-link { color: #fff !important; font-size: 16px; }
html body #topbar .nav-link i { color: #eee !important; font-size: 14px; }

/* Title bar (live pi-titlebar): grey band #cfd2d5 with the h1, below it the
   breadcrumb band #838280 (white 12px links); bread_crumbs_top reordered,
   both bands full bleed. Same markup on Pages (titlebar tile) and in the
   Document/News Item layouts (article > section). */
html body section:has(> .row > nav[aria-label="Brotkrume"]) { padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 50px; }
html body .row:has(> nav[aria-label="Brotkrume"]) { flex-direction: column-reverse; margin: 0; }
html body .row:has(> nav[aria-label="Brotkrume"]) > * { padding-left: 0; padding-right: 0; }
html body .row:has(> nav[aria-label="Brotkrume"]) > div:has(h1) {
  background: #cfd2d5; box-shadow: 0 0 0 100vmax #cfd2d5; clip-path: inset(0 -100vmax);
  min-height: 148px; display: flex; flex-direction: column; justify-content: center; margin: 0 !important; padding: 0 !important; }
html body .row:has(> nav[aria-label="Brotkrume"]) h1 { color: #21252b; letter-spacing: -1px; }
html body .row:has(> nav[aria-label="Brotkrume"]) > nav {
  background: #838280; box-shadow: 0 0 0 100vmax #838280; clip-path: inset(0 -100vmax);
  min-height: 50px; display: flex; align-items: center; }
html body .row:has(> nav[aria-label="Brotkrume"]) .breadcrumb { margin: 0; padding: 0 !important; font-size: 12px;
  --ar-breadcrumb-divider: "/"; --ar-breadcrumb-item-padding-x: 7px; }
html body .row:has(> nav[aria-label="Brotkrume"]) .breadcrumb-item:not([id]) { display: none; }
html body .row:has(> nav[aria-label="Brotkrume"]) #breadcrumbs-home { padding-left: 0; }
html body .row:has(> nav[aria-label="Brotkrume"]) #breadcrumbs-home::before { display: none !important; }
html body .row:has(> nav[aria-label="Brotkrume"]) .breadcrumb-item:nth-child(2) { padding-left: 0; }
html body .row:has(> nav[aria-label="Brotkrume"]) .breadcrumb-item:nth-child(2)::before { display: none; }
html body .row:has(> nav[aria-label="Brotkrume"]) .breadcrumb-item + .breadcrumb-item::before { content: "/" !important; font-family: inherit !important;
  font-size: 12px; color: #cde5f6; -webkit-mask-image: none !important; mask-image: none !important; background: none !important;
  width: auto !important; display: inline-block !important; padding: 0 7px 0 2px; }
html body .row:has(> nav[aria-label="Brotkrume"]) .breadcrumb a { color: #fff; }
html body .row:has(> nav[aria-label="Brotkrume"]) .breadcrumb-item.active { color: #21252b; }
/* Unternehmen: crumbs on top, title on white (live title tile 149px);
   Kontakt: crumbs only (the h1 is in the hero) */
html body .tbp-titlebar-white .row:has(> nav[aria-label="Brotkrume"]) { flex-direction: column; }
html body .tbp-titlebar-white .row:has(> nav[aria-label="Brotkrume"]) > div:has(h1) { background: transparent; box-shadow: none; }
html body .tbp-titlebar-crumbs .row:has(> nav[aria-label="Brotkrume"]) > div:has(h1) { display: none !important; }
html body .tbp-titlebar { margin-bottom: 0; }
html body .tbp-titlebar section, html body .tbp-titlebar-crumbs section { margin-bottom: 0; }

/* Top bar search (live): transparent field "Website durchsuchen", button
   framed by white rules, 47px band */
html body #topbar { padding-top: 0 !important; padding-bottom: 0 !important; }
html body #topbar form .search-field { background: transparent !important; border: 0; color: #fff; height: 46px;
  font-size: 14px; text-align: right; box-shadow: none; }
html body #topbar form .search-field::placeholder { color: #fff; opacity: 1; }
html body #topbar form .btn { height: 46px; border-radius: 0; border: 0; border-left: 1px solid #fff; border-right: 1px solid #fff;
  background: transparent; padding: 0 15px; }
html body #topbar form .col-12 { padding: 0 !important; }

/* Nav: 2px primary underline under hover/active (live) */
@media (min-width: 992px) {
  html body #header .navbar-nav > .nav-item > .nav-link { position: relative; }
  html body #header .navbar-nav > .nav-item > .nav-link.active::after,
  html body #header .navbar-nav > .nav-item > .nav-link:hover::after {
    content: ""; position: absolute; left: 15px; right: 15px; bottom: -4px; height: 2px; background: var(--ar-primary); }
}

/* Hero photos: live background-position top (50% -121px / -180px) */
html body .tbp-hero .jarallax-img { background-position: 50% 0 !important; object-position: 50% 0 !important; }

/* Kontakt form (live plain EasyForm, heading left, small button) */
html body .tbp-form .card { border: 0 !important; box-shadow: none !important; background: transparent !important; margin: 0 !important; }
html body .tbp-form .card-body { padding: 0 !important; margin: 0 !important; }
html body .tbp-form .card-title { text-align: left !important; font-size: 28px; margin-bottom: 15px; }
html body .tbp-form .btn { height: 30px; padding: 0 12px; font-size: 16px; font-weight: 400; display: inline-flex; align-items: center; }
html body .tbp-form label { font-size: 16px; }

/* Team portraits: crop from the top like live (crop_direction down) */
html body .tbp-team img { object-position: 50% 0; }

/* Detail pages (Document/News Item): text full content width like live,
   square slideshow corners */
@media (min-width: 992px) {
  html body article#content .row.pt-xxl-2 > .col-lg-9.col-xl-8 { flex: 0 0 100%; max-width: 100%; padding-right: calc(var(--ar-gutter-x) * .5) !important; }
}
html body .slideshow-container img.rounded { border-radius: 0 !important; }

/* Tile headings 24px (live h2), footer line-height 25.6 */
html body .tbp-tiles .tile-heading, html body .tbp-team .tile-heading { font-size: 24px; }
html body #footer { line-height: 1.6; }
/* Colophon (live one row): site actions uppercase 16px primary, then the copyright */
html body #ui-colophon { font-size: 16px; }
html body #ui-colophon [id^="siteaction-"] .nav-link { text-transform: uppercase; font-weight: 700 !important; font-size: 16px; border: 0 !important; padding: 0 15px !important; }
html body #ui-colophon .nav-link .year, html body #ui-colophon .nav-link:has(.year) { font-size: 16px; }
html:not([data-bs-theme=dark]) body #ui-colophon .nav-link:has(.year) { color: #21252b !important; }
html body #ui-colophon .nav-link:has(.year) .company { color: var(--ar-primary); }
html body #ui-colophon .colophon-tiles { justify-content: flex-start !important; gap: 20px; }
html body #ui-colophon .colophon-tiles > div:last-child { margin-left: auto; }
/* Mobile header: logo 280px wide like live, toggler in primary on the same line */
@media (max-width: 575.98px) {
  html body #header .navbar-brand img { max-width: 280px; height: auto !important; }
}
html body #header .navbar-toggler { color: var(--ar-primary); }

/* Dark mode: the white title variant needs a light h1; the form keeps its
   light card (labels/fields are themed for a light card) */
html[data-bs-theme=dark] body .tbp-titlebar-white h1 { color: #fff !important; }
html[data-bs-theme=dark] body .tbp-form .card { background: #fff !important; padding: 1.5rem; }
/* Lead image on detail pages: content width 1040, square corners, no shadow (live) */
@media (min-width: 1200px) { html body article > section.container.p-0:has(> figure.zoom-effect) { max-width: 1040px; } }
html body article > section.container.p-0 > figure.zoom-effect, html body article > section.container.p-0 > figure.zoom-effect img { border-radius: 0 !important; box-shadow: none !important; }

body.template-folder_contents,
body[class*="controlpanel"],
body.template-sharing,
body.template-historyview {
  --ar-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ar-heading-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
#edit-zone { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
