/* ============================================================
   ЕДИНЫЙ ПЛАВНЫЙ HOVER — все glass-карточки лендинга
   Подключается после секционных CSS и перекрывает их :hover.
   ============================================================ */

/* --- базовые transition на все glass-элементы --- */

.sonar-card,
.sonar-bridge-card,
.billing-card,
.analytics-card,
.sonar-tariffs-card,
.sonar-timeline-card,
.calls-hint-glass,
.calls-product,
.sonar-integrations-cta,
.sonar-integrations-showcase,
.sonar-integrations-chip,
.sonar-pains-card,
.sonar-solutions-card,
.sonar-forwhom-role {
  transition:
    border-color var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing),
    box-shadow var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing),
    transform var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing),
    background var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing),
    filter var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing) !important;
}

/* --- transition на псевдоэлементы --- */

.sonar-card::before,
.sonar-bridge-card::before,
.billing-card::before,
.analytics-card::before,
.sonar-tariffs-card::before,
.sonar-timeline-card::before,
.calls-hint-glass::before,
.calls-product::before,
.sonar-integrations-cta::before,
.sonar-integrations-chip::before,
.sonar-pains-card::before,
.sonar-solutions-card::before,
.sonar-forwhom-role::before {
  transition:
    opacity var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing),
    background var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing) !important;
}

.sonar-card::after,
.sonar-bridge-card::after,
.billing-card::after,
.analytics-card::after,
.sonar-tariffs-card::after,
.sonar-timeline-card::after,
.sonar-pains-card::after,
.sonar-solutions-card::after {
  transition: opacity var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing) !important;
}

.sonar-integrations-showcase-frame {
  transition: opacity var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing) !important;
}

.sonar-pains-card-glow,
.sonar-solutions-card-glow {
  transition:
    opacity var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing),
    transform 0.4s ease !important;
}

/* --- specular: базовая прозрачность (если не задана секцией) --- */

.sonar-bridge-card::after,
.billing-card::after,
.analytics-card::after {
  opacity: 0.55;
}

/* ============================================================
   STANDARD GLASS — billing, analytics, tariffs, bridge, contact
   ============================================================ */

.sonar-card,
.sonar-bridge-card,
.billing-card,
.analytics-card,
.sonar-tariffs-card,
.calls-hint-glass {
  box-shadow: var(--sonar-card-shadow) !important;
}

.sonar-card:hover,
.sonar-bridge-card:hover,
.billing-card:hover,
.analytics-card:hover,
.sonar-tariffs-card:hover,
.calls-hint-glass:hover {
  border-color: var(--sonar-card-border-hover) !important;
  box-shadow: var(--sonar-card-shadow-hover) !important;
}

.sonar-card:hover::before,
.sonar-bridge-card:hover::before,
.billing-card:hover::before,
.analytics-card:hover::before,
.sonar-tariffs-card:hover::before,
.calls-hint-glass:hover::before {
  opacity: var(--sonar-card-rim-opacity-hover) !important;
}

.sonar-card:hover::after,
.sonar-bridge-card:hover::after,
.billing-card:hover::after,
.analytics-card:hover::after,
.sonar-tariffs-card:hover::after {
  opacity: 0.82 !important;
}

/* ============================================================
   DIM GLASS — calls product
   ============================================================ */

.calls-product {
  transition:
    border-color var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing),
    box-shadow var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing) !important;
}

.calls-product::before {
  transition: opacity var(--sonar-glass-hover-duration) var(--sonar-glass-hover-easing) !important;
}

.calls-product:hover {
  border-color: var(--sonar-card-dim-border-hover) !important;
  box-shadow: var(--sonar-card-dim-shadow-hover) !important;
}

.calls-product:hover::before {
  opacity: var(--sonar-card-dim-rim-opacity-hover) !important;
}

/* ============================================================
   COMPACT GLASS — pains, solutions, timeline
   ============================================================ */

.sonar-pains-card,
.sonar-solutions-card {
  box-shadow: var(--sonar-card-shadow-compact) !important;
}

.sonar-pains-card:hover,
.sonar-solutions-card:hover {
  border-color: var(--sonar-card-border-hover) !important;
  box-shadow: var(--sonar-card-shadow-compact-hover) !important;
}

.sonar-pains-card:hover::before,
.sonar-solutions-card:hover::before {
  opacity: 0.88 !important;
}

.sonar-pains-card:hover .sonar-pains-card-glow,
.sonar-solutions-card:hover .sonar-solutions-card-glow {
  opacity: 0.78 !important;
}

.sonar-timeline-card:not(.sonar-timeline-card--final) {
  box-shadow: var(--sonar-card-shadow-compact) !important;
}

.sonar-timeline-card:not(.sonar-timeline-card--final):hover {
  border-color: var(--sonar-card-border-hover) !important;
  box-shadow: var(--sonar-card-shadow-compact-hover) !important;
}

.sonar-timeline-card:not(.sonar-timeline-card--final):hover::before {
  opacity: var(--sonar-card-rim-opacity-hover) !important;
}

.sonar-timeline-card:not(.sonar-timeline-card--final):hover::after {
  opacity: 0.80 !important;
}

/* Final timeline card — уже подсвечена, hover чуть усиливает */
.sonar-timeline-card--final {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 12px 32px -10px rgba(168, 85, 247, 0.24),
    0 0 48px -20px rgba(168, 85, 247, 0) !important;
}

.sonar-timeline-card--final:hover {
  border-color: rgba(168, 85, 247, 0.34) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 14px 36px -10px rgba(168, 85, 247, 0.30),
    0 0 48px -20px rgba(168, 85, 247, 0.18) !important;
}

.sonar-timeline-card--final:hover::before {
  opacity: 0.88 !important;
}

/* ============================================================
   ROLE CARDS — for whom
   ============================================================ */

.sonar-forwhom-role {
  box-shadow: var(--sonar-card-shadow-role) !important;
}

.sonar-forwhom-role:hover {
  border-color: rgba(168, 85, 247, 0.32) !important;
  box-shadow: var(--sonar-card-shadow-role-hover) !important;
}

.sonar-forwhom-role:hover::before {
  opacity: 0.88 !important;
}

/* ============================================================
   INTEGRATIONS — CTA, showcase, chips
   ============================================================ */

.sonar-integrations-cta {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(255, 255, 255, 0.04),
    0 8px 28px -10px rgba(0, 0, 0, 0.45),
    0 14px 38px -20px rgba(168, 85, 247, 0) !important;
}

.sonar-integrations-cta:hover {
  border-color: rgba(168, 85, 247, 0.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    inset 0 -1px 0 rgba(255, 255, 255, 0.04),
    0 10px 32px -12px rgba(0, 0, 0, 0.42),
    0 14px 38px -20px rgba(168, 85, 247, 0.20) !important;
}

.sonar-integrations-cta:hover::before {
  opacity: var(--sonar-card-rim-opacity-hover) !important;
}

.sonar-integrations-showcase {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    inset 0 -1px 0 rgba(255, 255, 255, 0.04),
    0 12px 40px -14px rgba(0, 0, 0, 0.5),
    0 0 56px -24px rgba(168, 85, 247, 0) !important;
}

.sonar-integrations-showcase:hover {
  border-color: var(--sonar-card-border-hover) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(255, 255, 255, 0.04),
    0 14px 44px -14px rgba(0, 0, 0, 0.48),
    0 0 56px -24px rgba(168, 85, 247, 0.18) !important;
}

.sonar-integrations-showcase:hover .sonar-integrations-showcase-frame {
  opacity: 0.82 !important;
}

.sonar-integrations-chip {
  box-shadow: var(--sonar-card-shadow-chip) !important;
}

.sonar-integrations-chip:hover {
  border-color: rgba(168, 85, 247, 0.26) !important;
  box-shadow: var(--sonar-card-shadow-chip-hover) !important;
}

.sonar-integrations-chip:hover::before {
  opacity: 0.82 !important;
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .sonar-card,
  .sonar-bridge-card,
  .billing-card,
  .analytics-card,
  .sonar-tariffs-card,
  .sonar-timeline-card,
  .calls-hint-glass,
  .calls-product,
  .sonar-integrations-cta,
  .sonar-integrations-showcase,
  .sonar-integrations-chip,
  .sonar-pains-card,
  .sonar-solutions-card,
  .sonar-forwhom-role,
  .sonar-card::before,
  .sonar-card::after,
  .sonar-bridge-card::before,
  .sonar-bridge-card::after,
  .billing-card::before,
  .billing-card::after,
  .analytics-card::before,
  .analytics-card::after,
  .sonar-pains-card-glow,
  .sonar-solutions-card-glow,
  .sonar-integrations-showcase-frame {
    transition: none !important;
  }
}
