@font-face {
    font-family: "Estedad DS";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/estedad-arabic-variable.woff2") format("woff2");
    unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
    font-family: "Estedad DS";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/estedad-latin-variable.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --ds-font-interface: "Vazirmatn DS", "Vazirmatn", Tahoma, Arial, sans-serif;
    --ds-font-display: "Estedad DS", "Vazirmatn DS", Tahoma, Arial, sans-serif;
    --ds-font-technical: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --ds-font: var(--ds-font-interface);
    --ds-display: var(--ds-font-display);
    --ds-mono: var(--ds-font-technical);
    --ds-radius-sm: 8px;
    --ds-radius-md: 14px;
    --ds-radius-lg: 22px;
    --ds-shadow-soft: 0 18px 55px rgba(6, 19, 31, 0.08);
}

body.ds-site-theme {
    font-family: var(--ds-font-interface);
    font-weight: 430;
    line-height: 1.88;
    text-rendering: optimizeLegibility;
}

body.ds-site-theme :where(h1, h2, h3, h4, .ds-entry__title, .ds-brand__type strong) {
    font-family: var(--ds-font-display);
    font-variation-settings: "wght" 720;
    font-weight: 720;
    letter-spacing: -0.022em;
    text-wrap: balance;
}

body.ds-site-theme :where(p, li, dd, figcaption) {
    text-wrap: pretty;
}

body.ds-site-theme :where(code, [dir="ltr"], .ds-code-decoder strong, .ds-product-card__mpn, .ds-product-code) {
    font-family: var(--ds-font-technical);
    font-variant-numeric: tabular-nums slashed-zero;
}

.ds-eyebrow,
.ds-kicker {
    color: var(--ds-copper-deep, #a85834);
    font-family: var(--ds-font-display);
    font-size: 13px;
    font-weight: 660;
    letter-spacing: 0;
    line-height: 1.65;
    text-transform: none;
}

.ds-button,
.ds-text-link,
.ds-nav a {
    font-family: var(--ds-font-interface);
}

.ds-button {
    min-height: 48px;
    padding-inline: 21px;
    border-radius: var(--ds-radius-sm);
    font-size: 14px;
    font-weight: 720;
}

.ds-button--compact {
    min-height: 44px;
}

.ds-header {
    height: 82px;
}

.ds-nav a {
    font-size: 14px;
    font-weight: 560;
}

.ds-brand__type strong {
    font-size: 19px;
}

.ds-brand__type small {
    font-size: 12px;
    font-weight: 430;
}

.ds-home h1 {
    font-size: clamp(42px, 5vw, 66px);
    font-weight: 760;
    line-height: 1.24;
}

.ds-home h2,
.ds-section-heading h2 {
    font-weight: 720;
    line-height: 1.38;
}

.ds-hero__lead {
    max-width: 58ch;
    font-size: 18px;
    line-height: 2;
}

.ds-search {
    border-radius: var(--ds-radius-md);
}

.ds-search input {
    min-height: 58px;
    font-size: 16px;
}

.ds-product-stage,
.ds-editorial,
.ds-rfq-form {
    border-radius: var(--ds-radius-lg);
}

.ds-registry-passport {
    display: grid;
    min-width: min(100%, 270px);
    grid-template-columns: 1fr 1fr;
    gap: 5px 18px;
    padding: 18px 20px;
    color: var(--ds-ink);
    background: var(--ds-paper);
    border: 1px solid var(--ds-line);
    border-radius: var(--ds-radius-md);
}

.ds-registry-passport strong,
.ds-registry-passport span,
.ds-registry-passport small {
    display: block;
}

.ds-registry-passport strong {
    color: var(--ds-blue-deep);
    font-family: var(--ds-font-display);
    font-size: 16px;
}

.ds-registry-passport span {
    color: var(--ds-muted);
    font-size: 13px;
}

.ds-registry-passport small {
    grid-column: 1 / -1;
    color: var(--ds-copper-text);
    font-family: var(--ds-font-technical);
    font-size: 11px;
}

.ds-brand-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.ds-brand-card {
    min-height: 184px;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto 1fr auto;
    padding: 20px;
    background: #fbfaf7;
    border-radius: var(--ds-radius-md);
    box-shadow: none;
}

.ds-brand-card strong {
    align-self: end;
    margin-top: 22px;
    font-family: var(--ds-font-display);
    font-size: clamp(21px, 2.1vw, 29px);
    font-weight: 760;
    letter-spacing: -0.025em;
}

.ds-brand-card > p {
    grid-column: 1 / -1;
    margin: 2px 0 16px;
    color: var(--ds-muted);
    font-size: 13px;
    line-height: 1.65;
}

.ds-brand-card small {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: end;
}

.ds-brand-card small b,
.ds-brand-card small em {
    font-size: 12px;
    font-style: normal;
    font-weight: 560;
    line-height: 1.45;
}

.ds-brand-card small b {
    color: var(--ds-blue-deep);
}

.ds-brand-card small em {
    color: var(--ds-copper-text);
    text-align: end;
}

.ds-brand-card i {
    align-self: start;
}

.ds-brand-card.has-products::after {
    position: absolute;
    inset-block-start: 18px;
    inset-inline-end: 18px;
    width: 8px;
    height: 8px;
    content: "";
    background: var(--ds-verified);
    border: 3px solid #e7f4ef;
    border-radius: 50%;
}

.ds-brand-card--successor {
    background: #f2f5f6;
}

.ds-brand-card--access_limited {
    background: #fff9f4;
}

.ds-brand-card:hover,
.ds-brand-card:focus-visible {
    box-shadow: var(--ds-shadow-soft);
    transform: translateY(-2px);
}

.ds-brand-card:hover > p,
.ds-brand-card:focus-visible > p,
.ds-brand-card:hover small b,
.ds-brand-card:focus-visible small b {
    color: #c5d3dc;
}

.ds-brand-card:hover small em,
.ds-brand-card:focus-visible small em {
    color: #efb28c;
}

.ds-brand-disclaimer {
    border-radius: var(--ds-radius-sm);
    font-size: 13px;
    line-height: 1.9;
}

.ds-family-card,
.ds-product-card,
.ds-verification-card,
.ds-evidence,
.ds-relationships__empty,
.ds-technical-nav,
.ds-empty-state {
    border-radius: var(--ds-radius-md);
}

.ds-family-card {
    min-height: 250px;
}

.ds-product-card {
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.ds-product-card:hover,
.ds-product-card:focus-within {
    box-shadow: var(--ds-shadow-soft);
    transform: translateY(-2px);
}

.ds-product-card__brand,
.ds-brand-chip {
    font-family: var(--ds-font-display);
    font-size: 13px;
    letter-spacing: 0.015em;
}

.ds-product-card__title {
    font-size: 18px;
    line-height: 1.65;
}

.ds-product-card__specs :where(dt, dd),
.ds-verification-card :where(p, dt, dd),
.ds-section-heading > p,
.ds-data-gap p,
.ds-product-caution p,
.ds-evidence__policy,
.ds-product-rfq__intro li {
    font-size: 13px;
}

.ds-product-identity h1 {
    font-size: clamp(2.6rem, 5.5vw, 5.25rem);
    font-weight: 760;
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.ds-product-identity__summary {
    font-size: 18px;
    line-height: 1.95;
}

.ds-product-code,
.ds-catalog-heading__count,
.ds-product-overview__action,
.ds-product-rfq,
.ds-catalog-assist {
    border-radius: var(--ds-radius-md);
}

.ds-product-media__primary,
.ds-product-media__missing {
    overflow: hidden;
    border-radius: var(--ds-radius-lg);
}

.ds-product-media__missing > span {
    font-size: clamp(1.4rem, 4vw, 3.2rem);
    letter-spacing: -0.04em;
}

.ds-key-specs,
.ds-full-specs,
.ds-evidence,
.ds-product-guidance,
.ds-relationships {
    margin-block: 72px;
}

.ds-key-specs__grid,
.ds-spec-table {
    overflow: hidden;
    border-radius: var(--ds-radius-md);
}

.ds-key-specs__grid dd,
.ds-spec-table td {
    font-family: var(--ds-font-interface);
    font-variant-numeric: tabular-nums;
}

.ds-product-guidance .ds-prose {
    max-width: 920px;
    font-size: 16px;
    line-height: 2.15;
}

.ds-product-rfq h2 {
    font-weight: 700;
    line-height: 1.35;
}

.ds-persistent-rfq label small {
    font-size: 12px;
    line-height: 1.6;
}

.ds-persistent-rfq .ds-honeypot {
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    pointer-events: none !important;
    white-space: nowrap !important;
}

.ds-footer__identity > p,
.ds-footer__contact,
.ds-footer__navigation {
    font-size: 13px;
}

.ds-footer .ds-button--outline {
    color: #eef4f7 !important;
    border-color: rgba(255, 255, 255, 0.38);
}

.ds-footer .ds-button--outline:hover,
.ds-footer .ds-button--outline:focus-visible {
    color: var(--ds-night) !important;
    background: #fff;
    border-color: #fff;
}

.ds-footer__bottom p:first-child {
    color: #a5b5c1;
    font-family: var(--ds-font-display);
    letter-spacing: 0;
}

/*
 * Human readability floor for the temporary SKF Catalog Route owner.
 * The plugin keeps navigation and data ownership; the Theme supplies the
 * shared type roles, touch targets and viewport geometry until retirement.
 */
body.ds-has-skf-catalog-route .ds-catalog-app {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    font-family: var(--ds-font-interface);
}

body.ds-has-skf-catalog-route .ds-catalog-app :is(h1, h2, h3, .brand strong, .footer-brand strong) {
    font-family: var(--ds-font-display);
    letter-spacing: -0.02em;
}

body.ds-has-skf-catalog-route .ds-catalog-app :is(p, li, a, button, label, legend, summary) {
    font-family: var(--ds-font-interface);
    font-size: 13px !important;
    line-height: 1.7 !important;
}

body.ds-has-skf-catalog-route .ds-catalog-app :is(span, small, dt, dd, th, td) {
    font-size: 12px !important;
    line-height: 1.6 !important;
}

body.ds-has-skf-catalog-route .ds-catalog-app :is(
    .decision-topline,
    .header-rfq,
    .decision-intents,
    .source-note,
    .guardrail,
    .worked-example__result,
    .decision-checklist,
    .decision-gates,
    .knowledge-source,
    .footer-action,
    .footer-system-state,
    .footer-assurance,
    .footer-base__row,
    .compare-tray,
    .dialog-note
) :is(b, strong) {
    font-size: 13px !important;
    line-height: 1.55 !important;
}

body.ds-has-skf-catalog-route .ds-catalog-app .lead {
    font-size: 15px !important;
}

body.ds-has-skf-catalog-route .ds-catalog-app .product-art__index span {
    font-size: 16px !important;
}

body.ds-has-skf-catalog-route .ds-catalog-app .designation-side li > span {
    font-size: 15px !important;
}

body.ds-has-skf-catalog-route .ds-catalog-app .state-pill,
body.ds-has-skf-catalog-route .ds-catalog-app .decision-checklist li::before {
    font-size: 12px !important;
}

body.ds-has-skf-catalog-route .ds-catalog-app :is(.breadcrumbs i, .footer-action i) {
    font-size: 12px !important;
    line-height: 1.6;
}

body.ds-has-skf-catalog-route .ds-catalog-app :is(
    input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([name="website"]),
    select,
    textarea
) {
    min-height: 44px;
    font-family: var(--ds-font-interface);
    font-size: 14px;
}

body.ds-has-skf-catalog-route .ds-catalog-app button {
    min-height: 44px;
}

body.ds-has-skf-catalog-route .ds-catalog-app :is(
    .catalog-commandbar .brand,
    .breadcrumbs button,
    .catalog-rail a,
    .catalog-rail button,
    .row-open,
    .filter-feedback button,
    .faq-list summary,
    .dialog-close
) {
    min-width: 44px;
    min-height: 44px;
}

body.ds-has-skf-catalog-route .ds-catalog-app :is(code, .product-art__index, .passport-top b, .series-cards button b, .selection-count b) {
    font-family: var(--ds-font-technical);
    font-variant-numeric: tabular-nums slashed-zero;
}

@media (max-width: 1180px) {
    .ds-brand-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .ds-registry-passport {
        width: 100%;
        min-width: 0;
    }

    .ds-section-heading--split {
        align-items: start;
    }
}

@media (max-width: 720px) {
    .ds-brand-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ds-brand-card {
        min-height: 172px;
    }

    .ds-product-identity h1 {
        font-size: clamp(2.25rem, 12vw, 4rem);
    }

    .ds-product-guidance .ds-prose {
        font-size: 15px;
    }
}

@media (max-width: 460px) {
    .ds-brand-grid {
        grid-template-columns: 1fr;
    }

    .ds-brand-card {
        min-height: 158px;
    }

    .ds-registry-passport {
        grid-template-columns: 1fr;
    }

    .ds-registry-passport small {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ds-brand-card,
    .ds-product-card {
        transition: none;
    }
}
