.aigenix-contact-grid {
  display: grid;
  inline-size: 100%;
  gap: 1.5rem;
}

.aigenix-contact-card {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  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: 1.5rem 1.75rem;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.aigenix-contact-card--glass {
  background: var(--aigenix-core-glass);
}

.aigenix-contact-card--bordered {
  background: transparent;
  box-shadow: none;
}

.aigenix-contact-card--gradient {
  background: var(--aigenix-core-surface);
}

.aigenix-contact-card--minimal {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  padding: 0.75rem 0;
}

.aigenix-contact-card--interactive {
  cursor: pointer;
}

.aigenix-contact-card--hover-lift:hover {
  transform: translateY(-3px);
  border-color: var(--aigenix-core-border-strong);
  box-shadow: var(--aigenix-core-shadow-strong);
}

.aigenix-contact-card--icon-top {
  flex-direction: column;
  justify-content: center;
  align-items: var(--av-align, flex-start);
  text-align: var(--av-align, start);
}

/* Icon wrap */
.aigenix-contact-card__icon-wrap {
  display: inline-grid;
  place-items: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  border-radius: var(--aigenix-core-radius-full);
  border: 1px solid var(--aigenix-core-border);
  background-color: var(--aigenix-core-glass);
  color: var(--aigenix-core-secondary);
  font-size: 1.15rem;
  flex-shrink: 0;
}

.aigenix-contact-card__icon svg,
.aigenix-contact-card__icon i {
  inline-size: 1em;
  block-size: 1em;
}

/* Content */
.aigenix-contact-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.aigenix-contact-card--icon-top .aigenix-contact-card__content {
  align-items: var(--av-align, flex-start);
}

.aigenix-contact-card__label {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--aigenix-core-text-muted);
}

.aigenix-contact-card__val {
  font-family: var(--aigenix-core-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--aigenix-core-text);
  word-break: break-all;
  transition: color 180ms ease;
}

.aigenix-contact-card--interactive:hover .aigenix-contact-card__val {
  color: var(--aigenix-core-brand-hover);
}
