/* Surcouche Contact ? s'appuie sur amopa-home.css */

.heroInnerOneCol{ grid-template-columns: 1fr !important; }

.helloUser{
  font-weight: 900;
  color: rgba(255,255,255,.9);
  padding: 0 6px;
  white-space: nowrap;
}

/* Blocs */
.contactCard, .tableCard{ padding: 18px; margin-bottom: 16px; }

.blockHeader{ margin-bottom: 12px; }
.blockTitle{
  margin: 0;
  font-family: "Playfair Display", serif;
  font-size: 28px;
  letter-spacing: .2px;
  color: var(--ink);
}
.blockSubtitle{ margin: 6px 0 0; color: rgba(22,17,42,.68); }

/* Contacts */
.contactGrid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 10px;
}

.personCard{
  border-radius: 18px;
  border: 1px solid rgba(22,17,42,.10);
  background: rgba(255,255,255,.98);
  padding: 14px;
}

.personIcon{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  border: 1px solid rgba(91,71,143,.20);
  background: rgba(176,163,211,.20);
  margin-bottom: 10px;
}

.personName{ font-weight: 1000; color: rgba(22,17,42,.92); }
.personRole{ margin-top: 4px; color: rgba(22,17,42,.68); font-weight: 800; }

.personMail{
  display: inline-block;
  margin-top: 10px;
  font-weight: 900;
  color: var(--amopa-900);
  text-decoration: none;
  border-bottom: 1px solid rgba(91,71,143,.28);
}
.personMail:hover{ border-bottom-color: rgba(91,71,143,.55); }

.contactLinks{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(22,17,42,.10);
  color: rgba(22,17,42,.78);
  font-weight: 800;
}
.labelMini{ color: rgba(22,17,42,.60); margin-right: 6px; }
.contactLinks a{
  color: var(--amopa-900);
  font-weight: 1000;
  text-decoration: none;
  border-bottom: 1px solid rgba(91,71,143,.28);
}
.contactLinks a:hover{ border-bottom-color: rgba(91,71,143,.55); }

/* Tables (même style admin) */
.tableWrap{
  border-radius: 16px;
  border: 1px solid rgba(22,17,42,.10);
  overflow: auto;
  background: rgba(255,255,255,.98);
}

.amopaTable{
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.amopaTable thead th{
  text-align: left;
  padding: 12px 12px;
  font-size: 12.5px;
  letter-spacing: .5px;
  color: rgba(22,17,42,.72);
  background: rgba(22,17,42,.03);
  border-bottom: 1px solid rgba(22,17,42,.10);
  white-space: nowrap;
}

.amopaTable tbody td{
  padding: 12px 12px;
  border-bottom: 1px solid rgba(22,17,42,.08);
  color: rgba(22,17,42,.86);
}

.amopaTable tbody tr:hover td{ background: rgba(176,163,211,.16); }

/* Texte */
.textBlock{ margin-top: 12px; color: rgba(22,17,42,.82); line-height: 1.6; }
.textBlock p{ margin: 0 0 10px; }

.centerNote{
  text-align: center;
  margin: 12px 0 0;
  color: rgba(22,17,42,.72);
  font-weight: 800;
}
.centerNote a{
  color: var(--amopa-900);
  font-weight: 1000;
  text-decoration: none;
  border-bottom: 1px solid rgba(91,71,143,.28);
}
.centerNote a:hover{ border-bottom-color: rgba(91,71,143,.55); }

@media (max-width: 980px){
  .contactGrid{ grid-template-columns: 1fr; }
  .amopaTable{ min-width: 640px; }
}