.categories-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
gap: 1rem;
margin-bottom: 3rem;
}

.category-card {
background: white;
border-radius: 12px;
padding: 2.5rem 1.5rem;
text-align: center;
box-shadow: var(--shadow);
transition: var(--transition);
position: relative;
overflow: hidden;
border: 1px solid var(--border-color);
}

.category-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
border-color: var(--accent-color);
}

.category-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 5px;
background: linear-gradient(90deg, var(--accent-color), var(--secondary-color));
}

.category-icon {
width: 100px;
height: 100px;
margin: 0 auto 1.5rem;
border-radius: 50%;
background: var(--highlight-color);
display: flex;
align-items: center;
justify-content: center;
font-size: 3rem;
}

.category-icon::before {
font-family: 'Font Awesome 5 Free';
font-weight: 900;
color: var(--secondary-color);
}

.dreams-icon::before { content: '🌙'; }
.nightmares-icon::before { content: '😱'; }
.animals-icon::before { content: '🐾'; }
.symbols-icon::before { content: '🔮'; }
.people-icon::before { content: '👥'; }

.category-card h3 {
font-family: 'Playfair Display', serif;
color: var(--primary-color);
margin-bottom: 1rem;
font-size: 1.6rem;
}

.category-card p {
color: var(--light-text);
margin-bottom: 1.5rem;
line-height: 1.6;
}

.category-btn {
display: inline-block;
padding: 0.8rem 1.5rem;
background: var(--primary-color);
color: white;
text-decoration: none;
border-radius: 50px;
font-weight: 600;
transition: var(--transition);
border: 2px solid var(--primary-color);
}

.category-btn:hover {
background: transparent;
color: var(--primary-color);
transform: scale(1.05);
}

.category-description-section {
background: var(--highlight-color);
padding: 2rem;
border-radius: 12px;
margin-top: 2rem;
}

.category-description-section ul {
list-style-type: none;
padding-left: 0;
margin-bottom: 1.5rem;
}

.category-description-section li {
padding: 0.8rem 0;
padding-left: 1.5rem;
position: relative;
line-height: 1.6;
}

.category-description-section li::before {
content: '•';
color: var(--accent-color);
font-size: 1.5rem;
position: absolute;
left: 0;
top: 0;
}

