/* Popup Desktop – 1.9.10 */

/* Grid */
.ivt-ui-wrap{ width:100%; }
.ivt-cards-grid{
  display:grid;
  grid-template-columns: repeat( var(--ivt-columns, 4), minmax(0,1fr) );
  gap: 24px;
}

/* Card 20% più grande (da ~360px a ~432px) */
.ivt-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
  border-radius:16px;
  background:#111;
}
.ivt-card .ivt-card-media{ height:432px; }
.ivt-card .ivt-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Overlay gradiente */
.ivt-card .ivt-card-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.60) 100%);
  z-index:1; pointer-events:none; border-radius:inherit;
}

/* Info layer */
.ivt-card .ivt-card-info{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:16px; z-index:3; color:#fff; }
.ivt-card .ivt-card-title{ margin:0 0 8px 0; font-weight:800; font-size: clamp(18px, 2.1vw, 28px); }
.ivt-card .ivt-card-meta{ margin-top:10px; }
.ivt-card .ivt-card-cta{ margin-top:10px; }
.ivt-btn.ivt-btn-red{ display:block; width:100%; padding:14px 18px; background:#ef4444; color:#fff; border-radius:10px; text-decoration:none; font-weight:800; text-align:center; }

/* Bottone i centrato nel cerchio */
.ivt-info-btn{
  position:absolute; top:12px; right:12px; z-index:4;
  width:40px; height:40px; border-radius:50%; border:none;
  display:flex; align-items:center; justify-content:center;
  background:#22c55e; color:#fff; font-weight:900; font-size:18px; line-height:1;
  cursor:pointer;
}

/* Backdrop quando la popup è aperta (chiudi al click) */
.ivt-card .ivt-backdrop{
  position:absolute; inset:0; background:rgba(0,0,0,.25);
  z-index:5; display:none;
}
.ivt-card.show-info .ivt-backdrop{ display:block; }

/* Popup stile mobile, centrata */
.ivt-card .ivt-modal{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:86%; max-height:70%;
  background:rgba(0,0,0,.90);
  border-radius:18px;
  padding:18px 18px 16px;
  z-index:6; display:none;
  overflow:auto;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.ivt-card.show-info .ivt-modal{ display:block; }

.ivt-modal-title{ font-weight:800; font-size:20px; margin:0 32px 8px 0; color:#fff; }
.ivt-modal-desc{ color:#fff; line-height:1.45; }
.ivt-modal-close{
  position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.15); color:#fff; border:none; font-size:18px; cursor:pointer;
}

/* Responsive */
@media (max-width:1024px){
  .ivt-card .ivt-card-media{ height:360px; }
}
@media (max-width:768px){
  .ivt-cards-grid{ gap:16px; }
  .ivt-card .ivt-card-media{ height:280px; }
}
