/* Container base */
.jforma-root { position: relative; }

/* Swiper layout */
.jforma-swiper { width:100%; padding:20px 0; position:relative; }
.jforma-swiper .swiper-slide { display:flex; justify-content:center; align-items:flex-start; }

/* Card */
.jforma-card { width:100%; border:1px solid #d9d9d9; padding:12px; background:#fff; }

.jforma-figure { width:100%; margin:0; }

/* 👇 QUADRATO, NIENTE CROP, NIENTE ANGOLI ARROTONDATI */
.jforma-media { width:100%; aspect-ratio:1 / 1; background:#fff; }
.jforma-media img {
  width:100%; height:100%; object-fit:contain; /* mostra tutta l'immagine */
  border-radius:0; box-shadow:none;            /* niente arrotondamenti/ombra */
}

/* Caption & texts */
.jforma-caption { text-align:left; margin-top:10px; }
.jforma-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; font-size:13px; color:#444; }
.jforma-meta .meta-left, .jforma-meta .meta-right { display:flex; align-items:center; gap:6px; }

.jforma-name {
  font-weight:700; font-size:16px; line-height:1.35; margin:0 0 6px 0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  height: calc(1.35em * 3); min-height: calc(1.35em * 3);
}
.jforma-name a.jforma-name-link { color:inherit; text-decoration:none; }
.jforma-name a.jforma-name-link:hover, .jforma-name a.jforma-name-link:focus { text-decoration:underline; }

.jforma-subtitle {
  font-size:14px; color:#555; line-height:1.35; margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  height: calc(1.35em * 3); min-height: calc(1.35em * 3);
}

/* Price row (sempre visibile) */
.jforma-price-row {
  margin-top:10px; background:#f2f2f2; border-radius:4px;
  border:1px solid rgba(34,34,34,0.15);
  padding:8px 12px; display:flex; align-items:center; gap:12px;
  justify-content:space-between;
  font-weight:600; color:#222; font-size:14px;
  min-height:44px; line-height:1.2;
}
.jforma-price-row .jforma-amount,
.jforma-price-row .jforma-countdown { display:flex; align-items:center; gap:6px; line-height:1.2; }
.jforma-price-row .jforma-amount { justify-content:flex-start; }
.jforma-price-row .jforma-countdown { margin-left:auto; justify-content:flex-end; text-align:right; }

/* Arrows */
.jforma-swiper .swiper-button-prev,
.jforma-swiper .swiper-button-next {
  width:48px; height:48px; border-radius:9999px;
  background:rgba(0,0,0,.45); backdrop-filter:blur(2px);
  box-shadow:0 6px 16px rgba(0,0,0,.25);
  display:flex; align-items:center; justify-content:center;
}
.jforma-swiper .swiper-button-prev::after,
.jforma-swiper .swiper-button-next::after { font-size:22px; color:#fff; }
.jforma-swiper .swiper-button-prev { left:8px; }
.jforma-swiper .swiper-button-next { right:8px; }

/* Pagination */
.jforma-swiper .swiper-pagination { position:static; margin-top:12px; text-align:center; }
.jforma-swiper .swiper-pagination-bullet { opacity:.6; }
.jforma-swiper .swiper-pagination-bullet-active { opacity:1; }

/* A11y helper */
.jforma-sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}

