.single #primary {
  float: none;
  width: auto;
}

.single #secondary {
  display: none;
}

.entry-content p {
  font-size: 16px;
}

.round-img.alignleft.wp-image-25695 {
  float: left;
}

#panel-25181-0-0-0.so-panel.widget.widget_sow-editor.panel-first-child.panel-last-child {
  text-align: center;
}
/* 1. Standardize parent height to line up the lower boundary anchors */
.so-widget-sow-blog .sow-blog-layout-grid .sow-entry-content {
    position: relative !important;
    display: block !important;
    
    /* Calculate precise height: 8 text lines (1.5em * 8) + 50px safe button zone padding */
    min-height: calc(1.5em * 8 + 50px) !important; 
    padding-bottom: 50px !important; 
    box-sizing: border-box !important;
}

/* 2. Truncate text lines uniformly using the line-clamp boundary model */
.so-widget-sow-blog .sow-blog-layout-grid .sow-entry-content p {
    display: -webkit-box !important;
    -webkit-line-clamp: 8 !important; /* Keep your crisp 8-line layout rule */
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.5em !important;    /* Hardcode tracking height for safe alignment math */
    margin-bottom: 0 !important;
}

/* 3. Flush-align the action button container flat against the bottom grid row edge */
.so-widget-sow-blog .sow-blog-layout-grid .sow-entry-content p a.sow-more-link {
    display: inline-block !important;
    position: absolute !important;
    bottom: 5px !important; /* Pins every single link exactly 5px above the bottom card boundary */
    right: 0 !important;
    width: max-content !important;
    height: auto !important;
    visibility: visible !important;
    z-index: 999 !important;
}

/* Fix multi-line title alignment by standardizing the complete header assembly footprint */
body .so-widget-sow-blog .sow-blog-layout-grid header.sow-entry-header {
    display: block !important;
    min-height: 110px !important; /* Forces a uniform height for Title + Date + Author */
    margin-bottom: -50px !important;
}

body .so-widget-sow-blog .sow-blog-layout-grid h2.sow-entry-title {
    margin: 0 0 5px 0 !important;
}

/*added */

.single-post .entry-thumbnail, 
.single-post .vantage-featured-image {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

.single-post .entry-thumbnail img.wp-post-image {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
}

/* kill page title */

.single-post .panel-grid-cell .widget-title {
    margin-top: 0;
    display: none;
}

/*line up left image in posts */

.entry-content .alignleft {
    margin: 0.35em 1.5em 1.5em 0;
}

/* line up excerpt in preview */
.sow-blog article .sow-blog-content-wrapper {
    overflow: auto;
    padding: 25px 0px 33px 0px !important;
}

/* mobile menu override */
.mobmenu-content {
    margin-top: 68px;
    padding-bottom: 120px;
    z-index: 1;
    height: calc(100% - 45px);
    overflow: auto;
    padding-top: 11px;
    background-image: url(/wp-content/uploads/m_menu_back.png);
    background-repeat: no-repeat;
    font-size: 19px;
    font-weight: 600;
    text-shadow: 3px 4px 7px black;
}

.mobmenu-right-panel .mobmenu-content {
    margin-top: 68px;
    padding-bottom: 120px;
    z-index: 1;
    height: calc(100% - 45px);
    overflow: auto;
    padding-top: 11px;
    /* background-image: url(/wp-content/uploads/m_menu_back.png); */
    background-repeat: no-repeat;
    font-size: 19px;
    font-weight: 600;
    text-shadow: 3px 4px 7px black;
}