/* ==========================================================================
   PAGE: Contact (contact.html)
   ========================================================================== */

.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--s-4);
}

.contact-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--s-3);
  padding: var(--s-6) var(--s-5);
  border-radius: var(--r-lg);
  background: rgba(255, 255, 255, 0.025);
  backdrop-filter: blur(10px);
  border: 1px solid var(--c-line);
  box-shadow: var(--glow-inset);
  transition: transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base);
}

.contact-card:hover {
  transform: translateY(-6px);
  border-color: rgba(225, 6, 0, 0.45);
  box-shadow: var(--glow-red-sm);
}

/* The channel we actually want people to use */
.contact-card--primary {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(225, 6, 0, 0.18), transparent 60%),
    var(--g-surface);
  border-color: rgba(225, 6, 0, 0.35);
  box-shadow: var(--glow-red-sm);
}

.contact-card--primary:hover {
  box-shadow: var(--glow-red);
}

.contact-card__icon {
  display: grid;
  place-items: center;
  width: 54px; height: 54px;
  border-radius: var(--r-md);
  background: var(--g-red-soft);
  border: 1px solid rgba(225, 6, 0, 0.3);
  color: var(--c-red-hot);
  transition: transform var(--t-spring);
}

.contact-card:hover .contact-card__icon {
  transform: translateY(-2px) rotate(-6deg) scale(1.06);
}

.contact-card__icon--tg {
  background: rgba(42, 171, 238, 0.1);
  border-color: rgba(42, 171, 238, 0.35);
  color: #2aabee;
}

.contact-card__title {
  font-size: var(--fs-lg);
}

.contact-card__text {
  flex: 1;
  color: var(--c-text-2);
  font-size: var(--fs-sm);
}

.contact-card__handle {
  font-family: var(--f-display);
  font-size: var(--fs-md);
  font-weight: 700;
  letter-spacing: var(--ls-wide);
  color: var(--c-text);
}

.contact-card__handle--muted {
  color: var(--c-text-muted);
  font-size: var(--fs-sm);
}

.contact-card .btn { margin-top: var(--s-2); }

/* ------------------------------ Form panel -------------------------------- */
.contact-layout {
  display: grid;
  gap: clamp(2rem, 1rem + 4vw, 3.5rem);
  align-items: start;
}

@media (min-width: 900px) {
  .contact-layout { grid-template-columns: 1fr 1.1fr; }
}

.form-panel {
  padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
  border-radius: var(--r-xl);
  background: var(--g-surface);
  border: 1px solid var(--c-line-strong);
  box-shadow: var(--sh-3);
}

.form__legal {
  margin-top: var(--s-2);
  color: var(--c-text-muted);
  font-size: var(--fs-xs);
  text-align: center;
}

.form__legal a {
  color: var(--c-text-2);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.form__legal a:hover { color: var(--c-red-hot); }

.form__success a {
  color: var(--c-win);
  text-decoration: underline;
  text-underline-offset: 2px;
}
