/**
 * Site-wide glossy icons + moving shine
 * Applies to feature icons, nav icons, list icons, org marks.
 * Skips tiny chrome (menu / expand_more chevrons / carousel arrows).
 */

@keyframes eh-icon-shine {
  0%, 22% { transform: translateX(-160%) skewX(-16deg); opacity: 0; }
  30% { opacity: 1; }
  52% { transform: translateX(260%) skewX(-16deg); opacity: 0.9; }
  60%, 100% { transform: translateX(260%) skewX(-16deg); opacity: 0; }
}

:root {
  --eh-icon-gloss-bg: linear-gradient(160deg, #ffffff 0%, #eef4ff 48%, #dce8ff 100%);
  --eh-icon-gloss-border: rgba(75, 123, 255, 0.35);
  --eh-icon-gloss-shadow:
    0 12px 26px rgba(24, 51, 112, 0.16),
    inset 0 2px 0 rgba(255, 255, 255, 0.96),
    inset 0 -3px 8px rgba(39, 89, 213, 0.12),
    0 0 18px rgba(77, 141, 255, 0.28);
}

/* Shared shine sweep */
.eh-icon-gloss::after,
body.crystal-site .nav-dropdown__icon::after,
body.crystal-site .home-tile > .material-symbols-outlined::after,
body.crystal-site .svc-card__icon::after,
body.crystal-site .auto-card__icon::after,
body.crystal-site .home-tile__icon::after,
body.crystal-site .eh-icon-gloss--img::after,
body.crystal-site .faq-group__icon::after,
body.crystal-site .faq-item__icon::after,
body.crystal-site .ach-stat-card__icon::after,
body.crystal-site .ach-story-card__icon::after,
body.crystal-site .ach-highlight-item__icon::after,
body.crystal-site .prod-detail-feature__icon::after,
body.crystal-site .prod-detail-why__icon::after,
body.crystal-site .prod-detail-benefit__icon::after,
body.crystal-site .founder-pro-pillar__icon::after,
body.crystal-site .about-corp-reason__icon::after,
body.crystal-site .careers-hero-apply__step-icon::after,
body.crystal-site .eh-corp-footer__contact .material-symbols-outlined::after,
body.crystal-site .v3-mark::after,
body.crystal-site .solution-card-icon::after,
body.crystal-site .corp-why-icon::after,
body.crystal-site .feature-icon-rail::after,
body.crystal-site .v3-feature-mark::after,
body.crystal-site .v3-pillar-mark::after,
body.crystal-site .product-service-icon::after {
  content: "";
  position: absolute;
  top: -25%;
  left: -45%;
  width: 48%;
  height: 150%;
  border-radius: inherit;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 38%,
    rgba(255, 255, 255, 0.85) 50%,
    rgba(255, 255, 255, 0) 62%,
    transparent 100%
  );
  transform: translateX(-140%) skewX(-16deg);
  animation: eh-icon-shine 3.4s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}

/* Base glossy plate for Material feature icons inside cards / sections */
body.crystal-site .home-tile > .material-symbols-outlined,
body.crystal-site .svc-card .material-symbols-outlined,
body.crystal-site .svc-hub-card .material-symbols-outlined,
body.crystal-site .auto-card .material-symbols-outlined,
body.crystal-site .prod-module-card .material-symbols-outlined,
body.crystal-site .web-svc-card .material-symbols-outlined,
body.crystal-site .page-pro-panel .material-symbols-outlined,
body.crystal-site .founder-pro-pillar .material-symbols-outlined,
body.crystal-site .careers-value-card .material-symbols-outlined,
body.crystal-site .careers-role-card .material-symbols-outlined,
body.crystal-site .about-corp-pillar .material-symbols-outlined,
body.crystal-site .about-corp-reason .material-symbols-outlined,
body.crystal-site .ach-stat-card .material-symbols-outlined,
body.crystal-site .ach-story-card .material-symbols-outlined,
body.crystal-site .prod-detail-feature .material-symbols-outlined,
body.crystal-site .prod-detail-why .material-symbols-outlined,
body.crystal-site .faq-group__icon,
body.crystal-site .faq-item__icon,
body.crystal-site .faq-hero-panel__icon,
body.crystal-site .svc-card__icon,
body.crystal-site .auto-card__icon,
body.crystal-site .home-tile__icon,
body.crystal-site .nav-dropdown__icon,
body.crystal-site .eh-corp-footer__contact .material-symbols-outlined,
body.automation-premium .auto-card .material-symbols-outlined {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: var(--eh-icon-gloss-bg) !important;
  border: 1px solid var(--eh-icon-gloss-border) !important;
  box-shadow: var(--eh-icon-gloss-shadow) !important;
  border-radius: 16px !important;
  color: #095cff !important;
}

/* Sized plates for card lead icons */
body.crystal-site .home-tile > .material-symbols-outlined,
body.crystal-site .svc-card__icon,
body.crystal-site .auto-card__icon,
body.crystal-site .home-tile__icon,
body.crystal-site .web-svc-card .material-symbols-outlined.text-\[32px\],
body.crystal-site .home-tile .material-symbols-outlined.text-\[32px\] {
  width: 3.35rem !important;
  height: 3.35rem !important;
  min-width: 3.35rem;
  font-size: 1.65rem !important;
  margin-bottom: 1.1rem !important;
}

body.crystal-site .nav-dropdown__icon {
  width: 2.55rem !important;
  height: 2.55rem !important;
  border-radius: 14px !important;
}

body.crystal-site .nav-dropdown__icon .material-symbols-outlined {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 3 !important;
}

body.crystal-site .nav-dropdown__icon::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 3px;
  height: 40%;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0));
  pointer-events: none;
  z-index: 1;
}

/* List / inline check icons — smaller glossy discs */
body.crystal-site li > .material-symbols-outlined,
body.crystal-site .flex.gap-2 > .material-symbols-outlined,
body.crystal-site .svc-check .material-symbols-outlined {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.7rem !important;
  height: 1.7rem !important;
  min-width: 1.7rem;
  font-size: 1.05rem !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: var(--eh-icon-gloss-bg) !important;
  border: 1px solid var(--eh-icon-gloss-border) !important;
  box-shadow: var(--eh-icon-gloss-shadow) !important;
  color: #095cff !important;
  flex-shrink: 0;
}

body.crystal-site li > .material-symbols-outlined::after,
body.crystal-site .flex.gap-2 > .material-symbols-outlined::after,
body.crystal-site .svc-check .material-symbols-outlined::after {
  content: "";
  position: absolute;
  top: -30%;
  left: -50%;
  width: 55%;
  height: 160%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 40%,
    rgba(255, 255, 255, 0.9) 50%,
    rgba(255, 255, 255, 0) 60%,
    transparent 100%
  );
  transform: translateX(-140%) skewX(-16deg);
  animation: eh-icon-shine 3.8s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}

/* Fluent emoji / 3D swapped icons (wrapped for shine) */
body.crystal-site .eh-icon-gloss--img {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.55rem !important;
  background: var(--eh-icon-gloss-bg) !important;
  border: 1px solid var(--eh-icon-gloss-border) !important;
  box-shadow: var(--eh-icon-gloss-shadow) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  margin-bottom: 1.1rem;
}
body.crystal-site .eh-icon-gloss--img img.icon-3d {
  position: relative;
  z-index: 3;
  display: block;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Footer contact icons */
body.crystal-site .eh-corp-footer__contact .material-symbols-outlined {
  width: 2.25rem !important;
  height: 2.25rem !important;
  border-radius: 12px !important;
  font-size: 1.15rem !important;
}

/* AI FAB already glossy — reinforce shine plate */
body.crystal-site .eh-ai-fab,
.eh-ai-fab {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.eh-ai-fab::after {
  content: "";
  position: absolute;
  top: -25%;
  left: -45%;
  width: 48%;
  height: 150%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0) 38%,
    rgba(255, 255, 255, 0.7) 50%,
    rgba(255, 255, 255, 0) 62%,
    transparent 100%
  );
  transform: translateX(-140%) skewX(-16deg);
  animation: eh-icon-shine 3.2s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
  border-radius: inherit;
}

/* ——— .org marks / product icons ——— */
body.crystal-site .v3-mark,
body.crystal-site .solution-card-icon,
body.crystal-site .corp-why-icon,
body.crystal-site .feature-icon-rail,
body.crystal-site .v3-feature-mark,
body.crystal-site .v3-pillar-mark,
body.crystal-site .product-service-icon {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: var(--eh-icon-gloss-bg) !important;
  border: 1px solid var(--eh-icon-gloss-border) !important;
  box-shadow: var(--eh-icon-gloss-shadow) !important;
  border-radius: 18px !important;
}

body.crystal-site .v3-mark img,
body.crystal-site .solution-card-icon img,
body.crystal-site .product-service-icon img,
body.crystal-site .v3-feature-mark svg,
body.crystal-site .v3-pillar-mark svg,
body.crystal-site .feature-icon-rail svg {
  position: relative;
  z-index: 3;
}

/* Soft top highlight on glossy plates */
body.crystal-site .home-tile > .material-symbols-outlined::before,
body.crystal-site .svc-card__icon::before,
body.crystal-site .auto-card__icon::before,
body.crystal-site .nav-dropdown__icon::before,
body.crystal-site .v3-mark::before,
body.crystal-site .solution-card-icon::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 3px;
  height: 38%;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0));
  pointer-events: none;
  z-index: 1;
}

/* ——— Chrome exclusions (no plate / no shine) ——— */
body.crystal-site header .material-symbols-outlined.opacity-70,
body.crystal-site header button .material-symbols-outlined,
body.crystal-site .site-nav-toggle .material-symbols-outlined,
body.crystal-site .home-markets button .material-symbols-outlined,
body.crystal-site .home-markets__ctrl .material-symbols-outlined,
body.crystal-site summary > .material-symbols-outlined,
body.crystal-site details > summary .material-symbols-outlined,
body.crystal-site a.button-primary > .material-symbols-outlined,
body.crystal-site a.button-secondary > .material-symbols-outlined,
body.crystal-site .eh-ai-promo__btn .material-symbols-outlined {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  color: inherit !important;
}
body.crystal-site header .material-symbols-outlined.opacity-70::after,
body.crystal-site header button .material-symbols-outlined::after,
body.crystal-site .home-markets button .material-symbols-outlined::after,
body.crystal-site summary > .material-symbols-outlined::after,
body.crystal-site details > summary .material-symbols-outlined::after,
body.crystal-site a.button-primary > .material-symbols-outlined::after,
body.crystal-site a.button-secondary > .material-symbols-outlined::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}

/* Stagger shine so icons don't flash in sync */
body.crystal-site .home-tile:nth-child(2) > .material-symbols-outlined::after,
body.crystal-site .nav-dropdown__item:nth-child(2) .nav-dropdown__icon::after,
body.crystal-site .solution-card-icon:nth-child(2n)::after { animation-delay: 0.45s; }
body.crystal-site .home-tile:nth-child(3) > .material-symbols-outlined::after,
body.crystal-site .nav-dropdown__item:nth-child(3) .nav-dropdown__icon::after,
body.crystal-site .solution-card-icon:nth-child(3n)::after { animation-delay: 0.9s; }
body.crystal-site .home-tile:nth-child(4) > .material-symbols-outlined::after,
body.crystal-site .nav-dropdown__item:nth-child(4) .nav-dropdown__icon::after { animation-delay: 1.35s; }

@media (prefers-reduced-motion: reduce) {
  body.crystal-site .home-tile > .material-symbols-outlined::after,
  body.crystal-site .nav-dropdown__icon::after,
  body.crystal-site .svc-card__icon::after,
  body.crystal-site .auto-card__icon::after,
  body.crystal-site .eh-icon-gloss--img::after,
  body.crystal-site li > .material-symbols-outlined::after,
  body.crystal-site .v3-mark::after,
  body.crystal-site .solution-card-icon::after,
  .eh-ai-fab::after {
    animation: none !important;
    display: none !important;
  }
}
