html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}
.navbar {
    background-color: aliceblue;
}
.card-img{
    float: left;
    width: 10%;
    margin-bottom: 5px;
    margin-right:5%;
}
.card-title {
    font-weight: bold;
}


img.rounded-circle {
    background-color: lightblue;
}

body {
    background-color: #f4f2ee;
}

/* collapsed excerpt: limit height and hide overflow; preserves original HTML */
.article-excerpt {
    max-height: 15rem; /* adjust visible height */
    overflow: hidden;
    position: relative;
    transition: max-height 0.25s ease;
}

/* when expanded, allow the full height */
.article-excerpt.expanded {
    max-height: 1000rem; /* large value to effectively remove clipping */
}

/* optional subtle fade at the bottom to indicate more content */
.article-excerpt::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2.25rem;
    background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
    pointer-events: none;
}

.article-excerpt.expanded::after {
    display: none;
}

.reactions {
    /*background-color: white;*/
}

.reaction{
        margin-right: 10px;
}

/* collapsed excerpt: limit height and hide overflow; preserves original HTML */
.comments-excerpt {
    background-color: white;
    border-width: 2px;
    border-color: lightblue;
    border-style: solid;
    padding: 10px;
    max-height: 10rem; /* adjust visible height */
    overflow: hidden;
    position: relative;
    transition: max-height 0.25s ease;
}

    /* when expanded, allow the full height */
    .comments-excerpt.expanded {
        max-height: 1000rem; /* large value to effectively remove clipping */
    }

    /* optional subtle fade at the bottom to indicate more content */
    .comments-excerpt::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 2.25rem;
        background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
        pointer-events: none;
    }

    .comments-excerpt.expanded::after {
        display: none;
    }


.article-comment {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
}

.article-comment .comment-img img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 50%;
}

.article-comment .comment-body {
    flex: 1 1 auto;
    word-break: break-word;
}

/* Slight card-like background to separate comments */
.article-comment {
    background: #fbfbfb;
    border: 1px solid #eee;
    border-radius: 6px;
}

.comment-title {
    font-weight: bold;
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
}
.comment-subtitle {
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
}

.time{
    opacity: 0.85;
}

@media (max-width: 576px) {
    .article-comment .comment-img img {
        width: 32px;
        height: 32px;
    }
}
