/* lpfg- prefix */
.lpfg-wrap{ --lpfg-cols:3; --lpfg-ratio:100%; --lpfg-zoom:1.06; }
svg.lpfg-ic{ width:1em !important; height:1em !important; display:block; fill:currentColor; }

.lpfg-filter{
  display:flex;
  justify-content:center;
  gap: 10px;
  margin: 0 0 26px;
  flex-wrap: wrap;
}

.lpfg-filter-btn{
  appearance:none;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.02);
  color: rgba(255,255,255,0.70);
  padding: 12px 22px;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor:pointer;
  transition: background .22s ease, color .22s ease, border-color .22s ease;
}

.lpfg-filter-btn.is-active{
  background: #FFC700;
  color: #111;
  border-color: rgba(255,199,0,0.7);
}
.lpfg-grid{ display:grid; grid-template-columns: repeat(var(--lpfg-cols), minmax(0,1fr)); gap: 28px; }
.lpfg-card{
  position:relative;
  border:1px solid rgba(255,199,0,0.18);
  background: rgba(255,255,255,0.03);
  box-shadow: 0 18px 50px rgba(0,0,0,0.30);
  overflow:hidden;
  transition: transform 250ms ease, box-shadow 250ms ease, border-color 250ms ease;
}
/* .lpfg-card:hover{ transform: translateY(-6px); }
.lpfg-wrap.is-glow .lpfg-card:hover{
  border-color: rgba(255,199,0,0.35);
  box-shadow: 0 22px 65px rgba(0,0,0,0.42);
} */
.lpfg-card-link{ position:absolute; inset:0; z-index:1; text-decoration:none; }
.lpfg-card .lpfg-body, .lpfg-card .lpfg-media{ position:relative; z-index:2; }

.lpfg-media{ position:relative; padding-top: var(--lpfg-ratio); }
.lpfg-img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit: cover;
/*   transform: scale(1); */
  transition: transform 250ms ease;
}
/* .lpfg-wrap.is-zoom .lpfg-card:hover .lpfg-img{ transform: scale(var(--lpfg-zoom)); } */

.lpfg-body{ padding: 22px; }
.lpfg-cat{ font-size: 12px; letter-spacing: 3px; color: rgba(255,255,255,0.55); margin-bottom: 10px; }
.lpfg-cat.is-upper{ text-transform: uppercase; }
.lpfg-title{ margin:0 0 10px; font-size: 22px; line-height: 1.2; }
.lpfg-title a{ color:#fff; text-decoration:none; }

.lpfg-excerpt{ margin: 0 0 14px; color: rgba(255,255,255,0.62); font-size: 13px; line-height: 1.5; }
.lpfg-bottom{ display:flex; align-items:center; justify-content: space-between; gap: 14px; }
.lpfg-price{ color: #FFC700; font-weight: 700; font-size: 18px; }
.lpfg-price del{ opacity:.55; margin-right: 6px; }
.lpfg-price ins{ text-decoration:none; }

.lpfg-cta{
  color: rgba(255,255,255,0.60);
  text-decoration:none;
  font-size: 12px;
  letter-spacing: 2px;
}
.lpfg-cta:hover{ color: rgba(255,255,255,0.92); }

.lpfg-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  background: #FFC700;
  color:#111;
  padding: 10px 16px;
  border-radius: 2px;
  text-decoration:none;
  font-size: 12px;
  letter-spacing: 2px;
  white-space: nowrap;
}
.lpfg-cta-btn:hover{ filter: brightness(0.95); }

.lpfg-cta-inner{ display:inline-flex; align-items:center; gap: 10px; }
.lpfg-ic{ display:inline-flex; align-items:center; justify-content:center; line-height:1; }
/* Elementor Icons (SVG) sometimes render with 0x0 size unless we set dimensions */
.lpfg-ic svg{ width:1em !important; height:1em !important; display:block; fill:currentColor; }
.lpfg-ic i{ font-size:1em; line-height:1; }

.lpfg-cta, .lpfg-cta-btn{ position:relative; z-index:3; }

/* Optional theme hook */
body.lsm-mini-cart-open{}


/* Pagination */
.lpfg-pagination{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.lpfg-pagination a,.lpfg-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:inherit;text-decoration:none;line-height:1}
.lpfg-pagination .current{background:rgba(255,255,255,.10)}
.lpfg-pagination a:hover{background:rgba(255,255,255,.08)}

.lpfg-loading{opacity:.6;pointer-events:none}
