PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.11
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.11
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 / modal / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.11, at blocks/modal/style.css

291 lines 10.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* =============================================
2 Modal Window Block — blockenberg/modal
3 ============================================= */
4
5 .bkbg-modal-block {
6 --bkbg-modal-bg: #ffffff;
7 --bkbg-modal-radius: 12px;
8 --bkbg-modal-padding: 32px;
9 --bkbg-modal-title-size: 22px;
10 --bkbg-modal-title-weight: 700;
11 --bkbg-modal-title-color: #111827;
12 --bkbg-modal-content-size: 15px;
13 --bkbg-modal-content-color: #374151;
14 --bkbg-modal-content-lh: 1.7;
15 --bkbg-modal-close-color: #6b7280;
16 --bkbg-modal-close-hover: #111827;
17 --bkbg-modal-overlay-bg: rgba(0,0,0,0.6);
18 --bkbg-modal-btn-bg: #2563eb;
19 --bkbg-modal-btn-color: #ffffff;
20 --bkbg-modal-btn-radius: 8px;
21 }
22
23 /* ---- Trigger wrap ---- */
24 .bkbg-modal-trigger-wrap {
25 display: block;
26 }
27
28 /* ---- Trigger button - primary ---- */
29 .bkbg-modal-trigger.bkbg-modal-btn-primary {
30 display: inline-flex;
31 align-items: center;
32 gap: 8px;
33 background: var(--bkbg-modal-btn-bg);
34 color: var(--bkbg-modal-btn-color);
35 border: 2px solid var(--bkbg-modal-btn-bg);
36 border-radius: var(--bkbg-modal-btn-radius);
37 cursor: pointer;
38 font-weight: 600;
39 transition: opacity 0.2s ease, transform 0.15s ease;
40 text-decoration: none;
41 line-height: 1.3;
42 }
43
44 .bkbg-modal-trigger.bkbg-modal-btn-primary:hover {
45 opacity: 0.88;
46 transform: translateY(-1px);
47 }
48
49 /* ---- Outline ---- */
50 .bkbg-modal-trigger.bkbg-modal-btn-outline {
51 display: inline-flex;
52 align-items: center;
53 gap: 8px;
54 background: transparent;
55 color: var(--bkbg-modal-btn-bg);
56 border: 2px solid var(--bkbg-modal-btn-bg);
57 border-radius: var(--bkbg-modal-btn-radius);
58 cursor: pointer;
59 font-weight: 600;
60 transition: background 0.2s ease, color 0.2s ease;
61 text-decoration: none;
62 }
63
64 .bkbg-modal-trigger.bkbg-modal-btn-outline:hover {
65 background: var(--bkbg-modal-btn-bg);
66 color: var(--bkbg-modal-btn-color);
67 }
68
69 /* ---- Ghost ---- */
70 .bkbg-modal-trigger.bkbg-modal-btn-ghost {
71 display: inline-flex;
72 align-items: center;
73 gap: 8px;
74 background: transparent;
75 color: var(--bkbg-modal-btn-bg);
76 border: none;
77 border-radius: var(--bkbg-modal-btn-radius);
78 cursor: pointer;
79 font-weight: 600;
80 transition: text-decoration 0.15s;
81 text-decoration: underline;
82 text-underline-offset: 3px;
83 padding: 0;
84 }
85
86 /* ---- Sizes ---- */
87 .bkbg-modal-trigger.bkbg-modal-btn-sm { padding: 8px 16px; font-size: 13px; }
88 .bkbg-modal-trigger.bkbg-modal-btn-md { padding: 12px 24px; font-size: 15px; }
89 .bkbg-modal-trigger.bkbg-modal-btn-lg { padding: 15px 32px; font-size: 17px; }
90
91 /* ---- Auto badge (editor only hint) ---- */
92 .bkbg-modal-auto-badge {
93 display: inline-block;
94 margin-left: 10px;
95 font-size: 11px;
96 color: #6b7280;
97 background: #f3f4f6;
98 border-radius: 4px;
99 padding: 2px 8px;
100 vertical-align: middle;
101 }
102
103 /* ---- Overlay ---- */
104 .bkbg-modal-overlay {
105 display: flex;
106 align-items: center;
107 justify-content: center;
108 position: fixed;
109 inset: 0;
110 background: var(--bkbg-modal-overlay-bg);
111 z-index: 99999;
112 opacity: 0;
113 visibility: hidden;
114 transition: opacity 0.3s ease, visibility 0.3s ease;
115 }
116
117 .bkbg-modal-overlay.is-open {
118 opacity: 1;
119 visibility: visible;
120 }
121
122 .bkbg-modal-overlay[data-overlay-blur="1"] {
123 backdrop-filter: blur(4px);
124 }
125
126 /* ---- Dialog ---- */
127 .bkbg-modal-dialog {
128 background: var(--bkbg-modal-bg);
129 border-radius: var(--bkbg-modal-radius);
130 width: 100%;
131 max-height: 90vh;
132 overflow-y: auto;
133 position: relative;
134 transform: scale(0.9);
135 opacity: 0;
136 transition: transform 0.3s ease, opacity 0.3s ease;
137 }
138
139 .bkbg-modal-overlay.is-open .bkbg-modal-dialog {
140 transform: scale(1);
141 opacity: 1;
142 }
143
144 /* Sizes */
145 .bkbg-modal-overlay[data-size="sm"] .bkbg-modal-dialog { max-width: 480px; }
146 .bkbg-modal-overlay[data-size="md"] .bkbg-modal-dialog { max-width: 640px; }
147 .bkbg-modal-overlay[data-size="lg"] .bkbg-modal-dialog { max-width: 800px; }
148 .bkbg-modal-overlay[data-size="xl"] .bkbg-modal-dialog { max-width: 1100px; }
149 .bkbg-modal-overlay[data-size="full"] .bkbg-modal-dialog {
150 max-width: 100%;
151 width: 100%;
152 height: 100%;
153 max-height: 100vh;
154 border-radius: 0;
155 margin: 0;
156 }
157
158 /* Animations */
159 .bkbg-modal-overlay[data-animation="slide-up"] .bkbg-modal-dialog { transform: translateY(40px); opacity: 0; }
160 .bkbg-modal-overlay[data-animation="slide-up"].is-open .bkbg-modal-dialog { transform: translateY(0); opacity: 1; }
161 .bkbg-modal-overlay[data-animation="slide-down"] .bkbg-modal-dialog { transform: translateY(-40px); opacity: 0; }
162 .bkbg-modal-overlay[data-animation="slide-down"].is-open .bkbg-modal-dialog { transform: translateY(0); opacity: 1; }
163 .bkbg-modal-overlay[data-animation="fade"] .bkbg-modal-dialog { transform: none; opacity: 0; }
164 .bkbg-modal-overlay[data-animation="fade"].is-open .bkbg-modal-dialog { opacity: 1; }
165 .bkbg-modal-overlay[data-animation="none"] .bkbg-modal-dialog { transform: none; transition: none; }
166
167 /* ---- Header ---- */
168 .bkbg-modal-header {
169 display: flex;
170 align-items: center;
171 justify-content: space-between;
172 padding: var(--bkbg-modal-padding) var(--bkbg-modal-padding) calc(var(--bkbg-modal-padding) * 0.5);
173 border-bottom: 1px solid #f3f4f6;
174 }
175
176 .bkbg-modal-header h2.bkbg-modal-title {
177 margin: 0;
178 font-family: var(--bkbg-modal-tt-font-family, inherit);
179 font-size: var(--bkbg-modal-tt-font-size-d, var(--bkbg-modal-title-size, 22px));
180 font-weight: var(--bkbg-modal-tt-font-weight, var(--bkbg-modal-title-weight, 700));
181 font-style: var(--bkbg-modal-tt-font-style, normal);
182 line-height: var(--bkbg-modal-tt-line-height-d, var(--bkbg-modal-tt-line-height, var(--bkbg-modal-title-lh, 1.3)));
183 letter-spacing: var(--bkbg-modal-tt-letter-spacing-d, var(--bkbg-modal-tt-letter-spacing, normal));
184 text-decoration: var(--bkbg-modal-tt-text-decoration, none);
185 text-transform: var(--bkbg-modal-tt-text-transform, none);
186 color: var(--bkbg-modal-title-color);
187 }
188
189 /* ---- Close button ---- */
190 .bkbg-modal-close {
191 background: none;
192 border: none;
193 cursor: pointer;
194 color: var(--bkbg-modal-close-color);
195 font-size: 20px;
196 line-height: 1;
197 padding: 4px 8px;
198 border-radius: 4px;
199 transition: color 0.15s, background 0.15s;
200 flex-shrink: 0;
201 margin-left: 16px;
202 }
203
204 .bkbg-modal-close:hover {
205 color: var(--bkbg-modal-close-hover);
206 background: #f3f4f6;
207 }
208
209 /* ---- Content ---- */
210 .bkbg-modal-content {
211 padding: var(--bkbg-modal-padding);
212 }
213
214 .bkbg-modal-body {
215 font-family: var(--bkbg-modal-bd-font-family, inherit);
216 font-size: var(--bkbg-modal-bd-font-size-d, var(--bkbg-modal-content-size, 15px));
217 font-weight: var(--bkbg-modal-bd-font-weight, normal);
218 font-style: var(--bkbg-modal-bd-font-style, normal);
219 line-height: var(--bkbg-modal-bd-line-height-d, var(--bkbg-modal-bd-line-height, var(--bkbg-modal-content-lh, 1.7)));
220 letter-spacing: var(--bkbg-modal-bd-letter-spacing-d, var(--bkbg-modal-bd-letter-spacing, normal));
221 text-decoration: var(--bkbg-modal-bd-text-decoration, none);
222 text-transform: var(--bkbg-modal-bd-text-transform, none);
223 color: var(--bkbg-modal-content-color);
224 }
225
226 .bkbg-modal-body > *:last-child { margin-bottom: 0; }
227
228 /* Padding adjustment when no header */
229 .bkbg-modal-dialog:not(:has(.bkbg-modal-header)) .bkbg-modal-content {
230 padding-top: calc(var(--bkbg-modal-padding) + 8px);
231 }
232
233 /* =============================================
234 Editor-specific
235 ============================================= */
236 .bkbg-modal-editor-preview {
237 position: relative;
238 margin-top: 16px;
239 background: rgba(0,0,0,0.45);
240 border-radius: 8px;
241 padding: 24px;
242 display: flex;
243 align-items: flex-start;
244 justify-content: center;
245 }
246
247 .bkbg-modal-editor-preview .bkbg-modal-dialog {
248 position: static;
249 transform: none;
250 opacity: 1;
251 max-width: 560px;
252 width: 100%;
253 box-shadow: 0 8px 40px rgba(0,0,0,0.25);
254 }
255
256 .bkbg-modal-editor-preview .bkbg-modal-header .components-text-control__input {
257 border: none !important;
258 box-shadow: none !important;
259 padding: 0 !important;
260 background: transparent !important;
261 font-size: inherit !important;
262 font-weight: inherit !important;
263 color: inherit !important;
264 }
265
266 /* ---- Responsive typography ---- */
267 @media (max-width: 1024px) {
268 .bkbg-modal-header h2.bkbg-modal-title {
269 font-size: var(--bkbg-modal-tt-font-size-t, var(--bkbg-modal-tt-font-size-d, var(--bkbg-modal-title-size, 22px)));
270 line-height: var(--bkbg-modal-tt-line-height-t, var(--bkbg-modal-tt-line-height-d, var(--bkbg-modal-tt-line-height, var(--bkbg-modal-title-lh, 1.3))));
271 letter-spacing: var(--bkbg-modal-tt-letter-spacing-t, var(--bkbg-modal-tt-letter-spacing-d, var(--bkbg-modal-tt-letter-spacing, normal)));
272 }
273 .bkbg-modal-body {
274 font-size: var(--bkbg-modal-bd-font-size-t, var(--bkbg-modal-bd-font-size-d, var(--bkbg-modal-content-size, 15px)));
275 line-height: var(--bkbg-modal-bd-line-height-t, var(--bkbg-modal-bd-line-height-d, var(--bkbg-modal-bd-line-height, var(--bkbg-modal-content-lh, 1.7))));
276 letter-spacing: var(--bkbg-modal-bd-letter-spacing-t, var(--bkbg-modal-bd-letter-spacing-d, var(--bkbg-modal-bd-letter-spacing, normal)));
277 }
278 }
279 @media (max-width: 767px) {
280 .bkbg-modal-header h2.bkbg-modal-title {
281 font-size: var(--bkbg-modal-tt-font-size-m, var(--bkbg-modal-tt-font-size-t, var(--bkbg-modal-tt-font-size-d, var(--bkbg-modal-title-size, 20px))));
282 line-height: var(--bkbg-modal-tt-line-height-m, var(--bkbg-modal-tt-line-height-t, var(--bkbg-modal-tt-line-height-d, var(--bkbg-modal-tt-line-height, var(--bkbg-modal-title-lh, 1.3)))));
283 letter-spacing: var(--bkbg-modal-tt-letter-spacing-m, var(--bkbg-modal-tt-letter-spacing-t, var(--bkbg-modal-tt-letter-spacing-d, var(--bkbg-modal-tt-letter-spacing, normal))));
284 }
285 .bkbg-modal-body {
286 font-size: var(--bkbg-modal-bd-font-size-m, var(--bkbg-modal-bd-font-size-t, var(--bkbg-modal-bd-font-size-d, var(--bkbg-modal-content-size, 14px))));
287 line-height: var(--bkbg-modal-bd-line-height-m, var(--bkbg-modal-bd-line-height-t, var(--bkbg-modal-bd-line-height-d, var(--bkbg-modal-bd-line-height, var(--bkbg-modal-content-lh, 1.7)))));
288 letter-spacing: var(--bkbg-modal-bd-letter-spacing-m, var(--bkbg-modal-bd-letter-spacing-t, var(--bkbg-modal-bd-letter-spacing-d, var(--bkbg-modal-bd-letter-spacing, normal))));
289 }
290 }
291