    .comment-section {
        margin: 20px 0;
    }

    .comment-form-container {
        margin-bottom: 20px;
        padding: 15px;
        border: 1px solid var(--d-bg4);
        border-radius: 4px;
        background-color: var(--d-bg2);
        display: none;
    }

    .comment-form-title {
        font-size: 1.2em;
        font-weight: bold;
        margin-bottom: 10px;
    }

    .comment-form {
        /* Styles for the main comment form */
    }

    .comment-form label {
        display: block;
        margin-bottom: 5px;
    }

    .comment-form input[type="text"],
    .comment-form textarea {
        width: calc(100% - 12px);
        padding: 8px;
        margin-bottom: 10px;
        border: 1px solid var(--d-bg4);
        border-radius: 4px;
        box-sizing: border-box;
        resize: vertical;
        color: var(--d-color);
        background-color: var(--d-bg);
    }

    .comment-form button {
        background-color: #007bff;
        color: white;
        padding: 10px 15px;
        border: none;
        border-radius: 4px;
        font-size: 16px;
    }

    .comment-form button:hover {
        background-color: #0056b3;
    }

    .comment {
        border-bottom: 1px solid var(--l-color3);
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

    .comment:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .comment-header {
        display: flex;
        align-items: center;
        margin-bottom: 8px;
        font-size: 0.9em;
        color: var(--l-color2);
    }

    .comment-author {
        font-weight: bold;
        margin-right: 10px;
    }

    .comment-date {
        color: #888;
    }

    .comment-content {
        margin-bottom: 10px;
        line-height: 1.5;
    }

    .reply-button {
        background: none;
        border: none;
        color: var(--link);
        cursor: pointer;
        font-size: 0.9em;
        padding: 0;
    }

    .reply-button:hover {
        text-decoration: underline;
    }

    .reply-form {
        margin-top: 10px;
        padding-left: 20px;
        border-left: 2px solid #ddd;
        display: none; /* Hidden by default */
    }

    .reply-form label {
        display: block;
        margin-bottom: 5px;
    }

    .reply-form input[type="text"],
    .reply-form textarea {
        width: calc(100% - 26px);
        padding: 8px;
        margin-bottom: 10px;
        border: 1px solid var(--d-bg4);
        border-radius: 4px;
        box-sizing: border-box;
        resize: vertical;
        background-color: var(--d-bg);
        color: var(--d-color);
    }

    .reply-form button {
        background-color: #28a745;
        color: white;
        padding: 8px 12px;
        border: none;
        border-radius: 4px;
        font-size: 14px;
    }

    .reply-form button:hover {
        background-color: #1e7e34;
    }

    .replies-container {
        margin-top: 15px;
        padding-left: 6px;
        border-left: 2px solid #ddd;
    }

    .reply {
        /*background-color: var(--d-bg3);*/
        padding: 10px;
        margin-bottom: 10px;
        border-radius: 4px;
        font-size: 0.95em;
    }

    .reply-header {
        display: flex;
        align-items: center;
        margin-bottom: 5px;
        color: var(--l-color2);
        font-size: 0.9em;
    }

    .reply-author {
        font-weight: bold;
        margin-right: 8px;
    }

    .reply-date {
        color: #999;
    }

    .reply-content {
        margin-bottom: 10px;
        line-height: 1.5;
    }

    .reply-reply-button {
        background: none;
        border: none;
        color: var(--link);
        cursor: pointer;
        font-size: 0.85em;
        padding: 0;
        margin-left: 10px;
    }

    .reply-reply-button:hover {
        text-decoration: underline;
    }

    .no-replies {
        color: #777;
        font-size: 0.9em;
    }

    /* Style to visually place the reply form below the button */
    .reply-form {
        margin-left: 20px; /* Indent the reply form */
        margin-top: 5px;
        border-left: none; /* Remove the left border */
        padding-left: 0;
    }

    .comment-section .required {
        color: red;
    }

    #new-comment-btn {
        margin: 15px 0;
        display: block;
        border-bottom: 1px solid var(--l-color3);
    }


    @media (max-width: 400px) {
        .comment-form-container {
            padding: 0;
            border: 0;
        }
        .reply-form {
            margin-left: 0;
        }
        .reply-form input[type="text"], 
        .reply-form textarea {
            width: 100%;
        }
    }