PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.7
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.7
2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
blockenberg / blocks / thumbnail-gallery / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.7, at blocks/thumbnail-gallery/style.css

305 lines 7.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* === Thumbnail Gallery === */
2
3 .bkbg-tgal-wrap {
4 box-sizing: border-box;
5 width: 100%;
6 }
7
8 .bkbg-tgal-inner {
9 margin: 0 auto;
10 }
11
12 /* ── container flex layouts ── */
13 .bkbg-tgal-container {
14 display: flex;
15 gap: 12px;
16 }
17
18 .bkbg-tgal-container.pos-bottom,
19 .bkbg-tgal-container.pos-top {
20 flex-direction: column;
21 }
22
23 .bkbg-tgal-container.pos-top {
24 flex-direction: column-reverse;
25 }
26
27 .bkbg-tgal-container.pos-left {
28 flex-direction: row;
29 }
30
31 .bkbg-tgal-container.pos-right {
32 flex-direction: row-reverse;
33 }
34
35 /* ── main image area ── */
36 .bkbg-tgal-main {
37 position: relative;
38 flex: 1 1 auto;
39 min-width: 0;
40 overflow: hidden;
41 }
42
43 .bkbg-tgal-main img {
44 display: block;
45 width: 100%;
46 height: 100%;
47 object-fit: cover;
48 transition: opacity 0.3s ease;
49 }
50
51 .bkbg-tgal-main img.is-fade-out {
52 opacity: 0;
53 }
54
55 .bkbg-tgal-main img.is-fade-in {
56 opacity: 1;
57 }
58
59 /* ── caption overlay ── */
60 .bkbg-tgal-caption {
61 position: absolute;
62 bottom: 0;
63 left: 0;
64 right: 0;
65 padding: 10px 16px;
66 font-family: var(--bktg-cp-font-family, inherit);
67 font-size: var(--bktg-cp-font-size-d, 13px);
68 line-height: var(--bktg-cp-line-height-d, 1.4);
69 font-weight: var(--bktg-cp-font-weight, normal);
70 font-style: var(--bktg-cp-font-style, normal);
71 text-decoration: var(--bktg-cp-text-decoration, none);
72 text-transform: var(--bktg-cp-text-transform, none);
73 letter-spacing: var(--bktg-cp-letter-spacing-d, normal);
74 word-spacing: var(--bktg-cp-word-spacing-d, normal);
75 pointer-events: none;
76 }
77
78 /* ── counter badge ── */
79 .bkbg-tgal-counter {
80 position: absolute;
81 top: 10px;
82 right: 10px;
83 padding: 3px 11px;
84 border-radius: 20px;
85 font-family: var(--bktg-ct-font-family, inherit);
86 font-size: var(--bktg-ct-font-size-d, 12px);
87 line-height: var(--bktg-ct-line-height-d, normal);
88 font-weight: var(--bktg-ct-font-weight, 600);
89 font-style: var(--bktg-ct-font-style, normal);
90 text-decoration: var(--bktg-ct-text-decoration, none);
91 text-transform: var(--bktg-ct-text-transform, none);
92 letter-spacing: var(--bktg-ct-letter-spacing-d, 0.03em);
93 word-spacing: var(--bktg-ct-word-spacing-d, normal);
94 pointer-events: none;
95 }
96
97 /* ── zoom button ── */
98 .bkbg-tgal-zoom {
99 position: absolute;
100 top: 10px;
101 left: 10px;
102 width: 32px;
103 height: 32px;
104 border-radius: 6px;
105 display: flex;
106 align-items: center;
107 justify-content: center;
108 font-size: 16px;
109 cursor: zoom-in;
110 transition: opacity 0.2s;
111 opacity: 0.85;
112 }
113
114 .bkbg-tgal-zoom:hover {
115 opacity: 1;
116 }
117
118 /* ── arrows ── */
119 .bkbg-tgal-arrow {
120 position: absolute;
121 top: 50%;
122 transform: translateY(-50%);
123 width: 36px;
124 height: 36px;
125 border-radius: 50%;
126 display: flex;
127 align-items: center;
128 justify-content: center;
129 font-size: 20px;
130 cursor: pointer;
131 transition: opacity 0.2s, transform 0.2s;
132 opacity: 0.85;
133 border: none;
134 background: none;
135 z-index: 3;
136 }
137
138 .bkbg-tgal-arrow:hover {
139 opacity: 1;
140 transform: translateY(-50%) scale(1.08);
141 }
142
143 .bkbg-tgal-arrow.prev { left: 10px; }
144 .bkbg-tgal-arrow.next { right: 10px; }
145
146 /* ── thumbnail strip ── */
147 .bkbg-tgal-strip {
148 display: flex;
149 gap: 8px;
150 overflow-x: auto;
151 overflow-y: hidden;
152 flex-shrink: 0;
153 padding: 4px;
154 scrollbar-width: thin;
155 scrollbar-color: rgba(0,0,0,0.2) transparent;
156 }
157
158 .bkbg-tgal-strip::-webkit-scrollbar {
159 height: 4px;
160 }
161
162 .bkbg-tgal-strip::-webkit-scrollbar-thumb {
163 background: rgba(0,0,0,0.2);
164 border-radius: 4px;
165 }
166
167 .bkbg-tgal-container.pos-left .bkbg-tgal-strip,
168 .bkbg-tgal-container.pos-right .bkbg-tgal-strip {
169 flex-direction: column;
170 overflow-x: hidden;
171 overflow-y: auto;
172 scrollbar-width: thin;
173 }
174
175 .bkbg-tgal-container.pos-left .bkbg-tgal-strip::-webkit-scrollbar,
176 .bkbg-tgal-container.pos-right .bkbg-tgal-strip::-webkit-scrollbar {
177 width: 4px;
178 height: auto;
179 }
180
181 /* ── thumbnail item ── */
182 .bkbg-tgal-thumb {
183 flex-shrink: 0;
184 background-size: cover;
185 background-position: center;
186 cursor: pointer;
187 transition: border-color 0.15s, opacity 0.15s;
188 box-sizing: border-box;
189 opacity: 0.72;
190 }
191
192 .bkbg-tgal-thumb:hover {
193 opacity: 0.9;
194 }
195
196 .bkbg-tgal-thumb.is-active {
197 opacity: 1;
198 }
199
200 /* ── lightbox overlay ── */
201 .bkbg-tgal-lightbox {
202 position: fixed;
203 inset: 0;
204 z-index: 99999;
205 display: flex;
206 align-items: center;
207 justify-content: center;
208 background: rgba(0,0,0,0.9);
209 animation: bkbg-tgal-lb-in 0.2s ease;
210 }
211
212 @keyframes bkbg-tgal-lb-in {
213 from { opacity: 0; }
214 to { opacity: 1; }
215 }
216
217 .bkbg-tgal-lightbox img {
218 max-width: 92vw;
219 max-height: 90vh;
220 object-fit: contain;
221 border-radius: 4px;
222 box-shadow: 0 8px 40px rgba(0,0,0,0.6);
223 }
224
225 .bkbg-tgal-lb-close {
226 position: absolute;
227 top: 16px;
228 right: 20px;
229 font-size: 28px;
230 color: #fff;
231 cursor: pointer;
232 line-height: 1;
233 opacity: 0.8;
234 transition: opacity 0.15s;
235 background: none;
236 border: none;
237 }
238
239 .bkbg-tgal-lb-close:hover {
240 opacity: 1;
241 }
242
243 .bkbg-tgal-lb-arrow {
244 position: absolute;
245 top: 50%;
246 transform: translateY(-50%);
247 font-size: 40px;
248 color: #fff;
249 cursor: pointer;
250 opacity: 0.75;
251 transition: opacity 0.15s;
252 background: none;
253 border: none;
254 padding: 0 16px;
255 }
256
257 .bkbg-tgal-lb-arrow:hover { opacity: 1; }
258 .bkbg-tgal-lb-arrow.prev { left: 0; }
259 .bkbg-tgal-lb-arrow.next { right: 0; }
260
261 /* ── responsive ── */
262 @media (max-width: 1024px) {
263 .bkbg-tgal-caption {
264 font-size: var(--bktg-cp-font-size-t, var(--bktg-cp-font-size-d, 13px));
265 line-height: var(--bktg-cp-line-height-t, var(--bktg-cp-line-height-d, 1.4));
266 letter-spacing: var(--bktg-cp-letter-spacing-t, var(--bktg-cp-letter-spacing-d, normal));
267 word-spacing: var(--bktg-cp-word-spacing-t, var(--bktg-cp-word-spacing-d, normal));
268 }
269 .bkbg-tgal-counter {
270 font-size: var(--bktg-ct-font-size-t, var(--bktg-ct-font-size-d, 12px));
271 line-height: var(--bktg-ct-line-height-t, var(--bktg-ct-line-height-d, normal));
272 letter-spacing: var(--bktg-ct-letter-spacing-t, var(--bktg-ct-letter-spacing-d, 0.03em));
273 word-spacing: var(--bktg-ct-word-spacing-t, var(--bktg-ct-word-spacing-d, normal));
274 }
275 }
276
277 @media (max-width: 767px) {
278 .bkbg-tgal-caption {
279 font-size: var(--bktg-cp-font-size-m, var(--bktg-cp-font-size-t, var(--bktg-cp-font-size-d, 13px)));
280 line-height: var(--bktg-cp-line-height-m, var(--bktg-cp-line-height-t, var(--bktg-cp-line-height-d, 1.4)));
281 letter-spacing: var(--bktg-cp-letter-spacing-m, var(--bktg-cp-letter-spacing-t, var(--bktg-cp-letter-spacing-d, normal)));
282 word-spacing: var(--bktg-cp-word-spacing-m, var(--bktg-cp-word-spacing-t, var(--bktg-cp-word-spacing-d, normal)));
283 }
284 .bkbg-tgal-counter {
285 font-size: var(--bktg-ct-font-size-m, var(--bktg-ct-font-size-t, var(--bktg-ct-font-size-d, 12px)));
286 line-height: var(--bktg-ct-line-height-m, var(--bktg-ct-line-height-t, var(--bktg-ct-line-height-d, normal)));
287 letter-spacing: var(--bktg-ct-letter-spacing-m, var(--bktg-ct-letter-spacing-t, var(--bktg-ct-letter-spacing-d, 0.03em)));
288 word-spacing: var(--bktg-ct-word-spacing-m, var(--bktg-ct-word-spacing-t, var(--bktg-ct-word-spacing-d, normal)));
289 }
290 }
291
292 @media (max-width: 600px) {
293 .bkbg-tgal-container.pos-left,
294 .bkbg-tgal-container.pos-right {
295 flex-direction: column;
296 }
297
298 .bkbg-tgal-container.pos-left .bkbg-tgal-strip,
299 .bkbg-tgal-container.pos-right .bkbg-tgal-strip {
300 flex-direction: row;
301 overflow-x: auto;
302 overflow-y: hidden;
303 }
304 }
305