.font-sora {
    font-family: 'Sora', sans-serif;
}

.font-vazirmatn {
    font-family: 'Vazirmatn', sans-serif;
}

[dir="rtl"] .space-x-6 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-4 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-8 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-3 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-2 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 1;
}

[dir="rtl"] .ml-auto { margin-left: 0; margin-right: auto; }
[dir="rtl"] .mr-auto { margin-right: 0; margin-left: auto; }
[dir="rtl"] .text-left { text-align: right; }
[dir="rtl"] .text-right { text-align: left; }

.prose h2 { font-size: 1.5rem; font-weight: 600; margin-top: 2rem; margin-bottom: 1rem; }
.prose h3 { font-size: 1.25rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.75rem; }
.prose p { margin-bottom: 1rem; line-height: 1.75; }
.prose ul, .prose ol { margin-bottom: 1rem; padding-inline-start: 1.5rem; }
.prose li { margin-bottom: 0.5rem; }
.prose a { color: #2563EB; text-decoration: underline; }
.prose strong { font-weight: 600; }
.prose blockquote { border-inline-start: 4px solid #e5e7eb; padding-inline-start: 1rem; color: #6b7280; font-style: italic; }
.prose code { background: #f3f4f6; padding: 0.125rem 0.375rem; border-radius: 0.25rem; font-size: 0.875rem; }
.prose pre { background: #1e293b; color: #e2e8f0; padding: 1rem; border-radius: 0.5rem; overflow-x: auto; margin-bottom: 1rem; }
.prose pre code { background: transparent; padding: 0; }

/* Newsletter block responsive layout */
.cs-newsletter-row {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}
.cs-newsletter-row input,
.cs-newsletter-row button {
    width: 100%;
}
@media (min-width: 640px) {
    .cs-newsletter-row {
        flex-direction: row;
    }
    .cs-newsletter-row input {
        flex: 1;
        width: auto;
    }
    .cs-newsletter-row button {
        width: auto;
        white-space: nowrap;
    }
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
