.dvbm{--dvbm-cols:var(--dvbm-cols-d,3);--dvbm-gap:16px;--dvbm-row:220px;--dvbm-radius:6px;--dvbm-accent:#2ea3f2;position:relative;width:100%;box-sizing:border-box}
@media (max-width:980px){.dvbm{--dvbm-cols:var(--dvbm-cols-t,2)}}
@media (max-width:767px){.dvbm{--dvbm-cols:var(--dvbm-cols-m,1)}}
.dvbm *{box-sizing:border-box}

/* Filter */
.dvbm-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--dvbm-gap)}
.dvbm-filter-btn{padding:8px 18px;border:1px solid var(--dvbm-accent);border-radius:999px;background:transparent;color:var(--dvbm-accent);font:inherit;font-size:14px;line-height:1.2;cursor:pointer;transition:background .2s,color .2s}
.dvbm-filter-btn:hover,.dvbm-filter-btn.is-active{background:var(--dvbm-accent);color:#fff}

/* Grid */
.dvbm-grid{display:grid;grid-template-columns:repeat(var(--dvbm-cols),minmax(0,1fr));gap:var(--dvbm-gap);grid-auto-flow:dense;transition:opacity .2s}
.dvbm.is-loading .dvbm-grid{opacity:.45;pointer-events:none}
.dvbm-style-1 .dvbm-grid,.dvbm-style-3 .dvbm-grid{grid-auto-rows:var(--dvbm-row)}
.dvbm-item{min-width:0}
.dvbm-item.is-featured{grid-column:span 2;grid-row:span 2}
.dvbm-style-2 .dvbm-item.is-featured{grid-row:span 1}
.dvbm-d1 .dvbm-item.is-featured{grid-column:auto}
@media (max-width:980px){.dvbm-d1 .dvbm-item.is-featured{grid-column:auto}.dvbm-t1 .dvbm-item.is-featured{grid-column:auto;grid-row:auto}}
@media (max-width:767px){.dvbm-m1 .dvbm-item.is-featured{grid-column:auto;grid-row:auto}}

/* Card (shared) */
.dvbm-card{position:relative;height:100%;overflow:hidden;border-radius:var(--dvbm-radius);background:#222;color:#fff}
.dvbm-thumb{position:absolute;inset:0;display:block;background:#333}
.dvbm-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.dvbm-card:hover .dvbm-thumb img{transform:scale(1.06)}
.dvbm-body{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:18px 20px}
.dvbm-cats{position:relative;z-index:2}
.dvbm-cats a{display:inline-block;margin-right:6px;padding:3px 9px;border-radius:3px;background:var(--dvbm-accent);color:#fff;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none}
.dvbm_post_title{margin:0;padding:0;font-size:18px;line-height:1.3;color:inherit}
.dvbm_post_title a{color:inherit;text-decoration:none}
.dvbm_post_title a::after{content:"";position:absolute;inset:0;z-index:1}
.dvbm-item.is-featured .dvbm_post_title{font-size:26px}
.dvbm-meta{font-size:12px;opacity:.85}
.dvbm-sep{margin:0 7px;opacity:.6}
.dvbm_post_excerpt{font-size:14px;line-height:1.55}
.dvbm-more{font-size:13px;font-weight:600;color:var(--dvbm-accent)}

/* Style 1 — Overlay tiles */
.dvbm-style-1 .dvbm-body{background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,0));padding-top:56px}
.dvbm-style-1 .dvbm-item:not(.is-featured) .dvbm_post_excerpt{display:none}

/* Style 2 — Cards */
.dvbm-style-2 .dvbm-card{display:flex;flex-direction:column;background:#fff;color:#222;box-shadow:0 2px 14px rgba(0,0,0,.08)}
.dvbm-style-2 .dvbm-thumb{position:relative;inset:auto;height:var(--dvbm-row)}
.dvbm-style-2 .dvbm-item.is-featured .dvbm-thumb{height:calc(var(--dvbm-row) * 1.35)}
.dvbm-style-2 .dvbm-body{position:static;flex:1}
.dvbm-style-2 .dvbm-cats{margin-top:-4px}

/* Style 3 — Editorial caption panel */
.dvbm-style-3 .dvbm-body{left:14px;right:14px;bottom:14px;padding:14px 16px;background:#fff;color:#222;border-radius:4px}
.dvbm-style-3 .dvbm-item:not(.is-featured) .dvbm_post_excerpt{display:none}
.dvbm-style-3 .dvbm-item.is-featured .dvbm_post_title{font-size:24px}

/* Pager */
.dvbm-pager{display:flex;justify-content:center;margin-top:calc(var(--dvbm-gap) + 8px)}
.dvbm-pager:empty{display:none}
.dvbm-more-btn{padding:12px 30px;border:0;border-radius:4px;background:var(--dvbm-accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:opacity .2s}
.dvbm-more-btn:hover{opacity:.88}
.dvbm-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;align-items:center}
.dvbm-page{min-width:38px;height:38px;padding:0 10px;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:transparent;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.dvbm-page:hover{border-color:var(--dvbm-accent);color:var(--dvbm-accent)}
.dvbm-page.is-current{background:var(--dvbm-accent);border-color:var(--dvbm-accent);color:#fff;cursor:default}
.dvbm-dots{padding:0 4px;opacity:.6}
.dvbm-empty{padding:24px;text-align:center;opacity:.7}
@media (prefers-reduced-motion:reduce){.dvbm-thumb img,.dvbm-grid{transition:none}}
