/* ============================================================
   GSE POST GRID — FRONTEND AND GUTENBERG EDITOR
   ============================================================ */
.gse-post-grid { display:grid; grid-template-columns:repeat(var(--gse-columns,3),minmax(0,1fr)); gap:24px; margin:24px 0; }
.gse-post-card { min-width:0; background:#fff; border:1px solid #e7e9ed; border-radius:10px; overflow:hidden; box-shadow:0 3px 12px rgba(0,0,0,.04); }
.gse-post-image { display:block; aspect-ratio:16/10; overflow:hidden; }
.gse-post-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.gse-post-image:hover img { transform:scale(1.04); }
.gse-post-content { padding:20px; }
.gse-post-date { color:#777; font-size:13px; margin-bottom:8px; }
.gse-post-title { font-size:20px; line-height:1.35; margin:0 0 12px; }
.gse-post-title a { color:#202a3a; text-decoration:none; }
.gse-post-title a:hover, .gse-post-more:hover { text-decoration:underline; }
.gse-post-excerpt { color:#59616c; font-size:15px; line-height:1.65; margin:0 0 16px; }
.gse-post-more { color:#0d6efd; font-weight:600; font-size:14px; text-decoration:none; }
.gse-post-empty { grid-column:1/-1; padding:16px; background:#f6f7f8; border-radius:6px; }
@media (max-width:900px) { .gse-post-grid { grid-template-columns:repeat(min(2,var(--gse-columns,3)),minmax(0,1fr)); } }
@media (max-width:600px) { .gse-post-grid { grid-template-columns:1fr; gap:16px; } }

/* ============================================================
   SOFT PANEL, ROUNDED CARDS AND CIRCULAR BLUE PAGINATION
   ============================================================ */
.gse-post-grid-wrap { background-color:#eaf3fc; padding:28px; border-radius:22px; box-shadow:0 8px 28px rgba(24,63,100,.09); margin:24px 0; }
.gse-post-grid-wrap .gse-post-grid { margin:0; align-items:stretch; }
.gse-post-grid-wrap .gse-post-card { display:flex; flex-direction:column; background:#fff; border:1px solid rgba(30,90,150,.08); border-radius:20px; box-shadow:0 6px 18px rgba(25,65,100,.11); transition:transform .2s ease,box-shadow .2s ease; }
.gse-post-grid-wrap .gse-post-card:hover { transform:translateY(-3px); box-shadow:0 12px 25px rgba(25,65,100,.16); }
.gse-post-grid-wrap .gse-post-content { display:flex; flex:1; flex-direction:column; padding:24px; }
.gse-post-grid-wrap .gse-post-more { align-self:flex-start; margin-top:auto; background:#1479df; color:#fff; padding:9px 17px; border-radius:999px; }
.gse-post-grid-wrap .gse-post-more:hover { background:#0c61b6; color:#fff; text-decoration:none; }
.gse-post-grid-wrap .gse-post-image { border-radius:16px 16px 0 0; }
.gse-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:9px; margin-top:28px; }
.gse-page-btn { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #d5e4f4; border-radius:50%; background:#fff; color:#1479df; font-size:16px; font-weight:600; cursor:pointer; box-shadow:0 3px 8px rgba(15,76,140,.09); transition:background .2s,color .2s,transform .2s; }
.gse-page-btn:hover { background:#d9eafa; transform:translateY(-2px); }
.gse-page-btn.is-active { background:#1479df; border-color:#1479df; color:#fff; box-shadow:0 5px 13px rgba(20,121,223,.25); }
.gse-page-btn:focus-visible { outline:3px solid #74b9ff; outline-offset:2px; }
.gse-page-dots { padding:0 4px; color:#567; }
.gse-loading .gse-grid-body { opacity:.55; pointer-events:none; }
@media(max-width:600px) { .gse-post-grid-wrap { padding:16px; border-radius:16px; } .gse-page-btn { width:39px; height:39px; } }



/* ============================================================
   MULTICOLOUR POST CARDS
   ============================================================ */

.gse-post-card:nth-child(3n+1) { background:#eaf9ec; }
/*.gse-post-card:nth-child(3n+2) { background:#ffffff; }*/
/*.gse-post-card:nth-child(3n+2) { background:#eaf3ff; }*/
.gse-post-card:nth-child(3n+2) { background:#f1eaff; }
.gse-post-card:nth-child(3n+3) { background:#fff0e3; }

.gse-post-card {
    border-radius:20px;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
    transition:transform .2s, box-shadow .2s;
}
.gse-post-card:hover {
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(0,0,0,.16);
}