/* Post Detail Modal Styles */ .popup-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.8); display: flex; justify-content: center; align-items: center; z-index: 1000; } .post-detail-modal { width: 80%; max-width: 900px; max-height: 80vh; background: white; border-radius: 8px; overflow: hidden; } .post-detail-container { display: flex; height: 100%; } .post-image-container { flex: 1; display: flex; align-items: center; justify-content: center; background: #f5f5f5; padding: 20px; } .post-detail-image { max-width: 100%; max-height: 70vh; object-fit: contain; } .post-details { flex: 1; padding: 20px; overflow-y: auto; max-height: 70vh; } .post-user-info { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; } .post-user-avatar { width: 40px; height: 40px; border-radius: 50%; margin-right: 10px; object-fit: cover; } .post-username { font-weight: bold; } .post-description { margin-bottom: 20px; line-height: 1.5; } .post-tags, .post-pin-info { margin-bottom: 15px; color: #555; } .post-stats { display: flex; gap: 15px; margin-bottom: 15px; color: #555; } .post-date { color: #888; font-size: 0.9em; } /* Responsive adjustments */ @media (max-width: 768px) { .post-detail-modal { width: 90%; max-height: 90vh; } .post-detail-container { flex-direction: column; } .post-image-container { max-height: 40vh; } .post-details { max-height: 40vh; } } /* Add to your ProfilePage.css */ .profile-container { max-width: 935px; margin: 0 auto; padding: 30px 20px; } .profile-header { display: flex; align-items: flex-start; /* Align to top */ margin-bottom: 44px; } .profile-pic-container { width: 150px; height: 150px; margin-right: 30px; flex-shrink: 0; /* Prevent shrinking */ position: relative; visibility: visible; /* Default state */ } .profile-picture { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; transition: opacity 0.3s ease; position: absolute; top: 0; left: 0; } .profile-info { flex: 1; min-width: 0; /* Prevent flex overflow */ } .username { font-size: 28px; font-weight: 300; margin-bottom: 15px; } .stats { display: flex; margin-bottom: 20px; } .stats span { margin-right: 40px; font-size: 16px; } .bio { margin-bottom: 20px; line-height: 1.5; } .profile-buttons { display: flex; gap: 10px; } .edit-profile-btn, .new-post-btn { padding: 6px 12px; border: 1px solid #dbdbdb; border-radius: 4px; background: transparent; font-size: 14px; font-weight: 600; cursor: pointer; } .posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; border-top: 1px solid #dbdbdb; padding-top: 30px; } .post-item { position: relative; aspect-ratio: 1; overflow: hidden; } .post-item img { width: 100%; height: 100%; object-fit: cover; } .post-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.3); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; } .post-item:hover .post-overlay { opacity: 1; } .post-likes, .post-comments { color: white; margin: 0 5px; font-weight: bold; } .no-posts { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 300px; text-align: center; } .no-posts h3 { font-size: 22px; font-weight: 300; margin-bottom: 10px; } .no-posts p { margin-bottom: 20px; color: #8e8e8e; } .no-posts button { padding: 6px 12px; background: #0095f6; color: white; border: none; border-radius: 4px; font-weight: 600; cursor: pointer; } .popup-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 1000; } .popup-content.with-image-preview { display: flex; width: 90%; max-width: 800px; background: white; border-radius: 8px; overflow: hidden; } .image-preview-container { flex: 1; display: flex; align-items: center; justify-content: center; background: #f5f5f5; padding: 20px; } .preview-image { max-width: 100%; max-height: 400px; object-fit: contain; } .current-profile-pic { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; } .image-upload-prompt { text-align: center; color: #888; } .form-container { flex: 1; padding: 30px; min-width: 300px; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: bold; } .form-group input, .form-group textarea, .form-group select { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px; } .form-group textarea { height: 100px; resize: vertical; } .form-group.checkbox { display: flex; align-items: center; } .form-group.checkbox input { width: auto; margin-right: 8px; } .form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; } .form-actions button { padding: 8px 16px; border: none; border-radius: 4px; cursor: pointer; } .form-actions button:last-child { background: #0095f6; color: white; } .form-actions button:disabled { opacity: 0.7; cursor: not-allowed; } /* Follow Button Styles */ .follow-btn { padding: 6px 24px; border: none; border-radius: 4px; background-color: #0095f6; color: white; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; } .follow-btn.following { background-color: white; color: black; border: 1px solid #dbdbdb; } .follow-btn.following:hover { background-color: #ff4d4d; color: white; border-color: #ff4d4d; } .post-comments-section { margin-top: 15px; border-top: 1px solid #eee; padding-top: 10px; } .comments-list { max-height: 200px; overflow-y: auto; margin-bottom: 10px; } .comment { margin-bottom: 8px; padding: 5px; background: #f5f5f5; border-radius: 4px; } .add-comment { margin-top: 10px; } .add-comment form { display: flex; } .add-comment input { flex-grow: 1; padding: 8px; border: 1px solid #ddd; border-radius: 4px 0 0 4px; } .add-comment button { padding: 8px 12px; background: #3897f0; color: white; border: none; border-radius: 0 4px 4px 0; cursor: pointer; } .like-button { background: none; border: none; cursor: pointer; font-size: 16px; padding: 0; margin-right: 15px; display: flex; align-items: center; } .like-button:hover { opacity: 0.8; } .post-stats { display: flex; align-items: center; margin: 10px 0; } .like-button.liked { color: #ed4956; /* Instagram-like red color */ font-weight: bold; } .like-button:disabled { cursor: default; opacity: 1; } .go-to-pin-btn { margin-left: 10px; padding: 5px 10px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; } .go-to-pin-btn:hover { background-color: #0056b3; } .create-pin-button { margin-top: 10px; padding: 8px 16px; background-color: #3897f0; color: white; border: none; border-radius: 4px; cursor: pointer; } .create-pin-button:hover { background-color: #2684f0; } select option:disabled { color: #999; font-style: italic; } .post-actions { margin-top: 15px; display: flex; justify-content: flex-end; } .delete-post-btn { padding: 6px 12px; background-color: transparent; color: #ed4956; border: 1px solid #ed4956; border-radius: 4px; cursor: pointer; font-size: 14px; font-weight: 600; } .delete-post-btn:hover { background-color: #fafafa; } .post-user-left { display: flex; align-items: center; gap: 10px; } .follow-modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #eee; } .close-modal-btn { background: none; border: none; font-size: 24px; cursor: pointer; color: #888; padding: 0 10px; } .close-modal-btn:hover { color: #555; } .follow-list-modal { max-width: 400px; width: 90%; max-height: 60vh; overflow-y: auto; padding: 20px; background: white; /* Solid white background */ border-radius: 12px; /* Rounded corners */ box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15); /* Subtle shadow */ border: 1px solid #e0e0e0; /* Light border */ } .follow-list { display: flex; flex-direction: column; gap: 12px; } .follow-item { display: flex; align-items: center; gap: 15px; padding: 8px 12px; cursor: pointer; border-radius: 8px; transition: background-color 0.2s; } .follow-item:hover { background-color: #f5f5f5; } .follow-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 1px solid #eee; } .follow-username { font-weight: 600; font-size: 15px; } .empty-list { text-align: center; padding: 30px 20px; color: #888; font-size: 15px; } .loading { text-align: center; padding: 30px 20px; color: #888; }