/* static/assets/css/packages_block.css
   Unique names (jkc-*) to avoid conflicts
*/
.jkc-packages-block { background: #fff; }

/* Grid: responsive 1-4 cols */
.jkc-packages-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  align-items: stretch;
  margin-top: 18px;
}

/* Card */
.jkc-package-card {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(180deg,#fff,#fbfbfb);
  box-shadow: 0 18px 40px rgba(14,20,30,0.06);
  border: 1px solid rgba(15,17,18,0.04);
}

/* Header */
.jkc-pkg-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 20px;
  gap: 12px;
  background: linear-gradient(180deg, rgba(212,175,55,0.12), rgba(212,175,55,0.08));
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.jkc-pkg-title .title {
  margin:0; font-size:18px; font-weight:800; letter-spacing:.6px; color:#111;
}
.jkc-pkg-title .subtitle { margin-top:6px; color:#6b7280; }

/* Price badge */
.jkc-pkg-price { text-align:right; min-width:110px; }
.jkc-pkg-price .price { font-size:34px; font-weight:900; color:#0f1724; }
.jkc-pkg-price .per { font-size:12px; color:#6b7280; margin-top:4px; }

/* Media */
.jkc-pkg-media img {
  display:block;
  width:100%;
  height:180px;
  object-fit:cover;
  border-bottom:1px solid rgba(0,0,0,0.04);
}

/* Body (accordion list) */
.jkc-pkg-body { padding: 0; flex:1 1 auto; }
.jkc-acc-item { border-bottom: 1px solid rgba(0,0,0,0.04); }
.jkc-acc-toggle {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  background: #fff;
  border:0;
  font-weight:700;
  cursor:pointer;
  font-size:15px;
}
.jkc-acc-toggle .acc-icon {
  width:34px; height:34px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(15,17,18,0.04); color:#111; font-weight:700;
  transition: transform .25s ease;
}

/* Panel hidden state */
.jkc-acc-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height .42s cubic-bezier(.2,.9,.2,1), padding .28s ease;
  padding: 0 18px;
  background: linear-gradient(180deg, rgba(250,248,230,0.35), rgba(250,248,230,0.18));
}
.jkc-acc-panel.open {
  padding: 12px 18px 18px;
}

/* Features list */
.pkg-features { list-style: disc; margin:0; padding-left:16px; color:#1f2937; }
.pkg-features li { margin-bottom:8px; font-size:14px; line-height:1.45; }

/* Footer */
.jkc-pkg-footer { padding:12px 16px; display:flex; gap:10px; align-items:center; justify-content:space-between; border-top:1px solid rgba(0,0,0,0.04); background:#fff; }
.jkc-pkg-footer .btn { padding:8px 12px; border-radius:8px; font-weight:700; }

/* Active toggles */
.jkc-acc-toggle[aria-expanded="true"] .acc-icon {
  transform: rotate(45deg);
  background: var(--jkc-gold);
  color: #111;
}

/* Responsive */
@media (max-width:1200px) {
  .jkc-packages-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width:900px) {
  .jkc-packages-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width:640px) {
  .jkc-packages-grid { grid-template-columns: 1fr; }
  .jkc-pkg-price .price { font-size:28px; }
}
