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 +492 -170 1.0.9 → 1.2.6 View file →
@@ -15,18 +15,28 @@
15 15 --cookieadmin-warning-color: #e9b306;
16 16 --cookieadmin-red-color: #dd2727;
17 17 }
18 18
19 -/* Buttons End */
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 +}
20 36
21 37 /* Consent page css */
22 38
23 -.cookieadmin-postbox-container {
24 - max-width: 92vw;
25 - float: unset;
26 - margin: 10px;
27 -}
28 -
29 39 .cookieadmin_cookie_modal label, .cookieadmin_cookie_modal input {
30 40 padding: 5px;
31 41 margin-right: 5px;
32 42 font-size: 15px;
@@ -78,67 +88,9 @@
78 88 }
79 89
80 90 /* Modal animations Ends */
81 91
82 -.cookieadmin_consent-header{
83 - display: flex;
84 - background: #12625f4d;
85 - color: black;
86 - padding: 12px;
87 - box-sizing: border-box;
88 - margin: 4px;
89 - align-items: center;
90 - justify-content: space-between;
91 -}
92 92
93 -.cookieadmin_consent-contents {
94 - display: flex;
95 - margin: 0px 5px;
96 -}
97 -
98 -.cookieadmin_consent_settings {
99 - display: flex;
100 - width: 100%;
101 - flex-direction: column;
102 - background: #ffffff;
103 - /*margin-left: -3px;*/
104 -}
105 -
106 -
107 -
108 -.cookieadmin-contents {
109 - width: 100%;
110 -}
111 -
112 -.cookieadmin-setting {
113 - display: flex;
114 - padding: 6px 0px;
115 - justify-content: flex-start;
116 -}
117 -
118 -.cookieadmin-setting-head {
119 - width: 100%;
120 - padding: 5px;
121 - align-content: center;
122 -}
123 -
124 -.cookieadmin-setting-contents {
125 - align-items: baseline;
126 - padding: 5px;
127 - margin: 5px;
128 -}
129 -
130 -.cookieadmin-setting-results {
131 - align-items: baseline;
132 - padding: 5px;
133 - margin: 5px;
134 - width: 80%;
135 -}
136 -
137 -.cookieadmin-button{
138 - padding: 5px;
139 - row-gap: 5px;
140 -}
141 93 /* Consent page css End*/
142 94
143 95
144 96 /* Website consent box */
@@ -150,18 +102,25 @@
150 102 z-index: 99999;
151 103 display: none;
152 104 }
153 105
106 +.cookieadmin_law_container:focus{
107 + outline: none;
108 +}
109 +
154 110 .cookieadmin_consent_btns{
155 111 align-content: center;
156 112 display: flex;
157 113 justify-content: space-evenly;
158 114 flex-wrap: wrap;
115 + gap: 8px;
159 116 }
160 117
118 +/* Percentage widths below stay; the cap stops the box growing on very wide screens */
161 119 .cookieadmin_box{
162 120 /*position: fixed;*/
163 121 width: 25%;
122 + max-width: 440px;
164 123 box-sizing: border-box;
165 124 display: none;
166 125 }
167 126
@@ -173,28 +132,43 @@
173 132 }
174 133
175 134
176 135 .cookieadmin_consent_inside{
177 - color: black;
178 - background-color: #FFFFFF;
179 - border: 1px solid #f4f4f4;
136 + color: #1f2937;
137 + background-color: #ffffff;
138 + border: 1px solid #ffffff;
180 139 padding:15px;
181 140 border-radius: 4px;
182 141 box-shadow:1px 3px 10px rgba(0, 0, 0, 0.2);
183 142 }
184 143
185 -#cookieadmin_notice_title{
186 - font-weight: 601;
187 - margin: 0px;
188 - 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;
189 152 }
190 153
154 +.cookieadmin_law_container p#cookieadmin_notice{
155 + margin: 0;
156 + padding: 0;
157 + font-size: 14px;
158 + line-height: 22px;
159 +}
160 +
191 161 .cookieadmin_notice_con{
192 - font-size: initial;
193 - padding: 0px 6px;
162 + padding: 0;
194 163 flex: 1;
195 164 }
196 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 +
197 171 .cookieadmin_cookie_modal{
198 172 display: none;
199 173 flex-direction: column;
200 174 position: fixed;
@@ -231,8 +205,12 @@
231 205 bottom: 0px;
232 206 animation: 0.5s ease-out forwards cookieadmin_slideUp;
233 207 }
234 208
209 +.cookieadmin_cookie_modal:focus{
210 + outline: none;
211 +}
212 +
235 213 .cookieadmin_modal_overlay{
236 214 display: none;
237 215 position: fixed;
238 216 top: 0;
@@ -238,57 +216,104 @@
238 216 top: 0;
239 217 left: 0;
240 218 width: 100%;
241 219 height: 100%;
242 - background-color: rgba(0, 0, 0, 0.5);
220 + background-color: rgba(0, 0, 0, 0.4);
243 221 z-index: 1000;
244 222 }
245 223
224 +/* Centered, not baseline: the CSS-drawn close button has no text baseline */
246 225 .cookieadmin_mod_head{
247 226 display: flex;
248 227 justify-content: space-between;
228 + align-items: center;
229 + gap: 12px;
230 + padding: 14px 20px;
231 + border-bottom: 1px solid #CCCCCC;
249 232 }
250 233
251 -.cookieadmin_mod_head, .cookieadmin_wrapper{
252 - padding: 15px;
253 - 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;
254 248 }
255 249
256 -.cookieadmin_close_pref{
257 - background: none;
258 - border: none;
259 - align-self: baseline;
260 - color: gray;
261 - cursor: pointer;
262 - 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);
263 261 }
264 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 +
265 277 .cookieadmin_preference_title{
278 + margin: 0;
266 279 font-size: 20px;
267 - font-weight: 801;
268 - margin: 9px;
280 + font-weight: 700;
281 + line-height: 1.3;
269 282 }
270 283
284 +/* 5px + the wrapper's 15px lines the intro up with the title's 20px */
271 285 .cookieadmin_preference_details{
272 - padding: 0px 10px;
286 + padding: 0px 5px;
273 287 }
274 288
289 +/* break-word (not overflow:auto) so long URLs wrap instead of adding an inner scrollbar */
275 290 .cookieadmin_preference{
276 - overflow: hidden;
277 - height: 83px;
278 - font-size: 15px;
291 + padding: 10px 0px;
292 + font-size: 14px;
293 + line-height: 28px;
294 + overflow-wrap: break-word;
279 295 }
280 296
281 -.cookieadmin_showmore{
282 - background: none;
283 - border: none;
284 - color: #1863dc;
285 - padding: 0px;
286 - cursor: pointer;
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;
287 303 }
288 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 +
289 314 .cookieadmin_details_wrapper{
290 - padding: 15px;
315 + padding: 0px 15px;
291 316 height: calc(100% - 6%);
292 317 overflow: auto;
293 318 scrollbar-width: thin;
294 319 }
@@ -302,31 +327,45 @@
302 327 display: flex;
303 328 justify-content: space-between;
304 329 }
305 330
306 -.cookieadmin_header > span > label{
307 - cursor:pointer;
331 +
332 +/* Clickable header text, e.g. Pro's "Override GPC" label */
333 +.cookieadmin_header label[for]{
334 + cursor: pointer;
308 335 }
309 336
310 -.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{
311 344 display:none;
312 345 justify-self:right;
313 346 }
314 347
315 -.cookieadmin_act{
348 +.cookieadmin_header .cookieadmin_act{
316 349 display: inline;
317 350 color: #1863dc;
318 351 }
319 352
320 -.cookieadmin-nece-cookies{
353 +/* Lines up with .cookieadmin_desc; the old 4rem right margin squeezed cards on phones */
354 +.cookieadmin-modal-cookies-list{
321 355 display:none;
322 - padding:1px;
323 - border-radius: 10px;
324 - margin: 0px 20px;
325 - margin-right: 4rem;
326 - font-size: smaller;
327 - 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;
328 366 text-align: center;
367 + opacity: 0.7;
329 368 }
330 369
331 370 .cookieadmin_desc{
332 371 padding:5px 20px;
@@ -340,99 +379,255 @@
340 379 flex-wrap: wrap;
341 380 width: 100%;
342 381 }
343 382
383 +/* Padding matches the header */
344 384 .cookieadmin_modal_footer{
345 - left: 0px;
346 - padding: 15px;
385 + display: flex;
386 + padding: 14px 20px;
347 387 flex-wrap: wrap;
388 + gap: 8px;
348 389 border-top: 1px solid #CCCCCC;
349 390 }
350 391
351 -.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;
352 419 background-color: transparent;
353 - 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;
354 424 color: #1863dc;
355 - padding: 0.4rem 0.9rem;
356 - border-radius: 4px;
357 - 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;
358 435 cursor: pointer;
359 - flex: auto;
360 - text-wrap: auto;
436 + transition: filter .15s;
361 437 }
362 438
363 -.cookieadmin_btn:hover{
364 - 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;
365 443 }
366 444
367 -.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;
368 478 cursor: pointer;
369 - font-size: 18px;
370 479 }
371 480
372 -.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;
373 509 display: none;
374 510 position: fixed;
375 511 bottom: 15px;
376 512 left: 15px;
377 - background: linear-gradient(to left, rgb(0, 51, 204) 0%, rgb(102, 102, 255) 100%);
513 + z-index: 99999;
514 + box-sizing: border-box;
515 + width: 50px;
378 516 height: 50px;
379 - width: 50px;
517 + padding: 5px;
380 518 border-radius: 50%;
519 + background-color: #374FD4;
520 + box-shadow: -4px 5px 10px rgba(0, 0, 0, 0.4);
381 521 cursor: pointer;
382 - border: 0px;
383 - z-index: 99999;
384 - padding: 5px;
522 + transition: filter .15s;
385 523 }
386 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. */
387 551 .cookieadmin-cookie-card {
388 - background: ghostwhite;
389 - border-radius: 10px;
390 - padding: 16px;
391 - font-family: 'Open Sans', 'Segoe UI', sans-serif;
392 - box-shadow: 0 2px 6px rgba(0,0,0,0.1);
393 - 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;
394 556 text-align: left;
395 557 }
396 558
397 559 .cookieadmin-cookie-header {
398 560 display: flex;
561 + flex-wrap: wrap;
399 562 justify-content: space-between;
400 - font-size: 1rem;
401 - margin-bottom: 6px;
563 + gap: 2px 12px;
564 + font-size: 14px;
402 565 }
403 566
404 567 .cookieadmin-cookie-name {
405 - font-weight: bold;
406 - color: #333;
568 + font-weight: 600;
569 + word-break: break-word;
570 + overflow-wrap: anywhere;
407 571 }
408 572
409 573 .cookieadmin-cookie-duration {
410 - font-size: 0.85rem;
574 + font-size: 13px;
575 + opacity: 0.75;
411 576 }
412 577
413 578 .cookieadmin-cookie-duration > b {
414 - font-weight: bold;
579 + font-weight: 600;
415 580 }
416 581
417 -.cookieadmin-cookie-description {
418 - font-size: 0.9rem;
419 - 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;
420 588 }
421 589
422 590 .cookieadmin-cookie-tags {
423 - display: flex;
424 - gap: 8px;
591 + display: flex;
592 + gap: 8px;
593 + margin-top: 8px;
425 594 }
426 595
427 596 .cookieadmin-tag {
428 - background: #e0e0e0;
429 - padding: 4px 10px;
430 - border-radius: 12px;
431 - font-size: 0.75rem;
432 - color: #333;
597 + background: rgba(0, 0, 0, 0.06);
598 + padding: 2px 8px;
599 + border-radius: 4px;
600 + font-size: 12px;
433 601 }
434 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 +
435 630 /* Website consent box End*/
436 631
437 632
438 633
@@ -439,20 +634,55 @@
439 634
440 635
441 636 /* Checkbox switch Start */
442 637
443 -.cookieadmin_toggle, .cookieadmin_toggle_disabled {
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 {
444 642 position: relative;
445 643 display: inline-block;
446 - width: 24px;
447 - height: 11px;
644 + flex-shrink: 0;
645 + width: 34px;
646 + height: 21px;
647 + margin: 0;
648 + padding: 0;
448 649 }
449 650
450 651 /* Hide the checkbox input */
451 -.cookieadmin_toggle input, .cookieadmin_toggle_disabled input {
452 - 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;
453 661 }
454 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 +
455 685 /* Describe slider's look and position. */
456 686 .cookieadmin_slider {
457 687 position: absolute;
458 688 cursor: pointer;
@@ -492,21 +722,18 @@
492 722 input:checked+.cookieadmin_slider:before {
493 723 transform: translateX(13px);
494 724 }
495 725
496 -input:disabled+.cookieadmin_slider {
497 - background-color: #3582c4;
498 -}
499 -input:disabled+.cookieadmin_slider:before {
500 - transform: translateX(13px);
501 -}
502 -
503 726 /* Checkbox switch End */
504 727
505 -.cookieadmin-poweredby{
728 +.cookieadmin_law_container .cookieadmin-poweredby{
506 729 margin-top: 10px;
507 730 }
508 731
732 +.cookieadmin_modal_footer_links .cookieadmin-poweredby{
733 +margin-left: auto;
734 +}
735 +
509 736 .cookieadmin-poweredby a img{
510 737 height: 15px;
511 738 }
512 739
@@ -524,8 +751,77 @@
524 751 .cookieadmin_modal_footer .cookieadmin-poweredby a{
525 752 justify-content: end;
526 753 }
527 754
755 +#cookieadmin-gpc-toast{
756 +display:flex;
757 +visibility: hidden;
758 +position: fixed;
759 +bottom: 24px;
760 +right: 24px;
761 +color: #ffffff;
762 +padding: 10px 14px;
763 +border-radius: 6px;
764 +box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
765 +align-items: center;
766 +justify-content: space-between;
767 +gap: 10px;
768 +font-size: 14px;
769 +z-index: 99999;
770 +opacity: 0;
771 +transform: translateY(20px);
772 +transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s 0.3s;
773 +line-height:1.5;
774 +}
775 +
776 +#cookieadmin_gpc_override{
777 +padding-bottom:10px;
778 +}
779 +
780 +/* Policy Links */
781 +.cookieadmin_policy_link_box{
782 + display: flex;
783 + justify-content: space-around;
784 + gap: 4px 16px;
785 + margin-top: 8px;
786 + font-size: 13px;
787 + flex-wrap: wrap;
788 +}
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 +
796 +.cookieadmin_modal_policy_link_box{
797 + display: flex;
798 + gap: 4px 16px;
799 + font-size: 13px;
800 + flex-wrap: wrap;
801 +}
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 */
810 +.cookieadmin_modal_footer_links{
811 + display:flex;
812 + flex-wrap: wrap;
813 + align-items: center;
814 + justify-content:space-between;
815 + gap: 8px 16px;
816 + margin-top: 4px;
817 +}
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 +
528 824 /* CSS for phones only */
529 825 @media (max-width: 767px) {
530 826
531 827 .cookieadmin_center{
@@ -537,10 +833,14 @@
537 833 .cookieadmin_show_pref_cookies{
538 834 font-size: 14px;
539 835 }
540 836
541 - .cookieadmin_law_container, .cookieadmin_box{
542 - 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;
543 843 }
544 844
545 845 .cookieadmin_side{
546 846 width: 100%;
@@ -585,16 +885,38 @@
585 885
586 886 .cookieadmin_consent_btns {
587 887 flex-shrink: 0;
588 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 + }
589 895 }
590 896
591 897 @media (max-width:480px){
592 - .cookieadmin_consent_inside .cookieadmin_btn {
593 - width: 100%;
594 - margin: 5px 0;
898 + .cookieadmin_preference_title{
899 + font-size: 18px;
595 900 }
596 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 +
597 913 .cookieadmin_modal_footer{
598 - padding: 8px;
914 + padding: 12px 16px;
599 915 }
600 -}
916 +}
917 +
918 +@media (prefers-reduced-motion: reduce){
919 + .cookieadmin_law_container *, .cookieadmin_cookie_modal *{
920 + transition: none !important;
921 + }
922 +}