/**
 * Logo brand colors — links, CTAs, buttons, and theme tokens.
 * Matches components/site/logo.blade.php SVG fills.
 * Load last (after marketing-page-css and app.css).
 */
:root {
  /* Logo SVG */
  --logo-navy: #121b5a;
  --logo-teal: #1dafad;
  --logo-teal-dark: #14a19e;
  --logo-blue: #2f469c;
  --logo-magenta: #e50158;
  --logo-green: #2db574;
  /* Body/heading text (Tailwind text-002041) */
  --text-heading: #002041;
  --ipsos-navy: var(--logo-navy);
  --ipsos-teal: var(--logo-teal);
  --ipsos-teal-dark: var(--logo-teal-dark);
  --ipsos-blue: var(--logo-blue);
  --ipsos-magenta: var(--logo-magenta);
  --ipsos-green: var(--logo-green);
  --ipsos-surface: #f5f6fa;
  --ipsos-border: #e7e8ed;
  --wp--preset--color--primary: #121b5a;
  --wp--preset--color--secondary: #1dafad;
  --wp--preset--color--tertiary: #2db574;
  --wp--preset--color--tertiary-alt: #2f469c;
  --wp--preset--color--accent: #e50158;
  --wp--preset--color--accent-alt: #14a19e;
  --wp--preset--color--dark: #121b5a;
  --wp--preset--color--gray-light: #f5f6fa;
  --wp--preset--color--gray-medium-light: #e7e8ed;
  --wp--preset--color--gray-dark: #2f469c;
  --wp--preset--gradient--blurple-teal: linear-gradient(166.65deg, #1dafad 22.25%, #121b5a 90.62%);
  --wp--preset--gradient--aqua-blurple: linear-gradient(180deg, #1dafad 45%, #2f469c 95%);
  --wp--preset--gradient--red-blurple: linear-gradient(180deg, #e50158 45%, #2f469c 95%);
  --wp--preset--gradient--orange-blurple: linear-gradient(180deg, #2db574 45%, #2f469c 95%);
  --wp--preset--gradient--magenta-aqua: linear-gradient(180deg, #e50158 45%, #1dafad 95%);
  --wp--preset--gradient--canary-red: linear-gradient(180deg, #14a19e 45%, #e50158 95%);
  --wp--preset--gradient--chartreuse-cobalt: linear-gradient(180deg, #2db574 45%, #2f469c 95%);
  --wp--preset--gradient--canary-aqua: linear-gradient(180deg, #14a19e 45%, #1dafad 95%);
  --wp--preset--gradient--magenta-cobalt: linear-gradient(180deg, #e50158 45%, #2f469c 95%);
  --wp--preset--gradient--magenta-orange: linear-gradient(180deg, #e50158 45%, #2db574 95%);
  --e-global-color-primary: #e50158;
  --e-global-color-secondary: #121b5a;
}

/* --- Text links --- */
.wp-site-blocks a:where(:not(.wp-element-button)),
.wp-block-post-content a:where(:not(.wp-element-button)),
.entry-content a:where(:not(.wp-element-button)),
main a:where(:not(.wp-element-button)),
article a:where(:not(.wp-element-button)),
p a:where(:not(.wp-element-button)),
.has-link-color a,
a.has-primary-color {
  color: var(--ipsos-teal) !important;
  text-decoration-color: var(--ipsos-teal) !important;
}

.wp-site-blocks a:where(:not(.wp-element-button)):hover,
.wp-block-post-content a:where(:not(.wp-element-button)):hover,
main a:where(:not(.wp-element-button)):hover,
article a:where(:not(.wp-element-button)):hover,
p a:where(:not(.wp-element-button)):hover,
.has-link-color a:hover {
  color: var(--ipsos-blue) !important;
  text-decoration-color: var(--ipsos-blue) !important;
}

.wp-site-blocks a:where(:not(.wp-element-button)):visited,
p a:where(:not(.wp-element-button)):visited {
  color: var(--ipsos-teal-dark) !important;
}

/* Header nav — same as page headings (text-002041 / #002041) */
header [role="menubar"] .top-level-nav,
header [role="menubar"] .wp-block-nlsn-nav-link .top-level-nav,
header [role="menubar"] .wp-block-nlsn-nav-link[data-color="has-dark-color"] .top-level-nav,
header nav[role="menubar"] a.top-level-nav {
  color: var(--text-heading) !important;
}

header [role="menubar"] .wp-block-nlsn-nav-link:hover .top-level-nav,
header [role="menubar"] .wp-block-nlsn-nav-link:focus-within .top-level-nav {
  color: var(--logo-teal) !important;
}

/* In-page section nav (Careers, Teams, etc.) */
a.text-nav,
.text-nav {
  color: var(--logo-teal) !important;
}

a.text-nav:hover {
  color: var(--logo-blue) !important;
}

/* Highlight spans — logo teal → green */
.text-color-gradient {
  background: linear-gradient(90deg, var(--logo-teal) 0%, var(--logo-green) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.text-navy,
.text-navy\!,
.has-dark-color,
.has-navy-color {
  color: var(--ipsos-navy) !important;
}

.border-navy,
.focus\:border-blurple-300:focus {
  border-color: var(--ipsos-navy) !important;
}

.border-blurple-300 {
  border-color: var(--ipsos-teal) !important;
}

/* Tailwind blurple utilities → Ipsos */
[class*="text-blurple"],
[class*="border-blurple"] {
  --tw-text-opacity: 1;
  color: var(--ipsos-teal) !important;
  border-color: var(--ipsos-teal) !important;
}

[class*="bg-blurple"],
.bg-blurple-300,
.hover\:bg-blurple-300:hover,
.focus\:bg-blurple-300:focus {
  background-color: var(--ipsos-teal) !important;
}

.text-blurple-300,
.hover\:text-blurple-300:hover {
  color: var(--ipsos-teal) !important;
}

.border-blurple-300 {
  border-color: var(--logo-teal) !important;
}

/* Header menubar — #002041 wins over blurple utilities above */
header [role="menubar"] .text-blurple-300,
header [role="menubar"] .hover\:text-blurple-300:hover,
header [role="menubar"] [class*="text-blurple"],
header [role="menubar"] .wp-block-nlsn-nav-link,
header [role="menubar"] .wp-block-nlsn-nav-link .top-level-nav,
header [role="menubar"] .wp-block-nlsn-nav-link.text-blurple-300,
header [role="menubar"] .wp-block-nlsn-nav-link.text-blurple-300 .top-level-nav {
  color: var(--text-heading) !important;
}

header [role="menubar"] .wp-block-nlsn-nav-link:hover,
header [role="menubar"] .wp-block-nlsn-nav-link:hover .top-level-nav,
header [role="menubar"] .wp-block-nlsn-nav-link.text-blurple-300:hover .top-level-nav {
  color: var(--logo-teal) !important;
}

header [role="menubar"] [class*="border-blurple"],
header [role="menubar"] .border-blurple-300,
header [role="menubar"] .focus\:border-blurple-300:focus {
  border-color: var(--text-heading) !important;
}

/* Header utility icons */
header button svg,
header a svg:not(.site-logo),
header .wp-block-button svg {
  fill: var(--text-heading) !important;
  color: var(--text-heading) !important;
}

/* --- CTA / WordPress buttons --- */
.wp-block-button__link,
.wp-element-button,
.wp-block-file__button {
  transition-property: color, background-color, border-color, box-shadow !important;
}

/* Solid primary CTA */
.is-style-nlsn-solid-btn .wp-block-button__link,
.is-style-nlsn-solid-btn:where(.wp-block-read-more),
.is-style-nlsn-solid-btn.wp-block-read-more,
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button.is-style-nlsn-solid-btn .wp-block-button__link,
.green-button .wp-block-button__link,
.green-button a {
  background-color: var(--ipsos-navy) !important;
  border-color: var(--ipsos-navy) !important;
  color: #fff !important;
}

.is-style-nlsn-solid-btn .wp-block-button__link:hover,
.is-style-nlsn-solid-btn.wp-block-read-more:hover,
.wp-block-button.is-style-fill .wp-block-button__link:hover,
.green-button .wp-block-button__link:hover,
.green-button a:hover {
  background-color: var(--ipsos-blue) !important;
  border-color: var(--ipsos-blue) !important;
  color: #fff !important;
}

.is-style-nlsn-solid-btn .wp-block-button__link:focus,
.is-style-nlsn-solid-btn .wp-block-button__link:active,
.wp-block-button.is-style-fill .wp-block-button__link:focus {
  background-color: var(--ipsos-teal-dark) !important;
  border-color: var(--ipsos-teal-dark) !important;
  --tw-ring-color: rgba(29, 175, 173, 0.45) !important;
}

/* Accent / magenta CTA */
.red-button .wp-block-button__link,
.red-button a,
.wp-block-button.is-style-accent .wp-block-button__link,
.has-accent-background-color.wp-block-button .wp-block-button__link {
  background-color: var(--ipsos-magenta) !important;
  border-color: var(--ipsos-magenta) !important;
  color: #fff !important;
}

.red-button .wp-block-button__link:hover,
.red-button a:hover {
  background-color: #c4004d !important;
  border-color: #c4004d !important;
}

/* Teal / green secondary CTA */
.orange-button .wp-block-button__link,
.orange-button a,
.wp-block-button.is-style-secondary .wp-block-button__link,
.has-secondary-background-color.wp-block-button .wp-block-button__link {
  background-color: var(--ipsos-teal) !important;
  border-color: var(--ipsos-teal) !important;
  color: #fff !important;
}

.orange-button .wp-block-button__link:hover,
.orange-button a:hover {
  background-color: var(--ipsos-green) !important;
  border-color: var(--ipsos-green) !important;
}

/* Outlined CTA */
.is-style-nlsn-outlined-btn .wp-block-button__link,
.is-style-nlsn-outlined-btn:where(.wp-block-read-more),
.is-style-nlsn-outlined-btn.wp-block-read-more,
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  border: 2px solid var(--ipsos-navy) !important;
  color: var(--ipsos-navy) !important;
}

.is-style-nlsn-outlined-btn .wp-block-button__link:hover,
.is-style-nlsn-outlined-btn.wp-block-read-more:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--ipsos-navy) !important;
  color: #fff !important;
}

/* Fallback / light solid buttons */
.is-style-nlsn-solid-fallback-btn .wp-block-button__link,
.is-style-nlsn-solid-fallback-btn:where(.wp-block-read-more),
.is-style-nlsn-solid-fallback-btn.wp-block-read-more {
  background-color: #fff !important;
  color: var(--ipsos-navy) !important;
  border: 2px solid var(--ipsos-navy) !important;
}

.is-style-nlsn-solid-fallback-btn .wp-block-button__link:hover,
.is-style-nlsn-solid-fallback-btn.wp-block-read-more:hover {
  background-color: var(--ipsos-surface) !important;
  color: var(--ipsos-blue) !important;
}

.is-style-nlsn-outlined-fallback-btn .wp-block-button__link,
.is-style-nlsn-outlined-fallback-btn.wp-block-read-more {
  border-color: #fff !important;
  color: #fff !important;
}

.is-style-nlsn-outlined-fallback-btn .wp-block-button__link:hover {
  background-color: rgba(255, 255, 255, 0.12) !important;
  color: var(--ipsos-teal) !important;
}

/* Read-more / text CTA links styled as buttons */
.wp-block-read-more,
.is-style-nlsn-solid-fallback-btn.wp-block-read-more,
.is-style-nlsn-outlined-fallback-btn.wp-block-read-more {
  text-decoration: none !important;
}

/* Card CTAs */
.is-style-card-left-btn .wp-block-button__link {
  background-color: var(--ipsos-navy) !important;
}

.cta-card .wp-block-button__link,
.cta-card a.wp-block-button__link {
  background-color: var(--ipsos-magenta) !important;
  border-color: var(--ipsos-magenta) !important;
  color: #fff !important;
}

.cta-card .wp-block-button__link:hover {
  background-color: var(--ipsos-navy) !important;
  border-color: var(--ipsos-navy) !important;
}

/* Preset utility classes */
.has-primary-color,
.has-primary-color a:not(.wp-element-button) {
  color: var(--ipsos-navy) !important;
}

.has-primary-background-color,
.has-primary-background-color .wp-block-button__link {
  background-color: var(--ipsos-navy) !important;
}

.has-secondary-color {
  color: var(--ipsos-teal) !important;
}

.has-secondary-background-color {
  background-color: var(--ipsos-teal) !important;
}

.has-accent-color {
  color: var(--ipsos-magenta) !important;
}

.has-accent-background-color {
  background-color: var(--ipsos-magenta) !important;
}

.has-tertiary-background-color {
  background-color: var(--ipsos-green) !important;
}

.has-tertiary-alt-background-color,
.has-tertiary-alt-color {
  background-color: var(--ipsos-blue) !important;
  color: var(--ipsos-blue) !important;
}

.has-dark-background-color {
  background-color: var(--ipsos-navy) !important;
}

/* Footer / content links on dark backgrounds */
.has-white-color a:not(.wp-element-button),
.has-dark-background-color a:not(.wp-element-button),
footer a:not(.wp-element-button) {
  color: var(--ipsos-teal) !important;
}

.has-white-color a:not(.wp-element-button):hover,
footer a:not(.wp-element-button):hover {
  color: #fff !important;
}

/* Swiper / carousel controls */
.swiper-button-next,
.swiper-button-prev {
  color: var(--ipsos-navy) !important;
}

/* Forms */
input:focus,
textarea:focus,
select:focus,
.form-control:focus {
  border-color: var(--ipsos-teal) !important;
  outline-color: var(--ipsos-teal) !important;
}
