/* ============================================================
   PESKAMO — abbonamenti.css
   ============================================================ */

.abb-container { max-width: 1000px; }

/* ── CHIP PREMIUM — rimossa, sostituita da .plan-chip in style.css ── */


/* ── PIANI GRID ── */
.abb-plans {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.2rem;
  margin: 2.5rem 0;
}

/* ── CARD BASE ── */
.abb-card {
  background: var(--bg-card); border-radius: var(--radius-lg);
  border: 1px solid rgba(255,255,255,0.07);
  padding: 2rem 1.6rem; display: flex; flex-direction: column;
  position: relative; overflow: hidden;
}

/* ── CARD FEATURED (mensile) ── */
.abb-card-featured {
  border-color: var(--primary);
  background: linear-gradient(160deg, #0d2a45, var(--bg-card));
  box-shadow: 0 0 40px rgba(0,180,216,0.12);
}

/* ── CARD ANNUAL ── */
.abb-card-annual {
  border-color: rgba(0,200,150,0.3);
  background: linear-gradient(160deg, #0d2a35, var(--bg-card));
}

/* ── BADGE TOP ── */
.abb-badge-top {
  position: absolute; top: 0; right: 0;
  background: var(--primary); color: var(--bg-deep);
  font-size: 0.7rem; font-weight: 800; letter-spacing: 1px;
  padding: 5px 14px; border-radius: 0 var(--radius-lg) 0 var(--radius);
}
.abb-badge-save { background: var(--success); }

/* ── CARD HEADER ── */
.abb-card-header { margin-bottom: 1.5rem; display: flex; flex-direction: column; }
.abb-plan-name { font-size: 0.8rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); display: block; margin-bottom: 0.8rem; }
.abb-price { display: flex; align-items: flex-end; gap: 2px; line-height: 1; margin-bottom: 0.4rem; }
.abb-price-amount { font-size: 3rem; font-weight: 900; color: var(--white); }
.abb-price-currency { font-size: 1.4rem; font-weight: 700; color: var(--white); margin-bottom: 0.4rem; }
.abb-price-period { font-size: 0.9rem; color: var(--text-muted); margin-bottom: 0.3rem; padding-left: 2px; }
.abb-price-note { font-size: 0.75rem; color: var(--text-muted); margin-top: 0.4rem; line-height: 1.4; }

/* ── FEATURES LIST ── */
.abb-features { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; flex: 1; margin-bottom: 1.8rem; }
.abb-features li { display: flex; align-items: center; gap: 0.7rem; font-size: 0.88rem; line-height: 1.4; }
.abb-features li::before { content: ''; width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0; background-size: contain; }
.abb-features li.included { color: #ccd8e0; }
.abb-features li.included::before { background: var(--success); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M16.7 5.3a1 1 0 0 0-1.4 0L8 12.6 4.7 9.3a1 1 0 0 0-1.4 1.4l4 4a1 1 0 0 0 1.4 0l8-8a1 1 0 0 0 0-1.4z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M16.7 5.3a1 1 0 0 0-1.4 0L8 12.6 4.7 9.3a1 1 0 0 0-1.4 1.4l4 4a1 1 0 0 0 1.4 0l8-8a1 1 0 0 0 0-1.4z'/%3E%3C/svg%3E") center/contain no-repeat; }
.abb-features li.excluded { color: var(--text-muted); }
.abb-features li.excluded::before { background: rgba(136,153,170,0.3); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M14.3 5.7a1 1 0 0 0-1.4 0L10 8.6 7.1 5.7a1 1 0 0 0-1.4 1.4L8.6 10l-2.9 2.9a1 1 0 0 0 1.4 1.4L10 11.4l2.9 2.9a1 1 0 0 0 1.4-1.4L11.4 10l2.9-2.9a1 1 0 0 0 0-1.4z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M14.3 5.7a1 1 0 0 0-1.4 0L10 8.6 7.1 5.7a1 1 0 0 0-1.4 1.4L8.6 10l-2.9 2.9a1 1 0 0 0 1.4 1.4L10 11.4l2.9 2.9a1 1 0 0 0 1.4-1.4L11.4 10l2.9-2.9a1 1 0 0 0 0-1.4z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* ── BOTTONI CARD ── */
.abb-btn-free {
  display: block; text-align: center; padding: 13px;
  border-radius: 50px; border: 1px solid rgba(255,255,255,0.2);
  color: var(--white); font-weight: 700; font-size: 0.9rem;
  text-decoration: none; transition: border-color 0.2s, background 0.2s;
}
.abb-btn-free:hover { border-color: var(--primary); background: rgba(0,180,216,0.08); }
.abb-btn-premium {
  display: block; text-align: center; padding: 13px;
  border-radius: 50px; background: var(--primary);
  color: var(--bg-deep); font-weight: 800; font-size: 0.9rem;
  text-decoration: none; transition: opacity 0.2s;
}
.abb-btn-premium:hover { opacity: 0.85; }

/* ── RESPONSIVE ── */
@media (max-width: 860px) {
  .abb-plans { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
  .abb-container { max-width: 800px; }
}
@media (max-width: 480px) {
  .abb-plans { max-width: 100%; }
}
