/* Samin Holding additions to "The Card": fonts, Persian (RTL) mirroring, company plates. */

/* ---------- fonts ---------- */
/* Vazirmatn everywhere, in both languages (self-hosted: assets/fonts/vazirmatn) */
.br-fonts { --font-br-display: "Vazirmatn"; --font-br-caps: "Vazirmatn"; --font-br-body: "Vazirmatn"; --font-br-mono: "Vazirmatn"; }

/* Persian is cursive: no tracking, no faux italics */
.br-root[data-lang="fa"], .br-root[data-lang="fa"] *, .br-menuSheet:lang(fa), .br-menuSheet:lang(fa) * { letter-spacing: 0 !important; font-style: normal !important; }
.br-root[data-lang="fa"] { font-size: 15.5px; line-height: 1.95; }
.br-root[data-lang="fa"] .br-practiceSummary,
.br-root[data-lang="fa"] .br-heroStand,
.br-root[data-lang="fa"] .br-boardLead { line-height: 2; }
.br-root[data-lang="fa"] .br-heroStatement { font-weight: 600; line-height: 1.25; }
.br-root[data-lang="fa"] .br-sectionTitle,
.br-root[data-lang="fa"] .br-boardTitle { font-weight: 600; line-height: 1.3; }
.br-root[data-lang="fa"] .br-practiceTitle,
.br-root[data-lang="fa"] .pb-title,
.br-root[data-lang="fa"] .br-ledgerLabel,
.br-root[data-lang="fa"] .br-honoursHead { font-weight: 600; }
.br-root[data-lang="fa"] .br-cardName { font-family: var(--br-display); font-size: min(clamp(22px, 8vw, 54px), 9cqi); font-weight: 700; line-height: 1.1; }
.br-root[data-lang="fa"] .br-referenceQuote,
.br-root[data-lang="fa"] .pb-pull blockquote { font-family: var(--br-display); font-size: 1.32em; line-height: 1.6; }
.br-root[data-lang="fa"] .br-bookText,
.br-root[data-lang="fa"] .br-bookNarration { line-height: 1.9; }
.br-root[data-lang="fa"] .br-eyebrow,
.br-root[data-lang="fa"] .br-sectionIndex,
.br-root[data-lang="fa"] .br-practiceOutcome,
.br-root[data-lang="fa"] .br-practiceDiscipline,
.br-root[data-lang="fa"] .pb-kicker,
.br-root[data-lang="fa"] .br-ledgerNote,
.br-root[data-lang="fa"] .br-cardCorner,
.br-root[data-lang="fa"] .br-cardTitle,
.br-root[data-lang="fa"] .br-cardFoot { font-size: max(11.5px, 1em * .78); }

/* the monogram glyph */
.sm-monoGlyph { font-family: var(--br-display); font-size: 30px; font-weight: 500; }
.br-root[data-lang="fa"] .sm-monoGlyph { font-size: 32px; font-weight: 700; }
.sm-badgeText { font-family: var(--br-display); font-size: 17px; font-weight: 600; }
.br-root[data-lang="fa"] .sm-badgeText { font-size: 19px; font-weight: 700; }

/* language link keeps its own script's look */
.sm-langLink:lang(fa) { letter-spacing: 0; }

/* ---------- new content pieces ---------- */
.sm-summary { color: var(--br-graphite); margin: 14px 0 0; font-size: 15.5px; line-height: 1.7; max-width: 52ch; }
.sm-practiceField { display: block; margin: -4px 0 12px; font-family: var(--br-mono); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--br-oxblood); }
.br-root[data-lang="fa"] .sm-practiceField { font-size: 13px; font-weight: 500; }
.sm-rowPlate { display: block; width: min(100%, 300px); margin-bottom: 8px; }
.sm-rowPlate .pb-mount { display: block; }
.sm-rowShot { display: block; position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--br-bone-deep); }
.sm-rowImg { transition: transform 1.1s var(--br-out), filter .6s var(--br-out); filter: saturate(.86) contrast(1.02); }
@media (hover: hover) and (pointer: fine) {
  .br-practiceRow:hover .sm-rowImg { transform: scale(1.04); filter: saturate(1) contrast(1.04); }
}
.sm-honourThumb { width: 56px; height: 36px; object-fit: cover; display: block; box-shadow: 0 0 0 1px var(--br-line), 0 6px 12px -8px #16141299; }
.sm-badge { display: block; margin-inline: auto; }

/* ---------- right-to-left mirroring ---------- */
[dir="rtl"] .br-eyebrowRule,
[dir="rtl"] .br-rule,
[dir="rtl"] .br-cardRule,
[dir="rtl"] .br-scrollCueRule,
[dir="rtl"] .br-bookAcross,
[dir="rtl"] .br-ledgerLeader,
[dir="rtl"] .br-honourRule,
[dir="rtl"] .br-honoursList > .br-honour:last-child:after,
[dir="rtl"] .br-bookEntryRule,
[dir="rtl"] .br-headRule,
[dir="rtl"] .br-practiceRow:after { transform-origin: 100%; }
[dir="rtl"] .br-underline:after, [dir="rtl"] .br-navLink:after, [dir="rtl"] .br-menuEmail:after { transform-origin: 0; }
[dir="rtl"] .br-underline:hover:after, [dir="rtl"] .br-navLink:hover:after, [dir="rtl"] .br-navLink:focus-visible:after,
[dir="rtl"] .br-menuEmail:hover:after { transform-origin: 100%; }

[dir="rtl"] .br-placeholderTag { margin-left: 0; margin-right: 10px; }
[dir="rtl"] .br-navToggleRules span:last-child { margin-left: 0; margin-right: auto; }

/* ledger table */
[dir="rtl"] .br-bookTable, [dir="rtl"] .br-bookCaption { text-align: right; }
[dir="rtl"] .br-bookColAmt, [dir="rtl"] .br-bookAmt, [dir="rtl"] .br-bookTotalAmt { text-align: left; }
[dir="rtl"] .br-bookColAmt, [dir="rtl"] .br-bookColParticulars, [dir="rtl"] .br-bookParticulars,
[dir="rtl"] .br-bookAmt, [dir="rtl"] .br-bookNarration, [dir="rtl"] .br-bookTotalAmt {
  border-right: 1px solid var(--br-line); border-left: 0;
}
[dir="rtl"] .br-bookColAmt { padding-left: 0; padding-right: 10px; }
[dir="rtl"] .br-bookTable thead .br-bookColAmt { padding-right: 10px; padding-left: var(--br-amt-pad); }
[dir="rtl"] .br-bookColParticulars { padding-left: 0; padding-right: clamp(10px, 1.4vw, 18px); }
[dir="rtl"] .br-bookLineCr .br-bookParticulars { padding-left: 0; padding-right: clamp(24px, 4vw, 52px); }
[dir="rtl"] .br-bookTo, [dir="rtl"] .br-bookTag { margin-right: 0; margin-left: 10px; }
[dir="rtl"] .br-bookTie, [dir="rtl"] .br-bookTie:before, [dir="rtl"] .br-bookTie:after { left: auto; right: 0; }
[dir="rtl"] .br-bookTotalLabel { text-align: left; }
[dir="rtl"] .br-bookEntry { border-left: 0; border-right: 1px solid #0000; }
@media (max-width: 720px) {
  [dir="rtl"] .br-bookFolio, [dir="rtl"] .br-bookParticulars, [dir="rtl"] .br-bookAmt, [dir="rtl"] .br-bookNarration, [dir="rtl"] .br-bookTotalAmt { border-right: 0; }
  [dir="rtl"] .br-bookEntry { border-right: 1px solid var(--br-line); }
  [dir="rtl"] .br-bookEntry:hover, [dir="rtl"] .br-bookEntry:focus-within { border-right-color: var(--br-oxblood); }
  [dir="rtl"] .br-bookTotalLabel { text-align: right; }
}

/* honours / status */
[dir="rtl"] .br-honoursHead { padding-right: 0; padding-left: clamp(46px, 5.2vw, 66px); }
[dir="rtl"] .br-sealLarge { right: auto; left: clamp(18px, 2.2vw, 26px); }
[dir="rtl"] .br-honourStanding { text-align: left; }
[dir="rtl"] .br-honour:hover .br-honourText { transform: translate(-5px); }

/* references: the folded corner moves to the leading edge */
[dir="rtl"] .br-reference:after { right: auto; left: 0; transform: scaleX(-1); }

/* numbers read left to right in Persian too: keep each counter's digit columns in order */
[dir="rtl"] .br-drum { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .br-bookTotalLabel { padding-left: 18px; }

/* the ticker tape keeps running the same way */
[dir="rtl"] .br-tape { direction: ltr; }
[dir="rtl"] .br-tapeItem { direction: rtl; }

/* ---------- links to company pages ---------- */
.sm-linked { position: relative; }
.sm-stretch { color: inherit; text-decoration: none; }
.sm-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.sm-stretch:focus-visible { outline: none; }
.sm-linked:has(.sm-stretch:focus-visible) { outline: 2px solid var(--br-oxblood); outline-offset: 4px; }
.sm-titleLink { color: inherit; text-decoration: none; transition: color .4s var(--br-out); }
.sm-titleLink:hover, .sm-titleLink:focus-visible { color: var(--br-oxblood); }
.sm-rowLink { display: inline-flex; margin-top: 16px; }
a.sm-rowPlate { text-decoration: none; }
.sm-others .br-honoursList { margin-top: 0; }
.sm-others .br-honour { cursor: pointer; }

/* coming-soon state on a company card */
.sm-tagSoon { color: var(--br-graphite); border-color: var(--br-line-strong); }
.sm-tagSoon .pb-tagDot { background: var(--br-graphite); }
.sm-outSoon { cursor: default; opacity: .75; }

/* company hero: the slogan line sits under the name, smaller */
.sm-companyStatement .br-heroStatementLine + .br-heroStatementLine { font-size: .62em; line-height: 1.35; margin-top: .3em; color: var(--br-graphite); }
.br-root[data-lang="fa"] .sm-companyStatement .br-heroStatementLine + .br-heroStatementLine { font-weight: 500; }

/* ---------- top menu: larger type than the original ---------- */
.br-navLink { font-size: 11.5px; }
.br-navCta, .br-navToggle { font-size: 11px; }
.br-brandWord { font-size: 12.5px; }
.br-root[data-lang="fa"] .br-navLink { font-size: 14px; font-weight: 500; }
.br-root[data-lang="fa"] .br-navCta, .br-root[data-lang="fa"] .br-navToggle { font-size: 13px; }
.br-root[data-lang="fa"] .br-brandWord { font-size: 15px; font-weight: 700; }
