.profile-tabs { display: flex; gap: 1rem; margin: 1.5rem 0; border-bottom: 2px solid #e0e0e0; } .tab-link { padding: 0.75rem 1.5rem; text-decoration: none; color: #666; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.3s ease; } .tab-link:hover { color: #333; border-bottom-color: #ccc; text-decoration: none; } .tab-link.active { color: #0066cc; border-bottom-color: #0066cc; font-weight: 600; } .masonry-grid { /* Simple CSS column masonry */ column-count: 3; column-gap: 1.5rem; margin: 2rem 0; } @media (max-width: 1200px) { .masonry-grid { column-count: 2; } } @media (max-width: 768px) { .masonry-grid { column-count: 1; } } .masonry-item { break-inside: avoid; margin-bottom: 1.5rem; background: #fff; border-radius: 0; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.2s ease, box-shadow 0.2s ease; } .masonry-item:hover { transform: translateY(-4px); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); } .masonry-link, .masonry-link:hover { display: block; text-decoration: none; color: inherit; } .masonry-image-container { width: 100%; overflow: hidden; background-color: #f5f5f5; position: relative; } .masonry-hover-caption { position: absolute; bottom: 0; left: 0; right: 0; background: var(--color-secondary); color: white; padding: 2rem 1rem 1rem; transform: translateY(100%); transition: transform 0.3s ease; pointer-events: none; } .masonry-item:hover .masonry-hover-caption { transform: translateY(0); } .masonry-hover-caption h4 { margin: 0 0 0.5rem 0; font-size: 1rem; font-weight: 600; color: white; line-height: 1.3; } .masonry-hover-caption p { margin: 0; font-size: 0.85rem; color: rgba(255, 255, 255, 0.9); line-height: 1.4; } .masonry-image { width: 100%; height: auto; display: block; transition: transform 0.3s ease; } .masonry-item:hover .masonry-image { transform: scale(1.05); } .masonry-caption { padding: 1rem 1rem 0.5rem; } .masonry-caption h3 { margin: 0; font-size: 1.1rem; font-weight: 600; color: #333; line-height: 1.4; } .masonry-description { padding: 0 1rem; font-size: 0.9rem; color: #666; line-height: 1.5; } .masonry-meta { padding: 0.5rem 1rem 1rem; font-size: 0.85rem; color: #999; } .event-date { font-style: italic; } .no-media { text-align: center; padding: 3rem 1rem; color: #666; } .no-media p { font-size: 1.1rem; } .video-overlay { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; background: rgba(0, 0, 0, 0.5); border-radius: 50%; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; } .video-overlay svg { margin-left: 4px; } .video-no-preview { background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-accent) 100%); min-height: 200px; display: flex; align-items: center; justify-content: center; } .video-placeholder { display: flex; align-items: center; justify-content: center; color: #9e9e9e; } .video-placeholder svg { filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)); } .btn-load-more:disabled { background-color: #ccc; cursor: not-allowed; transform: none; } .load-more-container { text-align: center; margin: 2rem 0; } .load-more-status { margin-top: 1rem; color: #666; font-size: 0.9rem; }