/* Heritage 1854 — material from Ranfft's caliber database (ranfft.org), used
 * with permission. Added to movement guides by manager/ranfft.js. */
.rf-photos { margin: 28px 0 0; }
.rf-photos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.rf-photos-grid img {
  width: 100%; aspect-ratio: 1; object-fit: contain; display: block;
  background: #fff; border: 1px solid var(--border);
}
.rf-photos figcaption, .rf-credit {
  margin-top: 10px; font-family: var(--mono); font-size: 10px; letter-spacing: .05em;
  color: var(--text-muted);
}
.rf-photos figcaption a, .rf-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rf-credit { padding: 12px 20px 14px; border-top: 1px solid var(--border); margin-top: 0; line-height: 1.6; }
.m-specs .rf-credit { padding: 10px 14px 12px; letter-spacing: .03em; }
@media (max-width: 640px) { .rf-photos-grid { grid-template-columns: 1fr 1fr; } }

/* Movements page: who a card's photograph is courtesy of, bottom right of the
   dark panel, opposite the calibre label. */
.movement-card-credit, .m-mv-credit {
  position: absolute; right: 10px; bottom: 7px; z-index: 2;
  padding: 2px 5px; background: rgba(19, 18, 16, .78); border-radius: 2px;
  font-family: var(--mono); font-size: 8.5px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--text-subtle, #8A7E6E);
}
.m-mv-credit { right: 8px; bottom: 5px; font-size: 8px; letter-spacing: .05em; white-space: nowrap; }
/* never over the calibre label: wrap to two lines, right-aligned, when short of room */
.movement-card-credit, .m-mv-credit { max-width: calc(100% - 76px); text-align: right; line-height: 1.5; }
.movement-card-credit a, .m-mv-credit a { color: inherit; text-decoration: none; }
.movement-card-credit a:hover, .m-mv-credit a:hover { color: var(--accent); }

/* Dial side and movement side, side by side like the manual's plates. */
.movement-card-visual.has-photo:has(.mv-sides) { padding: 12px 18px 30px; }
.m-mv-visual.has-photo:has(.mv-sides) { padding: 10px 14px 26px; height: 190px; }
.mv-sides { display: flex; gap: 14px; width: 100%; height: 100%; justify-content: center; }
.mv-sides figure { margin: 0; flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column; align-items: center; }
.mv-sides img { flex: 1; min-height: 0; width: 100%; height: auto; object-fit: contain; display: block; }
.mv-sides figcaption {
  margin-top: 5px; font-family: var(--mono); font-size: 8px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--text-subtle);
}

/* Movement guides: the caliber's dial side and movement side on the dark panel
   the Movements page cards use. */
.rf-panel .mv-sides {
  height: 300px; padding: 22px 24px 16px; border: 1px solid var(--border);
  background: radial-gradient(circle at 50% 45%, rgba(227,184,0,.07) 0%, transparent 60%),
              linear-gradient(160deg, #1e1c18 0%, #131210 100%);
}
@media (max-width: 640px) { .rf-panel .mv-sides { height: 220px; padding: 16px 14px 12px; gap: 10px; } }
.rf-panel .mv-sides figure { flex: 0 1 340px; }
.rf-panel .mv-sides { gap: 36px; }
@media (max-width: 640px) { .rf-panel .mv-sides { gap: 10px; } }
