/* rd-apps.css — ریدیزاین ۱۴۰۸، گروه «محصول‌ها، افزونه‌ها و فروشگاه».
   فقط روی rd-base.css و توکن‌های --ab-* و --rd-*؛ همه‌جا خاصیت منطقی (راست‌به‌چپ و چپ‌به‌راست).
   بخش‌ها: ۱) صفحه‌های افزونه  ۲) فهرست /apps  ۳) جزئیات اپ  ۴) مسیر خرید و تسویه  ۵) موبایل و حرکت کم. */

/* ---------- ۱) صفحه‌های افزونه ---------- */
.rd-apps-hidden { display: none; }
.rd-apps-hero .rd-lead { max-inline-size: 46rem; }
.rd-apps-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.rd-apps-accent { display: block; margin-block-start: .35rem; font-size: .62em; font-weight: 700; color: var(--rd-primary); }
.rd-apps-note { margin-block-start: 1rem; font-size: .92rem; color: var(--rd-muted); line-height: 1.9; }
.rd-apps-prose { max-inline-size: 46rem; line-height: 2; color: var(--rd-ink); }
.rd-apps-prose p { margin-block: 0 1rem; }
.rd-apps-more { margin-block-start: 1.5rem; }
.rd-apps-shot { margin: 0; }
.rd-apps-shot figcaption { padding: .85rem 1rem; font-size: .92rem; line-height: 1.85; color: var(--rd-muted); border-block-start: 1px solid var(--rd-border); }
.rd-apps-btn-outline { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .7); min-block-size: 48px; }
.rd-apps-btn-outline:hover { background: rgba(255, 255, 255, .12); color: #fff; border-color: #fff; }
.rd-apps-btn-outline:focus-visible { outline: 3px solid var(--rd-cyan); outline-offset: 3px; }
.rd-apps-media { display: block; inline-size: 100%; block-size: auto; border-radius: var(--rd-radius-sm); }
.rd-apps-audio { display: block; inline-size: 100%; min-block-size: 44px; }

/* ---------- ۲) فهرست /apps ---------- */
/* چیپ‌های دسته: متن سرمه‌ای روی زمینهٔ سرمه‌ای روشن (کنتراست بالای ۷:۱)؛ شمارنده بی opacity. */
.rd-apps-catnav { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-end: 2rem; }
.rd-apps-catnav a {
  display: inline-flex; align-items: center; gap: .5rem; min-block-size: 44px; padding: .4rem 1rem;
  border: 1px solid var(--rd-border); border-radius: 999px; background: var(--rd-bg);
  color: var(--rd-navy); font-weight: 700; text-decoration: none;
  transition: background-color .2s var(--rd-ease), border-color .2s var(--rd-ease);
}
.rd-apps-catnav a:hover { background: var(--rd-navy-soft); border-color: var(--rd-navy); }
.rd-apps-catnav a:focus-visible { outline: 3px solid var(--rd-cyan); outline-offset: 2px; }
.rd-apps-catnav small {
  display: inline-grid; place-items: center; min-inline-size: 1.6rem; padding-inline: .4rem;
  border-radius: 999px; background: var(--rd-navy); color: #fff; font-size: .78rem; font-weight: 700;
}
.rd-apps-cat-title { margin-block: 2.5rem 1rem; font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); font-weight: 800; color: var(--rd-navy); scroll-margin-block-start: 6rem; }
.rd-apps-cat-title:first-of-type { margin-block-start: 0; }
.rd-apps-subcat-title { margin-block: 1.5rem .75rem; font-size: 1.05rem; font-weight: 700; color: var(--rd-cyan-ink); }
.rd-apps-grid { align-items: stretch; }
.rd-apps-card { display: flex; flex-direction: column; gap: .5rem; block-size: 100%; }
.rd-apps-card-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.rd-apps-card-top img { inline-size: 56px; block-size: 56px; border-radius: 14px; object-fit: contain; }
.rd-apps-card h3, .rd-apps-card h4, .rd-apps-card-name { margin: .25rem 0 0; font-size: 1.08rem; font-weight: 800; color: var(--rd-navy); }
.rd-apps-card p { flex: 1 1 auto; }
.rd-apps-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem; margin-block-start: .5rem; color: var(--rd-navy); }
.rd-apps-price b { font-size: 1.15rem; font-weight: 800; }
.rd-apps-price small { font-size: .82rem; color: var(--rd-muted); }
.rd-apps-price-free { color: #136c3a; font-weight: 800; }
.rd-apps-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.rd-apps-faq-foot { margin-block-start: 1.25rem; text-align: center; color: var(--rd-muted); }

/* ---------- ۳) جزئیات اپ ---------- */
.rd-apps-detail-head { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-block-end: 1rem; }
.rd-apps-detail-head .rd-apps-badges { margin: 0; }
.rd-apps-detail-icon { inline-size: 84px; block-size: 84px; border-radius: 20px; background: var(--rd-bg); border: 1px solid var(--rd-border); box-shadow: var(--rd-shadow); object-fit: contain; }
.rd-apps-price-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 1rem; }
.rd-apps-price-chip {
  display: inline-flex; align-items: center; gap: .4rem; min-block-size: 44px; padding: .4rem 1rem;
  border-radius: 999px; background: var(--rd-navy-soft); color: var(--rd-navy); font-weight: 700;
}
.rd-apps-price-chip-free { background: #e7f6ec; color: #136c3a; }
.rd-apps-video { aspect-ratio: 16 / 9; }
.rd-apps-video iframe, .rd-apps-video video { display: block; inline-size: 100%; block-size: 100%; border: 0; }
.rd-apps-shots { margin-block-start: var(--rd-gap); }
.rd-apps-shot-link { display: block; cursor: zoom-in; transition: box-shadow .25s var(--rd-ease); }
.rd-apps-shot-link:hover { box-shadow: var(--rd-shadow-hover); }
.rd-apps-shot-link:focus-visible { outline: 3px solid var(--rd-cyan); outline-offset: 3px; }
.rd-apps-dep { display: grid; gap: .6rem; }
.rd-apps-dep-name { font-size: 1.08rem; font-weight: 800; color: var(--rd-navy); text-decoration: none; }
.rd-apps-dep-name:hover { color: var(--rd-primary); }
.rd-apps-dep-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem; color: var(--rd-navy); }
.rd-apps-dep-price del { color: var(--rd-muted); }
.rd-apps-card-mini { padding: 1rem 1.15rem; }
.rd-apps-teaser { text-align: center; }

/* ---------- ۴) مسیر خرید و تسویه ---------- */
.rd-apps-upsell h1 { text-align: center; }
.rd-apps-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block-start: 1.5rem; }
.rd-apps-upsell .rd-apps-actions { justify-content: center; }
.rd-apps-install { text-align: center; }
.rd-apps-install #ab-install-bar-wrap { block-size: 10px; margin-block: 1.25rem; border-radius: 999px; background: var(--rd-navy-soft); overflow: hidden; }
.rd-apps-install #ab-install-bar { block-size: 100%; inline-size: 8%; border-radius: inherit; background: var(--rd-primary); transition: inline-size .6s var(--rd-ease); }
.rd-apps-install #ab-install-error { margin-block: 1rem; text-align: start; }
.rd-apps-install .ab-prov-manual { margin-block-start: 1rem; }
.rd-apps-pay .rd-note, .ab-checkout-review .rd-note { display: block; }
.rd-apps-summary {
  padding: clamp(1rem, 3vw, 1.5rem); margin-block: 1rem; border: 1px solid var(--rd-border);
  border-radius: var(--rd-radius-sm); background: var(--rd-bg); box-shadow: var(--rd-shadow); line-height: 1.9;
}
.rd-apps-gw { display: flex; inline-size: 100%; margin-block-end: .75rem; }
.rd-apps-small { font-size: .85rem; }
.rd-apps-discount { color: #136c3a; font-weight: 700; }
.rd-apps-renewal { border-inline-start: 4px solid var(--rd-primary); }
.rd-apps-pay .rd-btn-sm, .ab-checkout-review .rd-btn-sm { min-block-size: 44px; }
.rd-apps-checkout-steps { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: .6rem; margin-block: 1.25rem 1.5rem; }
.rd-apps-checkout-steps li { padding: .75rem .85rem; padding-inline-start: 3.1rem; }
.rd-apps-checkout-steps li::before { inset-inline-start: .7rem; inset-block-start: .7rem; inline-size: 1.85rem; block-size: 1.85rem; font-size: .9rem; }
.rd-apps-checkout-steps h3 { margin: 0; font-size: .9rem; line-height: 1.6; }
.rd-apps-checkout-steps .is-done { background: var(--rd-tint); }
.rd-apps-checkout-steps .is-done h3 { color: var(--rd-muted); }
.rd-apps-checkout-steps .is-active { border-color: var(--rd-primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--rd-primary) 25%, transparent); }
.rd-apps-checkout-steps .is-active::before { background: var(--rd-primary); color: #fff; }
.rd-apps-clause { white-space: pre-wrap; padding: 1rem; border: 1px solid var(--rd-border); border-radius: 8px; background: var(--rd-tint); line-height: 2; }

/* بازبینی، پرداخت و انقضای تسویه (پیش‌تر در قالب checkout_styles) */
.ab-checkout-review { background: var(--ab-bg-alt); padding-block: clamp(1.5rem, 4vw, 3rem); }
.ab-checkout-review > .ab-container {
  padding: clamp(1.1rem, 4vw, 2.5rem); background: var(--color-surface, #fff); border: 1px solid var(--ab-border);
  border-radius: var(--rd-radius); box-shadow: var(--rd-shadow); overflow-wrap: anywhere;
}
.ab-checkout-review h1 { text-align: center; font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 800; color: var(--rd-navy); }
.ab-checkout-review h2 { padding-block-end: .5rem; border-block-end: 1px solid var(--ab-border); font-size: 1.15rem; font-weight: 800; color: var(--rd-navy); }
.ab-checkout-review p { line-height: 2; }
.ab-checkout-review .ab-checkout-subtitle { text-align: center; color: var(--ab-muted); }
.ab-checkout-review article { padding: 1rem 1.15rem; margin-block: 1rem; border-radius: var(--rd-radius-sm); background: var(--rd-tint); }
.ab-checkout-review form { padding: clamp(.8rem, 3vw, 1.25rem); margin-block: 1rem; border: 1px solid var(--ab-border); border-radius: var(--rd-radius-sm); }
.ab-checkout-review label { display: block; line-height: 2; }
.ab-checkout-review input[type="text"], .ab-checkout-review input[type="password"],
.ab-checkout-review input[type="tel"], .ab-checkout-review input[type="number"] {
  display: block; inline-size: min(100%, 25rem); min-block-size: 46px; padding: .5rem .75rem;
  border: 1px solid var(--ab-border); border-radius: 8px; background: var(--color-surface, #fff); font: inherit;
}
.ab-checkout-review input[type="checkbox"], .ab-checkout-review input[type="radio"] { inline-size: 1.1rem; block-size: 1.1rem; accent-color: var(--rd-primary); vertical-align: middle; }
.ab-checkout-review input:focus-visible, .ab-checkout-review button:focus-visible, .ab-checkout-review a:focus-visible { outline: 3px solid var(--rd-cyan); outline-offset: 2px; }
.ab-checkout-review fieldset { margin: 0 0 1rem; padding: .75rem 1rem; border: 1px solid var(--ab-border); border-radius: 8px; }
.ab-checkout-review legend { padding-inline: .4rem; font-weight: 700; color: var(--rd-navy); }
.ab-checkout-review .ab-alert { margin-block: 1rem; }
.ab-checkout-review .rd-btn { white-space: normal; max-inline-size: 100%; }
.ab-checkout-review .ab-quote-validity { padding: .6rem .9rem; border-radius: 8px; background: var(--rd-tint); font-size: .92rem; }
.ab-checkout-review .ab-checkout-confirmed-name { padding-inline-start: .75rem; border-inline-start: 4px solid var(--rd-primary); font-weight: 700; }

/* ---------- ۵) موبایل و حرکت کم ---------- */
@media (max-width: 600px) {
  .ab-checkout-review > .ab-container { margin-inline: .6rem; }
  .ab-checkout-review form { padding: .8rem; }
  .ab-checkout-review .rd-btn, .rd-apps-actions .rd-btn, .rd-apps-pay .rd-btn { inline-size: 100%; }
  .rd-apps-detail-icon { inline-size: 64px; block-size: 64px; }
  .rd-apps-catnav { flex-wrap: nowrap; overflow-x: auto; padding-block-end: .35rem; scrollbar-width: thin; }
  .rd-apps-catnav a { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .rd-apps-catnav a, .rd-apps-shot-link, .rd-apps-install #ab-install-bar { transition: none; }
}
