PluginProbe
CookieAdmin – Cookie Consent Banner / 1.2.5
CookieAdmin – Cookie Consent Banner v1.2.5
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 1.1.8
← All changes | assets/css/consent.css +479 -170 1.1.1 → 1.2.5 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,42 @@
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 +/* Keyboard accessibility: When the checkbox is focused, add a visible outline to indicate focus. */
664 +.cookieadmin_show_pref_cookies:focus-visible{
665 + outline: 1px solid #000;
666 +}
667 +.cookieadmin_toggle input:focus + .cookieadmin_slider {
668 + outline: 1px solid #000;
669 +}
670 +/* end keyboard accessibility */
671 +
455 672 /* Describe slider's look and position. */
456 673 .cookieadmin_slider {
457 674 position: absolute;
458 675 cursor: pointer;
@@ -492,21 +709,18 @@
492 709 input:checked+.cookieadmin_slider:before {
493 710 transform: translateX(13px);
494 711 }
495 712
496 -input:disabled+.cookieadmin_slider {
497 - background-color: #3582c4;
498 -}
499 -input:disabled+.cookieadmin_slider:before {
500 - transform: translateX(13px);
501 -}
502 -
503 713 /* Checkbox switch End */
504 714
505 -.cookieadmin-poweredby{
715 +.cookieadmin_law_container .cookieadmin-poweredby{
506 716 margin-top: 10px;
507 717 }
508 718
719 +.cookieadmin_modal_footer_links .cookieadmin-poweredby{
720 +margin-left: auto;
721 +}
722 +
509 723 .cookieadmin-poweredby a img{
510 724 height: 15px;
511 725 }
512 726
@@ -524,8 +738,77 @@
524 738 .cookieadmin_modal_footer .cookieadmin-poweredby a{
525 739 justify-content: end;
526 740 }
527 741
742 +#cookieadmin-gpc-toast{
743 +display:flex;
744 +visibility: hidden;
745 +position: fixed;
746 +bottom: 24px;
747 +right: 24px;
748 +color: #ffffff;
749 +padding: 10px 14px;
750 +border-radius: 6px;
751 +box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
752 +align-items: center;
753 +justify-content: space-between;
754 +gap: 10px;
755 +font-size: 14px;
756 +z-index: 99999;
757 +opacity: 0;
758 +transform: translateY(20px);
759 +transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s 0.3s;
760 +line-height:1.5;
761 +}
762 +
763 +#cookieadmin_gpc_override{
764 +padding-bottom:10px;
765 +}
766 +
767 +/* Policy Links */
768 +.cookieadmin_policy_link_box{
769 + display: flex;
770 + justify-content: space-around;
771 + gap: 4px 16px;
772 + margin-top: 8px;
773 + font-size: 13px;
774 + flex-wrap: wrap;
775 +}
776 +
777 +/* Same treatment as the modal links, so theme link colors don't apply */
778 +.cookieadmin_law_container .cookieadmin_policy_link_box a{
779 + color: inherit;
780 + text-decoration: underline;
781 +}
782 +
783 +.cookieadmin_modal_policy_link_box{
784 + display: flex;
785 + gap: 4px 16px;
786 + font-size: 13px;
787 + flex-wrap: wrap;
788 +}
789 +
790 +/* Same treatment as the intro and DPDP links, so theme link colors don't apply */
791 +.cookieadmin_cookie_modal .cookieadmin_modal_policy_link_box a{
792 + color: inherit;
793 + text-decoration: underline;
794 +}
795 +
796 +/* Footer gap handles spacing; the old 9px side margins pushed links out of line with the buttons */
797 +.cookieadmin_modal_footer_links{
798 + display:flex;
799 + flex-wrap: wrap;
800 + align-items: center;
801 + justify-content:space-between;
802 + gap: 8px 16px;
803 + margin-top: 4px;
804 +}
805 +
806 +/* Hidden when there are no policy links and "Powered by" is off (Pro) */
807 +.cookieadmin_modal_footer_links:not(:has(*)){
808 + display: none;
809 +}
810 +
528 811 /* CSS for phones only */
529 812 @media (max-width: 767px) {
530 813
531 814 .cookieadmin_center{
@@ -537,10 +820,14 @@
537 820 .cookieadmin_show_pref_cookies{
538 821 font-size: 14px;
539 822 }
540 823
541 - .cookieadmin_law_container, .cookieadmin_box{
542 - width: 90%;
824 + /* Even 16px on both sides; the footer bar keeps its 100% width */
825 + .cookieadmin_box{
826 + left: 16px;
827 + right: 16px;
828 + width: auto;
829 + max-width: none;
543 830 }
544 831
545 832 .cookieadmin_side{
546 833 width: 100%;
@@ -585,16 +872,38 @@
585 872
586 873 .cookieadmin_consent_btns {
587 874 flex-shrink: 0;
588 875 }
876 +
877 + /* Footer layout: the button group sizes to its content, so equal-width (flex-basis 0)
878 + buttons would shrink and wrap their labels. Size them to their labels instead. */
879 + .cookieadmin_footer .cookieadmin_consent_btns button.cookieadmin_btn{
880 + flex: 0 0 auto;
881 + }
589 882 }
590 883
591 884 @media (max-width:480px){
592 - .cookieadmin_consent_inside .cookieadmin_btn {
593 - width: 100%;
594 - margin: 5px 0;
885 + .cookieadmin_preference_title{
886 + font-size: 18px;
595 887 }
596 888
889 + /* 28px leaves no room for the categories on phones */
890 + .cookieadmin_preference{
891 + line-height: 22px;
892 + }
893 +
894 + .cookieadmin_law_container button.cookieadmin_btn,
895 + .cookieadmin_cookie_modal button.cookieadmin_btn,
896 + .cookieadmin_consent_inside > .cookieadmin_consent_btns button.cookieadmin_btn{
897 + flex-basis: 100%;
898 + }
899 +
597 900 .cookieadmin_modal_footer{
598 - padding: 8px;
901 + padding: 12px 16px;
599 902 }
600 -}
903 +}
904 +
905 +@media (prefers-reduced-motion: reduce){
906 + .cookieadmin_law_container *, .cookieadmin_cookie_modal *{
907 + transition: none !important;
908 + }
909 +}