/* Approved type hierarchy and one action blue. Layout and motion stay in their owners. */
:root { --rc-action: #26a5fd; --rc-action-ink: #071a28; --rc-action-text: #0077b8; }
body.rc-site[data-page="about"] { --rc-action-text: var(--rc-action); }
body.rc-site[data-page] .rc-category-menu { --rc-action-text: #0077b8; }
body.rc-site[data-page] :is(.rc-lightbox, .rc-collage-viewer) { --rc-action-text: var(--rc-action); }

body.rc-site[data-page] :is(h1, h2, .rc-about-statement) { font-weight: 700; }
body.rc-site[data-page] :is(h3, h4, .rc-visit-choice-heading, .rc-contact-chapter legend) { font-weight: 600; }
body.rc-site[data-page="contact"] .rc-contact-hero .rc-contact-intro h2 { font-weight: 700; }

/* Visitor links are blue; photograph links, the wordmark and local review tools keep their treatment. */
body.rc-site[data-page] :is(main, footer, dialog, .rc-inquiry-dock, .rc-category-menu) a[href]:not(:is(.rc-brand, .rc-button, .rc-service-link-primary)):not([aria-disabled="true"]):not(:has(img, picture, video)),
body.rc-site[data-page] :is(.rc-link, .rc-product-name, .rc-selection-name, .rc-icon-button, .rc-text-button, .rc-collage-toggle, .rc-collage-viewer-close, .rc-world-choice):not(:disabled):not([aria-disabled="true"]) {
  color: var(--rc-action-text);
}
body.rc-site[data-page] :is(.rc-link, .rc-service-link, .rc-catalog-selection, .rc-story-contact, .rc-collage-toggle):not(:disabled):not([aria-disabled="true"]) {
  border-color: var(--rc-action);
}
body.rc-site[data-page] :is(.rc-catalog-categories a, .rc-stories-nav a, .rc-world-choice):is([aria-current], [aria-pressed="true"], .is-active) {
  color: var(--rc-action-text);
  border-color: var(--rc-action);
}
body.rc-site[data-page] .rc-home-category > span:first-child,
body.rc-site[data-page] .rc-visit-choice-meta { color: var(--rc-action-text); }

/* Solid actions use the same sky blue and dark ink at rest, hover, focus and press. */
body.rc-site[data-page] :is(main, footer, dialog, .rc-inquiry-dock) :is(.rc-button, .rc-service-link-primary):not(:disabled):not([aria-disabled="true"]),
body.rc-site[data-page="contact"] .rc-contact-submit:not(:disabled):is(:hover, :focus-visible, .is-reference-hover) {
  color: var(--rc-action-ink);
  background: var(--rc-action);
  border-color: var(--rc-action);
}
body.rc-site[data-page] :is([data-visit-mode], [data-visit-choice]):not(:disabled):not([aria-disabled="true"]) { border-color: var(--rc-action); }
body.rc-site[data-page] [data-visit-choice]:not(:disabled):not([aria-disabled="true"]) { color: var(--rc-action-text); }
body.rc-site[data-page] :is([data-visit-mode], [data-visit-choice])[aria-pressed="true"]:not(:disabled) {
  color: var(--rc-action-ink);
  background: var(--rc-action);
  border-color: var(--rc-action);
}
body.rc-site[data-page] [data-visit-mode][aria-pressed="true"] :is(.rc-visit-choice-meta, .rc-visit-choice-description) { color: inherit; }
body.rc-site[data-page] .rc-product-thumbnails button[aria-pressed="true"] { border-color: var(--rc-action); }
body.rc-site[data-page] [data-select-product][aria-pressed="true"] { color: var(--rc-action-text); }

/* Only the existing moving fill changes colour; its size, timing and pointer origin remain intact. */
body.rc-site[data-page] .rc-reference-action:not(:disabled):not([aria-disabled="true"])::after { background: var(--rc-action); }
body.rc-site[data-page] :is(main, footer, dialog, .rc-inquiry-dock, .rc-category-menu) .rc-reference-action:not(:disabled):not([aria-disabled="true"]):is(.is-reference-hover, :focus-visible) {
  color: var(--rc-action-ink);
  border-color: transparent;
}
body.rc-site[data-page] .rc-reference-action:not(:disabled):not([aria-disabled="true"]):is(.is-reference-hover, :focus-visible) :is(.rc-visit-choice-meta, .rc-visit-choice-description) { color: inherit; }
body.rc-site[data-page] :is(main, footer, dialog, .rc-inquiry-dock, .rc-home-header) :is(a, button, input, textarea, select):not(:disabled):not([aria-disabled="true"]):focus-visible { outline-color: var(--rc-action); }
body.rc-site[data-page="contact"] .rc-field :is(input, textarea):focus { border-color: var(--rc-action); outline-color: var(--rc-action); }
body.rc-site[data-page] .rc-social-item:not([aria-disabled="true"]) {
  background: var(--rc-action);
  color: var(--rc-action-ink);
}
body.rc-site[data-page] .rc-social-item:not([aria-disabled="true"]):is(:hover, :focus-visible) { box-shadow: 0 0 0 5px rgb(38 165 253 / .12); }

/* The black primary navigation keeps white resting labels; all active feedback uses the same blue. */
body.rc-site[data-page] > .rc-header.rc-home-header { --home-nav-wine: var(--rc-action); }
body.rc-site[data-page] .rc-home-header :is(.rc-home-nav-group > a, .rc-nav-catalog > a, .rc-category-toggle, .rc-menu-toggle):is(:hover, :focus-visible, :active) { color: var(--rc-action); }

@media (hover: hover) and (pointer: fine) {
  body.rc-site[data-page] :is(.rc-service-link, [data-visit-mode], [data-visit-choice]):not(.rc-reference-action):not(:disabled):not([aria-disabled="true"]):hover {
    color: var(--rc-action-ink);
    background: var(--rc-action);
    border-color: var(--rc-action);
  }
  body.rc-site[data-page] [data-visit-mode]:not(.rc-reference-action):hover :is(.rc-visit-choice-meta, .rc-visit-choice-description) { color: inherit; }
}
@media (hover: none), (pointer: coarse) {
  body.rc-site[data-page] :is(main, footer, dialog, .rc-inquiry-dock, .rc-category-menu) .rc-reference-action:not(:disabled):not([aria-disabled="true"]):active,
  body.rc-site[data-page] :is(.rc-service-link, [data-visit-mode], [data-visit-choice]):not(:disabled):not([aria-disabled="true"]):active {
    color: var(--rc-action-ink);
    background-color: var(--rc-action);
    border-color: var(--rc-action);
  }
  body.rc-site[data-page] [data-visit-mode]:active :is(.rc-visit-choice-meta, .rc-visit-choice-description) { color: inherit; }
}

/* Category numbers must stay legible when the existing fill turns blue. */
body.rc-site[data-page] .rc-home-category:is(.is-reference-hover, :focus-visible) > span:first-child { color: inherit; }
@media (hover: none), (pointer: coarse) {
  body.rc-site[data-page] .rc-home-category:active > span:first-child { color: inherit; }
}
