/* Magnetic tapes catalogue (template-parts/reels-catalogue.php, assets/js/reels.js). Logical properties: works in both directions. */
.rc-page { --rc-red:#b84329; --rc-shade:#e9e7df; }
.rc-page [lang="ar"] { font-family:var(--font-ar); }
.editorial:not(.lang-ar) .rc-page [lang="ar"] { font-size:1.06em; }
:where(.rc-page) button { font:inherit; color:inherit; }

/* Version switcher (shown above both the original table and the catalogue while they are compared) */
.rc-switch { --rc-red:#b84329; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 24px; margin:0 0 12px; padding:12px 16px; border-inline-start:3px solid var(--rc-red); background:#e9e7df; font-size:var(--text-small); }
.rc-switch__text { margin:0; line-height:1.5; }
.rc-switch__text span { color:var(--muted); }
.rc-switch__options { display:inline-flex; border:1px solid var(--ink); background:#fff; }
.rc-switch__options a { display:inline-flex; align-items:center; min-height:40px; padding:6px 16px; color:var(--ink); text-decoration:none; font-weight:600; }
.rc-switch__options a + a { border-inline-start:1px solid var(--ink); }
.rc-switch__options a[aria-current] { background:var(--ink); color:var(--paper); }
.rc-switch__options a:not([aria-current]):hover { background:#e9e7df; }
.lang-ar .rc-switch { font-family:var(--font-ar); }

/* Header image (5:2 on wide screens, 16:9 crop on phones via <picture>) */
.rc-hero { margin:4px 0 0; }
.rc-hero img { display:block; width:100%; height:auto; aspect-ratio:5 / 2; object-fit:cover; background:var(--rc-shade); }

/* Introduction and figures */
.rc-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,300px); gap:24px 64px; padding:28px 0 40px; border-bottom:1px solid var(--line); }
.rc-kicker { margin:0 0 14px; font-size:var(--text-small); letter-spacing:.06em; text-transform:uppercase; color:var(--rc-red); }
.lang-ar .rc-kicker { letter-spacing:0; }
.rc-intro__body { max-width:72ch; font-size:var(--text-body); line-height:1.8; }
.rc-intro__body p { margin:0 0 1em; }
.rc-credit { display:flex; align-items:center; gap:16px; margin:22px 0 0; font-size:var(--text-small); color:var(--muted); line-height:1.5; }
.rc-credit img { flex:none; width:123px; height:auto; mix-blend-mode:multiply; }
.rc-more-link { margin:16px 0 0; font-size:var(--text-small); }
.rc-more-link a { color:var(--ink); }
.rc-stats { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); align-self:start; }
.rc-stats li { padding:16px 0 18px; border-bottom:1px solid var(--line); }
.rc-stats strong { display:block; font-weight:400; font-size:clamp(40px,4vw,60px); line-height:1; letter-spacing:-.05em; color:var(--rc-red); }
.rc-stats span { display:block; margin-top:8px; font-size:var(--text-small); color:var(--muted); }

/* Controls */
.rc-app { padding-top:32px; scroll-margin-top:calc(var(--bar, 62px) + 28px); }
.rc-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:16px 20px; scroll-margin-top:calc(var(--bar, 62px) + 28px); }
.rc-controls[hidden] { display:none; }
.rc-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.rc-field--search { grid-column:1 / -1; }
.rc-field label { font-size:var(--text-small); font-weight:600; }
.rc-field input,.rc-field select { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--ink); border-radius:0; background:#fff; color:var(--ink); font:inherit; font-size:16px; }
.lang-ar .rc-field input,.lang-ar .rc-field select { font-family:var(--font-ar); }
.rc-field--search input { min-height:56px; font-size:18px; padding-inline:16px; }
.rc-field select { appearance:none; -webkit-appearance:none; padding-inline-end:36px; background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%); background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; text-overflow:ellipsis; }
.lang-ar .rc-field select { background-position:14px 50%,20px 50%; }
.rc-bar { grid-column:auto; align-self:end; display:flex; flex-wrap:wrap; align-items:end; gap:14px 20px; } /* the view buttons on the fields' row (user 2026-10-13) */
.rc-views { display:inline-flex; border:1px solid var(--ink); }
.rc-views button { min-height:44px; padding:8px 18px; border:0; border-inline-start:1px solid var(--ink); background:transparent; cursor:pointer; font-size:var(--text-small); font-weight:600; }
.rc-views button:first-child { border-inline-start:0; }
.rc-views button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.rc-views button:hover:not([aria-pressed="true"]) { background:var(--rc-shade); }
/* in the page (not docked in the head): a dark band the colour of its border, the buttons inside it, the chosen one white (user 2026-10-13) */
.rc-app .rc-views { gap:3px; padding:3px; border:1px solid var(--ink); background:var(--ink); }
.rc-app .rc-views button { min-height:40px; padding:6px 18px; border:0; color:#fff; }
.rc-app .rc-views button[aria-pressed="true"] { background:#fff; color:var(--ink); }
.rc-app .rc-views button:hover:not([aria-pressed="true"]) { background:rgba(255,255,255,.18); }
.rc-app .rc-views button:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
/* docked in the head: no frame around the three views, just the head's own pill buttons (user 2026-10-13) */
body.ed-htools .ed-strip__dock-in .rc-views { display:inline-flex; gap:6px; padding:0; border:0; background:none; }
.rc-field--sort { flex-direction:row; align-items:center; gap:10px; }
.rc-field--sort select { width:auto; min-height:44px; }
.rc-field--sort[hidden] { display:none; }
.rc-actions { display:flex; flex-wrap:wrap; gap:4px 20px; margin-inline-start:auto; }
.rc-link { padding:6px 0; border:0; background:none; cursor:pointer; text-decoration:underline; text-underline-offset:3px; font-size:var(--text-small); color:var(--ink); }
.rc-link:hover { color:var(--rc-red); }

.rc-active { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin-top:22px; }
.rc-active[hidden] { display:none; }
.rc-active__chip { display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:4px 12px; border:1px solid var(--ink); background:var(--ink); color:var(--paper) !important; cursor:pointer; font-size:var(--text-small); }
.rc-active__chip span { font-size:18px; line-height:1; }
.rc-status { margin:22px 0 0; padding-bottom:12px; border-bottom:1px solid var(--ink); font-size:var(--text-small); font-weight:600; min-height:1.5em; }

/* Shared item pieces */
.rc-title { font-size:16px; line-height:1.55; unicode-bidi:isolate; }
.rc-latin { font-weight:600; }
.rc-ar { color:var(--muted); font-size:.95em; }
.rc-person,.rc-name,.rc-reel-link,.rc-reel__num { padding:0; border:0; background:none; cursor:pointer; text-align:start; }
.rc-person:hover,.rc-name:hover,.rc-reel-link:hover { color:var(--rc-red); text-decoration:underline; text-underline-offset:3px; }
.rc-by { display:block; margin-top:2px; font-size:var(--text-small); line-height:1.5; }
.rc-via { color:var(--muted); }
.rc-unknown,.rc-muted { color:var(--muted); font-style:italic; }
.lang-ar .rc-unknown,.lang-ar .rc-muted { font-style:normal; }
.rc-tags { display:flex; flex-wrap:wrap; gap:4px 6px; margin-top:6px; }
.rc-chip,.rc-flag { display:inline-flex; align-items:center; min-height:24px; padding:1px 8px; border:1px solid var(--line); background:transparent; font-size:12px; line-height:1.4; }
.lang-ar .rc-chip,.lang-ar .rc-flag { font-size:13px; }
.rc-chip { cursor:pointer; }
.rc-chip:hover { border-color:var(--ink); }
.rc-chip--type { background:var(--rc-shade); border-color:var(--rc-shade); }
.rc-flag { border-style:dashed; color:var(--muted); }
.rc-flag--incomplete,.rc-flag--poor,.rc-flag--uncertain { color:var(--rc-red); border-color:var(--rc-red); }
.rc-note { display:block; margin-top:6px; font-size:var(--text-small); line-height:1.6; color:var(--muted); }
.rc-note__label { font-weight:600; }
.rc-empty { padding:32px 0; color:var(--muted); }

/* View: by reel */
.rc-reels { display:flex; flex-direction:column; }
.rc-reel { padding:20px 0 22px; border-bottom:1px solid var(--line); scroll-margin-top:calc(var(--bar, 62px) + 28px); }
.rc-reel__head { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 22px; margin-bottom:12px; }
.rc-reel__title { margin:0; font-size:inherit; }
.rc-reel__num { display:inline-flex; align-items:baseline; gap:10px; }
.rc-reel__num span { font-size:var(--text-small); text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.lang-ar .rc-reel__num span { letter-spacing:0; }
.rc-reel__num b { font-weight:400; font-size:clamp(34px,3.6vw,52px); line-height:.9; letter-spacing:-.05em; color:var(--rc-red); }
.rc-reel__num:hover b { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
.rc-reel__count { margin:0; font-size:var(--text-small); color:var(--muted); }
.rc-reel__nav { display:flex; gap:20px; margin:0 0 0 auto; }
.lang-ar .rc-reel__nav { margin:0 auto 0 0; }
.rc-sides { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:24px 32px; }
.rc-side__label { margin:0 0 8px; padding-bottom:6px; border-bottom:1px solid var(--ink); font-size:var(--text-small); font-weight:600; }
.rc-side__list { margin:0; padding:0; list-style:none; counter-reset:rc-item; }
.rc-item { counter-increment:rc-item; position:relative; padding:6px 0 7px; padding-inline-start:30px; border-bottom:1px solid var(--line); }
.rc-item::before { content:counter(rc-item); position:absolute; inset-inline-start:0; top:9px; font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; }
.rc-item.is-context { opacity:.55; }
.rc-side__more { margin-top:6px; padding:4px 0; border:0; background:none; cursor:pointer; font-size:var(--text-small); color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.rc-side__more:hover { color:var(--rc-red); }
.rc-item .rc-title { display:block; text-align:match-parent; }

/* View: list */
.rc-table { width:100%; border-collapse:collapse; }
.rc-table th { padding:10px 12px 10px 0; border-bottom:1px solid var(--ink); font-size:var(--text-small); font-weight:600; text-align:start; vertical-align:bottom; }
.lang-ar .rc-table th { padding:10px 0 10px 12px; }
.rc-table td { padding:9px 12px 9px 0; border-bottom:1px solid var(--line); vertical-align:top; }
.lang-ar .rc-table td { padding:9px 0 9px 12px; }
.rc-c-reel,.rc-c-side { width:4.5em; font-variant-numeric:tabular-nums; }
.rc-reel-link { font-size:18px; color:var(--rc-red); }
.rc-c-title { width:34%; }
.rc-c-by { width:24%; font-size:var(--text-small); line-height:1.5; }
.rc-c-details .rc-tags { margin-top:0; }
.rc-c-details .rc-note:first-child { margin-top:0; }
.rc-m { display:none; }

/* View: names */
.rc-names__heading { margin:30px 0 4px; font-size:var(--text-small); font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.lang-ar .rc-names__heading { letter-spacing:0; }
.rc-names { columns:4 220px; column-gap:32px; padding-top:8px; }
.rc-letter { break-inside:avoid; padding:14px 0 6px; }
.rc-letter__key { margin:0 0 6px; padding-bottom:4px; border-bottom:1px solid var(--ink); font-size:22px; font-weight:400; color:var(--rc-red); }
.rc-letter ul { margin:0; padding:0; list-style:none; }
.rc-letter li { display:flex; justify-content:space-between; gap:12px; padding:4px 0; font-size:var(--text-small); line-height:1.45; }
.rc-n { color:var(--muted); font-variant-numeric:tabular-nums; }
.rc-letter li .rc-name { flex:0 1 auto; }
.rc-letter li .rc-n { margin-inline-start:auto; }
.rc-kind { flex:none; font-size:11px; color:var(--muted); border:1px solid var(--line); padding:0 5px; line-height:1.6; align-self:center; }
.lang-ar .rc-kind { font-size:12px; }
.rc-jump { display:inline-block; margin:0 0 18px; font-size:var(--text-small); font-weight:600; color:var(--ink); }

/* Load more */
.rc-more { display:flex; flex-direction:column; align-items:center; gap:10px; padding:32px 0 8px; }
.rc-more[hidden],.rc-more [hidden] { display:none; }
.rc-more__count { margin:0; font-size:var(--text-small); color:var(--muted); }

/* No-script names list */
.rc-fallback-title { margin:28px 0 12px; font-size:var(--text-small); font-weight:600; }
.rc-fallback { columns:4 220px; column-gap:32px; margin:0 0 24px; padding:0; list-style:none; font-size:var(--text-small); }
.rc-fallback li { padding:3px 0; break-inside:avoid; }

.rc-source { margin-top:48px; padding-top:18px; border-top:1px solid var(--line); font-size:var(--text-small); color:var(--muted); line-height:1.7; max-width:90ch; }
.rc-source p { margin:0 0 8px; }
.rc-source a { color:var(--ink); }

@media (max-width:1000px) {
	.rc-intro { grid-template-columns:1fr; }
	.rc-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--line); }
	.rc-stats li { border-bottom:0; border-inline-start:1px solid var(--line); padding-inline:16px; }
	.rc-stats li:first-child { border-inline-start:0; padding-inline-start:0; }
	.rc-controls { grid-template-columns:1fr 1fr; }
	.rc-bar { grid-column:1 / -1; }
}
@media (max-width:700px) {
	.rc-intro { padding-top:16px; }
	.rc-stats strong { font-size:34px; }
	.rc-controls { grid-template-columns:1fr 1fr; gap:12px; }
	.rc-field--search,.rc-field:has(#rc-p) { grid-column:1 / -1; }
	.rc-bar { flex-direction:column; align-items:stretch; gap:12px; }
	.rc-views { display:flex; }
	.rc-views button { flex:1; padding-inline:8px; }
	.rc-app .rc-views button { padding-inline:6px; line-height:1.2; white-space:nowrap; }
	.rc-actions { margin-inline-start:0; }
	.rc-reel__nav { margin:0; width:100%; justify-content:space-between; }
	.rc-hero img { aspect-ratio:16 / 9; }
	.rc-switch { padding:10px 12px; }
	.rc-switch__options { display:flex; width:100%; }
	.rc-switch__options a { flex:1; justify-content:center; }
	.rc-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
	.rc-table,.rc-table tbody { display:block; }
	.rc-table tr { display:grid; grid-template-columns:auto auto 1fr; grid-template-areas:"title title title" "by by by" "reel side ." "details details details"; column-gap:14px; padding:12px 0; border-bottom:1px solid var(--line); }
	.rc-table td { display:block; padding:0 !important; border:0; width:auto; }
	.rc-c-title { grid-area:title; }
	.rc-c-by { grid-area:by; margin-top:2px; }
	.rc-c-reel { grid-area:reel; margin-top:6px; }
	.rc-c-side { grid-area:side; margin-top:6px; font-size:var(--text-small); align-self:center; }
	.rc-c-details { grid-area:details; }
	.rc-c-details:not(:empty) { margin-top:6px; }
	.rc-reel-link { font-size:15px; }
	.rc-c-reel,.rc-c-side { font-size:var(--text-small); color:var(--muted); }
	.rc-m { display:inline; }
}
@media (prefers-reduced-motion:no-preference) { .rc-item.is-context { transition:opacity .2s; } }
