
/* ============================================================================
   Kompatibilitaet mit dem Theme (hier: Hello Elementor)
   Setzt alle Elemente, die Theme-Resets anfassen, auf die Browser-Vorgabe
   zurueck. Das Prototyp-CSS unten ist auf #pg-... hochgestuft und gewinnt
   deshalb immer gegen diesen Block.
   ========================================================================== */
:where(#toja-footer) a, :where(#toja-footer) p,
:where(#toja-footer) h1, :where(#toja-footer) h2, :where(#toja-footer) h3, :where(#toja-footer) h4, :where(#toja-footer) h5, :where(#toja-footer) h6,
:where(#toja-footer) ul, :where(#toja-footer) ol, :where(#toja-footer) li, :where(#toja-footer) dl, :where(#toja-footer) dt, :where(#toja-footer) dd,
:where(#toja-footer) table, :where(#toja-footer) th, :where(#toja-footer) td, :where(#toja-footer) img, :where(#toja-footer) hr,
:where(#toja-footer) small, :where(#toja-footer) b, :where(#toja-footer) strong, :where(#toja-footer) pre, :where(#toja-footer) code,
:where(#toja-footer) figcaption, :where(#toja-footer) details, :where(#toja-footer) summary, :where(#toja-footer) label,
:where(#toja-footer) legend, :where(#toja-footer) fieldset, :where(#toja-footer) progress,
:where(#toja-footer) button, :where(#toja-footer) input, :where(#toja-footer) select, :where(#toja-footer) textarea, :where(#toja-footer) optgroup{
  all: revert;
}
:where(#toja-footer) a:hover, :where(#toja-footer) a:active, :where(#toja-footer) a:visited,
:where(#toja-footer) button:hover, :where(#toja-footer) button:focus{ all: revert; }

:where(#toja-footer) [type="button"], :where(#toja-footer) [type="submit"], :where(#toja-footer) [type="reset"],
:where(#toja-footer) [type="checkbox"], :where(#toja-footer) [type="radio"], :where(#toja-footer) [type="search"]{ all: revert; }

:where(#toja-footer) input[type="date"], :where(#toja-footer) input[type="email"], :where(#toja-footer) input[type="number"],
:where(#toja-footer) input[type="password"], :where(#toja-footer) input[type="search"], :where(#toja-footer) input[type="tel"],
:where(#toja-footer) input[type="text"], :where(#toja-footer) input[type="url"]{ all: revert; }

:where(#toja-footer) [type="button"]:hover, :where(#toja-footer) [type="button"]:focus,
:where(#toja-footer) [type="submit"]:hover, :where(#toja-footer) [type="submit"]:focus,
:where(#toja-footer) input[type="date"]:focus, :where(#toja-footer) input[type="email"]:focus,
:where(#toja-footer) input[type="number"]:focus, :where(#toja-footer) input[type="password"]:focus,
:where(#toja-footer) input[type="search"]:focus, :where(#toja-footer) input[type="tel"]:focus,
:where(#toja-footer) input[type="text"]:focus, :where(#toja-footer) input[type="url"]:focus{ all: revert; }

/* all:revert setzt display auf die Element-Vorgabe zurueck - hidden wieder herstellen */
:where(#toja-footer) [hidden]{ display: none !important; }

#toja-footer{display:none}
#toja-footer.is-active{display:block}
@keyframes pulse--start{ 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }
#toja-footer{
  --color-blue: #2B5FAD;
  --color-blue-deep: #1F4685;
  --color-blue-dark: #163764;
  --color-blue-bright: #4A7BB7;
  --color-blue-mist: #E8F0FA;
  --color-accent: #C2611A;
  --color-accent-hover: #A0501A;
  --color-cta-red: #D72638;
  --color-green: #2D7D5F;
  --color-paper: #FFFFFF;
  --color-cream: #FAFAF8;
  --color-text: #1A2A3F;
  --color-text-soft: #4A5567;
  --color-text-muted: #8492A6;
  --color-line: #DCE5EF;
  --font: 'Poppins', -apple-system, system-ui, sans-serif;
  --container: 1280px;
  --gutter: clamp(20px, 4vw, 48px);
  --section-py: clamp(70px, 9vw, 120px);
  --radius: 16px;
  --radius-lg: 24px;
  --radius-sm: 10px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}
#toja-footer, #toja-footer *{ box-sizing: border-box; margin: 0; padding: 0; }
#toja-footer{
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--color-text);
  background: var(--color-cream);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
#toja-footer p{ max-width: 65ch; }
#toja-footer .container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
  position: relative;
  z-index: 1;
}
#toja-footer .logo{ font-size: 22px; font-weight: 700; color: #fff; text-decoration: none; transition: color 300ms var(--ease); line-height: 1; }
#toja-footer .logo span{ font-weight: 300; margin-left: 4px; }
@keyframes pulse--kontakt{
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.3); }
}
#toja-footer .footer{
  background: var(--color-blue-dark);
  color: rgba(255,255,255,0.75);
  padding: 70px 0 30px;
  font-size: 14px;
  position: relative;
  overflow: hidden;
}
#toja-footer .footer::before{
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 200px;
  background:
    radial-gradient(ellipse 600px 100px at 30% 0%, rgba(255,255,255,0.06) 0%, transparent 70%),
    radial-gradient(ellipse 500px 80px at 70% 50%, rgba(255,255,255,0.04) 0%, transparent 70%);
  pointer-events: none;
}
#toja-footer .footer__top{
  position: relative;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
@media (max-width: 900px){
#toja-footer .footer__top{ grid-template-columns: 1fr 1fr; gap: 36px 32px; }
}
@media (max-width: 540px){
#toja-footer .footer__top{ grid-template-columns: 1fr; }
}
#toja-footer .footer__brand .logo{ color: #fff; font-size: 24px; display: inline-block; margin-bottom: 18px; }
#toja-footer .footer__brand p{ font-size: 14px; line-height: 1.7; color: rgba(255,255,255,0.65); max-width: 32ch; }
#toja-footer .footer__heading{
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  font-weight: 700;
  margin-bottom: 18px;
}
#toja-footer .footer__list{ list-style: none; }
#toja-footer .footer__list li{ margin-bottom: 10px; }
#toja-footer .footer__list a{ color: rgba(255,255,255,0.65); text-decoration: none; transition: color 300ms var(--ease); font-size: 14px; }
#toja-footer .footer__list a:hover{ color: #fff; }
#toja-footer .footer__contact{ font-size: 14px; line-height: 1.7; color: rgba(255,255,255,0.75); }
#toja-footer .footer__contact a{ color: rgba(255,255,255,0.75); text-decoration: none; }
#toja-footer .footer__contact a:hover{ color: #fff; }
#toja-footer .footer__bottom{
  position: relative;
  padding-top: 28px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px;
  color: rgba(255,255,255,0.45);
}
#toja-footer .footer__legal{ display: flex; gap: 22px; flex-wrap: wrap; }
#toja-footer .footer__legal a{ color: rgba(255,255,255,0.45); text-decoration: none; }
#toja-footer .footer__legal a:hover{ color: #fff; }
.footer__areas{margin-top:.9rem;font-size:.8rem;line-height:1.65;opacity:.75}
#toja-footer{
  --container: 1440px;                       /* Seitenbreite besser ausnutzen */
  --section-py: clamp(56px, 7vw, 96px);      /* weniger Leerraum zwischen den Bloecken */
  --color-blue-mist: #F1F1EE;                /* vorher #E8F0FA (blaeulich) -> neutral, ohne Blaustich */
  font-size: 17px;                           /* Grundschrift groesser (vorher 16px) */
}
#toja-footer .logo{
  font-size: 28px;                           /* Header-Logo groesser (vorher 22px) */
}
#toja-footer .footer{
  background: #2B5FAD;                       /* unterer Teil in hellerem Blau (vorher #163764) */
  color: rgba(255,255,255,0.88);
  font-size: 15.5px;
}
#toja-footer .footer__brand .logo{
  color: #fff;                               /* Logo ganz unten in Weiss ... */
  font-size: 34px;                           /* ... und groesser */
}
#toja-footer .footer__heading{
  font-size: 13px;
  color: rgba(255,255,255,0.95);
}
#toja-footer .footer__list a{
  font-size: 16.5px;
  color: rgba(255,255,255,0.92);
}
#toja-footer .footer__contact{
  font-size: 16px;
  color: rgba(255,255,255,0.92);
}
#toja-footer .footer__contact a{
  color: #fff;
}
#toja-footer .footer__brand p{
  font-size: 15.5px;
  color: rgba(255,255,255,0.88);
}
#toja-footer .footer__bottom{
  font-size: 14.5px;
  color: rgba(255,255,255,0.85);
}
#toja-footer .footer__legal a{
  color: rgba(255,255,255,0.92);
}
@media (max-width: 1360px){
#toja-footer .logo{ font-size: 26px; }
}
.m-more, .m-hero-tel, .m-footer-toggle, .m-lead-more{ display:none; }
@media (max-width:640px){
#toja-footer{ font-size:16px; }
}
@media (max-width:640px){
#toja-footer.is-active{ display:flex; flex-direction:column; padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width:640px){
#toja-footer > section, #toja-footer > footer, #toja-footer > .filter-bar{ width:100%; min-width:0; }
}
@media (max-width:640px){
#toja-footer .container{ padding-left:20px; padding-right:20px; }
}
@media (max-width:640px){
#toja-footer p, #toja-footer li, #toja-footer dd, #toja-footer dt, #toja-footer td, #toja-footer th, #toja-footer address, #toja-footer blockquote, #toja-footer summary, #toja-footer figcaption{ font-size:16px; line-height:1.6; }
}
@media (max-width:640px){
#toja-footer .footer__legal a, #toja-footer .footer__contact a, #toja-footer .rg-toc a, #toja-footer .rg-quellen a, #toja-footer .location__address-actions a{ display:inline-flex; align-items:center; min-height:44px; }
}
@media (max-width:640px){
#toja-footer .logo{ font-size:21px !important; }
}
@media (max-width:640px){
#toja-footer .footer{ padding-top:40px !important; padding-bottom:20px !important; }
}
@media (max-width:640px){
#toja-footer .footer__top{ display:flex !important; flex-direction:column; gap:12px !important; }
}
@media (max-width:640px){
#toja-footer .footer__top > div:nth-child(4){ order:-1; }
}
@media (max-width:640px){
#toja-footer .footer__brand{ order:1; }
}
@media (max-width:640px){
#toja-footer .footer__brand p{ display:none; }
}
@media (max-width:640px){
#toja-footer .footer__brand .logo{ margin-bottom:0 !important; font-size:20px !important; }
}
@media (max-width:640px){
#toja-footer .footer__top > div.m-foot{ border-top:1px solid rgba(255,255,255,.18); padding-top:4px; }
}
@media (max-width:640px){
#toja-footer .footer__top > div.m-foot > .footer__heading{ display:none; }
}
@media (max-width:640px){
#toja-footer .m-footer-toggle{ display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; padding:6px 0; background:none; border:0; color:#fff; font:600 14px/1.2 Poppins, -apple-system, system-ui, sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; text-align:left; }
}
@media (max-width:640px){
#toja-footer .m-footer-toggle::after{ content:""; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid currentColor; transition:transform .2s; }
}
@media (max-width:640px){
#toja-footer .m-footer-toggle[aria-expanded="true"]::after{ transform:rotate(180deg); }
}
@media (max-width:640px){
#toja-footer .footer__top > div.m-foot > .footer__list{ display:none; padding-bottom:10px; }
}
@media (max-width:640px){
#toja-footer .footer__top > div.m-foot.is-open > .footer__list{ display:block; }
}
@media (max-width:640px){
#toja-footer .footer__list li{ margin:0 !important; }
}
@media (max-width:640px){
#toja-footer .footer__list a{ display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
}
@media (max-width:640px){
#toja-footer .footer__heading{ margin-bottom:6px !important; }
}
@media (max-width:640px){
#toja-footer .footer__contact{ font-size:16px; line-height:1.6; }
}
@media (max-width:640px){
#toja-footer .footer__contact a{ font-size:17px; font-weight:600; }
}
@media (max-width:640px){
#toja-footer .footer__bottom{ margin-top:16px !important; padding-top:14px !important; flex-direction:column; gap:6px !important; font-size:13px !important; }
}
@media (max-width:640px){
#toja-footer .footer__legal{ gap:18px !important; }
}
@media (max-width:640px){
#toja-footer .footer__legal a{ font-size:15px; }
}

/* --- Original-Logo im Footer: komplette Datei toja-logo.png (563x806, hochkant) --- */
#toja-footer .logo--voll{ display:inline-block; line-height:0; }
#toja-footer .logo--voll img{
  display:block; height:132px; width:auto; max-width:100%; object-fit:contain;
}
@media (max-width: 900px){
  #toja-footer .logo--voll img{ height:104px; }
}
@media (max-width: 640px){
  #toja-footer .logo--voll img{ height:88px; }
}
