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-cta-grid / style.css

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

237 lines 9.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ============================================================
2 Card CTA Grid — style.css
3 Prefix: bkbg-ccg-
4 ============================================================ */
5
6 .bkbg-ccg-wrap {
7 box-sizing: border-box;
8 padding: var(--bkbg-ccg-pt, 0px) 0 var(--bkbg-ccg-pb, 0px);
9 background: var(--bkbg-ccg-sec-bg, transparent);
10 width: 100%;
11 }
12
13 /* ---- Grid layout ---- */
14 .bkbg-ccg-grid {
15 display: grid;
16 grid-template-columns: repeat(var(--bkbg-ccg-cols, 4), 1fr);
17 gap: var(--bkbg-ccg-gap, 20px);
18 }
19
20 /* ---- Flex / equal-height row layout ---- */
21 .bkbg-ccg-layout--flex .bkbg-ccg-grid {
22 display: flex;
23 flex-wrap: wrap;
24 }
25 .bkbg-ccg-layout--flex .bkbg-ccg-card {
26 flex: 1 1 calc(25% - var(--bkbg-ccg-gap, 20px));
27 min-width: 200px;
28 }
29
30 /* ---- Card base ---- */
31 .bkbg-ccg-card {
32 position: relative;
33 display: flex;
34 flex-direction: column;
35 gap: 12px;
36 padding: 28px 24px;
37 border-radius: var(--bkbg-ccg-r, 16px);
38 background: var(--bkbg-ccg-card-bg, #ffffff);
39 text-decoration: none;
40 color: inherit;
41 transition: transform .18s ease, box-shadow .18s ease;
42 cursor: pointer;
43 overflow: hidden;
44 }
45
46 /* Card hover (applied to all styles) */
47 .bkbg-ccg-card:hover {
48 transform: translateY(-4px);
49 }
50
51 /* Style: border */
52 .bkbg-ccg-style--border .bkbg-ccg-card {
53 border: 1px solid var(--bkbg-ccg-border-c, #e2e8f0);
54 box-shadow: none;
55 }
56 .bkbg-ccg-style--border .bkbg-ccg-card:hover {
57 border-color: var(--bkbg-ccg-accent, #6c3fb5);
58 box-shadow: 0 8px 32px rgba(0,0,0,.06);
59 }
60
61 /* Style: shadow */
62 .bkbg-ccg-style--shadow .bkbg-ccg-card {
63 border: none;
64 box-shadow: 0 2px 8px rgba(0,0,0,.07), 0 0 1px rgba(0,0,0,.04);
65 }
66 .bkbg-ccg-style--shadow .bkbg-ccg-card:hover {
67 box-shadow: 0 12px 40px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
68 }
69
70 /* Style: filled */
71 .bkbg-ccg-style--filled .bkbg-ccg-card {
72 background: var(--bkbg-ccg-accent, #6c3fb5);
73 border: none;
74 box-shadow: 0 4px 16px rgba(108,63,181,.25);
75 }
76 .bkbg-ccg-style--filled .bkbg-ccg-card .bkbg-ccg-title { color: #ffffff; }
77 .bkbg-ccg-style--filled .bkbg-ccg-card .bkbg-ccg-desc { color: rgba(255,255,255,.72); }
78 .bkbg-ccg-style--filled .bkbg-ccg-card .bkbg-ccg-cta { color: rgba(255,255,255,.9); }
79 .bkbg-ccg-style--filled .bkbg-ccg-card .bkbg-ccg-icon-wrap { background: rgba(255,255,255,.18); color: #fff; }
80 .bkbg-ccg-style--filled .bkbg-ccg-card:hover { box-shadow: 0 12px 40px rgba(108,63,181,.35); }
81
82 /* Style: flat */
83 .bkbg-ccg-style--flat .bkbg-ccg-card {
84 border: none;
85 box-shadow: none;
86 background: var(--bkbg-ccg-card-bg, #f8fafc);
87 }
88 .bkbg-ccg-style--flat .bkbg-ccg-card:hover {
89 background: #f1f5f9;
90 transform: translateY(-2px);
91 }
92
93 /* ---- Icon ---- */
94 .bkbg-ccg-icon-wrap {
95 display: flex;
96 align-items: center;
97 justify-content: center;
98 width: var(--bkbg-ccg-icon-sz, 36px);
99 height: var(--bkbg-ccg-icon-sz, 36px);
100 border-radius: 10px;
101 background: color-mix(in srgb, var(--bkbg-ccg-accent, #6c3fb5) 14%, transparent);
102 font-size: calc(var(--bkbg-ccg-icon-sz, 36px) * .55);
103 line-height: 1;
104 flex-shrink: 0;
105 transition: transform .18s;
106 }
107 .bkbg-ccg-card:hover .bkbg-ccg-icon-wrap { transform: scale(1.08); }
108
109 .bkbg-ccg-icon svg { width: 1em; height: 1em; fill: currentColor; }
110 .bkbg-ccg-icon .dashicons { font-size: inherit; width: 1em; height: 1em; line-height: 1; }
111 .bkbg-ccg-icon .bkbg-icon-img { width: 1em; height: 1em; object-fit: contain; }
112
113 /* ---- Text ---- */
114 .bkbg-ccg-body {
115 display: flex;
116 flex-direction: column;
117 gap: 6px;
118 flex: 1;
119 }
120
121 .bkbg-ccg-title {
122 margin: 0;
123 font-family: var(--bkbg-ccg-tt-font-family, inherit);
124 font-size: var(--bkbg-ccg-tt-font-size-d, 17px);
125 font-weight: var(--bkbg-ccg-tt-font-weight, 700);
126 line-height: var(--bkbg-ccg-tt-line-height-d, 1.3);
127 text-transform: var(--bkbg-ccg-tt-text-transform, none);
128 font-style: var(--bkbg-ccg-tt-font-style, normal);
129 text-decoration: var(--bkbg-ccg-tt-text-decoration, none);
130 letter-spacing: var(--bkbg-ccg-tt-letter-spacing-d, normal);
131 word-spacing: var(--bkbg-ccg-tt-word-spacing-d, normal);
132 color: var(--bkbg-ccg-title-c, #0f172a);
133 }
134
135 .bkbg-ccg-desc {
136 margin: 0;
137 font-family: var(--bkbg-ccg-td-font-family, inherit);
138 font-size: var(--bkbg-ccg-td-font-size-d, 14px);
139 font-weight: var(--bkbg-ccg-td-font-weight, inherit);
140 line-height: var(--bkbg-ccg-td-line-height-d, 1.6);
141 text-transform: var(--bkbg-ccg-td-text-transform, none);
142 font-style: var(--bkbg-ccg-td-font-style, normal);
143 text-decoration: var(--bkbg-ccg-td-text-decoration, none);
144 letter-spacing: var(--bkbg-ccg-td-letter-spacing-d, normal);
145 word-spacing: var(--bkbg-ccg-td-word-spacing-d, normal);
146 color: var(--bkbg-ccg-desc-c, #64748b);
147 }
148
149 /* ---- CTA arrow ---- */
150 .bkbg-ccg-cta {
151 display: inline-flex;
152 align-items: center;
153 gap: 5px;
154 margin-top: 8px;
155 font-family: var(--bkbg-ccg-tc-font-family, inherit);
156 font-size: var(--bkbg-ccg-tc-font-size-d, 14px);
157 font-weight: var(--bkbg-ccg-tc-font-weight, 600);
158 line-height: var(--bkbg-ccg-tc-line-height-d, 1.4);
159 text-transform: var(--bkbg-ccg-tc-text-transform, none);
160 font-style: var(--bkbg-ccg-tc-font-style, normal);
161 text-decoration: var(--bkbg-ccg-tc-text-decoration, none);
162 letter-spacing: var(--bkbg-ccg-tc-letter-spacing-d, normal);
163 word-spacing: var(--bkbg-ccg-tc-word-spacing-d, normal);
164 color: var(--bkbg-ccg-accent, #6c3fb5);
165 width: fit-content;
166 }
167 .bkbg-ccg-cta::after {
168 content: '';
169 transition: transform .18s;
170 }
171 .bkbg-ccg-card:hover .bkbg-ccg-cta::after { transform: translateX(4px); }
172
173 /* Accent top-bar accent line on hover (border style) */
174 .bkbg-ccg-style--border .bkbg-ccg-card::before {
175 content: '';
176 position: absolute;
177 top: 0; left: 0; right: 0;
178 height: 3px;
179 background: var(--bkbg-ccg-accent, #6c3fb5);
180 transform: scaleX(0);
181 transform-origin: left;
182 transition: transform .22s ease;
183 border-radius: var(--bkbg-ccg-r, 16px) var(--bkbg-ccg-r, 16px) 0 0;
184 }
185 .bkbg-ccg-style--border .bkbg-ccg-card:hover::before { transform: scaleX(1); }
186
187 /* ── Typography responsive ── */
188 @media (max-width: 1024px) {
189 .bkbg-ccg-title {
190 font-size: var(--bkbg-ccg-tt-font-size-t, var(--bkbg-ccg-tt-font-size-d, 17px));
191 line-height: var(--bkbg-ccg-tt-line-height-t, var(--bkbg-ccg-tt-line-height-d, 1.3));
192 letter-spacing: var(--bkbg-ccg-tt-letter-spacing-t, var(--bkbg-ccg-tt-letter-spacing-d, normal));
193 word-spacing: var(--bkbg-ccg-tt-word-spacing-t, var(--bkbg-ccg-tt-word-spacing-d, normal));
194 }
195 .bkbg-ccg-desc {
196 font-size: var(--bkbg-ccg-td-font-size-t, var(--bkbg-ccg-td-font-size-d, 14px));
197 line-height: var(--bkbg-ccg-td-line-height-t, var(--bkbg-ccg-td-line-height-d, 1.6));
198 letter-spacing: var(--bkbg-ccg-td-letter-spacing-t, var(--bkbg-ccg-td-letter-spacing-d, normal));
199 word-spacing: var(--bkbg-ccg-td-word-spacing-t, var(--bkbg-ccg-td-word-spacing-d, normal));
200 }
201 .bkbg-ccg-cta {
202 font-size: var(--bkbg-ccg-tc-font-size-t, var(--bkbg-ccg-tc-font-size-d, 14px));
203 line-height: var(--bkbg-ccg-tc-line-height-t, var(--bkbg-ccg-tc-line-height-d, 1.4));
204 letter-spacing: var(--bkbg-ccg-tc-letter-spacing-t, var(--bkbg-ccg-tc-letter-spacing-d, normal));
205 word-spacing: var(--bkbg-ccg-tc-word-spacing-t, var(--bkbg-ccg-tc-word-spacing-d, normal));
206 }
207 }
208 @media (max-width: 767px) {
209 .bkbg-ccg-title {
210 font-size: var(--bkbg-ccg-tt-font-size-m, var(--bkbg-ccg-tt-font-size-t, var(--bkbg-ccg-tt-font-size-d, 17px)));
211 line-height: var(--bkbg-ccg-tt-line-height-m, var(--bkbg-ccg-tt-line-height-t, var(--bkbg-ccg-tt-line-height-d, 1.3)));
212 letter-spacing: var(--bkbg-ccg-tt-letter-spacing-m, var(--bkbg-ccg-tt-letter-spacing-t, var(--bkbg-ccg-tt-letter-spacing-d, normal)));
213 word-spacing: var(--bkbg-ccg-tt-word-spacing-m, var(--bkbg-ccg-tt-word-spacing-t, var(--bkbg-ccg-tt-word-spacing-d, normal)));
214 }
215 .bkbg-ccg-desc {
216 font-size: var(--bkbg-ccg-td-font-size-m, var(--bkbg-ccg-td-font-size-t, var(--bkbg-ccg-td-font-size-d, 14px)));
217 line-height: var(--bkbg-ccg-td-line-height-m, var(--bkbg-ccg-td-line-height-t, var(--bkbg-ccg-td-line-height-d, 1.6)));
218 letter-spacing: var(--bkbg-ccg-td-letter-spacing-m, var(--bkbg-ccg-td-letter-spacing-t, var(--bkbg-ccg-td-letter-spacing-d, normal)));
219 word-spacing: var(--bkbg-ccg-td-word-spacing-m, var(--bkbg-ccg-td-word-spacing-t, var(--bkbg-ccg-td-word-spacing-d, normal)));
220 }
221 .bkbg-ccg-cta {
222 font-size: var(--bkbg-ccg-tc-font-size-m, var(--bkbg-ccg-tc-font-size-t, var(--bkbg-ccg-tc-font-size-d, 14px)));
223 line-height: var(--bkbg-ccg-tc-line-height-m, var(--bkbg-ccg-tc-line-height-t, var(--bkbg-ccg-tc-line-height-d, 1.4)));
224 letter-spacing: var(--bkbg-ccg-tc-letter-spacing-m, var(--bkbg-ccg-tc-letter-spacing-t, var(--bkbg-ccg-tc-letter-spacing-d, normal)));
225 word-spacing: var(--bkbg-ccg-tc-word-spacing-m, var(--bkbg-ccg-tc-word-spacing-t, var(--bkbg-ccg-tc-word-spacing-d, normal)));
226 }
227 }
228
229 /* ---- Responsive ---- */
230 @media (max-width: 900px) {
231 .bkbg-ccg-grid { grid-template-columns: repeat(2, 1fr); }
232 }
233 @media (max-width: 520px) {
234 .bkbg-ccg-grid { grid-template-columns: 1fr; }
235 .bkbg-ccg-card { padding: 22px 18px; }
236 }
237