/* ── PTB Public Styles ── */

.ptb-grid {
    display: grid;
    gap: 20px;
    margin: 20px 0;
}
.ptb-cols-d-2 { grid-template-columns: repeat(2, 1fr); }
.ptb-cols-d-3 { grid-template-columns: repeat(3, 1fr); }
.ptb-cols-d-4 { grid-template-columns: repeat(4, 1fr); }
.ptb-cols-d-5 { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 767px) {
    .ptb-cols-m-1 { grid-template-columns: 1fr; }
    .ptb-cols-m-2 { grid-template-columns: repeat(2, 1fr); }
}

/* Card */
.ptb-card {
    position: relative;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
    min-height: 200px;
    transition: transform .2s, box-shadow .2s;
}
.ptb-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,.12);
}

/* Elements */
.ptb-el { position: absolute; box-sizing: border-box; }
.ptb-bg { inset: 0; z-index: 0; }
.ptb-card-title { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; }
.ptb-card-text  { font-size: 14px; line-height: 1.6; }
.ptb-card-img   { max-width: 100%; height: auto; display: block; }
.ptb-card-btn {
    display: inline-block;
    padding: 8px 18px;
    background: #2563EB;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    transition: background .15s;
}
.ptb-card-btn:hover { background: #1D4ED8; color: #fff; }
.ptb-card-overlay { background: rgba(0,0,0,.45); }

/* Pagination */
.ptb-pagination { text-align: center; margin: 24px 0; }
.ptb-pagination .page-numbers {
    display: inline-block; padding: 6px 12px;
    border: 1px solid #E5E7EB; border-radius: 6px;
    margin: 0 2px; text-decoration: none; color: #374151;
    font-size: 13px; transition: background .12s;
}
.ptb-pagination .page-numbers.current { background: #2563EB; color: #fff; border-color: #2563EB; }

/* Load More */
.ptb-loadmore-wrap { text-align: center; margin: 24px 0; }
.ptb-loadmore {
    padding: 10px 28px;
    background: #2563EB; color: #fff;
    border: none; border-radius: 8px;
    font-size: 14px; font-weight: 600;
    cursor: pointer; transition: background .15s;
}
.ptb-loadmore:hover { background: #1D4ED8; }
.ptb-loadmore:disabled { opacity: .6; cursor: not-allowed; }

.ptb-no-posts { text-align: center; color: #9CA3AF; padding: 40px; grid-column: 1/-1; }
