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 / card-carousel / style.css

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

327 lines 9.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ── Card Carousel ── */
2 .bkbg-cc-wrap {
3 position: relative;
4 width: 100%;
5 box-sizing: border-box;
6 }
7
8 /* Viewport clips the sliding track */
9 .bkbg-cc-viewport {
10 overflow: hidden;
11 position: relative;
12 width: 100%;
13 }
14
15 /* Sliding track */
16 .bkbg-cc-track {
17 display: flex;
18 transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
19 will-change: transform;
20 cursor: grab;
21 user-select: none;
22 -webkit-user-select: none;
23 }
24
25 .bkbg-cc-track.is-dragging {
26 cursor: grabbing;
27 transition: none;
28 }
29
30 /* Individual card */
31 .bkbg-cc-card {
32 flex: 0 0 auto;
33 box-sizing: border-box;
34 display: flex;
35 flex-direction: column;
36 overflow: hidden;
37 position: relative;
38 transition: transform 0.2s, box-shadow 0.2s;
39 }
40
41 .bkbg-cc-card:hover {
42 transform: translateY(-3px);
43 }
44
45 /* Shadow variants */
46 .bkbg-cc-card.shadow-none { box-shadow: none; }
47 .bkbg-cc-card.shadow-sm { box-shadow: 0 1px 6px rgba(0,0,0,0.08); }
48 .bkbg-cc-card.shadow-md { box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
49 .bkbg-cc-card.shadow-lg { box-shadow: 0 8px 32px rgba(0,0,0,0.16); }
50 .bkbg-cc-card.shadow-sm:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.14); }
51 .bkbg-cc-card.shadow-md:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.16); }
52 .bkbg-cc-card.shadow-lg:hover { box-shadow: 0 12px 40px rgba(0,0,0,0.20); }
53
54 /* Horizontal layout */
55 .bkbg-cc-card.layout-horizontal {
56 flex-direction: row;
57 }
58 .bkbg-cc-card.layout-horizontal .bkbg-cc-img-wrap {
59 flex-shrink: 0;
60 width: 40%;
61 }
62
63 /* Overlay layout */
64 .bkbg-cc-card.layout-overlay {
65 overflow: hidden;
66 }
67 .bkbg-cc-card.layout-overlay .bkbg-cc-img-wrap img {
68 position: absolute !important;
69 inset: 0;
70 width: 100%;
71 height: 100%;
72 object-fit: cover;
73 }
74 .bkbg-cc-card.layout-overlay .bkbg-cc-body {
75 position: relative;
76 z-index: 1;
77 background: linear-gradient(180deg, transparent 10%, rgba(0,0,0,0.75) 100%);
78 margin-top: auto;
79 }
80
81 /* Image wrapper */
82 .bkbg-cc-img-wrap {
83 position: relative;
84 overflow: hidden;
85 }
86 .bkbg-cc-img-wrap img {
87 width: 100%;
88 height: 100%;
89 object-fit: cover;
90 display: block;
91 transition: transform 0.4s;
92 }
93 .bkbg-cc-card:hover .bkbg-cc-img-wrap img {
94 transform: scale(1.04);
95 }
96 .bkbg-cc-card.layout-overlay .bkbg-cc-img-wrap {
97 position: absolute;
98 inset: 0;
99 }
100
101 /* Aspect ratio shim (intrinsic ratio via padding-top on child) */
102 .bkbg-cc-img-ratio {
103 position: relative;
104 overflow: hidden;
105 }
106 .bkbg-cc-img-ratio img {
107 position: absolute;
108 inset: 0;
109 width: 100%;
110 height: 100%;
111 object-fit: cover;
112 }
113
114 /* No image placeholder */
115 .bkbg-cc-img-placeholder {
116 background: #f3f4f6;
117 display: flex;
118 align-items: center;
119 justify-content: center;
120 color: #d1d5db;
121 font-size: 28px;
122 }
123
124 /* Card body */
125 .bkbg-cc-body {
126 padding: 20px;
127 display: flex;
128 flex-direction: column;
129 gap: 8px;
130 flex: 1;
131 }
132
133 /* Badge */
134 .bkbg-cc-badge {
135 display: inline-block;
136 font-size: 11px;
137 font-weight: 700;
138 letter-spacing: 0.05em;
139 text-transform: uppercase;
140 padding: 3px 10px;
141 border-radius: 999px;
142 align-self: flex-start;
143 }
144
145 /* Eyebrow */
146 .bkbg-cc-eyebrow {
147 font-size: 11px;
148 font-weight: 700;
149 letter-spacing: 0.06em;
150 text-transform: uppercase;
151 line-height: 1.3;
152 }
153
154 /* Heading */
155 .bkbg-cc-heading {
156 margin: 0;
157 line-height: 1.3;
158 font-weight: 700;
159 }
160
161 /* Description */
162 .bkbg-cc-desc {
163 margin: 0;
164 line-height: 1.65;
165 flex-grow: 1;
166 }
167
168 /* Link — arrow style */
169 .bkbg-cc-link {
170 display: inline-flex;
171 align-items: center;
172 gap: 4px;
173 font-weight: 600;
174 text-decoration: none;
175 margin-top: 4px;
176 transition: gap 0.2s;
177 }
178 .bkbg-cc-link:hover { gap: 8px; }
179 .bkbg-cc-link.style-underline { text-decoration: underline; }
180 .bkbg-cc-link.style-button {
181 padding: 8px 18px;
182 border-radius: 6px;
183 align-self: flex-start;
184 font-size: 13px;
185 transition: opacity 0.2s;
186 }
187 .bkbg-cc-link.style-button:hover { opacity: 0.85; }
188
189 /* Arrows */
190 .bkbg-cc-arrows {
191 display: flex;
192 justify-content: space-between;
193 position: absolute;
194 top: 50%;
195 left: 0;
196 right: 0;
197 transform: translateY(-50%);
198 pointer-events: none;
199 padding: 0 8px;
200 z-index: 10;
201 }
202 .bkbg-cc-arrow {
203 width: 40px;
204 height: 40px;
205 border-radius: 50%;
206 border: 1px solid rgba(0,0,0,0.1);
207 display: flex;
208 align-items: center;
209 justify-content: center;
210 cursor: pointer;
211 pointer-events: all;
212 font-size: 18px;
213 line-height: 1;
214 transition: transform 0.15s, box-shadow 0.15s;
215 box-shadow: 0 2px 8px rgba(0,0,0,0.1);
216 flex-shrink: 0;
217 }
218 .bkbg-cc-arrow:hover {
219 transform: scale(1.08);
220 box-shadow: 0 4px 16px rgba(0,0,0,0.15);
221 }
222 .bkbg-cc-arrow:disabled,
223 .bkbg-cc-arrow.is-disabled {
224 opacity: 0.35;
225 cursor: not-allowed;
226 transform: none;
227 }
228
229 /* Dots */
230 .bkbg-cc-dots {
231 display: flex;
232 justify-content: center;
233 align-items: center;
234 gap: 6px;
235 margin-top: 16px;
236 flex-wrap: wrap;
237 }
238 .bkbg-cc-dot {
239 width: 8px;
240 height: 8px;
241 border-radius: 999px;
242 border: none;
243 padding: 0;
244 cursor: pointer;
245 transition: width 0.3s, background 0.3s;
246 }
247 .bkbg-cc-dot.is-active {
248 width: 20px;
249 }
250
251 /* ── Typography system ──
252 Use .bkbg-cc-card container for specificity (0,2,0)
253 to beat editor theme heading styles like .editor-styles-wrapper h3 (0,1,1) */
254 .bkbg-cc-card .bkbg-cc-heading {
255 font-family: var(--bkbg-cc-h-font-family, inherit);
256 font-size: var(--bkbg-cc-h-font-size-d, 18px);
257 font-weight: var(--bkbg-cc-h-font-weight, 700);
258 line-height: var(--bkbg-cc-h-line-height-d, 1.3);
259 text-transform: var(--bkbg-cc-h-text-transform, none);
260 font-style: var(--bkbg-cc-h-font-style, normal);
261 text-decoration: var(--bkbg-cc-h-text-decoration, none);
262 letter-spacing: var(--bkbg-cc-h-letter-spacing-d, normal);
263 word-spacing: var(--bkbg-cc-h-word-spacing-d, normal);
264 }
265 .bkbg-cc-card .bkbg-cc-desc {
266 font-family: var(--bkbg-cc-d-font-family, inherit);
267 font-size: var(--bkbg-cc-d-font-size-d, 14px);
268 font-weight: var(--bkbg-cc-d-font-weight, inherit);
269 line-height: var(--bkbg-cc-d-line-height-d, 1.65);
270 text-transform: var(--bkbg-cc-d-text-transform, none);
271 font-style: var(--bkbg-cc-d-font-style, normal);
272 text-decoration: var(--bkbg-cc-d-text-decoration, none);
273 letter-spacing: var(--bkbg-cc-d-letter-spacing-d, normal);
274 word-spacing: var(--bkbg-cc-d-word-spacing-d, normal);
275 }
276 .bkbg-cc-card .bkbg-cc-eyebrow {
277 font-family: var(--bkbg-cc-e-font-family, inherit);
278 font-size: var(--bkbg-cc-e-font-size-d, 11px);
279 font-weight: var(--bkbg-cc-e-font-weight, 700);
280 line-height: var(--bkbg-cc-e-line-height-d, 1.3);
281 text-transform: var(--bkbg-cc-e-text-transform, uppercase);
282 font-style: var(--bkbg-cc-e-font-style, normal);
283 text-decoration: var(--bkbg-cc-e-text-decoration, none);
284 letter-spacing: var(--bkbg-cc-e-letter-spacing-d, 0.06em);
285 word-spacing: var(--bkbg-cc-e-word-spacing-d, normal);
286 }
287 @media (max-width: 1024px) {
288 .bkbg-cc-card .bkbg-cc-heading {
289 font-size: var(--bkbg-cc-h-font-size-t, var(--bkbg-cc-h-font-size-d, 18px));
290 line-height: var(--bkbg-cc-h-line-height-t, var(--bkbg-cc-h-line-height-d, 1.3));
291 letter-spacing: var(--bkbg-cc-h-letter-spacing-t, var(--bkbg-cc-h-letter-spacing-d, normal));
292 word-spacing: var(--bkbg-cc-h-word-spacing-t, var(--bkbg-cc-h-word-spacing-d, normal));
293 }
294 .bkbg-cc-card .bkbg-cc-desc {
295 font-size: var(--bkbg-cc-d-font-size-t, var(--bkbg-cc-d-font-size-d, 14px));
296 line-height: var(--bkbg-cc-d-line-height-t, var(--bkbg-cc-d-line-height-d, 1.65));
297 letter-spacing: var(--bkbg-cc-d-letter-spacing-t, var(--bkbg-cc-d-letter-spacing-d, normal));
298 word-spacing: var(--bkbg-cc-d-word-spacing-t, var(--bkbg-cc-d-word-spacing-d, normal));
299 }
300 .bkbg-cc-card .bkbg-cc-eyebrow {
301 font-size: var(--bkbg-cc-e-font-size-t, var(--bkbg-cc-e-font-size-d, 11px));
302 line-height: var(--bkbg-cc-e-line-height-t, var(--bkbg-cc-e-line-height-d, 1.3));
303 letter-spacing: var(--bkbg-cc-e-letter-spacing-t, var(--bkbg-cc-e-letter-spacing-d, 0.06em));
304 word-spacing: var(--bkbg-cc-e-word-spacing-t, var(--bkbg-cc-e-word-spacing-d, normal));
305 }
306 }
307 @media (max-width: 767px) {
308 .bkbg-cc-card .bkbg-cc-heading {
309 font-size: var(--bkbg-cc-h-font-size-m, var(--bkbg-cc-h-font-size-t, var(--bkbg-cc-h-font-size-d, 18px)));
310 line-height: var(--bkbg-cc-h-line-height-m, var(--bkbg-cc-h-line-height-t, var(--bkbg-cc-h-line-height-d, 1.3)));
311 letter-spacing: var(--bkbg-cc-h-letter-spacing-m, var(--bkbg-cc-h-letter-spacing-t, var(--bkbg-cc-h-letter-spacing-d, normal)));
312 word-spacing: var(--bkbg-cc-h-word-spacing-m, var(--bkbg-cc-h-word-spacing-t, var(--bkbg-cc-h-word-spacing-d, normal)));
313 }
314 .bkbg-cc-card .bkbg-cc-desc {
315 font-size: var(--bkbg-cc-d-font-size-m, var(--bkbg-cc-d-font-size-t, var(--bkbg-cc-d-font-size-d, 14px)));
316 line-height: var(--bkbg-cc-d-line-height-m, var(--bkbg-cc-d-line-height-t, var(--bkbg-cc-d-line-height-d, 1.65)));
317 letter-spacing: var(--bkbg-cc-d-letter-spacing-m, var(--bkbg-cc-d-letter-spacing-t, var(--bkbg-cc-d-letter-spacing-d, normal)));
318 word-spacing: var(--bkbg-cc-d-word-spacing-m, var(--bkbg-cc-d-word-spacing-t, var(--bkbg-cc-d-word-spacing-d, normal)));
319 }
320 .bkbg-cc-card .bkbg-cc-eyebrow {
321 font-size: var(--bkbg-cc-e-font-size-m, var(--bkbg-cc-e-font-size-t, var(--bkbg-cc-e-font-size-d, 11px)));
322 line-height: var(--bkbg-cc-e-line-height-m, var(--bkbg-cc-e-line-height-t, var(--bkbg-cc-e-line-height-d, 1.3)));
323 letter-spacing: var(--bkbg-cc-e-letter-spacing-m, var(--bkbg-cc-e-letter-spacing-t, var(--bkbg-cc-e-letter-spacing-d, 0.06em)));
324 word-spacing: var(--bkbg-cc-e-word-spacing-m, var(--bkbg-cc-e-word-spacing-t, var(--bkbg-cc-e-word-spacing-d, normal)));
325 }
326 }
327