.elementor-23 .elementor-element.elementor-element-ffaff16{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-23 .elementor-element.elementor-element-b2f78e8{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:60px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-23 .elementor-element.elementor-element-b2f78e8.e-con{--align-self:center;}.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-23 .elementor-element.elementor-element-aba8898{padding:10px 10px 10px 10px;}.elementor-23 .elementor-element.elementor-element-aba8898 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-23 .elementor-element.elementor-element-94795a2{padding:10px 10px 10px 10px;}.elementor-23 .elementor-element.elementor-element-5b846b8{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-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-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-23 .elementor-element.elementor-element-6209610{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__thumbnail__link{width:100%;}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__meta-data span + span:before{content:"•";}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__text{margin-top:20px;}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__badge{right:0;}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__title, .elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__title a{color:var( --e-global-color-primary );}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__meta-data{color:var( --e-global-color-text );}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__excerpt p{color:var( --e-global-color-text );}@media(max-width:767px){.elementor-23 .elementor-element.elementor-element-6209610 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-23 .elementor-element.elementor-element-6209610:after{content:"0.5";}.elementor-23 .elementor-element.elementor-element-6209610 .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS for container, class: .elementor-element-5b846b8 *//* ============================================
   ✅ GLOBAL CARD STYLE FOR NEWS / GALLERY POSTS
   Works with Elementor Posts, WPUF, or Shortcode output
   ============================================ */

/* --- SUCCESS MESSAGE (WPUF or Form Submission) --- */
.wpuf-success, .wpuf-message, .elementor-message-success {
  background: linear-gradient(135deg, #e7ffe7, #f0fff0);
  color: #1b5e20;
  padding: 16px 20px;
  border-left: 6px solid #4caf50;
  border-radius: 10px;
  margin-bottom: 25px;
  font-weight: 600;
  font-size: 15px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  gap: 10px;
}

/* --- CARD CONTAINER --- */
.elementor-widget-shortcode,
.elementor-widget-posts,
.elementor-widget-loop-grid {
  background-color: #ffffff;
  padding: 10px 10px;
}

/* --- INDIVIDUAL POST CARD --- */
.elementor-post,
.wpsp-post,
.wpuf-post,
article.post {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  transition: all 0.35s ease;
  position: relative;
  border: 1px solid #A39C9B;
}

.elementor-post:hover,
.wpsp-post:hover,
.wpuf-post:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

/* --- IMAGE STYLING --- */
.elementor-post__thumbnail img,
.wpsp-post img,
.wpuf-post img,
article.post img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  transition: transform 0.25s ease;
  display: block;
  padding: 10px;
}

.elementor-post:hover img,
.wpsp-post:hover img,
.wpuf-post:hover img {
  /*transform: scale(1.01);*/
}

/* --- CATEGORY BADGE --- */
.elementor-post__badge,
.elementor-post::before,
.wpsp-post::before,
.wpuf-post::before {
  content: attr(data-category);
  position: absolute;
  background: #ffb81c !important;
  color: #000 !important;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* === ADMIN PROFILE IMAGE (small circle) === */
.elementor-post__avatar {
  position: absolute;
  bottom: -30px;          /* overlaps slightly below image */
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  z-index: 10;
}

.elementor-post__avatar img {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3px solid #fff; /* clean white ring */
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* --- POST CONTENT AREA --- */
.elementor-post__text,
.wpsp-post-content,
.wpuf-post-content {
  padding: 40px 22px 28px; /* extra top padding to make room for avatar */
  position: relative;
  z-index: 2;
}

.elementor-post__title,
.wpsp-post-title,
.wpuf-post-title {
  font-size: 24px;
  font-weight: 700;
  color: #1d4d73;
  margin-bottom: 10px;
  transition: color 0.3s ease;
}

.elementor-post__title:hover,
.wpsp-post-title:hover,
.wpuf-post-title:hover {
  color: #ffb81c;
}

.elementor-post__excerpt,
.wpsp-post-excerpt,
.wpuf-post-excerpt {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
  text-align: justify;
  margin-bottom: 0;
}

/* --- READ MORE BUTTON --- */
/*.elementor-post__read-more,
.wpsp-post .read-more,
.wpuf-post .read-more {
  display: inline-block;
  margin-top: 15px;
  background: #265C78;
  color: #fff;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
}

.elementor-post__read-more:hover,
.wpsp-post .read-more:hover,
.wpuf-post .read-more:hover {
  background: #ffb81c;
  color: #000;
}*/

/* --- RESPONSIVE FIXES --- */
@media (max-width: 1024px) {
  .elementor-post__thumbnail img {
    height: 220px;
  }
}

@media (max-width: 768px) {
  .elementor-widget-shortcode,
  .elementor-widget-posts {
    padding: 25px 10px;
  }

  .elementor-post__thumbnail img {
    height: 200px;
  }

  .elementor-post__title {
    font-size: 18px;
  }

  .elementor-post__avatar {
    bottom: -25px;
    width: 50px;
    height: 50px;
  }

  .elementor-post__avatar img {
    width: 50px !important;
    height: 50px !important;
  }
}


/* ========== MOBILE ONLY: fix half-cut image + avatar ==========
   Place this at the end of your stylesheet to override desktop rules
   Target: devices <= 768px
   ============================================================= */
@media (max-width: 768px) {

  /* Make the thumbnail taller on mobile (prevents 'half' look) */
  .elementor-post__thumbnail,
  .wpsp-post .post-thumbnail,
  .wpuf-post .post-thumbnail {
    /* taller aspect ratio for mobile screens */
    aspect-ratio: 4 / 4 !important;
    width: 100% !important;
    overflow: hidden !important;
    /* remove any forced pixel height from earlier rules */
    height: auto !important;
    max-height: none !important;
    background: #eee;
  }

  /* Ensure the image covers the thumbnail area without forced pixel height */
  .elementor-post__thumbnail img,
  .wpsp-post img,
  .wpuf-post img,
  article.post img {
    width: 100% !important;
    height: 100% !important;    /* fill the aspect-ratio box */
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }

  /* Shrink avatar and reposition so it doesn't look too large on small screens */
  .elementor-post__avatar,
  .elementor-post__thumbnail .elementor-post__avatar,
  .wpsp-post .post-thumbnail .elementor-post__avatar,
  .wpuf-post .post-thumbnail .elementor-post__avatar {
    bottom: -24px !important;
    width: 200px !important;
    height: 20px !important;
    left: 30% !important;
    transform: translateX(-50%) !important;
    z-index: 12 !important;
  }/* End custom CSS */