/* RuhrBau · Mikro-Interaktionen (17.10.2026, Board M6)
   Alles läuft auf Anlass (Hover, Klick, Sichtbarwerden) und hört dann auf. */

/* 1 Knopf · Füllung: Umriss-Knöpfe füllen sich von links (weich, Symbol bleibt sichtbar) */
.rb-fill{position:relative!important;overflow:hidden!important;isolation:isolate;-webkit-tap-highlight-color:transparent;transition:color .32s cubic-bezier(.4,0,.2,1) .06s,border-color .4s cubic-bezier(.4,0,.2,1),transform .2s ease!important}
.rb-fill::before{content:"";position:absolute;inset:-1px;background:var(--rb-fill,#1B3A6B);transform:scaleX(0);transform-origin:left center;transition:transform .55s cubic-bezier(.65,0,.25,1);z-index:-1;pointer-events:none;will-change:transform}
.rb-fill svg,.rb-fill i{transition:fill .32s cubic-bezier(.4,0,.2,1) .06s,color .32s cubic-bezier(.4,0,.2,1) .06s}
.rb-fill.rb-an{color:var(--rb-fill-text,#fff)!important;background-color:transparent!important}
.rb-fill.rb-an::before{transform:scaleX(1)}
.rb-fill.rb-an *{color:var(--rb-fill-text,#fff)!important}
.rb-fill.rb-an svg:not([fill=none]),.rb-fill.rb-an svg:not([fill=none]) path{fill:var(--rb-fill-text,#fff)!important}
.rb-fill.rb-an svg[fill=none],.rb-fill.rb-an svg [fill=none]{stroke:var(--rb-fill-text,#fff)!important}
.rb-fill.rb-an .rb-pfeil{transform:translateX(5px)}
.rb-fill:active{transform:scale(.985)}
.rb-pfeil{display:inline-block;transition:transform .4s cubic-bezier(.22,.7,.3,1)}
/* 2 Anruf · Hörer klingelt */
.rb-hoerer{display:inline-flex;transform-origin:50% 50%}
.rb-hoerer.rb-klingeln{animation:rbKlingeln .75s ease-in-out}
@keyframes rbKlingeln{0%,100%{transform:rotate(0)}12%{transform:rotate(-15deg)}28%{transform:rotate(13deg)}44%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}76%{transform:rotate(-3deg)}}

/* 3 Text-Link · Linie */
.rb-tlink .elementor-button-text,.rb-tlink.rb-tlink--selbst{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 2px;padding-bottom:4px;transition:background-size .35s cubic-bezier(.22,.7,.3,1)}
@media (hover:hover){.rb-tlink:hover .elementor-button-text,.rb-tlink.rb-tlink--selbst:hover{background-size:100% 2px}}
.rb-tlink:focus-visible .elementor-button-text,.rb-tlink.rb-tlink--selbst:focus-visible{background-size:100% 2px}

/* 4 Ankreuzfeld · Haken zeichnet sich */
.forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box{animation:rbBox .32s cubic-bezier(.2,.9,.3,1.3)}
.forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box:before{animation:rbHaken .32s ease-out .1s both}
@keyframes rbBox{0%{transform:scale(1)}45%{transform:scale(1.14)}100%{transform:scale(1)}}
@keyframes rbHaken{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* 7 Seitenwechsel · weich (Browser mit View Transitions) */
@view-transition{navigation:none} /* 18.10.2026: Seitenwechsel ohne Ueberblendung, wirkt direkter */
::view-transition-old(root){animation:rbVtAus .26s ease both}
::view-transition-new(root){animation:rbVtEin .4s cubic-bezier(.22,.7,.3,1) both}
@keyframes rbVtAus{to{opacity:0;transform:scale(.985)}}
@keyframes rbVtEin{from{opacity:0;transform:scale(1.015)}}
.xpro-theme-builder-header{view-transition-name:rb-kopf}
::view-transition-group(rb-kopf){animation:none}
::view-transition-old(rb-kopf),::view-transition-new(rb-kopf){animation:none}

/* 8 Formular · gesendet */
.rb-gesendet .forminator-row,.rb-gesendet .forminator-response-message,.rb-gesendet .forminator-pagination-footer{display:none!important}
.rb-ok{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 16px;text-align:center;font-family:Inter,sans-serif}
.rb-ok svg{width:68px;height:68px;fill:none;stroke:#1B3A6B;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.rb-ok svg *{stroke-dasharray:1;stroke-dashoffset:0}
.rb-ok .k1{animation:rbOkKreis .7s ease-out both}
.rb-ok .k2{animation:rbOkHaken .4s ease-out .55s both}
.rb-ok__t{margin:0;font:600 22px/1.25 'Source Serif 4',Georgia,serif;color:#14181E;animation:rbOkText .45s ease-out .8s both}
.rb-ok__x{margin:0;max-width:420px;font-size:15px;line-height:1.6;color:#4A5361;animation:rbOkText .45s ease-out .9s both}
@keyframes rbOkKreis{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes rbOkHaken{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes rbOkText{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* 9 Fußzeile: Links reagieren, aktuelle Seite markiert */
footer .elementor-icon-list-item a .elementor-icon-list-text,footer .rbf-o__list a,footer .rbf-k__m{display:inline-block;transition:color .25s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.22,.7,.3,1)!important}
@media (hover:hover){
  footer .elementor-icon-list-item a:hover .elementor-icon-list-text,footer .rbf-o__list a:hover,footer .rbf-k__m:hover{color:#fff!important;transform:translateX(4px)}
}
footer .elementor-icon-list-item a:focus-visible .elementor-icon-list-text,footer .rbf-o__list a:focus-visible{color:#fff!important;transform:translateX(4px)}
footer .elementor-icon-list-item a:active .elementor-icon-list-text,footer .rbf-o__list a:active,footer .rbf-k__m:active{color:#fff!important}
footer a.rb-aktiv .elementor-icon-list-text,footer .rbf-o__list a.rb-aktiv{color:#9FB8DE!important;font-weight:600}
footer .elementor-icon-list-item a.rb-aktiv .elementor-icon-list-text::before{content:"";display:inline-block;width:14px;height:2px;margin:0 8px 0 0;vertical-align:middle;background:#9FB8DE;transform:translateY(-1px)}
footer .elementor-icon-list-item a{-webkit-tap-highlight-color:transparent}

@media (prefers-reduced-motion:reduce){
  .rb-fill::before,.rb-fill,.rb-pfeil,.rb-tlink .elementor-button-text,.rb-tlink--selbst{transition:none!important}
  .rb-hoerer.rb-klingeln,.rb-ok *,.forminator-checkbox-box,.forminator-checkbox-box:before{animation:none!important}
  @view-transition{navigation:none}
}

/* Objektarten-Karten: keine Linie */
.rka-oa__a.rb-tlink,.rka-oa__a{background-image:none!important;padding-bottom:0!important}
