/* Elementor Edition styles */
.pppe-grid { display:grid; gap:24px; }
.pppe-cols-1 { grid-template-columns: 1fr; }
.pppe-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.pppe-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.pppe-cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 900px){ .pppe-cols-3, .pppe-cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .pppe-grid { grid-template-columns: 1fr; } }

/* Utility classes expected by the default Elementor template */
.pppe-card { position:relative; background:#fff; border-radius:16px; border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 25px rgba(0,0,0,.08); overflow:hidden; transition:.25s ease; }
.pppe-card:hover { transform: translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.12); }
.pppe-ribbon { position:absolute; top:12px; right:-56px; transform:rotate(35deg); background:var(--pppe-accent,#6D28D9);
  color:#fff; padding:6px 64px; font-weight:700; box-shadow:0 6px 18px rgba(0,0,0,.15); }
.pppe-title { font-weight:800; margin:0; font-size:1.25rem; }
.pppe-price { display:flex; align-items:flex-end; gap:6px; font-weight:800; }
.pppe-currency { font-size:1.1rem; opacity:.8; }
.pppe-amount { font-size:2.4rem; line-height:1; }
.pppe-period { font-size:.9rem; opacity:.7; }
.pppe-desc { opacity:.9; }
.pppe-features { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.pppe-features li { position:relative; padding-left:24px; }
.pppe-features li:before { content:'\2713'; position:absolute; left:0; top:0; font-weight:700; color:var(--pppe-accent,#6D28D9); }
.pppe-btn { display:block; text-align:center; padding:12px 16px; border-radius:12px; font-weight:700; text-decoration:none; border:2px solid var(--pppe-accent,#6D28D9); }
.pppe-btn--filled { background:var(--pppe-accent,#6D28D9); color:#fff; }
.pppe-btn--outline { color:var(--pppe-accent,#6D28D9); background:transparent; }
.pppe-featured { outline: 2px solid var(--pppe-accent,#6D28D9); }
