.trixen-consent[hidden], .trixen-consent-link[hidden] { display: none !important; }
.trixen-consent { position: fixed; z-index: 10000; bottom: 1.5rem; left: 1.5rem; width: min(34rem, calc(100vw - 3rem)); max-height: 65dvh; overflow-y: auto; box-sizing: border-box; padding: 1.35rem; background: #fff; color: #092236; border: 1px solid #cbdcd4; border-top: 4px solid #1c7b60; box-shadow: 0 6px 36px #09223626; border-radius: 12px; font: 400 1rem/1.55 system-ui, sans-serif; }
.trixen-consent strong { font-size: 1.15rem; }
.trixen-consent p { font: inherit; color: inherit; margin: .7rem 0; }
.trixen-consent a, .trixen-consent-link { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.trixen-consent .trixen-consent__detail, .trixen-consent .trixen-consent__state { font-size: .9rem; }
.trixen-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.trixen-consent__actions button { appearance: none; font: 600 .95rem/1.4 system-ui, sans-serif; color: #fff; background: #1c7058; border: 1px solid #1c7058; border-radius: 6px; padding: .8rem; min-height: 48px; cursor: pointer; }
.trixen-consent__actions button:hover { background: #14523f; }
.trixen-consent :focus-visible, .trixen-consent-link:focus-visible { outline: 3px solid #c58c3d; outline-offset: 4px; }
.trixen-consent-link { appearance: none; background: transparent; border: 0; padding: .4rem 0; font: inherit; cursor: pointer; min-height: 44px; }
@media (max-width: 680px) {
  .trixen-consent { left: .65rem; width: calc(100vw - 1.3rem); bottom: calc(6.4rem + env(safe-area-inset-bottom)); padding: 1rem; max-height: 60dvh; }
  .trixen-consent__actions { grid-template-columns: 1fr; }
}
