.tx-cookie[hidden], .tx-cookie-feedback[hidden] { display: none !important; }
.tx-cookie, .tx-cookie-dialog { --cookie-green: #1c7058; --cookie-ink: #092236; color: var(--cookie-ink); font: 500 16px/1.55 "Work Sans", Arial, sans-serif; text-align: left; }
.tx-cookie { position: fixed; z-index: 10000; left: 20px; bottom: 20px; width: min(480px, calc(100% - 40px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 18px 20px 14px; background: #fff; border: 1px solid #cbdcd4; border-top: 3px solid var(--cookie-green); border-radius: 12px; box-shadow: 0 8px 32px #09223624; }
.tx-cookie__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.tx-cookie__eyebrow { color: var(--cookie-green); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.tx-cookie h2, .tx-cookie-dialog h2 { font: 500 28px/1.15 "Work Sans", sans-serif; letter-spacing: -.03em; margin: 0 0 14px; color: var(--cookie-ink); }
.tx-cookie p, .tx-cookie-dialog p { margin: 0 0 12px; font-size: 16px; line-height: 1.55; }
.tx-cookie h2 { font-size: 22px; margin-bottom: 8px; }
.tx-cookie p { font-size: 15px; line-height: 1.5; margin-bottom: 10px; }
.tx-cookie .tx-cookie__actions { margin-top: 12px; gap: 8px; }
.tx-cookie .tx-cookie__actions > button { padding: 10px 12px; min-height: 46px; font-size: 14px; }
.tx-cookie__necessary, .tx-cookie__back { appearance: none; border: 0; background: transparent; color: #1c7058; font: 500 14px/1.4 "Work Sans", sans-serif; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; min-height: 44px; padding: 10px 4px; }
.tx-cookie__necessary { display: block; width: 100%; margin: 2px 0 0; }
.tx-cookie__back { align-self: flex-start; flex-shrink: 0; }
.tx-cookie__necessary:hover, .tx-cookie__back:hover { color: #155540; background: #edf4f0; border-radius: 4px; }
.tx-cookie .tx-cookie__note { font-size: 14px; color: #51616a; }
.tx-cookie .tx-cookie__close, .tx-cookie-dialog .tx-cookie__close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid #b5c9c0; border-radius: 50%; color: var(--cookie-green); background: #fff; font: 400 30px/1 Arial, sans-serif; padding: 0; cursor: pointer; }
.tx-cookie__actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; margin-top: 18px; }
.tx-cookie__actions > button { border: 1px solid var(--cookie-green); border-radius: 6px; background: var(--cookie-green); color: white; font: 600 15px/1.4 "Work Sans", sans-serif; padding: 13px 15px; min-height: 50px; cursor: pointer; overflow-wrap: anywhere; }
.tx-cookie__actions > button:hover { background: #155540; border-color: #155540; }
.tx-cookie__text-link { border: 0; background: none; color: #40584c; font: 500 13px/1.5 "Work Sans", sans-serif; padding: 10px 0 0; min-height: 36px; cursor: pointer; text-decoration: underline; text-underline-offset: .25em; }
.tx-cookie :focus-visible, .tx-cookie-dialog :focus-visible { outline: 3px solid #ae7130; outline-offset: 4px; }
.tx-cookie-dialog { width: min(640px, calc(100% - 40px)); max-width: none; max-height: min(820px, calc(100dvh - 48px)); border: 1px solid #cbdcd4; padding: 0; border-radius: 16px; background: white; box-shadow: 0 24px 80px #09223640; overflow: hidden; }
.tx-cookie-dialog[open] { display: flex; flex-direction: column; }
.tx-cookie-dialog::backdrop { background: #09223680; backdrop-filter: blur(3px); }
.tx-cookie-dialog__header { display: flex; justify-content: space-between; gap: 18px; padding: 24px 28px 18px; border-bottom: 1px solid #e3eae6; flex: 0 0 auto; }
.tx-cookie-dialog__header h2 { margin: 8px 0 0; }
/* Programmatic reading focus, not an interactive control in the tab sequence. */
.tx-cookie-dialog__header h2:focus { outline: none; }
.tx-cookie-dialog__body { padding: 20px 28px 12px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.tx-cookie-dialog #tx-cookie-dialog-intro { color: #51616a; margin-bottom: 20px; }
.tx-cookie-category { border-top: 1px solid #dce6e0; padding: 17px 0; }
.tx-cookie-category__heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 8px; }
.tx-cookie-category h3 { color: var(--cookie-ink); font: 600 17px/1.35 "Work Sans", sans-serif; margin: 0; letter-spacing: -.02em; }
.tx-cookie-category p { font-size: 14px; color: #455861; margin: 0; }
.tx-cookie-category small { display: block; font-size: 12px; color: #52616a; margin-top: 8px; }
.tx-cookie-badge { flex-shrink: 0; white-space: nowrap; border-radius: 5px; background: #edf4f0; color: #245f4a; padding: 4px 8px; font: 600 11px/1.5 "Work Sans", sans-serif; }
.tx-cookie-badge--muted { background: #f1f3f2; color: #52616a; }
.tx-cookie-category--aggregate .tx-cookie-proposal { color: #67624f; }
.tx-cookie-switch { position: relative; display: flex; flex-shrink: 0; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; font-size: 12px; }
.tx-cookie-switch input { position: absolute; opacity: 0; width: 48px; height: 28px; margin: 0; }
.tx-cookie-switch__track { width: 48px; height: 28px; border-radius: 20px; background: #6b7c78; border: 1px solid #6b7c78; display: inline-block; position: relative; transition: background .15s; }
.tx-cookie-switch__track::after { content: ""; position: absolute; width: 20px; height: 20px; border-radius: 50%; background: white; left: 3px; top: 3px; transition: transform .15s; }
.tx-cookie-switch input:checked + .tx-cookie-switch__track { background: var(--cookie-green); border-color: var(--cookie-green); }
.tx-cookie-switch input:checked + .tx-cookie-switch__track::after { transform: translateX(20px); }
.tx-cookie-switch input:focus-visible + .tx-cookie-switch__track { outline: 3px solid #ae7130; outline-offset: 4px; }
.tx-cookie-info { border-top: 1px solid #dce6e0; padding: 8px 0; color: #455861; }
.tx-cookie-info summary { font-size: 13px; padding: 9px 0; cursor: pointer; }
.tx-cookie-info p { font-size: 13px; }
.tx-cookie-dialog__footer { padding: 16px 28px 18px; border-top: 1px solid #dce6e0; background: #f7faf8; flex: 0 0 auto; }
.tx-cookie-dialog__footer .tx-cookie__actions { margin: 0; }
.tx-cookie-dialog__footer p { text-align: center; font-size: 12px; color: #52616a; margin: 10px 0 0; }
.tx-cookie-feedback { position: fixed; z-index: 10000; bottom: 24px; left: 24px; max-width: min(500px, calc(100% - 48px)); background: #092236; color: white; padding: 14px 18px; border-radius: 8px; font-size: 14px; margin: 0; box-shadow: 0 8px 30px #09223622; }
@media (max-width: 680px) {
  .tx-cookie { left: 10px; bottom: calc(82px + env(safe-area-inset-bottom)); width: calc(100% - 20px); max-height: calc(100dvh - 100px - env(safe-area-inset-bottom)); padding: 16px 18px 12px; border-radius: 12px; }
  .tx-cookie h2 { font-size: 21px; margin-bottom: 8px; } .tx-cookie p { font-size: 15px; } .tx-cookie .tx-cookie__note { font-size: 12px; }
  .tx-cookie__eyebrow { font-size: 10px; letter-spacing: .07em; }
  .tx-cookie__actions { grid-template-columns: minmax(0,1fr); gap: 8px; margin-top: 14px; }
  .tx-cookie .tx-cookie__actions { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .tx-cookie__actions > button { font-size: 14px; padding: 12px; min-height: 48px; }
  .tx-cookie-dialog { width: calc(100% - 16px); max-height: calc(100dvh - 24px - env(safe-area-inset-bottom)); border-radius: 12px; }
  .tx-cookie-dialog__header { padding: 18px 18px 14px; } .tx-cookie-dialog h2 { font-size: 25px; }
  .tx-cookie-dialog__body { padding: 16px 18px 8px; } .tx-cookie-dialog #tx-cookie-dialog-intro { font-size: 14px; }
  .tx-cookie-category__heading { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  .tx-cookie-category h3 { font-size: 16px; } .tx-cookie-category p { font-size: 14px; }
  .tx-cookie-dialog__footer { padding: 12px 16px; } .tx-cookie-dialog__footer p { font-size: 11px; }
  .tx-cookie-feedback { bottom: 90px; left: 12px; max-width: calc(100% - 24px); font-size: 13px; }
}
@media (max-width: 359px) { .tx-cookie .tx-cookie__actions { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .tx-cookie-switch__track, .tx-cookie-switch__track::after { transition: none; } }


.tx-cookie, .tx-cookie-dialog, .tx-cookie * , .tx-cookie-dialog * { box-sizing: border-box; }
.tx-cookie__actions > .tx-cookie__secondary { color: #1c7058; background: #fff; border: 2px solid #1c7058; }
.tx-cookie__actions > .tx-cookie__secondary:hover { background: #edf4f0; color: #155540; }
.tx-cookie__policy { padding-top: 12px; }
.tx-cookie .tx-cookie__policy { font-size: 12px; margin-bottom: 0; padding-top: 0; text-align: center; }
.tx-cookie a, .tx-cookie-dialog a { color: #1c7058; text-decoration: underline; }
.trixen-consent-link { appearance: none; border: 0; background: transparent; padding: .4rem 0; color: inherit; font: inherit; min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: .2em; }
.trixen-consent-link[hidden] { display: none !important; }
.trixen-consent-link:focus-visible { outline: 3px solid #ae7130; outline-offset: 4px; }
.tx-cookie-feedback[hidden] { display: none !important; }
