/* صفحه‌های پکیج‌ها، سفارش و معرفی فروشگاه ساز (پیشوند zp-) */
.zp-page { padding: 48px 0 72px; }
.zp-head { text-align: center; margin-bottom: 36px; }
.zp-head h1 { font-size: 28px; font-weight: 700; margin-bottom: 10px; }
.zp-head p { color: #5b6470; max-width: 720px; margin: 0 auto; line-height: 2; }

.zp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin-bottom: 40px; }
.zp-card { border: 1px solid #e3e7ee; border-radius: 16px; padding: 22px 18px; background: #fff; display: flex; flex-direction: column; gap: 10px; position: relative; }
.zp-card.is-featured { border-color: #f58220; box-shadow: 0 8px 24px rgba(245,130,32,.18); }
.zp-card .zp-badge { position: absolute; top: -12px; right: 16px; background: #f58220; color: #fff; font-size: 12px; padding: 2px 12px; border-radius: 999px; }
.zp-card h2 { font-size: 20px; margin: 0; font-weight: 700; }
.zp-card .zp-price { font-size: 22px; font-weight: 700; color: #1b2430; }
.zp-card .zp-price small { font-size: 12px; font-weight: 400; color: #7a8493; margin-right: 4px; }
.zp-card p { font-size: 13px; color: #5b6470; line-height: 1.9; margin: 0; flex: 1; }
.zp-btn { display: inline-block; text-align: center; background: #f58220; color: #fff !important; border: 0; border-radius: 12px; padding: 10px 18px; font-weight: 600; cursor: pointer; text-decoration: none; }
.zp-btn:hover { background: #dc6f12; }
.zp-btn.is-light { background: #eef1f6; color: #1b2430 !important; }
.zp-btn[disabled] { opacity: .6; cursor: not-allowed; }

.zp-table-wrap { overflow-x: auto; border: 1px solid #e3e7ee; border-radius: 16px; background: #fff; }
.zp-table { width: 100%; border-collapse: collapse; min-width: 720px; font-size: 14px; }
.zp-table th, .zp-table td { padding: 11px 12px; border-bottom: 1px solid #eef1f6; text-align: center; }
.zp-table th:first-child, .zp-table td:first-child { text-align: right; position: sticky; right: 0; background: #fff; min-width: 230px; }
.zp-table thead th { background: #f7f9fc; font-weight: 700; }
.zp-table tr.zp-group td { background: #f1f4f9; font-weight: 700; text-align: right; }
.zp-yes { color: #1f9d55; font-weight: 700; }
.zp-no { color: #c0c7d2; }
.zp-addon-price { font-size: 12px; color: #7a8493; display: block; }

.zp-grid { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }
@media (max-width: 991px) { .zp-grid { grid-template-columns: 1fr; } }
.zp-box { border: 1px solid #e3e7ee; border-radius: 16px; background: #fff; padding: 22px; margin-bottom: 20px; }
.zp-box h2 { font-size: 18px; margin: 0 0 14px; font-weight: 700; }
.zp-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.zp-field label { font-size: 13px; color: #3b4452; }
.zp-field input, .zp-field textarea { border: 1px solid #d5dbe5; border-radius: 10px; padding: 10px 12px; width: 100%; }
.zp-field .text-danger { font-size: 12px; }
.zp-addon { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px dashed #e3e7ee; }
.zp-addon:last-child { border-bottom: 0; }
.zp-addon span.zp-grow { flex: 1; }
.zp-addon .zp-free { font-size: 12px; color: #1f9d55; }
.zp-summary { position: sticky; top: 90px; }
.zp-summary dl { margin: 0; }
.zp-summary dl > div { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #eef1f6; font-size: 14px; }
.zp-summary dl > div.zp-total { font-weight: 700; font-size: 16px; border-bottom: 0; }
.zp-note { font-size: 12px; color: #7a8493; line-height: 1.9; margin-top: 10px; }

.zp-status { display: inline-block; padding: 4px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; background: #eef1f6; }
.zp-status.s-1, .zp-status.s-4, .zp-status.s-5 { background: #e3f6ea; color: #1f7a45; }
.zp-status.s-2, .zp-status.s-3 { background: #fde8e8; color: #b42318; }
.zp-status.s-0 { background: #fff4e0; color: #9a5b00; }

.zp-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 24px 0 40px; }
.zp-gallery img { width: 100%; border-radius: 14px; border: 1px solid #e3e7ee; display: block; }
.zp-feature-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin: 24px 0 40px; padding: 0; list-style: none; }
.zp-feature-list li { border: 1px solid #e3e7ee; border-radius: 12px; padding: 14px 16px; background: #fff; font-size: 14px; line-height: 1.9; }
.zp-feature-list strong { display: block; margin-bottom: 2px; }

@media print {
  header, footer, .zp-noprint { display: none !important; }
  .zp-page { padding: 0; }
}
