    /* ================================================
       سیستم تایپوگرافی اختصاصی برند تورنگار
       فونت نمایشی (تیتر/قیمت): کلامه — فونت متنی (بدنه): دانا
       پشتیبان: انجمن / آوینی / وزیرمتن (CDN)
       ⚠️ لایسنس: این نسخه صرفاً برای پیش‌نمایش و جمع‌بندی طرح است؛
       پیش از انتشار تجاری، لایسنس رسمی از fontiran.com خریداری شود.
       ================================================ */

    /* فونت نمایشی: کلامه (تیترها، قیمت‌ها، شماره‌ها) */
    @font-face {
      font-family: 'Kalameh';
      src: url('../fonts/kalameh-regular.woff2') format('woff2');
      font-weight: 400; font-style: normal; font-display: swap;
    }
    @font-face {
      font-family: 'Kalameh';
      src: url('../fonts/kalameh-bold.woff2') format('woff2');
      font-weight: 700 900; font-style: normal; font-display: swap;
    }
    /* فونت متنی: دانا (بدنه، توضیحات، بج‌ها) */
    @font-face {
      font-family: 'Dana';
      src: url('../fonts/dana-regular.woff2') format('woff2');
      font-weight: 400; font-style: normal; font-display: swap;
    }
    @font-face {
      font-family: 'Dana';
      src: url('../fonts/dana-bold.woff2') format('woff2');
      font-weight: 500 600; font-style: normal; font-display: swap;
    }
    /* پشتیبان‌های محلی: انجمن و آوینی */
    @font-face {
      font-family: 'Anjoman';
      src: url('../fonts/anjoman-regular.woff2') format('woff2');
      font-weight: 400; font-display: swap;
    }
    @font-face {
      font-family: 'Anjoman';
      src: url('../fonts/anjoman-bold.woff2') format('woff2');
      font-weight: 700; font-display: swap;
    }
    @font-face {
      font-family: 'Aviny';
      src: url('../fonts/aviny-title.woff2') format('woff2');
      font-weight: 400; font-display: swap;
    }
    /* پشتیبان محلی: وزیرمتن */
    @font-face {
      font-family: 'Vazirmatn';
      src: local('Vazirmatn'), local('Vazirmatn-Regular'),
           url('../fonts/vazirmatn-regular.woff2') format('woff2');
      font-weight: 400;
      font-display: swap;
    }
    @font-face {
      font-family: 'Vazirmatn';
      src: local('Vazirmatn Bold'), local('Vazirmatn-Bold'),
           url('../fonts/vazirmatn-bold.woff2') format('woff2');
      font-weight: 700;
      font-display: swap;
    }
    @font-face {
      font-family: 'Vazirmatn';
      src: local('Vazirmatn Black'), local('Vazirmatn-Black'),
           url('../fonts/vazirmatn-black.woff2') format('woff2');
      font-weight: 900;
      font-display: swap;
    }

    /* فونت لاتین اعداد و آدرس: Plus Jakarta Sans (لوکال، متغیر ۶۰۰–۸۰۰) */
    @font-face {
      font-family: 'Plus Jakarta Sans';
      src: url('assets/plus-jakarta-latin.woff2') format('woff2');
      font-weight: 600 800;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }

    :root {
      --font-display: 'Kalameh', 'Aviny', 'Vazirmatn', 'Dana', 'Anjoman', Tahoma, sans-serif;
      --font-body: 'Dana', 'Anjoman', 'Vazirmatn', 'Kalameh', Tahoma, sans-serif;
    }

    /* بدنه: فونت متنی دانا + ارقام ۱۰۰٪ فارسی (OpenType ss01) */
    html, body {
      font-family: var(--font-body);
      font-feature-settings: "ss01" 1, "ss02" 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    body, button, input, select, textarea, span, p, a, label, small {
      font-family: var(--font-body);
    }
    /* عناصر نمایشی: فونت کلامه (تیترها و عناوین بولد/بلک) */
    h1, h2, h3, h4, h5, h6, .w-black-900, .w-heavy-800, .w-bold-700, .font-black, .font-extrabold {
      font-family: var(--font-display);
      letter-spacing: -0.01em;
    }

    /* استایل‌های اختصاصی ارقام و حروف انگلیسی لاتین */
    .latin-text {
      font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
      font-feature-settings: normal;
      direction: ltr;
    }

    .w-black-900 { font-weight: 900 !important; }
    .w-heavy-800 { font-weight: 800 !important; }
    .w-bold-700  { font-weight: 700 !important; }
    .w-medium-500 { font-weight: 500 !important; }
    .w-regular-400 { font-weight: 400 !important; }

    /* ابعاد استاندارد استوری ۹:۱۶ و پست ۴:۵ */
    .insta-story-card {
      aspect-ratio: 9 / 16;
      width: 100%;
      max-width: 360px;
      border-radius: 36px;
      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.08);
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .insta-post-card {
      aspect-ratio: 4 / 5;
      width: 100%;
      max-width: 380px;
      border-radius: 32px;
      box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.08);
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .insta-story-card:hover, .insta-post-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 35px 65px -15px rgba(0, 0, 0, 0.85), 0 0 25px rgba(245, 158, 11, 0.25);
    }

    .cutout-notch-dark { position: relative; }
    .cutout-notch-dark::before {
      content: ''; position: absolute; left: -13px; top: 50%; transform: translateY(-50%);
      width: 26px; height: 26px; border-radius: 50%; background-color: #070a12;
      border: 1px solid rgba(255, 255, 255, 0.1); z-index: 20;
    }
    .cutout-notch-dark::after {
      content: ''; position: absolute; right: -13px; top: 50%; transform: translateY(-50%);
      width: 26px; height: 26px; border-radius: 50%; background-color: #070a12;
      border: 1px solid rgba(255, 255, 255, 0.1); z-index: 20;
    }

    .cutout-notch-light { position: relative; }
    .cutout-notch-light::before {
      content: ''; position: absolute; left: -13px; top: 50%; transform: translateY(-50%);
      width: 26px; height: 26px; border-radius: 50%; background-color: #070a12;
      border: 1px solid #cbd5e1; z-index: 20;
    }
    .cutout-notch-light::after {
      content: ''; position: absolute; right: -13px; top: 50%; transform: translateY(-50%);
      width: 26px; height: 26px; border-radius: 50%; background-color: #070a12;
      border: 1px solid #cbd5e1; z-index: 20;
    }

/* ================================================
   سری تایپوگرافیک: هر طرح با هویت فونتی متمایز
   کلاس tf-* روی ریشه کارت اعمال می‌شود
   ================================================ */
@font-face {
  font-family: 'IranSans';
  src: url('../fonts/iransans-regular.woff2') format('woff2');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'IranSans';
  src: url('../fonts/iransans-bold.woff2') format('woff2');
  font-weight: 700 900; font-display: swap;
}
@font-face {
  font-family: 'IranYekan';
  src: url('../fonts/iranyekan-regular.woff') format('woff');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'IranYekan';
  src: url('../fonts/iranyekan-bold.woff') format('woff');
  font-weight: 700 900; font-display: swap;
}
@font-face {
  font-family: 'Peyda';
  src: url('../fonts/peyda-regular.woff') format('woff');
  font-weight: 400 900; font-display: swap;
}

/* نقش‌های نمایشی هر فونت (تیتر و عناصر بولد) */
.tf-aviny h1, .tf-aviny h2, .tf-aviny h3, .tf-aviny .font-black, .tf-aviny .w-black-900, .tf-aviny .font-extrabold, .tf-aviny .font-bold { font-family: 'Aviny', 'Kalameh', sans-serif; }
.tf-iransans h1, .tf-iransans h2, .tf-iransans h3, .tf-iransans .font-black, .tf-iransans .w-black-900, .tf-iransans .font-extrabold, .tf-iransans .font-bold { font-family: 'IranSans', 'Vazirmatn', sans-serif; }
.tf-iranyekan h1, .tf-iranyekan h2, .tf-iranyekan h3, .tf-iranyekan .font-black, .tf-iranyekan .w-black-900, .tf-iranyekan .font-extrabold, .tf-iranyekan .font-bold { font-family: 'IranYekan', 'Vazirmatn', sans-serif; }
.tf-anjoman h1, .tf-anjoman h2, .tf-anjoman h3, .tf-anjoman .font-black, .tf-anjoman .w-black-900, .tf-anjoman .font-extrabold, .tf-anjoman .font-bold { font-family: 'Anjoman', 'Dana', sans-serif; }

/* نقش متنی (بدنه کارت) */
.tf-peyda, .tf-peyda span, .tf-peyda p, .tf-peyda a, .tf-peyda div, .tf-peyda b, .tf-peyda h1, .tf-peyda h2, .tf-peyda h3 { font-family: 'Peyda', 'Dana', sans-serif; }
.tf-iransans, .tf-iransans span, .tf-iransans p, .tf-iransans a, .tf-iransans div, .tf-iransans b { font-family: 'IranSans', 'Vazirmatn', sans-serif; }
.tf-iranyekan, .tf-iranyekan span, .tf-iranyekan p, .tf-iranyekan a, .tf-iranyekan div, .tf-iranyekan b { font-family: 'IranYekan', 'Vazirmatn', sans-serif; }
.tf-anjoman, .tf-anjoman span, .tf-anjoman p, .tf-anjoman a, .tf-anjoman div, .tf-anjoman b { font-family: 'Anjoman', 'Dana', sans-serif; }

/* ================================================
   فونت‌های جدید: پینار / پلاک / مانلی
   ================================================ */
@font-face {
  font-family: 'Pinar';
  src: url('../fonts/pinar-bold.woff2') format('woff2');
  font-weight: 400 700; font-display: swap;
}
@font-face {
  font-family: 'Pinar';
  src: url('../fonts/pinar-black.woff2') format('woff2');
  font-weight: 800 900; font-display: swap;
}
@font-face {
  font-family: 'Pelak';
  src: url('../fonts/pelak-thin.woff2') format('woff2');
  font-weight: 100; font-display: swap;
}
@font-face {
  font-family: 'Pelak';
  src: url('../fonts/pelak-light.woff2') format('woff2');
  font-weight: 300; font-display: swap;
}
@font-face {
  font-family: 'Pelak';
  src: url('../fonts/pelak-regular.woff2') format('woff2');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'Pelak';
  src: url('../fonts/pelak-medium.woff2') format('woff2');
  font-weight: 500 600; font-display: swap;
}
@font-face {
  font-family: 'Pelak';
  src: url('../fonts/pelak-bold.woff2') format('woff2');
  font-weight: 700; font-display: swap;
}
@font-face {
  font-family: 'Pelak';
  src: url('../fonts/pelak-black.woff2') format('woff2');
  font-weight: 800 900; font-display: swap;
}
@font-face {
  font-family: 'Maneli';
  src: url('../fonts/maneli-regular.woff2') format('woff2');
  font-weight: 400 900; font-display: swap;
}

/* ================================================
   مقیاس داینامیک تایپوگرافی کارت‌ها
   --fs-lg: ضریب اندازه تیترها | --fs-sm: ضریب اندازه متون
   از پنل تایپوگرافی استودیو کنترل می‌شود
   ================================================ */
:root { --fs-lg: 1; --fs-sm: 1; }

/* عناوین (اندازه‌های بزرگ) */
.insta-story-card .text-lg, .insta-post-card .text-lg { font-size: calc(1.125rem * var(--fs-lg)); }
.insta-story-card .text-xl, .insta-post-card .text-xl { font-size: calc(1.25rem * var(--fs-lg)); }
.insta-story-card .text-2xl, .insta-post-card .text-2xl { font-size: calc(1.5rem * var(--fs-lg)); }
.insta-story-card .text-3xl, .insta-post-card .text-3xl { font-size: calc(1.875rem * var(--fs-lg)); }
.insta-story-card .text-\[26px\], .insta-post-card .text-\[26px\] { font-size: calc(26px * var(--fs-lg)); }
.insta-story-card .text-\[27px\], .insta-post-card .text-\[27px\] { font-size: calc(27px * var(--fs-lg)); }
.insta-story-card .text-\[30px\], .insta-post-card .text-\[30px\] { font-size: calc(30px * var(--fs-lg)); }
.insta-story-card .text-\[44px\], .insta-post-card .text-\[44px\] { font-size: calc(44px * var(--fs-lg)); }
.insta-story-card .text-\[64px\], .insta-post-card .text-\[64px\] { font-size: calc(64px * var(--fs-lg)); }

/* بدنه (اندازه‌های کوچک) */
.insta-story-card .text-\[9px\], .insta-post-card .text-\[9px\] { font-size: calc(9px * var(--fs-sm)); }
.insta-story-card .text-\[10px\], .insta-post-card .text-\[10px\] { font-size: calc(10px * var(--fs-sm)); }
.insta-story-card .text-\[11px\], .insta-post-card .text-\[11px\] { font-size: calc(11px * var(--fs-sm)); }
.insta-story-card .text-xs, .insta-post-card .text-xs { font-size: calc(0.75rem * var(--fs-sm)); }
.insta-story-card .text-sm, .insta-post-card .text-sm { font-size: calc(0.875rem * var(--fs-sm)); }
.insta-story-card .text-base, .insta-post-card .text-base { font-size: calc(1rem * var(--fs-sm)); }
