PluginProbe
CookieAdmin – Cookie Consent Banner / 1.2.6
CookieAdmin – Cookie Consent Banner v1.2.6
1.2.6 1.2.5 1.2.4 1.2.3 1.2.2 1.2.1 1.2.0 1.1.9 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 All 26 releases
← All changes | assets/css/consent.css +444 -97 1.2.1 → 1.2.6 View file →
@@ -15,8 +15,26 @@
15 15 --cookieadmin-warning-color: #e9b306;
16 16 --cookieadmin-red-color: #dd2727;
17 17 }
18 18
19 +/* Typography baseline for the banner, modal and reconsent button. Everything inside
20 + inherits from these roots instead of the theme's body (font, fluid size, line-height,
21 + color, letter-spacing). Any explicit value here beats inheritance, whatever the theme's specificity. */
22 +.cookieadmin_law_container,
23 +.cookieadmin_cookie_modal,
24 +.cookieadmin_reconsent_wrap{
25 + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
26 + font-size: 16px;
27 + font-weight: 400;
28 + font-style: normal;
29 + line-height: 1.5;
30 + letter-spacing: normal;
31 + word-spacing: normal;
32 + text-transform: none;
33 + text-align: left;
34 + color: #1f2937;
35 +}
36 +
19 37 /* Consent page css */
20 38
21 39 .cookieadmin_cookie_modal label, .cookieadmin_cookie_modal input {
22 40 padding: 5px;
@@ -84,18 +102,25 @@
84 102 z-index: 99999;
85 103 display: none;
86 104 }
87 105
106 +.cookieadmin_law_container:focus{
107 + outline: none;
108 +}
109 +
88 110 .cookieadmin_consent_btns{
89 111 align-content: center;
90 112 display: flex;
91 113 justify-content: space-evenly;
92 114 flex-wrap: wrap;
115 + gap: 8px;
93 116 }
94 117
118 +/* Percentage widths below stay; the cap stops the box growing on very wide screens */
95 119 .cookieadmin_box{
96 120 /*position: fixed;*/
97 121 width: 25%;
122 + max-width: 440px;
98 123 box-sizing: border-box;
99 124 display: none;
100 125 }
101 126
@@ -107,28 +132,43 @@
107 132 }
108 133
109 134
110 135 .cookieadmin_consent_inside{
111 - color: black;
112 - background-color: #FFFFFF;
113 - border: 1px solid #f4f4f4;
136 + color: #1f2937;
137 + background-color: #ffffff;
138 + border: 1px solid #ffffff;
114 139 padding:15px;
115 140 border-radius: 4px;
116 141 box-shadow:1px 3px 10px rgba(0, 0, 0, 0.2);
117 142 }
118 143
119 -#cookieadmin_notice_title{
120 - font-weight: 601;
121 - margin: 0px;
122 - padding-left: 5px;
144 +/* Title and notice are <p>s: scoped by ID so theme paragraph sizes/margins don't apply.
145 + No side padding, so text lines up with the buttons and links. */
146 +.cookieadmin_law_container p#cookieadmin_notice_title{
147 + margin: 0 0 6px;
148 + padding: 0;
149 + font-size: 16px;
150 + font-weight: 700;
151 + line-height: 1.4;
123 152 }
124 153
154 +.cookieadmin_law_container p#cookieadmin_notice{
155 + margin: 0;
156 + padding: 0;
157 + font-size: 14px;
158 + line-height: 22px;
159 +}
160 +
125 161 .cookieadmin_notice_con{
126 - font-size: initial;
127 - padding: 0px 6px;
162 + padding: 0;
128 163 flex: 1;
129 164 }
130 165
166 +/* Box layout: space between the notice and the buttons (footer layout uses the group's gap) */
167 +.cookieadmin_consent_inside > .cookieadmin_consent_btns{
168 + margin-top: 12px;
169 +}
170 +
131 171 .cookieadmin_cookie_modal{
132 172 display: none;
133 173 flex-direction: column;
134 174 position: fixed;
@@ -165,8 +205,12 @@
165 205 bottom: 0px;
166 206 animation: 0.5s ease-out forwards cookieadmin_slideUp;
167 207 }
168 208
209 +.cookieadmin_cookie_modal:focus{
210 + outline: none;
211 +}
212 +
169 213 .cookieadmin_modal_overlay{
170 214 display: none;
171 215 position: fixed;
172 216 top: 0;
@@ -172,48 +216,102 @@
172 216 top: 0;
173 217 left: 0;
174 218 width: 100%;
175 219 height: 100%;
176 - background-color: rgba(0, 0, 0, 0.5);
220 + background-color: rgba(0, 0, 0, 0.4);
177 221 z-index: 1000;
178 222 }
179 223
224 +/* Centered, not baseline: the CSS-drawn close button has no text baseline */
180 225 .cookieadmin_mod_head{
181 226 display: flex;
182 227 justify-content: space-between;
228 + align-items: center;
229 + gap: 12px;
230 + padding: 14px 20px;
231 + border-bottom: 1px solid #CCCCCC;
183 232 }
184 233
185 -.cookieadmin_mod_head, .cookieadmin_wrapper{
186 - padding: 15px;
187 - border-bottom: 1px solid #CCCCCC;
234 +/* Close icon drawn in CSS, font-size 0 hides any glyph left in filtered templates.
235 + "all: unset" + (0,3,1) selector keeps theme button/hover styles out, same as the category buttons. */
236 +.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref{
237 + all: unset;
238 + display: inline-block;
239 + position: relative;
240 + flex-shrink: 0;
241 + width: 32px;
242 + height: 32px;
243 + border-radius: 4px;
244 + color: #6b7280;
245 + font-size: 0;
246 + cursor: pointer;
247 + transition: color .15s, background-color .15s;
188 248 }
189 249
190 -.cookieadmin_close_pref{
191 - background: none;
192 - border: none;
193 - align-self: baseline;
194 - color: gray;
195 - cursor: pointer;
196 - padding: 0px;
250 +.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref::before,
251 +.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref::after{
252 + content: "";
253 + position: absolute;
254 + top: 50%;
255 + left: 50%;
256 + width: 16px;
257 + height: 2px;
258 + background-color: currentColor;
259 + border-radius: 1px;
260 + transform: translate(-50%, -50%) rotate(45deg);
197 261 }
198 262
263 +.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref::after{
264 + transform: translate(-50%, -50%) rotate(-45deg);
265 +}
266 +
267 +.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref:hover{
268 + color: #111827;
269 + background-color: rgba(0, 0, 0, 0.06);
270 +}
271 +
272 +.cookieadmin_cookie_modal .cookieadmin_mod_head button.cookieadmin_close_pref:focus-visible{
273 + outline: 2px solid var(--cookieadmin-secondary-color);
274 + outline-offset: 2px;
275 +}
276 +
199 277 .cookieadmin_preference_title{
278 + margin: 0;
200 279 font-size: 20px;
201 - font-weight: 801;
202 - margin: 9px;
280 + font-weight: 700;
281 + line-height: 1.3;
203 282 }
204 283
284 +/* 5px + the wrapper's 15px lines the intro up with the title's 20px */
205 285 .cookieadmin_preference_details{
206 - padding: 0px 10px;
286 + padding: 0px 5px;
207 287 }
208 288
289 +/* break-word (not overflow:auto) so long URLs wrap instead of adding an inner scrollbar */
209 290 .cookieadmin_preference{
210 - overflow: auto;
211 - font-size: 15px;
212 - height: auto;
213 291 padding: 10px 0px;
292 + font-size: 14px;
293 + line-height: 28px;
294 + overflow-wrap: break-word;
214 295 }
215 296
297 +/* Admin-entered HTML: keep theme paragraph margins and link colors out */
298 +.cookieadmin_cookie_modal .cookieadmin_preference p{
299 + margin: 0 0 8px;
300 + padding: 0;
301 + font-size: inherit;
302 + line-height: inherit;
303 +}
304 +
305 +.cookieadmin_cookie_modal .cookieadmin_preference p:last-child{
306 + margin-bottom: 0;
307 +}
308 +
309 +.cookieadmin_cookie_modal .cookieadmin_preference a{
310 + color: inherit;
311 + text-decoration: underline;
312 +}
313 +
216 314 .cookieadmin_details_wrapper{
217 315 padding: 0px 15px;
218 316 height: calc(100% - 6%);
219 317 overflow: auto;
@@ -229,31 +327,45 @@
229 327 display: flex;
230 328 justify-content: space-between;
231 329 }
232 330
233 -.cookieadmin_header > span > label{
234 - cursor:pointer;
331 +
332 +/* Clickable header text, e.g. Pro's "Override GPC" label */
333 +.cookieadmin_header label[for]{
334 + cursor: pointer;
235 335 }
236 336
237 -.cookieadmin_remark{
337 +/* Header labels get explicit displays scoped to .cookieadmin_header so theme rules
338 + like "label { display: block }" can't push them onto their own line */
339 +.cookieadmin_header label.stitle{
340 + display: inline;
341 +}
342 +
343 +.cookieadmin_header .cookieadmin_remark{
238 344 display:none;
239 345 justify-self:right;
240 346 }
241 347
242 -.cookieadmin_act{
348 +.cookieadmin_header .cookieadmin_act{
243 349 display: inline;
244 350 color: #1863dc;
245 351 }
246 352
353 +/* Lines up with .cookieadmin_desc; the old 4rem right margin squeezed cards on phones */
247 354 .cookieadmin-modal-cookies-list{
248 355 display:none;
249 - padding:1px;
250 - border-radius: 10px;
251 - margin: 0px 20px;
252 - margin-right: 4rem;
253 - font-size: smaller;
254 - font-size: 1rem;
356 + margin: 8px 20px 4px;
357 + font-size: 14px;
358 + text-align: left;
359 +}
360 +
361 +.cookieadmin-modal-cookies-list .cookieadmin-nocookie-cat{
362 + display: block;
363 + padding: 4px 0;
364 + font-size: 13px;
365 + font-weight: 600;
255 366 text-align: center;
367 + opacity: 0.7;
256 368 }
257 369
258 370 .cookieadmin_desc{
259 371 padding:5px 20px;
@@ -267,104 +379,255 @@
267 379 flex-wrap: wrap;
268 380 width: 100%;
269 381 }
270 382
383 +/* Padding matches the header */
271 384 .cookieadmin_modal_footer{
272 - left: 0px;
273 - padding: 15px;
385 + display: flex;
386 + padding: 14px 20px;
274 387 flex-wrap: wrap;
388 + gap: 8px;
275 389 border-top: 1px solid #CCCCCC;
276 390 }
277 391
278 -button.cookieadmin_btn{
392 +/* GPC block and links take their own row above/below the buttons */
393 +.cookieadmin_modal_footer > :not(.cookieadmin_btn){
394 + flex-basis: 100%;
395 +}
396 +
397 +/* Side panel is narrow: stack everything. nowrap matters, a wrapping column
398 + overflows into extra columns beside the panel when height is limited. */
399 +.cookieadmin_side .cookieadmin_modal_footer{
400 + flex-direction: column;
401 + flex-wrap: nowrap;
402 +}
403 +
404 +.cookieadmin_cookie_modal.cookieadmin_side .cookieadmin_modal_footer > *{
405 + flex: none;
406 +}
407 +
408 +/* Scoped to the containers so common theme rules (e.g. ".elementor-kit-N button") don't win.
409 + Colors stay admin-controlled via the inline styles set in consent.js. */
410 +.cookieadmin_law_container button.cookieadmin_btn,
411 +.cookieadmin_cookie_modal button.cookieadmin_btn{
412 + display: inline-flex;
413 + align-items: center;
414 + justify-content: center;
415 + flex: 1 1 0;
416 + min-height: 40px;
417 + margin: 0;
418 + padding: 8px 16px;
279 419 background-color: transparent;
280 - border: 1px solid gray;
420 + background-image: none;
421 + border: 1px solid rgba(0, 0, 0, 0.2);
422 + border-radius: 4px;
423 + box-shadow: none;
281 424 color: #1863dc;
282 - padding: 0.4rem 0.9rem;
283 - border-radius: 4px;
284 - margin: 2px 5px;
425 + font-family: inherit;
426 + font-size: 14px;
427 + font-weight: 600;
428 + line-height: 1;
429 + letter-spacing: normal;
430 + text-align: center;
431 + text-decoration: none;
432 + text-shadow: none;
433 + text-transform: none;
434 + text-wrap: auto;
285 435 cursor: pointer;
286 - flex: auto;
287 - text-wrap: auto;
436 + transition: filter .15s;
288 437 }
289 438
290 -.cookieadmin_btn:hover{
291 - opacity: 0.8;
439 +/* Footer buttons size to their labels so "Save My Preferences" doesn't wrap;
440 + they still fill the row. The banner keeps equal widths. */
441 +.cookieadmin_modal_footer button.cookieadmin_btn{
442 + flex: 1 1 auto;
292 443 }
293 444
294 -.cookieadmin_show_pref_cookies{
445 +/* Banner box is narrow (25% of the screen at 1366px = ~338px): size buttons to their labels
446 + with tighter padding so "Accept All" stays on one line; they still fill the row. */
447 +.cookieadmin_consent_inside > .cookieadmin_consent_btns button.cookieadmin_btn{
448 + flex: 1 1 auto;
449 + padding-left: 12px;
450 + padding-right: 12px;
451 +}
452 +
453 +.cookieadmin_law_container button.cookieadmin_btn:hover,
454 +.cookieadmin_cookie_modal button.cookieadmin_btn:hover{
455 + filter: brightness(0.92);
456 +}
457 +
458 +.cookieadmin_law_container button.cookieadmin_btn:focus-visible,
459 +.cookieadmin_cookie_modal button.cookieadmin_btn:focus-visible{
460 + outline: 2px solid var(--cookieadmin-secondary-color);
461 + outline-offset: 2px;
462 +}
463 +
464 +/* Category name + chevron in one accordion button. "all: unset" drops theme button styles;
465 + the selector (0,3,1) outranks state rules like ".elementor-kit-N button:hover".
466 + Scoped to .cookieadmin_header: Pro reuses this class for a shortcode button. */
467 +.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies{
468 + all: unset;
469 + display: inline-flex;
470 + align-items: center;
471 + gap: 8px;
472 + padding: 5px 0;
473 + color: inherit;
474 + font: inherit;
475 + font-size: 15px;
476 + font-weight: 700;
477 + line-height: 1.4;
295 478 cursor: pointer;
296 - font-size: 18px;
297 - font-family: initial;
298 479 }
299 480
300 -button.cookieadmin_re_consent{
481 +.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies::before{
482 + content: "";
483 + flex-shrink: 0;
484 + width: 7px;
485 + height: 7px;
486 + border-right: 2px solid currentColor;
487 + border-bottom: 2px solid currentColor;
488 + transform: rotate(-45deg);
489 + transition: transform .2s;
490 +}
491 +
492 +.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies.dwn::before{
493 + transform: rotate(45deg);
494 +}
495 +
496 +/* all: unset removes the outline, so the focus ring is added back */
497 +.cookieadmin_types .cookieadmin_header button.cookieadmin_show_pref_cookies:focus-visible{
498 + outline: 2px solid var(--cookieadmin-secondary-color);
499 + outline-offset: 2px;
500 + border-radius: 2px;
501 +}
502 +
503 +/* Reconsent: all:unset drops theme button styles (min-height, hover/focus rules); the
504 + wrapper selector (0,2,2) outranks ".elementor-kit-N button:hover". Plain selector kept
505 + for templates filtered without the wrapper class. JS toggles display inline (none/block). */
506 +button.cookieadmin_re_consent,
507 +body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent{
508 + all: unset;
301 509 display: none;
302 510 position: fixed;
303 511 bottom: 15px;
304 512 left: 15px;
513 + z-index: 99999;
514 + box-sizing: border-box;
515 + width: 50px;
516 + height: 50px;
517 + padding: 5px;
518 + border-radius: 50%;
305 519 background-color: #374FD4;
306 - height: 50px;
307 - width: 50px;
308 - border-radius: 50% !important;
520 + box-shadow: -4px 5px 10px rgba(0, 0, 0, 0.4);
309 521 cursor: pointer;
310 - border: 0px;
311 - z-index: 99999;
312 - padding: 5px !important;
313 - box-shadow: -4px 5px 10px rgba(0, 0, 0, 0.4);
314 - align-items: center;
315 - justify-content: center;
522 + transition: filter .15s;
316 523 }
317 524
525 +button.cookieadmin_re_consent:hover,
526 +body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent:hover{
527 + filter: brightness(0.92);
528 +}
529 +
530 +button.cookieadmin_re_consent:focus-visible,
531 +body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent:focus-visible{
532 + outline: 2px solid var(--cookieadmin-secondary-color);
533 + outline-offset: 3px;
534 +}
535 +
536 +/* Block + the button's 5px padding centres the 40px icon; theme img rules kept out */
537 +.cookieadmin_re_consent img.cookieadmin_reconsent_img{
538 + display: block;
539 + width: 40px;
540 + height: 40px;
541 + max-width: none;
542 + margin: 0;
543 + padding: 0;
544 + border: 0;
545 + border-radius: 0;
546 + box-shadow: none;
547 +}
548 +
549 +/* Flat card: theme font, 4px corners like the buttons. Muted text uses opacity so it
550 + works on any admin-chosen modal background. */
318 551 .cookieadmin-cookie-card {
319 - /* background: ghostwhite; */
320 - border: 1px solid ghostwhite;
321 - border-radius: 10px;
322 - padding: 16px;
323 - font-family: 'Open Sans', 'Segoe UI', sans-serif;
324 - box-shadow: 0 2px 6px rgba(0,0,0,0.1);
325 - margin: 10px auto;
552 + margin: 0 0 8px;
553 + padding: 12px 14px;
554 + border: 1px solid rgb(187 187 187 / 12%);
555 + border-radius: 4px;
326 556 text-align: left;
327 557 }
328 558
329 559 .cookieadmin-cookie-header {
330 560 display: flex;
561 + flex-wrap: wrap;
331 562 justify-content: space-between;
332 - font-size: 1rem;
333 - margin-bottom: 6px;
563 + gap: 2px 12px;
564 + font-size: 14px;
334 565 }
335 566
336 567 .cookieadmin-cookie-name {
337 - font-weight: bold;
338 - color: #333;
568 + font-weight: 600;
569 + word-break: break-word;
570 + overflow-wrap: anywhere;
339 571 }
340 572
341 573 .cookieadmin-cookie-duration {
342 - font-size: 0.85rem;
574 + font-size: 13px;
575 + opacity: 0.75;
343 576 }
344 577
345 578 .cookieadmin-cookie-duration > b {
346 - font-weight: bold;
579 + font-weight: 600;
347 580 }
348 581
349 -.cookieadmin-cookie-description {
350 - font-size: 0.9rem;
351 - margin-bottom: 12px;
582 +/* Scoped so theme paragraph margins/sizes don't apply */
583 +.cookieadmin-cookie-card p.cookieadmin-cookie-description {
584 + margin: 6px 0 0;
585 + padding: 0;
586 + font-size: 13px;
587 + line-height: 1.5;
352 588 }
353 589
354 590 .cookieadmin-cookie-tags {
355 - display: flex;
356 - gap: 8px;
591 + display: flex;
592 + gap: 8px;
593 + margin-top: 8px;
357 594 }
358 595
359 596 .cookieadmin-tag {
360 - background: #e0e0e0;
361 - padding: 4px 10px;
362 - border-radius: 12px;
363 - font-size: 0.75rem;
364 - color: #333;
597 + background: rgba(0, 0, 0, 0.06);
598 + padding: 2px 8px;
599 + border-radius: 4px;
600 + font-size: 12px;
365 601 }
366 602
603 +/* Pro DPDP contact box. Keyed on the ID (not a new class) so it also restyles
604 + older Pro versions that still output the shared .cookieadmin-cookie-card class. */
605 +#cookieadmin_dpdp_contact {
606 + margin: 4px 0 12px;
607 + padding: 12px 14px;
608 + background: rgba(0, 0, 0, 0.04);
609 + border: 1px solid rgba(0, 0, 0, 0.08);
610 + border-radius: 4px;
611 + box-shadow: none;
612 + font-family: inherit;
613 + font-size: 14px;
614 + line-height: 1.5;
615 + text-align: left;
616 +}
617 +
618 +#cookieadmin_dpdp_contact a {
619 + color: inherit;
620 + text-decoration: underline;
621 +}
622 +
623 +/* "Exercise your rights" link, the card's main action */
624 +#cookieadmin_dpdp_contact > a {
625 + display: inline-block;
626 + margin-top: 6px;
627 + font-weight: 600;
628 +}
629 +
367 630 /* Website consent box End*/
368 631
369 632
370 633
@@ -371,20 +634,55 @@
371 634
372 635
373 636 /* Checkbox switch Start */
374 637
375 -.cookieadmin_toggle {
638 +/* Box matches the 34x21 slider; the modal's generic label/input padding is cancelled
639 + so the switch no longer overflows its box */
640 +.cookieadmin_toggle,
641 +.cookieadmin_cookie_modal .cookieadmin_toggle {
376 642 position: relative;
377 643 display: inline-block;
378 - width: 24px;
379 - height: 11px;
644 + flex-shrink: 0;
645 + width: 34px;
646 + height: 21px;
647 + margin: 0;
648 + padding: 0;
380 649 }
381 650
382 651 /* Hide the checkbox input */
383 -.cookieadmin_toggle input{
384 - display: none;
652 +.cookieadmin_toggle input,
653 +.cookieadmin_cookie_modal .cookieadmin_toggle input{
654 + /* display: none; */
655 + position: absolute;
656 + opacity: 0;
657 + width: 0;
658 + height: 0;
659 + margin: 0;
660 + padding: 0;
385 661 }
386 662
663 +/* Text for screen readers / a11y checkers only, so toggle labels aren't empty */
664 +.cookieadmin_sr_only {
665 + position: absolute;
666 + width: 1px;
667 + height: 1px;
668 + padding: 0;
669 + margin: -1px;
670 + overflow: hidden;
671 + clip: rect(0, 0, 0, 0);
672 + white-space: nowrap;
673 + border: 0;
674 +}
675 +
676 +/* Keyboard accessibility: When the checkbox is focused, add a visible outline to indicate focus. */
677 +.cookieadmin_show_pref_cookies:focus-visible{
678 + outline: 1px solid #000;
679 +}
680 +.cookieadmin_toggle input:focus + .cookieadmin_slider {
681 + outline: 1px solid #000;
682 +}
683 +/* end keyboard accessibility */
684 +
387 685 /* Describe slider's look and position. */
388 686 .cookieadmin_slider {
389 687 position: absolute;
390 688 cursor: pointer;
@@ -482,25 +780,48 @@
482 780 /* Policy Links */
483 781 .cookieadmin_policy_link_box{
484 782 display: flex;
485 783 justify-content: space-around;
784 + gap: 4px 16px;
785 + margin-top: 8px;
486 786 font-size: 13px;
487 787 flex-wrap: wrap;
488 788 }
489 789
790 +/* Same treatment as the modal links, so theme link colors don't apply */
791 +.cookieadmin_law_container .cookieadmin_policy_link_box a{
792 + color: inherit;
793 + text-decoration: underline;
794 +}
795 +
490 796 .cookieadmin_modal_policy_link_box{
491 797 display: flex;
492 - gap: 5px;
798 + gap: 4px 16px;
493 799 font-size: 13px;
494 800 flex-wrap: wrap;
495 801 }
496 802
803 +/* Same treatment as the intro and DPDP links, so theme link colors don't apply */
804 +.cookieadmin_cookie_modal .cookieadmin_modal_policy_link_box a{
805 + color: inherit;
806 + text-decoration: underline;
807 +}
808 +
809 +/* Footer gap handles spacing; the old 9px side margins pushed links out of line with the buttons */
497 810 .cookieadmin_modal_footer_links{
498 811 display:flex;
812 + flex-wrap: wrap;
813 + align-items: center;
499 814 justify-content:space-between;
500 - margin:9px 9px 0 9px;
815 + gap: 8px 16px;
816 + margin-top: 4px;
501 817 }
502 818
819 +/* Hidden when there are no policy links and "Powered by" is off (Pro) */
820 +.cookieadmin_modal_footer_links:not(:has(*)){
821 + display: none;
822 +}
823 +
503 824 /* CSS for phones only */
504 825 @media (max-width: 767px) {
505 826
506 827 .cookieadmin_center{
@@ -512,10 +833,14 @@
512 833 .cookieadmin_show_pref_cookies{
513 834 font-size: 14px;
514 835 }
515 836
516 - .cookieadmin_law_container, .cookieadmin_box{
517 - width: 90%;
837 + /* Even 16px on both sides; the footer bar keeps its 100% width */
838 + .cookieadmin_box{
839 + left: 16px;
840 + right: 16px;
841 + width: auto;
842 + max-width: none;
518 843 }
519 844
520 845 .cookieadmin_side{
521 846 width: 100%;
@@ -560,16 +885,38 @@
560 885
561 886 .cookieadmin_consent_btns {
562 887 flex-shrink: 0;
563 888 }
889 +
890 + /* Footer layout: the button group sizes to its content, so equal-width (flex-basis 0)
891 + buttons would shrink and wrap their labels. Size them to their labels instead. */
892 + .cookieadmin_footer .cookieadmin_consent_btns button.cookieadmin_btn{
893 + flex: 0 0 auto;
894 + }
564 895 }
565 896
566 897 @media (max-width:480px){
567 - .cookieadmin_consent_inside .cookieadmin_btn {
568 - width: 100%;
569 - margin: 5px 0;
898 + .cookieadmin_preference_title{
899 + font-size: 18px;
570 900 }
571 901
902 + /* 28px leaves no room for the categories on phones */
903 + .cookieadmin_preference{
904 + line-height: 22px;
905 + }
906 +
907 + .cookieadmin_law_container button.cookieadmin_btn,
908 + .cookieadmin_cookie_modal button.cookieadmin_btn,
909 + .cookieadmin_consent_inside > .cookieadmin_consent_btns button.cookieadmin_btn{
910 + flex-basis: 100%;
911 + }
912 +
572 913 .cookieadmin_modal_footer{
573 - padding: 8px;
914 + padding: 12px 16px;
574 915 }
575 -}
916 +}
917 +
918 +@media (prefers-reduced-motion: reduce){
919 + .cookieadmin_law_container *, .cookieadmin_cookie_modal *{
920 + transition: none !important;
921 + }
922 +}