/* =====================================
   BLOG PAGE TEMPLATE ONLY
   Removes banner background, keeps branded H1
   ===================================== */

/* Kill background image (works even if inline background is set) */
.page-template-page-blog-fullwidth .banner-main-wrap-all {
  background: none !important;
  background-image: none !important;
}

/* If theme adds an overlay pseudo-element */
.page-template-page-blog-fullwidth .banner-main-wrap-all::before,
.page-template-page-blog-fullwidth .banner-main-wrap-all::after {
  background: none !important;
  opacity: 0 !important;
  content: none !important;
}

/* Keep spacing but make it “clean” */
.page-template-page-blog-fullwidth .banner-main-wrap-all {
  padding: 40px 0 !important; /* adjust height */
}

/* Branded H1 */
.page-template-page-blog-fullwidth .banner-main-wrap-all h1 {
  color: var(--brand-heading, #111) !important; /* swap to your actual brand var */
  /* optionally match brand type */
  /* font-family: var(--font-heading); */
  /* letter-spacing: -0.02em; */
}
/* Reduce vertical spacing on Blog banner */
/* Desktop + Tablet */
.page-template-page-blog-fullwidth .banner-main-wrap-all {
  margin-top: 11.25rem !important; /* 180px */
  padding: 10px !important;
}

/* Mobile only */
@media (max-width: 768px) {
  .page-template-page-blog-fullwidth .banner-main-wrap-all {
    margin-top: clamp(5rem, 8vw, 11.25rem) !important;
    padding: 0px !important;
  }
}
/* =====================================
   BLOG GRID TYPOGRAPHY (Blog Page only)
   ===================================== */

/* Card content uses site defaults */
.page-template-page-blog-fullwidth .vc_grid-item {
  font-family: inherit;
  color: inherit;
}

/* Title (usually inside .vc_custom_heading) */
.page-template-page-blog-fullwidth .vc_grid-item .vc_custom_heading,
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-post-data-source-post_title {
  font-family: inherit;             /* or your heading font var */
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 10px 0;
}

/* If title is a link */
.page-template-page-blog-fullwidth .vc_grid-item .vc_custom_heading a,
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-post-data-source-post_title a {
  color: inherit;
  text-decoration: none;
}

/* Excerpt / paragraph text */
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-post-data,
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-post-data-source-post_excerpt,
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-post-data-source-post_content {
  font-family: inherit;
  font-size: 16px;                  /* adjust to match your body */
  line-height: 1.6;
  color: inherit;
}

/* Remove odd WPBakery spacing inside excerpt blocks */
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-post-data p {
  margin: 0;
}

/* =====================================
   BLOG GRID BUTTON (outline -> solid hover)
   ===================================== */

.page-template-page-blog-fullwidth .vc_grid-item .vc_btn3-container a.vc_gitem-link.vc_btn3 {
  background: transparent !important;
  border: 2px solid #00A887 !important; /* <-- replace */
  color: #00A887 !important;
}

.page-template-page-blog-fullwidth .vc_grid-item .vc_btn3-container a.vc_gitem-link.vc_btn3:hover {
  background: #00A887 !important;
  border-color: #00A887 !important;
  color: #fff !important;
}
.vc_btn3.vc_btn3-color-juicy-pink, .vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-flat {
  background: transparent !important;
  border: 2px solid #00A887 !important; /* <-- replace */
  color: #00A887 !important;
}

.vc_btn3.vc_btn3-color-juicy-pink, .vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-flat:hover {
  background: #00A887 !important;
  border-color: #00A887 !important;
  color: #fff !important;
}

/* =====================================
   BLOG CARD VISUAL HIERARCHY
   ===================================== */

/* Add breathing room inside card */
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-col {
  padding: 25px 25px 30px 25px !important;
}

/* Stronger title */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_custom_heading,
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-post-data-source-post_title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 12px;
  color: #1f2d3d;
}

/* Softer excerpt */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-post-data {
  font-size: 15px;
  line-height: 1.6;
  color: #5a6b7b;
  margin-bottom: 18px;
}

/* Space above button */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_btn3-container {
  margin-top: 10px;
}

/* =====================================
   BLOG GRID – PIN BUTTON TO BOTTOM
   ===================================== */

/* Make each card a vertical flex container */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-zone-c {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Let excerpt area expand naturally */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-post-data {
  flex-grow: 1;
}

/* =====================================
   BLOG GRID – Reduce button spacing
   ===================================== */

.page-template-page-blog-fullwidth
.vc_grid-item .vc_btn3-container {
  margin-top: 10px !important;   /* tighten */
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* WPBakery sometimes adds padding to the column */
.page-template-page-blog-fullwidth
.vc_grid-item .vc_gitem-col {
  padding-bottom: 15px !important;  /* reduce bottom whitespace */
}
/* =====================================
   BLOG GRID FEATURED IMAGE – NO CROP
   ===================================== */

/* If image is real <img> */
.page-template-page-blog-fullwidth 
.vc_grid-item img {
  object-fit: contain !important;
  height: auto !important;
  width: 100% !important;
}

/* If WPBakery uses background image wrapper */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-zone-img {
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  height: auto !important;
}

/* Remove forced fixed height */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-zone {
  height: auto !important;
}

/* =====================================
   BLOG GRID – Make cards equal height
   ===================================== */

/* Make each grid item stretch equally */
.page-template-page-blog-fullwidth .vc_grid-item {
  display: flex;
}

/* Ensure inner wrapper fills height */
.page-template-page-blog-fullwidth .vc_grid-item .vc_grid-item-mini,
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-animated-block,
.page-template-page-blog-fullwidth .vc_grid-item .vc_gitem-zone-c {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
}

/* Clamp title to 2 lines so headings don't change card height */
.page-template-page-blog-fullwidth
.vc_grid-item .vc_custom_heading,
.page-template-page-blog-fullwidth
.vc_grid-item .vc_gitem-post-data-source-post_title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Clamp excerpt to consistent lines (adjust 3/4 as desired) */
.page-template-page-blog-fullwidth
.vc_grid-item .vc_gitem-post-data-source-post_excerpt,
.page-template-page-blog-fullwidth
.vc_grid-item .vc_gitem-post-data-source-post_content,
.page-template-page-blog-fullwidth
.vc_grid-item .vc_gitem-post-data {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

/* Let the excerpt area take remaining space */
.page-template-page-blog-fullwidth
.vc_grid-item .vc_gitem-post-data {
  flex: 1;
}

/* Push button to bottom consistently */
.page-template-page-blog-fullwidth
.vc_grid-item .vc_btn3-container {
  margin-top: auto !important;
}

/* =====================================
   PATCH: Force consistent card height + bottom button
   (does NOT change fonts/colors/padding)
   ===================================== */

/* Some VC cards use different inner wrappers; make all common wrappers flex columns */
.page-template-page-blog-fullwidth .vc_grid-item-mini,
.page-template-page-blog-fullwidth .vc_gitem-animated-block,
.page-template-page-blog-fullwidth .vc_gitem-zone-mini,
.page-template-page-blog-fullwidth .vc_gitem-row,
.page-template-page-blog-fullwidth .vc_gitem-col {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Let the excerpt area take the available space */
.page-template-page-blog-fullwidth .vc_gitem-post-data {
  flex: 1 1 auto !important;
}

/* Push the button container to the bottom consistently */
.page-template-page-blog-fullwidth .vc_btn3-container {
  margin-top: auto !important;
}

/* =====================================
   BLOG GRID – Final Weight Adjustments
   ===================================== */

/* Make title semibold instead of heavy bold */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_custom_heading,
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-post-data-source-post_title {
  font-weight: 600 !important; /* semibold */
}

/* Ensure excerpt is regular weight */
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-post-data,
.page-template-page-blog-fullwidth 
.vc_grid-item .vc_gitem-post-data p {
  font-weight: 400 !important;
}