.aigenix-pricing-table {
  position: relative;
  display: flex;
  min-block-size: 100%;
  flex-direction: column;
  align-items: stretch;
  gap: 1.75rem;
  border: 1px solid var(--aigenix-core-border);
  border-radius: var(--aigenix-core-radius-xl);
  background: var(--aigenix-core-surface);
  box-shadow: var(--aigenix-core-shadow);
  color: var(--aigenix-core-text);
  padding: 2.5rem 2rem;
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.aigenix-pricing-table--glass {
  background: var(--aigenix-core-glass);
}

.aigenix-pricing-table--bordered {
  background: transparent;
  box-shadow: none;
}

.aigenix-pricing-table--gradient {
  background: var(--aigenix-core-surface);
}

.aigenix-pricing-table--minimal {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  padding: 1.5rem 0;
}

/* Featured Modifier (Premium SaaS styling) */
.aigenix-pricing-table--featured {
  border-color: var(--aigenix-core-brand);
  background: rgba(12, 18, 37, 0.95);
  box-shadow: 0 0 32px rgba(59, 109, 246, 0.25), var(--aigenix-core-shadow);
}

.aigenix-pricing-table--hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: var(--aigenix-core-shadow-strong);
}

.aigenix-pricing-table--featured.aigenix-pricing-table--hover-lift:hover {
  box-shadow: 0 0 40px rgba(59, 109, 246, 0.35), var(--aigenix-core-shadow-strong);
}

/* Badge label */
.aigenix-pricing-table__badge {
  position: absolute;
  top: 1.25rem;
  inset-inline-end: 1.5rem;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--aigenix-core-text);
  background-color: var(--aigenix-core-brand);
  border: 1px solid var(--aigenix-core-brand-hover);
  padding: 0.25rem 0.75rem;
  border-radius: var(--aigenix-core-radius-full);
  box-shadow: 0 4px 12px rgba(59, 109, 246, 0.3);
}

.aigenix-pricing-table--featured .aigenix-pricing-table__badge {
  background-color: var(--aigenix-core-accent);
  border-color: var(--aigenix-core-accent);
  box-shadow: 0 4px 12px rgba(246, 63, 136, 0.3);
}

/* Header */
.aigenix-pricing-table__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.aigenix-pricing-table__title {
  margin: 0;
  font-family: var(--aigenix-core-font-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--aigenix-core-text);
}

.aigenix-pricing-table__tagline {
  margin: 0;
  font-size: 0.95rem;
  color: var(--aigenix-core-text-muted);
  line-height: 1.5;
}

/* Pricing */
.aigenix-pricing-table__price {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  min-block-size: 4rem;
}

.aigenix-pricing-table__price-monthly,
.aigenix-pricing-table__price-yearly {
  display: flex;
  align-items: baseline;
  animation: aigenixPricingFade 250ms ease-out forwards;
}

.aigenix-pricing-table__price-val {
  font-family: var(--aigenix-core-font-display);
  font-size: 2.75rem;
  font-weight: 800;
  color: var(--aigenix-core-text);
}

.aigenix-pricing-table__period {
  font-size: 0.95rem;
  color: var(--aigenix-core-text-muted);
  font-weight: 600;
  margin-inline-start: 0.2rem;
}

/* Features */
.aigenix-pricing-table__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.aigenix-pricing-table__feature {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.95rem;
}

.aigenix-pricing-table__feature::before {
  display: none;
}

.aigenix-pricing-table__feature--inactive {
  opacity: 0.45;
}

.aigenix-pricing-table__feature-icon {
  display: inline-flex;
  font-size: 1rem;
  color: var(--aigenix-core-secondary);
}

.aigenix-pricing-table--featured .aigenix-pricing-table__feature-icon {
  color: var(--aigenix-core-brand-hover);
}

.aigenix-pricing-table__feature-icon svg,
.aigenix-pricing-table__feature-icon i {
  inline-size: 1em;
  block-size: 1em;
}

.aigenix-pricing-table__feature-text {
  color: var(--aigenix-core-text-secondary);
}

/* Button */
.aigenix-pricing-table__cta {
  margin-block-start: auto;
}

.av-btn--full {
  display: flex;
  inline-size: 100%;
  justify-content: center;
  align-items: center;
  text-align: center;
}

/* Animation */
@keyframes aigenixPricingFade {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}