/* --- Grid --- */
.xrdx-filters { margin-bottom: 1.5em; display: flex; flex-wrap: wrap; gap: 0.5em; }
.xrdx-filter { padding: 0.4em 1em; border: 1px solid #ccc; background: #fff; border-radius: 999px; cursor: pointer; font-size: 0.9em; }
.xrdx-filter.active { background: #222; color: #fff; border-color: #222; }

.xrdx-grid { display: grid; gap: 1em; grid-template-columns: repeat(var(--xrdx-columns, 4), 1fr); }
.xrdx-grid[data-columns="1"] { --xrdx-columns: 1; }
.xrdx-grid[data-columns="2"] { --xrdx-columns: 2; }
.xrdx-grid[data-columns="3"] { --xrdx-columns: 3; }
.xrdx-grid[data-columns="4"] { --xrdx-columns: 4; }
.xrdx-grid[data-columns="5"] { --xrdx-columns: 5; }
.xrdx-grid[data-columns="6"] { --xrdx-columns: 6; }
@media (max-width: 900px) { .xrdx-grid { --xrdx-columns: 2 !important; } }
@media (max-width: 500px) { .xrdx-grid { --xrdx-columns: 1 !important; } }

.xrdx-card { display: block; text-decoration: none; color: inherit; position: relative; }
.xrdx-card-thumb { aspect-ratio: 1; overflow: hidden; background: #eee; position: relative; }
.xrdx-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.xrdx-card-title { margin-top: 0.4em; font-size: 0.95em; }
.xrdx-warning-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.6); color: #fff; font-size: 0.85em; }
.xrdx-card.xrdx-warning .xrdx-card-thumb img { filter: blur(20px); }

.xrdx-empty { grid-column: 1 / -1; text-align: center; padding: 3em 1em; color: #777; }

/* --- Single post --- */
.xrdx-single-type a { margin-right: 0.6em; }
.xrdx-pieces { display: flex; flex-direction: column; gap: 2em; margin: 2em 0; }
.xrdx-piece img { max-width: 100%; height: auto; display: block; }
.xrdx-piece figcaption { margin-top: 0.6em; font-style: italic; }
.xrdx-ai-data { margin-top: 1em; padding: 1em; background: #f7f7f7; border-radius: 6px; font-size: 0.9em; }
.xrdx-ai-settings { list-style: none; margin: 0.5em 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.8em; }

.xrdx-blurred { position: relative; }
.xrdx-blurred .xrdx-piece { filter: blur(30px); pointer-events: none; user-select: none; }
.xrdx-reveal-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 5; padding: 0.8em 1.5em; }

.xrdx-shortcode-hint { font-size: 0.85em; color: #777; }
.xrdx-related { margin-top: 3em; }

/* --- Embed card --- */
.xrdx-embed-card { display: flex; gap: 1em; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; }
.xrdx-embed-thumb img { width: 160px; height: 160px; object-fit: cover; display: block; }
.xrdx-embed-body { padding: 1em 1em 1em 0; }

/* --- Lightbox --- */
.xrdx-lightbox-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.9); display: flex; align-items: center; justify-content: center; z-index: 100000; }
.xrdx-lightbox-overlay img { max-width: 90vw; max-height: 90vh; }
.xrdx-lightbox-close { position: absolute; top: 1em; right: 1.5em; font-size: 2em; background: none; border: none; color: #fff; cursor: pointer; }

/* --- Admin repeater --- */
.xrdx-image-row { display: flex; gap: 1em; padding: 1em; border: 1px solid #ddd; margin-bottom: 0.8em; background: #fff; }
.xrdx-image-row-thumb img { width: 100px; height: 100px; object-fit: cover; display: block; }
.xrdx-image-row-body { flex: 1; }
.xrdx-ai-found { color: #1a7a1a; }
.xrdx-ai-missing { color: #a35a00; }
