.annuaire-wrapper {
    max-width: 1400px !important;
    width: 100% !important;
    font-size: 15px;
}

.annuaire-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.annuaire-table tbody tr:hover {
    background-color: #fdf7e1;
}

.annuaire-table th,
.annuaire-table td {
    border: 1px solid #ddd;
    padding: 8px;
}

.annuaire-search-input {
    min-width: 250px;
}

.icon-success svg path{
    fill: green;
}

.icon-success svg rect{
    fill: green;
}

.icon-danger svg rect{
    fill: red;
}

.icon-danger svg path{
    fill: red;
}

.annuaire-table thead th{
    border-bottom: 1px solid black;
}

/* Bouton loupe */
.icon-detail {
    cursor: pointer;
}

/* Modale */
.annuaire-modal {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.6); /* arrière-plan grisé */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.annuaire-modal-content {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    max-width: 800px;
    width: 95%;
    color: #000;
    position: relative;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    max-height: 80vh;   /* la modale ne dépasse jamais 80% de la hauteur écran */
    overflow-y: auto;   /* active la scrollbar verticale si nécessaire */
}

.annuaire-modal-close {
    position: absolute;
    top: 10px; right: 15px;
    cursor: pointer;
    font-size: 24px;
    color: #333;
}

.annuaire-modal-photo {
    max-width: 200px !important;
    min-width: 200px;
    border-radius: 8px;
    margin-left: 20px;
}

/* Header */
.annuaire-modal-header {
    display: flex;
    gap: 10px;
}

.annuaire-modal-header h2 {
    margin: 0;
    font-size: 20px;
    font-weight: bold;
}

.annuaire-email-icon svg {
    fill: #e1af00;
    transition: fill 0.3s;
    cursor: pointer;
}

.annuaire-email-icon:hover svg {
    fill: #C59600;
}

.annuaire-modal-content h3 {
    margin-top: 20px;
    font-size: 16px;
    font-weight: bold;
}

/* Footer */
.annuaire-modal-footer {
    text-align: right;
    margin-top: 20px;
}

.annuaire-modal-btn-close {
    background: #e1af00;
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
}

.annuaire-modal-btn-close:hover {
    background: #C59600;
}

.annuaire-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
}

.annuaire-total-info {
    font-size: 14px;
    color: #555;
}

.annuaire-pagination button {
    margin: 0 2px;
    padding: 5px 10px;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
}

.annuaire-pagination button.active {
    background: #C59600;
    color: #fff;
    border-color: #C59600;
}

.annuaire-modal-content .first {
    color: #C59600;
}
@media (min-width: 768px) {

    .annuaire-table svg
    {
        text-align: center !important;
        display: block;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {

    ul {
        list-style-type: none;
        padding-left: 0;
        margin: 0;
    }

    .annuaire-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 15px;
    }

    .annuaire-table,
    .annuaire-table thead,
    .annuaire-table tbody,
    .annuaire-table th,
    .annuaire-table td,
    .annuaire-table tr {
      display: block;
      width: 100%;
    }

    .annuaire-table thead {
      display: none;
    }

    .annuaire-table tr {
      margin-bottom: 15px;
      border: 1px solid #ddd;
      border-radius: 8px;
      padding: 10px;
      background: #fff;
    }

    .annuaire-table td {
      text-align: left;
      padding: 6px;
      border: none;
      position: relative;
      padding-left: 25%;
      width: 75%;
    }

    .annuaire-table td::before {
      position: absolute;
      left: 10px;
      top: 6px;
      width: 20%;
      white-space: nowrap;
      font-weight: bold;
    }

    /* Labels pour chaque colonne */
    .annuaire-table td:nth-of-type(1)::before { content: "Nom"; }
    .annuaire-table td:nth-of-type(2)::before { content: "Rubriques"; }
    .annuaire-table td:nth-of-type(3)::before { content: "CP"; }
    .annuaire-table td:nth-of-type(4)::before { content: "Ville"; }
    .annuaire-table td:nth-of-type(5)::before { content: "Statut"; }
    .annuaire-table td:nth-of-type(6)::before { content: "Disponible?"; }
    .annuaire-table td:nth-of-type(7)::before { content: "OPALEXE?"; }

}
