.ueah-footer-inner { max-width: 75rem; margin: auto; padding: 1rem; }
.ueah-footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.5rem; }
.ueah-footer h2 { font-size: 1.4rem; margin-block: 0 .75rem; }
.ueah-footer address { font-style: normal; }
.ueah-footer ul { list-style: none; padding: 0; }
.ueah-footer li { margin-block: .5rem; }
.ueah-footer-source { font-size: .875rem; }
.ueah-partenaires img { display: block; max-width: 100%; height: auto; }
.ueah-footer-legal { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: center; }
.ueah-footer button, .ueah-consent button { min-height: 44px; padding: .5rem .75rem; color: var(--ueah-texte); background: var(--ueah-fond); border: 1px solid currentColor; font: inherit; cursor: pointer; }
.ueah-footer iframe { display: block; width: 100%; height: 16rem; margin-top: 1rem; border: 0; }
.ueah-consent { box-sizing: border-box; width: min(36rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); overflow: auto; padding: 1.5rem; color: var(--ueah-texte); background: var(--ueah-fond); border: 2px solid var(--ueah-texte); }
.ueah-consent::backdrop { background: rgb(0 0 0 / .65); }
.ueah-consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; }

/* In-flow first-visit notice: no overlay and the same visual weight for all three actions. */
.ueah-consent-banner { padding:1rem; color:var(--ueah-texte); background:var(--ueah-brume); border-bottom:1px solid currentColor; }
.ueah-consent-banner[hidden] { display:none; }
.ueah-consent-banner p { margin:0 0 .75rem; }
.ueah-consent-banner button { min-height:44px; min-width:9rem; padding:.5rem .75rem; color:var(--ueah-texte); background:var(--ueah-fond); border:1px solid currentColor; font:inherit; cursor:pointer; }
.ueah-consent-banner .ueah-consent-actions > button { flex:1 1 9rem; }
.ueah-consent input[type=checkbox] { width:1.25rem; height:1.25rem; vertical-align:middle; }

.ueah-personal-data-table { max-width:100%; overflow-x:auto; }
.ueah-personal-data-table table { border-collapse:collapse; min-width:42rem; width:100%; }
.ueah-personal-data-table th, .ueah-personal-data-table td { text-align:left; vertical-align:top; padding:.65rem; border:1px solid currentColor; }
/* A notice above the positioned header must not reveal its off-screen skip link. Keyboard focus restores it. */
.ueah-skip-link:not(:focus) { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; white-space:nowrap; }

.ueah-example { display:inline-block;padding:.15rem .5rem;border:1px solid currentColor;border-radius:.2rem;font-size:.875rem;line-height:1.5;margin-block:.5rem;color:var(--ueah-texte);background:var(--ueah-fond); }
