:root{
  --red:#d6111e;
  --gold:#ddc76d;
  --black:#000;
  --white:#fff;
  --r:8px;
}

body.hb-modal-open{overflow:hidden}

/* CONTAINER */
#hb-container{
  max-width:1080px;
  margin:0 auto;
  padding:16px;
  background:var(--black);
  color:var(--white);
  border:2px solid var(--gold);
  border-radius:var(--r);
}

/* SEARCH */
#hb-search{
  width:100%;
  padding:12px;
  margin-bottom:16px;
  border-radius:var(--r);
  border:2px solid var(--gold);
  background:var(--black);
  color:var(--white);
}

/* GRID */
#hb-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
@media(max-width:1024px){#hb-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){#hb-grid{grid-template-columns:1fr}}

/* CARD */
.hb-card{
  border:1px solid var(--gold);
  border-radius:var(--r);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.hb-card-image{
  position:relative;
  height:180px;
  background-size:cover;
  background-position:center;
}

/* BADGE */
.hb-badge-mini{
  position:absolute;
  top:8px;
  left:8px;
  padding:4px 8px;
  font-size:12px;
  font-weight:800;
  border-radius:999px;
  color:var(--black);
  background:var(--gold);
}
.hb-badge-mini.is-new{background:#22c55e;color:#000}
.hb-badge-mini.is-edited{background:var(--gold)}

/* BODY */
.hb-card-body{padding:14px}

/* SHARE */
.hb-share-inline{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0;
}
.hb-share-inline a,
.hb-share-inline button{
  background:var(--red);
  color:var(--white);
  border:none;
  border-radius:var(--r);
  padding:6px 10px;
  font-weight:700;
}

/* READ MORE */
.hb-readmore{
  width:100%;
  padding:10px;
  background:var(--gold);
  color:var(--black);
  border:none;
  border-radius:var(--r);
  font-weight:800;
}

/* LOAD MORE */
#hb-loadmore-wrap{
  display:flex;
  justify-content:center;
  margin-top:20px;
}
#hb-loadmore{
  padding:12px 22px;
  background:var(--red);
  color:var(--white);
  border:none;
  border-radius:var(--r);
  font-weight:800;
}

/* MODAL */
.hb-modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.92);
  z-index:99999;
  overflow-y:auto;
}
.hb-modal.is-open{display:block}

.hb-modal-inner{
  max-width:900px;
  margin:40px auto;
  background:var(--black);
  border:2px solid var(--gold);
  border-radius:var(--r);
  overflow:hidden;
}

/* CLOSE */
.hb-modal-close{
  position:fixed;
  top:20px;
  right:20px;
  background:var(--red);
  color:var(--white);
  border:none;
  border-radius:50%;
  width:44px;
  height:44px;
  font-size:28px;
  cursor:pointer;
  z-index:100000;
}

/* COVER */
.hb-modal-cover{
  position:relative;
  height:320px;
  background-size:cover;
  background-position:center;
}

/* META */
.hb-modal-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 16px;
  font-size:13px;
  background:rgba(255,255,255,.05);
}

/* CONTENT */
.hb-modal-content{
  padding:20px;
  line-height:1.65;
}



