/* License OPL-1 - Abrak
   /start پوستهٔ v2 (سلیقهٔ مالک: تم روشن فشرده، یک آبی، قاب ۱px، بی سایه).
   الگو: iranserver.com/dedicated-server (قیمت جلوی چشم و دکمهٔ سفارش کنار آن، سوییچ دورهٔ
   پرداخت با نشان تخفیف، تب‌های پلن) و panel.iranicard.ir (هدر فشرده، کارت قاب‌دار، نوار پایین
   موبایل). جزء خلاقانه: «راهنمای این گام» در ریل که بی‌اسکریپت با :has() از گام فعال استپر
   عوض می‌شود، و استپر تب‌گونه که در موبایل فقط برچسب گام فعال را نشان می‌دهد.
   بعد از start-wizard.css بار می‌شود و فقط پوسته را بازنویسی می‌کند؛ هیچ کلاس یا شناسه‌ای
   که start-wizard.js یا pricing.js می‌خوانند تغییر نمی‌کند. */

/* صفحه و هدر */
.abw-page { background: #f6f7fb; padding: 20px 0 56px; }
.abw-head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 24px; align-items: center;
  text-align: start; margin-bottom: 12px; padding: 16px 20px;
  background: #fff; border: 1px solid #e6e8ef; border-radius: 12px;
}
.abw-head .abw-h1 { grid-column: 1; margin: 0; font-size: clamp(20px, 2.4vw, 28px); font-weight: 800; line-height: 1.5; color: #141a2a; }
.abw-head .abw-sub { grid-column: 1; margin: 0; max-width: none; font-size: 14px; line-height: 1.8; color: #6b7084; }
.abw-head .abw-consult {
  grid-column: 2; grid-row: 1 / span 2; margin: 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px;
  padding: 12px 14px; border: 1px solid #e6e8ef; border-radius: 10px; background: #f6f7fb; font-size: 13px; color: #3a3f52;
}
.abw-head .abw-consult a { color: #1f4fd8; font-weight: 700; text-decoration: none; }
.abw-head .abw-consult a:hover { text-decoration: underline; }

/* استپر تب‌گونه با نوار پیشرفت */
.abw-stepper {
  display: flex; flex-direction: column; background: #fff; border: 1px solid #e6e8ef; border-radius: 12px;
  padding: 6px 6px 8px; box-shadow: none;
}
.abw-stepper-track { order: 2; position: static; inset: auto; height: 4px; margin: 6px 4px 0; border-radius: 2px; background: #eef0f5; }
.abw-stepper-fill { width: calc(var(--abw-at) * 100% / var(--abw-n)); background: #1f4fd8; }
.abw-nodes { display: flex; gap: 4px; }
.abw-node { display: block; flex: 1 1 0; }
.abw-node-btn {
  display: flex; flex-direction: row; align-items: center; gap: 8px; width: 100%; min-height: 40px; padding: 6px 10px;
  border: 0; border-radius: 8px; background: transparent; color: #4b5064; font: inherit; font-size: 13px; text-align: start; cursor: pointer;
}
.abw-node-btn:hover { background: #f6f7fb; }
.abw-node-btn[aria-disabled="true"] { cursor: default; color: #8a90a3; }
.abw-node-btn[aria-disabled="true"]:hover { background: transparent; }
.abw-node.is-active .abw-node-btn { background: #eaf0ff; color: #1f4fd8; font-weight: 700; }
.abw-node.is-done .abw-node-btn { color: #141a2a; }
.abw-node-dot {
  position: static; flex: none; width: 26px; height: 26px; margin: 0; border-radius: 7px; border: 1px solid #e6e8ef; background: #fff;
  display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #4b5064; box-shadow: none;
}
.abw-node-dot svg { display: none; width: 14px; height: 14px; }
.abw-node.is-active .abw-node-dot { border-color: #1f4fd8; background: #1f4fd8; color: #fff; }
.abw-node.is-done .abw-node-dot { border-color: #1f7a63; background: #1f7a63; color: #fff; }
.abw-node.is-done .abw-node-dot .abw-node-num { display: none; }
.abw-node.is-done .abw-node-dot svg { display: block; }
.abw-node-label { margin: 0; font-size: inherit; line-height: 1.4; color: inherit; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* تضمین‌ها به شکل چیپ، زیر استپر */
.abw-promise { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px 8px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: #3a3f52; }
.abw-promise li { padding: 4px 10px; border: 1px solid #e6e8ef; border-radius: 999px; background: #fff; }
.abw-promise .abw-i { width: 14px; height: 14px; color: #1f7a63; }
.abw-after-note { text-align: start; margin: 8px 2px 0; font-size: 12.5px; color: #6b7084; }

/* چیدمان و پنل گام */
.abw { margin-top: 14px; }
.abw-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; }
.abw-step { border-color: #e6e8ef; border-radius: 12px; box-shadow: none; padding: 18px 20px 16px; }
.abw-pane-head { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #eef0f5; }
.abw-pane-badge {
  display: inline-flex; align-items: center; margin: 0 0 6px; padding: 3px 10px; border-radius: 999px;
  background: #eaf0ff; color: #1f4fd8; font-size: 12px; font-weight: 700;
}
.abw-step-title { margin: 0 0 4px; font-size: clamp(20px, 2vw, 24px); color: #141a2a; }
.abw-lead { font-size: 13.5px; }
.abw-sec-title { font-size: 14px; font-weight: 700; color: #141a2a; }
.abw-sec-title .abw-i { color: #1f4fd8; }

/* روش خرید و دورهٔ پرداخت: الگوی سوییچ دوره در ایران‌سرور */
.abw-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.abw-method { border: 1px solid #e6e8ef; border-radius: 10px; background: #fff; padding: 12px; text-align: start; font: inherit; cursor: pointer; box-shadow: none; }
.abw-method:hover { border-color: #c9d6fb; }
.abw-method.is-active { border-color: #1f4fd8; box-shadow: inset 0 0 0 1px #1f4fd8; background: #fff; }
.abw-method-name { font-weight: 700; color: #141a2a; }
.abw-method-price { color: #1f4fd8; font-weight: 800; font-variant-numeric: tabular-nums; }
.abw-method-sub { color: #6b7084; font-size: 12.5px; }
.abw-cycles { display: flex; gap: 4px; padding: 4px; border: 1px solid #e6e8ef; border-radius: 10px; background: #f6f7fb; }
.abw-cycle { flex: 1 1 0; min-height: 38px; border: 0; border-radius: 8px; background: transparent; padding: 6px 10px; font: inherit; font-size: 13.5px; color: #4b5064; cursor: pointer; box-shadow: none; }
.abw-cycle:hover { background: #fff; }
.abw-cycle.is-active { background: #fff; color: #1f4fd8; font-weight: 700; box-shadow: inset 0 0 0 1px #1f4fd8; }
.abw-seats { border: 1px solid #e6e8ef; border-radius: 10px; background: #fff; }

/* ناوبری گام و دکمه‌ها */
.abw-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #eef0f5; }
.abw-btn { border-radius: 8px; min-height: 42px; font-weight: 700; font-size: 14px; box-shadow: none; }
.abw-btn-primary { background: #1f4fd8; border: 1px solid #1f4fd8; color: #fff; }
.abw-btn-primary:hover { background: #1a43b8; border-color: #1a43b8; }
.abw-btn-ghost { background: #fff; border: 1px solid #c9cedb; color: #141a2a; }
.abw-btn-ghost:hover { border-color: #1f4fd8; color: #1f4fd8; }
.abw-linkbtn { color: #1f4fd8; font-weight: 700; }

/* ریل سبد: قیمت در بالا، سپس اقلام، سپس راهنمای گام */
.abw-rail { border-color: #e6e8ef; border-radius: 12px; box-shadow: none; padding: 16px; gap: 12px; background: #fff; }
.abw-rail-title { font-size: 15px; font-weight: 800; color: #141a2a; }
.abw-rail-total { border: 1px solid #e6e8ef; border-radius: 10px; background: #f6f7fb; padding: 12px 14px; }
.abw-rail-total-label { font-size: 12px; color: #6b7084; margin-bottom: 4px; }
.abw-price-live { font-size: 22px; font-weight: 800; color: #1f4fd8; line-height: 1.4; font-variant-numeric: tabular-nums; }
.abw-plan-label { font-size: 13px; font-weight: 700; color: #141a2a; }
.abw-facts { margin: 0; display: flex; flex-direction: column; }
.abw-facts > div { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid #eef0f5; font-size: 13px; }
.abw-facts > div:first-child { border-top: 0; }
.abw-facts dt { margin: 0; color: #6b7084; font-weight: 400; }
.abw-facts dd { margin: 0; color: #141a2a; font-weight: 700; text-align: end; }
.abw-trust { font-size: 12.5px; color: #3a3f52; }
.abw-trust .abw-i { color: #1f7a63; }

.abw-tips { border: 1px solid #e6e8ef; border-radius: 10px; background: #f6f7fb; padding: 10px 12px; }
.abw-tips-k { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 700; color: #1f4fd8; }
.abw-tip { display: none; margin: 0; font-size: 12.5px; line-height: 1.8; color: #3a3f52; }
#abw-page:has(.abw-node[data-step="1"].is-active) .abw-tip[data-for="1"],
#abw-page:has(.abw-node[data-step="2"].is-active) .abw-tip[data-for="2"],
#abw-page:has(.abw-node[data-step="3"].is-active) .abw-tip[data-for="3"],
#abw-page:has(.abw-node[data-step="4"].is-active) .abw-tip[data-for="4"],
#abw-page:not(:has(.abw-node.is-active)) .abw-tip[data-for="1"] { display: block; }

/* چیپ سبد و نوار پایین موبایل */
.abw-cart-chip { border: 1px solid #e6e8ef; border-radius: 12px; background: #fff; box-shadow: 0 -1px 0 #e6e8ef; }
.abw-chip-amount { color: #1f4fd8; font-weight: 800; }

@media (max-width: 980px) {
  .abw-head { grid-template-columns: 1fr; }
  .abw-head .abw-consult { grid-column: 1; grid-row: auto; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .abw-layout { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .abw-methods { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .abw-page { padding: 12px 0 72px; }
  .abw-head { padding: 12px 14px; }
  .abw-head .abw-h1 { font-size: 20px; }
  .abw-head .abw-sub { font-size: 13px; }
  .abw-stepper { padding: 4px 4px 8px; border-radius: 10px; }
  .abw-nodes { gap: 2px; }
  .abw-node { flex: 0 0 auto; }
  .abw-node.is-active { flex: 1 1 auto; }
  .abw-node-btn { min-height: 36px; padding: 4px 6px; font-size: 12px; }
  .abw-node:not(.is-active) .abw-node-label { display: none; }
  .abw-node-dot { width: 24px; height: 24px; font-size: 11px; }
  .abw-step { padding: 14px; }
  .abw-step-title { font-size: 18px; }
  .abw-cycles { flex-wrap: wrap; }
  .abw-cycle { flex: 1 1 45%; }
  .abw-rail { padding: 14px; }
  .abw-price-live { font-size: 20px; }
}

/* ===== /start — رفع گزارش‌های مالک ۰۸/۱۳ (رسام ۲) =====
   الگو: سبد خرید panel.iranicard.ir (جمع‌شونده به چیپ قیمت در گوشه) و ستون سفارش iranserver.com
   (مرحله کنار فاکتور تا آخر). بی‌اسکریپت: checkbox #abw-rail-fold + :has(). عدد تازه ندارد. */

/* دکمهٔ جمع/باز کردن در سر ریل؛ در حالت کشو (موبایل) پنهان است */
.abw-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.abw-rail-fold { display: none; cursor: pointer; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: #1f4fd8; border: 1px solid #e6e8ef; border-radius: 8px; padding: 5px 9px; background: #fff; line-height: 1.4; }
.abw-rail-fold:hover { border-color: #1f4fd8; }
.abw-rail-fold .abw-i { width: 14px; height: 14px; }
.abw-rail-fold-open { display: none; }
.abw-rail-open { display: none; }
.abw-rail-fold-in:focus-visible ~ .abw-layout .abw-rail-fold { outline: 2px solid #1f4fd8; outline-offset: 2px; }

@media (min-width: 981px) {
  .abw-layout:not(.is-cart-drawer) .abw-rail-fold { display: inline-flex; }

  /* حالت جمع‌شده: ستون ریل حذف و مراحل تمام‌عرض؛ ریل به چیپ ثابت گوشهٔ بالا-راست تبدیل می‌شود */
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) { grid-template-columns: minmax(0, 1fr); }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-step,
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-step p:not(.abw-alert) { max-width: none; max-inline-size: none; }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail {
    position: fixed; top: 76px; inset-inline-end: 16px; z-index: 40;
    width: 232px; max-height: none; padding: 10px 12px; gap: 6px;
    border: 1px solid #1f4fd8; border-radius: 12px; background: #fff; box-shadow: none;
  }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-body,
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-more,
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-foot,
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-close,
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-fold-close,
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-total-label,
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) #ab-trial-badge { display: none; }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-fold-open { display: inline; }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-fold { border: 0; padding: 0; }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-title { font-size: 13px; display: inline-flex; align-items: center; gap: 6px; }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-title::before {
    content: ""; width: 16px; height: 16px; flex: none; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-total { border: 0; background: transparent; padding: 0; }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-price-live { font-size: 15px; }
  /* کل چیپ قابل کلیک است: برچسب نامرئی روی تمام سطح ریل جمع‌شده */
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail-open { display: block; position: absolute; inset: 0; cursor: pointer; border-radius: 12px; }
  body:has(#abw-rail-fold:checked) .abw-layout:not(.is-cart-drawer) .abw-rail:hover { background: #f6f7fb; }

  /* گام مرور: ریل کنار مراحل می‌ماند (نه زیر آن) تا دکمهٔ شروع و فاکتور هم‌تراز باشند */
  .abw-layout.is-review { grid-template-columns: minmax(0, 1fr) 320px; }
  .abw-layout.is-review .abw-rail { position: sticky; top: 76px; }
  body:has(#abw-rail-fold:checked) .abw-layout.is-review:not(.is-cart-drawer) { grid-template-columns: minmax(0, 1fr); }
}

/* دکمه‌های مرحله به کف پنجره می‌چسبند؛ «مرحلهٔ بعد» بی اسکرول طولانی در دسترس است */
.abw-nav { position: sticky; bottom: 0; z-index: 5; background: #fff; padding-bottom: 12px; margin-bottom: -4px; }

/* فهرست «همهٔ اپ‌ها» پیش‌فرض بسته؛ وقتی اپی انتخاب شده، چکیدهٔ انتخاب در سر فهرست پررنگ می‌شود */
.abw-catalog:not([open]) > summary .abw-fold-badge { background: #1f4fd8; color: #fff; }

/* کارت‌های بستهٔ منابع
   الگو: کارت پلن panel.iranicard.ir (مشخصات در کاشی‌های کوچک دوستونه) و جدول سرور iranserver.com
   (پردازنده و حافظه پررنگ‌تر از بقیه). جزء خلاقانه: کاشی‌های مشخصات + برچسب «انتخاب‌شده» بی‌اسکریپت. */
.abw-res-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.abw-res-card { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 14px 14px 12px; border: 1px solid #e6e8ef; border-radius: 12px; background: #fff; box-shadow: none; cursor: pointer; }
.abw-res-card:hover { border-color: #1f4fd8; }
.abw-res-card:has(input:checked) { border-color: #1f4fd8; box-shadow: inset 0 0 0 1px #1f4fd8; background: #fff; }
.abw-res-card:has(input:checked)::after { content: "انتخاب‌شده"; position: absolute; top: 12px; inset-inline-end: 12px; font-size: 11px; font-weight: 700; color: #fff; background: #1f4fd8; border-radius: 999px; padding: 3px 9px; line-height: 1.4; }
.abw-res-card .abw-res-name { font-size: 16px; padding-inline-end: 84px; }
.abw-res-card .abw-res-price { font-size: 15px; color: #1f4fd8; }
.abw-res-card .abw-res-price-tbd { color: #6b7084; font-weight: 700; font-size: 13px; }
.abw-res-card .abw-pill-warn { align-self: flex-start; }
.abw-res-specs { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.abw-res-specs > div { display: grid; align-content: start; gap: 2px; padding: 8px 10px; border: 1px solid #eef0f5; border-radius: 8px; background: #f6f7fb; border-bottom: 1px solid #eef0f5; }
.abw-res-specs > div:nth-child(-n+2) { background: #fff; border-color: #e6e8ef; }
.abw-res-specs > div:nth-child(-n+2) dd:not(.abw-res-why) { font-size: 17px; color: #1f4fd8; }
.abw-res-specs dt { font-size: 11.5px; color: #6b7084; }
.abw-res-specs dd { margin: 0; font-size: 13.5px; font-weight: 700; color: #141a2a; }
.abw-res-specs dd.abw-res-why { font-size: 12px; font-weight: 400; color: #6b7084; margin-top: 2px; }
.abw-res-specs dd.abw-res-why details { line-height: 1.7; }
@media (max-width: 480px) {
  .abw-res-specs { grid-template-columns: 1fr; }
  .abw-res-card .abw-res-name { padding-inline-end: 0; }
  .abw-res-card:has(input:checked)::after { top: auto; bottom: 10px; }
}
