/* ======================================= */
/* PURPLE THEME - Global Color Override   */
/* Replace all blue colors with purple    */
/* ======================================= */

/* Primary purple color variables */
:root {
  --primary-color: #9f2361;
  --primary-color-rgb: 159, 35, 97;
  --primary-color-dark: #5a1436;
  --primary-color-light: #c42d7a;
  --blue-dark: #9f2361;
  --blue-primary: #9f2361;
  --blue-light: #c42d7a;
}

/* Header and navigation */
.header-component,
.header-component-wrapper,
.header-wrapper,
#header,
header {
  background: #000000 !important;
  background-color: #000000 !important;
  background-image: none !important;
}

/* Header padding for mobile */
@media (max-width: 992px) {
  .header-wrapper,
  .header-component .header-wrapper,
  .header-component-wrapper .header-component .header-wrapper {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    min-height: 70px !important;
  }

  .logo,
  .header-wrapper .logo {
    padding: 8px 0 !important;
  }
}

/* Navigation menus */
.navigation-menus,
.navigation-menus.show,
#nav-menus,
#nav-menus.show,
.nav-list,
.nav-links {
  background: rgba(159, 35, 97, 0.98) !important;
}

/* Quick Links in search menu - white initially, teal on hover */
.search-links a,
.search-subheading,
.mobile-search-menu a,
.search-menus a {
  color: white !important;
  transition: color 0.2s ease !important;
}

.search-links a:hover,
.search-subheading:hover,
.mobile-search-menu a:hover,
.search-menus a:hover {
  color: #237f8c !important;
  text-decoration: underline !important;
}

/* Search overlay/menu on mobile */
.search-overlay,
.search-container,
.omnibox-container,
.omnibox-overlay,
.search-dropdown,
.search-results,
.search-suggestions,
.styles_searchSuggestions__WQSbB,
.header-search-overlay,
.mobile-search-menu,
.search-panel,
.global-search-overlay,
.global-search-container,
.search-menus,
.search-menus.mobile-search-menu,
.search-menus.desktop-search-menu,
.search-list,
[class*="searchOverlay"],
[class*="search-overlay"],
[class*="omnibox"] {
  background: rgba(159, 35, 97, 0.98) !important;
  background-color: #9f2361 !important;
}

/* Mobile search panel when opened */
@media (max-width: 992px) {
  .search-menus,
  .mobile-search-menu,
  .search-menus.mobile-search-menu,
  .header-component-wrapper .header-component .mobile-search-menu,
  .header-component-wrapper .header-component .search-menus {
    background: rgba(159, 35, 97, 0.98) !important;
    background-color: #9f2361 !important;
  }

  .search-menus .search-list,
  .mobile-search-menu .search-list,
  .header-component-wrapper .header-component .mobile-search-menu .search-list,
  .header-component-wrapper .header-component .search-menus .search-list {
    background: rgba(159, 35, 97, 0.98) !important;
    background-color: #9f2361 !important;
  }

  .search-links,
  .search-menus .search-links,
  .mobile-search-menu .search-links,
  .header-component-wrapper
    .header-component
    .mobile-search-menu
    .search-list
    .search-links,
  .header-component-wrapper
    .header-component
    .search-menus
    .search-list
    .search-links {
    background: rgba(159, 35, 97, 0.98) !important;
    background-color: #9f2361 !important;
  }

  .search-heading,
  .search-subheading {
    color: white !important;
  }

  /* Quick Links hover - change to teal/blue */
  .search-links a:hover,
  .search-subheading:hover,
  .mobile-search-menu .search-links a:hover,
  .search-menus .search-links a:hover,
  .header-component-wrapper
    .header-component
    .mobile-search-menu
    .search-list
    .search-links
    a:hover,
  .header-component-wrapper
    .header-component
    .search-menus
    .search-list
    .search-links
    a:hover {
    color: #237f8c !important;
  }

  /* Show search input on mobile search menu */
  .mobile-search-menu .search,
  .mobile-search-menu .search input,
  .mobile-search-menu .styles_globalSearchInputBox__ZOlzz,
  .mobile-search-menu .styles_inputbox___ZkLm,
  .mobile-search-menu .styles_input__WPE80,
  .search-menus .search,
  .search-menus .styles_globalSearchInputBox__ZOlzz,
  .search-menus .styles_inputbox___ZkLm,
  .search-menus .styles_input__WPE80 {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .mobile-search-menu .styles_globalSearchInputBox__ZOlzz,
  .search-menus .styles_globalSearchInputBox__ZOlzz {
    background-color: white !important;
    border-radius: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    padding: 0 !important;
    height: auto !important;
  }

  .mobile-search-menu .styles_inputbox___ZkLm,
  .search-menus .styles_inputbox___ZkLm {
    width: 100% !important;
    padding: 6px 12px !important;
    background-color: white !important;
    border-radius: 6px !important;
  }

  .mobile-search-menu .styles_input__WPE80,
  .search-menus .styles_input__WPE80 {
    display: block !important;
    width: 100% !important;
    height: 28px !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-size: 14px !important;
    color: #333 !important;
  }

  .search.main-search.active,
  .search.main-search.open,
  .header-search-btn.active,
  .header-search-btn.open,
  #headersearch.active,
  #headersearch.open,
  .search-panel,
  .search-overlay,
  .omnibox-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    background: rgba(159, 35, 97, 0.98) !important;
    z-index: 9999 !important;
    padding: 20px !important;
  }
}

/* Footer */
footer,
#footer,
.footer-container,
.footer-wrapper {
  background: transparent linear-gradient(180deg, #5a1436, #9f2361) 0 0
    no-repeat padding-box !important;
}

/* Share component */
.share-component,
.share-component-container {
  background: transparent linear-gradient(180deg, #5a1436, #9f2361) 0 0
    no-repeat padding-box !important;
}

/* Bookmark elements */
.bookmark-menu-container,
.bookmark-menu-wrapper,
#dla-bookmark-drawer {
  background: transparent linear-gradient(180deg, #5a1436, #9f2361) 0 0
    no-repeat padding-box !important;
}

/* Buttons */
.btn-primary,
.button-cta a,
.cta-button,
.primary-button,
.primary-cta {
  background-color: #9f2361 !important;
  border-color: #9f2361 !important;
}

.btn-primary:hover,
.button-cta a:hover,
.cta-button:hover,
.primary-button:hover {
  background-color: #5a1436 !important;
  border-color: #5a1436 !important;
}

/* Hero and intro components */
.hero-component,
.hero-wrapper,
.hero-gradient,
.intro-copy-component,
.intro-copy-wrapper,
.intro-copy,
[class*="hero"],
[class*="gradient"] {
  background: transparent linear-gradient(180deg, #5a1436, #9f2361) 0 0
    no-repeat padding-box !important;
}

/* Pillar elements - reset to transparent/inherit */
.pillar-body,
.pillar-0,
.pillar-1,
.pillar-2,
.pillar-3,
[class*="pillar"] {
  background: transparent !important;
  background-color: transparent !important;
}

/* Links and hover states */
a:hover {
  color: #9f2361 !important;
}

/* Navigation links in header/footer - keep white on hover */
.nav-links a:hover,
.nav-links-anchor:hover,
.nav-sub-links-anchor:hover,
.header-wrapper a:hover,
.header-component a:hover,
.navigation-menus a:hover,
#nav-menus a:hover,
.footer-container a:hover,
.footer-wrapper a:hover,
.big-links a:hover,
.small-links a:hover,
.about-us-links a:hover {
  color: #237f8c !important; /* Teal color for visibility on purple */
  text-decoration: underline !important;
}

/* Tabs and active states */
.tab-active,
.anchor-tab.active,
.item-link.active {
  border-bottom-color: #9f2361 !important;
  color: #9f2361 !important;
}

/* Pagination */
.pagination-btn-active {
  background-color: #9f2361 !important;
  color: white !important;
}

/* Selection highlight */
::selection {
  background-color: #9f2361 !important;
  color: white !important;
}

/* Focus states */
*:focus {
  outline-color: #9f2361 !important;
}

/* SVG fill overrides */
svg g[fill="#1d4f76"],
svg path[fill="#1d4f76"],
svg g[fill="#002240"],
svg path[fill="#002240"] {
  fill: #9f2361 !important;
}

/* Cookie banner - OneTrust overrides */
.ot-sdk-container,
#onetrust-consent-sdk,
#onetrust-banner-sdk,
#onetrust-pc-sdk,
.onetrust-pc-dark-filter,
#ot-sdk-cookie-policy,
.ot-sdk-cookie-policy,
#onetrust-group-container,
.ot-sdk-row {
  background-color: #9f2361 !important;
}

#onetrust-accept-btn-handler,
#onetrust-reject-all-handler,
#accept-recommended-btn-handler,
.ot-sdk-button,
.ot-pc-refuse-all-handler,
.save-preference-btn-handler,
#onetrust-pc-btn-handler {
  background-color: #5a1436 !important;
  border-color: #5a1436 !important;
  color: white !important;
}

#onetrust-accept-btn-handler:hover,
#onetrust-reject-all-handler:hover,
.ot-sdk-button:hover {
  background-color: #9f2361 !important;
  border-color: #9f2361 !important;
}

/* Cookie banner text and links */
#onetrust-policy-text,
#onetrust-policy-title,
.ot-dpd-title,
.ot-dpd-desc,
#onetrust-banner-sdk .ot-sdk-container,
#onetrust-banner-sdk * {
  color: white !important;
}

#onetrust-banner-sdk a,
#onetrust-banner-sdk .ot-link-btn {
  color: #c42d7a !important;
}

/* Manage cookies button */
#onetrust-pc-btn-handler.cookie-setting-link {
  color: white !important;
  border-color: white !important;
}

/* Quote component */
.quote-component {
  background-color: #9f2361 !important;
}

/* Swiper/Carousel */
.swiper-pagination-bullet-active {
  background-color: #9f2361 !important;
}

.swiper-button-next,
.swiper-button-prev {
  color: #9f2361 !important;
}

/* Floating button */
.floating-button,
.floating-button-component .floating-button {
  background-color: #9f2361 !important;
}

/* Filter components */
.filter-tag {
  background-color: rgba(159, 35, 97, 0.1) !important;
  border-color: #9f2361 !important;
  color: #9f2361 !important;
}

.filter-clear-filters {
  color: #9f2361 !important;
}

/* Logo replacement */
.logo-symbol,
.logo-text,
.desktop-logo-text,
.mobile-logo-text,
.desktop-logo,
.mobile-logo {
  background-image: none !important;
  display: none !important;
}

.logo-img {
  display: flex !important;
  align-items: center !important;
}

.logo-img::before {
  content: "";
  display: block;
  width: 200px;
  height: 50px;
  background-image: url("/assets/images/logo.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

.site-logo {
  display: block !important;
  height: 50px !important;
  width: auto !important;
}

/* ======================================= */
/* ADDITIONAL BLUE ELEMENT OVERRIDES      */
/* ======================================= */

/* Text box with blue class */
.text-box.blue,
.blue-box,
.blue-bg,
[class*="blue"] {
  background-color: #9f2361 !important;
  background: #9f2361 !important;
}

/* Email modal */
#emailModalToggle,
.emailpopup,
.modal-email-border,
.email-modal {
  background-color: rgba(159, 35, 97, 0.95) !important;
}

/* Share buttons pseudo-elements */
.link-text.st-custom-button::after,
.st-custom-button::after,
.sharethis_button_linkedin::after,
.sharethis_button_facebook::after,
.sharethis_button_twitter::after,
.sharethis_button_email::after {
  background-color: #9f2361 !important;
}

/* Global border color override */
*,
*::before,
*::after {
  border-color: inherit;
}

/* Override specific blue borders */
[style*="border"][style*="002240"],
[style*="border"][style*="144774"],
[style*="border"][style*="1d4f76"] {
  border-color: #9f2361 !important;
}

/* Feature text sections - removed rich-text-heading and section-component */
.feature-text-component,
.rich-text-component {
  background-color: #9f2361 !important;
}

/* Intro copy component - specific override */
.intro-copy-component,
.intro-copy-component-container {
  background-color: #9f2361 !important;
  background: linear-gradient(180deg, #5a1436, #9f2361) !important;
}

/* Sustainability and other specialty sections */
.sustainability-component,
.feature-component,
.cta-component,
.banner-component {
  background-color: #9f2361 !important;
  background: linear-gradient(180deg, #5a1436, #9f2361) !important;
}

/* Override any remaining inline style backgrounds */
div[style*="background"][style*="002240"],
div[style*="background"][style*="144774"],
div[style*="background"][style*="1d4f76"],
section[style*="background"][style*="002240"],
section[style*="background"][style*="144774"],
section[style*="background"][style*="1d4f76"] {
  background-color: #9f2361 !important;
  background: linear-gradient(180deg, #5a1436, #9f2361) !important;
}

/* Box shadow overrides */
[style*="box-shadow"][style*="002240"],
[style*="box-shadow"][style*="144774"] {
  box-shadow: none !important;
}

/* Anchor nav and navigation components */
.anchor-nav-component,
.anchor-bar-wrapper,
.anchor-bar-container {
  background-color: #9f2361 !important;
}

/* Text-box with blue class only */
.text-box.blue {
  background-color: #9f2361 !important;
}

/* Feature CTA component - override #737627 */
.feature-cta-component .feature-cta-wrapper,
.feature-cta-wrapper {
  background-color: #237f8c !important;
}

/* ======================================= */
/* UNIVERSAL #737627 OVERRIDE             */
/* Catch ALL elements with this color     */
/* ======================================= */

/* Override any element with background-color #737627 */
[style*="background-color: #737627"],
[style*="background-color:#737627"],
[style*="background: #737627"],
[style*="background:#737627"] {
  background-color: #237f8c !important;
  background: #237f8c !important;
}

/* Override any element with color #737627 */
[style*="color: #737627"],
[style*="color:#737627"] {
  color: #237f8c !important;
}

/* Override any element with border-color #737627 */
[style*="border"][style*="#737627"] {
  border-color: #237f8c !important;
}

/* Common classes that might use this olive/green color */
.olive,
.green,
.accent,
[class*="737627"] {
  background-color: #237f8c !important;
  color: #237f8c !important;
}
