.plconsent {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 10000;
max-height: 85vh;
overflow-y: auto;
background: var(--panel-bg);
color: var(--text);
border-top: 3px solid var(--brightblue);
box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15);
}
.plconsent[hidden],
.plconsent__choices[hidden],
.plconsent__button[hidden] { display: none; }
.plconsent__inner {
max-width: var(--pagewidth);
margin: 0 auto;
padding: 1em 16px;
display: grid;
gap: 0.75em;
}
.plconsent__title { margin: 0; font-size: 1.15em; color: var(--text-strong); }
.plconsent__title:focus { outline: none; }
.plconsent__text { margin: 0; line-height: 1.5; }
.plconsent__text a { color: var(--link); text-decoration: underline; }
.plconsent__choices { display: grid; gap: 0.6em; }
.plconsent__choice { display: flex; gap: 0.6em; align-items: flex-start; line-height: 1.4; cursor: pointer; }
.plconsent__choice input { flex: none; width: 1.2em; height: 1.2em; margin: 0.15em 0 0; accent-color: var(--brightblue); }
.plconsent__choice input:disabled { cursor: default; }
.plconsent__buttons { display: flex; flex-wrap: wrap; gap: 0.5em; justify-content: flex-end; }
.plconsent__button {
min-height: 44px;
padding: 0.6em 1.4em;
border: 2px solid var(--brightblue);
border-radius: var(--rounded);
background: var(--brightblue);
color: var(--white);
font: inherit;
font-weight: 500;
cursor: pointer;
}
.plconsent__button[data-consent="choose"] { background: transparent; color: var(--link); border-color: var(--link); }
.plconsent__button:focus-visible { outline: 3px solid var(--link); outline-offset: 2px; }
@media (max-width: 600px) {
.plconsent__buttons { display: grid; grid-template-columns: 1fr 1fr; }
.plconsent__button[data-consent="choose"],
.plconsent__button[data-consent="save"] { grid-column: 1 / -1; order: 3; }
}