/* ==========================================================================
   FT Grid 1 — RTL Overrides for Arabic
   ========================================================================== */

/* Arabic typography scale */
html:lang(ar),
.sk-archive-layout:lang(ar),
.sk-post-card:lang(ar),
.sk-post-hero__title:lang(ar),
.sk-rich-text:lang(ar),
.sk-single--book:lang(ar) {
    --sk-body-size: calc(16px + var(--sk-arabic-font-bump));
    --sk-nav-size: calc(13px + var(--sk-arabic-font-bump));
    --sk-card-title-size: calc(15px + var(--sk-arabic-font-bump));
    --sk-card-excerpt-size: calc(14px + var(--sk-arabic-font-bump));
    --sk-h1-size: calc(30px + var(--sk-arabic-font-bump));
    --sk-h1-single-size: clamp(
        calc(30px + var(--sk-arabic-font-bump)),
        calc(4vw + var(--sk-arabic-font-bump)),
        calc(62px + var(--sk-arabic-font-bump))
    );
    --sk-h2-size: clamp(
        calc(32px + var(--sk-arabic-font-bump)),
        calc(4vw + var(--sk-arabic-font-bump)),
        calc(48px + var(--sk-arabic-font-bump))
    );
    --sk-h3-size: calc(20px + var(--sk-arabic-font-bump));
    --sk-footer-heading-size: calc(15px + var(--sk-arabic-font-bump));
    --sk-label-size: calc(11px + var(--sk-arabic-font-bump));
    --sk-ticker-size: calc(12px + var(--sk-arabic-font-bump));
}

.sk-home[lang="ar"] .sk-home-hero__subtitle {
    font-size: 18px;
}

.sk-home[lang="ar"] .sk-home-hero__subtitle p:first-child {
    font-size: 27px;
}

html:lang(ar) .sk-archive-layout:lang(en),
html:lang(ar) .sk-archive-layout:lang(fr),
html:lang(ar) .sk-post-card:lang(en),
html:lang(ar) .sk-post-card:lang(fr),
html:lang(ar) .sk-post-hero__title:lang(en),
html:lang(ar) .sk-post-hero__title:lang(fr),
html:lang(ar) .sk-rich-text:lang(en),
html:lang(ar) .sk-rich-text:lang(fr),
html:lang(ar) .sk-single--book:lang(en),
html:lang(ar) .sk-single--book:lang(fr) {
    --sk-body-size: 16px;
    --sk-nav-size: 13px;
    --sk-card-title-size: 15px;
    --sk-card-excerpt-size: 14px;
    --sk-h1-size: 30px;
    --sk-h1-single-size: clamp(35px, 4.5vw, 67px);
    --sk-h2-size: clamp(32px, 4vw, 48px);
    --sk-h3-size: 20px;
    --sk-footer-heading-size: 15px;
    --sk-label-size: 11px;
    --sk-ticker-size: 12px;
}

/* Arabic font swap for document-level RTL */
html[dir="rtl"] body,
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4,
html[dir="rtl"] h5,
html[dir="rtl"] h6 {
    font-family: var(--sk-font-arabic);
}

/* Mono elements in Arabic context — use IBM Plex Sans Arabic */
html[dir="rtl"] .sk-mono,
html[dir="rtl"] .sk-nav__link,
html[dir="rtl"] .sk-badge,
html[dir="rtl"] .sk-label,
html[dir="rtl"] .sk-archive-tab {
    font-family: var(--sk-font-arabic);
}

/* Arabic interface: all cards use RTL layout (badges right, save left) */
html[dir="rtl"] .sk-post-card {
    direction: rtl;
}

/* Per-card RTL in mixed-language grids */
[dir="rtl"].sk-post-card {
    font-family: var(--sk-font-arabic);
}

.sk-post-card:lang(ar) .sk-post-card__title {
    font-family: var(--sk-font-arabic);
    font-size: var(--sk-card-title-size);
    line-height: 1.6;
    text-transform: none;
}

.sk-post-card__title:lang(ar) {
    font-family: var(--sk-font-arabic);
    font-size: var(--sk-card-title-size);
    line-height: 1.6;
    text-transform: none;
}

.sk-post-card:lang(ar) .sk-post-card__badges .sk-badge {
    font-size: 11px;
}

.sk-post-card:lang(ar) .sk-post-card__year {
    font-size: 11px;
}

.sk-post-card:lang(ar) .sk-post-card__teaser {
    line-height: 1.45;
}

.sk-post-card__teaser:lang(ar) {
    line-height: 1.45;
}

.sk-post-card:lang(ar) .sk-post-card__venue {
    font-size: calc(12px + var(--sk-arabic-font-bump));
}

.sk-post-card__venue:lang(ar) {
    font-size: calc(12px + var(--sk-arabic-font-bump));
}

.sk-post-card--multimedia:lang(ar) .sk-post-card__title {
    font-size: calc(var(--sk-card-title-size) + 2px);
}

/* Non-Arabic cards on Arabic interface: keep LTR direction but right-align */
html[dir="rtl"] .sk-post-card:lang(en),
html[dir="rtl"] .sk-post-card:lang(fr),
html[dir="rtl"] .sk-post-card[dir="ltr"] {
    text-align: right;
}

html[dir="rtl"] .sk-post-card:lang(en) .sk-post-card__body,
html[dir="rtl"] .sk-post-card:lang(fr) .sk-post-card__body,
html[dir="rtl"] .sk-post-card[dir="ltr"] .sk-post-card__body {
    text-align: right;
}

/* Arabic interface: force right-align on all card text, even elements with dir="ltr" */
html[dir="rtl"] .sk-post-card__title,
html[dir="rtl"] .sk-post-card__venue,
html[dir="rtl"] .sk-post-card__teaser {
    text-align: right;
}

html[dir="rtl"] .sk-post-card:lang(en) .sk-post-card__title,
html[dir="rtl"] .sk-post-card:lang(fr) .sk-post-card__title {
    font-family: var(--sk-font-mono);
}

/* Single post RTL */
html[dir="rtl"] .sk-post-context__back {
    flex-direction: row-reverse;
}

html[dir="rtl"] .sk-post-context__arrow {
    transform: scaleX(-1);
}

html[dir="rtl"] .sk-multimedia-nav__arrow {
    transform: scaleX(-1);
    display: inline-block;
}

.sk-post-hero__h1:lang(ar) {
    font-family: var(--sk-font-arabic);
    font-size: calc(var(--sk-h1-single-size) - 8px);
    line-height: 1.25;
}

.sk-post-hero__h1-original:lang(ar) {
    font-family: var(--sk-font-arabic);
    line-height: 1.4;
}

.sk-post-hero__deck:lang(ar) {
    font-family: var(--sk-font-arabic);
    line-height: 1.8;
}

html[dir="rtl"] .sk-post-hero__h1:lang(en),
html[dir="rtl"] .sk-post-hero__h1:lang(fr) {
    font-family: var(--sk-font-body);
}

.sk-rich-text:lang(ar) {
    font-family: var(--sk-font-arabic);
    line-height: 2;
}

html[dir="rtl"] .sk-rich-text:lang(en),
html[dir="rtl"] .sk-rich-text:lang(fr) {
    font-family: var(--sk-font-body);
}

.sk-rich-text:lang(ar) h2,
.sk-rich-text:lang(ar) h3 {
    font-family: var(--sk-font-arabic);
}

.sk-rich-text:lang(ar) figcaption {
    font-size: calc(13px + var(--sk-arabic-font-bump));
}

.sk-archive-content[data-view="table"] .sk-post-card:lang(ar) .sk-post-card__title {
    font-size: calc(13px + var(--sk-arabic-font-bump));
}

.sk-archive-content[data-view="table"] .sk-post-card:lang(ar) .sk-post-card__venue {
    font-size: calc(11px + var(--sk-arabic-font-bump));
}

/* Glossary Arabic strings inside mixed-language screens */
.sk-glossary-col--ar[dir="rtl"] {
    font-size: calc(15px + var(--sk-arabic-font-bump));
}

.sk-glossary-detail__arabic[dir="rtl"] {
    font-size: calc(32px + var(--sk-arabic-font-bump));
}

.sk-glossary-detail__desc[dir="rtl"] {
    font-size: calc(15px + var(--sk-arabic-font-bump));
}

.sk-glossary-detail__aliases [dir="rtl"] {
    font-size: calc(1em + var(--sk-arabic-font-bump));
}

.sk-editorial-glossary-card__title[dir="rtl"] {
    font-size: calc(24px + var(--sk-arabic-font-bump));
}

.sk-editorial-glossary-detail__title[dir="rtl"] {
    font-size: clamp(
        calc(34px + var(--sk-arabic-font-bump)),
        calc(3.3vw + var(--sk-arabic-font-bump)),
        calc(48px + var(--sk-arabic-font-bump))
    );
}

.sk-editorial-glossary-detail__arabic {
    font-size: calc(24px + var(--sk-arabic-font-bump));
}

.sk-editorial-glossary-detail__translation-value[dir="rtl"] {
    font-size: calc(1em + var(--sk-arabic-font-bump));
}

.sk-glossary-atlas-dossier__route-title[dir="rtl"] {
    font-size: calc(15px + var(--sk-arabic-font-bump));
}

.sk-glossary-atlas-network__title[dir="rtl"] {
    font-size: calc(20px + var(--sk-arabic-font-bump));
}

/* Ticker reverses direction for RTL */
html[dir="rtl"] .sk-ticker__track {
    animation-direction: reverse;
}

/* Explore header logo fill must extend toward the outer edge in RTL. */
html[dir="rtl"] .sk-header--explore .sk-header__logo {
    box-shadow: var(--sk-padding-md) 0 0 0 var(--sk-white);
}

/* Book detail: adjust titles on Arabic interface */
html[dir="rtl"] .sk-book-detail__title {
    font-size: clamp(18px, 2vw, 24px);
}
html[dir="rtl"] .sk-book-detail__title-alt {
    font-size: clamp(20px, 3vw, 32px);
}

/* Single-page detail rows: increase Arabic metadata typography by ~2px */
html[dir="rtl"] .single .sk-post-meta-item .sk-label,
html[dir="rtl"] .single-ft_book .sk-post-meta-item .sk-label,
html[dir="rtl"] .single-ft_multimedia .sk-post-meta-item .sk-label {
    font-size: 11px;
}

html[dir="rtl"] .single .sk-post-meta-item .sk-mono,
html[dir="rtl"] .single .sk-post-meta-version,
html[dir="rtl"] .single-ft_book .sk-post-meta-item .sk-mono,
html[dir="rtl"] .single-ft_multimedia .sk-post-meta-item .sk-mono {
    font-size: 13px;
}

html[dir="rtl"] .single .sk-post-meta-item .sk-badge,
html[dir="rtl"] .single-ft_book .sk-post-meta-item .sk-badge,
html[dir="rtl"] .single-ft_multimedia .sk-post-meta-item .sk-badge {
    font-size: 14px;
}

html[dir="rtl"] .single .sk-post-meta-links,
html[dir="rtl"] .single-ft_book .sk-post-meta-links,
html[dir="rtl"] .single-ft_multimedia .sk-post-meta-links {
    font-size: 12px;
}

/* Book chapters: bump Arabic font sizes by ~2px */
html[dir="rtl"] .sk-book-chapters__intro {
    font-size: 1.075rem;
}
html[dir="rtl"] .sk-book-chapter__summary p {
    font-size: 0.9375rem;
}
html[dir="rtl"] .sk-book-chapter__sections li {
    font-size: 0.9375rem;
}

/* Decades timeline: in RTL the trigger is already on the left,
   so use normal row direction (pills expand to the right). */
html[dir="rtl"] [data-decade-style="timeline"] {
    flex-direction: row;
}

html[dir="rtl"] [data-decade-style="timeline"] .sk-decade-pill:first-child::before {
    content: "› ";
}

html[dir="rtl"] [data-decade-style="timeline"].is-expanded .sk-decade-pill:first-child::before {
    content: "‹ ";
}

html[dir="rtl"] [data-decade-style="timeline"] .sk-decade-pill:not(:first-child)::before {
    left: auto;
    right: 100%;
}

/* Archive + footer grids: CSS Grid mirrors automatically in RTL.
   grid-template-columns flows right-to-left, placing the sidebar
   on the right and content on the left — no overrides needed. */

/* Home content-type chip titles: +2px for Arabic */
html[dir="rtl"] .sk-home-content-types__grid .sk-home-theme-chip__name {
    font-size: 16px;
}

/* Content type pill buttons: bump font size for Arabic (+4px) */
html[dir="rtl"] .sk-facet__list a {
    font-size: calc(var(--sk-label-size) + 4px) !important;
}

html[dir="rtl"] .sk-archive-pill {
    font-size: 16px;
}

html[dir="rtl"] .sk-theme-pill {
    font-size: 16px;
}

/* FacetWP dropdown facets: +4px for Arabic */
html[dir="rtl"] .facetwp-facet .fs-label,
html[dir="rtl"] .facetwp-facet .fs-option,
html[dir="rtl"] .facetwp-facet .facetwp-dropdown {
    font-size: 16px;
}

html[dir="rtl"] .sk-sort-pill {
    font-size: 12px;
}

/* Main navigation + logo: Arabic */
html[dir="rtl"] .sk-nav__link,
html[dir="rtl"] .sk-nav > .menu-item > a {
    font-size: 22px;
}

html[dir="rtl"] .sk-logo__text {
    font-size: 24px;
}

/* Themes sidebar radio buttons: bump font size for Arabic (+4pt) */
html[dir="rtl"] .facetwp-facet-themes .facetwp-radio {
    font-size: calc(12px + 4pt);
}

/* Multimedia single: bump Arabic sidebar metadata font sizes +2px */
.sk-single--multimedia .sk-post-hero__meta .sk-label:lang(ar),
.sk-single--multimedia .sk-post-hero__meta[lang="ar"] .sk-label {
    font-size: 11px;
}

.sk-single--multimedia .sk-post-hero__meta .sk-mono:lang(ar),
.sk-single--multimedia .sk-post-hero__meta[lang="ar"] .sk-mono {
    font-size: 13px;
}

.sk-single--multimedia .sk-post-hero__meta .sk-badge:lang(ar),
.sk-single--multimedia .sk-post-hero__meta[lang="ar"] .sk-badge {
    font-size: 14px;
}

.sk-single--multimedia .sk-post-hero__meta .sk-post-meta-links:lang(ar),
.sk-single--multimedia .sk-post-hero__meta[lang="ar"] .sk-post-meta-links {
    font-size: 12px;
}

/* Facet dropdown options — larger Arabic text */
html[lang="ar"] .facetwp-facet .fs-dropdown .fs-option {
    font-size: 13px;
}

html[lang="ar"] .sk-archive-filters--explore .sk-toolbar-facet .fs-label,
html[lang="ar"] .sk-archive-filters--explore .sk-toolbar-facet .facetwp-dropdown {
    font-size: 12px;
}

html[lang="ar"] .facetwp-facet .facetwp-dropdown {
    font-size: 14px;
}

/* ── Books archive: Arabic font-size bumps ── */

html[lang="ar"] .sk-books-filter {
    font-size: 18px;
}

html[lang="ar"] .sk-book-group__label .sk-label {
    font-size: 20px;
}

html[lang="ar"] .sk-post-card__badges .sk-badge,
html[lang="ar"] .sk-post-card__year {
    font-size: 14px;
}
