 /* ===== Theme vars (هم‌راستا با بقیه صفحات) ===== */
    body{ --bg:#0b1220; --fg:#e8eefc; --muted:#a6b1cf; --card:rgba(255,255,255,0.06); --card-border:rgba(255,255,255,0.12); --accent:#3b82f6; --ring:rgba(59,130,246,.35); }
    body.theme-light{
      --bg:#f7f8fb; --fg:#0e1320; --muted:#485068;
      --card:#ffffff; --card-border:rgba(14,19,32,0.08);
      --accent:#2563eb; --ring:rgba(37,99,235,.25);
    }
    .theme-anim *{ transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
    body, .prose, .prose * { font-family: inherit !important; }

    .container-narrow{ max-width: 80rem; margin-inline:auto; }
    .section{ background: var(--card); border:1px solid var(--card-border); border-radius: .75rem; padding: 1rem; box-shadow: 0 1px 0 rgba(255,255,255,.06), 0 16px 40px -28px rgba(0,0,0,.45); }
    .section-title{ font-size:1.25rem; font-weight:800; color: var(--fg); margin-bottom: .75rem; letter-spacing:-.015em; }

    .card-img{ width:100%; height:16rem; object-fit:cover; border-radius:.75rem; transition: transform .25s ease; }
    .card-img:hover{ transform: translateY(-2px) scale(1.01); }
    .thumb{ height:8rem; }
    .thumb-lg{ height:12rem; }
    .ratio-16x9{ aspect-ratio: 16/9; }

    .title-link{ color: var(--fg); text-decoration:none; }
    .title-link:hover{ color: var(--accent); }

    /* Ad blocks: فاصله قطعی بالا و پایین */
    .ad-card{ background: var(--card); border:1px solid var(--card-border); border-radius:.75rem; padding:1.25rem; box-shadow: 0 1px 0 rgba(255,255,255,.06), 0 16px 40px -28px rgba(0,0,0,.45); margin-block: 2.5rem; }
    .ad-box{ background: color-mix(in oklab, var(--card) 75%, transparent); border:1px dashed var(--card-border); border-radius:.75rem; min-height:8rem; color: var(--muted); display:flex; align-items:center; justify-content:center; padding:.5rem; }
    .grid + .ad-card{ margin-top: 3rem !important; }
    .ad-card + .grid{ margin-top: 3rem !important; }

    .meta{ color: var(--muted); font-size:.85rem; }
    .inverted-radius{ border-radius: 18px 18px 28px 28px / 18px 18px 10px 10px; }