Class_generator/css/navigation.css

262 lines
4.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* === NAVIGATION BREADCRUMB === */
.breadcrumb {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
padding: 15px 25px;
border-radius: var(--border-radius);
box-shadow: var(--shadow);
margin-bottom: 20px;
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
position: sticky;
top: 20px;
z-index: 100;
}
.breadcrumb-item {
background: transparent;
border: 2px solid transparent;
color: var(--text-secondary);
padding: 8px 16px;
border-radius: 20px;
font-size: 0.9rem;
font-weight: 500;
transition: var(--transition);
position: relative;
}
.breadcrumb-item:hover {
background: var(--background-color);
color: var(--text-primary);
}
.breadcrumb-item.active {
background: var(--primary-color);
color: white;
border-color: var(--primary-color);
}
.breadcrumb-item:not(:last-child)::after {
content: '';
position: absolute;
right: -15px;
top: 50%;
transform: translateY(-50%);
color: var(--text-secondary);
font-weight: 600;
pointer-events: none;
}
/* === ANIMATIONS DE TRANSITION === */
.page-transition-enter {
opacity: 0;
transform: translateX(30px);
}
.page-transition-enter-active {
opacity: 1;
transform: translateX(0);
transition: all 0.3s ease-out;
}
.page-transition-exit {
opacity: 1;
transform: translateX(0);
}
.page-transition-exit-active {
opacity: 0;
transform: translateX(-30px);
transition: all 0.3s ease-in;
}
/* === NAVIGATION RESPONSIVE === */
@media (max-width: 768px) {
.breadcrumb {
padding: 12px 20px;
margin-bottom: 15px;
position: static;
}
.breadcrumb-item {
padding: 6px 12px;
font-size: 0.85rem;
}
.breadcrumb-item:not(:last-child)::after {
right: -12px;
font-size: 0.8rem;
}
}
/* === CONTENT SCANNING STYLES === */
.loading-content, .no-content, .error-content {
text-align: center;
padding: 40px 20px;
color: var(--text-secondary);
font-style: italic;
background: #f8f9fa;
border-radius: 12px;
border: 2px dashed #e5e7eb;
}
.error-content {
color: var(--error-color);
border-color: var(--error-color);
background: #fef2f2;
}
.content-info {
background: #f0f9ff;
padding: 15px;
border-radius: 8px;
text-align: center;
margin-top: 20px;
border-left: 4px solid var(--primary-color);
}
.show-all-btn {
background: var(--primary-color);
color: white;
border: none;
padding: 8px 16px;
border-radius: 20px;
margin-top: 10px;
cursor: pointer;
font-size: 0.9rem;
transition: all 0.3s ease;
}
.show-all-btn:hover {
background: #2563EB;
transform: translateY(-1px);
}
/* === ENHANCED LEVEL CARDS === */
.level-card {
position: relative;
overflow: visible;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 10px;
}
.card-header .icon {
font-size: 2.5rem;
}
.compatibility {
font-size: 1.2rem;
padding: 2px;
border-radius: 4px;
}
.compatibility.high-compat {
background: rgba(16, 185, 129, 0.1);
}
.compatibility.medium-compat {
background: rgba(245, 158, 11, 0.1);
}
.compatibility.low-compat {
background: rgba(239, 68, 68, 0.1);
}
.content-stats {
display: flex;
gap: 8px;
margin: 10px 0;
flex-wrap: wrap;
}
.difficulty-badge {
padding: 2px 8px;
border-radius: 12px;
font-size: 0.75rem;
font-weight: bold;
text-transform: uppercase;
}
.difficulty-easy {
background: #10B981;
color: white;
}
.difficulty-medium {
background: #F59E0B;
color: white;
}
.difficulty-hard {
background: #EF4444;
color: white;
}
.difficulty-intermediate {
background: #6366F1;
color: white;
}
.items-count, .time-estimate {
background: #f3f4f6;
color: var(--text-secondary);
padding: 2px 6px;
border-radius: 8px;
font-size: 0.75rem;
}
.detailed-stats {
font-size: 0.8rem;
color: var(--text-secondary);
margin-top: 8px;
border-top: 1px solid #f3f4f6;
padding-top: 8px;
}
@media (max-width: 768px) {
.card-header {
flex-direction: column;
align-items: center;
gap: 5px;
}
.content-stats {
justify-content: center;
}
.detailed-stats {
text-align: center;
}
}
@media (max-width: 480px) {
.breadcrumb {
padding: 10px 15px;
gap: 8px;
}
.breadcrumb-item {
padding: 5px 10px;
font-size: 0.8rem;
}
.breadcrumb-item:not(:last-child)::after {
right: -10px;
}
.content-stats {
flex-direction: column;
gap: 5px;
}
.loading-content, .no-content, .error-content {
padding: 30px 15px;
}
}