:root{--ink:#1F1235;--brand:#2A0B5E;--accent:#7C3AED;--soft:#EDE7FB;--pale:#F7F4FE;--muted:#6B6480;
  --bs-body-font-family:'Vazirmatn FD','Vazirmatn',system-ui,sans-serif;--bs-primary:#7C3AED;--bs-primary-rgb:124,58,237}
body{font-family:var(--bs-body-font-family);color:var(--ink);background:#fff}
a{color:var(--accent)}
.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:#6a2bd6;--bs-btn-hover-border-color:#6a2bd6;--bs-btn-active-bg:#5b23bb}
.btn-outline-primary{--bs-btn-color:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent);--bs-btn-hover-border-color:var(--accent)}
.text-brand{color:var(--brand)!important}.text-accent{color:var(--accent)!important}.text-muted2{color:var(--muted)!important}
.bg-soft{background:var(--soft)}.bg-pale{background:var(--pale)}
.navbar-brand img{height:34px}
.hero{background:linear-gradient(180deg,var(--pale),#fff);padding-block:3.5rem 2.5rem}
.hero h1{font-weight:800;color:var(--brand);font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.5;text-wrap:balance}
.hero p{font-size:1.08rem;color:var(--muted);max-width:60ch}
.pkg{border:1px solid #e3dcf5;border-radius:16px;padding:1.6rem;height:100%;display:flex;flex-direction:column;background:#fff}
.pkg.hl{border:2px solid var(--accent);box-shadow:0 10px 30px rgba(124,58,237,.12);position:relative}
.pkg.hl::before{content:'پیشنهاد ما';position:absolute;top:-12px;inset-inline-start:1.2rem;background:var(--accent);color:#fff;font-size:.75rem;padding:.15rem .7rem;border-radius:20px}
.pkg .price{font-size:1.9rem;font-weight:800;color:var(--brand)}
.pkg .price small{font-size:.85rem;font-weight:500;color:var(--muted)}
.pkg ul{padding-inline-start:1.1rem;margin-bottom:1.2rem}
.mod-group h6{font-weight:700;color:var(--brand);margin-bottom:.6rem}
.mod{border:1px solid #eee8fa;border-radius:12px;padding:.7rem .85rem;height:100%;background:#fff}
.mod b{font-weight:700}.mod .d{font-size:.82rem;color:var(--muted)}
.badge-new{background:#fde68a;color:#7c4a03;font-size:.65rem;font-weight:700;border-radius:8px;padding:.1rem .45rem}
.section{padding-block:3rem}.section h2{font-weight:800;color:var(--brand);font-size:1.6rem;margin-bottom:1.2rem}
.num{font-variant-numeric:tabular-nums}
footer{background:var(--brand);color:#ddd5f5;padding-block:2rem}footer a{color:#fff}
/* quote */
.q-sticky{position:sticky;top:1rem}
.q-total{background:var(--brand);color:#fff;border-radius:16px;padding:1.2rem}
.q-total .big{font-size:1.7rem;font-weight:800}
.q-mod{display:flex;gap:.5rem;align-items:flex-start;border:1px solid #eee8fa;border-radius:10px;padding:.55rem .7rem;margin-bottom:.45rem;background:#fff;cursor:pointer}
.q-mod.on{border-color:var(--accent);background:var(--pale)}
.q-mod .p{margin-inline-start:auto;white-space:nowrap;font-weight:600;color:var(--brand)}
.q-mod.core{cursor:default}
@media print{.no-print{display:none!important}.q-sticky{position:static}body{font-size:12px}}
/* panel */
.panel-side{background:var(--brand);min-height:100vh}
.panel-side a{color:#d8ccf7;display:block;padding:.55rem 1rem;border-radius:8px;text-decoration:none}
.panel-side a.active,.panel-side a:hover{background:rgba(255,255,255,.12);color:#fff}
.stat{border:1px solid #eee8fa;border-radius:14px;padding:1rem;background:#fff}
.stat .v{font-size:1.5rem;font-weight:800;color:var(--brand)}
.table-sm input.form-control{min-width:120px}
