/* ==========================================================================
   IN7 GAME — Contact page
   Channel cards • form • response table • FAQ
   ========================================================================== */

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 3.6vw, 60px);
  align-items: start;
}

@media (max-width: 940px) {
  .contact-grid { grid-template-columns: 1fr; }
}

/* --- Channel cards --- */
.channels { display: grid; gap: var(--sp-4); }

.channel {
  position: relative;
  display: flex;
  gap: 16px;
  padding: var(--sp-5);
  border-radius: var(--r-lg);
  background: var(--color-surface);
  border: 1px solid var(--color-border-soft);
  box-shadow: var(--shadow-soft);
  transition: all var(--dur-base) var(--ease-out);
}

.channel:hover { transform: translateY(-4px); border-color: var(--color-gold); box-shadow: var(--shadow-card); }

.channel__ic {
  width: 52px; height: 52px;
  flex: none;
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--ch-grad, var(--grad-crimson));
}

.channel__ic svg { width: 24px; height: 24px; }
.channel h3 { font-size: 1.02rem; margin-bottom: 5px; }
.channel p { font-size: var(--fs-sm); color: var(--color-text-muted); margin-bottom: 10px; }

.channel__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 0.86rem;
  font-weight: 700;
}

.channel__link svg { width: 15px; height: 15px; }

.channel__badge {
  position: absolute;
  top: 16px; right: 16px;
}

/* --- Form --- */
.form-card {
  padding: var(--sp-6);
  border-radius: var(--r-lg);
  background: var(--color-surface);
  border: 1px solid var(--color-gold-light);
  box-shadow: var(--shadow-card);
}

.field { margin-bottom: var(--sp-4); }

.field label {
  display: block;
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 650;
  color: var(--color-black);
  margin-bottom: 7px;
}

.field label .req { color: var(--color-crimson); }

.field input,
.field select,
.field textarea {
  width: 100%;
  padding: 13px 16px;
  border-radius: var(--r-sm);
  border: 1px solid var(--color-border);
  background: var(--color-bg);
  font-size: 0.94rem;
  font-family: var(--font-body);
  color: var(--color-text-primary);
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.field textarea { min-height: 148px; resize: vertical; line-height: 1.7; }

.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--color-gold);
  box-shadow: 0 0 0 4px rgba(203, 159, 42, 0.15);
  background: var(--color-surface);
}

.field__hint { display: block; margin-top: 6px; font-size: var(--fs-xs); color: var(--color-text-muted); }

.field-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--sp-4);
}

.consent {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  font-size: var(--fs-xs);
  color: var(--color-text-muted);
  line-height: 1.65;
  margin-bottom: var(--sp-5);
}

.consent input {
  width: 18px; height: 18px;
  flex: none;
  margin-top: 2px;
  accent-color: var(--color-crimson);
}

.form-note {
  margin-top: var(--sp-4);
  padding: 14px 16px;
  border-radius: var(--r-sm);
  background: var(--color-gold-tint);
  border: 1px solid var(--color-gold-light);
  font-size: var(--fs-xs);
  color: #6B540F;
  line-height: 1.7;
}

.form-status {
  margin-top: var(--sp-4);
  padding: 14px 16px;
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
  display: none;
}

.form-status.is-shown { display: block; }
.form-status--ok { background: rgba(31, 122, 77, 0.1); border: 1px solid rgba(31, 122, 77, 0.3); color: #14603A; }
.form-status--err { background: var(--color-crimson-soft); border: 1px solid rgba(193, 26, 50, 0.3); color: var(--color-crimson-deep); }

/* --- FAQ category pills --- */
.faq-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: center;
  margin-bottom: var(--sp-6);
}

.faq-pill {
  padding: 9px 20px;
  border-radius: var(--r-pill);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 650;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: all var(--dur-base) var(--ease-out);
}

.faq-pill:hover { border-color: var(--color-gold); color: var(--color-black); }

.faq-pill[aria-pressed="true"] {
  background: var(--grad-crimson);
  border-color: transparent;
  color: #fff;
  box-shadow: var(--shadow-crimson-glow);
}

.acc[hidden] { display: none; }
