.ClientListView h2 { text-align: center; margin: 24px 0; font-weight: 600; } .ClientView { background: var(--app-background); border: 1px solid var(--borders); border-radius: 4px; margin: 16px 0; padding: 24px; transition: all 0.3s ease; border-left: 4px solid transparent; display: block; text-align: left; } .ClientView:hover { background: #2f313d !important; border-left-color: var(--ztfr-purple) !important; transform: translateX(5px); } .ClientView.isPreferred { border-color: var(--ztfr-purple); background: rgba(189, 147, 249, 0.05); } .ClientView .hostedBanner { text-align: center; margin-bottom: 20px; padding: 6px 0; border-radius: 4px; font-weight: bold; font-size: 13px; background-color: var(--ztfr-purple); color: var(--app-background); text-transform: uppercase; } .ClientView .header { display: flex; align-items: flex-start; } .ClientView .description { flex: 1; } .ClientView h3 { margin: 0 0 8px 0; font-size: 18px; } .ClientView .description p { margin: 0; font-size: 13px; color: var(--font); } .ClientView .clientIcon { border-radius: 4px; background-color: #ffffff; padding: 4px; width: 50px; height: 50px; margin-left: 16px; flex-shrink: 0; } .ClientView .platforms { margin-top: 12px; font-size: 12px; color: var(--grey); opacity: 0.8; } .InstallClientView .instructions button.tick { filter: invert(1); /* Macht schwarze Icons weiß */ } .ClientView .back { display: block; margin-top: 20px; font-size: 12px; color: var(--grey); } .ClientView .actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; } .ClientView .actions a.badge { height: auto !important; max-width: 100%; display: block; } .ClientView .actions img { max-width: 160px; height: auto; display: block; margin: 5px auto; } /* --- NEU: FIX FÜR DEN ABSTAND IM FOOTER (Change / Custom Web Instance) --- */ .ClientView .actions .footer { display: flex !important; flex-direction: column !important; align-items: center !important; /* Minimaler Abstand zwischen den Zeilen */ gap: 4px !important; /* Ein kleiner Puffer nach oben zum Button, damit es nicht klebt */ margin-top: 16px !important; width: 100%; } /* Verhindert das Ineinanderlaufen der Zeilen */ .ClientView .actions .footer > span, .ClientView .actions .footer .custom, .ClientView .actions .footer button.custom { display: block !important; line-height: 1.4 !important; } /* Der Change-Button bleibt im Textfluss der ersten Zeile */ .ClientView .actions .footer button.change { margin-left: 2px !important; } @media screen and (max-width: 480px) { .ClientView { padding: 15px; margin: 8px 0; } .ClientView .header { flex-direction: column; align-items: center; text-align: center; } .ClientView .clientIcon { margin: 0 0 15px 0; } }