/**
 * Corporate Visions Subscriber Portal - 2026 brand alignment layer
 * Version: 1.0.0
 *
 * Loaded after the legacy portal2021 stylesheet. These deliberately scoped
 * rules stop the former blanket orange link hover from overriding the 2026
 * components while preserving older, non-redesigned portal screens.
 */

:root {
	--cv-purple: #3f2d7b;
	--cv-magenta: #8c3c94;
	--cv-orange: #ff551b;
	--cv-orange-light: #f69a4d;
	--cv-orange-dark: #d64b1a;
	--cv-ink: #2d2d2d;
	--cv-gray: #bec0c3;
	--cv-gray-light: #eff0f3;
	--cv-lilac: #f0edf5;
	--cv-peach: #fff4f1;
	--cv-font: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Accessible, consistent keyboard treatment across redesigned components. */
.cv-global-header :where(a, button, summary):focus-visible,
.cv-global-mobile-menu :where(a, button):focus-visible,
.cv-global-footer a:focus-visible,
.cv-search-page :where(a, button, input):focus-visible,
.cv-404 a:focus-visible,
.page-template-template-home-2026d-page :where(a, button):focus-visible,
body[class*="page-template-template-products-2021"] #main :where(a, button):focus-visible,
body[class*="page-template-template-communications"] #main :where(a, button):focus-visible,
body[class*="page-template-template-email"] #main :where(a, button):focus-visible,
.default-template-2026 #main :where(a, button):focus-visible,
.cc-gui-2026 #main :where(a, button):focus-visible,
.subscription-gui-2026 #main :where(a, button):focus-visible {
	outline: 3px solid var(--cv-orange-light) !important;
	outline-offset: 3px !important;
}

/* The old theme declares a:hover orange with !important. Protect shared UI. */
.cv-global-header a,
.cv-global-header a:hover,
.cv-global-header a:focus-visible,
.cv-global-header summary,
.cv-global-header summary:hover,
.cv-global-header summary:focus-visible {
	font-family: var(--cv-font) !important;
}

.cv-global-footer a,
.cv-global-footer a:hover,
.cv-global-footer a:focus-visible {
	color: #fff !important;
}

/* Primary and secondary calls to action mirror the current corporate site. */
.page-template-template-home-2026d-page .cv-btn--solid {
	border-color: var(--cv-purple) !important;
	border-radius: 8px !important;
	background: var(--cv-purple) !important;
	color: #fff !important;
	text-transform: uppercase !important;
}

.page-template-template-home-2026d-page .cv-btn--solid:hover,
.page-template-template-home-2026d-page .cv-btn--solid:focus-visible {
	border-color: var(--cv-orange) !important;
	background: var(--cv-orange) !important;
	color: #fff !important;
}

.page-template-template-home-2026d-page .cv-btn--outline {
	border-color: var(--cv-purple) !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: var(--cv-purple) !important;
	text-transform: uppercase !important;
}

.page-template-template-home-2026d-page .cv-btn--outline:hover,
.page-template-template-home-2026d-page .cv-btn--outline:focus-visible {
	border-color: var(--cv-magenta) !important;
	background: transparent !important;
	color: var(--cv-magenta) !important;
}

.page-template-template-home-2026d-page :where(.cslide .open, .scard .more):hover,
.page-template-template-home-2026d-page :where(.cslide, .scard):focus-visible :where(.open, .more) {
	color: var(--cv-magenta) !important;
}

/* Search and error actions use approved colors and the website's 8px radius. */
.cv-search-page .cv-search-form button,
.cv-404 .cv-404__home {
	border-radius: 8px !important;
	background: var(--cv-purple) !important;
	color: #fff !important;
	text-transform: uppercase !important;
}

.cv-search-page .cv-search-form button:hover,
.cv-search-page .cv-search-form button:focus-visible,
.cv-404 .cv-404__home:hover,
.cv-404 .cv-404__home:focus-visible {
	background: var(--cv-orange) !important;
	color: #fff !important;
}

.cv-search-page :where(.cv-search-card__title a, .cv-search-card__link):hover,
.cv-search-page :where(.cv-search-card__title a, .cv-search-card__link):focus-visible {
	color: var(--cv-magenta) !important;
}

.cv-404 .cv-404__search:hover,
.cv-404 .cv-404__search:focus-visible {
	border-color: var(--cv-magenta) !important;
	background: var(--cv-lilac) !important;
	color: var(--cv-magenta) !important;
}

/* Reverse CTAs used on Communications and Email pages. */
body[class*="page-template-template-communications"] .vc-contact-button,
body[class*="page-template-template-email"] .vc-contact-button {
	border-radius: 8px !important;
	text-transform: uppercase !important;
}

body[class*="page-template-template-communications"] .vc-contact-button:hover,
body[class*="page-template-template-communications"] .vc-contact-button:focus-visible,
body[class*="page-template-template-email"] .vc-contact-button:hover,
body[class*="page-template-template-email"] .vc-contact-button:focus-visible {
	color: #fff !important;
}

/* Product and library interactions: purple at rest, magenta on interaction. */
body[class*="page-template-template-products-2021"] #main :where(.cv-product-card > a, .cv-expander-link),
body[class*="page-template-template-products-2021"] #main .cv-resource-row {
	color: var(--cv-purple) !important;
}

body[class*="page-template-template-products-2021"] #main :where(.cv-product-card > a, .cv-expander-link):hover,
body[class*="page-template-template-products-2021"] #main :where(.cv-product-card > a, .cv-expander-link):focus-visible,
body[class*="page-template-template-products-2021"] #main .cv-resource-row:hover,
body[class*="page-template-template-products-2021"] #main .cv-resource-row:focus-visible {
	color: var(--cv-magenta) !important;
}

.default-template-2026 #main .tile > a:hover .tile__arrow,
.default-template-2026 #main .tile > a:focus-visible .tile__arrow,
.cc-gui-2026 #main .tile > a:hover::after,
.cc-gui-2026 #main .tile > a:focus-visible::after,
.subscription-gui-2026 #main .tile > a:hover::after,
.subscription-gui-2026 #main .tile > a:focus-visible::after {
	color: var(--cv-magenta) !important;
}

@media (prefers-reduced-motion: reduce) {
	.cv-global-header *,
	.cv-global-mobile-menu *,
	.cv-global-footer *,
	.cv-search-page *,
	.cv-404 *,
	.page-template-template-home-2026d-page * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
