/**
 * Consentmanager (CMP) – Globetrotter Premium Travel
 * Uses site CSS variables from layout (--font-saldo, --font-roboto, brand colors).
 * WCAG mode: injected into #cmpwrapper shadowRoot via ConsentManagerBranding.
 * Upload a copy to the CMP design settings for non-hosted previews.
 */

#cmpbox,
#cmpbox.cmpbox,
.cmpbox {
  background-color: #f7f4e9 !important;
  border: 1px solid #d6dcc8 !important;
  border-top: solid 12px #c09a5d !important;
  border-radius: 12px !important;
  box-shadow: 0 25px 50px -12px rgba(26, 26, 25, 0.22) !important;
  color: #1a1a19 !important;
}

#cmpbox2,
.cmpboxBG {
  background-color: rgba(26, 26, 25, 0.55) !important;
}

#cmpboxrecall {
  display: none;
}

.cmpbox *,
.cmpbox > * {
  font-family: var(--font-roboto), 'Roboto', system-ui, sans-serif !important;
  font-weight: 300;
  letter-spacing: normal;
  transition-duration: 0.2s !important;
  color: #1a1a19;
}

.cmpboxhl,
.cmpprpshl,
.cmptxt_hl,
.cmpallprps,
.cmptbl TH.cmpcookietblth,
.cookieinfotable th {
  font-family: var(--font-saldo), 'Saldo', Georgia, serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

*.cmpboxhl {
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
}

.cmponofftext {
  font-size: 0.875rem;
}

.cmpboxnaviitemactive {
  background-color: #c09a5d !important;
  color: #f7f4e9 !important;
}

.cmpboxnaviitem {
  border-radius: 12px !important;
  padding: 0.75rem 1.25rem !important;
  line-height: 1.3 !important;
  font-size: 0.875rem !important;
  word-break: break-word;
  border: 1px solid transparent;
}

.cmpboxnaviitem:hover {
  background-color: #e1e7d5 !important;
  color: #1a1a19 !important;
}

.cmpboxnaviitemactive:hover {
  background-color: #a88142 !important;
  color: #f7f4e9 !important;
}

.cmpboxnaviitemtxt {
  font-weight: 500;
}

.cmpfullscreen *.cmpboxbtnyes,
.cmpfullscreen A.cmpboxbtnyes,
.cmpfullscreen A.cmpboxbtnyes:link,
.cmptbl TH {
  font-size: 0.875rem !important;
  line-height: 1.3 !important;
  padding: 0.75rem 1.25rem !important;
  font-weight: 500 !important;
  color: #f7f4e9 !important;
}

.cmptbl TH {
  border-bottom: none;
  text-align: left;
}

.cmptblanddescrdiv th {
  border-radius: 12px;
}

.cmptbl .cmpcookietbl Td {
  border-bottom: none;
}

.cmptbl .cmppurposebox2 {
  border-bottom: none !important;
}

.cmptbl .cmpallprps,
.cmptbl .cmpallvend,
.cmptbl .cmpvenditem {
  background-color: #f7f4e9;
  color: #1a1a19 !important;
  padding-left: 0 !important;
}

/* Primary actions: accept / save */
*.cmpboxbtnyes,
A.cmpboxbtnyes,
A.cmpboxbtnyes:link,
A.cmpboxbtnaccept,
A.cmpboxbtnaccept:link,
*.cmpboxbtnsave,
A.cmpboxbtnsave,
A.cmpboxbtnsave:link {
  font-size: 1rem !important;
  line-height: 1.3 !important;
  padding: 0.75rem 1.25rem !important;
  font-weight: 500 !important;
  color: #f7f4e9 !important;
  box-shadow: none !important;
  font-family: var(--font-roboto), 'Roboto', system-ui, sans-serif !important;
  background-color: #c09a5d !important;
  border: 1px solid #c09a5d !important;
}

/* Secondary actions: reject / deny */
*.cmpboxbtnno,
A.cmpboxbtnno,
A.cmpboxbtnno:link,
A.cmpboxbtnreject,
A.cmpboxbtnreject:link {
  font-size: 1rem !important;
  line-height: 1.3 !important;
  padding: 0.75rem 1.25rem !important;
  font-weight: 500 !important;
  color: #1a1a19 !important;
  box-shadow: none !important;
  font-family: var(--font-roboto), 'Roboto', system-ui, sans-serif !important;
  background-color: #ffffff !important;
  border: 1px solid #d6dcc8 !important;
}

.cmpboxbtn span {
  font-weight: 500;
  display: block;
}

svg.cmpicosvgfill {
  fill: #c09a5d !important;
  transform: translateY(1px);
}

/* Accept / save: gold button – icon must contrast (cream white) */
.cmpboxbtnaccept svg.cmpicosvgfill,
A.cmpboxbtnaccept svg.cmpicosvgfill,
.cmpboxbtnyes svg.cmpicosvgfill,
A.cmpboxbtnyes svg.cmpicosvgfill,
.cmpboxbtnsave svg.cmpicosvgfill,
A.cmpboxbtnsave svg.cmpicosvgfill,
*.cmpboxbtnaccept svg.cmpicosvgfill,
*.cmpboxbtnyes svg.cmpicosvgfill,
*.cmpboxbtnsave svg.cmpicosvgfill {
  fill: #f7f4e9 !important;
}

.cmpboxinner,
.cmpboxinner2 {
  padding-top: 3rem;
}

/* Logo – size matches header; src synced via ConsentManagerBranding */
.cmplogo {
  display: block !important;
  margin-bottom: 1rem;
}

.cmplogo img,
.cmplogo .cmpdl,
.cmplogo a img {
  display: block;
  width: auto !important;
  max-width: min(220px, 70vw) !important;
  max-height: 48px !important;
  height: auto !important;
  object-fit: contain;
}

.cmpcookiepolicylink,
.cmptdborder a,
.cmpmorelink,
A.cmpmorelink,
A.cmpmorelink:link,
.cmpmore A,
.cmpmore A:link {
  color: #c09a5d !important;
  text-decoration: none;
}

.cmpcookiepolicylink:hover,
.cmptdborder a:hover,
.cmpmorelink:hover,
A.cmpmorelink:hover,
.cmpmore A:hover {
  text-decoration: underline;
}

.cmpdatacategories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.cmpdatacategories .cmpdatacategory {
  background-color: #e1e7d5;
  padding: 0.2rem 0.75rem;
  border-radius: 6px;
  line-height: 1.75;
  margin: 0;
  font-size: 0.875rem;
}

.cmptdborder {
  padding-right: 3rem !important;
  padding-top: 1.25rem;
}

.cmpvendboxclose,
A.cmpvendboxclose,
A.cmpvendboxclose:link {
  position: absolute;
  right: 0.5rem;
  top: 1rem !important;
  color: #1a1a19 !important;
}

.cookieinfotable td,
.cmptbl Td {
  font-size: 0.875rem;
  word-break: break-word;
  color: #1a1a19;
}

.cmpfullscreen *.cmpboxtxt,
.cmpfullscreen,
.cmpprpsdescr,
td.cmpvendname,
.cmpfullscreen A.cmpvendurl,
.cmpfullscreen A.cmpvendurl:link {
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  text-align: left !important;
  color: #1a1a19 !important;
}

*.cmpboxtxt,
td.cmpvendname {
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}

.cmpwelcomeprpstxt,
.cmpwelcomeprpstxt A:link,
.cmpwelcomeprpsbtn,
.cmpwelcomeprpsbtn A:link,
.cmpwelcomeprpsbtn span {
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}

.cmpboxbtnno,
.cmpboxbtnyes,
A.cmpboxbtnno,
A.cmpboxbtnno:link,
A.cmpboxbtnyes,
A.cmpboxbtnyes:link,
.cmpboxbtnaccept,
.cmpboxbtnreject,
.cmpboxbtnsave,
.cmpboxbtnyes,
A.cmpboxbtnaccept,
A.cmpboxbtnaccept:link,
A.cmpboxbtnreject,
A.cmpboxbtnreject:link,
A.cmpboxbtnsave,
A.cmpboxbtnsave:link,
A.cmpboxbtnyes,
A.cmpboxbtnyes:link {
  border-radius: 12px !important;
}

.cmpprpshl,
.cmptxt_hl,
.cmpboxhl,
.cmpallprps {
  font-size: 0.875rem !important;
}

.cmptbl TH.cmpcookietblth,
.cookieinfotable th {
  color: #1a1a19 !important;
  padding-left: 0 !important;
}

.cookieinfotable th {
  font-size: 0.875rem !important;
}

*.cmpboxbtnyes:hover,
A.cmpboxbtnyes:hover,
A.cmpboxbtnyes:link:hover,
A.cmpboxbtnaccept:hover,
A.cmpboxbtnaccept:link:hover,
*.cmpboxbtnsave:hover,
A.cmpboxbtnsave:hover,
A.cmpboxbtnsave:link:hover {
  background-color: #a88142 !important;
  border-color: #a88142 !important;
}

*.cmpboxbtnno:hover,
A.cmpboxbtnno:hover,
A.cmpboxbtnno:link:hover,
A.cmpboxbtnreject:hover,
A.cmpboxbtnreject:link:hover {
  background-color: #e1e7d5 !important;
  border-color: #c09a5d !important;
  color: #1a1a19 !important;
}

.cmpboxbtn {
  width: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.cmpboxbtns {
  gap: 0.5rem;
}

.cmpclose,
A.cmpclose,
A.cmpclose:link {
  color: #1a1a19 !important;
  opacity: 0.7;
}

.cmpclose:hover,
A.cmpclose:hover {
  opacity: 1;
}

@media screen and (max-width: 715px) {
  #cmpbox {
    top: 50% !important;
    left: 0;
    width: auto;
    min-height: 75%;
    max-height: none;
    transform: translate3d(0, -50%, 0) !important;
    margin: 0 1rem;
  }

  #cmpbox *.cmpboxbtnyes,
  #cmpbox A.cmpboxbtnyes,
  #cmpbox A.cmpboxbtnyes:link,
  #cmpbox *.cmpboxbtnno,
  #cmpbox A.cmpboxbtnno,
  #cmpbox A.cmpboxbtnno:link,
  #cmpbox *.cmpboxbtnsave,
  #cmpbox A.cmpboxbtnsave,
  #cmpbox A.cmpboxbtnsave:link,
  #cmpbox A.cmpboxbtnaccept,
  #cmpbox A.cmpboxbtnaccept:link,
  #cmpbox A.cmpboxbtnreject,
  #cmpbox A.cmpboxbtnreject:link {
    font-size: 0.9375rem !important;
    padding: 0.65rem 1rem !important;
  }

  #cmpbox .cmpboxnaviitem {
    font-size: 0.9375rem !important;
  }

  #cmpbox .cmpfullscreen *.cmpboxtxt,
  #cmpbox .cmpfullscreen .cmpboxtxt,
  #cmpbox .cmpfullscreen,
  #cmpbox .cmpprpsdescr,
  #cmpbox td.cmpvendname,
  #cmpbox .cmpfullscreen A.cmpvendurl,
  #cmpbox .cmpfullscreen A.cmpvendurl:link,
  #cmpbox .cmpboxtxtcustomcoices,
  #cmpbox .cmptxt_txt,
  #cmpbox .cmpwelcomeprpstxt,
  #cmpbox td .cmpboxtxt {
    font-size: 0.9375rem !important;
    line-height: 1.45 !important;
  }

  #cmpbox .cmpboxdetails {
    padding-top: 1.5rem;
  }

  #cmpbox .cmpprpsdescr {
    padding: 0 !important;
  }

  #cmpbox .cmpboxbtnscustomchoices {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  #cmpbox .cmpboxbtnscustomchoices a {
    text-align: left;
  }

  #cmpbox .cmpboxbtns {
    border-top: 1px solid #d6dcc8;
    padding-top: 1rem;
  }
}

@media (max-height: 926px) and (max-width: 480px) and (orientation: portrait) {
  .cmpboxcontent {
    padding-right: 1.25rem;
  }

  .cmplogo img,
  .cmplogo .cmpdl {
    max-width: 150px !important;
    max-height: 40px !important;
  }

  .cmpbox.cmpfullscreen {
    max-height: 75% !important;
    height: 75% !important;
  }
}
