/* ============================================================
   TERANGA SÉNÉGAL — contact.css
   ============================================================ */

/* ---- INFO CARDS ---- */
.contact-infos { background: var(--black-s); border-bottom: 1px solid rgba(201,168,76,.08); }
.infos-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.info-card {
  background: var(--black-c);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: var(--r);
  padding: 28px 22px;
  text-align: center;
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.info-card:hover {
  border-color: rgba(201,168,76,.2);
  box-shadow: var(--sg);
  transform: translateY(-4px);
}
.info-icon { font-size: 2rem; margin-bottom: 14px; }
.info-card h3 {
  font-family: var(--fd);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 8px;
}
.info-card p { font-size: .88rem; color: var(--muted); line-height: 1.7; margin-bottom: 12px; }
.info-link {
  font-size: .85rem;
  color: var(--gold);
  font-weight: 500;
  transition: color var(--t);
}
.info-link:hover { color: var(--gold-l); }
.big-link { font-size: 1.05rem; font-weight: 600; }

.hours-list { text-align: left; margin-top: 6px; }
.hour-row {
  display: flex;
  justify-content: space-between;
  font-size: .84rem;
  color: var(--muted);
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
  gap: 12px;
}
.hour-row:last-child { border-bottom: none; }
.hour-row span:last-child { color: var(--white-m); font-weight: 500; }

/* ---- CONTACT MAIN ---- */
.contact-main { background: var(--black); }
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(36px, 5vw, 72px);
  align-items: start;
}

/* Form */
.contact-form-wrap .sec-title { margin-bottom: 6px; }
.submit-contact {
  width: 100%;
  justify-content: center;
  font-size: .95rem;
  font-weight: 600;
  padding: 15px;
  border-radius: var(--r);
  gap: 10px;
}
.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.form-feedback {
  margin-top: 18px;
  padding: 14px 18px;
  border-radius: var(--r);
  font-size: .9rem;
  text-align: center;
}
.form-feedback.ok {
  background: rgba(61,220,132,.08);
  border: 1px solid #3DDC84;
  color: #3DDC84;
}
.form-feedback.err {
  background: rgba(255,107,107,.08);
  border: 1px solid #FF6B6B;
  color: #FF6B6B;
}

/* Social */
.contact-social {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.contact-social p { font-size: .85rem; color: var(--muted); margin-bottom: 14px; }
.social-links { display: flex; gap: 10px; flex-wrap: wrap; }
.social-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: var(--r);
  font-size: .83rem;
  font-weight: 500;
  transition: var(--t);
  min-height: 44px;
}
.social-btn svg { width: 18px; height: 18px; }
.social-btn.whatsapp { background: rgba(37,211,102,.1); color: #25D366; border: 1px solid rgba(37,211,102,.2); }
.social-btn.whatsapp:hover { background: #25D366; color: #fff; }
.social-btn.facebook { background: rgba(24,119,242,.1); color: #1877f2; border: 1px solid rgba(24,119,242,.2); }
.social-btn.facebook:hover { background: #1877f2; color: #fff; }
.social-btn.instagram { background: rgba(225,48,108,.1); color: #e1306c; border: 1px solid rgba(225,48,108,.2); }
.social-btn.instagram:hover { background: #e1306c; color: #fff; }

/* Map */
.map-wrap .sec-title { margin-bottom: 6px; }
.map-container {
  border-radius: var(--r);
  overflow: hidden;
  border: 1px solid rgba(201,168,76,.15);
  margin: 24px 0 0;
}
.map-info {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.map-info-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .88rem;
  color: var(--muted);
  line-height: 1.5;
}
.map-info-item svg { flex-shrink: 0; margin-top: 2px; }

/* ---- FAQ ---- */
.faq-section { background: var(--black-s); }
.faq-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.faq-item {
  background: var(--black-c);
  border: 1px solid rgba(255,255,255,.05);
  border-radius: var(--r);
  padding: 24px;
  transition: border-color var(--t), box-shadow var(--t);
}
.faq-item:hover {
  border-color: rgba(201,168,76,.2);
  box-shadow: var(--sg);
}
.faq-item h4 {
  font-family: var(--fd);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 10px;
  line-height: 1.3;
}
.faq-item p { font-size: .88rem; color: var(--muted); line-height: 1.7; }

/* ---- RESPONSIVE ---- */
@media (max-width: 1200px) {
  .infos-grid { grid-template-columns: repeat(2, 1fr); }
  .faq-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .infos-grid { grid-template-columns: 1fr; }
  .faq-grid { grid-template-columns: 1fr; }
  .form-row-2 { grid-template-columns: 1fr; }
  .social-links { flex-direction: column; }
}
