/* فونت‌ها فقط – بقیه استایل‌ها با Tailwind */
@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-Thin.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-ExtraLight.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Vazirmatn;
  src: url("../fonts/woff2/Vazirmatn-UI-FD-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: VazirCodeHack;
  src: url("../fonts/woff2/Vazir-Code-Hack.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Kalameh';
  src: url('../fonts/woff/kalameh.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://cdn.jsdelivr.net/npm/@fontsource/google-sans/files/google-sans-latin-400-normal.woff2') format('woff2'),
    url('https://cdn.jsdelivr.net/npm/@fontsource/google-sans/files/google-sans-latin-400-normal.woff') format('woff');
}

@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('https://cdn.jsdelivr.net/npm/@fontsource/google-sans/files/google-sans-latin-500-normal.woff2') format('woff2'),
    url('https://cdn.jsdelivr.net/npm/@fontsource/google-sans/files/google-sans-latin-500-normal.woff') format('woff');
}

@font-face {
  font-family: 'Google Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://cdn.jsdelivr.net/npm/@fontsource/google-sans/files/google-sans-latin-700-normal.woff2') format('woff2'),
    url('https://cdn.jsdelivr.net/npm/@fontsource/google-sans/files/google-sans-latin-700-normal.woff') format('woff');
}

html {
  overflow-anchor: none;
  background-color: #ffffff;
}

html.dark {
  background-color: #1f2937;
}

html,
body {
  margin: 0;
  padding: 0;
}

.ir-body {
  background-color: #ffffff;
}

html.dark .ir-body {
  background-color: #1f2937;
}

.ir-app {
  min-height: 100dvh;
  min-height: 100svh;
}

/* دسکتاپ: قاب بیرونی هماهنگ با شل موبایل — لایت: خاکستری ملایم / دارک: تیره‌تر از شل */
@media (min-width: 481px) {
  html {
    background-color: #f3f4f6;
  }

  html.dark {
    background-color: #111827;
  }

  .ir-body {
    background-color: #f3f4f6;
  }

  html.dark .ir-body {
    background-color: #111827;
  }

  .ir-app {
    box-shadow:
      0 0 0 1px rgb(0 0 0 / 0.04),
      0 4px 24px rgb(0 0 0 / 0.06);
  }

  html.dark .ir-app {
    box-shadow:
      0 0 0 1px rgb(255 255 255 / 0.05),
      0 8px 32px rgb(0 0 0 / 0.35);
  }
}

/* صفحات خطا (۴۰۴/۵۰۰/۴۰۳): فوتر بلافاصله بعد از محتوا، بدون فضای خالی زیاد */
.ir-page-error .ir-site-footer {
  margin-top: 0;
}

.ir-page-error main {
  flex: 0 0 auto;
}

/* flex main: mx-auto روی فرزند باعث جمع شدن عرض به محتوا می‌شود */
.ir-app > main > * {
  width: 100%;
}

body {
  font-family: Vazirmatn, serif;
}

html[lang="en"] body {
  font-family: 'Google Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* حذف دکمه‌های عددی input number */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* صفحه خرید سفارش عددی: اینپوت تعداد داخل گروه بدون بوردر و وسط‌چین */
.ir-buy-quantity-qty-group input {
  border: none;
  border-radius: 0;
  text-align: center;
  box-shadow: none;
}

.ir-buy-quantity-qty-group input:focus {
  outline: none;
  border: none;
  box-shadow: none;
}

.ir-buy-quantity-qty-group:focus-within {
  border-color: rgb(245 158 11);
  box-shadow: 0 0 0 3px rgb(245 158 11 / 0.16);
}

.dark .ir-buy-quantity-qty-group:focus-within {
  border-color: rgb(251 191 36);
  box-shadow: 0 0 0 3px rgb(245 158 11 / 0.2);
}

/* لندینگ کاتالوگ: تعداد با حداقل/حداکثر در دو طرف */
.ir-landing-qty-group .ir-landing-input {
  border: none;
  border-radius: 0;
  text-align: center;
  background: transparent;
  box-shadow: none;
}

.ir-landing-qty-group .ir-landing-input:focus {
  border: none;
  box-shadow: none;
  background: transparent;
}

/* focus-within روی .ir-buy-quantity-qty-group بالا تعریف شده */

/* سلکت کاستوم: مخفی‌سازی native (استایل در tailwind_input @layer components) */
.ir-custom-select select.ir-native-select-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* اینپوت گروپ سرویس: لبه‌های گرد و بوردر یک‌دست (override قاعدهٔ کلی تریگر، دکمه و لیست) */
.ir-input-group .ir-custom-select-trigger {
  border-start-start-radius: 0.75rem;
  border-end-start-radius: 0.75rem;
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.ir-input-group .ir-input-group-addon-btn {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  border-start-end-radius: 0.75rem;
  border-end-end-radius: 0.75rem;
}
/* وقتی آکاردئون باز است: فقط گوشهٔ پایینِ سمت دکمهٔ مشخصات مربعی شود (گوشهٔ بالا گرد بماند) */
.ir-input-group:has(#specCollapse:not(.hidden)) .ir-input-group-addon-btn,
.ir-input-group:has(.ir-spec-collapse:not(.hidden)) .ir-input-group-addon-btn {
  border-end-end-radius: 0;
}
.ir-input-group .ir-custom-select-list {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
  border-end-start-radius: 0.75rem;
  border-end-end-radius: 0.75rem;
}

/* آیکن‌های SVG استاتیک */
.ir-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex-shrink: 0;
}

img.ir-icon {
  object-fit: contain;
  vertical-align: middle;
}

:where(.ir-icon.ir-icon-muted) {
  color: rgb(107 114 128);
}

:where(.ir-icon.ir-icon-muted-solid) {
  color: rgb(156 163 175);
}

.dark :where(.ir-icon.ir-icon-muted),
.dark :where(.ir-icon.ir-icon-muted-solid) {
  color: rgb(156 163 175);
}

.ir-icon.ir-icon-accent {
  color: rgb(180 83 9);
}

.dark .ir-icon.ir-icon-accent {
  color: rgb(251 191 36);
}

.bg-amber-500 .ir-icon,
.bg-amber-600 .ir-icon {
  color: inherit;
}

/* دکمهٔ تغییر تم: آیکن و متن با aria-pressed عوض می‌شوند */
.js-theme-toggle .ir-theme-icon-sun,
.js-theme-toggle .ir-theme-label-light {
  display: none !important;
}

.js-theme-toggle[aria-pressed="true"] .ir-theme-icon-moon,
.js-theme-toggle[aria-pressed="true"] .ir-theme-label-dark {
  display: none !important;
}

.js-theme-toggle[aria-pressed="true"] .ir-theme-icon-sun {
  display: inline-flex !important;
}

.js-theme-toggle[aria-pressed="true"] .ir-theme-label-light {
  display: inline !important;
}

/* منوی حساب کاربری در نوبار: آیکن و متن در یک خط */
#user-menu .grid > a,
#user-menu .grid > button {
  align-items: center;
}

#user-menu .grid > a > span:last-child,
#user-menu .grid > button > span:last-child {
  line-height: 1.125rem;
}

/* آیکن شبکه‌های اجتماعی (SVG محلی) */
.ir-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
}

.ir-social-icon__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ir-social-icon--xs {
  width: 1.125rem;
  height: 1.125rem;
}

.ir-social-icon--sm {
  width: 1.25rem;
  height: 1.25rem;
}

.ir-social-icon--md {
  width: 1.5rem;
  height: 1.5rem;
}

.ir-social-icon--lg {
  width: 1.75rem;
  height: 1.75rem;
}

.ir-social-icon--xl {
  width: 2rem;
  height: 2rem;
}

.ir-home-platform-card .ir-social-icon--lg,
.ir-home-platform-card .ir-social-icon--xl {
  width: 1.75rem;
  height: 1.75rem;
}

/* هیرو صفحه اصلی: فقط فید — بدون translateY تا اسکرول/آنکر جابه‌جا نشود */
.ir-hero-intro {
  animation: irFadeIn 0.35s ease-out;
}

/* انیمیشن‌های ملایم (بدون وابستگی به هاور؛ مناسب موبایل) */
@keyframes irFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes irFadeInUp {
  from { opacity: 0; transform: translateY(0.5rem); }
  to { opacity: 1; transform: translateY(0); }
}

/* ورود کارت/بلاک (مثلاً صفحه درگاه): فید این + کمی از پایین */
.ir-animate-in {
  animation: irFadeInUp 0.4s ease-out;
}

/* کارت پلتفرم صفحه اصلی: بدون outline مشکی؛ فوکوس کهربایی هماهنگ با سایت */
.ir-home-platform-card {
  -webkit-tap-highlight-color: transparent;
  outline: none;
  border-radius: 1.5rem;
}

.ir-home-platform-card:focus,
.ir-home-platform-card:focus-visible {
  outline: none !important;
  border-color: rgb(249 189 58 / 0.55) !important;
  box-shadow:
    0 1px 2px 0 rgb(0 0 0 / 0.05),
    0 0 0 2px rgb(249 189 58 / 0.45) !important;
}

.dark .ir-home-platform-card:focus,
.dark .ir-home-platform-card:focus-visible {
  border-color: rgb(249 189 58 / 0.5) !important;
  box-shadow:
    0 1px 2px 0 rgb(0 0 0 / 0.2),
    0 0 0 2px rgb(249 189 58 / 0.35) !important;
}

/* صفحه اصلی: فاصله پایین در سطح layout برای toast شناور، safe-area و فوتر */
.ir-page-home .ir-app > main {
  padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
}

.ir-page-home .ir-site-footer {
  padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
}

.ir-home-page {
  padding-bottom: 0;
}

.ir-home-section {
  margin-bottom: 0;
}

/* صفحه اصلی — کاروسل افقی مجله */
.ir-home-blog-section__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.ir-section-title-with-icon {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
  flex: 1 1 auto;
}

.ir-home-blog-section__icon {
  width: 2rem;
  height: 2rem;
  margin-top: 0.125rem;
}

.ir-home-blog-section__title {
  min-width: 0;
  flex: 1 1 auto;
}

.ir-home-blog-section__nav {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex: 0 0 auto;
}

@media (max-width: 420px) {
  .ir-home-blog-section__head {
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }

  .ir-section-title-with-icon {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .ir-home-blog-section__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.35;
  }

  .ir-home-blog-section__nav {
    margin-inline-start: auto;
  }
}

.ir-home-blog-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 9999px;
  border: 1px solid rgb(229 231 235);
  background: rgb(255 255 255);
  padding: 0;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.ir-home-blog-nav-btn:hover:not(:disabled) {
  border-color: rgb(252 211 77 / 0.6);
  background: rgb(255 251 235);
}

.ir-home-blog-nav-btn:disabled {
  cursor: default;
  opacity: 0.35;
  pointer-events: none;
}

.ir-home-blog-section--no-scroll .ir-home-blog-section__nav {
  opacity: 0.35;
}

.dark .ir-home-blog-nav-btn {
  border-color: rgb(75 85 99);
  background: rgb(31 41 55);
}

.dark .ir-home-blog-nav-btn:hover:not(:disabled) {
  border-color: rgb(245 158 11 / 0.35);
  background: rgb(245 158 11 / 0.1);
}

.ir-home-blog-carousel-shell {
  margin-inline: -1rem;
  padding-inline: 1rem;
  overflow: hidden;
}

.ir-home-posts-carousel {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  touch-action: auto;
  overscroll-behavior-x: contain;
  cursor: grab;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 0.25rem;
}

.ir-home-posts-carousel::-webkit-scrollbar {
  display: none;
}

.ir-home-posts-carousel.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

.ir-home-post-card {
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: min(17.5rem, calc(100vw - 4.5rem));
  min-height: 11.5rem;
}

@media (min-width: 481px) {
  .ir-home-post-card {
    width: 16.5rem;
  }
}

@media (min-width: 768px) {
  .ir-home-post-card {
    width: 17.5rem;
  }
}

.ir-home-platform-card {
  min-height: 4.75rem;
}

@media (max-width: 480px) {
  .ir-page-home .ir-app > main {
    padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px));
  }

  .ir-home-platform-card {
    min-height: 4.75rem;
  }

  .ir-home-page .text-sm {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.ir-trust-contact__intro {
  margin-top: 0.125rem;
}

/* سایدبار: وقتی بسته است فضایی در layout نمی‌گیرد (inset:0 باعث اسکرول اضافه می‌شد) */
.ir-sidebar-shell,
#sidebar-shell {
  position: fixed;
  left: 50%;
  top: 0;
  z-index: 200;
  width: 100%;
  max-width: 480px;
  height: 0;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
  transform: translateX(-50%);
}

.ir-sidebar-shell.is-sidebar-open,
#sidebar-shell.is-sidebar-open {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 50%;
  right: auto;
  width: 100%;
  max-width: 480px;
  height: 100dvh;
  height: 100svh;
  transform: translateX(-50%);
  pointer-events: auto;
  visibility: visible;
}

.ir-sidebar-backdrop,
#sidebar-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: default;
  background: rgb(254 243 199 / 0.72);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.dark .ir-sidebar-backdrop,
.dark #sidebar-backdrop {
  background: rgb(3 7 18 / 0.82);
}

.ir-sidebar-shell.is-sidebar-open .ir-sidebar-backdrop,
.ir-sidebar-shell.is-sidebar-open #sidebar-backdrop,
#sidebar-shell.is-sidebar-open .ir-sidebar-backdrop,
#sidebar-shell.is-sidebar-open #sidebar-backdrop {
  opacity: 1;
  pointer-events: auto;
  inset: 0;
  width: 100%;
  height: 100%;
}

#sidebar-shell.is-sidebar-open #app-sidebar.ir-app-sidebar-panel,
#sidebar-shell.is-sidebar-open #app-sidebar {
  pointer-events: auto;
  z-index: 2;
}

#app-sidebar.ir-app-sidebar-panel {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  left: auto;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 15.5rem;
  max-width: calc(100% - 1.5rem);
  height: auto;
  max-height: calc(100dvh - 1.5rem);
  max-height: calc(100svh - 1.5rem);
  min-height: 0;
  transform: translate3d(calc(100% + 0.75rem), 0, 0);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.ir-sidebar-shell.is-sidebar-open #app-sidebar.ir-app-sidebar-panel,
#sidebar-shell.is-sidebar-open #app-sidebar.ir-app-sidebar-panel,
#app-sidebar.ir-app-sidebar-panel.is-open {
  transform: translate3d(0, 0, 0);
}

#app-sidebar .ir-sidebar-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

#app-sidebar .ir-sidebar-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
}

#app-sidebar .ir-sidebar-footer {
  flex-shrink: 0;
  margin-top: auto;
}

#sidebar-shell.is-sidebar-open #app-sidebar a[href] {
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

#app-sidebar .ir-sidebar-scroll::-webkit-scrollbar {
  display: none;
}

#app-sidebar .ir-sidebar-grid {
  min-width: 0;
}

#app-sidebar .ir-sidebar-tile {
  min-height: 3rem;
  -webkit-tap-highlight-color: transparent;
}

#app-sidebar .ir-sidebar-tile .truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#app-sidebar .ir-sidebar-grid .ir-sidebar-nav-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  object-fit: contain;
}

/* لایت: آیکن باکس زرد آیتم فعال — مشکی */
html:not(.dark) #app-sidebar .ir-sidebar-grid .ir-sidebar-tile.is-active .ir-sidebar-icon-box.is-accent .ir-sidebar-nav-icon {
  filter: brightness(0);
}

/* دارک: باکس معمولی — سفید (هاور هم سفید بماند) */
.dark #app-sidebar .ir-sidebar-grid .ir-sidebar-icon-box:not(.is-accent) .ir-sidebar-nav-icon,
.dark #app-sidebar .ir-sidebar-grid .ir-sidebar-tile:hover .ir-sidebar-icon-box:not(.is-accent) .ir-sidebar-nav-icon {
  filter: brightness(0) invert(1);
}

/* دارک: باکس زرد (فعال / سفارش) — مشکی */
.dark #app-sidebar .ir-sidebar-grid .ir-sidebar-icon-box.is-accent .ir-sidebar-nav-icon {
  filter: brightness(0);
}

.dark #app-sidebar .ir-sidebar-footer-trust-img:not(.ir-sidebar-footer-trust-img--square) {
  filter: brightness(0) invert(1);
}

#app-sidebar .ir-sidebar-footer-contact a {
  -webkit-tap-highlight-color: transparent;
}

#add-amount-form {
  scroll-margin-top: 0;
}

/* اپ دایرکت: فقط فیلد مبلغ؛ بدون گرید بسته‌های پیشنهادی */
.ir-android-app.ir-flavor-direct .ir-wallet-page #add-amount-form {
  display: block;
}

.ir-android-app.ir-flavor-direct #ir-wallet-presets:empty {
  display: none;
  margin: 0;
  padding: 0;
}

/* مشاوره + نماد اعتماد — سایدبار (فوتر صفحه با Tailwind در قالب) */
.ir-trust-contact--sidebar {
  background: rgb(249 250 251 / 0.9);
}

.dark .ir-trust-contact--sidebar {
  background: rgb(17 24 39 / 0.5);
}

.ir-trust-contact__shell {
  padding: 1rem 0.875rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__shell {
  padding: 0.625rem 0.5rem;
}

.ir-trust-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 0.625rem;
  row-gap: 0.625rem;
  min-width: 0;
}

.ir-trust-contact__col {
  min-width: 0;
  overflow: hidden;
  padding: 0.875rem 0.75rem;
  border-radius: 1rem;
  background: rgb(255 255 255);
  border: 1px solid rgb(249 189 58 / 0.22);
  box-shadow:
    0 1px 2px rgb(0 0 0 / 0.04),
    0 0 0 1px rgb(0 0 0 / 0.02);
}

.dark .ir-trust-contact__col {
  background: rgb(31 41 55);
  border-color: rgb(249 189 58 / 0.15);
  box-shadow:
    0 1px 2px rgb(0 0 0 / 0.2),
    0 0 0 1px rgb(255 255 255 / 0.04);
}

.ir-trust-contact__title {
  margin: 0 0 0.625rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgb(249 189 58 / 0.2);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  color: rgb(180 83 9);
  line-height: 1.2;
}

.dark .ir-trust-contact__title {
  color: rgb(251 191 36);
  border-bottom-color: rgb(249 189 58 / 0.15);
}

.ir-trust-contact__contact-list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.ir-trust-contact__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.75rem;
  color: rgb(55 65 81);
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.dark .ir-trust-contact__item {
  color: rgb(229 231 235);
}

.ir-trust-contact__link:hover {
  background: rgb(255 251 235);
  color: rgb(146 64 14);
}

.dark .ir-trust-contact__link:hover {
  background: rgb(49 46 34 / 0.5);
  color: rgb(253 224 71);
}

.ir-trust-contact__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  background: rgb(249 189 58 / 0.12);
  color: rgb(180 83 9);
}

.dark .ir-trust-contact__icon-wrap {
  background: rgb(249 189 58 / 0.1);
  color: rgb(251 191 36);
}

.ir-trust-contact__icon-wrap--social {
  width: 1.75rem;
  height: 1.75rem;
  background: rgb(249 189 58 / 0.08);
}

.ir-trust-contact__icon-wrap--social .ir-social-icon--sm {
  width: 1.125rem;
  height: 1.125rem;
}

.ir-trust-contact__icon {
  width: 0.9375rem;
  height: 0.9375rem;
}

.ir-trust-contact__text {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  text-align: start;
}

.ir-trust-contact__trust-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.5rem;
}

.ir-trust-contact__trust {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.25rem;
  border-radius: 0.75rem;
  text-decoration: none;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.ir-trust-contact__trust:hover {
  background: rgb(249 250 251);
  transform: translateY(-1px);
}

.dark .ir-trust-contact__trust:hover {
  background: rgb(55 65 81 / 0.5);
}

.ir-trust-contact__trust-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.5rem;
  padding: 0.375rem;
  border-radius: 0.75rem;
  background: rgb(249 250 251);
  border: 1px solid rgb(229 231 235);
}

.dark .ir-trust-contact__trust-badge {
  background: rgb(17 24 39);
  border-color: rgb(55 65 81);
}

.ir-trust-contact__trust-label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgb(75 85 99);
  text-align: center;
  line-height: 1.2;
}

.dark .ir-trust-contact__trust-label {
  color: rgb(209 213 219);
}

.ir-trust-contact__trust:hover .ir-trust-contact__trust-label {
  color: rgb(180 83 9);
}

.dark .ir-trust-contact__trust:hover .ir-trust-contact__trust-label {
  color: rgb(251 191 36);
}

.ir-trust-contact__trust-img {
  height: 2.75rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.ir-trust-contact__trust-img--square {
  height: 2.5rem;
  width: 2.5rem;
}

/* ای‌نماد: فیلتر سفید — زرین‌پال PNG با پس‌زمینه رنگی است و invert کل باکس را سفید می‌کند */
.dark .ir-trust-contact__trust-img:not(.ir-trust-contact__trust-img--square) {
  filter: brightness(0) invert(1);
}

.dark .ir-trust-contact__trust-img--square {
  filter: none;
}

/* سایدبار */
.ir-trust-contact--sidebar .ir-trust-contact__col {
  padding: 0.625rem 0.5rem;
  border-radius: 0.75rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__title {
  margin-bottom: 0.4375rem;
  padding-bottom: 0.375rem;
  font-size: 0.5625rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__contact-list {
  gap: 0.25rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__item {
  gap: 0.375rem;
  padding: 0.375rem 0.3125rem;
  border-radius: 0.5rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__icon-wrap {
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 0.375rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__icon {
  width: 0.6875rem;
  height: 0.6875rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__text {
  font-size: 0.625rem;
  line-height: 1.4;
}

.ir-trust-contact--sidebar .ir-trust-contact__trust-row {
  gap: 0.25rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__trust {
  gap: 0.25rem;
  padding: 0.25rem 0.125rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__trust-badge {
  min-height: 2.5rem;
  padding: 0.25rem;
  border-radius: 0.5rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__trust-img {
  height: 2rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__trust-img--square {
  height: 1.75rem;
  width: 1.75rem;
}

.ir-trust-contact--sidebar .ir-trust-contact__trust-label {
  font-size: 0.5rem;
}

.ir-field-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.4rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgb(55 65 81);
}

.dark .ir-field-label {
  color: rgb(209 213 219);
}

.ir-field-label--legend {
  margin-bottom: 0.5rem;
}

.ir-field-label img {
  flex-shrink: 0;
  opacity: 0.85;
}

.dark .ir-field-label img {
  filter: invert(1);
}

.ir-order-summary {
  padding: 1rem;
  background: rgb(249 250 251);
  border-top: 1px solid rgb(229 231 235);
}

.dark .ir-order-summary {
  background: rgb(31 41 55);
  border-top-color: rgb(75 85 99 / 0.55);
}

.ir-order-summary__total {
  font-size: 1.15rem;
  font-weight: 700;
  color: rgb(17 24 39);
}

.dark .ir-order-summary__total {
  color: rgb(243 244 246);
}

.ir-order-summary__gateway {
  font-weight: 700;
  color: rgb(5 150 105);
}

.dark .ir-order-summary__gateway {
  color: rgb(52 211 153);
}

.ir-order-trust {
  list-style: none;
  padding: 0.65rem 0 0;
  margin: 0.65rem 0 0;
  border-top: 1px dashed rgb(229 231 235);
  display: grid;
  gap: 0.35rem;
  font-size: 0.68rem;
  color: rgb(107 114 128);
}

.dark .ir-order-trust {
  border-top-color: rgb(75 85 99);
  color: rgb(156 163 175);
}

.ir-order-trust li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.ir-order-trust img {
  flex-shrink: 0;
  opacity: 0.8;
}

.dark .ir-order-trust img {
  filter: invert(1);
}

.ir-checkout-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.85rem 1rem;
  border: 0;
  border-radius: 0.75rem;
  font-weight: 700;
  color: rgb(17 24 39);
  background: rgb(245 158 11);
  box-shadow: 0 4px 12px rgb(15 23 42 / 0.1);
  transition: transform 0.12s ease, box-shadow 0.15s ease;
}

.ir-checkout-btn:hover {
  box-shadow: 0 6px 16px rgb(245 158 11 / 0.4);
}

.ir-checkout-btn:active {
  transform: scale(0.99);
}

.ir-sticky-cta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: rgb(17 24 39);
  background: rgb(245 158 11);
  box-shadow: 0 6px 18px rgb(15 23 42 / 0.1);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 768px) {
  .ir-sticky-cta {
    display: none !important;
  }
}

/* ----- Bottom sheet (login) ----- */
.ir-bottom-sheet:not(.hidden) {
  display: block;
}

.ir-bottom-sheet.is-open .ir-bottom-sheet__backdrop {
  opacity: 1;
}

.ir-bottom-sheet.is-open .ir-bottom-sheet__panel {
  transform: translateY(0);
}

.ir-bottom-sheet__backdrop {
  opacity: 0;
}

.ir-bottom-sheet__panel {
  transform: translateY(100%);
}

.ir-bottom-sheet.is-open {
  pointer-events: auto;
}

/* ========================================================================
   Product landing redesign — mobile-first, RTL, custom select compatible
   ======================================================================== */
.ir-landing-page {
  --ir-gold: rgb(245 158 11);
  --ir-gold-soft: rgb(249 250 251);
  --ir-gold-border: rgb(229 231 235);
  --ir-ink: rgb(17 24 39);
  --ir-muted: rgb(107 114 128);
  --ir-card: rgb(255 255 255);
  width: 100%;
  padding: 0 1rem 2rem;
  background: rgb(249 250 251);
}

.dark .ir-landing-page {
  --ir-card: rgb(31 41 55);
  --ir-ink: rgb(243 244 246);
  --ir-muted: rgb(156 163 175);
  background: rgb(17 24 39);
}

.ir-landing-hero {
  position: relative;
  margin: 0 -1rem 1.1rem;
  padding: 1rem 1rem 1.25rem;
  overflow: hidden;
  border-bottom: 1px solid rgb(229 231 235);
}

.dark .ir-landing-hero {
  border-bottom-color: rgb(75 85 99 / 0.55);
}

.ir-landing-hero__inner {
  position: relative;
  z-index: 1;
  border-radius: 1.65rem;
  padding: 1rem;
  background: rgb(255 255 255);
  border: 1px solid rgb(229 231 235);
  box-shadow: 0 8px 24px rgb(15 23 42 / 0.06);
}

.dark .ir-landing-hero__inner {
  background: rgb(31 41 55);
  border-color: rgb(75 85 99 / 0.55);
  box-shadow: 0 8px 24px rgb(0 0 0 / 0.22);
}

.ir-landing-hero__glow {
  position: absolute;
  border-radius: 9999px;
  filter: blur(6px);
  pointer-events: none;
}

.ir-landing-hero__glow--one {
  display: none;
}

.ir-landing-hero__glow--two {
  display: none;
}

.ir-landing-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.75rem;
  padding: 0.35rem 0.65rem;
  border-radius: 9999px;
  background: rgb(255 255 255 / 0.72);
  border: 1px solid rgb(253 230 138 / 0.75);
  color: rgb(146 64 14);
  font-size: 0.72rem;
  font-weight: 700;
}

.dark .ir-landing-kicker {
  color: rgb(253 230 138);
  background: rgb(0 0 0 / 0.16);
  border-color: rgb(180 83 9 / 0.34);
}

.ir-landing-kicker__dot {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 9999px;
  background: rgb(16 185 129);
  box-shadow: 0 0 0 4px rgb(16 185 129 / 0.12);
}

.ir-landing-hero__title {
  margin: 0;
  color: var(--ir-ink);
  font-size: 1.65rem;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: -0.03em;
}

.ir-landing-hero__subtitle {
  margin: 0.45rem 0 0;
  color: rgb(180 83 9);
  font-size: 0.92rem;
  font-weight: 800;
}

.dark .ir-landing-hero__subtitle {
  color: rgb(251 191 36);
}

.ir-landing-hero__description {
  margin: 0.6rem 0 0;
  color: var(--ir-muted);
  font-size: 0.84rem;
  line-height: 1.95;
}

.ir-landing-metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
  margin-top: 1rem;
}

.ir-landing-metric {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  padding: 0.72rem;
  border-radius: 1rem;
  background: rgb(255 255 255 / 0.78);
  border: 1px solid rgb(243 244 246);
}

.ir-landing-metric--strong {
  background: rgb(249 250 251);
  border-color: rgb(229 231 235);
}

.dark .ir-landing-metric {
  background: rgb(17 24 39 / 0.35);
  border-color: rgb(75 85 99 / 0.48);
}

.dark .ir-landing-metric--strong {
  background: rgb(120 53 15 / 0.28);
  border-color: rgb(180 83 9 / 0.42);
}

.ir-landing-metric__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 0.85rem;
  background: rgb(255 255 255);
  border: 1px solid rgb(254 243 199);
  flex-shrink: 0;
}

.dark .ir-landing-metric__icon {
  background: rgb(31 41 55);
  border-color: rgb(120 53 15 / 0.45);
}

.dark .ir-landing-metric__icon img {
  filter: invert(1);
}

.ir-landing-metric__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ir-landing-metric__label {
  color: var(--ir-muted);
  font-size: 0.68rem;
  font-weight: 600;
}

.ir-landing-metric__value {
  margin-top: 0.12rem;
  color: var(--ir-ink);
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1.45;
}

.ir-landing-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0;
  margin: 0.9rem 0 0;
  list-style: none;
}

.ir-landing-trust__item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.62rem;
  border-radius: 0.78rem;
  background: rgb(255 255 255 / 0.72);
  border: 1px solid rgb(243 244 246);
  color: rgb(75 85 99);
  font-size: 0.68rem;
  font-weight: 650;
}

.dark .ir-landing-trust__item {
  color: rgb(209 213 219);
  background: rgb(17 24 39 / 0.28);
  border-color: rgb(75 85 99 / 0.42);
}

.dark .ir-landing-trust__item img {
  filter: invert(1);
}

.ir-landing-hero__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
  margin-top: 1rem;
}

.ir-landing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 3rem;
  border-radius: 1rem;
  padding: 0.72rem 1rem;
  font-size: 0.86rem;
  font-weight: 850;
  text-decoration: none;
  transition: transform 0.14s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ir-landing-btn:active {
  transform: scale(0.985);
}

.ir-landing-btn--primary {
  color: rgb(17 24 39);
  background: rgb(245 158 11);
  box-shadow: 0 8px 18px rgb(15 23 42 / 0.1);
}

.ir-landing-btn--primary:hover {
  box-shadow: 0 12px 26px rgb(245 158 11 / 0.36);
}

.ir-landing-btn--secondary {
  color: rgb(75 85 99);
  background: rgb(255 255 255 / 0.82);
  border: 1px solid rgb(229 231 235);
}

.dark .ir-landing-btn--secondary {
  color: rgb(229 231 235);
  background: rgb(31 41 55 / 0.72);
  border-color: rgb(75 85 99 / 0.5);
}

.dark .ir-landing-btn--secondary img,
.dark .ir-landing-btn--primary img {
  filter: none;
}

.ir-landing-section {
  margin-top: 1.15rem;
}

.ir-landing-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.ir-landing-section-head--compact {
  margin-bottom: 0.6rem;
}

.ir-landing-section-eyebrow {
  display: block;
  margin-bottom: 0.16rem;
  color: rgb(180 83 9);
  font-size: 0.68rem;
  font-weight: 850;
}

.dark .ir-landing-section-eyebrow {
  color: rgb(251 191 36);
}

.ir-landing-section-title {
  margin: 0;
  color: var(--ir-ink);
  font-size: 1.06rem;
  font-weight: 900;
  line-height: 1.45;
}

.ir-landing-section-desc {
  margin: 0.25rem 0 0;
  color: var(--ir-muted);
  font-size: 0.78rem;
  line-height: 1.7;
}

.ir-order-card {
  overflow: hidden;
  border-radius: 1.35rem;
  background: var(--ir-card);
  border: 1px solid rgb(229 231 235);
  box-shadow: 0 12px 32px rgb(15 23 42 / 0.08);
}

.dark .ir-order-card {
  border-color: rgb(75 85 99 / 0.55);
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.26);
}

.ir-order-card__body {
  padding: 0.9rem;
}

.ir-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

.ir-form-group {
  min-width: 0;
}

.ir-form-group--full {
  grid-column: 1 / -1;
  margin-bottom: 0.75rem;
}

.ir-required {
  color: rgb(220 38 38);
}

.ir-landing-input {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid rgb(229 231 235);
  background: rgb(249 250 251);
  padding: 0.82rem 0.92rem;
  color: rgb(17 24 39);
  font-size: 0.86rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.ir-landing-input:focus {
  outline: none;
  border-color: rgb(245 158 11);
  background: rgb(255 255 255);
  box-shadow: 0 0 0 3px rgb(245 158 11 / 0.16);
}

.dark .ir-landing-input {
  color: rgb(243 244 246);
  background: rgb(17 24 39 / 0.35);
  border-color: rgb(75 85 99 / 0.55);
}

.dark .ir-landing-input:focus {
  background: rgb(17 24 39 / 0.48);
  border-color: rgb(251 191 36);
}

.ir-field-help {
  margin-top: 0.35rem;
  color: var(--ir-muted);
  font-size: 0.68rem;
  line-height: 1.65;
}

.ir-select-premium .ir-native-select {
  min-height: 3.15rem;
  border-radius: 1rem;
  border-color: rgb(229 231 235);
  background-color: rgb(249 250 251);
}

.ir-select-premium .ir-custom-select-trigger {
  min-height: 3.15rem;
  border-radius: 1rem;
  border-color: rgb(229 231 235);
  background: rgb(255 255 255);
  box-shadow: none;
}

.ir-select-premium .ir-custom-select-list {
  border-radius: 1rem;
  border-color: rgb(253 230 138);
  box-shadow: 0 16px 32px rgb(15 23 42 / 0.16);
}

.dark .ir-select-premium .ir-custom-select-trigger {
  background: rgb(31 41 55);
  border-color: rgb(75 85 99 / 0.55);
}

.dark .ir-select-premium .ir-custom-select-list {
  border-color: rgb(180 83 9 / 0.42);
}

.ir-addons-box {
  margin-top: 0.85rem;
  padding: 0;
  border: 0;
}

.ir-addons-grid {
  display: grid;
  gap: 0.55rem;
}

.ir-addon-card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.78rem;
  border-radius: 1rem;
  border: 1px solid rgb(229 231 235);
  background: rgb(249 250 251);
  cursor: pointer;
}

.dark .ir-addon-card {
  background: rgb(17 24 39 / 0.35);
  border-color: rgb(75 85 99 / 0.5);
}

.ir-addon-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ir-addon-card__check {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.1rem;
  flex-shrink: 0;
  border-radius: 0.45rem;
  border: 2px solid rgb(209 213 219);
  background: rgb(255 255 255);
}

.ir-addon-card input:checked + .ir-addon-card__check {
  border-color: rgb(245 158 11);
  background: rgb(245 158 11);
  box-shadow: inset 0 0 0 3px rgb(255 255 255);
}

.ir-addon-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.ir-addon-card__title {
  color: var(--ir-ink);
  font-size: 0.82rem;
  font-weight: 850;
}

.ir-addon-card__desc {
  margin-top: 0.18rem;
  color: var(--ir-muted);
  font-size: 0.68rem;
  line-height: 1.55;
}

.ir-addon-card__price {
  margin-top: 0.22rem;
  color: rgb(180 83 9);
  font-size: 0.72rem;
  font-weight: 900;
}

.dark .ir-addon-card__price {
  color: rgb(251 191 36);
}

.ir-order-summary--landing {
  padding: 0.85rem 1rem;
  background: rgb(249 250 251);
  border-top: 1px solid rgb(229 231 235);
}

.dark .ir-order-summary--landing {
  background: rgb(31 41 55);
  border-top-color: rgb(75 85 99 / 0.55);
}

.ir-order-summary__lines {
  margin: 0;
  padding: 0;
}

.ir-order-summary__line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.38rem 0;
}

.ir-order-summary__line + .ir-order-summary__line {
  border-top: 1px solid rgb(243 244 246);
}

.dark .ir-order-summary__line + .ir-order-summary__line {
  border-top-color: rgb(55 65 81 / 0.7);
}

.ir-order-summary__line dt,
.ir-order-summary__line dd {
  margin: 0;
}

.ir-order-summary--landing .ir-order-summary__label {
  display: inline;
  margin-bottom: 0;
  font-size: 0.78rem;
  color: var(--ir-muted);
  font-weight: 600;
}

.ir-order-summary--landing .ir-order-summary__total,
.ir-order-summary--landing .ir-order-summary__gateway {
  font-size: 0.88rem;
  white-space: nowrap;
}

.ir-order-summary__line--payable {
  padding-top: 0.5rem;
  margin-top: 0.1rem;
  border-top: 1px solid rgb(229 231 235) !important;
}

.dark .ir-order-summary__line--payable {
  border-top-color: rgb(75 85 99 / 0.55) !important;
}

.ir-order-summary__line--payable .ir-order-summary__gateway {
  font-size: 1rem;
}

.ir-order-summary__wallet-amount {
  font-size: 0.88rem;
  font-weight: 700;
  color: rgb(75 85 99);
  white-space: nowrap;
}

.ir-order-summary__wallet-amount.is-zero {
  color: rgb(156 163 175);
  font-weight: 600;
}

.dark .ir-order-summary__wallet-amount {
  color: rgb(209 213 219);
}

.dark .ir-order-summary__wallet-amount.is-zero {
  color: rgb(107 114 128);
}

.ir-order-trust--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.7rem;
}

.ir-order-card__footer {
  padding: 0.9rem;
}

.ir-rules-check {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
  padding: 0.75rem;
  border-radius: 1rem;
  background: rgb(249 250 251);
  border: 1px solid rgb(229 231 235);
  color: rgb(75 85 99);
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}

.dark .ir-rules-check {
  color: rgb(209 213 219);
  background: rgb(31 41 55);
  border-color: rgb(75 85 99 / 0.55);
}

.ir-rules-check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ir-rules-check__box {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0.45rem;
  border: 2px solid rgb(209 213 219);
  background: rgb(255 255 255);
  flex-shrink: 0;
}

.ir-rules-check input:checked + .ir-rules-check__box {
  border-color: rgb(245 158 11);
  background: rgb(245 158 11);
  box-shadow: inset 0 0 0 3px rgb(255 255 255);
}

.ir-checkout-btn--landing {
  min-height: 3.2rem;
  border-radius: 1rem;
  font-size: 0.92rem;
  box-shadow: 0 12px 24px rgb(245 158 11 / 0.28);
}

.ir-seo-content {
  display: grid;
  gap: 0.8rem;
}

.ir-content-card {
  padding: 1rem;
  border-radius: 1.25rem;
  background: var(--ir-card);
  border: 1px solid rgb(229 231 235);
  color: rgb(75 85 99);
  font-size: 0.82rem;
  line-height: 1.95;
  box-shadow: 0 6px 18px rgb(15 23 42 / 0.04);
}

.ir-content-card h2 {
  margin: 0 0 0.5rem;
  color: var(--ir-ink);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.65;
}

.ir-content-card p {
  margin: 0.35rem 0;
}

.ir-content-card--highlight {
  background: rgb(249 250 251);
  border-color: rgb(229 231 235);
}

.ir-content-card--warning {
  background: rgb(255 251 235);
  border-color: rgb(253 230 138);
  color: rgb(120 53 15);
}

.dark .ir-content-card {
  color: rgb(209 213 219);
  background: rgb(31 41 55);
  border-color: rgb(75 85 99 / 0.52);
}

.dark .ir-content-card--highlight,
.dark .ir-content-card--warning {
  background: rgb(120 53 15 / 0.16);
  border-color: rgb(180 83 9 / 0.34);
  color: rgb(229 231 235);
}

.ir-benefits-list,
.ir-steps-list {
  display: grid;
  gap: 0.45rem;
  padding: 0;
  margin: 0.6rem 0 0;
  list-style: none;
}

.ir-benefits-list li,
.ir-steps-list li {
  position: relative;
  padding-inline-start: 1.3rem;
}

.ir-benefits-list li::before,
.ir-steps-list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.68em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: rgb(245 158 11);
}

.ir-related-grid {
  display: grid;
  gap: 0.6rem;
}

.ir-related-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.9rem;
  border-radius: 1.1rem;
  background: var(--ir-card);
  border: 1px solid rgb(229 231 235);
  color: var(--ir-ink);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}

.ir-related-card:hover {
  border-color: rgb(245 158 11 / 0.65);
  transform: translateY(-1px);
}

.ir-related-card strong {
  display: block;
  font-size: 0.84rem;
}

.ir-related-card small {
  display: block;
  margin-top: 0.16rem;
  color: var(--ir-muted);
  font-size: 0.7rem;
  line-height: 1.55;
}

.dark .ir-related-card {
  border-color: rgb(75 85 99 / 0.52);
}

.dark .ir-related-card img {
  filter: invert(1);
}

.ir-landing-empty {
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 1rem;
  background: rgb(249 250 251);
  border: 1px solid rgb(229 231 235);
  color: var(--ir-muted);
  font-size: 0.84rem;
  text-align: center;
}

.ir-sticky-landing-cta {
  background: rgb(255 255 255 / 0.98);
  backdrop-filter: blur(14px);
  border-top: 1px solid rgb(229 231 235);
}

.dark .ir-sticky-landing-cta {
  background: rgb(17 24 39 / 0.98);
  border-top-color: rgb(75 85 99 / 0.5);
}

@media (min-width: 420px) {
  .ir-landing-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ir-landing-metric {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.45rem;
  }

  .ir-landing-hero__actions {
    grid-template-columns: 1fr auto;
  }
}

/* Service compare table — stable sticky first column */
.ir-compare-sticky-col {
  position: sticky;
  right: 0;
  left: auto;
  z-index: 20;
  background-color: rgb(249 250 251);
  border-inline-start: 1px solid rgb(229 231 235);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.ir-compare-sticky-col--head {
  z-index: 30;
}

.dark .ir-compare-sticky-col {
  background-color: rgb(31 41 55);
  border-inline-start-color: rgb(55 65 81);
}

[data-compare-scroll] {
  -webkit-overflow-scrolling: touch;
}

/* Rules page */
.ir-rules-summary__card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgb(229 231 235);
  background: rgb(255 255 255);
}

.dark .ir-rules-summary__card {
  border-color: rgb(75 85 99 / 0.55);
  background: rgb(31 41 55);
}

.ir-rules-summary__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  background: rgb(254 243 199 / 0.65);
  flex-shrink: 0;
}

.dark .ir-rules-summary__icon {
  background: rgb(120 53 15 / 0.25);
}

.ir-rules-summary__title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 800;
  color: rgb(17 24 39);
}

.dark .ir-rules-summary__title {
  color: rgb(243 244 246);
}

.ir-rules-summary__text {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.55;
  color: rgb(107 114 128);
}

.dark .ir-rules-summary__text {
  color: rgb(156 163 175);
}

.ir-rules-accordion {
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid rgb(229 231 235);
  background: rgb(255 255 255);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dark .ir-rules-accordion {
  border-color: rgb(75 85 99 / 0.55);
  background: rgb(31 41 55);
}

.ir-rules-accordion[open] {
  border-color: rgb(252 211 77 / 0.75);
  box-shadow: 0 4px 14px rgb(245 158 11 / 0.08);
}

.dark .ir-rules-accordion[open] {
  border-color: rgb(245 158 11 / 0.35);
}

.ir-rules-accordion__summary {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.ir-rules-accordion__summary::-webkit-details-marker {
  display: none;
}

.ir-rules-accordion__summary:hover {
  background: rgb(249 250 251 / 0.9);
}

.dark .ir-rules-accordion__summary:hover {
  background: rgb(55 65 81 / 0.35);
}

.ir-rules-accordion__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0 0.35rem;
  border-radius: 0.55rem;
  background: rgb(254 243 199 / 0.75);
  color: rgb(180 83 9);
  font-size: 0.75rem;
  font-weight: 800;
  flex-shrink: 0;
}

.dark .ir-rules-accordion__num {
  background: rgb(120 53 15 / 0.35);
  color: rgb(251 191 36);
}

.ir-rules-accordion__title {
  flex: 1;
  min-width: 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: rgb(17 24 39);
  line-height: 1.45;
  text-align: start;
}

.dark .ir-rules-accordion__title {
  color: rgb(243 244 246);
}

.ir-rules-accordion__chevron {
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.ir-rules-accordion[open] .ir-rules-accordion__chevron {
  transform: rotate(180deg);
}

.ir-rules-accordion__body {
  padding: 0 1rem 1rem;
  font-size: 0.84rem;
  line-height: 1.75;
  color: rgb(75 85 99);
  border-top: 1px solid rgb(243 244 246);
}

.dark .ir-rules-accordion__body {
  color: rgb(209 213 219);
  border-top-color: rgb(55 65 81 / 0.7);
}

.ir-rules-accordion__body p {
  margin: 0.85rem 0 0;
}

.ir-rules-accordion__body ul {
  margin: 0.65rem 0 0;
  padding: 0 1.1rem 0 0;
  list-style: disc;
}

.ir-rules-accordion__body li + li {
  margin-top: 0.35rem;
}

.ir-rules-check__link {
  color: rgb(217 119 6);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ir-rules-check__link:hover {
  color: rgb(180 83 9);
}

.dark .ir-rules-check__link {
  color: rgb(251 191 36);
}

.dark .ir-rules-check__link:hover {
  color: rgb(252 211 77);
}
