.pricing-shell {
  display: grid;
  gap: 24px;
}

.pricing-hero {
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.selected-product {
  margin-top: 8px;
  font-size: 12px;
  color: var(--accent);
  letter-spacing: 0.02em;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  content-visibility: auto;
  contain-intrinsic-size: auto 100% 300px;
}

.plan-card {
  padding: 24px;
  display: grid;
  gap: 14px;
  min-height: 240px;
  position: relative;
  overflow: hidden;
  contain: layout style paint;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s ease;
}

.plan-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--liquid-highlight);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

.plan-card::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    45deg,
    transparent 30%,
    rgba(123, 220, 255, 0.06) 50%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 1;
}

.plan-card:hover::after {
  animation: holoShimmer 6s ease-in-out infinite;
}

.plan-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow:
    inset 0 0 0 1px var(--border-inner),
    0 20px 40px rgba(2, 6, 12, 0.5),
    0 0 40px rgba(123, 220, 255, 0.08);
  border-color: color-mix(in srgb, var(--accent) 40%, var(--glass-border));
}

.plan-card:hover::before {
  opacity: 1;
}

.plan-card h2 {
  position: relative;
  z-index: 2;
}

.plan-features {
  display: grid;
  gap: 8px;
  color: var(--text-muted);
  font-size: 12px;
  position: relative;
  z-index: 2;
}

.plan-features li,
.plan-features div {
  transition: color 0.3s ease, transform 0.3s ease;
}

.plan-card:hover .plan-features li,
.plan-card:hover .plan-features div {
  color: var(--text-soft);
}
