/* ── Packages Page ── */
.pkg-card {
  background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 36px 32px;
  display: flex; flex-direction: column; position: relative; transition: box-shadow .2s, transform .2s;
}
.pkg-card:hover { box-shadow: 0 20px 56px rgba(15,31,61,.12); transform: translateY(-4px); }
.pkg-card.popular { border: 2px solid var(--orange); box-shadow: 0 12px 48px rgba(249,115,22,.18); }
.pkg-popular-badge {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  background: var(--orange); color: #fff; font-size: .72rem; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase; padding: 5px 18px; border-radius: 100px; white-space: nowrap;
}
.pkg-price { font-family: 'Manrope', sans-serif; font-weight: 800; color: var(--navy); }
.pkg-price .amount { font-size: 2.8rem; line-height: 1; }
.pkg-price .period { font-size: .9rem; color: var(--slate); font-weight: 500; }
.pkg-feature {
  display: flex; align-items: flex-start; gap: 10px; font-size: .88rem; color: var(--text); padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
.pkg-feature:last-of-type { border-bottom: none; }
.pkg-check { color: var(--green); font-weight: 800; flex-shrink: 0; margin-top: 1px; }
.pkg-section-header {
  display: flex; align-items: center; gap: 16px; padding: 28px 0 32px; border-bottom: 2px solid var(--border); margin-bottom: 40px;
}

/* ── Pricing Dynamic Grid ── */
.pricing-group { margin-bottom: 60px; }
.pricing-group-header { margin-bottom: 32px; }
.pricing-group-title { font-family: 'Manrope', sans-serif; font-size: 1.4rem; font-weight: 800; color: var(--navy); margin-bottom: 8px; }
.pricing-group-sub { font-size: .9rem; color: var(--slate); }
.pricing-grid-dynamic { display: grid; gap: 24px; }
.pricing-grid-dynamic[data-cols="1"] { grid-template-columns: repeat(1, minmax(0, 480px)); justify-content: center; }
.pricing-grid-dynamic[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
.pricing-grid-dynamic[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
.pricing-grid-dynamic[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 900px) {
  .pricing-grid-dynamic[data-cols="4"] { grid-template-columns: repeat(2, 1fr); }
  .pricing-grid-dynamic[data-cols="3"] { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .pkg-grid-3, .pkg-grid-2 { grid-template-columns: 1fr !important; }
  .pkg-card.popular { transform: none; }
  .pkg-card { padding: 28px 24px; }
}
@media (max-width: 600px) {
  .pricing-grid-dynamic { grid-template-columns: 1fr !important; }
}
