/**
 * Post Grid Widget Styles
 * @package AdMoreWidgetsSuite
 */

.eppro-pg-wrap {
    width: 100%;
}

.eppro-pg-grid {
    display: grid;
    grid-template-columns: repeat(var(--eppro-pg-cols, 3), 1fr);
    gap: 24px;
}

.eppro-pg-card{
    background:var(--eppro-card-bg,#fff);
    border:1.5px solid var(--eppro-card-border,#e5e7eb);
    border-radius:var(--eppro-radius-md,10px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    height:100%;
    transition:transform var(--eppro-transition,.22s ease),box-shadow var(--eppro-transition,.22s ease),background-color var(--eppro-transition,.22s ease),border-color var(--eppro-transition,.22s ease);
    box-shadow:var(--eppro-shadow-xs,0 1px 3px rgba(0,0,0,.06));
}

.eppro-pg-card.eppro-pg-img-left {
    flex-direction: row;
}

.eppro-pg-card.eppro-pg-img-left .eppro-pg-thumb {
    flex: 0 0 40%;
    max-width: 40%;
}

.eppro-pg-thumb {
    position: relative;
    overflow: hidden;
}

.eppro-pg-thumb img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

.eppro-pg-img-zoom .eppro-pg-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--eppro-shadow-md,0 12px 28px rgba(0,0,0,.1));
    border-color:var(--eppro-gray-300,#d1d5db);
}

.eppro-pg-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: var(--eppro-radius-sm,4px);
    line-height: 1.4;
    z-index: 2;
}

.eppro-pg-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px 20px 16px;
}

.eppro-pg-title{
    font-size:var(--eppro-text-md,17px);
    font-weight:var(--eppro-font-bold,700);
    color:var(--eppro-gray-900,#111827);
    margin:0 0 8px;
    line-height:var(--eppro-leading-snug,1.35);
}

.eppro-pg-title a{
    color:inherit;
    text-decoration:none;
    transition:color var(--eppro-transition-fast,.15s ease);
}

.eppro-pg-title a:hover{
    color:var(--eppro-primary,#7c3aed);
}

.eppro-pg-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: var(--eppro-text-sm,13px);
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.eppro-pg-author {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.eppro-pg-author img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
}

.eppro-pg-reading-time,
.eppro-pg-comments {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--eppro-gray-500, #6b7280);
}

.eppro-pg-reading-time svg,
.eppro-pg-comments svg {
    flex-shrink: 0;
    opacity: .75;
}

.eppro-pg-no-posts {
    text-align: center;
    color: var(--eppro-gray-500, #6b7280);
    font-size: var(--eppro-text-sm, 13px);
    padding: 24px 0;
    margin: 0;
}

.eppro-pg-excerpt{
    color:var(--eppro-gray-600,#4b5563);
    font-size:var(--eppro-text-sm,13px);
    line-height:var(--eppro-leading-normal,1.65);
    margin:0;
    flex:1;
}

.eppro-pg-read-more{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:var(--eppro-text-sm,13px);
    font-weight:var(--eppro-font-semibold,600);
    color:var(--eppro-primary,#7c3aed);
    text-decoration:none;
    transition:gap var(--eppro-transition,.22s ease),color var(--eppro-transition,.22s ease);
    align-self:flex-start;
    margin-top:auto;
    padding-top:var(--eppro-space-2,8px);
}

.eppro-pg-read-more:hover{
    gap:10px;
    color:var(--eppro-primary-dark,#6d28d9);
}

.eppro-pg-read-more:focus-visible{
    outline:none;
    box-shadow:var(--eppro-focus-ring,0 0 0 3px rgba(124,58,237,.25));
    border-radius:3px;
}

.eppro-pg-pagination {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin-top: 32px;
}

.eppro-pg-pagination button{
    padding:8px 16px;
    border:1.5px solid var(--eppro-card-border,#e5e7eb);
    border-radius:var(--eppro-radius,8px);
    background:var(--eppro-white,#fff);
    font-size:var(--eppro-text-sm,13px);
    font-weight:var(--eppro-font-medium,500);
    cursor:pointer;
    transition:background var(--eppro-transition,.22s ease),border-color var(--eppro-transition,.22s ease),color var(--eppro-transition,.22s ease),box-shadow var(--eppro-transition,.22s ease);
    color:var(--eppro-gray-700,#374151);
    box-shadow:var(--eppro-shadow-xs,0 1px 2px rgba(0,0,0,.06));
}

.eppro-pg-pagination button:hover,
.eppro-pg-pagination button.active{
    background:var(--eppro-primary,#7c3aed);
    border-color:var(--eppro-primary,#7c3aed);
    color:#fff;
    box-shadow:var(--eppro-shadow-colored,0 4px 12px rgba(124,58,237,.25));
}

.eppro-pg-pagination button:focus-visible{
    outline:none;
    box-shadow:var(--eppro-focus-ring,0 0 0 3px rgba(124,58,237,.25));
}

/* Masonry layout */
.eppro-pg-grid.eppro-pg-masonry {
    display: block;
    column-count: var(--eppro-pg-cols, 3);
    column-gap: 24px;
}
.eppro-pg-grid.eppro-pg-masonry .eppro-pg-card {
    break-inside: avoid;
    margin-bottom: 24px;
    height: auto;
}

/* AJAX filter tabs */
.eppro-pg-filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
}
.eppro-pg-filter-btn {
    padding: 7px 18px;
    border: 1.5px solid var(--eppro-card-border,#e5e7eb);
    border-radius: var(--eppro-radius,8px);
    background: var(--eppro-white,#fff);
    font-size: var(--eppro-text-sm,13px);
    font-weight: 500;
    color: var(--eppro-gray-700,#374151);
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}
.eppro-pg-filter-btn:hover,
.eppro-pg-filter-btn.is-active {
    background: var(--eppro-primary,#7c3aed);
    border-color: var(--eppro-primary,#7c3aed);
    color: #fff;
}

/* Image hover zoom on cards */
.eppro-pg--imgzoom-yes .eppro-pg-thumb img { transition: transform .45s ease; }
.eppro-pg--imgzoom-yes .eppro-pg-card:hover .eppro-pg-thumb img { transform: scale(1.08); }

/* Responsive */
@media (max-width: 767px) {
    .eppro-pg-grid {
        grid-template-columns: 1fr !important;
    }
    .eppro-pg-card.eppro-pg-img-left {
        flex-direction: column;
    }
    .eppro-pg-card.eppro-pg-img-left .eppro-pg-thumb {
        flex: none;
        max-width: 100%;
    }
}
