body {
    font-family: 'Raleway', sans-serif;
}
h1, h2, h3, h4, .cinzel-font {
    font-family: 'Cinzel', serif;
}
.text-gold {
    color: #c5a059;
}

.text-muted{
    color: #e0e0e0 !important;
}

.bestiary-hero {
    position: relative;
    padding: 140px 0 60px 0;
    background: linear-gradient(rgba(10, 10, 12, 0.6), rgba(10, 10, 12, 0.95)), url('/assets/images/cathedral-shadow.png');
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}
.creature-card {
    background: rgba(18, 18, 22, 0.65);
    border: 1px solid rgba(197, 160, 89, 0.15);
    border-radius: 4px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    backdrop-filter: blur(8px);
}
.creature-card:hover {
    transform: translateY(-5px);
    border-color: #c5a059;
    box-shadow: 0 10px 30px rgba(197, 160, 89, 0.15);
}
.creature-img-container {
    position: relative;
    height: 230px;
    background-color: #0d0d0f;
    overflow: hidden;
    border-bottom: 1px solid rgba(197, 160, 89, 0.15);
}
.aura-tag {
    position: absolute;
    bottom: 15px;
    left: 15px;
    padding: 4px 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 2px;
    letter-spacing: 1px;
    z-index: 2;
}
.aura-red { background: rgba(220, 53, 69, 0.85); border: 1px solid #dc3545; text-shadow: 0 0 5px #ff0000; }
.aura-blue { background: rgba(13, 110, 253, 0.85); border: 1px solid #0d6efd; text-shadow: 0 0 5px #0055ff; }
.aura-green { background: rgba(25, 135, 84, 0.85); border: 1px solid #198754; text-shadow: 0 0 5px #00ff55; }
.aura-purple { background: rgba(111, 66, 193, 0.85); border: 1px solid #6f42c1; text-shadow: 0 0 5px #cc00ff; }

.creature-body {
    padding: 25px;
}
.creature-meta {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #c5a059;
    margin-bottom: 5px;
}
.creature-title {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 15px;
    border-bottom: 1px dashed rgba(255,255,255,0.1);
    padding-bottom: 8px;
}
.creature-lore {
    font-size: 0.88rem;
    color: #a0a0a8;
    line-height: 1.6;
    margin-bottom: 20px;
    font-style: italic;
}
.stat-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
}
.stat-value {
    font-size: 0.85rem;
    color: #ffffff;
}
.filter-btn {
    background: transparent;
    border: 1px solid rgba(197, 160, 89, 0.2);
    color: #ffffff;
    font-family: 'Cinzel', serif;
    padding: 8px 20px;
    font-size: 0.85rem;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    border-radius: 2px;
}
.filter-btn:hover, .filter-btn.active {
    background-color: #c5a059;
    border-color: #c5a059;
    color: #000000 !important;
    font-weight: 600;
}
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.215, 0.610, 0.355, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}