/* Gemeinsamer Seitenabschluss; unabhaengig von den alten Ticker-Styles. */
.sv-footer { box-sizing:border-box; margin:0; padding:0; width:100%; clear:both; text-align:left; font-family:Verdana,Arial,Helvetica,sans-serif; }
.sv-footer .sv-footer-silhouette { display:block; width:320px; max-width:100%; height:auto; margin:0; }
.sv-footer .sv-footer-panel { background:var(--sv-footer-surface,#272e6b); color:#fff; border-radius:0 0 18px 18px; overflow:hidden; padding:0 0 10px; }
.sv-footer .sv-footer-ticker { display:flex; align-items:stretch; min-width:0; font-size:18px; line-height:1.5; }
.sv-footer .sv-footer-ticker-title { flex:none; position:relative; z-index:1; background:#992c2c; padding:3px 15px; }
.sv-footer .sv-footer-ticker-window { flex:1; min-width:0; overflow:hidden; padding:3px 0; }
.sv-footer .sv-footer-ticker-text { display:inline-block; white-space:nowrap; padding-left:24px; animation:sv-footer-scroll 40s linear infinite; }
.sv-footer .sv-footer-ticker a { color:#fff; }
.sv-footer .sv-footer-ticker:hover .sv-footer-ticker-text,
.sv-footer .sv-footer-ticker:focus-within .sv-footer-ticker-text { animation-play-state:paused; }
.sv-footer .sv-footer-partner { display:block; width:100%; height:210px; border:0; margin:0; background:transparent; }
.sv-footer .sv-footer-links { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:12px; margin:12px 18px 0; padding:16px 0 8px; border-top:1px solid rgba(255,255,255,.18); }
.sv-footer .sv-footer-links a { box-sizing:border-box; display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:8px 14px 8px 9px; border:1px solid rgba(255,255,255,.25); border-radius:12px; background:rgba(255,255,255,.07); color:#fff; font-size:13px; font-weight:600; line-height:1.5; text-decoration:none; transition:background-color .18s ease,border-color .18s ease; }
.sv-footer .sv-footer-link-icon { display:inline-flex; flex:none; align-items:center; justify-content:center; width:32px; height:32px; border-radius:9px; background:rgba(255,255,255,.12); }
.sv-footer .sv-footer-links svg { display:block; flex:none; }
.sv-footer .sv-footer-link-arrow { margin-left:8px; opacity:.8; }
.sv-footer .sv-footer-links a:hover { background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.65); color:#fff; text-decoration:none; }
.sv-footer .sv-footer-links a:focus-visible { outline:2px solid #fff; outline-offset:3px; background:rgba(255,255,255,.18); }
.sv-footer a:focus-visible, .sv-footer-ticker-window:focus-visible { outline:2px solid #fff; outline-offset:-2px; }
@keyframes sv-footer-scroll { from { transform:translateX(0); } to { transform:translateX(-100%); } }
@media (max-width:700px) {
    .sv-footer .sv-footer-links { margin-left:12px; margin-right:12px; gap:10px; }
    .sv-footer .sv-footer-links a { width:100%; }
    .sv-footer .sv-footer-link-arrow { margin-left:auto; }
    .sv-footer .sv-footer-ticker { flex-direction:column; }
    .sv-footer .sv-footer-ticker-title { padding:3px 12px; }
}
@media (prefers-reduced-motion:reduce) {
    .sv-footer .sv-footer-links a { transition:none; }
    .sv-footer .sv-footer-ticker-text { animation:none; padding-left:12px; }
    .sv-footer .sv-footer-ticker-window { overflow-x:auto; }
}

/* Eigener Dialog: unabhängig von den alten seitenbezogenen goLink-Stilen. */
.sv-footer-link-dialog {
    box-sizing: border-box;
    width: min(540px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 28px;
    border: 1px solid #c9ccdf;
    border-radius: 18px;
    background: #fcfffb;
    color: #303449;
    box-shadow: 0 24px 80px #0005;
    font: 16px/1.6 Verdana, Arial, sans-serif;
    text-align: left;
}
.sv-footer-link-dialog::backdrop { background: #11152c99; }
.sv-footer-link-dialog h2 { margin: 0 0 16px; color: #292d76; font-size: 23px; line-height: 1.3; }
.sv-footer-link-dialog p { margin: 0 0 18px; }
.sv-footer-link-dialog .sv-footer-link-domain { color: #60677e; font-size: 14px; }
.sv-footer-dialog-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.sv-footer-dialog-actions button, .sv-footer-dialog-actions a {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; padding: 10px 16px; border: 1px solid #292d76; border-radius: 10px;
    font: inherit; font-size: 14px; font-weight: bold; cursor: pointer; text-decoration: none;
}
.sv-footer-dialog-actions button { background: transparent; color: #292d76; }
.sv-footer-dialog-actions a { background: #292d76; color: #fff; }
.sv-footer-dialog-actions :focus-visible { outline: 3px solid #99732d; outline-offset: 3px; }
@media (max-width: 480px) {
    .sv-footer-link-dialog { padding: 22px; }
    .sv-footer-dialog-actions > * { width: 100%; }
}
