/**
 * SunSpike shop & product styles
 * Migrated from Appearance → Additional CSS
 * Edit this file; deploy via blocksy-child folder only.
 */

:root {
	--ss-white: #fff;
	--ss-white-hex: #ffffff;
	--ss-ink: #1b3260;
	--ss-blue: #2777f2;
	--ss-cyan: #4fd1ff;
	--ss-night: #05080f;
	--ss-navy: #12285c;
	--ss-navy-deep: #081226;
	--ss-steel: #0d1830;
	--ss-steel-soft: #0a1224;
	--ss-line: #d0d8e4;
	--ss-muted: #7a8494;
	--ss-green: #43e6a4;
	--ss-royal: #1e3a8a;
	--ss-black: #000;
	--ss-cyan-soft: rgba(79, 209, 255, 0.7);
	--ss-mist: rgba(154, 171, 190, 0.55);
	--ss-white-14: rgba(255, 255, 255, 0.14);
}

/* Global type anchor: every element not given an explicit font-family
 * (footer links, stock tags, etc.) inherits the site's self-hosted
 * IBM Plex Sans instead of the theme's Arial default. */

body {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-synthesis: none;
  -webkit-font-synthesis: none;
  }

  /*
  * First-viewport enter (see inc/ss-elementor-motion.php).
  * Elementor’s .elementor-invisible is intentionally NOT overridden here —
  * above-fold anims are converted to these classes so paint isn’t gated on footer JS.
  */
  @media (prefers-reduced-motion: no-preference) {
  .ss-enter {
  animation-duration: .55s;
  animation-timing-function: cubic-bezier(.22, 1, .36, 1);
  animation-fill-mode: both;
  animation-delay: var(--ss-enter-delay, 0ms);
}

.ss-enter--fadeInUp {
  animation-name: ss-enter-up; }
  .ss-enter--fadeIn { animation-name: ss-enter-fade; }
  .ss-enter--fadeInDown { animation-name: ss-enter-down; }
  .ss-enter-delay-50 { --ss-enter-delay: 50ms; }
  .ss-enter-delay-100 { --ss-enter-delay: 100ms; }
  .ss-enter-delay-150 { --ss-enter-delay: 150ms; }
  .ss-enter-delay-200 { --ss-enter-delay: 200ms; }
  .ss-enter-delay-250 { --ss-enter-delay: 250ms; }
  .ss-enter-delay-300 { --ss-enter-delay: 300ms; }
  .ss-enter-delay-400 { --ss-enter-delay: 400ms; }
  @keyframes ss-enter-up {
  from { opacity: 0; transform: translate3d(0, 16px, 0);
}

to {
  opacity: 1; transform: none; }
  }
  @keyframes ss-enter-fade {
  from { opacity: 0; }
  to { opacity: 1; }
  }
  @keyframes ss-enter-down {
  from { opacity: 0; transform: translate3d(0, -16px, 0); }
  to { opacity: 1; transform: none; }
  }
  }
  @media (prefers-reduced-motion: reduce) {
  .ss-enter { animation: none !important; }
  }
  /* Brand index slides — height follows content (no inflated reserve) */
  #ss-home-bridge .ss-bridge-slides,
  #ss-home-bridge .ss-bridge-slides--live {
  min-height: 0;
  }
  @media (max-width: 767px) {
  #ss-home-bridge .ss-bridge-slides__viewport {
  min-height: 120px;
  }
  }

  @media (min-width: 691px) and (max-width: 1000px) {
  .final-sale-home-cta [data-products] {
  --shop-columns: repeat(3, minmax(0, 1fr))
  }
  }

  .final-sale-home-cta .product {
  --theme-text-color: rgba(255, 255, 255, 0.5);
  --theme-heading-color: var(--ss-white);
  }

  .elementor-icon-box-content {
  margin-top: -4px;
  }

  .wpforms-container {
  margin-bottom: 0px;
  }

  .ct-widget-cover-block {
  padding: 40px;
  }

  .widget_top_rated_products .product_list_widget .price {
  display: none !important;
  }


  /* === SS HEADER === */
  /*
  * Clean white bar (slab experiment reverted).
  * Nav: IBM Plex Sans @ 600 constant — hover/current only color + underline (no weight swap → no jitter).
  * Sticky: Customizer Effect = Fade (not Shrink). Do not paper over header chrome here.
  */
  /*
  * The imported _products-pack/global.pretty.css paints a teal→purple brand
  * gradient onto the header chrome ([data-header*="type-1"] .ct-header and its
  * [data-sticky] child). During the sticky "fade" scroll transition that white
  * middle row turns semi-transparent and the gradient bleeds through as a color
  * block below the header/hero. The header must stay white, so kill the gradient.
  */
  .ct-header,
  .ct-header [data-sticky*="yes"] {
  background-image: none !important;
  }
  .ct-header [data-id="menu"],
  .ct-header [data-id="menu"] > ul,
  .ct-header [data-id="menu"] > ul > li {
  --menu-items-spacing: 8px !important;
  }

  /*
   * Header menu typography is unified to IBM Plex Sans. This is an intentional
   * site-wide standard, so we keep ONE authoritative family override here and
   * mirror it in the critical header. Do not re-add another menu font-family
   * rule elsewhere.
   */
  /*
   * Enterprise Precision Industrial Caps (IBM Plex Sans)
   * 12.5px / uppercase / 0.09em tracking / SemiBold 600.
   * Professional final header: 80px cleanroom, slate-900 ink, 2px royal-blue baseline.
   */
  .ct-header [data-row="middle"] {
  --height: var(--ss-header-h) !important;
  height: 80px !important;
  min-height: 80px !important;
  background: #ffffff !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  position: relative;
  z-index: 50;
  }

  .ct-header [data-row="middle"] .ct-container,
  .ct-header [data-row="middle"] .ct-container-fluid {
  max-width: 1400px;
  height: 80px;
  min-height: 80px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  }

  .ct-header [data-column="middle"] {
  flex: 1;
  height: 80px;
  justify-content: center !important;
  }

  .ct-header [data-id="menu"] {
  flex: 1;
  height: 80px;
  display: flex;
  justify-content: center !important;
  }

  .ct-header [data-id="menu"] > ul {
  position: relative;
  height: 80px;
  z-index: 50;
  }

  .ct-header [data-id="menu"] > ul > li {
  position: relative;
  height: 80px;
  padding: 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  }

  .ct-header [data-id="menu"] > ul > li > a,
  .ct-header [data-id="menu"] > ul > li > a.ct-menu-link,
  .ct-header .header-menu-1 > ul > li > a.ct-menu-link {
  --theme-font-family: "IBM Plex Sans", "IBM Plex Sans Fallback", Helvetica, Arial, sans-serif !important;
  --theme-font-weight: 500 !important;
  --theme-font-size: 13px !important;
  --theme-letter-spacing: 0.02em !important;
  --theme-text-transform: uppercase !important;
  --theme-line-height: 1 !important;
  --theme-link-initial-color: #1e293b !important;
  --theme-link-hover-color: #084887 !important;
  --theme-link-active-color: #084887 !important;
  font-family: "IBM Plex Sans", "IBM Plex Sans Fallback", Helvetica, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  color: #1e293b !important;
  padding: 0 4px;
  text-decoration: none;
  position: relative;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: color 0.16s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }

  .ct-header [data-id="menu"] > ul > li::after,
  .ct-header [data-id="menu"] > ul > li::before {
  content: none;
  }

  .ct-header [data-id="menu"] > ul > li > a:hover,
  .ct-header [data-id="menu"] > ul > li > a.ct-menu-link:hover,
  .ct-header .header-menu-1 > ul > li > a.ct-menu-link:hover {
  --theme-font-weight: 500 !important;
  --theme-link-hover-color: #084887 !important;
  color: #084887 !important;
  font-weight: 500 !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  }

  .ct-header [data-id="menu"] > ul > li.current-menu-item > a,
  .ct-header [data-id="menu"] > ul > li.current_page_item > a,
  .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a,
  .ct-header [data-id="menu"] > ul > li.current-menu-item > a.ct-menu-link,
  .ct-header [data-id="menu"] > ul > li.current_page_item > a.ct-menu-link,
  .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a.ct-menu-link,
  .ct-header .header-menu-1 > ul > li.current-menu-item > a.ct-menu-link,
  .ct-header .header-menu-1 > ul > li.current_page_item > a.ct-menu-link,
  .ct-header .header-menu-1 > ul > li.current-menu-ancestor > a.ct-menu-link {
  --theme-font-weight: 500 !important;
  --theme-link-initial-color: #084887 !important;
  color: #084887 !important;
  font-weight: 500 !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  }
  .ct-header [data-id="menu"] > ul > li:hover::after,
  .ct-header .header-menu-1 > ul > li:hover::after,
  .ct-header [data-id="menu"] > ul > li.current-menu-item::after,
  .ct-header [data-id="menu"] > ul > li.current_page_item::after,
  .ct-header [data-id="menu"] > ul > li.current-menu-ancestor::after,
  .ct-header .header-menu-1 > ul > li.current-menu-item::after,
  .ct-header .header-menu-1 > ul > li.current_page_item::after,
  .ct-header .header-menu-1 > ul > li.current-menu-ancestor::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #0052cc !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 15;
  transition: opacity 0.2s ease, transform 0.2s ease;
  }

  .ct-header [data-id="menu"] > ul > li > a .ct-toggle-dropdown-desktop svg,
  .ct-header [data-id="menu"] > ul > li > a.ct-menu-link .ct-toggle-dropdown-desktop svg,
  .ct-header .header-menu-1 > ul > li > a.ct-menu-link .ct-toggle-dropdown-desktop svg {
  width: 9px !important;
  height: 9px !important;
  color: #334155;
  stroke-width: 2px;
  transition: color 0.16s ease, transform 0.16s ease;
  }

  .ct-header [data-id="menu"] > ul > li > a:hover .ct-toggle-dropdown-desktop svg,
  .ct-header [data-id="menu"] > ul > li > a.ct-menu-link:hover .ct-toggle-dropdown-desktop svg,
  .ct-header .header-menu-1 > ul > li > a.ct-menu-link:hover .ct-toggle-dropdown-desktop svg {
  color: #084887;
  transform: translateY(1px);
  opacity: 1;
  }

  .ct-header [data-id="menu"] > ul > li.current-menu-item > a .ct-toggle-dropdown-desktop svg,
  .ct-header [data-id="menu"] > ul > li.current_page_item > a .ct-toggle-dropdown-desktop svg,
  .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a .ct-toggle-dropdown-desktop svg {
  color: #084887;
  opacity: 1;
  }


  .ct-header [data-id="menu"] > ul > li.menu-item-has-children > a.ct-menu-link .ct-toggle-dropdown-desktop-ghost,
  .ct-header [data-id="menu"] > ul > li.menu-item-has-children > .ct-toggle-dropdown-desktop {
  color: inherit;
  }
  /* PRODUCTS 下拉箭头：Blocksy 默认 chevron 只有 8px，缩到这种尺寸时两撇斜边
  糊成一横，看起来像一条横向短线而非向下的箭头。放大到 11px 让它可辨识。 */
  .ct-header [data-id="menu"] > ul > li.menu-item-has-children > a.ct-menu-link .ct-toggle-dropdown-desktop svg {
  width: 11px !important;
  height: 11px !important;
  }
  .ct-header [data-id="search"],
  .ct-header [data-id="account"] {
  --theme-icon-size: 22px;
  }
  .ct-header [data-id="search"] {
  position: relative;
  margin-left: 18px !important;
  padding-left: 20px !important;
  }
  .ct-header [data-id="search"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 26px;
  transform: translateY(-50%);
  background: #e4eaf0;
  }
  /* Give the search trigger the same circular-button treatment as the phone
  icon so the two right-side actions read as one consistent icon language
  instead of one being a bare glyph and the other a bordered button. */
  .ct-header [data-id="search"] button,
  .ct-header button[data-id="search"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #d5dee8;
  border-radius: 50%;
  background: var(--ss-white);
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
  }
  .ct-header [data-id="search"] button,
  .ct-header [data-id="search"] .ct-button,
  .ct-header [data-id="account"] a,
  .ct-header [data-id="account"] .ct-button {
  color: #084887 !important;
  }
  .ct-header [data-id="search"] svg,
  .ct-header [data-id="account"] svg {
  width: 17px !important;
  height: 17px !important;
  }
  .ct-header [data-id="search"]:hover button,
  .ct-header button[data-id="search"]:hover,
  .ct-header [data-id="search"]:hover .ct-button,
  .ct-header [data-id="account"] a:hover {
  color: #084887 !important;
  border-color: var(--ss-ink);
  background: #f4f7fa;
  }
  /* Account removed — customers don't use login */
  .ct-header [data-id="account"] {
  display: none !important;
  }
  /* Support contact after search */
  .ct-header [data-id="text"] {
  --margin: 0 0 0 18px !important;
  }
  .ct-header [data-id="text"] .entry-content {
  margin: 0 !important;
  padding: 0 !important;
  }
  .ct-header [data-id="text"] .entry-content > *:last-child {
  margin-bottom: 0 !important;
  }
  .ss-header-support {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  line-height: 1.15;
  text-decoration: none;
  }
  .ss-header-support__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d8e0ea;
  border-radius: 50%;
  color: #084887 !important;
  background: var(--ss-white);
  text-decoration: none !important;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  }
  .ss-header-support__icon:hover {
  color: #084887 !important;
  border-color: #084887 !important;
  background: #f0f4fa !important;
  box-shadow: 0 0 0 3px rgba(8, 72, 135, 0.12) !important;
  }
  .ss-header-support__icon svg {
  display: block;
  width: 16px;
  height: 16px;
  }
  .ss-header-support__text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  }
  .ss-header-support__line {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  color: #084887 !important;
  white-space: nowrap;
  }
  .ss-header-support__title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #084887 !important;
  }
  .ss-header-support__mail {
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: #084887 !important;
  }
  .ss-header-support__mail:hover {
  color: #084887 !important;
  }
  @media (max-width: 1100px) {
  .ct-header [data-id="text"] {
  --margin: 0 0 0 12px !important;
  }
  .ss-header-support__icon {
  width: 38px;
  height: 38px;
  }
  }
  .ct-header [data-menu] > ul > li {
  --menu-indicator-opacity: 0 !important;
  --menu-indicator-width: 0 !important;
  --menu-indicator-height: 0 !important;
  }
  .ct-header [data-menu] > ul > li > a.ct-menu-link::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  }
  .ct-header [data-id="search"] button,
  .ct-header [data-id="search"] .ct-button,
  .ct-header [data-id="account"] a,
  .ct-header [data-id="account"] .ct-button,
  .ct-header [data-id="trigger"] button,
  .ct-header .ct-header-trigger {
  color: #344563 !important;
  }
  /* === SS HEADER END === */

  /* ═══════════════════════════════
  FOOTER — custom ss-footer (Blocksy widgets hidden)
  ═══════════════════════════════ */
  .ct-footer {
  display: none !important;
  }
  .ss-footer {
  position: relative;
  /* Dark site chrome — Contact stays in the white inventory chapter above */
  background: #0d1a37;
  color: rgba(255, 255, 255, 0.78);
  border-top: none;
  margin-top: 0;
  }
  .ss-footer::before {
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(90deg, rgba(39, 119, 242, 0.9), rgba(79, 209, 255, 0.5) 45%, rgba(39, 119, 242, 0.1));
  }
  .ss-footer a {
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: color .15s ease;
  }
  .ss-footer a:hover {
  color: var(--ss-white);
  }
  .ss-footer__inner {
  max-width: 1290px;
  margin: 0 auto;
  padding: 48px 24px 0;
  }
  .ss-footer__grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) repeat(3, minmax(140px, 1fr));
  gap: 40px 56px;
  align-items: start;
  padding-bottom: 44px;
  }
  .ss-footer__brand {
  padding-right: 8px;
  }
  .ss-footer__name {
  margin: -2px 0 16px;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 22px;
  font-weight: 750;
  letter-spacing: 0.1em;
  line-height: 1.1;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.96);
  }
  .ss-footer__tag {
  margin: 0 0 10px;
  max-width: 34em;
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.7);
  }
  .ss-footer__tag--2 {
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.58);
  }
  /* Footer contact — vertical list (narrow col; no boxes) */
  .ss-footer__ways {
  list-style: none;
  margin: 0;
  padding: 0;
  }
  .ss-footer__col .ss-footer__ways li {
  margin: 0 0 4px;
  }
  .ss-footer__ways li:last-child {
  margin-bottom: 0;
  }
  .ss-footer__ways a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: none !important;
  line-height: 1.15;
  }
  .ss-footer__ways a:hover {
  color: var(--ss-white) !important;
  }
  .ss-footer__ways-ico {
  flex: 0 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-top: 0;
  color: inherit;
  line-height: 0;
  }
  .ss-footer__ways-ico svg {
  display: block;
  width: 18px;
  height: 18px;
  overflow: visible;
  }
  .ss-footer__ways-txt {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  }
  .ss-footer__ways-name {
  font-size: 13.5px;
  font-weight: 400;
  color: inherit;
  }
  .ss-footer__ways-meta {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.52);
  word-break: break-word;
  }
  .ss-footer__ways a:hover .ss-footer__ways-meta {
  color: rgba(255, 255, 255, 0.78);
  }

  /* Panel contact — About (white) / Buyback+Contact (navy) */
  .ss-ways--panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0;
  }
  .ss-ways--panel .ss-ways__row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 56px;
  padding: 10px 14px 10px 12px;
  box-sizing: border-box;
  border: none;
  text-decoration: none !important;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
  }
  .ss-ways--panel .ss-ways__glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  line-height: 0;
  }
  .ss-ways--panel .ss-ways__glyph svg {
  display: block;
  width: 18px;
  height: 18px;
  overflow: visible;
  }
  .ss-ways--panel .ss-ways__copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  }
  .ss-ways--panel .ss-ways__name {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  }
  .ss-ways--panel .ss-ways__meta {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
  word-break: break-word;
  }
  .ss-ways--panel .ss-ways__go {
  font-size: 16px;
  line-height: 1;
  transition: color 0.15s ease, transform 0.15s ease;
  }

  /* Dark navy bands (default panel): Buyback / Contact Direct lines */
  .ss-ways--panel .ss-ways__row {
  border-left: 2px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.05);
  color: var(--ss-white) !important;
  }
  .ss-ways--panel .ss-ways__row:hover {
  background: rgba(39, 119, 242, 0.18);
  border-left-color: var(--ss-blue);
  transform: translateX(2px);
  }
  .ss-ways--panel .ss-ways__glyph {
  background: rgba(255, 255, 255, 0.08);
  color: #9ec4ff;
  }
  .ss-ways--panel .ss-ways__row:hover .ss-ways__glyph {
  background: rgba(39, 119, 242, 0.28);
  color: var(--ss-white);
  }
  .ss-ways--panel .ss-ways__name {
  color: var(--ss-white);
  }
  .ss-ways--panel .ss-ways__meta {
  color: rgba(226, 234, 250, 0.72);
  }
  .ss-ways--panel .ss-ways__go {
  color: rgba(255, 255, 255, 0.45);
  }
  .ss-ways--panel .ss-ways__row:hover .ss-ways__go {
  color: var(--ss-white);
  transform: translateX(3px);
  }

  /* About #about-bridge is navy (same as BUYBACK/Contact bands) — use default light-on-dark panel.
  Do not force navy-on-white here or channels look “empty” until hover. */

  /* Contact — ensure hero / The desk photo survive Elementor CSS regen */
  #contact-hero:not(.elementor-motion-effects-element-type-background),
  #contact-hero > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("/wp-content/uploads/2026/08/contact-hero-office.png") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-color: var(--ss-ink) !important;
  }
  #contact-reach:not(.elementor-motion-effects-element-type-background),
  #contact-reach > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("/wp-content/uploads/2026/08/contact-desk-band.png") !important;
  background-position: center right !important;
  background-size: cover !important;
  background-color: var(--ss-ink) !important;
  }
  /* Left-readable navy wash — photo peeks on the right (match BUYBACK contact band) */
  #contact-reach.e-con::before {
  background-image: linear-gradient(
  90deg,
  rgba(27, 50, 96, 0.96) 0%,
  rgba(27, 50, 96, 0.9) 42%,
  rgba(15, 31, 74, 0.72) 100%
  ) !important;
  opacity: 0.92 !important;
  }

  /*
  * Landing heroes (About / Contact / BUYBACK): CTA row alignment.
  * (Business/services-hero is styled by its own Elementor inline custom_css.)
  * Elementor default .e-con padding:10px shifts buttons +10px past H1;
  * solid (no border) vs ghost (1px) also skews pair height by ~2px.
  */
  #about-hero .about-hero-rail > .e-con:has(.elementor-widget-button),
  body.page-id-3410 .elementor > .e-con.e-parent > .e-con-inner > .e-con:has(> .elementor-widget-button),
  body.page-id-7294 .elementor > .e-con.e-parent > .e-con-inner > .e-con:has(> .elementor-widget-button) {
  padding: 0 !important;
  }
#about-hero .about-hero-rail .elementor-button,
body.page-id-3410 .elementor > .e-con.e-parent > .e-con-inner > .e-con:has(> .elementor-widget-button) .elementor-button,
body.page-id-7294 .elementor > .e-con.e-parent > .e-con-inner > .e-con:has(> .elementor-widget-button) .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  min-height: 48px;
  border-width: 1px !important;
  border-style: solid !important;
}

/* About Coverage: flat world map with radiating lanes from the Beijing hub.
   Visual target: 21st.dev dotted-map style - full-bleed white, faint grey
   dot landmass, thin blue arcs, white pill labels. */
#about-who .about-cov-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: 36px;
  align-items: stretch;
}

#about-who .about-world-map {
  position: relative;
  width: 100%;
  min-height: 340px;
  background: #ffffff;
  overflow: hidden;
}

/* Faint grey dotted landmass, matching the dotted-map reference. */
/* Elementor's background lazyload injects `background-image: none !important` on
   .e-con.e-parent:nth-of-type(n+4) descendants until the container is marked
   e-lazyloaded. The dotted landmass is a background image, so exempt this block. */
#about-who .e-con.e-parent:has(.about-world-map__dots) *,
#about-who .about-world-map__dots {
  background-image: revert !important;
}

#about-who .about-world-map__dots {
  position: absolute;
  inset: 0;
  filter: saturate(1.1) brightness(0.94);
  background-image: var(--ss-about-map-dots) !important;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 1;
  pointer-events: none;
}

#about-who .about-world-map__routes {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
  overflow: visible;
  /* Promote to its own layer: the lane/pulse animations then composite on the
     GPU instead of repainting the whole map every frame during scroll. */
  will-change: transform;
  transform: translateZ(0);
}

/* Lanes in both directions between hub and each city. */
/* Hairline lanes: the reference uses barely-there blue thread lines. */
#about-who .about-world-map__arc {
  fill: none;
  stroke: url(#about-world-map-lane);
  stroke-width: 0.165;
  stroke-linecap: round;
  opacity: 0.85;
  vector-effect: non-scaling-stroke;
}

/* Travelling highlight along each lane: the "dynamic line" in the reference. */
/* Travelling highlight: a soft bright pulse, not a fat glowing dash. */
#about-who .about-world-map__flow {
  fill: none;
  stroke: #8fc7ff;
  stroke-width: 0.30;
  stroke-linecap: round;
  stroke-dasharray: 9 91;
  opacity: 0.9;
  vector-effect: non-scaling-stroke;
}



#about-who .about-world-map__node-dot,
#about-who .about-world-map__hub-core {
  fill: #2f8fe0;
  vector-effect: non-scaling-stroke;
}

/* Static blurred halo behind each marker. It never animates, so the filter
   result is rasterised once and cached instead of every frame. */
#about-who .about-world-map__halo {
  fill: #2f8fe0;
  opacity: 0.85;
  pointer-events: none;
}

/* Pulses animate transform/opacity via CSS; the inline SMIL <animate> on r is
   removed so the browser never re-rasterises the SVG geometry each frame. */
#about-who .about-world-map__node-pulse {
  fill: #2f8fe0;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

#about-who .about-world-map__hub-pulse {
  fill: #2f8fe0;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

/* White pill label behind each city name. */
#about-who .about-world-map__tag-bg {
  fill: #ffffff;
  stroke: #e8ecf1;
  stroke-width: 0.08;
  filter: drop-shadow(0 1px 2px rgba(15, 35, 70, 0.09));
  vector-effect: non-scaling-stroke;
}

#about-who .about-world-map__label {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  fill: #1f2d3d;
}

#about-who .about-world-map__label--hub {
  fill: #12285c;
  font-weight: 700;
}

#about-who .about-world-map__tag-bg {
  vector-effect: non-scaling-stroke;
}

#about-who .about-cov-global {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#about-who .about-cov-kicker {
  margin: 0 0 18px;
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1e3a8a;
}

#about-who .about-cov-lanes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
}

#about-who .about-cov-lanes li {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 0 0 12px;
  border-left: 2px solid rgba(47, 143, 255, 0.35);
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
}

#about-who .about-cov-lanes li.is-hub {
  border-left-color: #2f8fff;
}

#about-who .about-cov-region {
  font-size: 14px;
  font-weight: 700;
  color: #12285c;
}

#about-who .about-cov-detail {
  font-size: 13px;
  color: #5a6b7d;
  line-height: 1.4;
}

#about-who .about-cov-lanes li.is-hub .about-cov-region {
  color: #2f8fff;
}

@media (max-width: 1024px) {
  #about-who .about-cov-wrap {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  #about-who .about-world-map {
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  #about-who .about-world-map {
    min-height: 300px;
  }
}

@keyframes ss-about-map-pulse {
  0% {
    opacity: 0.55;
    transform: scale(1);
  }
  /* Reaches the same 4x radius the original SMIL <animate> produced, so the
     pulse looks unchanged - only the animated property changed. */
  100% {
    opacity: 0;
    transform: scale(4);
  }
}

@keyframes ss-about-map-flow {
  from {
    stroke-dashoffset: 100;
  }
  to {
    stroke-dashoffset: 0;
  }
}

/* Animations only run while the map is on screen. Once it scrolls out, every
   lane and pulse holds a still frame, so scrolling elsewhere stays smooth. */
#about-who .about-world-map--live .about-world-map__flow {
  animation: ss-about-map-flow 3s linear infinite;
}

#about-who .about-world-map--live .about-world-map__node-pulse,
#about-who .about-world-map--live .about-world-map__hub-pulse {
  animation: ss-about-map-pulse 2.8s ease-out infinite;
  animation-delay: var(--ss-pulse-delay, 0s);
}

#about-who .about-world-map--live .about-world-map__hub-pulse {
  animation-name: ss-about-map-pulse-hub;
}

@keyframes ss-about-map-pulse-hub {
  0% {
    opacity: 0.55;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(4.2);
  }
}

@media (prefers-reduced-motion: reduce) {
  #about-who .about-world-map__node-pulse,
  #about-who .about-world-map__hub-pulse {
    animation: none;
  }

  #about-who .about-world-map--live .about-world-map__flow,
  #about-who .about-world-map--live .about-world-map__node-pulse,
  #about-who .about-world-map--live .about-world-map__hub-pulse {
    animation: none;
  }

  #about-who .about-world-map__flow {
    opacity: 0.35;
  }

  #about-who .about-world-map__node-dot,
  #about-who .about-world-map__hub-core {
    opacity: 1;
  }
}

  /* Solid primary keeps a matching border so height matches ghost */
  #about-hero .about-hero-rail .elementor-widget-button:first-child .elementor-button,
  body.page-id-3410 .elementor > .e-con.e-parent > .e-con-inner > .e-con:has(> .elementor-widget-button) > .elementor-widget-button:first-child .elementor-button,
  body.page-id-7294 .elementor > .e-con.e-parent > .e-con-inner > .e-con:has(> .elementor-widget-button) > .elementor-widget-button:first-child .elementor-button {
  border-color: var(--ss-blue) !important;
  }

  .ss-footer__label {
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ss-white-14);
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
  }
  .ss-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  }
  .ss-footer__col li {
  margin: 0 0 10px;
  font-size: 13.5px;
  line-height: 1.35;
  }
  .ss-footer__col li:last-child,.ss-footer__links li:last-child {
  margin-bottom: 0;
  }
  .ss-footer__cta:hover {
  background: var(--ss-ink);
  border-color: var(--ss-white);
  }
  .ss-footer__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  padding: 16px 0 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  }
  .ss-footer__addr,
  .ss-footer__copy,
  .ss-footer__meta {
  font-family: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  margin: 0;
  }
  .ss-footer__addr {
  flex: 1 1 240px;
  line-height: 1.45;
  }
  .ss-footer__meta a:hover {
  color: var(--ss-white);
  }
  @media (max-width: 999px) {
  .ss-footer__grid {
  grid-template-columns: 1fr 1fr;
  gap: 32px 28px;
  padding-bottom: 36px;
  }
  .ss-footer__brand {
  grid-column: 1 / -1;
  padding-right: 0;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  }
  @media (max-width: 689px) {
  .ss-footer__inner {
  padding: 36px 18px 0;
  }
  .ss-footer__grid {
  grid-template-columns: 1fr;
  gap: 28px;
  padding-bottom: 32px;
  }
  .ss-footer__brand {
  grid-column: auto;
  border-bottom: 0;
  padding-bottom: 0;
  }
  .ss-footer__bar {
  flex-direction: column;
  align-items: flex-start;
  }
  }

  .search.post-type-archive-product .woo-listing-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 45px;
  margin: 0 0 18px !important;
  }
  .search.post-type-archive-product .woocommerce-result-count {
  margin: 0 !important;
  flex: 0 1 auto;
  }

/* ==========================================================================
   Header — single authoritative block (no stacked overrides)
   ========================================================================== */
:root {
  --ss-header-h: 80px;
  --ss-logo-h: calc(var(--ss-header-h) * 1.1818);
}

.ct-header [data-row="middle"] {
  --height: var(--ss-header-h) !important;
  height: var(--ss-header-h) !important;
  min-height: var(--ss-header-h) !important;
  overflow: visible;
}

.ct-header [data-row="middle"] .ct-container,
.ct-header [data-row="middle"] .ct-container-fluid {
  height: var(--ss-header-h) !important;
  min-height: var(--ss-header-h) !important;
}

.ct-header [data-column="middle"],
.ct-header [data-items],
.ct-header [data-id="menu"],
.ct-header [data-id="menu"] > ul,
.ct-header [data-id="menu"] > ul > li {
  height: 100% !important;
}

.ct-header .site-logo-container {
  --logo-max-height: var(--ss-logo-h) !important;
  --logo-shrink-height: var(--ss-logo-h) !important;
  height: var(--ss-logo-h) !important;
  max-height: none !important;
  margin-top: calc((var(--ss-header-h) - var(--ss-logo-h)) / 2);
  margin-bottom: calc((var(--ss-header-h) - var(--ss-logo-h)) / 2);
}

.ct-header .site-logo-container img {
  max-height: var(--ss-logo-h) !important;
  height: var(--ss-logo-h) !important;
  width: auto !important;
}

/* Mobile / pad menu cleanup */
.ct-panel-content .ct-header-cta[data-id="button"],
.ct-panel-content .ct-header-socials {
  display: none !important;
}

.mobile-menu .ss-mega-parent .ct-toggle-dropdown-mobile,
.mobile-menu .ss-mega-parent .sub-menu {
  display: none !important;
}

/* ==========================================================================
   V60 — 24/7 support block: muted service label + high-contrast email
   ========================================================================== */
.ss-header-support {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.ss-header-support__title {
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #64748b !important;
}

.ss-header-support__mail {
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  color: #0f172a !important;
  transition: color 0.15s ease !important;
}

.ss-header-support__mail:hover {
  color: #084887 !important;
}

.ss-header-support__icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid #e2e8f0 !important;
  background-color: #f8fafc !important;
  color: #475569 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.15s ease !important;
}

.ss-header-support:hover .ss-header-support__icon {
  border-color: #cbd5e1 !important;
  color: #084887 !important;
}

/* ==========================================================================
   V61 — 24/7 support balanced final: slate-600 label + slate-800 email
   ========================================================================== */
.ss-header-support {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.ss-header-support__title {
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #475569 !important;
  margin-bottom: 2px !important;
}

.ss-header-support__mail {
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  color: #1e293b !important;
  transition: color 0.15s ease !important;
}

.ss-header-support__mail:hover {
  color: #084887 !important;
}

.ss-header-support__icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid #cbd5e1 !important;
  background-color: #f8fafc !important;
  color: #334155 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.15s ease !important;
}

.ss-header-support:hover .ss-header-support__icon {
  border-color: #084887 !important;
  color: #084887 !important;
}

/* V62 — keep 24/7 Support Center title in natural casing */
.ss-header-support__title {
  text-transform: none !important;
}

/* V63 — increase 24/7 Support Center title size slightly */
.ss-header-support__title {
  font-size: 12.5px !important;
}

/* V64 — enlarge 24/7 Support Center and use header hover blue */
.ss-header-support__title {
  font-size: 14px !important;
  color: #084887 !important;
}

/* V65 — deepen title, lighten email */
.ss-header-support__title {
  color: #003399 !important;
}

.ss-header-support__mail {
  color: #64748b !important;
}

/* ==========================================================================
   V66 — replace WhatsApp icon with live-inventory status dot
   ========================================================================== */
.ss-header-support__icon {
  width: 7px !important;
  height: 7px !important;
  min-width: 7px !important;
  min-height: 7px !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  position: relative !important;
  pointer-events: none !important;
}

.ss-header-support__icon svg {
  display: none !important;
}

.ss-header-support__icon::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 50% !important;
  background: #059669 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.18) !important;
  animation: ssStatusPulse 3s ease-in-out infinite !important;
}

@keyframes ssStatusPulse {
  0%, 100% {
    box-shadow: 0 0 0 2.5px rgba(16, 185, 129, 0.18);
  }
  50% {
    box-shadow: 0 0 0 4.5px rgba(16, 185, 129, 0.32);
  }
}

/* ==========================================================================
   V67 — keep WhatsApp icon + add LIVE INVENTORY green pulse badge
   ========================================================================== */
.ss-header-support__icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  color: #334155 !important;
  pointer-events: auto !important;
  position: relative !important;
}

.ss-header-support__icon svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  color: currentColor !important;
}

.ss-header-support__icon::after {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  right: -1px !important;
  left: auto !important;
  width: 8px !important;
  height: 8px !important;
  transform: none !important;
  border-radius: 50% !important;
  background: #059669 !important;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px rgba(16, 185, 129, 0.25) !important;
  animation: ssLiveInventoryPulse 2.4s ease-in-out infinite !important;
}

.ss-header-support:hover .ss-header-support__icon {
  border-color: #cbd5e1 !important;
  color: #084887 !important;
}

@keyframes ssLiveInventoryPulse {
  0%, 100% {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px rgba(16, 185, 129, 0.2);
  }
  50% {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 5.5px rgba(16, 185, 129, 0.35);
  }
}

/* ==========================================================================
   V68 — support hover turns green + sonar pulse from WhatsApp badge
   ========================================================================== */
.ss-header-support {
  cursor: pointer !important;
}

.ss-header-support__icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  color: #334155 !important;
  position: relative !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ss-header-support__icon svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  color: currentColor !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ss-header-support__icon::before {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  right: -1px !important;
  left: auto !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: rgba(16, 185, 129, 0.45) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.ss-header-support__icon::after {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  right: -1px !important;
  left: auto !important;
  width: 8px !important;
  height: 8px !important;
  transform: none !important;
  border-radius: 50% !important;
  background: #059669 !important;
  box-shadow: 0 0 0 2px #ffffff !important;
  animation: ssSupportIdlePulse 2.8s ease-out infinite !important;
}

.ss-header-support:hover .ss-header-support__icon {
  background: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
  color: #059669 !important;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15) !important;
}

.ss-header-support:hover .ss-header-support__icon svg {
  color: #059669 !important;
  transform: scale(1.06) !important;
}

.ss-header-support:hover .ss-header-support__icon::after {
  animation: ssSupportSonar 1.4s cubic-bezier(0, 0.2, 0.8, 1) infinite !important;
}

.ss-header-support:hover .ss-header-support__icon::before {
  animation: ssSupportSonar 1.4s cubic-bezier(0, 0.2, 0.8, 1) 0.6s infinite !important;
}

.ss-header-support:hover .ss-header-support__mail {
  color: #084887 !important;
}

.ss-header-support:hover .ss-header-support__title {
  color: #334155 !important;
}

@keyframes ssSupportIdlePulse {
  0% {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px rgba(16, 185, 129, 0.22);
  }
  60%, 100% {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 7px rgba(16, 185, 129, 0);
  }
}

@keyframes ssSupportSonar {
  0% {
    transform: scale(1);
    opacity: 0.9;
  }
  100% {
    transform: scale(3.4);
    opacity: 0;
  }
}

/* ==========================================================================
   V69 — smaller LIVE INVENTORY-style breathing green dot
   ========================================================================== */
.ss-header-support__icon::before,
.ss-header-support__icon::after {
  width: 6px !important;
  height: 6px !important;
}

.ss-header-support__icon::after {
  animation: ssSupportDotBreath 2.8s ease-in-out infinite !important;
}

@keyframes ssSupportDotBreath {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px rgba(16, 185, 129, 0.20);
  }
  50% {
    transform: scale(1.25);
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 5px rgba(16, 185, 129, 0.32);
  }
}

/* ==========================================================================
   V70 — decouple WhatsApp icon hover from email hover
   ========================================================================== */
.ss-header-support:hover .ss-header-support__mail {
  color: #64748b !important;
}

.ss-header-support:hover .ss-header-support__title {
  color: #003399 !important;
}

.ss-header-support__mail:hover {
  color: #084887 !important;
}

.ss-header-support:hover .ss-header-support__icon:not(:hover) {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #334155 !important;
  box-shadow: none !important;
}

.ss-header-support:hover .ss-header-support__icon:not(:hover) svg {
  color: #334155 !important;
  transform: none !important;
}

.ss-header-support:hover .ss-header-support__icon:not(:hover)::before {
  opacity: 0 !important;
  animation: none !important;
}

.ss-header-support:hover .ss-header-support__icon:not(:hover)::after {
  animation: ssSupportDotBreath 2.8s ease-in-out infinite !important;
}

.ss-header-support .ss-header-support__icon:hover {
  background: #ecfdf5 !important;
  border-color: #a7f3d0 !important;
  color: #059669 !important;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15) !important;
}

.ss-header-support .ss-header-support__icon:hover svg {
  color: #059669 !important;
  transform: scale(1.06) !important;
}

.ss-header-support .ss-header-support__icon:hover::after {
  animation: ssSupportSonar 1.4s cubic-bezier(0, 0.2, 0.8, 1) infinite !important;
}

.ss-header-support .ss-header-support__icon:hover::before {
  animation: ssSupportSonar 1.4s cubic-bezier(0, 0.2, 0.8, 1) 0.6s infinite !important;
}

/* ==========================================================================
   V71 — ensure email link hover wins over support-container hover
   ========================================================================== */
.ss-header-support:hover .ss-header-support__mail:hover {
  color: #084887 !important;
}

/* ==========================================================================
   V72 — 24/7 Support Center title: text only, no hover/event
   ========================================================================== */
.ss-header-support__title {
  pointer-events: none !important;
  cursor: default !important;
  user-select: none !important;
}

/* ==========================================================================
   V73 — no pointer cursor over 24/7 Support Center text
   ========================================================================== */
.ss-header-support {
  cursor: default !important;
}

.ss-header-support__icon,
.ss-header-support__mail {
  cursor: pointer !important;
}

/* ==========================================================================
   V74 — lock support text colors so parent hover does not move them
   ========================================================================== */
.ss-header-support__title,
.ss-header-support:hover .ss-header-support__title {
  color: #003399 !important;
  transition: none !important;
}

.ss-header-support__mail,
.ss-header-support:hover .ss-header-support__mail {
  color: #64748b !important;
  transition: none !important;
}

.ss-header-support .ss-header-support__mail:hover {
  color: #084887 !important;
}

/* ==========================================================================
   V75 — bold-looking hover/current without layout shift
   ========================================================================== */
.ct-header [data-id="menu"] > ul > li > a:hover,
.ct-header [data-id="menu"] > ul > li > a.ct-menu-link:hover,
.ct-header .header-menu-1 > ul > li > a.ct-menu-link:hover,
.ct-header [data-id="menu"] > ul > li.current-menu-item > a,
.ct-header [data-id="menu"] > ul > li.current_page_item > a,
.ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a,
.ct-header .header-menu-1 > ul > li.current-menu-item > a.ct-menu-link,
.ct-header .header-menu-1 > ul > li.current_page_item > a.ct-menu-link,
.ct-header .header-menu-1 > ul > li.current-menu-ancestor > a.ct-menu-link {
  font-weight: 500 !important;
  text-shadow: 0 0 0.45px #084887, 0 0 0.45px #084887 !important;
}
