/* CSS for Button Styling */

/* For live site installation, uncomment this: */
/* .logged-in .accessibility {
  display: block !important;
} */

.accessibility {
  display: block; /* For live site installation change to none */
  height: -webkit-fill-available;
  position: relative;
  color: var(--wp--preset--color--darkblue) !important;
}

.accessibility-toggle {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  height: -webkit-fill-available;
  font-size: 14px !important;
  font-weight: 700;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font-family: inherit;
  line-height: inherit;
}

.accessibility-toggle:hover {
  background-color: transparent !important;
  color: inherit !important;
}

.accessibility-toggle:focus-visible {
  outline: 2px solid var(--wp--preset--color--darkblue);
  outline-offset: 2px;
}

.accessibility-toggle svg {
  width: 18px;
  height: auto;
}

header .accessibility-optionlist {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateY(99%);
  width: max-content;
  margin: 0;
  list-style: none;
  padding: 0;
  flex-direction: column;
  background-color: #fff;
  color: var(--wp--preset--color--darkblue) !important;
  -webkit-box-shadow: 0px 20px 30px -10px rgb(6 37 71 / 50%);
  -moz-box-shadow: 0px 20px 30px -10px rgb(6 37 71 / 50%);
  box-shadow: 0px 20px 30px -10px rgb(6 37 71 / 50%);
  z-index: 10;
}

.accessibility:hover .accessibility-optionlist,
.accessibility:focus-within .accessibility-optionlist {
  display: flex;
}

.accessibility-optionlist li button {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background-color: transparent;
  color: inherit;
  padding: 16px !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 16px !important;
  line-height: 1;
}

.accessibility-optionlist li button:hover {
  color: var(--wp--preset--color--blue);
  background-color: transparent;
}

.modi-checkbox {
  width: 1rem;
  height: 1rem;
  border: 2px solid;
  border-color: inherit;
  display: inline-block;
  margin-left: 0px;
  position: relative;
}

.modi-checkbox::after {
  display: none;
  content: "";
  width: 5px;
  height: 10px;
  position: absolute;
  border-right: 2px solid;
  border-bottom: 2px solid;
  border-color: inherit;
  transform: rotate(45deg);
  left: 4.5px;
  top: 0px;
}

.accessibility-optionlist li button.is-active .modi-checkbox::after {
  display: block;
}

@media only screen and (max-width: 989px) {
  .accessibility {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
  }
}

/* Theme Styling for Accessibility Modes */
body,
header,
header .wp-block-navigation ul.wp-block-navigation__submenu-container,
.accessibility-optionlist,
footer {
  background: var(--theme-bg, #ffffff) !important;
  color: var(--theme-text) !important;
  border: var(--theme-border, none) !important;
}

body {
  border: 0 !important;
}

header {
  border-top: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
}

footer {
  --theme-bg: var(--wp--preset--color--grey-beige);
  border-bottom: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
}

/* Nur Dunkelmodus */
.mode-dm {
  --theme-bg: #091a2d;
  --theme-text: #e5e5e5;
  --wp--preset--color--darkblue: #2ca1ff;
  --wp--preset--color--blue: #f0faff;
  --wp--preset--color--lightgrey: #091a2d;
  --wp--preset--color--grey-beige: #000e1d;
  --wp--preset--color--black: #ffffff;
}

.mode-dm .wp-block-site-logo a {
  background-image: url("https://www.gwg-strasburg.com/wp-content/uploads/2026/08/GWG-Logo-Strasburg-invert.svg");
}

.mode-dm .wp-block-site-logo img {
  display: none;
}

.mode-dm button:not(.wp-block-accordion-heading__toggle):hover,
.mode-dm .image-carousel__description__button:hover,
.mode-dm .wp-element-button:hover,
.mode-dm .acf-form-submit input[type="submit"]:hover {
  color: var(--wp--preset--color--lightgrey);
  background-color: #83cdff;
  border-color: #83cdff;
}

.mode-dm .wpbc_container div.wpbc_wizard__border_container {
  --wpbc_form-field-background-color: #ffffff !important;
  --wpbc_form-field-border-color: #ffffff;
  --wpbc_form-label-color: var(--theme-text) !important;
  --wpbc_form-field-text-color: #061627 !important;
}

.mode-dm .accessibility-optionlist li button,
.mode-dm .wp-block-navigation-item__content {
  color: #ffffff !important;
}

.mode-dm .wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--darkblue) !important;
}

.mode-dm .accessibility-optionlist li button:hover {
  color: var(--wp--preset--color--darkblue);
  background-color: transparent;
}

.mode-dm .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content strong,
.mode-dm .has-grey-beige-background-color strong {
  color: #f0faff;
}

.mode-dm .wp-block-separator {
  border-color: #000e1d;
}

/* Nur Kontrastmodus (Helles Schema) */
.mode-bf {
  --theme-bg: #ffffff;
  --theme-text: #000000;
  --theme-border: 2px solid var(--wp--preset--color--darkblue);
  --wp--preset--color--blue: var(--wp--preset--color--darkblue);
  --wp--preset--color--grey-beige: transparent;
  --wp--preset--color--lightgrey: var(--wp--preset--color--darkblue);
}

.mode-bf .accessibility-optionlist {
  border: none !important;
  outline: var(--theme-border);
}

.mode-bf .wp-block-media-text__content {
  border: var(--theme-border);
}

.mode-bf .wp-block-column .sticky-sidebar.has-grey-beige-background-color {
  border: var(--theme-border);
  border-top: 0;
}

.mode-bf .wp-block-column.has-grey-beige-background-color {
  border: var(--theme-border);
  border-top: 0;
  border-right: 0;
}

.mode-bf .gaestewohnung-template-default .wpbc_wizard__border_container,
.mode-bf .wp-block-quote.has-grey-beige-background-color {
  border: var(--theme-border);
}

.mode-bf .swiper-buttons > div {
  background-color: var(--theme-bg);
}

/* Beide aktiv: Dunkelmodus + Kontrastmodus (Dunkles Kontrast-Schema) */
.mode-dm.mode-bf {
  --theme-bg: #091a2d;
  --theme-text: #e5e5e5;
  --theme-border: 2px solid #f2f2f2;
  --wp--preset--color--grey-beige: transparent;
  --wp--preset--color--darkblue: #ffffff;
}

.mode-dm.mode-bf .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content strong,
.mode-dm.mode-bf .has-grey-beige-background-color strong {
  color: #ffffff !important;
}

.mode-dm.mode-bf .wp-block-separator {
  border-color: #f2f2f2;
}
