/* GI Site 2.5.4 / M9-HF4
   Stable-surface interaction contract.

   Rule: hovering an interactive card must never brighten, recolor or flash the
   whole surface. Feedback is limited to local affordances (arrow/icon/text).
   This file is loaded last so legacy card hover rules cannot re-introduce a
   full-card highlight. */

:root{
  --gi-stable-themed-surface:
    radial-gradient(circle at 12% 0%,rgba(64,145,238,.12),transparent 31%),
    radial-gradient(circle at 92% 100%,rgba(134,212,255,.055),transparent 34%),
    linear-gradient(152deg,rgba(18,25,36,.96),rgba(8,12,19,.94));
  --gi-stable-themed-border:rgba(126,188,249,.20);
  --gi-stable-themed-shadow:0 28px 82px rgba(0,0,0,.26),0 12px 36px rgba(37,140,255,.10),inset 0 1px 0 rgba(255,255,255,.07);
}

/* Core cards which already share the GI deep-tech surface after brand.css.
   Lock BOTH resting and hover state to one identical surface. */
:is(
  .gi-product-card,
  .gi-product-card-featured,
  .gi-security-suite-card,
  .service-card,
  .data-card,
  .gi-portfolio-card,
  .gi-cashflow-module
){
  border-color:var(--gi-stable-themed-border)!important;
  box-shadow:var(--gi-stable-themed-shadow)!important;
}

:is(.gi-product-card,.gi-product-card-featured,.gi-security-suite-card,.data-card){
  background:var(--gi-stable-themed-surface)!important;
}

:is(.gi-product-card,.gi-product-card-featured,.gi-security-suite-card,.service-card,.data-card,.gi-portfolio-card,.gi-cashflow-module):hover{
  transform:none!important;
  filter:none!important;
  border-color:var(--gi-stable-themed-border)!important;
  box-shadow:var(--gi-stable-themed-shadow)!important;
}
:is(.gi-product-card,.gi-product-card-featured,.gi-security-suite-card,.data-card):hover{
  background:var(--gi-stable-themed-surface)!important;
}

/* Surfaces whose resting fill intentionally differs from the shared blue
   product surface. The hover fill is byte-for-byte the same as rest. */
.service-card,
.service-card:hover{
  background:linear-gradient(155deg,rgba(255,255,255,.105),rgba(255,255,255,.04))!important;
}
.gi-portfolio-card,
.gi-portfolio-card:hover{
  background:linear-gradient(155deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;
}
.gi-cashflow-module,
.gi-cashflow-module:hover{background:rgba(255,255,255,.04)!important}
.gi-cashflow-family-card,
.gi-cashflow-family-card:hover{background:linear-gradient(155deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important}
.service-subnav>a,
.service-subnav>a:hover{background:rgba(255,255,255,.045)!important}
.data-explorer-link:not(.active),
.data-explorer-link:not(.active):hover{background:rgba(9,9,9,.34)!important}
.v8-family-card,
.v8-family-card:hover{background:rgba(10,10,10,.47)!important}
.ai-intent-link-grid a,
.ai-intent-link-grid a:hover{background:rgba(10,10,10,.38)!important}
.m2-related-grid a,
.m2-related-grid a:hover{background:rgba(255,255,255,.022)!important}
.m2-choice-card,
.m2-choice-card:hover{background:linear-gradient(155deg,rgba(255,255,255,.052),rgba(255,255,255,.018))!important}
.gi-commercial-entry-card,
.gi-commercial-entry-card:hover{background:linear-gradient(155deg,rgba(255,255,255,.048),rgba(255,255,255,.022))!important}
.gi-partner-home-grid .gi-partner-home-card-link,
.gi-partner-home-grid .gi-partner-home-card-link:hover{background:rgba(8,10,14,.28)!important}
.gi-partner-entry-card,
.gi-partner-entry-card:hover{background:linear-gradient(145deg,rgba(18,28,39,.86),rgba(7,13,21,.9))!important}
.gi-partner-entry-card--partner,
.gi-partner-entry-card--partner:hover{background:linear-gradient(145deg,rgba(18,34,52,.88),rgba(7,14,23,.92))!important}
.gi-partner-path-card,
.gi-partner-path-card:hover{background:rgba(8,15,24,.72)!important}
.gi-needs-grid>a,
.gi-needs-grid>a:hover{background:rgba(255,255,255,.032)!important}
.visual-pillar,
.visual-pillar:hover{background:rgba(12,12,12,.78)!important}
.eco-module,
.eco-module:hover{background:rgba(12,12,12,.78)!important}
.system-node,
.system-node:hover,
.visual.connected-system .system-node,
.visual.connected-system .system-node:hover{background:rgba(10,10,10,.74)!important}
.gi-badge,
.gi-badge:hover{background:rgba(10,10,10,.80)!important}

/* Legacy generic cards: keep their existing resting fill and remove the glow
   portion of their hover state. */
:is(.card,.panel,.system-card,.trust-item,.ai-usecase-card,.ai-decision-card,.cta-panel){
  background:var(--gi-stable-themed-surface)!important;
}
:is(.card,.panel,.system-card,.trust-item,.ai-usecase-card,.ai-decision-card,.cta-panel):hover{
  background:var(--gi-stable-themed-surface)!important;
  filter:none!important;
}
.product-row,
.product-row:hover{background:linear-gradient(155deg,rgba(255,255,255,.090),rgba(255,255,255,.036))!important}

/* No card-wide movement. Local arrow/icon animations remain available because
   they are descendants and are not selected here. */
:is(
  .gi-product-card,.gi-product-card-featured,.gi-security-suite-card,
  .service-card,.gi-portfolio-card,.gi-cashflow-module,.gi-cashflow-family-card,
  .service-subnav>a,.data-card,.data-explorer-link,.v8-family-card,
  .ai-intent-link-grid a,.m2-related-grid a,.m2-choice-card,
  .gi-commercial-entry-card,.gi-partner-home-card-link,.gi-partner-entry-card,
  .gi-partner-path-card,.gi-needs-grid>a,.product-row,.wp-rocketboot-link,
  .gi-tech-card,.gi-symbio-principles article,.gi-symbio-stack article
):hover{
  transform:none!important;
  filter:none!important;
}

/* Remove full-card sweep / shimmer layers entirely. They used to disappear or
   move only on hover, which itself caused a visible background flash. */
:is(.gi-product-card-featured,.gi-security-suite-card,.card)::before,
.system-node::after{
  opacity:0!important;
  transform:none!important;
  filter:none!important;
  transition:none!important;
}

/* Decorative ::after surfaces stay static; never animate on interaction. */
:is(
  .gi-portfolio-card,.gi-product-card,.gi-product-card-featured,
  .gi-security-suite-card,.gi-engineering-case,.service-card,.data-card
)::after{
  transition:none!important;
}

/* Mobile menu rows: no full-row background flash. */
.mobile-menu a:not(.mobile-menu-cta),
.mobile-menu a:not(.mobile-menu-cta):hover{
  background:rgba(255,255,255,.045)!important;
}

/* Primary mobile CTA remains intentionally highlighted in every interaction
   state. */
.mobile-menu .mobile-menu-cta,
.mobile-menu .mobile-menu-cta:hover,
.mobile-menu .mobile-menu-cta:focus-visible,
.mobile-menu .mobile-menu-cta.active{
  background:linear-gradient(135deg,#fff,#e8eef6)!important;
  color:#081019!important;
  border-color:rgba(255,255,255,.82)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  transform:none!important;
}
.mobile-menu .mobile-menu-cta:focus-visible{
  outline:2px solid rgba(134,212,255,.82)!important;
  outline-offset:3px!important;
}

@media(prefers-reduced-motion:reduce){
  :is(.gi-product-card,.service-card,.m2-choice-card,.gi-commercial-entry-card,.gi-partner-entry-card,.gi-partner-path-card):hover{
    transform:none!important;
  }
}
