@layer base {
  .footer-legal-grid,
  .cookiebanner-container,
  .accordion-panel,
  .element-contact,
  .element-info-box,
  .element-text {
    a {
      text-decoration: var(--text-decoration);
      text-decoration-style: var(--text-decoration-style);
      text-decoration-skip-ink: var(--text-decoration-skip-ink);
      text-decoration-thickness: var(--text-decoration-thickness);
      text-underline-offset: var(--text-underline-offset);
    }

    a:hover {
      text-decoration: none;
    }

    a:focus,
    a:focus-visible {
      outline: var(--border-xs) solid currentcolor;
      outline-offset: 0.25em;
    }

    a:has(svg) {
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: var(--size-6);

      span {
        text-decoration: var(--text-decoration);
        text-decoration-thickness: var(--text-decoration-thickness);
      }

      svg {
        display: inline-block;
        width: var(--size-8);
        height: var(--size-8);
      }

      &:hover {
        span {
          text-decoration: none;
        }
      }
    }

    a.btn,
    a.link-box {
      text-decoration: none;

      span {
        text-decoration: none;
      }
    }
  }

  /* Windows HCM + Firefox HCM */
  @media (forced-colors: active), (prefers-contrast: more) {
    .element-text a:has(svg) span,
    .element-text a:where(:not(:has(svg))),
    .link-box span,
    .info-box .info-box-linktext,
    .btn {
      text-decoration: underline !important;
      text-decoration-color: CanvasText !important; /* Systemfarbe für Text */
      text-decoration-thickness: 2px !important; /* Sichtbarer machen */
    }
  }
}
