/* Your Cruise Person - Cookiebot consent banner, painted in Deck.
   Written 17 Sep 2026 by Claude (AI). Loaded on all 9 live pages.

   WHY THIS FILE EXISTS: Cookiebot's own admin only exposes a handful of
   colour pickers, and nothing for type, radius or spacing. Everything that
   makes the banner look like the rest of the site is done here instead, so
   the styling lives in the repo rather than in a dashboard that can be
   reset by anyone with the login.

   HOW IT WORKS: Cookiebot injects its own stylesheet at runtime, so every
   rule below is scoped under #CybotCookiebotDialog and carries !important.
   That is Cookiebot's own documented override method, not a hack. If
   Cookiebot ever changes its markup, the banner falls back to their default
   styling - it never breaks, it just stops matching.

   Selectors verified against a production Cookiebot "Swift" banner, not
   guessed. Tokens are Deck, verbatim from css/site.css. */

:root{
  --cb-paper:#F4F7FA;
  --cb-ink:#14213C;
  --cb-ink-2:#41506B;
  --cb-ink-3:#5F6B84;
  --cb-sea:#1D6E96;
  --cb-sky:#CBE1F4;
  --cb-coral:#E4795E;
  --cb-coral-hover:#EA8770;
  --cb-surface:#FFFFFF;
  --cb-line:rgba(20,33,60,.14);
  --cb-serif:"Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --cb-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* ---------- the dim behind the dialog ---------- */
.CybotCookiebotFader,
#CybotCookiebotDialogBodyUnderlay{
  background:rgba(20,33,60,.42) !important;
}

/* ---------- dialog shell ---------- */
#CybotCookiebotDialog{
  font-family:var(--cb-sans) !important;
  color:var(--cb-ink) !important;
  background:var(--cb-surface) !important;
  border:1px solid var(--cb-line) !important;
  border-radius:14px !important;
  box-shadow:0 1px 2px rgba(20,33,60,.05),0 24px 60px -18px rgba(20,33,60,.35) !important;
  max-width:660px !important;
  overflow:hidden !important;
}
#CybotCookiebotDialog *{
  font-family:var(--cb-sans) !important;
}
#CybotCookiebotDialog a{
  color:var(--cb-sea) !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}
#CybotCookiebotDialog a:hover{ color:var(--cb-ink) !important; }

/* ---------- header strip (holds the logo) ---------- */
#CybotCookiebotDialogHeader{
  background:var(--cb-paper) !important;
  border-bottom:1px solid var(--cb-line) !important;
  padding:14px 22px !important;
}
#CybotCookiebotDialogHeaderLogosWrapper img,
#CybotCookiebotDialogHeader img{
  max-height:26px !important;
  width:auto !important;
}

/* ---------- tabs: Consent / Details / About ---------- */
#CybotCookiebotDialogNav{
  border-bottom:1px solid var(--cb-line) !important;
  background:var(--cb-surface) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink{
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  color:var(--cb-ink-3) !important;
  border-bottom:2px solid transparent !important;
  text-decoration:none !important;
  padding:14px 4px !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink:hover{
  color:var(--cb-ink) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive{
  color:var(--cb-ink) !important;
  border-bottom-color:var(--cb-sea) !important;
}

/* ---------- headline and body copy ----------
   Fraunces 600, never below 20px, per the site's own type rule. */
#CybotCookiebotDialogBodyContentTitle{
  font-family:var(--cb-serif) !important;
  font-weight:600 !important;
  font-size:22px !important;
  line-height:1.15 !important;
  letter-spacing:-.015em !important;
  font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 96 !important;
  color:var(--cb-ink) !important;
  margin-bottom:8px !important;
}
#CybotCookiebotDialogBodyContentText,
#CybotCookiebotDialogDetailBodyContentTextAbout{
  font-size:15px !important;
  line-height:1.55 !important;
  color:var(--cb-ink-2) !important;
}
#CybotCookiebotDialogBodyContent{ padding:22px !important; }

/* ---------- category toggles ---------- */
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonLabel,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDescription{
  font-size:13px !important;
  font-weight:500 !important;
  color:var(--cb-ink-2) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider{
  background-color:rgba(20,33,60,.24) !important;
  border-radius:999px !important;
}
#CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider{
  background-color:var(--cb-sea) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider:before{
  background-color:#fff !important;
  box-shadow:0 1px 2px rgba(20,33,60,.3) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDisabled
  + .CybotCookiebotDialogBodyLevelButtonSlider,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDisabled{
  opacity:.55 !important;
}

/* ---------- buttons ----------
   One bright thing per screen and it is the button: coral with NAVY text.
   White on coral measures 2.9:1 and fails AA; navy on coral is 5.5:1.

   Deny is the same size, weight and font as Allow all, and differs only in
   fill. That is deliberate: a reject that is visibly harder to find is the
   thing regulators call a dark pattern. If you want them identical, give
   the deny rule the same coral background as the allow rule. */
#CybotCookiebotDialogFooter,
#CybotCookiebotDialogBodyButtons{
  background:var(--cb-paper) !important;
  border-top:1px solid var(--cb-line) !important;
  padding:16px 22px !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton{
  font-family:var(--cb-sans) !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  border-radius:10px !important;
  padding:13px 20px !important;
  min-height:48px !important;
  border:1px solid var(--cb-ink) !important;
  background:var(--cb-surface) !important;
  color:var(--cb-ink) !important;
  text-decoration:none !important;
  transition:background-color .15s ease,color .15s ease !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton:hover{
  background:var(--cb-sky) !important;
  color:var(--cb-ink) !important;
}
/* the primary: allow all */
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
#CybotCookiebotDialogBodyButtonAccept{
  background:var(--cb-coral) !important;
  border-color:var(--cb-coral) !important;
  color:var(--cb-ink) !important;
}
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll:hover,
#CybotCookiebotDialogBodyButtonAccept:hover{
  background:var(--cb-coral-hover) !important;
  border-color:var(--cb-coral-hover) !important;
  color:var(--cb-ink) !important;
}
/* keyboard focus - visible on both fills */
#CybotCookiebotDialog .CybotCookiebotDialogBodyButton:focus-visible,
#CybotCookiebotDialog a:focus-visible,
#CybotCookiebotDialog input:focus-visible + .CybotCookiebotDialogBodyLevelButtonSlider{
  outline:3px solid var(--cb-sea) !important;
  outline-offset:2px !important;
}

/* ---------- details tab: cookie tables ---------- */
#CybotCookiebotDialog .CookieCard,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieContainerTypes{
  background:var(--cb-surface) !important;
  border:1px solid var(--cb-line) !important;
  border-radius:10px !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieProvider,
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieInfoCount{
  font-size:12px !important;
  color:var(--cb-ink-3) !important;
}
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieContainerButton{
  color:var(--cb-ink) !important;
}

/* ---------- Cookiebot's own badge ----------
   Branding removal is a paid feature, so this keeps it present but quiet
   rather than trying to hide it. Do not set display:none here; that is a
   licence question, not a CSS one. */
#CybotCookiebotDialogPoweredByText,
#CybotCookiebotDialogPoweredbyCybot{
  font-size:11px !important;
  color:var(--cb-ink-3) !important;
  opacity:.75 !important;
}

/* ---------- the floating privacy trigger, if it is switched on ---------- */
#CookiebotWidget .CookiebotWidget-logo svg circle{ fill:var(--cb-sea) !important; }
#CookiebotWidget{ font-family:var(--cb-sans) !important; }

/* ---------- phones ---------- */
@media (max-width:600px){
  #CybotCookiebotDialog{
    border-radius:14px 14px 0 0 !important;
    max-width:100% !important;
  }
  #CybotCookiebotDialogBodyContentTitle{ font-size:20px !important; }
  #CybotCookiebotDialogBodyButtons{ display:flex !important; flex-direction:column !important; gap:10px !important; }
  #CybotCookiebotDialog .CybotCookiebotDialogBodyButton{ width:100% !important; margin:0 !important; }
}

@media (prefers-reduced-motion:reduce){
  #CybotCookiebotDialog,#CybotCookiebotDialog *{ transition:none !important; animation:none !important; }
}

/* ---------- the no-cookies fallback line on the two form pages ----------
   Shown by default; the snippet before </body> hides it once marketing
   consent exists, so people who accepted do not read an instruction that
   no longer applies to them. */
[data-cookieconsent-fallback]{
  font-size:14px !important;
  color:var(--cb-ink-3) !important;
}
