/* EN-248 (D-223 §3) — OUR additive Arabic/RTL layer for the user's real site
   themes. The delivered themes are English-LTR with physical CSS properties and
   Latin display fonts; their own `style.css` is copied into each theme folder
   BYTE-IDENTICAL so a re-delivery can be re-synced with a diff — every Arabic
   fix lives here instead. The nine themes share one structural stylesheet, so
   one overlay serves them all. Load AFTER the theme's style.css. */

/* ── Arabic typography ───────────────────────────────────────────────
   The themes lean on wide letter-spacing + uppercase for their editorial
   look. Arabic script is CONNECTED: tracking literally breaks words apart,
   and uppercase is a no-op. Keep the Latin wordmark's spacing (it is set on
   .theme-brand / .masthead__brand), drop it everywhere text is content. */
/* EN-261 (D-231) — the Arabic pair is PER THEME now: each theme's font css
   declares --ar-font-head/--ar-font-body (ten distinct display faces), and
   the old shared pair stays as the fallback. */
body {
  font-family: var(--ar-font-body, 'IBM Plex Sans Arabic'), var(--font-body);
}
h1, h2, h3, h4,
.theme-hero-title, .theme-section-title, .theme-dress-name,
.collection-card__title, .dress-card__name, .branch-card__name,
.testimonial-card__quote, .cta-section__title, .value-card__title,
.booking-form__title, .contact-form__title, .whatsapp-banner__title,
.index-hero__title, .stat__value, .process-step__number {
  font-family: var(--ar-font-head, Amiri), var(--font-head);
  letter-spacing: 0;
}
.theme-eyebrow, .theme-nav-link, .theme-btn, .dress-card__meta,
.dress-card__status, .collection-card__label, .collection-card__link,
.testimonial-card__who, .stat__label, .journey-step__number,
.catalog-filters__label, .form-field label, .theme-footer__heading,
.hero-section__points, .theme-footer__brand, .theme-sidebar__tagline,
.dress-card__links, .index-hero__meta, .typographic__label {
  letter-spacing: 0;
}
/* an italic Bodoni slogan turns to mush in Arabic */
.theme-footer__slogan { font-style: normal; }

/* ── Mirrored physical properties ─────────────────────────────────── */
.dress-card__status { left: auto; right: 12px; }
.dress-card--arch .dress-card__status { right: 50%; transform: translateX(50%); }
.faq-item__question { text-align: right; }
.testimonials-grid--rows .testimonial-card__who { text-align: left; }
.testimonials-grid--bars .testimonial-card {
  border-left: none;
  border-right: 4px solid var(--accent);
  padding: 4px 20px 4px 0;
}
.typographic__label { left: auto; right: 0; }
.hero-section--typographic .hero-section__content {
  padding: 44px 0 44px 40px;
  border-right: none;
  border-left: 1px solid var(--line);
}
.index-hero__panel { padding: 36px 0 36px 32px; }
.index-hero__panel + .index-hero__panel {
  border-left: none;
  border-right: 1px solid var(--line);
  padding-left: 0;
  padding-right: 32px;
}
body.has-sidebar .theme-sidebar {
  border-right: none;
  border-left: 1px solid var(--line);
}
/* the process list's fixed 3-column grid reads right-to-left on its own,
   but its number column needs the alignment back */
.process-grid--list .process-step { text-align: right; }

/* ── Numerals and inline direction ────────────────────────────────── */
.dress-card__price, .dress-detail__price, .stat__value, .catalog-filters__count,
.theme-footer__bottom { direction: rtl; }
.dress-detail__specs dt::after { content: ' —'; }
[dir="rtl"] input[type="tel"], [dir="rtl"] .cs-ltr { direction: ltr; text-align: right; }

@media (max-width: 960px) {
  .hero-section--typographic .hero-section__content { border-left: none; padding-left: 0; }
  .index-hero__panel + .index-hero__panel { border-right: none; padding-right: 0; }
  .testimonials-grid--rows .testimonial-card__who { text-align: right; }
}
