/* ===== Base layout ===== */
.lhg-wrap{max-width:1180px;margin:0 auto;padding:10px 12px;box-sizing:border-box}
.lhg-card{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:18px;margin:16px 0;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.lhg-title{font-size:20px;font-weight:900;letter-spacing:-0.2px}
.lhg-small{font-size:12px;color:rgba(0,0,0,.58);margin-top:4px}
.lhg-topbar{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.lhg-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lhg-upload-row{margin-top:14px}

/* ===== Inputs/buttons ===== */
.lhg-input{border:1px solid rgba(0,0,0,.14);border-radius:12px;padding:11px 12px;width:100%;max-width:520px;background:#fff;outline:none;transition:border-color .15s ease, box-shadow .15s ease}
.lhg-input:focus{border-color:rgba(0,0,0,.30);box-shadow:0 0 0 4px rgba(0,0,0,.06)}
.lhg-input-file{border:1px dashed rgba(0,0,0,.18);border-radius:12px;padding:11px 12px;background:#fff;max-width:320px}
.lhg-btn{cursor:pointer;border:1px solid rgba(0,0,0,.14);background:#fff;border-radius:12px;padding:10px 12px;font-weight:900;transition:transform .06s ease, box-shadow .15s ease, border-color .15s ease}
.lhg-btn:hover{border-color:rgba(0,0,0,.28);box-shadow:0 10px 22px rgba(0,0,0,.08);transform:translateY(-1px)}
.lhg-btn:active{transform:translateY(0px);box-shadow:none}
.lhg-btn:disabled{opacity:.6;cursor:not-allowed}

.lhg-btn-up{
  border-color: rgba(11,107,42,.35);
  background: rgba(11,107,42,.06);
}
.lhg-btn-up:hover{
  border-color: rgba(11,107,42,.55);
  background: rgba(11,107,42,.10);
}
.lhg-btn-down{
  border-color: rgba(176,0,32,.35);
  background: rgba(176,0,32,.06);
}
.lhg-btn-down:hover{
  border-color: rgba(176,0,32,.55);
  background: rgba(176,0,32,.10);
}

/* ===== Status messages ===== */
.lhg-status{margin-top:12px}
.lhg-msg{padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.10);background:#fff;font-weight:800}
.lhg-msg.error{border-color:rgba(176,0,32,.35);box-shadow:0 8px 22px rgba(176,0,32,.08)}
.lhg-msg.success{border-color:rgba(11,107,42,.35);box-shadow:0 8px 22px rgba(11,107,42,.08)}
.lhg-warning{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(240,195,109,.7);background:#fff7e6;font-weight:800}

/* ===== Grid/cards ===== */
.lhg-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(270px,1fr));gap:16px;margin-top:10px}
.lhg-item{border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,.06);transition:transform .12s ease, box-shadow .18s ease, border-color .18s ease}
.lhg-item:hover{transform:translateY(-2px);border-color:rgba(0,0,0,.16);box-shadow:0 14px 34px rgba(0,0,0,.10)}

.lhg-media{position:relative}
.lhg-img{width:100%;height:230px;object-fit:cover;display:block;background:#111}
@media (max-width:480px){.lhg-img{height:200px}}

.lhg-badge{
  position:absolute;
  top:12px;
  left:12px;
  padding:7px 10px;
  border-radius:999px;
  background: rgba(0,0,0,.70);
  color:#fff;
  font-weight:900;
  font-size:12px;
  letter-spacing:.2px;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(6px);
}

.lhg-meta{padding:12px 12px 14px}
.lhg-author{
  font-size:12px;
  font-weight:900;
  color: rgba(0,0,0,.55);
  margin-top: 2px;
}
.lhg-desc{font-size:14px;line-height:1.35;margin:8px 0 10px;color:rgba(0,0,0,.84);white-space:pre-wrap}
.lhg-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;border:1px solid rgba(0,0,0,.12);background:#fff;font-size:12px;font-weight:900}

/* Load more */
.lhg-loadmore-wrap{display:flex;justify-content:center;margin:16px 0 28px}
.lhg-loadmore{min-width:220px}

/* Empty */
.lhg-empty{padding:18px;border:1px dashed rgba(0,0,0,.22);border-radius:16px;background:#fff;color:rgba(0,0,0,.55)}

/* ===== LIGHTBOX ===== */
.lhg-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;z-index:999999;cursor:zoom-out;padding:20px}
.lhg-lightbox-inner{position:relative;max-width:92vw;max-height:92vh}
.lhg-lightbox img{max-width:92vw;max-height:92vh;border-radius:16px;box-shadow:0 14px 50px rgba(0,0,0,.55);cursor:default}
.lhg-lightbox-actions{position:absolute;top:10px;right:10px;display:flex;gap:10px;z-index:2}
.lhg-lightbox-actions a,.lhg-lightbox-actions button{
  border:1px solid rgba(255,255,255,.30);
  background:rgba(0,0,0,.55);
  color:#fff;border-radius:12px;padding:10px 12px;font-weight:900;text-decoration:none;cursor:pointer;
  transition:background .15s ease, transform .06s ease
}
.lhg-lightbox-actions a:hover,.lhg-lightbox-actions button:hover{background:rgba(0,0,0,.75);transform:translateY(-1px)}
