/* Zibasa approved design tokens. Scope all tokens to the presentation boundary. */
/* Vazirmatn v33.0.3 variable font, self-hosted (SIL OFL 1.1, see ../fonts/vazirmatn/). */
@font-face {
  font-display: swap;
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 100 900;
  src: url('../fonts/vazirmatn/Vazirmatn-wght.woff2') format('woff2');
}
.zb-ui {
  --zb-color-primary: #ff7a1a;
  --zb-color-primary-deep: #f36a06;
  /* Approved CTA language: black text on soft peach. #1f1f1f on #f7a35d = 7.6:1,
     on hover #f08a3a = 6.6:1 (WCAG AA); the gradient only lightens toward pale yellow. */
  --zb-color-primary-action: #f7a35d;
  --zb-color-primary-action-hover: #f08a3a;
  --zb-color-on-primary-action: #1f1f1f;
  --zb-gradient-cta: linear-gradient(270deg, #fde8a6 0%, #f9bd7f 46%, #f4944b 100%);
  --zb-gradient-cta-hover: linear-gradient(270deg, #fde19a 0%, #f8b26f 46%, #f0863a 100%);
  --zb-color-peach-soft: #fdebdd;
  --zb-color-peach-wash: #fff4ec;
  --zb-color-cream: #fbf4e6;
  --zb-color-mint-soft: #e3f3e6;
  --zb-color-mint: #8fcf9f;
  --zb-color-mint-deep: #3f9d5d;
  --zb-color-glass: rgba(255, 255, 255, 0.74);
  --zb-color-glass-border: rgba(233, 226, 218, 0.85);
  --zb-color-peach: #ffa86a;
  --zb-color-background: #f7f2ec;
  --zb-color-canvas: #f6f1eb;
  --zb-color-surface: #fbf8f4;
  --zb-color-white: #ffffff;
  --zb-color-beige: #f3ece4;
  --zb-color-text: #1f1f1f;
  --zb-color-text-secondary: #6f6a64;
  --zb-color-border: #e9e2da;
  --zb-color-green-soft: #cfefdd;
  --zb-color-green: #53c483;
  --zb-color-purple-soft: #e9ddf9;
  --zb-color-purple: #9b6ef3;
  --zb-color-yellow-soft: #f8e9b8;
  --zb-color-yellow: #f4b73f;
  --zb-color-blue-soft: #ddeafb;
  --zb-color-blue: #5c9dff;
  --zb-color-pink-soft: #f8dde2;
  --zb-color-pink: #eb7d90;
  --zb-space-1: 4px;
  --zb-space-2: 8px;
  --zb-space-3: 12px;
  --zb-space-4: 16px;
  --zb-space-5: 20px;
  --zb-space-6: 24px;
  --zb-space-7: 32px;
  --zb-radius-button: 18px;
  --zb-radius-card: 26px;
  --zb-radius-input: 22px;
  --zb-radius-navigation: 32px;
  --zb-radius-pill: 999px;
  --zb-shadow-card: 0 10px 30px rgba(76, 57, 39, 0.07);
  --zb-shadow-floating: 0 16px 40px rgba(76, 57, 39, 0.12);
  --zb-shadow-focus: 0 0 0 3px rgba(255, 122, 26, 0.22);
  --zb-shadow-soft: 0 6px 22px rgba(76, 57, 39, 0.05);
  --zb-shadow-cta: 0 10px 24px rgba(244, 148, 75, 0.24);
  --zb-radius-xl: 28px;
  --zb-radius-lg: 22px;
  --zb-radius-md: 16px;
  --zb-ease-out: cubic-bezier(0.22, 0.8, 0.24, 1);
  --zb-motion-page: 220ms;
  --zb-safe-bottom: env(safe-area-inset-bottom, 0px);
  --zb-bottom-nav-height: 76px;
  --zb-font-latin: 'Didot', 'Bodoni 72', 'Bodoni MT', 'Playfair Display', Georgia, serif;
  --zb-font-family: 'Vazirmatn', Tahoma, Arial, sans-serif;
  --zb-font-size-caption: 0.75rem;
  --zb-font-size-body: 0.9375rem;
  --zb-font-size-card: 1rem;
  --zb-font-size-section: 1.125rem;
  --zb-font-size-h2: 1.375rem;
  --zb-font-size-h1: 1.75rem;
  --zb-font-size-display: 2.125rem;
  --zb-font-size-price: 1.25rem;
  --zb-line-tight: 1.35;
  --zb-line-body: 1.8;
  --zb-motion-fast: 160ms;
  --zb-motion-normal: 240ms;
  color: var(--zb-color-text);
  direction: rtl;
  font-family: var(--zb-font-family);
  font-size: 16px;
  line-height: var(--zb-line-body);
  text-align: right;
}
.zb-ui,
.zb-ui *,
.zb-ui *::before,
.zb-ui *::after {
  box-sizing: border-box;
}
.zb-ui
  :where(
    .zb-type-display,
    .zb-type-h1,
    .zb-type-h2,
    .zb-type-section,
    .zb-type-card,
    .zb-type-body,
    .zb-type-caption,
    .zb-type-price,
    .zb-type-button
  ) {
  margin: 0;
}
.zb-ui .zb-type-display {
  font-size: var(--zb-font-size-display);
  font-weight: 800;
  line-height: var(--zb-line-tight);
}
.zb-ui .zb-type-h1 {
  font-size: var(--zb-font-size-h1);
  font-weight: 800;
  line-height: var(--zb-line-tight);
}
.zb-ui .zb-type-h2 {
  font-size: var(--zb-font-size-h2);
  font-weight: 750;
  line-height: 1.45;
}
.zb-ui .zb-type-section {
  font-size: var(--zb-font-size-section);
  font-weight: 750;
  line-height: 1.5;
}
.zb-ui .zb-type-card {
  font-size: var(--zb-font-size-card);
  font-weight: 700;
  line-height: 1.55;
}
.zb-ui .zb-type-body {
  font-size: var(--zb-font-size-body);
  font-weight: 400;
  line-height: var(--zb-line-body);
}
.zb-ui .zb-type-caption {
  color: var(--zb-color-text-secondary);
  font-size: var(--zb-font-size-caption);
  font-weight: 500;
  line-height: 1.6;
}
.zb-ui .zb-type-price {
  font-size: var(--zb-font-size-price);
  font-weight: 800;
  line-height: 1.45;
}
.zb-ui .zb-type-button {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
}
@media (min-width: 768px) {
  .zb-ui {
    --zb-font-size-display: 2.75rem;
    --zb-font-size-h1: 2rem;
    --zb-font-size-h2: 1.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .zb-ui {
    --zb-motion-fast: 0ms;
    --zb-motion-normal: 0ms;
    --zb-motion-page: 0ms;
  }
}
