.tp-cookie-banner { position:fixed; z-index:10010; inset:auto 0 0; background:var(--paper); color:var(--ink); border-block-start:1px solid var(--line); box-shadow:0 -5px 24px #0000000b; padding-block:18px calc(18px + env(safe-area-inset-bottom,0px)); }
html[data-tp-cookie-choice="saved"] .tp-cookie-banner { display:none; }
.tp-cookie-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.tp-cookie-copy { min-inline-size:0; max-inline-size:720px; }
.tp-cookie-copy h2 { font-size:14px; line-height:1.5; margin-block:0 5px; }
.tp-cookie-copy p { font-size:12px; line-height:1.7; margin:0; }
.tp-cookie-copy a,.tp-privacy-dialog a { text-decoration:underline; text-underline-offset:3px; }
.tp-cookie-actions { display:flex; align-items:stretch; justify-content:flex-end; flex-shrink:0; gap:8px; }
.tp-cookie-button { display:inline-flex; align-items:center; justify-content:center; min-block-size:var(--button-height,48px); border:var(--button-border,1px) solid var(--secondary-line); border-radius:var(--button-radius); padding:10px 16px; background:var(--secondary-bg); color:var(--secondary-text); font-family:var(--button-font); font-size:var(--button-size,14px); font-weight:var(--button-weight); line-height:1.4; text-align:center; touch-action:manipulation; }
.tp-cookie-button:hover { background:var(--secondary-hover-bg); color:var(--secondary-hover-text); border-color:var(--secondary-hover-line); }
.tp-cookie-button.is-primary { background:var(--button-bg); color:var(--button-text); border-color:var(--button-line); }
.tp-cookie-button.is-primary:hover { background:var(--button-hover-bg); color:var(--button-hover-text); border-color:var(--button-hover-line); }
.tp-privacy-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; }
.tp-privacy-links a,.tp-privacy-settings { display:inline-flex; align-items:center; min-block-size:var(--button-height,48px); font:inherit; text-decoration:underline; text-underline-offset:3px; }
.tp-privacy-settings { border:0; background:transparent; color:inherit; padding:0; touch-action:manipulation; }
.footer-bottom { flex-wrap:wrap; }
.tp-privacy-dialog { max-inline-size:min(600px,calc(100vw - 32px)); max-block-size:calc(100dvh - 48px); inline-size:600px; margin:auto; border:1px solid var(--line); padding:28px; border-radius:var(--card-radius); color:var(--ink); background:var(--paper); font:14px/1.7 var(--font); overflow-y:auto; overscroll-behavior:contain; }
.tp-privacy-dialog::backdrop { background:#0008; }
.tp-privacy-dialog:not([open]) { display:none; }
.tp-privacy-dialog p { margin-block:14px; }
.tp-privacy-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.tp-privacy-dialog-head h2 { font-size:22px; }
.tp-privacy-dialog-head button { flex-shrink:0; inline-size:var(--button-height,48px); min-block-size:var(--button-height,48px); border:0; color:inherit; background:transparent; font-size:28px; }
.tp-privacy-category { padding-block:18px; border-block-end:1px solid var(--line); }
.tp-privacy-category label { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.tp-privacy-category small { margin-inline-start:12px; color:var(--muted); }
.tp-privacy-category input { inline-size:22px; block-size:22px; flex:0 0 auto; accent-color:var(--ink); }
.tp-privacy-category p { margin-block:8px 0; font-size:13px; }
.tp-privacy-state { font-size:12px; color:var(--muted); }
.tp-cookie-status:empty { display:none; }
.tp-runtime-4 { padding-block-end:var(--tp-cookie-height,0px); }
.tp-runtime-4 .tp-chat-widget:not(.is-mobile-open) { bottom:calc(var(--tp-cookie-height,0px) + 24px); }
.tp-runtime-4 .tp-back-top { bottom:calc(var(--tp-cookie-height,0px) + 90px)!important; }
html.tp-chat-mobile-open .tp-cookie-banner { display:none; }
@media(max-width:900px) {
    .tp-cookie-inner { flex-direction:column; align-items:stretch; gap:14px; }
    .tp-cookie-actions { justify-content:flex-start; }
    .tp-cookie-banner { padding-block:14px calc(14px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:480px) {
    .tp-cookie-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
    .tp-cookie-button { min-inline-size:0; padding-inline:8px; font-size:var(--button-mobile-size,14px); overflow-wrap:anywhere; }
    .tp-cookie-copy h2 { font-size:13px; }
    .tp-cookie-copy p { font-size:11px; }
    .tp-privacy-dialog { padding:20px; font-size:13px; }
    .tp-privacy-dialog-head h2 { font-size:19px; }
    .tp-runtime-4 .tp-chat-widget:not(.is-mobile-open) { bottom:calc(var(--tp-cookie-height,0px) + 14px); }
}
