/* contact.css — Propre à la page « Contact ». */

.contact-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: start; }

.form { background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); padding: 40px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.f { margin-bottom: 20px; }
.f label {
  display: block; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--muted); margin-bottom: 9px;
}
.f input, .f textarea {
  width: 100%; background: var(--ink); border: 1px solid var(--ink-3); border-radius: 10px;
  padding: 14px 16px; color: var(--cream); font-family: inherit; font-size: .98rem; transition: border-color .2s;
}
.f input:focus, .f textarea:focus { outline: none; border-color: var(--gold); }
.f textarea { resize: vertical; min-height: 130px; }

/* Message de retour du formulaire (masqué tant qu'il est vide) */
.form-message, .news-message { border-radius: 10px; font-size: .92rem; }
.form-message:empty, .news-message:empty { display: none; }
.form-message { padding: 14px 16px; margin-bottom: 20px; }
.news-message { margin-top: 16px; }
.form-message.ok, .news-message.ok { background: rgba(242, 227, 124, .1); border: 1px solid rgba(242, 227, 124, .4); color: var(--gold); }
.form-message.ko, .news-message.ko { background: rgba(220, 90, 90, .1); border: 1px solid rgba(220, 90, 90, .4); color: #e8a5a5; }

.info-card {
  background: linear-gradient(155deg, var(--ink-2), #0f0f0c); border: 1px solid var(--line);
  border-radius: var(--r); padding: 32px; margin-bottom: 20px;
}
.info-card h3 { font-size: 1.1rem; color: var(--cream); margin-bottom: 18px; }
.info-row { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; font-size: .96rem; color: var(--muted); }
.info-row:last-child { margin-bottom: 0; }
.info-row .ic { color: var(--gold); flex-shrink: 0; margin-top: 2px; }
.info-row b { display: block; color: var(--cream); font-weight: 600; }

.map {
  aspect-ratio: 16 / 9; border-radius: var(--r); overflow: hidden;
  border: 1px solid var(--line);
}
.map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Newsletter */
.news { border-top: 1px solid var(--line); background: #0e0e0c; }
.news-inner {
  background: linear-gradient(135deg, rgba(242, 227, 124, .12), rgba(201, 169, 78, .04));
  border: 1px solid rgba(242, 227, 124, .25); border-radius: 22px; padding: 52px; text-align: center;
}
.news-inner h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 14px 0 12px; }
.news-inner p { color: var(--muted); max-width: 44ch; margin: 0 auto 28px; }
.news-form { display: flex; gap: 12px; max-width: 460px; margin: 0 auto; flex-wrap: wrap; }
.news-form input {
  flex: 1; min-width: 200px; background: var(--ink); border: 1px solid var(--ink-3);
  border-radius: 100px; padding: 14px 22px; color: var(--cream); font-family: inherit;
}
.news-form input:focus { outline: none; border-color: var(--gold); }

@media (max-width: 840px) {
  .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .field-row { grid-template-columns: 1fr; }
  .news-inner { padding: 40px 26px; }
}
