/* Shared footer for English and German pages. */
body footer#footer { padding: 50px 40px 36px; background: #fff; color: #013c42; border-top: 1px solid #dcecea; }
body footer#footer::before { display: none; }
#footer .ft-main { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.1fr; gap: 40px; max-width: 1240px; margin: 0 auto 48px; padding: 0; }
#footer .ft-main > * { min-width: 0; }
#footer .ft-logo { display: block; width: 150px; height: auto; max-width: 100%; }
#footer .ft-col h4 { font-family: var(--display); font-size: 18px; line-height: 24px; font-weight: 700; text-transform: none; letter-spacing: normal; color: #013c42; margin: 0 0 20px; }
#footer .ft-col h4::after { content: none; display: none; }
#footer .ft-links { display: flex; flex-direction: column; list-style: none; gap: 12px; padding: 0; margin: 0; }
#footer .ft-links a { font-size: 14px; line-height: 1.6; color: #4a7578; text-decoration: none; margin: 0; padding: 0; }
#footer .ft-links a:hover { color: #008f7a; }
#footer .ft-contact-card { display: flex; flex-direction: column; gap: 12px; background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; margin: 0; }
#footer .ft-contact-line { display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 1.6; color: #013c42; text-decoration: none; margin: 0; padding: 0; }
#footer .ft-contact-line svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: #008f7a; stroke-width: 1.7; }
#footer .ft-contact-line svg :is(path, polyline, circle, rect, line) { fill: none; stroke: #008f7a; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#footer .ft-socials { display: flex; gap: 10px; margin-top: 22px; }
#footer .ft-social-link { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 10px; background: #66cc99; color: #003c41; transition: background .2s, color .2s; }
#footer .ft-social-link:hover { background: #003c41; color: #fff; }
#footer .ft-social-link:focus-visible { outline: 2px solid #003c41; outline-offset: 4px; }
#footer .ft-social-link svg { width: 18px; height: 18px; fill: currentColor; stroke: none; }
#footer .ft-bot { max-width: 1240px; margin: 0 auto; padding-top: 24px; border-top: 1px solid #dcecea; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; font-size: 12px; color: #4a7578; }
#footer .ft-bot-links { display: flex; flex-wrap: wrap; gap: 20px; }
#footer .ft-bot-links a { color: #4a7578; font-size: 12px; text-decoration: none; }
#footer .ft-back-top { padding: 9px 14px; border: 1px solid #dcecea; border-radius: 20px; background: #f7fbfa; color: #013c42; font: inherit; cursor: pointer; }
@media (max-width: 1000px) { #footer .ft-main { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 560px) { body footer#footer { padding: 40px 20px 28px; } #footer .ft-main { grid-template-columns: 1fr; } #footer .ft-bot { flex-direction: column; align-items: flex-start; } }

/* Compact legal row with an accessible arrow control. */
#footer .ft-bot { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; }
#footer .ft-bot-links { justify-content: center; align-items: center; gap: 24px; }
#footer .ft-bot-links a { line-height: 1.5; padding: 8px 0; }
#footer .ft-bot-links a:hover { color: #008f7a; text-decoration: underline; text-underline-offset: 4px; }
#footer .ft-back-top { justify-self: end; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; background: #f7fbfa; transition: background .2s, color .2s; }
#footer .ft-back-top svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#footer .ft-back-top:hover { background: #003c41; color: #fff; }
#footer .ft-back-top:focus-visible, #footer .ft-bot-links a:focus-visible { outline: 2px solid #008f7a; outline-offset: 4px; }
@media (max-width: 700px) {
  #footer .ft-bot { grid-template-columns: 1fr auto; gap: 12px 20px; }
  #footer .ft-copy { grid-column: 1; }
  #footer .ft-bot-links { grid-column: 1; justify-content: flex-start; gap: 20px; }
  #footer .ft-back-top { grid-column: 2; grid-row: 1 / 3; }
}
