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 / video-testimonial / style.css

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

279 lines 8.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ── Video Testimonial ──────────────────────────────────────────────────────── */
2 .bkbg-vt-wrapper {
3 box-sizing: border-box;
4 width: 100%;
5 }
6
7 /* Grid */
8 .bkbg-vt-grid {
9 display: grid;
10 grid-template-columns: repeat(var(--bkbg-vt-cols, 3), 1fr);
11 gap: var(--bkbg-vt-gap, 24px);
12 }
13
14 /* Masonry via columns */
15 .bkbg-vt-grid.bkbg-vt-masonry {
16 display: block;
17 columns: var(--bkbg-vt-cols, 3);
18 column-gap: var(--bkbg-vt-gap, 24px);
19 }
20
21 .bkbg-vt-grid.bkbg-vt-masonry .bkbg-vt-card {
22 break-inside: avoid;
23 margin-bottom: var(--bkbg-vt-gap, 24px);
24 }
25
26 /* Featured: first card spans 2 cols */
27 .bkbg-vt-grid.bkbg-vt-featured {
28 grid-template-columns: 2fr 1fr;
29 }
30
31 .bkbg-vt-grid.bkbg-vt-featured .bkbg-vt-card:first-child {
32 grid-row: span 2;
33 }
34
35 /* Card */
36 .bkbg-vt-card {
37 background: var(--bkbg-vt-card-bg, #fff);
38 border-radius: var(--bkbg-vt-radius, 14px);
39 overflow: hidden;
40 transition: transform 0.22s ease, box-shadow 0.22s ease;
41 }
42
43 .bkbg-vt-card.bkbg-vt-shadow--sm { box-shadow: 0 1px 4px rgba(0,0,0,0.07); }
44 .bkbg-vt-card.bkbg-vt-shadow--md { box-shadow: 0 4px 16px rgba(0,0,0,0.10); }
45 .bkbg-vt-card:hover { transform: translateY(-4px); }
46
47 /* Video wrap */
48 .bkbg-vt-video-wrap {
49 position: relative;
50 width: 100%;
51 overflow: hidden;
52 cursor: pointer;
53 background: #000;
54 }
55
56 .bkbg-vt-video-wrap img {
57 position: absolute;
58 inset: 0;
59 width: 100%;
60 height: 100%;
61 object-fit: cover;
62 display: block;
63 transition: transform 0.36s ease;
64 }
65
66 .bkbg-vt-video-wrap:hover img {
67 transform: scale(1.04);
68 }
69
70 /* Overlay */
71 .bkbg-vt-overlay {
72 position: absolute;
73 inset: 0;
74 background: var(--bkbg-vt-overlay-bg, rgba(0,0,0,0.38));
75 display: flex;
76 align-items: center;
77 justify-content: center;
78 }
79
80 /* Play button */
81 .bkbg-vt-play {
82 width: 54px;
83 height: 54px;
84 border-radius: 50%;
85 background: rgba(255,255,255,0.2);
86 border: 2px solid rgba(255,255,255,0.75);
87 display: flex;
88 align-items: center;
89 justify-content: center;
90 transition: transform 0.18s ease, background 0.18s ease;
91 backdrop-filter: blur(4px);
92 }
93
94 .bkbg-vt-video-wrap:hover .bkbg-vt-play {
95 transform: scale(1.12);
96 background: rgba(255,255,255,0.3);
97 }
98
99 /* Iframe (injected by JS) */
100 .bkbg-vt-video-wrap iframe {
101 position: absolute;
102 inset: 0;
103 width: 100%;
104 height: 100%;
105 border: none;
106 display: block;
107 }
108
109 /* Card Body */
110 .bkbg-vt-body {
111 padding: var(--bkbg-vt-pad, 24px);
112 }
113
114 /* Stars */
115 .bkbg-vt-stars {
116 display: flex;
117 gap: 2px;
118 margin-bottom: 12px;
119 }
120
121 /* Opening quote */
122 .bkbg-vt-open-quote {
123 font-size: 48px;
124 line-height: 0.8;
125 color: var(--bkbg-vt-accent, #6c3fb5);
126 font-family: Georgia, serif;
127 display: block;
128 margin-bottom: 6px;
129 }
130
131 /* Quote text */
132 .bkbg-vt-quote {
133 font-family: var(--bkvt-qt-ff, inherit);
134 font-size: var(--bkvt-qt-fsd, 14px);
135 line-height: var(--bkvt-qt-lhd, 1.65);
136 letter-spacing: var(--bkvt-qt-lsd, normal);
137 word-spacing: var(--bkvt-qt-wsd, normal);
138 font-weight: var(--bkvt-qt-fw, normal);
139 font-style: var(--bkvt-qt-fst, italic);
140 text-decoration: var(--bkvt-qt-td, none);
141 text-transform: var(--bkvt-qt-tt, none);
142 color: var(--bkbg-vt-quote-color, #374151);
143 margin: 0 0 16px;
144 }
145
146 /* Author row */
147 .bkbg-vt-author-row {
148 display: flex;
149 align-items: center;
150 gap: 10px;
151 }
152
153 /* Avatar initial circle */
154 .bkbg-vt-avatar {
155 width: 38px;
156 height: 38px;
157 border-radius: 50%;
158 background: var(--bkbg-vt-accent, #6c3fb5);
159 color: #fff;
160 font-size: 14px;
161 font-weight: 800;
162 display: flex;
163 align-items: center;
164 justify-content: center;
165 flex-shrink: 0;
166 text-transform: uppercase;
167 }
168
169 .bkbg-vt-author {
170 font-family: var(--bkvt-au-ff, inherit);
171 font-size: var(--bkvt-au-fsd, 14px);
172 line-height: var(--bkvt-au-lhd, 1.3);
173 letter-spacing: var(--bkvt-au-lsd, normal);
174 word-spacing: var(--bkvt-au-wsd, normal);
175 font-weight: var(--bkvt-au-fw, 700);
176 font-style: var(--bkvt-au-fst, normal);
177 text-decoration: var(--bkvt-au-td, none);
178 text-transform: var(--bkvt-au-tt, none);
179 color: var(--bkbg-vt-author-color, #111827);
180 margin: 0;
181 }
182
183 .bkbg-vt-role {
184 font-family: var(--bkvt-rl-ff, inherit);
185 font-size: var(--bkvt-rl-fsd, 12px);
186 line-height: var(--bkvt-rl-lhd, 1.4);
187 letter-spacing: var(--bkvt-rl-lsd, normal);
188 word-spacing: var(--bkvt-rl-wsd, normal);
189 font-weight: var(--bkvt-rl-fw, normal);
190 font-style: var(--bkvt-rl-fst, normal);
191 text-decoration: var(--bkvt-rl-td, none);
192 text-transform: var(--bkvt-rl-tt, none);
193 color: var(--bkbg-vt-role-color, #6b7280);
194 margin: 0;
195 }
196
197 /* ── Animate on scroll ──────────────────────────────────────────────────────── */
198 .bkbg-vt-card.bkbg-vt-anim {
199 opacity: 0;
200 transform: translateY(22px);
201 transition: opacity 0.5s ease, transform 0.5s ease;
202 }
203
204 .bkbg-vt-card.bkbg-vt-anim.bkbg-vt-visible {
205 opacity: 1;
206 transform: translateY(0);
207 }
208
209 /* ── Responsive typography ───────────────────────────────────────────────────── */
210 @media (max-width: 1024px) {
211 .bkbg-vt-quote {
212 font-size: var(--bkvt-qt-fst1, var(--bkvt-qt-fsd, 14px));
213 line-height: var(--bkvt-qt-lht, var(--bkvt-qt-lhd, 1.65));
214 letter-spacing: var(--bkvt-qt-lst, var(--bkvt-qt-lsd, normal));
215 word-spacing: var(--bkvt-qt-wst, var(--bkvt-qt-wsd, normal));
216 }
217 .bkbg-vt-author {
218 font-size: var(--bkvt-au-fst1, var(--bkvt-au-fsd, 14px));
219 line-height: var(--bkvt-au-lht, var(--bkvt-au-lhd, 1.3));
220 letter-spacing: var(--bkvt-au-lst, var(--bkvt-au-lsd, normal));
221 word-spacing: var(--bkvt-au-wst, var(--bkvt-au-wsd, normal));
222 }
223 .bkbg-vt-role {
224 font-size: var(--bkvt-rl-fst1, var(--bkvt-rl-fsd, 12px));
225 line-height: var(--bkvt-rl-lht, var(--bkvt-rl-lhd, 1.4));
226 letter-spacing: var(--bkvt-rl-lst, var(--bkvt-rl-lsd, normal));
227 word-spacing: var(--bkvt-rl-wst, var(--bkvt-rl-wsd, normal));
228 }
229 }
230 @media (max-width: 767px) {
231 .bkbg-vt-quote {
232 font-size: var(--bkvt-qt-fsm, var(--bkvt-qt-fst1, var(--bkvt-qt-fsd, 14px)));
233 line-height: var(--bkvt-qt-lhm, var(--bkvt-qt-lht, var(--bkvt-qt-lhd, 1.65)));
234 letter-spacing: var(--bkvt-qt-lsm, var(--bkvt-qt-lst, var(--bkvt-qt-lsd, normal)));
235 word-spacing: var(--bkvt-qt-wsm, var(--bkvt-qt-wst, var(--bkvt-qt-wsd, normal)));
236 }
237 .bkbg-vt-author {
238 font-size: var(--bkvt-au-fsm, var(--bkvt-au-fst1, var(--bkvt-au-fsd, 14px)));
239 line-height: var(--bkvt-au-lhm, var(--bkvt-au-lht, var(--bkvt-au-lhd, 1.3)));
240 letter-spacing: var(--bkvt-au-lsm, var(--bkvt-au-lst, var(--bkvt-au-lsd, normal)));
241 word-spacing: var(--bkvt-au-wsm, var(--bkvt-au-wst, var(--bkvt-au-wsd, normal)));
242 }
243 .bkbg-vt-role {
244 font-size: var(--bkvt-rl-fsm, var(--bkvt-rl-fst1, var(--bkvt-rl-fsd, 12px)));
245 line-height: var(--bkvt-rl-lhm, var(--bkvt-rl-lht, var(--bkvt-rl-lhd, 1.4)));
246 letter-spacing: var(--bkvt-rl-lsm, var(--bkvt-rl-lst, var(--bkvt-rl-lsd, normal)));
247 word-spacing: var(--bkvt-rl-wsm, var(--bkvt-rl-wst, var(--bkvt-rl-wsd, normal)));
248 }
249 }
250
251 /* ── Responsive layout ──────────────────────────────────────────────────────── */
252 @media (max-width: 900px) {
253 .bkbg-vt-grid:not(.bkbg-vt-masonry) {
254 grid-template-columns: repeat(2, 1fr);
255 }
256
257 .bkbg-vt-grid.bkbg-vt-featured {
258 grid-template-columns: 1fr;
259 }
260
261 .bkbg-vt-grid.bkbg-vt-featured .bkbg-vt-card:first-child {
262 grid-row: span 1;
263 }
264
265 .bkbg-vt-grid.bkbg-vt-masonry {
266 columns: 2;
267 }
268 }
269
270 @media (max-width: 540px) {
271 .bkbg-vt-grid:not(.bkbg-vt-masonry) {
272 grid-template-columns: 1fr;
273 }
274
275 .bkbg-vt-grid.bkbg-vt-masonry {
276 columns: 1;
277 }
278 }
279