/* Site-wide motion, loaded last.
   1. Buttons share the home "Our Healthcare World" / "Built Around Professionals" hover: teal fill from the left,
      white text, small lift, a soft transparent ring, and an up-right arrow that slides and turns.
   2. .rx-reveal: scroll-in fade/slide applied by assets/js/reveal.js (removed again once shown). */

/* 1a. Buttons that did not yet have the sliding fill. */
.public-site :is(.view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .verify-report-btn, .verify-submit, .verify-scan) {
 position: relative; isolation: isolate; overflow: hidden;
}
.public-site :is(.view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .verify-report-btn, .verify-submit, .verify-scan)::before {
 content: ''; position: absolute; inset: 0; width: 0; border-radius: inherit; z-index: -1;
 background: linear-gradient(90deg, #116f7b, #179b8d); transition: width 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.public-site :is(.view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .verify-report-btn, .verify-submit:not(:disabled), .verify-scan):hover::before { width: 100%; }
.public-site :is(.view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .verify-report-btn, .verify-submit:not(:disabled), .verify-scan):hover { color: #ffffff !important; }

/* 1b. Shared lift + transparent ring on every main button. */
.public-site :is(.btn, .about-btn, .identity-btn, .commitment-btn, .comm-cta-btn, .discover-btn, .explore-cta, .hero-primary-btn, .rbx-btn, .rbx-electric-btn, .rks-cta-btn, .rtf-dark-btn, .s4-btn, .sp-view-all-btn, .sp-cart-btn, .cart-add, .submit-pill-btn, .view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .verify-report-btn, .verify-submit, .verify-scan) {
 transition: color 0.3s ease, background-color 0.3s ease, transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease;
}
.public-site :is(.btn, .about-btn, .identity-btn, .commitment-btn, .comm-cta-btn, .discover-btn, .explore-cta, .hero-primary-btn, .rbx-btn, .rbx-electric-btn, .rks-cta-btn, .rtf-dark-btn, .s4-btn, .sp-view-all-btn, .sp-cart-btn, .cart-add, .submit-pill-btn, .view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .verify-report-btn, .verify-submit:not(:disabled), .verify-scan):hover {
 transform: translateY(-2px);
 box-shadow: 0 0 0 5px rgba(23, 155, 141, 0.14), 0 10px 22px rgba(20, 107, 120, 0.22) !important;
}

/* 1c. Icons: arrows slide up-right and turn; other icons (cart, QR, report) lift gently. */
.public-site :is(.btn, .about-btn, .identity-btn, .commitment-btn, .comm-cta-btn, .discover-btn, .explore-cta, .hero-primary-btn, .hero-secondary-link, .rbx-btn, .rbx-electric-btn, .rks-cta-btn, .rtf-dark-btn, .s4-btn, .sp-view-all-btn, .sp-details-link, .sp-guide-link, .sp-cart-btn, .cart-add, .submit-pill-btn, .view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .rbx-drawer-catalogue, .verify-report-btn, .verify-scan, .verify-open, .catalogue-overview-link) :is(svg, .arrow-icon, .cta-arrow, .rbx-btn-arrow) {
 transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.public-site :is(.btn, .about-btn, .identity-btn, .commitment-btn, .comm-cta-btn, .discover-btn, .explore-cta, .hero-primary-btn, .hero-secondary-link, .rbx-btn, .rbx-electric-btn, .rks-cta-btn, .rtf-dark-btn, .s4-btn, .sp-view-all-btn, .sp-details-link, .sp-guide-link, .view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .rbx-drawer-catalogue, .verify-report-btn, .verify-open, .catalogue-overview-link):hover :is(.arrow-icon, .cta-arrow, .rbx-btn-arrow, .ui-icon, svg:has(> line[x1="7"][y1="17"]), svg:has(> path[d^="M7 17"])) {
 transform: translate(3px, -3px) rotate(45deg) !important;
}
.public-site :is(.sp-cart-btn, .cart-add, .verify-scan, .verify-report-btn, .submit-pill-btn):hover > svg:not(:has(> line[x1="7"][y1="17"])):not(:has(> path[d^="M7 17"])) {
 transform: translateY(-2px) scale(1.1) !important;
}
/* Nested arrow wrappers should not double-rotate. */
.public-site :is(.arrow-icon, .cta-arrow, .rbx-btn-arrow) > svg { transform: none !important; }

/* 2. Scroll-in reveal (classes are added and later removed by reveal.js). */
.rx-reveal { opacity: 0; transform: translate3d(0, 18px, 0); }
.rx-reveal.rx-in { opacity: 1; transform: none; transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--rx-delay, 0s), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) var(--rx-delay, 0s); }

@media (prefers-reduced-motion: reduce) {
 .rx-reveal { opacity: 1; transform: none; }
 .public-site :is(.btn, .about-btn, .identity-btn, .commitment-btn, .comm-cta-btn, .discover-btn, .explore-cta, .hero-primary-btn, .rbx-btn, .rbx-electric-btn, .rks-cta-btn, .rtf-dark-btn, .s4-btn, .sp-view-all-btn, .sp-cart-btn, .cart-add, .submit-pill-btn, .view-more, .focus-all-link, .filter-tab, .rbx-drawer-btn, .verify-report-btn, .verify-submit, .verify-scan):hover { transform: none; }
}
