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 / image-cards / style.css

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

185 lines 7.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ====================================================
2 Image Cards — bkbg-imgc-*
3 ==================================================== */
4 .bkbg-imgc-wrap {
5 box-sizing: border-box;
6 width: 100%;
7 padding-top: var(--bkbg-imgc-pt, 0px);
8 padding-bottom: var(--bkbg-imgc-pb, 0px);
9 }
10
11 /* Grid */
12 .bkbg-imgc-grid {
13 display: grid;
14 grid-template-columns: repeat(var(--bkbg-imgc-cols, 3), 1fr);
15 gap: var(--bkbg-imgc-gap, 28px);
16 }
17 .bkbg-imgc-equal-h { align-items: stretch; }
18 .bkbg-imgc-equal-h .bkbg-imgc-card { display: flex; flex-direction: column; }
19 .bkbg-imgc-equal-h .bkbg-imgc-body { flex: 1; display: flex; flex-direction: column; }
20 .bkbg-imgc-equal-h .bkbg-imgc-cta { margin-top: auto; }
21
22 /* Card base */
23 .bkbg-imgc-card {
24 border-radius: var(--bkbg-imgc-r, 16px);
25 background: var(--bkbg-imgc-card-bg, #ffffff);
26 overflow: hidden;
27 transition: transform .25s, box-shadow .25s;
28 }
29
30 /* Style variants */
31 .bkbg-imgc-card--shadow { box-shadow: 0 4px 20px rgba(0,0,0,.08); }
32 .bkbg-imgc-card--shadow:hover { box-shadow: 0 12px 40px rgba(0,0,0,.14); }
33 .bkbg-imgc-card--bordered { border: 1px solid var(--bkbg-imgc-brd, #e2e8f0); }
34 .bkbg-imgc-card--flat { border: 1px solid var(--bkbg-imgc-brd, #e2e8f0); box-shadow: none; }
35
36 /* Overlay style: image fills full card, text on dark gradient */
37 .bkbg-imgc-card--overlay { position: relative; min-height: 320px; }
38 .bkbg-imgc-card--overlay .bkbg-imgc-image-wrap {
39 position: absolute; inset: 0; border-radius: 0;
40 }
41 .bkbg-imgc-card--overlay .bkbg-imgc-img { height: 100%; object-fit: cover; }
42 .bkbg-imgc-card--overlay .bkbg-imgc-body {
43 position: relative; z-index: 1; margin-top: auto;
44 background: linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 100%);
45 padding: 32px 24px 24px;
46 }
47 .bkbg-imgc-card--overlay .bkbg-imgc-title { color: #fff; }
48 .bkbg-imgc-card--overlay .bkbg-imgc-desc { color: rgba(255,255,255,.8); }
49 .bkbg-imgc-card--overlay .bkbg-imgc-tag { background: rgba(255,255,255,.18) !important; color: #fff !important; }
50
51 /* Hover effects */
52 .bkbg-imgc-hover--lift:hover { transform: translateY(-5px); }
53 .bkbg-imgc-hover--scale .bkbg-imgc-img { transition: transform .35s; }
54 .bkbg-imgc-hover--scale:hover .bkbg-imgc-img { transform: scale(1.04); }
55
56 /* Image */
57 .bkbg-imgc-image-wrap {
58 overflow: hidden;
59 border-radius: var(--bkbg-imgc-img-r, 12px) var(--bkbg-imgc-img-r, 12px) 0 0;
60 aspect-ratio: var(--bkbg-imgc-aspect, 16/9);
61 background: var(--bkbg-imgc-ph-bg, #f3f0ff);
62 display: flex;
63 align-items: center;
64 justify-content: center;
65 }
66 .bkbg-imgc-img {
67 width: 100%;
68 height: 100%;
69 object-fit: cover;
70 display: block;
71 }
72 .bkbg-imgc-img-placeholder {
73 display: flex;
74 align-items: center;
75 justify-content: center;
76 width: 100%;
77 height: 100%;
78 }
79 .bkbg-imgc-upload-btn.components-button { opacity: .8; }
80
81 /* Card body */
82 .bkbg-imgc-body {
83 padding: 20px 24px 24px;
84 }
85
86 /* Tag */
87 .bkbg-imgc-tag {
88 display: inline-block;
89 font-size: 11px;
90 font-weight: 700;
91 letter-spacing: .08em;
92 text-transform: uppercase;
93 padding: 3px 10px;
94 border-radius: 100px;
95 margin-bottom: 10px;
96 }
97
98 /* Title */
99 .bkbg-imgc-card .bkbg-imgc-title,
100 .bkbg-imgc-card h3.bkbg-imgc-title {
101 margin: 0 0 10px;
102 font-family: var(--bkbg-imgc-tt-font-family, inherit);
103 font-size: var(--bkbg-imgc-tt-font-size-d, var(--bkbg-imgc-title-sz, 19px));
104 font-weight: var(--bkbg-imgc-tt-font-weight, var(--bkbg-imgc-title-w, 700));
105 font-style: var(--bkbg-imgc-tt-font-style, normal);
106 text-decoration: var(--bkbg-imgc-tt-text-decoration, none);
107 text-transform: var(--bkbg-imgc-tt-text-transform, none);
108 line-height: var(--bkbg-imgc-tt-line-height-d, var(--bkbg-imgc-title-lh, 1.3));
109 letter-spacing: var(--bkbg-imgc-tt-letter-spacing-d, normal);
110 word-spacing: var(--bkbg-imgc-tt-word-spacing-d, normal);
111 color: var(--bkbg-imgc-title-c, #1e293b);
112 }
113
114 /* Description */
115 .bkbg-imgc-desc {
116 margin: 0 0 16px;
117 font-family: var(--bkbg-imgc-ds-font-family, inherit);
118 font-size: var(--bkbg-imgc-ds-font-size-d, var(--bkbg-imgc-desc-sz, 14px));
119 font-weight: var(--bkbg-imgc-ds-font-weight, var(--bkbg-imgc-desc-w, 400));
120 font-style: var(--bkbg-imgc-ds-font-style, normal);
121 text-decoration: var(--bkbg-imgc-ds-text-decoration, none);
122 text-transform: var(--bkbg-imgc-ds-text-transform, none);
123 line-height: var(--bkbg-imgc-ds-line-height-d, var(--bkbg-imgc-desc-lh, 1.65));
124 letter-spacing: var(--bkbg-imgc-ds-letter-spacing-d, normal);
125 word-spacing: var(--bkbg-imgc-ds-word-spacing-d, normal);
126 color: var(--bkbg-imgc-desc-c, #64748b);
127 }
128
129 /* CTA */
130 .bkbg-imgc-cta {
131 display: inline-flex;
132 align-items: center;
133 gap: 4px;
134 font-size: 14px;
135 font-weight: 600;
136 text-decoration: none;
137 transition: opacity .2s;
138 }
139 .bkbg-imgc-cta:hover { opacity: .75; }
140 .bkbg-imgc-arrow { transition: transform .2s; }
141 .bkbg-imgc-cta:hover .bkbg-imgc-arrow { transform: translateX(4px); }
142 .bkbg-imgc-cta--btn {
143 background: currentColor;
144 color: #fff;
145 padding: 8px 18px;
146 border-radius: 50px;
147 }
148 .bkbg-imgc-cta--btn { color: #fff !important; }
149
150 /* ---- Responsive typography ---- */
151 @media (max-width: 1024px) {
152 .bkbg-imgc-card .bkbg-imgc-title,
153 .bkbg-imgc-card h3.bkbg-imgc-title {
154 font-size: var(--bkbg-imgc-tt-font-size-t, var(--bkbg-imgc-tt-font-size-d, var(--bkbg-imgc-title-sz, 19px)));
155 line-height: var(--bkbg-imgc-tt-line-height-t, var(--bkbg-imgc-tt-line-height-d, var(--bkbg-imgc-title-lh, 1.3)));
156 letter-spacing: var(--bkbg-imgc-tt-letter-spacing-t, var(--bkbg-imgc-tt-letter-spacing-d, normal));
157 word-spacing: var(--bkbg-imgc-tt-word-spacing-t, var(--bkbg-imgc-tt-word-spacing-d, normal));
158 }
159 .bkbg-imgc-desc {
160 font-size: var(--bkbg-imgc-ds-font-size-t, var(--bkbg-imgc-ds-font-size-d, var(--bkbg-imgc-desc-sz, 14px)));
161 line-height: var(--bkbg-imgc-ds-line-height-t, var(--bkbg-imgc-ds-line-height-d, var(--bkbg-imgc-desc-lh, 1.65)));
162 letter-spacing: var(--bkbg-imgc-ds-letter-spacing-t, var(--bkbg-imgc-ds-letter-spacing-d, normal));
163 word-spacing: var(--bkbg-imgc-ds-word-spacing-t, var(--bkbg-imgc-ds-word-spacing-d, normal));
164 }
165 }
166 @media (max-width: 767px) {
167 .bkbg-imgc-card .bkbg-imgc-title,
168 .bkbg-imgc-card h3.bkbg-imgc-title {
169 font-size: var(--bkbg-imgc-tt-font-size-m, var(--bkbg-imgc-tt-font-size-t, var(--bkbg-imgc-tt-font-size-d, var(--bkbg-imgc-title-sz, 19px))));
170 line-height: var(--bkbg-imgc-tt-line-height-m, var(--bkbg-imgc-tt-line-height-t, var(--bkbg-imgc-tt-line-height-d, var(--bkbg-imgc-title-lh, 1.3))));
171 letter-spacing: var(--bkbg-imgc-tt-letter-spacing-m, var(--bkbg-imgc-tt-letter-spacing-t, var(--bkbg-imgc-tt-letter-spacing-d, normal)));
172 word-spacing: var(--bkbg-imgc-tt-word-spacing-m, var(--bkbg-imgc-tt-word-spacing-t, var(--bkbg-imgc-tt-word-spacing-d, normal)));
173 }
174 .bkbg-imgc-desc {
175 font-size: var(--bkbg-imgc-ds-font-size-m, var(--bkbg-imgc-ds-font-size-t, var(--bkbg-imgc-ds-font-size-d, var(--bkbg-imgc-desc-sz, 14px))));
176 line-height: var(--bkbg-imgc-ds-line-height-m, var(--bkbg-imgc-ds-line-height-t, var(--bkbg-imgc-ds-line-height-d, var(--bkbg-imgc-desc-lh, 1.65))));
177 letter-spacing: var(--bkbg-imgc-ds-letter-spacing-m, var(--bkbg-imgc-ds-letter-spacing-t, var(--bkbg-imgc-ds-letter-spacing-d, normal)));
178 word-spacing: var(--bkbg-imgc-ds-word-spacing-m, var(--bkbg-imgc-ds-word-spacing-t, var(--bkbg-imgc-ds-word-spacing-d, normal)));
179 }
180 }
181
182 /* Responsive */
183 @media (max-width: 960px) { .bkbg-imgc-grid { grid-template-columns: repeat(2, 1fr); } }
184 @media (max-width: 560px) { .bkbg-imgc-grid { grid-template-columns: 1fr; } }
185