.tens-cookie-banner,
.tens-cookie-dialog {
    box-sizing: border-box;
    color: #20372c;
    background: #fff;
    font: 16px/1.5 Arial, sans-serif;
}
.tens-cookie-banner[hidden],
.tens-cookie-dialog [hidden] { display: none !important; }
.tens-cookie-banner {
    position: fixed;
    inset: auto 0 0;
    z-index: 9990;
    padding: 16px max(16px, calc((100% - 1200px) / 2));
    border-top: 1px solid #b5c6bb;
    max-height: 40vh;
    max-height: 40dvh;
    overflow: auto;
    overscroll-behavior: contain;
}
.tens-cookie-banner p,
.tens-cookie-dialog p { margin: 0 0 12px; }
.tens-cookie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.tens-cookie-actions button {
    flex: 1 1 180px;
    box-sizing: border-box;
    min-height: 44px;
    margin: 0;
    padding: 10px 16px;
    border: 1px solid #356849;
    border-radius: 6px;
    background: #fff;
    color: #254e35;
    font: inherit;
    cursor: pointer;
}
.tens-cookie-actions button:hover { background: #edf4ef; }
.tens-cookie-banner a,
.tens-cookie-dialog a { color: #254e35; text-decoration: underline; }
.tens-cookie-banner :focus-visible,
.tens-cookie-dialog :focus-visible { outline: 3px solid #356849; outline-offset: 3px; }
.tens-cookie-dialog {
    width: min(600px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 24px;
    border: 1px solid #b5c6bb;
    border-radius: 12px;
    overflow: auto;
}
.tens-cookie-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.tens-cookie-dialog h2 { margin: 0 0 16px; font: bold 24px/1.3 Arial, sans-serif; }
.tens-cookie-option { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; cursor: pointer; }
.tens-cookie-option input { appearance: auto; position: static; opacity: 1; width: 22px; height: 22px; margin: 2px 0 0; flex: 0 0 22px; }
.tens-cookie-option strong,
.tens-cookie-option small { display: block; font: inherit; }
.tens-cookie-option strong { font-weight: bold; }
.tens-cookie-option small { font-size: 14px; }
html { scroll-padding-bottom: var(--cookie-banner-height, 0px); }
body { padding-bottom: var(--cookie-banner-height, 0px); }
.legal-document { overflow-wrap: anywhere; }
.legal-document h2 { margin-top: 1.5em; }
.legal-document p, .legal-document ul, .legal-document ol { margin-bottom: 1em; }
.legal-table-scroll { max-width: 100%; overflow-x: auto; }
.legal-document table { width: 100%; min-width: 760px; border-collapse: collapse; }
.legal-document th, .legal-document td { padding: 12px; border: 1px solid #b5c6bb; vertical-align: top; text-align: left; }
@media (max-width: 600px) {
    .tens-cookie-banner { padding: 12px; font-size: 14px; }
    .tens-cookie-actions { gap: 8px; }
    .tens-cookie-actions button { flex-basis: calc(50% - 4px); padding: 8px; }
    .tens-cookie-dialog { padding: 16px; }
}
