/* ════════════════════════════════════════════
   ماشین‌حساب قیمت ارشیا (Quote Calculator)
   برند: بنفش #352070 + طلایی #EEBB66
   ════════════════════════════════════════════ */
.apc-wrap{
    font-family:'Vazirmatn',Tahoma,sans-serif;
    max-width:1180px;margin:0 auto;padding:8px 0 44px;
    direction:rtl;
}
/* ── هدر ── */
.apc-head{
    background:linear-gradient(135deg,#352070 0%,#1d1535 100%);
    border-radius:20px;padding:34px 32px;color:#fff;
    position:relative;overflow:hidden;margin-bottom:28px;
}
.apc-head::before{
    content:"";position:absolute;width:340px;height:340px;border-radius:50%;
    background:radial-gradient(circle,rgba(238,187,102,.18),transparent 66%);
    top:-160px;left:-70px;pointer-events:none;
}
.apc-head::after{
    content:"";position:absolute;width:200px;height:200px;border-radius:50%;
    background:radial-gradient(circle,rgba(238,187,102,.10),transparent 70%);
    bottom:-90px;right:-40px;pointer-events:none;
}
.apc-title{
    margin:0 0 10px;font-size:24px;font-weight:800;color:#fff;
    letter-spacing:-.3px;position:relative;
}
.apc-subtitle{
    margin:0;font-size:14.5px;line-height:2;color:rgba(255,255,255,.82);
    max-width:640px;position:relative;
}
/* ── چیدمان دو ستونه ── */
.apc-body{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
/* ── گروه‌ها ── */
.apc-group{margin-bottom:30px}
.apc-group-title{
    font-size:14px;font-weight:800;color:#352070;margin:0 0 14px;
    display:flex;align-items:center;gap:9px;
}
.apc-group-title::before{
    content:"";width:7px;height:20px;border-radius:4px;flex-shrink:0;
    background:linear-gradient(180deg,#EEBB66,#352070);
}
.apc-group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
/* ── کارت ماژول ── */
.apc-item{cursor:pointer;display:block;position:relative;margin:0}
.apc-item input[type="checkbox"]{
    position:absolute;opacity:0;width:0;height:0;pointer-events:none;
}
.apc-item-card{
    display:flex;flex-direction:column;gap:6px;
    background:#fff;border:2px solid #e8e5f2;border-radius:16px;
    padding:18px 20px 16px;height:100%;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.apc-item:hover .apc-item-card{
    transform:translateY(-3px);border-color:#cfc6ec;
    box-shadow:0 16px 32px -18px rgba(53,32,112,.4);
}
/* ── چک باکس اختصاصی ── */
.apc-item-card::before{
    content:"";position:absolute;top:16px;left:18px;
    width:24px;height:24px;border-radius:8px;
    border:2px solid #c9c2e2;background:#f7f5fc;
    transition:all .18s ease;
}
.apc-item-card::after{
    content:"";position:absolute;top:22px;left:23px;
    width:14px;height:8px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;
    transform:rotate(-45deg) scale(0);transform-origin:center;
    transition:transform .18s cubic-bezier(.4,1.6,.5,1);pointer-events:none;
}
.apc-item input:checked + .apc-item-card{
    border-color:#352070;background:#faf8ff;
    box-shadow:0 14px 30px -16px rgba(53,32,112,.5);
}
.apc-item input:checked + .apc-item-card::before{
    background:#352070;border-color:#352070;
}
.apc-item input:checked + .apc-item-card::after{
    transform:rotate(-45deg) scale(1);
}
/* ── متن کارت ── */
.apc-item-name{
    font-size:15.5px;font-weight:800;color:#2b2840;
    padding-left:34px;line-height:1.5;
}
.apc-item-desc{
    font-size:12.5px;color:#7c7890;line-height:1.9;
}
.apc-item-price{
    margin-top:auto;padding-top:10px;
    font-size:15px;font-weight:800;color:#352070;
    display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;
}
.apc-item-price small{font-size:11.5px;font-weight:600;color:#8a86a3}
.apc-item-price em{
    font-style:normal;font-size:11px;font-weight:600;color:#b09a3f;
    background:#fdf6e3;padding:2px 9px;border-radius:20px;
}
.apc-badge{
    position:absolute;top:-9px;right:16px;z-index:2;
    background:linear-gradient(135deg,#EEBB66,#d9a23f);
    color:#2b2040;font-size:11px;font-weight:800;
    padding:4px 13px;border-radius:20px;
    box-shadow:0 4px 12px -3px rgba(217,162,63,.6);
}
/* ── پنل جمع‌بندی ── */
.apc-summary{
    position:sticky;top:22px;
    background:#fff;border:1px solid #e8e5f2;border-radius:20px;
    padding:26px 24px;box-shadow:0 20px 44px -26px rgba(53,32,112,.42);
}
.apc-summary h3{
    margin:0 0 16px;font-size:16px;font-weight:800;color:#352070;
    padding-bottom:12px;border-bottom:2px solid #f2eefa;
}
.apc-lines{list-style:none;margin:0 0 4px;padding:0;max-height:280px;overflow:auto}
.apc-lines li{
    display:flex;justify-content:space-between;gap:12px;
    padding:9px 0;border-bottom:1px dashed #eee;font-size:13px;color:#444;
}
.apc-lines li span:first-child{font-weight:600}
.apc-lines li span:last-child{font-weight:800;color:#2b2840;white-space:nowrap}
.apc-muted{color:#9a96ad;font-size:13px}
.apc-divider{height:1px;background:#eee;margin:14px 0}
.apc-row{
    display:flex;justify-content:space-between;align-items:center;
    font-size:13.5px;color:#666;padding:4px 0;
}
.apc-row strong{font-weight:800;color:#2b2840;font-size:14px}
.apc-row.apc-disc strong{color:#b8860b}
.apc-row.apc-total{
    padding:12px 0 4px;font-size:15px;
}
.apc-row.apc-total strong{
    font-size:22px;color:#352070;letter-spacing:-.5px;
}
.apc-tier-note{
    font-size:11.5px;color:#b09a3f;font-weight:700;
    min-height:18px;margin-top:6px;
}
.apc-cta{
    width:100%;margin-top:16px;padding:14px 20px;
    border:none;border-radius:14px;cursor:pointer;
    background:linear-gradient(135deg,#EEBB66,#d9a23f);
    color:#2b2040;font-size:15px;font-weight:800;font-family:inherit;
    transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
    box-shadow:0 10px 22px -10px rgba(217,162,63,.75);
}
.apc-cta:hover:not(:disabled){
    transform:translateY(-2px);
    box-shadow:0 14px 28px -10px rgba(217,162,63,.9);
}
.apc-cta:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.apc-fine{
    margin:14px 0 0;font-size:11.5px;line-height:1.9;color:#9a96ad;text-align:justify;
}
.apc-empty{
    text-align:center;padding:56px 20px;color:#9a96ad;font-size:14.5px;
    background:#fff;border-radius:16px;border:1px dashed #d8d2ec;
}
/* ── حالت در حال محاسبه ── */
.apc-summary.is-busy{opacity:.7;transition:opacity .15s ease}
/* ── واکنشگرا ── */
@media(max-width:980px){
    .apc-body{grid-template-columns:1fr}
    .apc-summary{position:static}
}
@media(max-width:640px){
    .apc-group-grid{grid-template-columns:1fr}
    .apc-head{padding:24px 18px;border-radius:16px}
    .apc-title{font-size:19px}
    .apc-subtitle{font-size:13px}
    .apc-summary{padding:20px 16px}
    .apc-row.apc-total strong{font-size:19px}
}
