PluginProbe ʕ •ᴥ•ʔ
FrontBlocks for Gutenberg/GeneratePress / 1.3.0
FrontBlocks for Gutenberg/GeneratePress v1.3.0
trunk 0.2.0 0.2.1 0.2.2 0.2.3 0.2.4 0.2.5 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.1.0 1.2.0 1.2.1 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 ci-artifacts
frontblocks / assets / admin / settings.css
frontblocks / assets / admin Last commit date
icons 7 months ago settings-src.css 8 months ago settings.css 7 months ago
settings.css
1302 lines
1 /**
2 * FrontBlocks Admin Settings Styles
3 *
4 * @package FrontBlocks
5 * @author Closemarketing
6 * @copyright 2025 Closemarketing
7 */
8
9 *, ::before, ::after {
10 --tw-border-spacing-x: 0;
11 --tw-border-spacing-y: 0;
12 --tw-translate-x: 0;
13 --tw-translate-y: 0;
14 --tw-rotate: 0;
15 --tw-skew-x: 0;
16 --tw-skew-y: 0;
17 --tw-scale-x: 1;
18 --tw-scale-y: 1;
19 --tw-pan-x: ;
20 --tw-pan-y: ;
21 --tw-pinch-zoom: ;
22 --tw-scroll-snap-strictness: proximity;
23 --tw-gradient-from-position: ;
24 --tw-gradient-via-position: ;
25 --tw-gradient-to-position: ;
26 --tw-ordinal: ;
27 --tw-slashed-zero: ;
28 --tw-numeric-figure: ;
29 --tw-numeric-spacing: ;
30 --tw-numeric-fraction: ;
31 --tw-ring-inset: ;
32 --tw-ring-offset-width: 0px;
33 --tw-ring-offset-color: #fff;
34 --tw-ring-color: rgb(59 130 246 / 0.5);
35 --tw-ring-offset-shadow: 0 0 #0000;
36 --tw-ring-shadow: 0 0 #0000;
37 --tw-shadow: 0 0 #0000;
38 --tw-shadow-colored: 0 0 #0000;
39 --tw-blur: ;
40 --tw-brightness: ;
41 --tw-contrast: ;
42 --tw-grayscale: ;
43 --tw-hue-rotate: ;
44 --tw-invert: ;
45 --tw-saturate: ;
46 --tw-sepia: ;
47 --tw-drop-shadow: ;
48 --tw-backdrop-blur: ;
49 --tw-backdrop-brightness: ;
50 --tw-backdrop-contrast: ;
51 --tw-backdrop-grayscale: ;
52 --tw-backdrop-hue-rotate: ;
53 --tw-backdrop-invert: ;
54 --tw-backdrop-opacity: ;
55 --tw-backdrop-saturate: ;
56 --tw-backdrop-sepia: ;
57 --tw-contain-size: ;
58 --tw-contain-layout: ;
59 --tw-contain-paint: ;
60 --tw-contain-style: ;
61 }
62
63 ::backdrop {
64 --tw-border-spacing-x: 0;
65 --tw-border-spacing-y: 0;
66 --tw-translate-x: 0;
67 --tw-translate-y: 0;
68 --tw-rotate: 0;
69 --tw-skew-x: 0;
70 --tw-skew-y: 0;
71 --tw-scale-x: 1;
72 --tw-scale-y: 1;
73 --tw-pan-x: ;
74 --tw-pan-y: ;
75 --tw-pinch-zoom: ;
76 --tw-scroll-snap-strictness: proximity;
77 --tw-gradient-from-position: ;
78 --tw-gradient-via-position: ;
79 --tw-gradient-to-position: ;
80 --tw-ordinal: ;
81 --tw-slashed-zero: ;
82 --tw-numeric-figure: ;
83 --tw-numeric-spacing: ;
84 --tw-numeric-fraction: ;
85 --tw-ring-inset: ;
86 --tw-ring-offset-width: 0px;
87 --tw-ring-offset-color: #fff;
88 --tw-ring-color: rgb(59 130 246 / 0.5);
89 --tw-ring-offset-shadow: 0 0 #0000;
90 --tw-ring-shadow: 0 0 #0000;
91 --tw-shadow: 0 0 #0000;
92 --tw-shadow-colored: 0 0 #0000;
93 --tw-blur: ;
94 --tw-brightness: ;
95 --tw-contrast: ;
96 --tw-grayscale: ;
97 --tw-hue-rotate: ;
98 --tw-invert: ;
99 --tw-saturate: ;
100 --tw-sepia: ;
101 --tw-drop-shadow: ;
102 --tw-backdrop-blur: ;
103 --tw-backdrop-brightness: ;
104 --tw-backdrop-contrast: ;
105 --tw-backdrop-grayscale: ;
106 --tw-backdrop-hue-rotate: ;
107 --tw-backdrop-invert: ;
108 --tw-backdrop-opacity: ;
109 --tw-backdrop-saturate: ;
110 --tw-backdrop-sepia: ;
111 --tw-contain-size: ;
112 --tw-contain-layout: ;
113 --tw-contain-paint: ;
114 --tw-contain-style: ;
115 }
116
117 /*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
118 */
119
120 /*
121 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
122 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
123 */
124
125 *,
126 ::before,
127 ::after {
128 box-sizing: border-box; /* 1 */
129 border-width: 0; /* 2 */
130 border-style: solid; /* 2 */
131 border-color: #e5e7eb; /* 2 */
132 }
133
134 ::before,
135 ::after {
136 --tw-content: '';
137 }
138
139 /*
140 1. Use a consistent sensible line-height in all browsers.
141 2. Prevent adjustments of font size after orientation changes in iOS.
142 3. Use a more readable tab size.
143 4. Use the user's configured `sans` font-family by default.
144 5. Use the user's configured `sans` font-feature-settings by default.
145 6. Use the user's configured `sans` font-variation-settings by default.
146 7. Disable tap highlights on iOS
147 */
148
149 html,
150 :host {
151 line-height: 1.5; /* 1 */
152 -webkit-text-size-adjust: 100%; /* 2 */
153 -moz-tab-size: 4; /* 3 */
154 -o-tab-size: 4;
155 tab-size: 4; /* 3 */
156 font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
157 font-feature-settings: normal; /* 5 */
158 font-variation-settings: normal; /* 6 */
159 -webkit-tap-highlight-color: transparent; /* 7 */
160 }
161
162 /*
163 1. Remove the margin in all browsers.
164 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
165 */
166
167 body {
168 margin: 0; /* 1 */
169 line-height: inherit; /* 2 */
170 }
171
172 /*
173 1. Add the correct height in Firefox.
174 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
175 3. Ensure horizontal rules are visible by default.
176 */
177
178 hr {
179 height: 0; /* 1 */
180 color: inherit; /* 2 */
181 border-top-width: 1px; /* 3 */
182 }
183
184 /*
185 Add the correct text decoration in Chrome, Edge, and Safari.
186 */
187
188 abbr:where([title]) {
189 -webkit-text-decoration: underline dotted;
190 text-decoration: underline dotted;
191 }
192
193 /*
194 Remove the default font size and weight for headings.
195 */
196
197 h1,
198 h2,
199 h3,
200 h4,
201 h5,
202 h6 {
203 font-size: inherit;
204 font-weight: inherit;
205 }
206
207 /*
208 Reset links to optimize for opt-in styling instead of opt-out.
209 */
210
211 a {
212 color: inherit;
213 text-decoration: inherit;
214 }
215
216 /*
217 Add the correct font weight in Edge and Safari.
218 */
219
220 b,
221 strong {
222 font-weight: bolder;
223 }
224
225 /*
226 1. Use the user's configured `mono` font-family by default.
227 2. Use the user's configured `mono` font-feature-settings by default.
228 3. Use the user's configured `mono` font-variation-settings by default.
229 4. Correct the odd `em` font sizing in all browsers.
230 */
231
232 code,
233 kbd,
234 samp,
235 pre {
236 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
237 font-feature-settings: normal; /* 2 */
238 font-variation-settings: normal; /* 3 */
239 font-size: 1em; /* 4 */
240 }
241
242 /*
243 Add the correct font size in all browsers.
244 */
245
246 small {
247 font-size: 80%;
248 }
249
250 /*
251 Prevent `sub` and `sup` elements from affecting the line height in all browsers.
252 */
253
254 sub,
255 sup {
256 font-size: 75%;
257 line-height: 0;
258 position: relative;
259 vertical-align: baseline;
260 }
261
262 sub {
263 bottom: -0.25em;
264 }
265
266 sup {
267 top: -0.5em;
268 }
269
270 /*
271 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
272 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
273 3. Remove gaps between table borders by default.
274 */
275
276 table {
277 text-indent: 0; /* 1 */
278 border-color: inherit; /* 2 */
279 border-collapse: collapse; /* 3 */
280 }
281
282 /*
283 1. Change the font styles in all browsers.
284 2. Remove the margin in Firefox and Safari.
285 3. Remove default padding in all browsers.
286 */
287
288 button,
289 input,
290 optgroup,
291 select,
292 textarea {
293 font-family: inherit; /* 1 */
294 font-feature-settings: inherit; /* 1 */
295 font-variation-settings: inherit; /* 1 */
296 font-size: 100%; /* 1 */
297 font-weight: inherit; /* 1 */
298 line-height: inherit; /* 1 */
299 letter-spacing: inherit; /* 1 */
300 color: inherit; /* 1 */
301 margin: 0; /* 2 */
302 padding: 0; /* 3 */
303 }
304
305 /*
306 Remove the inheritance of text transform in Edge and Firefox.
307 */
308
309 button,
310 select {
311 text-transform: none;
312 }
313
314 /*
315 1. Correct the inability to style clickable types in iOS and Safari.
316 2. Remove default button styles.
317 */
318
319 button,
320 input:where([type='button']),
321 input:where([type='reset']),
322 input:where([type='submit']) {
323 -webkit-appearance: button; /* 1 */
324 background-color: transparent; /* 2 */
325 background-image: none; /* 2 */
326 }
327
328 /*
329 Use the modern Firefox focus style for all focusable elements.
330 */
331
332 :-moz-focusring {
333 outline: auto;
334 }
335
336 /*
337 Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
338 */
339
340 :-moz-ui-invalid {
341 box-shadow: none;
342 }
343
344 /*
345 Add the correct vertical alignment in Chrome and Firefox.
346 */
347
348 progress {
349 vertical-align: baseline;
350 }
351
352 /*
353 Correct the cursor style of increment and decrement buttons in Safari.
354 */
355
356 ::-webkit-inner-spin-button,
357 ::-webkit-outer-spin-button {
358 height: auto;
359 }
360
361 /*
362 1. Correct the odd appearance in Chrome and Safari.
363 2. Correct the outline style in Safari.
364 */
365
366 [type='search'] {
367 -webkit-appearance: textfield; /* 1 */
368 outline-offset: -2px; /* 2 */
369 }
370
371 /*
372 Remove the inner padding in Chrome and Safari on macOS.
373 */
374
375 ::-webkit-search-decoration {
376 -webkit-appearance: none;
377 }
378
379 /*
380 1. Correct the inability to style clickable types in iOS and Safari.
381 2. Change font properties to `inherit` in Safari.
382 */
383
384 ::-webkit-file-upload-button {
385 -webkit-appearance: button; /* 1 */
386 font: inherit; /* 2 */
387 }
388
389 /*
390 Add the correct display in Chrome and Safari.
391 */
392
393 summary {
394 display: list-item;
395 }
396
397 /*
398 Removes the default spacing and border for appropriate elements.
399 */
400
401 blockquote,
402 dl,
403 dd,
404 h1,
405 h2,
406 h3,
407 h4,
408 h5,
409 h6,
410 hr,
411 figure,
412 p,
413 pre {
414 margin: 0;
415 }
416
417 fieldset {
418 margin: 0;
419 padding: 0;
420 }
421
422 legend {
423 padding: 0;
424 }
425
426 ol,
427 ul,
428 menu {
429 list-style: none;
430 margin: 0;
431 padding: 0;
432 }
433
434 /*
435 Reset default styling for dialogs.
436 */
437
438 dialog {
439 padding: 0;
440 }
441
442 /*
443 Prevent resizing textareas horizontally by default.
444 */
445
446 textarea {
447 resize: vertical;
448 }
449
450 /*
451 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
452 2. Set the default placeholder color to the user's configured gray 400 color.
453 */
454
455 input::-moz-placeholder, textarea::-moz-placeholder {
456 opacity: 1; /* 1 */
457 color: #9ca3af; /* 2 */
458 }
459
460 input::placeholder,
461 textarea::placeholder {
462 opacity: 1; /* 1 */
463 color: #9ca3af; /* 2 */
464 }
465
466 /*
467 Set the default cursor for buttons.
468 */
469
470 button,
471 [role="button"] {
472 cursor: pointer;
473 }
474
475 /*
476 Make sure disabled buttons don't get the pointer cursor.
477 */
478
479 :disabled {
480 cursor: default;
481 }
482
483 /*
484 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
485 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
486 This can trigger a poorly considered lint error in some tools but is included by design.
487 */
488
489 img,
490 svg,
491 video,
492 canvas,
493 audio,
494 iframe,
495 embed,
496 object {
497 display: block; /* 1 */
498 vertical-align: middle; /* 2 */
499 }
500
501 /*
502 Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
503 */
504
505 img,
506 video {
507 max-width: 100%;
508 height: auto;
509 }
510
511 /* Make elements with the HTML hidden attribute stay hidden by default */
512
513 [hidden]:where(:not([hidden="until-found"])) {
514 display: none;
515 }
516 .frbl-settings-wrapper .tw-mx-auto {
517 margin-left: auto;
518 margin-right: auto;
519 }
520 .frbl-settings-wrapper .tw--ml-1 {
521 margin-left: -0.25rem;
522 }
523 .frbl-settings-wrapper .tw-mb-2 {
524 margin-bottom: 0.5rem;
525 }
526 .frbl-settings-wrapper .tw-mb-4 {
527 margin-bottom: 1rem;
528 }
529 .frbl-settings-wrapper .tw-mb-8 {
530 margin-bottom: 2rem;
531 }
532 .frbl-settings-wrapper .tw-ml-2 {
533 margin-left: 0.5rem;
534 }
535 .frbl-settings-wrapper .tw-ml-3 {
536 margin-left: 0.75rem;
537 }
538 .frbl-settings-wrapper .tw-ml-auto {
539 margin-left: auto;
540 }
541 .frbl-settings-wrapper .tw-mr-2 {
542 margin-right: 0.5rem;
543 }
544 .frbl-settings-wrapper .tw-mt-1 {
545 margin-top: 0.25rem;
546 }
547 .frbl-settings-wrapper .tw-mt-2 {
548 margin-top: 0.5rem;
549 }
550 .frbl-settings-wrapper .tw-mt-8 {
551 margin-top: 2rem;
552 }
553 .frbl-settings-wrapper .tw-block {
554 display: block;
555 }
556 .frbl-settings-wrapper .tw-flex {
557 display: flex;
558 }
559 .frbl-settings-wrapper .tw-inline-flex {
560 display: inline-flex;
561 }
562 .frbl-settings-wrapper .tw-h-5 {
563 height: 1.25rem;
564 }
565 .frbl-settings-wrapper .tw-min-h-screen {
566 min-height: 100vh;
567 }
568 .frbl-settings-wrapper .tw-w-5 {
569 width: 1.25rem;
570 }
571 .frbl-settings-wrapper .tw-w-full {
572 width: 100%;
573 }
574 .frbl-settings-wrapper .tw-max-w-5xl {
575 max-width: 64rem;
576 }
577 .frbl-settings-wrapper .tw-flex-shrink-0 {
578 flex-shrink: 0;
579 }
580 .frbl-settings-wrapper .tw-flex-grow {
581 flex-grow: 1;
582 }
583 .frbl-settings-wrapper .tw-items-start {
584 align-items: flex-start;
585 }
586 .frbl-settings-wrapper .tw-items-center {
587 align-items: center;
588 }
589 .frbl-settings-wrapper .tw-justify-between {
590 justify-content: space-between;
591 }
592 .frbl-settings-wrapper .tw-gap-2 {
593 gap: 0.5rem;
594 }
595 .frbl-settings-wrapper .tw-gap-3 {
596 gap: 0.75rem;
597 }
598 .frbl-settings-wrapper :is(.tw-space-x-2 > :not([hidden]) ~ :not([hidden])) {
599 --tw-space-x-reverse: 0;
600 margin-right: calc(0.5rem * var(--tw-space-x-reverse));
601 margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
602 }
603 .frbl-settings-wrapper :is(.tw-space-y-4 > :not([hidden]) ~ :not([hidden])) {
604 --tw-space-y-reverse: 0;
605 margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
606 margin-bottom: calc(1rem * var(--tw-space-y-reverse));
607 }
608 .frbl-settings-wrapper :is(.tw-space-y-6 > :not([hidden]) ~ :not([hidden])) {
609 --tw-space-y-reverse: 0;
610 margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
611 margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
612 }
613 .frbl-settings-wrapper .tw-overflow-hidden {
614 overflow: hidden;
615 }
616 .frbl-settings-wrapper .tw-rounded {
617 border-radius: 0.25rem;
618 }
619 .frbl-settings-wrapper .tw-rounded-full {
620 border-radius: 9999px;
621 }
622 .frbl-settings-wrapper .tw-rounded-lg {
623 border-radius: 0.5rem;
624 }
625 .frbl-settings-wrapper .tw-border {
626 border-width: 1px;
627 }
628 .frbl-settings-wrapper .tw-border-b {
629 border-bottom-width: 1px;
630 }
631 .frbl-settings-wrapper .tw-border-l-4 {
632 border-left-width: 4px;
633 }
634 .frbl-settings-wrapper .tw-border-t {
635 border-top-width: 1px;
636 }
637 .frbl-settings-wrapper .tw-border-blue-400 {
638 --tw-border-opacity: 1;
639 border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
640 }
641 .frbl-settings-wrapper .tw-border-gray-200 {
642 --tw-border-opacity: 1;
643 border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
644 }
645 .frbl-settings-wrapper .tw-border-gray-300 {
646 --tw-border-opacity: 1;
647 border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
648 }
649 .frbl-settings-wrapper .tw-border-green-300 {
650 --tw-border-opacity: 1;
651 border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
652 }
653 .frbl-settings-wrapper .tw-border-red-200 {
654 --tw-border-opacity: 1;
655 border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
656 }
657 .frbl-settings-wrapper .tw-border-red-300 {
658 --tw-border-opacity: 1;
659 border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
660 }
661 .frbl-settings-wrapper .tw-border-transparent {
662 border-color: transparent;
663 }
664 .frbl-settings-wrapper .tw-border-yellow-300 {
665 --tw-border-opacity: 1;
666 border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
667 }
668 .frbl-settings-wrapper .tw-border-yellow-400 {
669 --tw-border-opacity: 1;
670 border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
671 }
672 .frbl-settings-wrapper .tw-bg-blue-50 {
673 --tw-bg-opacity: 1;
674 background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
675 }
676 .frbl-settings-wrapper .tw-bg-gray-50 {
677 --tw-bg-opacity: 1;
678 background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
679 }
680 .frbl-settings-wrapper .tw-bg-green-100 {
681 --tw-bg-opacity: 1;
682 background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
683 }
684 .frbl-settings-wrapper .tw-bg-primary-100 {
685 --tw-bg-opacity: 1;
686 background-color: rgb(228 230 253 / var(--tw-bg-opacity, 1));
687 }
688 .frbl-settings-wrapper .tw-bg-primary-500 {
689 --tw-bg-opacity: 1;
690 background-color: rgb(104 125 249 / var(--tw-bg-opacity, 1));
691 }
692 .frbl-settings-wrapper .tw-bg-red-100 {
693 --tw-bg-opacity: 1;
694 background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
695 }
696 .frbl-settings-wrapper .tw-bg-red-50 {
697 --tw-bg-opacity: 1;
698 background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
699 }
700 .frbl-settings-wrapper .tw-bg-white {
701 --tw-bg-opacity: 1;
702 background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
703 }
704 .frbl-settings-wrapper .tw-bg-yellow-100 {
705 --tw-bg-opacity: 1;
706 background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
707 }
708 .frbl-settings-wrapper .tw-bg-yellow-50 {
709 --tw-bg-opacity: 1;
710 background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
711 }
712 .frbl-settings-wrapper .tw-bg-gradient-to-r {
713 background-image: linear-gradient(to right, var(--tw-gradient-stops));
714 }
715 .frbl-settings-wrapper .tw-from-gray-50 {
716 --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
717 --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
718 --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
719 }
720 .frbl-settings-wrapper .tw-to-white {
721 --tw-gradient-to: #fff var(--tw-gradient-to-position);
722 }
723 .frbl-settings-wrapper .tw-p-3 {
724 padding: 0.75rem;
725 }
726 .frbl-settings-wrapper .tw-p-4 {
727 padding: 1rem;
728 }
729 .frbl-settings-wrapper .tw-px-3 {
730 padding-left: 0.75rem;
731 padding-right: 0.75rem;
732 }
733 .frbl-settings-wrapper .tw-px-4 {
734 padding-left: 1rem;
735 padding-right: 1rem;
736 }
737 .frbl-settings-wrapper .tw-px-6 {
738 padding-left: 1.5rem;
739 padding-right: 1.5rem;
740 }
741 .frbl-settings-wrapper .tw-py-1 {
742 padding-top: 0.25rem;
743 padding-bottom: 0.25rem;
744 }
745 .frbl-settings-wrapper .tw-py-3 {
746 padding-top: 0.75rem;
747 padding-bottom: 0.75rem;
748 }
749 .frbl-settings-wrapper .tw-py-5 {
750 padding-top: 1.25rem;
751 padding-bottom: 1.25rem;
752 }
753 .frbl-settings-wrapper .tw-py-8 {
754 padding-top: 2rem;
755 padding-bottom: 2rem;
756 }
757 .frbl-settings-wrapper .tw-pr-4 {
758 padding-right: 1rem;
759 }
760 .frbl-settings-wrapper .tw-pt-6 {
761 padding-top: 1.5rem;
762 }
763 .frbl-settings-wrapper .tw-text-center {
764 text-align: center;
765 }
766 .frbl-settings-wrapper .tw-text-3xl {
767 font-size: 1.875rem;
768 line-height: 2.25rem;
769 }
770 .frbl-settings-wrapper .tw-text-base {
771 font-size: 1rem;
772 line-height: 1.5rem;
773 }
774 .frbl-settings-wrapper .tw-text-sm {
775 font-size: 0.875rem;
776 line-height: 1.25rem;
777 }
778 .frbl-settings-wrapper .tw-text-xl {
779 font-size: 1.25rem;
780 line-height: 1.75rem;
781 }
782 .frbl-settings-wrapper .tw-text-xs {
783 font-size: 0.75rem;
784 line-height: 1rem;
785 }
786 .frbl-settings-wrapper .tw-font-bold {
787 font-weight: 700;
788 }
789 .frbl-settings-wrapper .tw-font-medium {
790 font-weight: 500;
791 }
792 .frbl-settings-wrapper .tw-font-semibold {
793 font-weight: 600;
794 }
795 .frbl-settings-wrapper .tw-text-blue-400 {
796 --tw-text-opacity: 1;
797 color: rgb(96 165 250 / var(--tw-text-opacity, 1));
798 }
799 .frbl-settings-wrapper .tw-text-blue-700 {
800 --tw-text-opacity: 1;
801 color: rgb(29 78 216 / var(--tw-text-opacity, 1));
802 }
803 .frbl-settings-wrapper .tw-text-gray-500 {
804 --tw-text-opacity: 1;
805 color: rgb(107 114 128 / var(--tw-text-opacity, 1));
806 }
807 .frbl-settings-wrapper .tw-text-gray-600 {
808 --tw-text-opacity: 1;
809 color: rgb(75 85 99 / var(--tw-text-opacity, 1));
810 }
811 .frbl-settings-wrapper .tw-text-gray-900 {
812 --tw-text-opacity: 1;
813 color: rgb(17 24 39 / var(--tw-text-opacity, 1));
814 }
815 .frbl-settings-wrapper .tw-text-green-800 {
816 --tw-text-opacity: 1;
817 color: rgb(22 101 52 / var(--tw-text-opacity, 1));
818 }
819 .frbl-settings-wrapper .tw-text-primary-500 {
820 --tw-text-opacity: 1;
821 color: rgb(104 125 249 / var(--tw-text-opacity, 1));
822 }
823 .frbl-settings-wrapper .tw-text-primary-700 {
824 --tw-text-opacity: 1;
825 color: rgb(70 81 217 / var(--tw-text-opacity, 1));
826 }
827 .frbl-settings-wrapper .tw-text-red-700 {
828 --tw-text-opacity: 1;
829 color: rgb(185 28 28 / var(--tw-text-opacity, 1));
830 }
831 .frbl-settings-wrapper .tw-text-red-800 {
832 --tw-text-opacity: 1;
833 color: rgb(153 27 27 / var(--tw-text-opacity, 1));
834 }
835 .frbl-settings-wrapper .tw-text-white {
836 --tw-text-opacity: 1;
837 color: rgb(255 255 255 / var(--tw-text-opacity, 1));
838 }
839 .frbl-settings-wrapper .tw-text-yellow-400 {
840 --tw-text-opacity: 1;
841 color: rgb(250 204 21 / var(--tw-text-opacity, 1));
842 }
843 .frbl-settings-wrapper .tw-text-yellow-700 {
844 --tw-text-opacity: 1;
845 color: rgb(161 98 7 / var(--tw-text-opacity, 1));
846 }
847 .frbl-settings-wrapper .tw-text-yellow-800 {
848 --tw-text-opacity: 1;
849 color: rgb(133 77 14 / var(--tw-text-opacity, 1));
850 }
851 .frbl-settings-wrapper .tw-underline {
852 text-decoration-line: underline;
853 }
854 .frbl-settings-wrapper .tw-no-underline {
855 text-decoration-line: none;
856 }
857 .frbl-settings-wrapper .tw-opacity-50 {
858 opacity: 0.5;
859 }
860 .frbl-settings-wrapper .tw-shadow-sm {
861 --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
862 --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
863 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
864 }
865 .frbl-settings-wrapper .tw-transition-colors {
866 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
867 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
868 transition-duration: 150ms;
869 }
870 .frbl-settings-wrapper .tw-duration-200 {
871 transition-duration: 200ms;
872 }
873
874 /* Custom WordPress Admin overrides */
875 .frbl-settings-wrapper {
876 margin-left: -20px;
877 margin-top: -10px;
878 padding-top: 40px;
879 }
880
881 .frbl-settings-wrapper * {
882 box-sizing: border-box;
883 }
884
885 /* Custom toggle switch component */
886 .frbl-toggle {
887 position: relative;
888 display: inline-flex;
889 height: 1.75rem;
890 width: 3.25rem;
891 flex-shrink: 0;
892 cursor: pointer;
893 border-radius: 9999px;
894 border: 2px solid transparent;
895 transition-property: color, background-color, border-color;
896 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
897 transition-duration: 200ms;
898 background-color: #d1d5db;
899 }
900
901 .frbl-toggle:hover {
902 background-color: #9ca3af;
903 }
904
905 .frbl-toggle:focus-within {
906 outline: 2px solid transparent;
907 outline-offset: 2px;
908 box-shadow: 0 0 0 3px rgba(104, 125, 249, 0.3);
909 }
910
911 .frbl-toggle input {
912 position: absolute;
913 width: 1px;
914 height: 1px;
915 padding: 0;
916 margin: -1px;
917 overflow: hidden;
918 clip: rect(0, 0, 0, 0);
919 white-space: nowrap;
920 border-width: 0;
921 }
922
923 /* Toggle background when checked */
924 .frbl-toggle:has(input:checked) {
925 background-color: #687df9;
926 }
927
928 .frbl-toggle:has(input:checked):hover {
929 background-color: #5565ed;
930 }
931
932 /* Toggle dot/knob - always white */
933 .frbl-toggle span {
934 pointer-events: none;
935 display: inline-block;
936 height: 1.25rem;
937 width: 1.25rem;
938 border-radius: 9999px;
939 background-color: #ffffff;
940 box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
941 transform: translateX(0.125rem);
942 transition-property: transform;
943 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
944 transition-duration: 200ms;
945 position: relative;
946 top: 0.125rem;
947 }
948
949 /* Move the knob when checked - keep it white */
950 .frbl-toggle input:checked + span {
951 transform: translateX(1.5rem);
952 background-color: #ffffff;
953 }
954
955 /* Disabled state */
956 .frbl-toggle:has(input:disabled) {
957 opacity: 0.5;
958 cursor: not-allowed;
959 }
960
961 .frbl-toggle:has(input:disabled):hover {
962 background-color: #d1d5db;
963 }
964
965 /* Custom checkbox styling */
966 .frbl-checkbox {
967 height: 1.25rem;
968 width: 1.25rem;
969 border-radius: 0.25rem;
970 border-color: #d1d5db;
971 color: #687df9;
972 transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
973 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
974 transition-duration: 150ms;
975 cursor: pointer;
976 }
977
978 .frbl-checkbox:focus {
979 outline: 2px solid transparent;
980 outline-offset: 2px;
981 box-shadow: 0 0 0 3px rgba(104, 125, 249, 0.3);
982 }
983
984 /* Success message styling */
985 .frbl-notice-success {
986 border-radius: 0.5rem;
987 background-color: #f0fdf4;
988 border-left-width: 4px;
989 border-color: #4ade80;
990 padding: 1rem;
991 margin-bottom: 1.5rem;
992 }
993
994 .frbl-notice-success p {
995 font-size: 0.875rem;
996 line-height: 1.25rem;
997 color: #15803d;
998 }
999
1000 /* Info badge */
1001 .frbl-info-badge {
1002 display: inline-flex;
1003 align-items: center;
1004 padding: 0.125rem 0.625rem;
1005 border-radius: 9999px;
1006 font-size: 0.75rem;
1007 line-height: 1rem;
1008 font-weight: 500;
1009 background-color: #f3f4f6;
1010 color: #1f2937;
1011 }
1012
1013 /* Card hover effect */
1014 .frbl-card:hover {
1015 box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
1016 transition-property: box-shadow;
1017 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1018 transition-duration: 200ms;
1019 }
1020
1021 /* Smooth animations */
1022 @keyframes slideIn {
1023 from {
1024 opacity: 0;
1025 transform: translateY(10px);
1026 }
1027 to {
1028 opacity: 1;
1029 transform: translateY(0);
1030 }
1031 }
1032
1033 .frbl-animate-slide-in {
1034 animation: slideIn 0.3s ease-out;
1035 }
1036
1037 /* Responsive adjustments */
1038 @media (max-width: 640px) {
1039 .frbl-settings-wrapper {
1040 margin-left: 0;
1041 }
1042
1043 .frbl-settings-wrapper .tw-flex.tw-items-center.tw-justify-between {
1044 flex-direction: column;
1045 align-items: flex-start;
1046 }
1047
1048 .frbl-settings-wrapper .tw-flex.tw-items-center.tw-justify-between > :not([hidden]) ~ :not([hidden]) {
1049 --tw-space-y-reverse: 0;
1050 margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
1051 margin-bottom: calc(1rem * var(--tw-space-y-reverse));
1052 }
1053 }
1054 .frbl-settings-wrapper .hover\:tw-bg-primary-200:hover {
1055 --tw-bg-opacity: 1;
1056 background-color: rgb(205 208 251 / var(--tw-bg-opacity, 1));
1057 }
1058 .frbl-settings-wrapper .hover\:tw-bg-primary-600:hover {
1059 --tw-bg-opacity: 1;
1060 background-color: rgb(85 101 237 / var(--tw-bg-opacity, 1));
1061 }
1062 .frbl-settings-wrapper .hover\:tw-text-primary-600:hover {
1063 --tw-text-opacity: 1;
1064 color: rgb(85 101 237 / var(--tw-text-opacity, 1));
1065 }
1066 .frbl-settings-wrapper .hover\:tw-no-underline:hover {
1067 text-decoration-line: none;
1068 }
1069 .frbl-settings-wrapper .focus\:tw-border-transparent:focus {
1070 border-color: transparent;
1071 }
1072 .frbl-settings-wrapper .focus\:tw-outline-none:focus {
1073 outline: 2px solid transparent;
1074 outline-offset: 2px;
1075 }
1076 .frbl-settings-wrapper .focus\:tw-ring-2:focus {
1077 --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1078 --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
1079 box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
1080 }
1081 .frbl-settings-wrapper .focus\:tw-ring-primary-500:focus {
1082 --tw-ring-opacity: 1;
1083 --tw-ring-color: rgb(104 125 249 / var(--tw-ring-opacity, 1));
1084 }
1085 .frbl-settings-wrapper .focus\:tw-ring-offset-2:focus {
1086 --tw-ring-offset-width: 2px;
1087 }
1088 @media (min-width: 640px) {
1089
1090 .frbl-settings-wrapper .sm\:tw-px-6 {
1091 padding-left: 1.5rem;
1092 padding-right: 1.5rem;
1093 }
1094 }
1095 @media (min-width: 1024px) {
1096
1097 .frbl-settings-wrapper .lg\:tw-px-8 {
1098 padding-left: 2rem;
1099 padding-right: 2rem;
1100 }
1101 }
1102
1103 /* Custom styles for license fields */
1104 .frbl-settings-wrapper .tw-text-base:not(button) {
1105 font-size: 1rem;
1106 line-height: 1.5rem;
1107 width: 100%;
1108 }
1109
1110 .frbl-settings-wrapper .tw-flex {
1111 display: flex;
1112 column-gap: 20px;
1113 }
1114
1115 /* Submit button width */
1116 .frbl-settings-wrapper .tw-w-1\/2 {
1117 width: 50%;
1118 }
1119
1120 /* Features Grid Layout */
1121 .frbl-section-wrapper {
1122 margin-bottom: 3rem;
1123 }
1124
1125 .frbl-features-grid {
1126 display: grid;
1127 grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
1128 gap: 1.25rem;
1129 }
1130
1131 /* Feature Card Styles */
1132 .frbl-feature-card {
1133 position: relative;
1134 background: #ffffff;
1135 border: 1px solid #e5e7eb;
1136 border-radius: 12px;
1137 padding: 1.5rem;
1138 transition: all 0.2s ease;
1139 overflow: hidden;
1140 display: flex;
1141 align-items: center;
1142 min-height: 80px;
1143 }
1144
1145 .frbl-feature-card:hover {
1146 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
1147 transform: translateY(-2px);
1148 border-color: #687df9;
1149 }
1150
1151 /* PRO Badge */
1152 .frbl-pro-badge {
1153 position: absolute;
1154 top: 0;
1155 left: 0;
1156 background: linear-gradient(135deg, #ec4899 0%, #f97316 100%);
1157 color: #ffffff;
1158 font-size: 0.625rem;
1159 font-weight: 700;
1160 letter-spacing: 0.05em;
1161 padding: 0.25rem 0.75rem;
1162 border-radius: 0 0 12px 0;
1163 box-shadow: 0 2px 4px rgba(236, 72, 153, 0.3);
1164 z-index: 10;
1165 }
1166
1167 /* Feature Card Content */
1168 .frbl-feature-content {
1169 display: flex;
1170 align-items: center;
1171 justify-content: space-between;
1172 gap: 1rem;
1173 min-height: 3rem;
1174 }
1175
1176 /* Feature Icon */
1177 .frbl-feature-icon {
1178 flex-shrink: 0;
1179 width: 2.5rem;
1180 height: 2.5rem;
1181 display: flex;
1182 align-items: center;
1183 justify-content: center;
1184 background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
1185 border-radius: 10px;
1186 color: #687df9;
1187 transition: all 0.2s ease;
1188 }
1189
1190 .frbl-feature-card:hover .frbl-feature-icon {
1191 background: linear-gradient(135deg, #e0e3fc 0%, #d0d4fb 100%);
1192 transform: scale(1.05);
1193 }
1194
1195 .frbl-feature-icon svg {
1196 width: 1.5rem;
1197 height: 1.5rem;
1198 stroke-width: 2;
1199 }
1200
1201 /* Feature Info */
1202 .frbl-feature-info {
1203 flex: 1;
1204 min-width: 0;
1205 display: flex;
1206 align-items: center;
1207 }
1208
1209 .frbl-feature-title {
1210 font-size: 0.9375rem;
1211 font-weight: 600;
1212 color: #1f2937;
1213 margin: 0;
1214 line-height: 1.5;
1215 }
1216
1217 .frbl-feature-description {
1218 font-size: 0.8125rem;
1219 color: #6b7280;
1220 margin: 0.25rem 0 0 0;
1221 line-height: 1.4;
1222 }
1223
1224 /* Active Feature Cards */
1225 .frbl-feature-card.frbl-feature-active {
1226 background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%);
1227 border-color: #d1fae5;
1228 }
1229
1230 .frbl-feature-card.frbl-feature-active:hover {
1231 border-color: #10b981;
1232 }
1233
1234 .frbl-feature-card.frbl-feature-active .frbl-feature-icon {
1235 background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
1236 color: #10b981;
1237 }
1238
1239 .frbl-feature-card.frbl-feature-active:hover .frbl-feature-icon {
1240 background: linear-gradient(135deg, #a7f3d0 0%, #6ee7b7 100%);
1241 }
1242
1243 /* Active cards need vertical layout for description */
1244 .frbl-feature-card.frbl-feature-active .frbl-feature-info {
1245 flex-direction: column;
1246 align-items: flex-start;
1247 }
1248
1249 /* Active cards don't have toggle, so don't use space-between */
1250 .frbl-feature-card.frbl-feature-active .frbl-feature-content {
1251 justify-content: flex-start;
1252 }
1253
1254 /* Feature Toggle */
1255 .frbl-feature-toggle {
1256 flex-shrink: 0;
1257 display: flex;
1258 align-items: center;
1259 }
1260
1261 /* PRO Card Styles */
1262 .frbl-feature-card.frbl-feature-pro {
1263 background: linear-gradient(135deg, #ffffff 0%, #fef3f2 100%);
1264 border-color: #fee2e2;
1265 }
1266
1267 .frbl-feature-card.frbl-feature-pro:hover {
1268 border-color: #ec4899;
1269 }
1270
1271 .frbl-feature-card.frbl-feature-pro .frbl-feature-icon {
1272 background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
1273 color: #ec4899;
1274 }
1275
1276 .frbl-feature-card.frbl-feature-pro:hover .frbl-feature-icon {
1277 background: linear-gradient(135deg, #fecaca 0%, #fca5a5 100%);
1278 }
1279
1280 /* Disabled state for PRO features without license */
1281 .frbl-feature-card.frbl-feature-pro .frbl-toggle:has(input:disabled) {
1282 opacity: 0.6;
1283 }
1284
1285 /* Responsive adjustments */
1286 @media (max-width: 768px) {
1287 .frbl-features-grid {
1288 grid-template-columns: 1fr;
1289 }
1290
1291 .frbl-feature-card {
1292 padding: 1.25rem;
1293 }
1294 }
1295
1296 @media (min-width: 768px) and (max-width: 1024px) {
1297 .frbl-features-grid {
1298 grid-template-columns: repeat(2, 1fr);
1299 }
1300 }
1301
1302