PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.12
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.12
2.0.14 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 / gallery-showcase / style.css

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

272 lines 9.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* Gallery Showcase — Style */
2 .bkbg-gs-wrapper { box-sizing: border-box; }
3
4 /*
5 * Gradient Section also uses .bkbg-gs-wrapper (purple animated gradient).
6 * In the editor every block stylesheet is loaded, so that rule leaked onto
7 * this block. Scope a reset to Gallery Showcase only.
8 */
9 .wp-block-blockenberg-gallery-showcase.bkbg-gs-wrapper {
10 background: transparent;
11 background-image: none;
12 animation: none;
13 overflow: visible;
14 width: auto;
15 }
16
17 /* Layout containers */
18 .bkbg-gs-showcase { display: flex; gap: 14px; }
19 .bkbg-gs-showcase.bkbg-gs--thumb-bottom,
20 .bkbg-gs-showcase.bkbg-gs--thumb-top { flex-direction: column; align-items: stretch; }
21 .bkbg-gs-showcase.bkbg-gs--thumb-left { flex-direction: row-reverse; align-items: flex-start; }
22 .bkbg-gs-showcase.bkbg-gs--thumb-right { flex-direction: row; align-items: flex-start; }
23
24 /* Main image area
25 IMPORTANT: do not rely on flex:1 alone — with overflow:hidden the flex
26 min-size collapses to 0 on the frontend and absolute images disappear. */
27 .bkbg-gs-main {
28 position: relative;
29 width: 100%;
30 flex: 1 1 auto;
31 min-width: 0;
32 min-height: 0;
33 aspect-ratio: var(--bkbg-gs-aspect, 4 / 3);
34 border-radius: var(--bkbg-gs-main-r, 16px);
35 overflow: hidden;
36 background: #f3f4f6;
37 box-shadow: var(--bkbg-gs-main-shadow, none);
38 }
39
40 .bkbg-gs-showcase.bkbg-gs--thumb-bottom .bkbg-gs-main,
41 .bkbg-gs-showcase.bkbg-gs--thumb-top .bkbg-gs-main {
42 flex: 0 0 auto;
43 }
44
45 .bkbg-gs-main-images {
46 position: absolute;
47 inset: 0;
48 }
49
50 .bkbg-gs-slide {
51 position: absolute;
52 inset: 0;
53 display: none;
54 }
55 .bkbg-gs-slide.is-active {
56 display: block;
57 }
58 .bkbg-gs-slide img {
59 position: absolute;
60 inset: 0;
61 width: 100%;
62 height: 100%;
63 object-fit: var(--bkbg-gs-object-fit, cover);
64 display: block;
65 transition: opacity 0.32s ease;
66 }
67
68 /* Counter badge */
69 .bkbg-gs-counter {
70 position: absolute;
71 top: 12px;
72 right: 12px;
73 background: var(--bkbg-gs-counter-bg, rgba(0,0,0,0.55));
74 color: var(--bkbg-gs-counter-color, #ffffff);
75 border-radius: 99px;
76 padding: 4px 12px;
77 font-family: var(--bkbg-gs-cnt-font-family, inherit);
78 font-size: var(--bkbg-gs-cnt-font-size-d, 13px);
79 font-weight: var(--bkbg-gs-cnt-font-weight, 600);
80 font-style: var(--bkbg-gs-cnt-font-style, normal);
81 text-decoration: var(--bkbg-gs-cnt-text-decoration, none);
82 text-transform: var(--bkbg-gs-cnt-text-transform, none);
83 line-height: var(--bkbg-gs-cnt-line-height-d, 1.4);
84 letter-spacing: var(--bkbg-gs-cnt-letter-spacing-d, normal);
85 word-spacing: var(--bkbg-gs-cnt-word-spacing-d, normal);
86 pointer-events: none;
87 z-index: 2;
88 }
89
90 /* Caption */
91 .bkbg-gs-caption {
92 font-family: var(--bkbg-gs-cap-font-family, inherit);
93 font-size: var(--bkbg-gs-cap-font-size-d, 14px);
94 font-weight: var(--bkbg-gs-cap-font-weight, 400);
95 font-style: var(--bkbg-gs-cap-font-style, normal);
96 text-decoration: var(--bkbg-gs-cap-text-decoration, none);
97 text-transform: var(--bkbg-gs-cap-text-transform, none);
98 line-height: var(--bkbg-gs-cap-line-height-d, 1.4);
99 letter-spacing: var(--bkbg-gs-cap-letter-spacing-d, normal);
100 word-spacing: var(--bkbg-gs-cap-word-spacing-d, normal);
101 pointer-events: none;
102 z-index: 2;
103 }
104 .bkbg-gs-caption:empty,
105 .bkbg-gs-below-caption:empty {
106 display: none;
107 }
108 .bkbg-gs-caption--overlay {
109 position: absolute;
110 bottom: 0; left: 0; right: 0;
111 padding: 10px 14px;
112 background: var(--bkbg-gs-caption-bg, rgba(0,0,0,0.55));
113 color: var(--bkbg-gs-caption-color, #ffffff);
114 }
115 .bkbg-gs-below-caption {
116 text-align: center;
117 font-family: var(--bkbg-gs-cap-font-family, inherit);
118 font-size: var(--bkbg-gs-cap-font-size-d, 14px);
119 font-weight: var(--bkbg-gs-cap-font-weight, 400);
120 font-style: var(--bkbg-gs-cap-font-style, normal);
121 text-decoration: var(--bkbg-gs-cap-text-decoration, none);
122 text-transform: var(--bkbg-gs-cap-text-transform, none);
123 line-height: var(--bkbg-gs-cap-line-height-d, 1.4);
124 letter-spacing: var(--bkbg-gs-cap-letter-spacing-d, normal);
125 word-spacing: var(--bkbg-gs-cap-word-spacing-d, normal);
126 /* Default gray — white overlay color must not leak here */
127 color: var(--bkbg-gs-caption-below-color, #6b7280);
128 margin: 10px 0 0;
129 }
130
131 /* Arrows */
132 .bkbg-gs-arrow {
133 position: absolute;
134 top: 50%;
135 transform: translateY(-50%);
136 background: var(--bkbg-gs-arrow-bg, rgba(0,0,0,0.45));
137 color: var(--bkbg-gs-arrow-color, #ffffff);
138 border: none;
139 width: 40px; height: 40px;
140 display: flex; align-items: center; justify-content: center;
141 font-size: 20px;
142 cursor: pointer;
143 z-index: 3;
144 transition: opacity 0.15s;
145 line-height: 1;
146 }
147 .bkbg-gs-arrow:hover { opacity: 0.8; }
148 .bkbg-gs-arrow--prev { left: 10px; }
149 .bkbg-gs-arrow--next { right: 10px; }
150 .bkbg-gs-arrow--circle { border-radius: 50%; }
151 .bkbg-gs-arrow--square { border-radius: 6px; }
152 .bkbg-gs-arrow--minimal { background: transparent; text-shadow: 0 1px 4px rgba(0,0,0,0.6); }
153
154 /* Lightbox trigger */
155 .bkbg-gs-lightbox-trigger {
156 position: absolute;
157 top: 10px; left: 10px;
158 background: rgba(0,0,0,0.45);
159 color: #fff;
160 border: none;
161 border-radius: 6px;
162 width: 34px; height: 34px;
163 font-size: 18px;
164 cursor: pointer;
165 z-index: 3;
166 display: flex; align-items: center; justify-content: center;
167 }
168
169 /* Thumbnail strip */
170 .bkbg-gs-thumbs {
171 display: flex;
172 gap: var(--bkbg-gs-thumb-gap, 8px);
173 overflow-x: auto;
174 scrollbar-width: thin;
175 }
176 .bkbg-gs-showcase.bkbg-gs--thumb-left .bkbg-gs-thumbs,
177 .bkbg-gs-showcase.bkbg-gs--thumb-right .bkbg-gs-thumbs {
178 flex-direction: column;
179 overflow-x: hidden;
180 overflow-y: auto;
181 flex-shrink: 0;
182 max-width: 110px;
183 }
184
185 .bkbg-gs-thumb {
186 flex-shrink: 0;
187 width: 80px;
188 height: 60px;
189 border-radius: var(--bkbg-gs-thumb-r, 8px);
190 overflow: hidden;
191 border: 2px solid transparent;
192 padding: 0;
193 cursor: pointer;
194 background: #f3f4f6;
195 transition: border-color 0.15s, opacity 0.15s;
196 opacity: 0.7;
197 }
198 .bkbg-gs-thumb.is-active {
199 border-color: var(--bkbg-gs-active-border, #6c3fb5);
200 border-width: var(--bkbg-gs-active-bw, 3px);
201 opacity: 1;
202 }
203 .bkbg-gs-thumb img {
204 width: 100%;
205 height: 100%;
206 object-fit: cover;
207 display: block;
208 }
209 .bkbg-gs-showcase.bkbg-gs--thumb-left .bkbg-gs-thumb,
210 .bkbg-gs-showcase.bkbg-gs--thumb-right .bkbg-gs-thumb { width: 100%; height: 64px; }
211
212 /* Lightbox overlay (built by frontend.js) */
213 .bkbg-gs-lightbox {
214 position: fixed;
215 inset: 0;
216 background: var(--bkbg-gs-lightbox-bg, rgba(0,0,0,0.9));
217 z-index: 9999;
218 display: flex;
219 align-items: center;
220 justify-content: center;
221 }
222 .bkbg-gs-lightbox img { max-width: 90vw; max-height: 90vh; object-fit: contain; border-radius: 8px; }
223 .bkbg-gs-lightbox-close {
224 position: absolute;
225 top: 20px; right: 24px;
226 color: #fff;
227 font-size: 32px;
228 background: none;
229 border: none;
230 cursor: pointer;
231 }
232
233 /* Typography responsive */
234 @media (max-width: 1024px) {
235 .bkbg-gs-caption,
236 .bkbg-gs-below-caption {
237 font-size: var(--bkbg-gs-cap-font-size-t, var(--bkbg-gs-cap-font-size-d, 14px));
238 line-height: var(--bkbg-gs-cap-line-height-t, var(--bkbg-gs-cap-line-height-d, 1.4));
239 letter-spacing: var(--bkbg-gs-cap-letter-spacing-t, var(--bkbg-gs-cap-letter-spacing-d, normal));
240 word-spacing: var(--bkbg-gs-cap-word-spacing-t, var(--bkbg-gs-cap-word-spacing-d, normal));
241 }
242 .bkbg-gs-counter {
243 font-size: var(--bkbg-gs-cnt-font-size-t, var(--bkbg-gs-cnt-font-size-d, 13px));
244 line-height: var(--bkbg-gs-cnt-line-height-t, var(--bkbg-gs-cnt-line-height-d, 1.4));
245 letter-spacing: var(--bkbg-gs-cnt-letter-spacing-t, var(--bkbg-gs-cnt-letter-spacing-d, normal));
246 word-spacing: var(--bkbg-gs-cnt-word-spacing-t, var(--bkbg-gs-cnt-word-spacing-d, normal));
247 }
248 }
249 @media (max-width: 767px) {
250 .bkbg-gs-caption,
251 .bkbg-gs-below-caption {
252 font-size: var(--bkbg-gs-cap-font-size-m, var(--bkbg-gs-cap-font-size-t, var(--bkbg-gs-cap-font-size-d, 14px)));
253 line-height: var(--bkbg-gs-cap-line-height-m, var(--bkbg-gs-cap-line-height-t, var(--bkbg-gs-cap-line-height-d, 1.4)));
254 letter-spacing: var(--bkbg-gs-cap-letter-spacing-m, var(--bkbg-gs-cap-letter-spacing-t, var(--bkbg-gs-cap-letter-spacing-d, normal)));
255 word-spacing: var(--bkbg-gs-cap-word-spacing-m, var(--bkbg-gs-cap-word-spacing-t, var(--bkbg-gs-cap-word-spacing-d, normal)));
256 }
257 .bkbg-gs-counter {
258 font-size: var(--bkbg-gs-cnt-font-size-m, var(--bkbg-gs-cnt-font-size-t, var(--bkbg-gs-cnt-font-size-d, 13px)));
259 line-height: var(--bkbg-gs-cnt-line-height-m, var(--bkbg-gs-cnt-line-height-t, var(--bkbg-gs-cnt-line-height-d, 1.4)));
260 letter-spacing: var(--bkbg-gs-cnt-letter-spacing-m, var(--bkbg-gs-cnt-letter-spacing-t, var(--bkbg-gs-cnt-letter-spacing-d, normal)));
261 word-spacing: var(--bkbg-gs-cnt-word-spacing-m, var(--bkbg-gs-cnt-word-spacing-t, var(--bkbg-gs-cnt-word-spacing-d, normal)));
262 }
263 }
264
265 /* Responsive */
266 @media (max-width: 640px) {
267 .bkbg-gs-showcase.bkbg-gs--thumb-left,
268 .bkbg-gs-showcase.bkbg-gs--thumb-right { flex-direction: column; align-items: stretch; }
269 .bkbg-gs-thumbs { max-width: none !important; flex-direction: row !important; overflow-x: auto !important; overflow-y: hidden !important; }
270 .bkbg-gs-thumb { width: 64px !important; height: 48px !important; }
271 }
272