.elementor-988246 .elementor-element.elementor-element-0b45f34{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-988246 .elementor-element.elementor-element-2a2eff7 > .elementor-widget-container{margin:0px 0px 50px 0px;padding:0px 0px 0px 0px;}.elementor-988246 .elementor-element.elementor-element-24168f8{--display:flex;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-988246 .elementor-element.elementor-element-61fe53d{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-988246 .elementor-element.elementor-element-61fe53d .elementor-post__thumbnail__link{width:100%;}.elementor-988246 .elementor-element.elementor-element-61fe53d.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-988246 .elementor-element.elementor-element-61fe53d.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-988246 .elementor-element.elementor-element-61fe53d.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-988246 .elementor-element.elementor-element-61fe53d .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS for posts, class: .elementor-element-61fe53d *//* ===== Base / reset ===== */
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  max-width: 100%;
}
body {
  overflow-x: hidden;
  overflow-y: auto;
  max-width: 100%;
}

/* ===== Container padding ===== */
.elementor-widget-posts {
  padding-left: 60px;
  padding-right: 60px;
  max-width: 100%;
  width: 100%;
}

/* ===== Grid: force 3 columns ===== */
.elementor-widget-posts .elementor-posts-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 30px !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ===== Card ===== */
.elementor-widget-posts .elementor-post {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden; /* safe here — only clips the card, not the page */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* ===== Thumbnail ===== */
.elementor-widget-posts .elementor-post__thumbnail__link,
.elementor-widget-posts .elementor-post__thumbnail {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  aspect-ratio: unset !important;
  line-height: 0;
  overflow: hidden;
}

.elementor-widget-posts .elementor-post__thumbnail img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  aspect-ratio: unset !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* ===== Text ===== */
.elementor-widget-posts .elementor-post__text {
  padding: 20px 24px 24px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

.elementor-widget-posts .elementor-post__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 8px;
  width: 100%;
  max-width: 100%;
  display: block;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
}
.elementor-widget-posts .elementor-post__title a {
  color: #1a1a1a;
  text-decoration: none;
  width: 100%;
  max-width: 100%;
  display: block;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
}

.elementor-widget-posts .elementor-post__excerpt {
  font-size: 15px;
  color: #555;
  line-height: 1.6;
  overflow-wrap: break-word;
}

/* ===== Tablet: 2 columns ===== */
@media (max-width: 1024px) {
  .elementor-widget-posts .elementor-posts-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .elementor-widget-posts {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* ===== Mobile: 1 column ===== */
@media (max-width: 767px) {
  .elementor-widget-posts .elementor-posts-container {
    grid-template-columns: 1fr !important;
  }
  .elementor-widget-posts {
    padding-left: 20px;
    padding-right: 20px;
  }
  .elementor-widget-posts .elementor-post__thumbnail,
  .elementor-widget-posts .elementor-post__thumbnail__link {
    height: 200px !important;
  }
  .elementor-widget-posts .elementor-post__thumbnail img {
    height: 100% !important;
  }
  .elementor-widget-posts .elementor-post__text {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }
  .elementor-widget-posts .elementor-post__title,
  .elementor-widget-posts .elementor-post__title a {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    overflow: visible !important;
    text-overflow: unset !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
  }
  [data-settings*="sticky"],
  .elementor-sticky {
    position: relative !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-24168f8 *//* Add breathing room on left/right of the whole section */
.elementor-widget-posts {
  padding-left: 60px;
  padding-right: 60px;
  box-sizing: border-box;
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-widget-posts {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .elementor-widget-posts {
    padding-left: 20px;
    padding-right: 20px;
  }
}/* End custom CSS */