@charset "UTF-8";/*
  Patho-logisch.de | T4 footer refresh v1.0
  ---------------------------------------------------------
  PURE CSS. No changes to the Joomla footer modules, links, legal text,
  navigation scripts, V9 homepage or modal handlers.
  Scoped to the test page containing #pl-home-2026.

  T4 BS5 footer blocks seen in commonly used layouts:
  #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright
  plus their class-based counterparts.
*/

/* Design tokens shared by all footer sections. */
body:has(#pl-home-2026) :is(
  #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
  .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
  footer#footer, footer.site-footer
) {
  --plf-bg: #303449;
  --plf-ink: #f8f7fb;
  --plf-muted: #c6ccdc;
  --plf-accent: #e2b0ee;
  --plf-line: rgba(233, 222, 248, .16);
  background-color: var(--plf-bg) !important;
  color: var(--plf-muted) !important;
  border-color: var(--plf-line) !important;
}

/* Quiet accent line above the actual main footer, not all its subsections. */
body:has(#pl-home-2026) :is(#t4-footer, #t4-footnav, .t4-footer, .t4-footnav, footer#footer, footer.site-footer) {
  border-top: 1px solid rgba(224, 167, 236, .30) !important;
}

/* Match the generous width of the 2026 main content. */
body:has(#pl-home-2026) :is(
  #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
  .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
  footer#footer, footer.site-footer
) :is(.container, .container-fluid, .container-xl, .container-xxl) {
  width: 100%;
  max-width: 1460px;
  margin-inline: auto;
  padding-inline: clamp(20px, 3vw, 48px);
}

/* Existing footer headings; don't replace or reorder their text. */
body:has(#pl-home-2026) :is(#t4-footer, #t4-footnav, .t4-footer, .t4-footnav, footer#footer, footer.site-footer)
:is(h2, h3, h4, h5, h6) {
  color: var(--plf-ink, #f8f7fb) !important;
  font-weight: 680;
  line-height: 1.4;
  letter-spacing: -.015em;
}

/* Legal links and information links stay readable on the navy footer. */
body:has(#pl-home-2026) :is(
  #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
  .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
  footer#footer, footer.site-footer
) a,
body:has(#pl-home-2026) :is(
  #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
  .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
  footer#footer, footer.site-footer
) a:visited {
  color: #f5edf9 !important;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}
body:has(#pl-home-2026) :is(
  #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
  .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
  footer#footer, footer.site-footer
) a:hover {
  color: var(--plf-accent, #e2b0ee) !important;
  text-decoration: underline;
}
body:has(#pl-home-2026) :is(
  #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
  .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
  footer#footer, footer.site-footer
) a:focus-visible {
  outline: 2px solid #edc7f5 !important;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Main informational links: low-contrast cards, not blue text on navy.
   Applied ONLY to heading links in the main footer/navigation block. */
body:has(#pl-home-2026) :is(#t4-footer, #t4-footnav, .t4-footer, .t4-footnav, footer#footer, footer.site-footer)
:is(h3, h4, h5, h6):has(a) {
  border: 1px solid rgba(219, 211, 237, .17);
  background: rgba(255,255,255,.045);
  border-radius: 14px;
  padding: clamp(12px, 1.3vw, 20px);
  min-height: 62px;
  margin: 0 0 12px;
  font-size: clamp(14px, 1vw, 16px) !important;
  transition: background-color .18s ease, border-color .18s ease;
}
body:has(#pl-home-2026) :is(#t4-footer, #t4-footnav, .t4-footer, .t4-footnav, footer#footer, footer.site-footer)
:is(h3, h4, h5, h6):has(a):hover,
body:has(#pl-home-2026) :is(#t4-footer, #t4-footnav, .t4-footer, .t4-footnav, footer#footer, footer.site-footer)
:is(h3, h4, h5, h6):has(a):focus-within {
  background: rgba(212, 159, 224, .11);
  border-color: rgba(225, 181, 236, .42);
}

/* Body text and safe wrapping for long legal terms on mobile. */
body:has(#pl-home-2026) :is(
  #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
  .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
  footer#footer, footer.site-footer
) :is(p, li, small, .custom, .mod-custom, .footer-text) {
  color: var(--plf-muted, #c6ccdc);
  line-height: 1.7;
  overflow-wrap: anywhere;
}

/* Bottom separation and subdued technical/license credits. */
body:has(#pl-home-2026) :is(#t4-copyright, .t4-copyright, #t4-bottom, .t4-bottom) {
  border-top: 1px solid rgba(233, 222, 248, .14) !important;
}
body:has(#pl-home-2026) :is(#t4-copyright, .t4-copyright, #t4-bottom, .t4-bottom) :is(p, small, li) {
  font-size: 12px;
  line-height: 1.65;
  color: #bec5d6 !important;
}
body:has(#pl-home-2026) :is(#t4-copyright, .t4-copyright, #t4-bottom, .t4-bottom) a {
  color: #d6cce2 !important;
  text-decoration: underline;
  text-decoration-color: rgba(214, 204, 226, .35);
}

/* Responsive refinements: no DOM manipulation or moving Joomla module positions. */
@media (max-width: 767.98px) {
  body:has(#pl-home-2026) :is(
    #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
    .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
    footer#footer, footer.site-footer
  ) :is(.container, .container-fluid, .container-xl, .container-xxl) {
    padding-inline: 18px;
  }
  body:has(#pl-home-2026) :is(#t4-footer, #t4-footnav, .t4-footer, .t4-footnav, footer#footer, footer.site-footer)
  :is(h3, h4, h5, h6):has(a) {
    padding: 14px 16px;
    min-height: 54px;
    margin-bottom: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:has(#pl-home-2026) :is(
    #t4-footer, #t4-footnav, #t4-bottom, #t4-copyright,
    .t4-footer, .t4-footnav, .t4-bottom, .t4-copyright,
    footer#footer, footer.site-footer
  ) a { transition: none !important; }
}

