/* Arrow-free actions: centre the retained copy without changing behaviour or colour. */
body.rc-site[data-page] :is(.rc-button, .rc-link, .rc-service-link, .rc-film-scroll, .rc-story-contact),
body.rc-site[data-page] :is(.rc-button, .rc-link, .rc-service-link, .rc-film-scroll, .rc-story-contact).rc-reference-action {
  justify-content: center;
  text-align: center;
  gap: 0;
}
body.rc-site[data-page] :is(.rc-product-name, .rc-selection-name, .rc-text-button, .rc-world-choice) { text-align: center; }
body.rc-site[data-page] .rc-contact-submit { justify-content: center; }
body.rc-site[data-page] .rc-reference-action.rc-reference-compact { justify-content: center; text-align: center; }
body.rc-site[data-page] :is(.rc-service-link, .rc-service-link:hover) > span {
  font-size: inherit;
  line-height: inherit;
  transform: none;
}

/* Labels and live quantities remain separate data nodes, centred as one readable group. */
body.rc-site[data-page] .rc-catalog-selection,
body.rc-site[data-page] .rc-catalog-selection.rc-reference-action {
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 8px;
}
body.rc-site[data-page] .rc-catalog-selection-count { white-space: nowrap; font-variant-numeric: tabular-nums; }
body.rc-site[data-page] :is(.rc-catalog-categories, .rc-category-menu) a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
}
body.rc-site[data-page] .rc-catalog-category-count { margin-left: 0; vertical-align: baseline; }

/* The category number and name form a centred stack, with no empty arrow column. */
body.rc-site[data-page] .rc-home-category {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  text-align: center;
}
body.rc-site[data-page] .rc-home-category > .rc-home-category-number { grid-column: auto; justify-self: center; }

/* Keep selection feedback outside the centred number/title/description stack. */
body.rc-site[data-page] .rc-visit-modes [data-visit-mode] {
  position: relative;
  align-items: center;
  text-align: center;
}
body.rc-site[data-page] .rc-visit-choice-meta,
body.rc-site[data-page] .rc-visit-choice-heading { justify-content: center; text-align: center; }
body.rc-site[data-page] .rc-visit-choice-number { font-variant-numeric: tabular-nums; }
body.rc-site[data-page] .rc-visit-choice-selected { position: absolute; top: 14px; right: 14px; }
body.rc-site[data-page] .rc-visit-choice-description { text-align: center; }
body.rc-site[data-page] [data-visit-choice] { text-align: center; }

/* The cover keeps its writing and 3D carriers; only its text alignment changes. */
body.rc-site[data-page] .rc-collage-cover-face { text-align: center; }
body.rc-site[data-page] .rc-collage-cover-heading { justify-content: center; align-items: center; }
body.rc-site[data-page] .rc-collage-edition { text-align: center; }
body.rc-site[data-page] .rc-collage-cover-message { align-self: center; text-align: center; }
body.rc-site[data-page] .rc-collage-cover-invite { justify-content: center; text-align: center; gap: 0; }
body.rc-site[data-page] .rc-collage-note { align-items: center; text-align: center; }
body.rc-site[data-page] .rc-collage-caption { justify-content: center; text-align: center; }

/* Caption titles now occupy the last slot. Target their meaning, not the removed arrow's position. */
body.rc-site[data-page] .rc-collage-caption > .rc-collage-caption-title { opacity: 1; }
body.rc-site[data-page] .is-enhanced:not(.is-static) .rc-collage-caption > .rc-collage-caption-title { opacity: 0; }
body.rc-site[data-page] .is-enhanced:not(.is-static) .rc-collage-photo:is(:focus-within, .is-selected) .rc-collage-caption > .rc-collage-caption-title { opacity: 1; transform: none; }
@media (hover: hover) and (pointer: fine) {
  body.rc-site[data-page] .is-enhanced:not(.is-static) .rc-collage-photo:hover .rc-collage-caption > .rc-collage-caption-title { opacity: 1; transform: none; }
}
@media (max-width: 760px) {
  body.rc-site[data-page] .rc-home-category {
    grid-template-columns: max-content auto;
    justify-content: center;
  }
}

/* The footer privacy link keeps its existing click area without fill or magnetism. */
body.rc-site[data-page] .rc-footer-privacy { padding: 7px 12px; margin: -7px -12px; }

/* Product names keep their click area and alignment without the expanding fill. */
body.rc-site[data-page] :is(.rc-product-name, .rc-selection-name)[data-no-reference-hover] {
  padding: 7px 12px;
  margin: -7px -12px;
}
