.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); - Entfernt, damit die Kachel nicht mehr springt */ } .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; } /* --- ANPASSUNG FÜR DEN DEZENTEN LOOK DER BUTTONS --- */ .ClientView .actions .footer { display: block !important; text-align: center !important; margin-top: 20px !important; width: 100%; line-height: 1.8 !important; color: var(--sub-text); } /* Reset der Button-Styles: Macht aus den grauen Kästen einfachen Text mit unsichtbarem Rahmen für ruckelfreien Hover */ .ClientView .actions .footer button.change, .ClientView .actions .footer button.custom, .ClientView .actions .footer .custom, .ClientView .actions .footer .custom button, .PreviewView > .footer button.change { background: transparent !important; border: none !important; border-bottom: 1px solid transparent !important; color: var(--sub-text) !important; padding: 0 2px !important; margin: 0 4px !important; font-family: inherit !important; font-size: inherit !important; cursor: pointer !important; display: inline !important; transition: all 0.2s ease !important; } /* Der Hover-Effekt: Hellerer Text und lila Unterstrich */ .ClientView .actions .footer button.change:hover, .ClientView .actions .footer button.custom:hover, .ClientView .actions .footer .custom:hover, .ClientView .actions .footer .custom button:hover, .PreviewView > .footer button.change:hover { color: var(--foreground) !important; border-bottom: 1px solid var(--ztfr-purple) !important; } /* Layout-Anpassung für die Custom-Web-Instance-Zeile, damit sie sauber umbricht */ .ClientView .actions .footer .custom { display: block !important; margin-top: 6px !important; } /* --- MOBILE ANPASSUNGEN --- */ @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; } }