/* Arabic localization only: preserve existing physical layout and media. */
@font-face {
  font-family: 'Local Arabic Sans';
  src: url('fonts/NotoSansArabic-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Local Arabic Serif';
  src: url('fonts/NotoNaskhArabic-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
html[dir='rtl'] {
  --sans: 'Local Arabic Sans', Tahoma, 'Segoe UI', Arial, sans-serif;
  --serif: 'Local Arabic Serif', 'Local Arabic Sans', Tahoma, serif;
}
html[dir='rtl'] body,
html[dir='rtl'] button,
html[dir='rtl'] textarea { font-family: var(--sans); }
/* Arabic letter shaping must not inherit spaced-out Latin/CJK tracking. */
html[dir='rtl'] body * { letter-spacing: 0 !important; }
html[dir='rtl'] h1,
html[dir='rtl'] h2,
html[dir='rtl'] h3 { font-family: var(--serif); }

/* Keep columns, navigation locations and all six gifts in their original order. */
html[dir='rtl'] :is(
  .utility-inner, .utility-links, .header-inner, .main-nav, .brand,
  .campaign-layout, .hero-title-group, .hero-gift-grid, .gift-detail-grid,
  .app-feature-grid, .claim-steps, .service-links, .cathedral-layout,
  .news-layout, .heading-row, .prayer-layout, .visit-layout,
  .app-strip-inner, .footer-top, .footer-bottom, .hero-video-controls,
  .history-timeline, .story-meta, .calendar-title, .prayer-form-bottom
) { direction: ltr; }
html[dir='rtl'] :is(
  .campaign-copy, .hero-title-copy, .hero-sacred-portrait, .hero-gift-board,
  .hero-gift, .gift-detail, .app-feature-card, .claim-steps > article,
  .service-links > a, .cathedral-copy, .cathedral-figure figcaption,
  .lead-story, .news-side, .heading-row > *, .prayer-copy, .prayer-form,
  .visit-layout > *, .app-strip-inner > *, .footer-top > *,
  .footer-bottom > *, .main-nav > a, .utility-inner > a,
  .utility-links > *, .hero-video-controls > button,
  .history-timeline > div, .story-meta > *, .calendar-title > *,
  .prayer-form-bottom > *
) { direction: rtl; }
html[dir='rtl'] .brand { direction: ltr; }
html[dir='rtl'] .brand > span:not(.brand-cross) { direction: rtl; text-align: right; }
html[dir='rtl'] .brand small { font-family: var(--sans); unicode-bidi: plaintext; line-height: 1.7; }
html[dir='rtl'] .hero-title-copy { text-align: right; }
html[dir='rtl'] :is(time, #prayerCount, #year, .history-timeline strong) {
  direction: ltr;
  unicode-bidi: isolate;
}
html[dir='rtl'] textarea { direction: rtl; text-align: right; }
html[dir='rtl'] .service-arrow { margin-left: 0; margin-right: auto; }
html[dir='rtl'] svg.icon:has(use[href='#i-arrow']) { transform: scaleX(-1); }
html[dir='rtl'] .hero-video-status { line-height: 1.75; }
html[dir='rtl'] .hero-video-controls > button { line-height: 1.6; }
html[dir='rtl'] .hero-gift > span { line-height: 1.7; }
html[dir='rtl'] .campaign-mobile-actions > a { direction: ltr; }
html[dir='rtl'] .campaign-mobile-actions > a > span:first-of-type { direction: rtl; }
html[dir='rtl'] .section-heading.centered { text-align: center; }
@media (max-width: 1000px) {
  html[dir='rtl'] .hero-title-copy { text-align: center; }
}
@media (max-width: 600px) {
  html[dir='rtl'] .brand strong { font-size: 20px; }
  html[dir='rtl'] .brand small { font-size: 7px; }
  html[dir='rtl'] .campaign-mobile-actions > a { font-size: 12px; }
  html[dir='rtl'] .main-nav > a { text-align: center; }
}
@media (max-width: 350px) {
  html[dir='rtl'] .campaign-mobile-actions > a { font-size: 11px; }
}
