/* Elementor Mixed Posts Grid styles */

/* Debug border helper (keep available but not forced anywhere) */
.emg-debug-border { border: 5px solid red !important; }
/* Pattern Grid (per-row columns) */
.emg-grid { display: grid; grid-auto-rows: auto; }
.emg-row { display: grid; }
.emg-post { position:relative; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.06); display:flex; flex-direction:column; }
.emg-thumb { position:relative; display:block; width:100%; padding-top:56%; background-size:cover; background-position:center; }
.emg-cats { display:flex; flex-wrap:wrap; gap:8px; padding:12px 16px 0; }
.emg-cat { font-size:12px; background:#f0f0f0; color:#333; padding:4px 8px; border-radius:999px; text-decoration:none; }
.emg-post-title { font-size:18px; line-height:1.3; margin:8px 16px; }
.emg-post-title a { text-decoration:none; color:inherit; }

/* Title hover effects */
.elementor-widget-emg-mixed-posts-grid .emg-post-title a {
  display: inline-block;
  will-change: color, transform;
}

.elementor-widget-emg-mixed-posts-grid.emg-title-hover-underline .emg-post-title a {
  position: relative;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
}
.elementor-widget-emg-mixed-posts-grid.emg-title-hover-underline .emg-post-title a:hover {
  background-size: 100% 1px;
}

.elementor-widget-emg-mixed-posts-grid.emg-title-hover-move-up .emg-post-title a:hover {
  transform: translateY(-2px);
}

.elementor-widget-emg-mixed-posts-grid.emg-title-hover-scale .emg-post-title a:hover {
  transform: scale(1.03);
}
.emg-post-date { font-size:12px; color:#777; margin:0 16px 8px; }
.emg-badge-date { position:absolute; left:10px; top:10px; z-index:2; background:rgba(0,0,0,.6); color:#fff; font-size:12px; line-height:1; padding:6px 8px; border-radius:4px; }
.emg-post-excerpt { font-size:14px; color:#555; margin:0 16px 16px; }
.emg-no-posts { opacity:.7; font-style:italic; }

/* Responsive adjustments */
@media (max-width: 1024px) {
	.emg-row { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
	.emg-row { grid-template-columns: 1fr !important; }
}

/* Masonry layout (CSS columns) */
.emg-masonry { width: 100%; }
.emg-masonry-item { break-inside: avoid; -webkit-column-break-inside: avoid; -moz-column-break-inside: avoid; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.06); display:block; }
.emg-thumb-link { 
    position: relative; 
    display: block; 
    overflow: hidden;
    transform: translateZ(0); /* Force hardware acceleration */
    backface-visibility: hidden;
    perspective: 1000px;
}

.emg-thumb-img { 
    width: 100%; 
    height: auto; 
    display: block; 
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.5s ease;
    transform: translateZ(0); /* Force hardware acceleration */
    backface-visibility: hidden;
    will-change: transform;
}

/* Hover Animations - Applied to the main container */
.emg-hover-animation-zoom-in .emg-thumb-link {
    display: block;
    overflow: hidden;
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-zoom-in .emg-thumb-img {
    transition: transform 0.5s ease, opacity 0.5s ease;
    transform: scale(1);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-zoom-in .emg-thumb-link:hover .emg-thumb-img {
    transform: scale(1.1);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-zoom-out .emg-thumb-link {
    display: block;
    overflow: hidden;
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-zoom-out .emg-thumb-img {
    transition: transform 0.5s ease, opacity 0.5s ease;
    transform: scale(1.1);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-zoom-out .emg-thumb-link:hover .emg-thumb-img {
    transform: scale(1);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-scale .emg-thumb-link {
    display: block;
    overflow: hidden;
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-scale .emg-thumb-img {
    transition: transform 0.5s ease, opacity 0.5s ease;
    transform: scale(1);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-scale .emg-thumb-link:hover .emg-thumb-img {
    transform: scale(0.95);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-move-up .emg-thumb-link {
    display: block;
    overflow: hidden;
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-move-up .emg-thumb-img {
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform: translateY(0);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-move-up .emg-thumb-link:hover .emg-thumb-img {
    transform: translateY(-10px);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-move-down .emg-thumb-link {
    display: block;
    overflow: hidden;
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-move-down .emg-thumb-img {
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform: translateY(0);
}

.elementor-widget-emg-mixed-posts-grid .emg-hover-animation-move-down .emg-thumb-link:hover .emg-thumb-img {
    transform: translateY(10px);
}

/* Hover animations - Using Elementor's prefix class system */
.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-zoom-in .emg-thumb-link {
    display: block;
    overflow: hidden;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-zoom-in .emg-thumb-img {
    transform: scale(1);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-zoom-in .emg-thumb-link:hover .emg-thumb-img {
    transform: scale(1.1) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-zoom-out .emg-thumb-img {
    transform: scale(1.1);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-zoom-out .emg-thumb-link:hover .emg-thumb-img {
    transform: scale(1) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-scale .emg-thumb-img {
    transform: scale(1);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-scale .emg-thumb-link:hover .emg-thumb-img {
    transform: scale(0.95) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-move-up .emg-thumb-img {
    transform: translateY(0);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-move-up .emg-thumb-link:hover .emg-thumb-img {
    transform: translateY(-10px) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-move-down .emg-thumb-img {
    transform: translateY(0);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.elementor-widget-emg-mixed-posts-grid.emg-hover-animation-move-down .emg-thumb-link:hover .emg-thumb-img {
    transform: translateY(10px) !important;
}

/* Pagination */
.emg-pagination { margin-top:16px; display:flex; justify-content:center; }
.emg-pagination .page-numbers { list-style:none; display:flex; gap:8px; padding:0; margin:0; }
.emg-pagination .page-numbers li a,
.emg-pagination .page-numbers li span { display:block; padding:6px 10px; border:1px solid #ddd; border-radius:6px; color:#333; text-decoration:none; }
.emg-pagination .page-numbers li .current { background:#333; color:#fff; border-color:#333; }

/* Bullet effect removed per request */
