
/* Theme-friendly variables (inherit if available) */
:root {
  --gbes-card-bg: var(--wp--preset--color--base, #ffffff);
  --gbes-card-border: rgba(0,0,0,0.08);
  --gbes-text: var(--wp--preset--color--contrast, #111);
  --gbes-muted: #555;
  --gbes-primary: var(--wp--preset--color--primary, #111);
  --gbes-radius: 16px;
}

.gbes-filter {
  display:flex; gap:12px; align-items:center; margin:0 0 16px 0; flex-wrap:wrap;
}
.gbes-filter input[type="text"] { padding:8px 10px; border:1px solid var(--gbes-card-border); border-radius:8px; }
.gbes-filter select { padding:8px 10px; border:1px solid var(--gbes-card-border); border-radius:8px; }
.gbes-filter button { padding:8px 12px; border-radius:10px; background:var(--gbes-primary); color:#fff; border:none; cursor:pointer; }

.gbes-grid { display:grid; gap:24px; }
.gbes-cols-1 { grid-template-columns: 1fr; }
.gbes-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.gbes-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.gbes-cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 960px) { .gbes-cols-4, .gbes-cols-3 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .gbes-cols-4, .gbes-cols-3, .gbes-cols-2 { grid-template-columns: 1fr; } }

.gbes-card {
  border:1px solid var(--gbes-card-border);
  border-radius:var(--gbes-radius);
  overflow:hidden;
  background:var(--gbes-card-bg);
  display:flex; flex-direction:column;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  transition: transform .08s ease, box-shadow .18s ease;
}
.gbes-card:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(0,0,0,0.08); }

.gbes-card .gbes-thumb img { width:100%; height:auto; display:block; aspect-ratio: 16/9; object-fit: cover; }

.gbes-body { padding:16px; display:flex; flex-direction:column; gap:10px; }
.gbes-title { margin:0; font-size:1.1rem; color:var(--gbes-text); line-height:1.3; }
.gbes-meta { font-size:.9rem; color:var(--gbes-muted); display:flex; gap:8px; align-items:center; }
.gbes-dot { opacity:.5; }
.gbes-excerpt { margin:0; color:var(--gbes-muted); }

.gbes-btn {
  display:inline-block; padding:10px 14px; border-radius:10px; text-decoration:none; 
  background:var(--gbes-primary); color:#fff; width:fit-content;
}

.gbes-style-minimal .gbes-card { box-shadow:none; }
.gbes-style-solid .gbes-card { background: #f8fafc; }

.gbes-pagination { margin-top: 12px; }
.gbes-pagination .page-numbers { display:inline-block; padding:6px 10px; border:1px solid var(--gbes-card-border); margin-right:6px; border-radius:8px; text-decoration:none; }
.gbes-pagination .current { background: var(--gbes-primary); color:#fff; border-color: var(--gbes-primary); }
