/* === Meldungen + Formular === */
.bu-msg{padding:.85rem 1.1rem;border-radius:10px;margin-bottom:1.2rem;font-size:.95rem;}
.bu-ok{background:#e7f7ec;border:1px solid #43a047;color:#1b5e20;}
.bu-err{background:#fdecec;border:1px solid #e53935;color:#b71c1c;}
.bu-form p{margin:0 0 1.1rem;}
.bu-form label{font-weight:600;}
.bu-form input[type=text],
.bu-form input[type=file]{width:100%;max-width:440px;padding:.55rem .7rem;border:1px solid #d4d4d8;border-radius:8px;margin-top:.3rem;font-weight:400;}
.bu-form button{padding:.7rem 1.6rem;border:0;border-radius:8px;background:#1f2937;color:#fff;font-size:1rem;cursor:pointer;transition:background .2s;}
.bu-form button:hover{background:#111827;}

/* === Masonry-Grid (CSS-Columns, kein JS noetig) === */
.bu-masonry{column-count:4;column-gap:16px;}
@media(max-width:1100px){.bu-masonry{column-count:3;}}
@media(max-width:800px){.bu-masonry{column-count:2;}}
@media(max-width:480px){.bu-masonry{column-count:1;}}

.bu-tile{position:relative;display:block;break-inside:avoid;margin:0 0 16px;
         border-radius:14px;overflow:hidden;line-height:0;text-decoration:none;
         box-shadow:0 6px 18px rgba(0,0,0,.10);transition:box-shadow .25s,transform .25s;}
.bu-tile:hover{box-shadow:0 12px 30px rgba(0,0,0,.18);transform:translateY(-2px);}
.bu-tile img{width:100%;height:auto;display:block;transition:transform .45s ease;}
.bu-tile:hover img{transform:scale(1.06);}
.bu-name{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;
         font-size:.85rem;font-weight:600;color:#fff;line-height:1.25;
         background:linear-gradient(to top,rgba(0,0,0,.7),transparent);
         opacity:0;transition:opacity .3s;}
.bu-tile:hover .bu-name{opacity:1;}
@media (hover:none){.bu-name{opacity:1;}}

/* === Lightbox === */
.bu-lb{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;
       background:rgba(12,12,16,.93);backdrop-filter:blur(5px);}
.bu-lb.open{display:flex;}
.bu-lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;}
.bu-lb-fig img{max-width:92vw;max-height:82vh;border-radius:10px;object-fit:contain;
               box-shadow:0 12px 50px rgba(0,0,0,.55);}
.bu-lb-fig figcaption{color:#f0f0f0;margin-top:.8rem;font-size:.95rem;font-weight:600;}
.bu-lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;
              border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.bu-lb button:hover{background:rgba(255,255,255,.28);}
.bu-lb-close{top:18px;right:22px;width:46px;height:46px;font-size:26px;}
.bu-lb-prev,.bu-lb-next{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:22px;}
.bu-lb-prev{left:18px;} .bu-lb-next{right:18px;}
.bu-lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#cfcfcf;font-size:.85rem;}
@media(max-width:600px){.bu-lb-prev,.bu-lb-next{width:44px;height:44px;}.bu-lb-close{width:42px;height:42px;}}
