.tt-consent__banner { position: fixed; z-index: 2147483000; display: flex; flex-direction: column; gap: 12px; box-sizing: border-box; width: calc(100% - 32px); padding: 24px 32px; background: var(--tt-consent-bg); color: var(--tt-consent-fg); box-shadow: 0 4px 24px rgb(0 0 0 / .18); }
.tt-consent__banner[hidden], .tt-consent__overlay[hidden] { display: none; }
.tt-consent__banner--bottom_center { left: 50%; bottom: 16px; transform: translateX(-50%); max-width: 760px; }
.tt-consent__banner--bottom_full { left: 0; right: 0; bottom: 0; width: 100%; }
.tt-consent__banner--bottom_left { left: 16px; bottom: 16px; max-width: 440px; }
.tt-consent__banner--bottom_right { right: 16px; bottom: 16px; max-width: 440px; }
.tt-consent__banner--center { top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 640px; }
@media (max-width: 640px) { .tt-consent__banner { top: auto; left: 0; right: 0; bottom: 0; transform: none; width: 100%; max-width: 100%; padding: 20px; } }
.tt-consent__title { margin: 0; font-size: 19px; font-weight: 700; line-height: 1.3; color: inherit; }
.tt-consent__body { margin: 0; font-size: 14.5px; line-height: 1.45; }
.tt-consent__body a { color: inherit; text-decoration: underline; }
.tt-consent__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; }
.tt-consent__actions--center { justify-content: center; gap: 16px; }
.tt-consent__btn { flex: 1 1 160px; padding: 9px 18px; font: inherit; font-size: 15px; background: var(--tt-consent-btn); color: var(--tt-consent-btn-fg); border: 1px solid var(--tt-consent-btn-fg); border-radius: 0; cursor: pointer; }
.tt-consent__actions--center .tt-consent__btn { flex: 0 0 auto; padding: 9px 22px; }
.tt-consent__link { flex: 1 1 160px; padding: 9px 8px; font: inherit; font-size: 15px; background: none; border: 0; color: inherit; text-decoration: underline; cursor: pointer; }
.tt-consent__overlay { position: fixed; inset: 0; z-index: 2147483001; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; background: rgb(0 0 0 / .45); }
.tt-consent__dialog { width: 100%; max-width: 760px; max-height: 88vh; overflow-y: auto; background: var(--tt-consent-bg); color: var(--tt-consent-fg); box-shadow: 0 12px 48px rgb(0 0 0 / .25); }
.tt-consent__head { position: relative; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 28px 32px 24px; border-bottom: 1px solid rgb(from currentColor r g b / .12); text-align: center; }
.tt-consent__close { position: absolute; top: 12px; right: 14px; background: none; border: 0; font-size: 24px; color: inherit; cursor: pointer; }
.tt-consent__content { display: flex; flex-direction: column; gap: 20px; padding: 24px 32px 28px; }
.tt-consent__intro { display: flex; flex-direction: column; gap: 10px; padding-bottom: 20px; border-bottom: 1px solid rgb(from currentColor r g b / .12); }
.tt-consent__intro h3, .tt-consent__intro h4, .tt-consent__intro p, .tt-consent__intro ul { margin: 0; }
.tt-consent__cats { display: flex; flex-direction: column; gap: 18px; }
.tt-consent__cat { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.tt-consent__cat input { margin-top: 4px; width: 18px; height: 18px; flex-shrink: 0; }
.tt-consent__cat > span { display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 1.5; }
.tt-consent__cat b { font-size: 16px; }
.tt-consent__cat > span > span { opacity: .8; }
