/* recht-empfinden.at — UX layer on top of the static copy (27.10.2026).
   Colours follow the site: ink #1a243f, green #689135, dark band #191919. */

/* Content is never hidden behind scroll animations (they left large blank areas). */
[class*="bt_bb_animation_"] { opacity: 1 !important; transform: none !important; animation: none !important; }

/* Hero on the start pages (replaces the empty dark band under the header) */
.ux-hero { background: #191919; color: #fff; padding: 72px 24px 64px; }
.ux-hero__inner { max-width: 1200px; margin: 0 auto; }
.ux-hero__kicker { color: #8fbf4f; font: 600 13px/1.4 inherit; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 14px; }
.ux-hero h1 { color: #fff; font-size: clamp(30px, 4.2vw, 52px); line-height: 1.12; margin: 0 0 18px; max-width: 18em; }
.ux-hero__lead { color: rgba(255,255,255,.82); font-size: clamp(17px, 1.6vw, 20px); line-height: 1.55; max-width: 38em; margin: 0 0 30px; }
.ux-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ux-btn { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 24px; border: 2px solid #689135;
  font-weight: 600; font-size: 16px; text-decoration: none !important; transition: background .15s, color .15s; }
.ux-btn--primary { background: #689135; color: #fff !important; }
.ux-btn--primary:hover { background: #557a2a; border-color: #557a2a; }
.ux-btn--ghost { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.55); }
.ux-btn--ghost:hover { border-color: #fff; }
.ux-btn--light { background: #fff; color: #1a243f !important; border-color: #1a243f; }
.ux-btn--light:hover { background: #1a243f; color: #fff !important; }
.ux-hero__facts { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 34px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.7); font-size: 15px; }
.ux-hero__facts li::before { content: "✓"; color: #8fbf4f; margin-right: 8px; }

/* Contact block that replaced the form */
.static-contact { border-left: 4px solid #689135; background: #f6f7f4; padding: 22px 24px; margin: 8px 0 0; }
.static-contact p { margin: 0 0 16px; font-size: 18px; line-height: 1.6; }
.static-contact .ux-actions { margin-top: 4px; }

/* "So finden Sie uns" card in the empty map column */
.ux-route { height: 100%; min-height: 320px; display: flex; flex-direction: column; justify-content: center; gap: 14px;
  padding: 48px 40px; background: #1a243f; color: #fff; }
.ux-route h3 { color: #fff; margin: 0; }
.ux-route p { color: rgba(255,255,255,.85); margin: 0; font-size: 18px; line-height: 1.6; }
.ux-route .ux-btn { align-self: flex-start; margin-top: 8px; }

/* Keyboard users can see where they are */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #689135 !important; outline-offset: 3px; }

/* Phone: call and e-mail always one tap away */
.ux-callbar { display: none; }
@media (max-width: 768px) {
  .ux-hero { padding: 44px 20px 40px; }
  .ux-callbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; background: #191919;
    box-shadow: 0 -2px 12px rgba(0,0,0,.25); padding: 8px max(8px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)); gap: 8px; }
  .ux-callbar a { flex: 1; justify-content: center; min-height: 48px; padding: 0 12px; }
  body { padding-bottom: 72px; }
  .cmplz-cookiebanner { bottom: 72px !important; }
  .ux-route { padding: 36px 24px; min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Contact section on the start page: the theme overlaps the left column onto the right one (it held a map). */
section:has(.ux-route) .bt_bb_column_icon { display: none !important; }
section:has(.ux-route) .bt_bb_column:has(.ux-route) { padding: 0 !important; }
section:has(.ux-route) .bt_bb_column:has(.ux-route) > .bt_bb_column_content,
section:has(.ux-route) .bt_bb_column:has(.ux-route) .bt_bb_column_content_inner { height: 100%; }
.ux-route { padding: 64px 56px; }
@media (min-width: 1200px) { .btOverlapLeft .ux-route { padding-left: 190px; } }

/* Phones/tablets: the theme reserves 150px above the content for its desktop header */
@media (max-width: 1199px) { .bt_bb_wrapper > .ux-hero:first-child { margin-top: -88px; } }

/* Cookie banner in the site's colours; compact on phones so the page stays visible */
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: #689135 !important; border-color: #689135 !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny { background: #fff !important; border: 2px solid #1a243f !important; color: #1a243f !important; }
.cmplz-cookiebanner .cmplz-btn { border-radius: 0 !important; font-weight: 600 !important; }
@media (max-width: 768px) {
  .cmplz-cookiebanner { padding: 14px 16px !important; max-height: 60vh; overflow: auto; }
  .cmplz-cookiebanner .cmplz-message { font-size: 13px !important; line-height: 1.45 !important; }
  .cmplz-cookiebanner .cmplz-buttons { flex-direction: row !important; flex-wrap: wrap; gap: 8px !important; }
  .cmplz-cookiebanner .cmplz-btn { flex: 1 1 45%; min-height: 44px; margin: 0 !important; }
  .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences { flex-basis: 100%; }
}
