#passenger-privacy-banner, #passenger-cookie-settings {
  box-sizing: border-box;
  font: 14px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #172449;
}
#passenger-privacy-banner *, #passenger-cookie-settings { box-sizing: border-box; }
#passenger-privacy-banner {
  position: fixed; z-index: 10000; bottom: 12px; left: 14px; right: 14px;
  max-width: 1840px; min-height: 130px; margin: 0 auto; padding: 16px 22px;
  background: #fff; border: 1px solid #c6cbd4; border-radius: 0 0 18px 18px;
  box-shadow: 0 5px 22px #0002; max-height: calc(100dvh - 24px); overflow-y: auto;
}
#passenger-privacy-banner [hidden], #passenger-privacy-banner[hidden], #passenger-cookie-settings[hidden] { display: none; }
#passenger-privacy-banner[data-privacy-document] { position: relative; inset: auto; max-height: none; width: calc(100% - 28px); margin: 16px auto; }
#passenger-privacy-banner .privacy-layout { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 28px; align-items: center; }
#passenger-privacy-banner h2 { margin: 0 0 6px; font-size: 16px; font-weight: 650; line-height: 1.35; color: #172449; }
#passenger-privacy-banner p { margin: 0; color: #34415d; font-size: 14px; line-height: 1.5; }
#passenger-privacy-banner a, #passenger-privacy-banner .privacy-text-action { color: #172449; text-decoration: underline; text-underline-offset: 3px; }
#passenger-privacy-banner .privacy-links { display: flex; flex-wrap: wrap; gap: 4px 15px; margin-top: 8px; font-size: 12px; }
#passenger-privacy-banner .privacy-text-action { border: 0; background: transparent; font: inherit; padding: 0; min-height: 0; cursor: pointer; }
#passenger-privacy-banner .privacy-status { margin-top: 7px; font-size: 12px; color: #556078; }
#passenger-privacy-banner .privacy-actions { display: flex; flex-direction: column; gap: 8px; }
#passenger-privacy-banner .privacy-choice {
  width: 100%; padding: 7px 12px; border: 1px solid #010f3e; border-radius: 4px;
  color: #fff; background: #010f3e; font: inherit; font-weight: 650; cursor: pointer; min-height: 38px;
}
#passenger-privacy-banner .privacy-choice:hover { background: #162b60; }
#passenger-privacy-banner .privacy-outline { background: #fff; color: #010f3e; }
#passenger-privacy-banner .privacy-outline:hover { background: #f1f4fa; }
#passenger-privacy-banner .privacy-category { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 0; border-top: 1px solid #e0e4eb; }
#passenger-privacy-banner .privacy-category-title, #passenger-privacy-banner .privacy-category h3 { display: block; margin: 0 0 2px; color: #172449; font: inherit; font-weight: 650; }
#passenger-privacy-banner .privacy-category-description, #passenger-privacy-banner .privacy-category p { display: block; margin: 0; font-size: 13px; line-height: 1.5; color: #556078; }
#passenger-privacy-banner .privacy-category input { width: 21px; height: 21px; min-width: 21px; min-height: 21px; flex-shrink: 0; accent-color: #010f3e; cursor: pointer; }
#passenger-privacy-banner .privacy-always-on { color: #556078; font-size: 12px; white-space: nowrap; }
#passenger-cookie-settings { position: fixed; bottom: max(12px, env(safe-area-inset-bottom)); left: 14px; z-index: 9999; border: 1px solid #010f3e; border-radius: 4px; padding: 7px 12px; background: #fff; color: #010f3e; cursor: pointer; box-shadow: 0 2px 8px #0002; font-size: 12px; }
#passenger-cookie-settings:hover { background: #f1f4fa; }
#passenger-privacy-banner :focus-visible, #passenger-cookie-settings:focus-visible { outline: 3px solid #d99732; outline-offset: 3px; }
#passenger-privacy-banner h2:focus { outline: none; }
@media (max-width: 700px) {
  #passenger-privacy-banner { left: 10px; right: 10px; bottom: 10px; min-height: 0; padding: 14px 16px; border-radius: 0 0 16px 16px; }
  #passenger-privacy-banner .privacy-layout { grid-template-columns: 1fr; gap: 12px; }
  #passenger-privacy-banner p { font-size: 13px; line-height: 1.5; }
  #passenger-privacy-banner .privacy-actions { flex-direction: row; flex-wrap: wrap; gap: 8px; }
  #passenger-privacy-banner .privacy-choice { flex: 1; min-width: 120px; font-size: 13px; min-height: 42px; }
  #passenger-privacy-banner [data-privacy-save] { flex-basis: 100%; }
  #passenger-privacy-banner .privacy-links { gap: 4px 13px; }
  #passenger-privacy-banner .privacy-category { gap: 16px; padding: 9px 0; }
  #passenger-privacy-banner .privacy-category-description, #passenger-privacy-banner .privacy-category p { font-size: 12px; }
}
