:root {
  --iceq-ui-accent: var(--template-link-color, var(--cassiopeia-color-primary, var(--bs-primary, var(--blue, #175f8d))));
  --iceq-ui-ink: var(--body-color, var(--bs-body-color, var(--ink, currentColor)));
  --iceq-ui-muted: var(--secondary-color, var(--bs-secondary-color, color-mix(in srgb, var(--iceq-ui-ink) 76%, transparent)));
  --iceq-ui-bg: var(--body-bg, var(--bs-body-bg, var(--paper, #fff)));
  --iceq-ui-surface: var(--card-bg, var(--bs-body-bg, var(--paper, #fff)));
  --iceq-ui-line: var(--border-color, var(--bs-border-color, var(--line, color-mix(in srgb, currentColor 16%, transparent))));
  --iceq-ui-heading-font: var(--cassiopeia-font-family-headings, var(--headings-font-family, inherit));
  --iceq-ui-body-font: var(--body-font-family, var(--bs-body-font-family, inherit));
}

:where(.iceq-form,.iceq-contact-form,.iceq-consent,.iceq-consent-manage,.iceq-a11y-panel,.iceq-a11y-launch,.iceq-gallery,.iceq-lightbox,.iceq-video,.iceq-reviews,.iceq-restaurant-menu,.iceq-documents,.iceq-downloads,.iceq-events,.iceq-qr) {
  font-family: var(--iceq-ui-body-font) !important;
}

:where(.iceq-form,.iceq-contact-form,.iceq-reviews,.iceq-restaurant-menu,.iceq-documents,.iceq-downloads,.iceq-events) :where(h1,h2,h3,h4) {
  font-family: var(--iceq-ui-heading-font) !important;
  letter-spacing: inherit !important;
}

:where(.iceq-form,.iceq-contact-form,.iceq-reviews,.iceq-restaurant-menu,.iceq-documents,.iceq-downloads,.iceq-events) {
  color: var(--iceq-ui-ink);
}

.iceq-form,
.iceq-contact-form {
  --iceq-booking-accent: var(--iceq-ui-accent);
  --iceq-booking-ink: var(--iceq-ui-ink);
  --iceq-booking-muted: var(--iceq-ui-muted);
  --iceq-form-accent: var(--iceq-ui-accent);
  --iceq-form-ink: var(--iceq-ui-ink);
  --iceq-form-muted: var(--iceq-ui-muted);
  border-color: var(--iceq-ui-line);
  background: var(--iceq-ui-surface);
  color: var(--iceq-ui-ink);
}

:where(.iceq-form,.iceq-contact-form) :where(input,select,textarea) {
  border-color: var(--iceq-ui-line) !important;
  background: var(--iceq-ui-bg) !important;
  color: var(--iceq-ui-ink) !important;
  font-family: inherit !important;
}

:where(.iceq-form,.iceq-contact-form) :where(button,[type="submit"]) {
  border-color: var(--iceq-ui-accent) !important;
  background: var(--iceq-ui-accent) !important;
  color: var(--btn-primary-color, #fff) !important;
  font-family: inherit !important;
}

.iceq-consent {
  --iceq-consent-accent: var(--iceq-ui-accent) !important;
  font-family: var(--iceq-ui-body-font) !important;
}

.iceq-consent__panel,
.iceq-consent button,
.iceq-consent-manage {
  border-color: var(--iceq-ui-line);
  background: var(--iceq-ui-surface);
  color: var(--iceq-ui-ink);
}

.iceq-consent__choices {
  border-color: var(--iceq-ui-line);
}

.iceq-consent button.is-primary {
  border-color: var(--iceq-ui-accent);
  background: var(--iceq-ui-accent);
  color: var(--btn-primary-color, #fff);
}

.iceq-a11y-launch {
  background: var(--iceq-ui-accent);
  color: var(--btn-primary-color, #fff);
  font-family: inherit;
}

.iceq-a11y-panel {
  background: var(--iceq-ui-surface);
  color: var(--iceq-ui-ink);
}

.iceq-a11y-panel header,
.iceq-a11y-panel footer,
.iceq-a11y-summary {
  background: color-mix(in srgb, var(--iceq-ui-accent) 6%, var(--iceq-ui-surface));
}

.iceq-a11y-panel [data-iceq-a11y-results] button {
  border-color: var(--iceq-ui-line);
  background: var(--iceq-ui-bg);
  color: var(--iceq-ui-ink);
  font-family: inherit;
}

.iceq-gallery {
  --iceq-gallery-accent: var(--iceq-ui-accent);
  color: var(--iceq-ui-ink);
}

.iceq-gallery__controls button {
  border-color: var(--iceq-ui-line);
  background: var(--iceq-ui-surface);
  color: var(--iceq-ui-ink);
  font-family: inherit;
}

.iceq-gallery__controls span,
.iceq-gallery__overlay :where(b,i,em),
.iceq-lightbox__caption {
  font-family: inherit !important;
}

.iceq-gallery :focus-visible,
.iceq-lightbox button:focus-visible {
  outline-color: var(--iceq-ui-accent) !important;
}

.iceq-video {
  --iceq-video-accent: var(--iceq-ui-accent);
  font-family: var(--iceq-ui-body-font);
}

.iceq-video :where(button,a,figcaption,figcaption span,figcaption strong,.iceq-video__loading,.iceq-video__duration,.iceq-video__play-text) {
  font-family: inherit !important;
}

.iceq-video figcaption span,
.iceq-video__transcript:hover,
.iceq-video__download:hover {
  color: color-mix(in srgb, var(--iceq-ui-accent) 55%, #fff);
}

.iceq-reviews__eyebrow,
.iceq-review:hover {
  --template-link-color: var(--iceq-ui-accent);
}

.iceq-review {
  border-color: var(--iceq-ui-line);
  background: var(--iceq-ui-surface);
  color: var(--iceq-ui-ink);
}

.iceq-review__avatar {
  background: var(--iceq-ui-accent) !important;
  color: var(--btn-primary-color, #fff);
}

.iceq-restaurant-menu {
  --iceq-menu-accent: var(--iceq-ui-accent);
  --iceq-menu-ink: var(--iceq-ui-ink);
  --iceq-menu-muted: var(--iceq-ui-muted);
  --iceq-menu-line: var(--iceq-ui-line);
}

.iceq-restaurant-menu :where(button,input,select) {
  font-family: inherit !important;
}

.iceq-restaurant-menu__categories button,
.iceq-restaurant-menu__category-select select,
.iceq-restaurant-menu__tools input,
.iceq-restaurant-menu__tools select {
  border-color: var(--iceq-ui-line);
  background: var(--iceq-ui-bg);
  color: var(--iceq-ui-ink);
}

.iceq-restaurant-menu__tools,
.iceq-restaurant-menu__empty,
.iceq-restaurant-menu--nav-segmented .iceq-restaurant-menu__categories {
  border-color: var(--iceq-ui-line);
  background: color-mix(in srgb, var(--iceq-ui-ink) 3%, var(--iceq-ui-bg));
}

.iceq-documents {
  --doc-accent: var(--iceq-ui-accent);
  --doc-accent-dark: color-mix(in srgb, var(--iceq-ui-accent) 82%, #000);
  --doc-ink: var(--iceq-ui-ink);
  --doc-muted: var(--iceq-ui-muted);
  --doc-line: var(--iceq-ui-line);
  font-family: var(--iceq-ui-body-font);
}

.iceq-documents :where(input,select,button,a) {
  font-family: inherit;
}

.iceq-document,
.iceq-documents__search input,
.iceq-documents__search select,
.iceq-documents__view {
  border-color: var(--iceq-ui-line) !important;
  background: var(--iceq-ui-surface) !important;
  color: var(--iceq-ui-ink) !important;
}

.iceq-downloads {
  --id-accent: var(--iceq-ui-accent);
  --id-accent-dark: color-mix(in srgb, var(--iceq-ui-accent) 82%, #000);
  --id-ink: var(--iceq-ui-ink);
  --id-muted: var(--iceq-ui-muted);
  --id-line: var(--iceq-ui-line);
  font-family: var(--iceq-ui-body-font);
}

.iceq-download,
.iceq-downloads__empty {
  border-color: var(--iceq-ui-line);
  background: var(--iceq-ui-surface);
  color: var(--iceq-ui-ink);
}

.iceq-download__mark strong,
.iceq-download__mark small,
.iceq-download__contents strong {
  color: var(--iceq-ui-ink) !important;
}

body .content-container .iceq-download__meta,
.iceq-download__meta,
.iceq-download code,
.iceq-downloads__intro > span {
  color: var(--iceq-ui-muted) !important;
}

.iceq-events,
.iceq-event-dialog {
  --event-accent: var(--iceq-ui-accent);
  --event-ink: var(--iceq-ui-ink);
  --event-muted: var(--iceq-ui-muted);
  --event-line: var(--iceq-ui-line);
  --event-bg: var(--iceq-ui-surface);
}

.iceq-event > time,
.iceq-event__category {
  color: color-mix(in srgb, var(--category-color, var(--iceq-ui-accent)) 78%, #000) !important;
}

.iceq-qr {
  color: var(--iceq-ui-ink);
  font-family: var(--iceq-ui-body-font);
}

.iceq-back-to-top {
  --iceq-backtotop-bg: var(--iceq-ui-accent);
  --iceq-backtotop-color: var(--btn-primary-color, #fff);
  font-family: var(--iceq-ui-body-font);
}
