.elementor-604 .elementor-element.elementor-element-33a962b{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-604 .elementor-element.elementor-element-1f16939 img{height:220px;}.elementor-604 .elementor-element.elementor-element-4d3b897 img{width:100%;height:220px;}.elementor-604 .elementor-element.elementor-element-fbef7c0 img{width:100%;height:220px;}.elementor-604 .elementor-element.elementor-element-37d042c{--display:flex;}.elementor-604 .elementor-element.elementor-element-41462a7{--spacer-size:265px;background-color:#EEEEEE;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-604 .elementor-element.elementor-element-51075f3{background-color:transparent;background-image:linear-gradient(0.5turn, #FFFFFF 0%, #FFFFFF 100%);text-align:center;}.elementor-604 .elementor-element.elementor-element-51075f3 .elementor-heading-title{font-family:"Cinzel", Sans-serif;font-weight:600;color:#000000;}.elementor-widget-eael-post-grid .eael-meta-posted-on{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-post-grid .eael-entry-meta > span{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-post-grid .eael-entry-title, .elementor-widget-eael-post-grid .eael-entry-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-eael-post-grid .eael-grid-post-excerpt p{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-post-grid .post-meta-categories li, .elementor-widget-eael-post-grid .post-meta-categories li a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-grid-post-holder{background-color:#fff;border-style:none;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-entry-title a{color:#303133;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-entry-title:hover, .elementor-604 .elementor-element.elementor-element-b32ff1b .eael-entry-title a:hover{color:#000000;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-entry-title{text-align:left;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-entry-title, .elementor-604 .elementor-element.elementor-element-b32ff1b .eael-entry-title a{font-family:"Cinzel", Sans-serif;font-size:17px;font-weight:600;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-grid-post-excerpt p{color:#7A7A7A;text-align:left;font-family:"Cormorant", Sans-serif;font-size:16px;font-weight:500;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-grid-post .eael-entry-overlay{background-color:#4646465E;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-grid-post .eael-entry-overlay > i{color:#ffffff;font-size:18px;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-grid-post .eael-entry-overlay > img{height:18px;width:18px;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-post-elements-readmore-btn{text-align:right;font-family:"Raleway", Sans-serif;color:#969696;margin:10px 0px 0px 0px;}.elementor-604 .elementor-element.elementor-element-b32ff1b .eael-post-elements-readmore-btn:hover{color:#000000;}.elementor-604 .elementor-element.elementor-element-e144258{--display:flex;}.elementor-604 .elementor-element.elementor-element-fb83039{--spacer-size:100px;}.elementor-widget-hfe-basic-posts .hfe-post-title a{color:var( --e-global-color-primary );}.elementor-widget-hfe-basic-posts .hfe-post-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-hfe-basic-posts .hfe-post-meta{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-hfe-basic-posts .hfe-post-excerpt{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-hfe-basic-posts .hfe-read-more{color:var( --e-global-color-accent );}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-post-card{background-color:#F6F6F6;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-posts-grid{grid-template-columns:repeat(2, 1fr);column-gap:20px;row-gap:30px;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-post-content{padding:20px 20px 20px 20px;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-post-title a{color:#000000;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-post-title{font-family:"Cinzel", Sans-serif;font-size:17px;font-weight:600;margin-bottom:5px;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-post-meta{font-family:"Raleway", Sans-serif;font-size:12px;font-weight:400;line-height:10px;margin-bottom:20px;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-post-excerpt{color:#7A7A7A;font-family:"Cormorant", Sans-serif;font-size:16px;font-weight:500;margin-bottom:15px;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-read-more{color:#969696;font-family:"Raleway", Sans-serif;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-read-more:hover{color:#000000;}@media(max-width:1024px){.elementor-604 .elementor-element.elementor-element-33a962b{--grid-auto-flow:row;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-posts-grid{grid-template-columns:repeat(2, 1fr);}}@media(max-width:767px){.elementor-604 .elementor-element.elementor-element-33a962b{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-604 .elementor-element.elementor-element-48d215d .hfe-posts-grid{grid-template-columns:repeat(1, 1fr);}}/* Start custom CSS for eael-post-grid, class: .elementor-element-b32ff1b *//* Make the grid use flexbox instead of masonry-style absolute positioning */
.eael-post-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; /* space between cards */
  position: static !important; /* override inline styles */
}

/* Each card same width and base style */
.eael-post-grid .eael-grid-post {
  flex: 1 1 calc(33.333% - 20px); /* 3 per row */
  max-width: calc(33.333% - 20px);
  position: static !important;
  display: flex;
  flex-direction: column;
  background: #fff; /* adjust to theme */
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Hover effect */
.eael-post-grid .eael-grid-post:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.2);
}

/* Force equal heights */
.eael-grid-post-holder {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 350px; /* adjust to taste */
}

/* ---------- Responsive breakpoints for EAEL Post Grid ---------- */

/* Tablet: 2 columns */
@media (max-width: 1024px) {
  .eael-post-grid {
    gap: 18px;
  }
  .eael-post-grid .eael-grid-post {
    flex: 1 1 calc(50% - 18px);
    max-width: calc(50% - 18px);
  }
  .eael-grid-post-holder {
    min-height: 320px; /* slightly shorter cards on tablet */
  }
}

/* Large phones / small tablets: comfy spacing */
@media (max-width: 768px) {
  .eael-post-grid {
    gap: 16px;
  }
  .eael-post-grid .eael-grid-post {
    flex: 1 1 calc(50% - 16px);
    max-width: calc(50% - 16px);
  }
  .eael-grid-post-holder {
    min-height: 300px;
  }
}

/* Phones: single column, natural height */
@media (max-width: 640px) {
  .eael-post-grid {
    gap: 14px;
  }
  .eael-post-grid .eael-grid-post {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .eael-grid-post-holder {
    min-height: 0;     /* let content define height on mobile */
    height: auto;
  }
  /* Softer hover on touch screens (no big jumps) */
  .eael-post-grid .eael-grid-post:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.16);
  }
}

/* Optional: keep thumbnails tidy across sizes */
.eael-entry-thumbnail {
  position: relative;
  aspect-ratio: 16 / 10;    /* consistent media block; tweak if you prefer taller */
  overflow: hidden;
}
.eael-entry-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
  .eael-post-grid .eael-grid-post {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for hfe-basic-posts, class: .elementor-element-48d215d *//* ========== HFE Basic Posts — Uniform Cards ========== */
.hfe-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

/* Card */
.hfe-posts-grid .hfe-post-card {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  overflow: hidden; /* clips image zoom */
  background: var(--card-bg, #fff);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
  min-height: 380px; /* adjust to taste */
}

/* Hover lift */
.hfe-posts-grid .hfe-post-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

/* Image wrap keeps a consistent ratio */
.hfe-posts-grid .hfe-post-image {
  position: relative;
  aspect-ratio: 16 / 11; /* consistent tops; change if you prefer taller/shorter */
  overflow: hidden;
}

/* Images fill and crop nicely */
.hfe-posts-grid .hfe-post-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1); /* base for zoom */
  transition: transform .35s ease;
}

/* Subtle image zoom when hovering the card */
.hfe-posts-grid .hfe-post-card:hover .hfe-post-image img {
  transform: scale(1.05);
}

/* Content area */
.hfe-posts-grid .hfe-post-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 16px 18px;
}

/* Title */
.hfe-posts-grid .hfe-post-title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.3;
  letter-spacing: .2px;
}
.hfe-posts-grid .hfe-post-title a {
  text-decoration: none;
  color: var(--card-title, inherit);
}
.hfe-posts-grid .hfe-post-title a:hover {
  text-decoration: underline;
}

/* Meta */
.hfe-posts-grid .hfe-post-meta {
  font-size: .85rem;
  opacity: .75;
}

/* Excerpt grows to fill; read-more stays at bottom */
.hfe-posts-grid .hfe-post-excerpt {
  margin-top: 2px;
  font-size: .95rem;
  line-height: 1.5;
  color: var(--card-text, inherit);
  flex: 1 1 auto;
  display: -webkit-box;
  -webkit-line-clamp: 4; /* clamp excerpt lines; tweak as you like */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Read more button-link */
.hfe-posts-grid .hfe-read-more {
  align-self: flex-start;
  margin-top: 8px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  line-height: 1.2;
  padding-bottom: 2px;
  transition: opacity .2s ease, transform .2s ease;
}
.hfe-posts-grid .hfe-read-more:hover {
  opacity: .85;
  transform: translateY(-1px);
}

/* Focus states (accessibility) */
.hfe-posts-grid .hfe-post-card a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 6px;
}

/* Dark theme friendly (optional override) */
:root {
  /* set these in :root or body for theme-wide control */
  --card-bg: #fff;
  --card-title: #111;
  --card-text: #222;
}
.dark,
[data-theme="dark"] {
  --card-bg: #131316;
  --card-title: #f5f5f7;
  --card-text: #e5e5e7;
}

/* Responsive */
@media (max-width: 1024px) {
  .hfe-posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .hfe-posts-grid { grid-template-columns: 1fr; }
  .hfe-posts-grid .hfe-post-card { min-height: 0; } /* let it breathe on mobile */
}

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
  .hfe-posts-grid .hfe-post-card,
  .hfe-posts-grid .hfe-post-image/* End custom CSS */