

.wmd-panel
{
	margin-left: 25%;
	margin-right: 25%;
	width: 50%;
	min-width: 500px;
}

.wmd-button-bar 
{
	width: 100%;
	background-color: Silver; 
}

.wmd-input 
{ 
	min-height: 40px;
	width: 100%;
	/*background-color: Gainsboro;*/
	border: 1px solid DarkGray;
}

.open-editor {
    min-height: 100px;
}

.wmd-preview {
    /*background-color: #c0e0ff;*/
    border: solid thin DarkGray;
    border-radius:10px;
    padding:7px;
    /*border-bottom: solid thin DarkGray;*/
}

.wmd-button-row 
{
	position: relative; 
	margin-left: 5px;
	margin-right: 5px;
	margin-bottom: 5px;
	margin-top: 10px;
	padding: 0px;  
	height: 20px;
}

.wmd-spacer
{
	width: 1px; 
	height: 20px; 
	margin-left: 14px;
	
	position: absolute;
	background-color: Silver;
	display: inline-block; 
	list-style: none;
}

.wmd-button {
    width: 20px;
    height: 20px;
    padding-left: 2px;
    padding-right: 3px;
    position: absolute;
    display: inline-block;
    list-style: none;
    cursor: pointer;
}

.wmd-button > span {
    background-image: url(/talk/css/wmd_buttons.svg);
    background-repeat: no-repeat;
    background-position: 0px 0px;
    width: 20px;
    height: 20px;
    display: inline-block;
}

div.nsf li.wmd-image { display:none !important; }

.wmd-spacer1
{
    left: 50px;
}
.wmd-spacer2
{
    left: 175px;
}
.wmd-spacer3
{
    left: 300px;
}

.wmd-prompt-background
{
	background-color: Black;
}

.wmd-prompt-dialog
{
	border: 1px solid #999999;
	background-color: #F5F5F5;
}

.wmd-prompt-dialog > div {
	font-size: 0.8em;
	font-family: arial, helvetica, sans-serif;
}


.wmd-prompt-dialog > form > input[type="text"] {
	border: 1px solid #999999;
	color: black;
}

.wmd-prompt-dialog > form > input[type="button"]{
	border: 1px solid #888888;
	font-family: trebuchet MS, helvetica, sans-serif;
	font-size: 0.8em;
	font-weight: bold;
}



.grid-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    flex-grow: 1;
    overflow: auto;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    padding: 0.5rem;
    margin-bottom: 1rem;
}

@media (min-width: 768px) {
    .grid-wrapper {
        grid-template-columns: 1fr 1fr;
    }

}

@media(min-width: 1200px) {
    .grid-wrapper {
        grid-template-columns: 1fr 1fr 1fr;
    }

}

@media(min-width: 1600px) {
    .grid-wrapper {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

}



.card.grid-card {
    box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
}

.grid-card .card-header {
    background-color: white;
    color: black;
    font-weight: 600;
}

.grid-card .card-body {
    overflow: hidden;
    max-height: 500px;
}




/* jk layout tweaks */

.newcommentform-avatar {
    padding-right: 0px;
}

.newcommentform-username {
    word-break: break-all;
}


.comment-body-text {
    padding-left: 0px;
}

/* SB tweaks */

#talk-comments .card-header {
    padding-top: 6px;
    padding-bottom: 6px;
}

#talk-comments .card-body {
    padding: 10px 10px;    
}

.comment-avatar-container {
    height: 40px;
    width: 40px;
    min-width: 40px;
    margin-top: 0.2em;
}

/* Allows the avatar/username/date block to shrink below its content width so the
   date wraps onto its own line instead of pushing the action buttons off the row. */
.comment-header-identity,
.comment-name-date-wrap,
.comment-username-group {
    min-width: 0;
}

/* Usernames can be arbitrarily long, unbroken strings (e.g. an email address used
   as a display name). Without this, flex-shrink can't do its job and the text
   overflows underneath the action buttons instead of wrapping. */
.comment-username-text {
    overflow-wrap: anywhere;
    min-width: 0;
}

/* The Font Awesome glyph sits higher in its box than the username text does in
   its line box, so top-aligning the two literally makes the icon look too high.
   Nudge it down slightly so it reads as level with the avatar and username. */
.comment-pinned-icon {
    margin-top: 0.4em;
}

.comment-avatar {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

/* Anchor the subscribe/unsubscribe bell to the top-right of the comments block so it sits on the
   "Comments" heading line instead of taking a full-width row of its own. Scoped to #divComments,
   which wraps every comments entry point, so the shared commentList template is unaffected when
   reused elsewhere (e.g. forum threads, which have no #divComments and keep the in-flow layout). */
#divComments {
    position: relative;
}

#divComments .talk-subscribe {
    position: absolute;
    top: -3px;
    right: 0;
    z-index: 2;
    margin-bottom: 0 !important;
}

.comment-body-text {
    margin: 0px 12px;
    flex-grow: 1;
}

.comment-body-text img,
.admin-comment-text img {
    max-width: 100%;
    height: auto;
    max-height: 80vh;
    vertical-align: text-top;
}

.admin-comment-wrapper {
    margin-bottom: 12px;
}

.admin-comment-text {   
    line-height: 1.45rem;   
    margin-bottom: 9px;
}

.admin-comment-card .card-body {
    padding: 0.5rem 0.5rem;
}

.admin-comment-card .card-body .card-text{
    margin-bottom: 0.5rem;
}



/* Mobile-optimized comment indentation - Combination Approach */
/* Reduce avatar sizes and indentation on mobile */
@media (max-width: 575.98px) {
    /* Hide avatars for nested comments (replies) on mobile to save space */
    #talk-comments article section[aria-label="Replies"] .comment-avatar-container {
        display: none;
    }
    
    /* Reduce comment body text margins on mobile */
    .comment-body-text {
        margin: 0px 6px;
    }
    
    /* Reduce card padding on mobile */
    #talk-comments .card-body {
        padding: 8px 6px;
    }
    
    /* Hide button text labels on mobile, show only icons */
    #talk-comments .card-header button .btn-label {
        display: none;
    }
}

/* Small mobile devices - even more aggressive optimization */
@media (max-width: 374.98px) {
    /* Reduce margins further */
    .comment-body-text {
        margin: 0px 4px;
    }
}

/* Hide the camera button on devices with a precise pointer (mouse/trackpad).
   pointer: coarse targets touchscreens — phones and tablets — where direct camera
   access is meaningful. A width-based query would wrongly hide it on small desktop
   windows and show it on large tablets with a mouse attached.
   note-btn-imagebrowse is always visible (works on desktop and mobile). */
.note-btn-mobilecamera {
    display: none;
}

@media (pointer: coarse) {
    .note-btn-mobilecamera {
        display: inline-block;
    }
}

/* Visual feedback for the Summernote image-rotate buttons.
   The image stays visible but is dimmed while the server is doing the work. */
.talkabout-img-rotating {
    opacity: 0.5;
    filter: grayscale(40%);
    transition: opacity 0.15s ease-in-out;
    pointer-events: none;
}

/* Inline placeholder shown at the cursor while a photo is uploading, so the user
   gets feedback that something is happening (important on slow mobile connections).
   Replaced by the real <img> on success, or switched to the .is-error chip below on
   failure/timeout. The fa-spin animation is provided by FontAwesome. */
.talkabout-upload-placeholder {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.15em 0.6em;
    margin: 0 0.15em;
    border: 1px dashed #adb5bd;
    border-radius: 0.25rem;
    background-color: #f8f9fa;
    color: #6c757d;
    font-size: 0.875em;
    line-height: 1.4;
    vertical-align: middle;
    white-space: nowrap;
    user-select: none;
}

.talkabout-upload-placeholder.is-error {
    border-color: #dc3545;
    background-color: #fdf2f3;
    color: #b02a37;
}

.talkabout-upload-placeholder .talkabout-upload-icon {
    flex: 0 0 auto;
}

.talkabout-upload-placeholder .talkabout-upload-retry,
.talkabout-upload-placeholder .talkabout-upload-dismiss {
    border: none;
    background: transparent;
    padding: 0 0.25em;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.talkabout-upload-placeholder .talkabout-upload-retry {
    text-decoration: underline;
}

.talkabout-upload-placeholder .talkabout-upload-dismiss {
    font-size: 1.1em;
    line-height: 1;
}

