/* Self-contained shortcode styles. No theme selectors or external fonts. */
.ubp-wall { --ubp-accent:#9084bb; --ubp-ink:#171719; --ubp-line:#deded8; --ubp-columns:5; width:100%; max-width:100%; font-family:inherit; color:var(--ubp-ink); }
.ubp-wall *, .ubp-wall *::before, .ubp-wall *::after { box-sizing:border-box; }
.ubp-wall .ubp-section { margin:0; padding:0; border:0; }
.ubp-wall .ubp-section + .ubp-section { margin-top:3rem; }
.ubp-wall .ubp-heading { margin:0 0 1rem; font-family:inherit; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.25; color:inherit; }
.ubp-wall .ubp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; gap:0; margin:0; padding:0; border:0; border-top:1px solid var(--ubp-line); border-left:1px solid var(--ubp-line); background:#fff; }
.ubp-wall .ubp-card { display:flex; flex-direction:column; min-width:0; margin:0; padding:0; list-style:none; border:0; border-right:1px solid var(--ubp-line); border-bottom:1px solid var(--ubp-line); background:#fff; color:var(--ubp-ink); }
.ubp-wall .ubp-card::before,.ubp-wall .ubp-card::after { content:none; }
.ubp-wall .ubp-link { display:flex; flex:1; flex-direction:column; justify-content:center; gap:1rem; min-width:0; min-height:156px; margin:0; padding:1.25rem .75rem; border:0; background:transparent; color:var(--ubp-ink); box-shadow:none; text-align:center; text-decoration:none; font-family:inherit; }
.ubp-wall .ubp-link:hover { text-decoration:none; color:var(--ubp-ink); }
.ubp-wall a.ubp-link:focus-visible { outline:3px solid var(--ubp-ink); outline-offset:-4px; }
.ubp-wall .ubp-logo-frame { display:flex; align-items:center; justify-content:center; width:100%; min-height:90px; }
.ubp-wall img.ubp-logo { display:block; margin:0; padding:0; border:0; border-radius:0; box-shadow:none; width:100%; max-width:180px; height:90px; object-fit:contain; filter:grayscale(1); transition:filter 160ms ease; }
.ubp-wall.ubp-color img.ubp-logo,.ubp-wall .ubp-link:focus-visible img.ubp-logo { filter:grayscale(0); }
.ubp-wall .ubp-name { display:block; font-family:inherit; font-size:.875rem; line-height:1.45; font-weight:400; text-transform:none; letter-spacing:normal; overflow-wrap:anywhere; }
.ubp-wall .ubp-badge { align-self:flex-end; display:block; max-width:100%; min-height:2rem; padding:.4rem .625rem; background:#f0f0ed; color:#0b0b0c; font-family:inherit; font-size:.75rem; font-weight:600; line-height:1.4; text-align:center; overflow-wrap:anywhere; }
.ubp-wall .ubp-tier-hauptsponsor { background:var(--ubp-accent); }
.ubp-wall .ubp-tier-herzpartner { background:#bcb4d5; }
.ubp-wall .ubp-tier-premium { background:#dad5e7; }
.ubp-wall .ubp-tier-business { background:#ebe8f2; }
.ubp-wall .ubp-tier-teammates { background:#f0f0ed; }
.ubp-wall.ubp-cols-2 { --ubp-columns:2; }
.ubp-wall.ubp-cols-3 { --ubp-columns:3; }
.ubp-wall.ubp-cols-4 { --ubp-columns:4; }
.ubp-wall.ubp-cols-5 { --ubp-columns:5; }
.ubp-wall.ubp-cols-6 { --ubp-columns:6; }
@media (min-width:640px) { .ubp-wall .ubp-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .ubp-wall.ubp-cols-2 .ubp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:960px) { .ubp-wall .ubp-grid { grid-template-columns:repeat(var(--ubp-columns),minmax(0,1fr)); } }
@media (hover:hover) { .ubp-wall a.ubp-link:hover img.ubp-logo { filter:grayscale(0); } }
@media (prefers-reduced-motion:reduce) { .ubp-wall img.ubp-logo { transition:none; } }
