/* --- General & Responsive Styles --- */
body {
    background-color: #f0f2f5;
    padding-top: 70px; /* Adjusted for taller navbar */
}

a {
    color: #0d6efd;
    text-decoration: none;
}

a:hover {
    text-decoration: none !important;
}

/* --- Card & Post Styles --- */
.card {
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 1.25rem;
}

.post-content {
    white-space: pre-wrap; 
    word-wrap: break-word; 
    font-size: 1.1rem;
    line-height: 1.5;
}

.post-content a {
    color: inherit;
    text-decoration: underline;
    font-weight: 500;
}

/* --- Profile & User Styles --- */
.profile-pic-nav {
    width: 32px;
    height: 32px;
    object-fit: cover;
}

.profile-pic-post {
    width: 50px;
    height: 50px;
    object-fit: cover;
}

.profile-pic-large {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* --- Interactive Element Styles (Likes, Comments) --- */
.post-actions .btn {
    color: #65676b;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.5rem 0.75rem;
}

.post-actions .btn:hover {
    background-color: #f2f2f2;
}

.like-btn.liked, .like-btn.liked .fa-heart {
    color: #e0245e;
}

.comment-section {
    background-color: #f8f9fa;
    padding: 1rem;
    border-top: 1px solid #e9ecef;
}

.comment {
    background-color: #fff;
    border-radius: 8px;
    padding: 0.75rem;
}
.comment-reply {
    margin-left: 40px;
    border-left: 3px solid #e9ecef;
    padding-left: 10px;
}


/* --- Poll Styles --- */
.poll-option {
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-radius: 5px;
    margin-bottom: 5px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
.poll-option .poll-text {
    position: relative;
    z-index: 2;
}
.poll-option .poll-percent-bar {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: #bde0fe;
    z-index: 1;
    transition: width 0.5s ease-in-out;
}
.poll-option.voted {
    border-color: #0d6efd;
    font-weight: bold;
}

/* --- Messaging Styles --- */
/* --- Message Conversation Styling --- */
.message-card {
    height: 80vh;
    display: flex;
    flex-direction: column;
}
.message-thread {
    flex-grow: 1;
    overflow-y: auto;
}

/* NEW: The container for a single message row */
.message-row {
    max-width: 85%;
}
.justify-content-end.message-row {
    margin-left: auto;
}
.justify-content-start.message-row {
    margin-right: auto;
}

/* NEW: Styling for the profile picture within a message */
.profile-pic-message {
    width: 40px;
    height: 40px;
    object-fit: cover;
    margin: 0 10px;
    align-self: flex-end; /* Aligns pic to the bottom of its container */
}

/* MODIFIED: Message Bubble styling */
.message-bubble {
    padding: 10px 15px;
    border-radius: 20px;
    word-wrap: break-word;
}
.message-bubble.sent {
    background-color: #0d6efd;
    color: white;
    border-bottom-right-radius: 5px; /* "Tail" effect */
}
.message-bubble.received {
    background-color: #e9ecef;
    color: #212529;
    border-bottom-left-radius: 5px; /* "Tail" effect */
}
/* --- Read More / Read Less Styles --- */
.read-more-btn, .read-less-btn {
    font-size: 0.9em;
    font-weight: bold;
    color: inherit; /* This makes it use the custom text color */
    opacity: 0.8;
    text-decoration: underline;
    cursor: pointer;
}

.read-more-btn:hover, .read-less-btn:hover {
    opacity: 1;
    color: inherit;
}
/*
 * Styles for the mobile "Who to Follow" horizontal scroll container
 */
.horizontal-scroll-container {
    overflow-x: auto; /* Enables horizontal scrolling */
    white-space: nowrap; /* Prevents items from wrapping to the next line */
    -webkit-overflow-scrolling: touch; /* Adds smooth scrolling on iOS devices */
}

/* Hide the ugly scrollbar on browsers that support it */
.horizontal-scroll-container::-webkit-scrollbar {
    display: none; /* For Chrome, Safari, and Opera */
}
.horizontal-scroll-container {
    -ms-overflow-style: none;  /* For Internet Explorer and Edge */
    scrollbar-width: none;  /* For Firefox */
}


/*
 * Style for each individual suggestion card inside the scroller
 */
.suggestion-card-mobile {
    display: inline-block; /* Lays out the cards side-by-side */
    width: 110px;          /* Sets a fixed width for each card */
    vertical-align: top;   /* Aligns cards to the top */
    margin-right: 12px;    /* Adds spacing between cards */
    text-align: center;    /* Centers the content (image, name, button) */
}

.suggestion-card-mobile:last-child {
    margin-right: 0;
}


