/* Typography & base reset — shared across all pages */
:root {
    --font-body: 'Vazirmatn', 'Vazir', 'Segoe UI', Tahoma, sans-serif;
    --font-heading: 'Vazirmatn', 'Vazir', sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

html,
body {
    font-family: var(--font-body);
    direction: rtl;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-synthesis: none;
}

body {
    margin: 0;
    line-height: 1.75;
    color: #1e293b;
    min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.55;
}

a {
    text-decoration: none;
    color: inherit;
}

button,
input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
}

/* Persian numerals — same face as body text, no fallback drift */
.font-num,
.product-price-block .price-value,
.product-price,
.product-related-card .price,
.product-specs-table td,
.product-views-note,
.top-bar-contact span,
.shop-price,
.spec-num {
    font-family: var(--font-body);
    font-variant-numeric: proportional-nums;
    font-feature-settings: 'kern' 1, 'liga' 1;
    letter-spacing: 0;
}

.contact-ltr {
    direction: ltr;
    unicode-bidi: isolate;
    display: inline-block;
}

.product-name-ltr {
    direction: ltr;
    unicode-bidi: isolate;
    display: inline-block;
    white-space: nowrap;
}

a[href^="tel:"] .contact-ltr,
.footer-contact-item a[href^="tel:"],
.contact-info-body a[href^="tel:"] {
    direction: ltr;
    unicode-bidi: isolate;
}
