/* ===== Haluzot Platters Gallery (inherits theme fonts) ===== */
.hp-gallery-wrap{margin:28px 0}
.hp-head{margin:0 0 14px}
.hp-title{margin:0 0 6px;font-size:clamp(22px,2.2vw,34px);line-height:1.12}
.hp-subtitle{margin:0;opacity:.8;font-size:clamp(14px,1.1vw,18px)}

.hp-gallery{
  display:grid;
  grid-template-columns:repeat(var(--hp-cols,3), minmax(0,1fr));
  gap:18px;
  align-items:start;
}

@media (max-width: 900px){
  .hp-gallery{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 520px){
  .hp-gallery{grid-template-columns:1fr;}
}

.hp-item{margin:0}
.hp-open{
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  text-align:inherit;
  cursor:pointer;
}

.hp-open img{
  width:100%;
  height:320px;
  object-fit:cover;
  display:block;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(0,0,0,.10);
  transform:translateZ(0);
  transition:transform .35s ease, box-shadow .35s ease;
}

.hp-open:hover img{
  transform:scale(1.02);
  box-shadow:0 16px 46px rgba(0,0,0,.14);
}

.hp-cap{
  margin-top:10px;
  font-size:14px;
  opacity:.9;
}

.hp-cta{margin-top:18px;display:flex;justify-content:center}

.hp-whatsapp{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 12px 34px rgba(0,0,0,.12);
  border:1px solid rgba(0,0,0,.08);
  background: #fff;
}
.hp-whatsapp:hover{transform:translateY(-1px)}
.hp-whatsapp__icon{
  width:34px;height:34px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.06);
}

/* Lightbox */
.hp-lightbox[hidden]{display:none !important;}
.hp-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6vh 16px;
}
.hp-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
}
.hp-lightbox__panel{
  position:relative;
  width:min(960px, 92vw);
  max-height:88vh;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  z-index:1;
}
.hp-lightbox__close{
  position:absolute;
  inset-inline-end:10px;
  top:10px;
  width:42px;height:42px;border-radius:999px;
  border:0;
  cursor:pointer;
  background:rgba(0,0,0,.10);
  font-size:26px;line-height:1;
  z-index:2;
}
.hp-lightbox__img{
  width:100%;
  height:min(70vh, 720px);
  object-fit:contain;
  display:block;
  background:#0b0b0b;
}
.hp-lightbox__caption{
  padding:14px 18px;
  font-size:15px;
  opacity:.9;
}
