.journey-consent[hidden] { display: none; }
.journey-consent { position: fixed; bottom: 20px; right: 20px; width: min(360px, calc(100% - 40px)); max-height: calc(100dvh - 40px); overflow: auto; box-sizing: border-box; z-index: 10000; padding: 20px; color: #233449; background: #f8fbff; border: 1px solid #c4d4e4; border-radius: 12px; box-shadow: 0 12px 40px #0005; font-family: inherit; }
.journey-consent h2 { color: #102236; font-size: 18px !important; line-height: 1.3 !important; letter-spacing: -.02em; margin: 0 0 8px; }
.journey-consent p { color: #364a60; font-size: 13px; line-height: 1.5; margin: 0 0 10px; }
.journey-actions { display: flex; gap: 10px; }
.journey-actions button { flex: 1; min-height: 40px; border: 1px solid #547086; border-radius: 6px; padding: 8px 12px; background: #fff; color: #17394c; font: inherit; font-weight: 600; font-size: 13px; cursor: pointer; }
.journey-actions #journeyAllow { background: #17394c; border-color: #17394c; color: #fff; }
.journey-actions button:hover { box-shadow: inset 0 0 0 1px currentColor; }
.journey-preferences { background: #101a28; padding: 8px 24px 20px; text-align: center; }
.journey-preferences button { padding: 12px; background: transparent; border: 0; color: #b5c4d3; text-decoration: underline; font: inherit; font-size: 12px; cursor: pointer; }
.journey-consent :focus-visible { outline: 3px solid #167c98; outline-offset: 3px; }
.journey-preferences button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media (max-width: 480px) { .journey-consent { bottom: 12px; right: 12px; width: calc(100% - 24px); padding: 18px; } }
