.tw-consent[hidden], .tw-analytics-settings[hidden] { display: none !important; }
.tw-consent { box-sizing: border-box; position: fixed; z-index: 100; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%); width: min(680px, calc(100vw - 28px)); display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; padding: 13px 18px; background: #fafbf5f5; color: #304e3d; border: 1px solid #d8dfd0; border-radius: 14px; backdrop-filter: blur(10px); box-shadow: 0 12px 40px #304e3d1f; text-align: left; font: 13px/1.6 system-ui, sans-serif; }
.tw-consent p { flex: 1 1 300px; margin: 0; font: inherit; color: inherit; text-transform: none; letter-spacing: normal; }
.tw-consent a { color: #365d40; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.tw-consent-actions { display: flex; gap: 10px; }
.tw-consent button { padding: 9px 16px; border-radius: 10px; font: 600 13px/1.4 system-ui, sans-serif; cursor: pointer; min-height: 40px; }
.tw-consent-decline { background: #edf0e7; color: #304e3d; border: 1px solid #d8dfd0; }
.tw-consent-accept { background: #304e3d; color: #fff; border: 1px solid #304e3d; }
.tw-consent button:hover { filter: brightness(.96); }
.tw-analytics-settings { text-decoration: underline; text-underline-offset: 4px; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.tw-analytics-settings:hover { text-decoration: underline; text-underline-offset: 4px; }
.tw-consent :focus-visible, .tw-analytics-settings:focus-visible { outline: 2px solid #6e8860; outline-offset: 4px; }
@media(max-width: 480px) { .tw-consent { gap: 12px; } .tw-consent-actions { width: 100%; } .tw-consent button { flex: 1; min-height: 44px; } }
