/* This file is part of Blackbook.
 *
 * Blackbook is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Blackbook is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Blackbook.  If not, see <https://www.gnu.org/licenses/>.
 */

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.card-header h1 {
    font-size: 1.75rem;
}

.person-meta-link,
.user-list tbody td a,
.card-body a {
    color: var(--campus-green) !important;
    text-decoration: none !important;
}

.person-meta-link:hover,
.user-list tbody td a:hover,
.card-body a:hover {
    color: var(--campus-deep) !important;
    text-decoration: none !important;
}

.sortable-header a {
    color: white;
    text-decoration: none;
}

.sortable-header a:hover {
    color: #ddd;
}

.sortable-header .sort-indicator {
    font-size: 0.8em;
    margin-left: 4px;
}

/* Styles for Contact Cards */
.card-margin {
    margin-bottom: 1.875rem;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.card-header.no-border {
    border-bottom: 0;
}

.widget-49 .widget-49-title-wrapper {
    display: flex;
    align-items: center;
}

.widget-49 .widget-49-title-wrapper .widget-49-date-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: #17a2b8;
    color: #fff;
    font-size: 1.5rem;
}

.widget-49 .widget-49-title-wrapper .widget-49-date-primary img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.widget-49 .widget-49-title-wrapper .widget-49-meeting-info {
    display: flex;
    flex-direction: column;
    margin-left: 1rem;
}

.widget-49 .widget-49-title-wrapper .widget-49-meeting-info .widget-49-pro-title {
    color: #3c4142;
    font-size: 1rem;
    font-weight: 500;
}

.widget-49 .widget-49-title-wrapper .widget-49-meeting-info .widget-49-meeting-time {
    color: #B1BAC5;
    font-size: 0.875rem;
}

.widget-49 .widget-49-meeting-points {
    font-weight: 400;
    font-size: 13px;
    margin-top: .9375rem;
    padding-left: 0;
    list-style: none;
}

.widget-49 .widget-49-meeting-points .widget-49-meeting-item {
    display: flex;
    align-items: center;
    color: #888;
    margin-bottom: 0.5rem;
}

.widget-49 .widget-49-meeting-points .widget-49-meeting-item span {
    margin-left: .625rem;
}

.widget-49 .widget-49-meeting-action {
    text-align: right;
}

.btn-flash-border-primary {
    color: #17a2b8;
    border: 1px solid #17a2b8;
    background-color: transparent;
}

.btn-flash-border-primary:hover {
    color: #fff;
    background-color: #17a2b8;
}

/* Styles for New Customer List */
.user-list tbody td .user-link {
    color: #3c4142;
    font-weight: 500;
}

.user-list tbody td .user-subhead {
    font-size: 0.875em;
    font-style: italic;
    color: #999;
}

.user-list tbody td a:hover {
    color: #17a2b8;
}

.user-list tbody td .avatar {
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 50%;
    margin-right: 1rem;
}

.table-link {
    color: #888;
    font-size: 1.25em;
    padding: 0 0.5rem;
}

.table-link:hover {
    color: #17a2b8;
}

.table-link.danger {
    color: #e74c3c;
}

.table-link.danger:hover {
    color: #c0392b;
}

.fa-stack {
    font-size: 0.8em;
}

.fa-square {
    color: #f5f5f5;
}

.contact-name {
    font-weight: 500;
}

/* === Campus Annuaire — Radio Campus Rouen === */
:root {
    --campus-dark: #003624;
    --campus-deep: #00593c;
    --campus-green: #00875a;
    --campus-light: #00b075;
}

.navbar.bg-dark {
    background-color: var(--campus-dark) !important;
}

/* Actions et liens Campus */
a {
    color: var(--campus-green);
}

a:hover {
    color: var(--campus-deep);
}

.btn-primary,
.btn-primary:focus {
    background-color: var(--campus-green);
    border-color: var(--campus-green);
}

.btn-primary:hover,
.btn-primary:active {
    background-color: var(--campus-deep) !important;
    border-color: var(--campus-deep) !important;
}

/* Pagination / alphabet */
.page-link {
    color: var(--campus-green);
}

.page-link:hover {
    color: var(--campus-dark);
    background-color: rgba(0, 176, 117, 0.10);
}

.page-item.active .page-link {
    background-color: var(--campus-green);
    border-color: var(--campus-green);
}

/* Icônes e-mail et téléphone */
.bi-envelope-fill,
.bi-telephone-fill {
    color: var(--campus-green) !important;
}

/* Annuaire — finition Campus */
.user-list {
    margin-bottom: 0;
    background: #fff;
}

.user-list tbody tr {
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.user-list tbody tr:hover {
    background-color: rgba(0, 176, 117, 0.06);
    box-shadow: inset 4px 0 0 var(--campus-green);
}

.user-list tbody td {
    border-color: rgba(0, 54, 36, 0.10);
}

/* Fiche contact — Campus Annuaire */
.card-margin {
    border: 0;
    border-top: 4px solid var(--campus-green);
    border-radius: 0.75rem;
    box-shadow: 0 0.25rem 1rem rgba(0, 54, 36, 0.08);
}

.widget-49-pro-title {
    color: var(--campus-dark) !important;
}

.widget-49-meeting-time {
    color: var(--campus-green) !important;
    font-weight: 600;
}

.widget-49-meeting-points a {
    color: var(--campus-green) !important;
    text-decoration: none;
}

.widget-49-meeting-points a:hover {
    color: var(--campus-deep) !important;
}
