/* =======================================================
   CHRONOGÉNÉ v2.0.2 - THÈME ET FEUILLE DE STYLE PAR DÉFAUT (v2.0.2)
   Inspiré des teintes vintage, papier d'époque et bois chaud
   ======================================================= */

/* === DEBUT SECTION: POLICES GOOGLE FONTS ET SOCLE DE STYLE TYPO === */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=IM+Fell+Double+Pica:ital@0;1&display=swap');

body {
    background-color: #f7eed9 !important;
    font-family: 'EB Garamond', 'Georgia', serif;
    color: #3b2f2f;
    font-size: 1.18rem;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6, .font-serif, .navbar-brand {
    font-family: 'IM Fell Double Pica', 'Georgia', serif !important;
    letter-spacing: 0.5px;
}
/* === FIN SECTION: POLICES GOOGLE FONTS ET SOCLE DE STYLE TYPO === */

/* En-tête et composants spéciaux */
header {
    background-color: #3a2212;
    border-bottom: 4px solid #8c6239;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

header a.navbar-brand {
    font-weight: 700;
    letter-spacing: 1px;
    color: #ecd8be !important;
}

header a.nav-link {
    color: #dfceb7 !important;
}

header a.nav-link:hover {
    color: #ffffff !important;
}

/* Style de carte vintage rurale */
.card-genealogie {
    background: #ffffff;
    border: 1px solid #e1d8cd;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(50, 40, 30, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-genealogie:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(50, 40, 30, 0.08);
}

/* Pied de page chaleureux */
footer {
    background-color: #26170d;
    color: #a79788;
    border-top: 1px solid #4a3321;
}

footer .footer-copyright {
    font-size: 0.9rem;
    color: #837264;
}

/* Fin de la feuille de style v2.0.1 */

/* =======================================================
   STYLING SPÉCIFIQUE AU SALON FAMILIAL INTERACTIF (salon.php)
   ======================================================= */

.visitor-content-locked {
    position: relative;
    overflow: hidden;
}
.visitor-content-locked > * {
    filter: blur(5px) grayscale(30%);
    pointer-events: none;
    user-select: none;
}
.visitor-content-locked::before {
    content: '🔒';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2.2rem;
    z-index: 10;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #ebd9c5;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 4px 15px rgba(138, 88, 50, 0.15);
    pointer-events: none;
}

.badge { font-weight: 600; line-height: 1.1; }
.border-double { border: 4px double #8c6239 !important; }
.cursor-pointer { cursor: pointer; }
.pre-wrap { white-space: pre-wrap; word-break: break-all; }

.card-custom { 
    background: #ffffff !important;
    border: 1px solid #ebd9c5 !important; 
    border-radius: 12px; 
    box-shadow: 0 4px 12px rgba(138, 88, 50, 0.03) !important;
    transition: transform 0.25s, box-shadow 0.25s;
}
.card-custom:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(138, 88, 50, 0.08) !important;
    border-color: #d1bba4 !important;
}

#ss-chat-container {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
#ss-chat-container::-webkit-scrollbar { display: none; }

#ss-brickwalls-container::-webkit-scrollbar,
#ss-discoveries-container::-webkit-scrollbar { width: 4px; }
#ss-brickwalls-container::-webkit-scrollbar-thumb,
#ss-discoveries-container::-webkit-scrollbar-thumb {
    background: #ebd9c5;
    border-radius: 2px;
}

.card-custom.bg-danger.bg-opacity-5 {
    background-color: #fdf5f2 !important;
    border: 1px solid #eed6ca !important;
}
.card-custom.bg-info.bg-opacity-5 {
    background-color: #fcf7f2 !important;
    border: 1px solid #eedecf !important;
}
.card-custom.bg-white {
    background-color: #ffffff !important;
    border: 1px solid #ebd9c5 !important;
}

.badge.bg-warning { background-color: #ecd8be !important; color: #5c3c21 !important; border: 1px solid #d1bba4; }
.badge.bg-info { background-color: #e5dacd !important; color: #4b3c31 !important; border: 1px solid #c8b5a0; }
.badge.bg-danger { background-color: #eed6ca !important; color: #834720 !important; border: 1px solid #d2b09e; }
.badge.bg-success { background-color: #d0edd4 !important; color: #1a5c27 !important; border: 1px solid #b1deb9; }

.btn-light.btn-sm.font-monospace {
    background-color: #fdfcf7 !important;
    border: 1px solid #e1d8cd !important;
    color: #5c4125 !important;
    font-size: 0.85rem;
}
.btn-light.btn-sm.font-monospace:hover {
    background-color: #e5dacd !important;
    border-color: #c8b5a0 !important;
}

.sync-dot {
    width: 7px;
    height: 7px;
    background-color: #5ea86f;
    border-radius: 50%;
    display: inline-block;
    animation: ss-pulse 2s infinite ease-in-out;
}
.sync-pulse {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #5ea86f;
    box-shadow: 0 0 0 0 rgba(94, 168, 111, 0.7);
    animation: pulse-sync 1.5s infinite;
}
@keyframes pulse-sync {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(94, 168, 111, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 5px rgba(94, 168, 111, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(94, 168, 111, 0); }
}
@keyframes ss-pulse {
    0% { opacity: 0.4; }
    50% { opacity: 1; }
    100% { opacity: 0.4; }
}
.transition-all { transition: all 0.2s ease-in-out; }
.hover-scale:hover { transform: scale(1.025); }
.btn-xs { padding: 2px 7px; font-size: 0.72rem; }