/* ===================
   GENERAL TRANSITIONS
=================== */
#contentwrapper,
.mod_pct_megamenu {
  transition: all 0.3s ease;
}

/* ===================
   ACCESSIBILITY TOGGLE BUTTON
=================== */
#accessibility-wrapper {
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  z-index: 1000;
}

#accessibility-toggle {
  background: #9d7a7a; /* Schwarz */
  color: #b5935e;      /* Gold */
  border: none;
  border-radius: 0;
  width: 4.25rem;
  height: 4rem;
  font-size: 4rem;
  cursor: pointer;
  padding: 0;
}

#accessibility-toggle:focus-visible {
  outline: 4px solid #b5935e; /* Gold */
}
#accessibility-toggle i {
	background: #ffffff;
    border-radius: 100%;
}

/* ===================
   ACCESSIBILITY PANEL
=================== */
.accessibility-panel {
  display: none;
  flex-direction: column;
  margin-top: 0.5rem;
}

.accessibility-panel.visible {
  display: flex;
}

/* ===================
   INDIVIDUAL CONTROL BLOCK
=================== */
.accessibility-control {
  display: flex;
  align-items: center;
  margin-bottom: 0.4rem;
}

/* ===================
   FEATURE BUTTONS
=================== */
.accessibility-control button {
  background: #ffffff;
  color: #000000;
  font-size: 1.4rem;
  border: none;
  border-radius: 0;
  width: 4.25rem;
  height: 4rem;
  padding: 0.5rem;
  cursor: pointer;
  transition: color 0.3s, background-color 0.3s;
}

.accessibility-control button.active {
  background: #b5935e; /* Gold */
  color: #000000;      /* Schwarz */
}

.accessibility-control button.active i {
  color: #ffffff !important; /* Schwarz */
}

.accessibility-control button:focus,
.accessibility-control button:hover {
  outline: none;
  border-color: #cbcbcb;
}

/* ===================
   DESCRIPTION TOOLTIP
=================== */
.accessibility-control .desc {
    font-size: 1.5rem;
    margin-left: 5px;
    padding: 1rem;
    height: 4rem;
    display: flex;
    align-items: center;
    background: #ebebeb;
    color: #333;
    opacity: 0;
    transition: opacity 0.2s ease;
    border-radius: 1.5rem;
    border-top-left-radius: 1.5rem;
    border-bottom-left-radius: 1.5rem;
}

.accessibility-control button:focus + .desc,
.accessibility-control button:hover + .desc {
  opacity: 1;
}

.desc .status {
  font-weight: bold;
  margin-left: 5px;
}

.desc .status.aktiv {
  color: #b5935e; /* Gold */
}

.desc .status.inaktiv {
  color: red;
}

/* ===================
   MODE STYLES
=================== */
.high-contrast {
  filter: contrast(125%);
}

.high-contrast a,
.high-contrast .subheadline h3,
.high-contrast .datum,
.high-contrast .mod_breadcrumb li.active,
.high-contrast .mainmenu ul li:hover a,
.high-contrast .mainmenu ul li a.trail,
.high-contrast .mainmenu ul li a.active {
  color: #b5935e !important; /* Gold */
}

.high-contrast .gradient h2,
.high-contrast .gradient h3 {
  background: linear-gradient(90deg, #b5935e 0%, #b5935e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.high-contrast iframe {
  filter: none !important;
}

.black-white {
  filter: grayscale(100%);
}

/* ===================
   UTILITY CLASSES
=================== */
#accessibility-wrapper button {
   
    border-radius: 100%;
    border: 1px solid #999999;
}

#accessibility-wrapper button.active {
  background-color: #b5935e; /* Gold */
  color: #000000;            /* Schwarz */
}

.readable-font { font-family: Arial, sans-serif; }
.spaced-lines { line-height: 2; }


/* ===================
   LINK BUTTONS
=================== */
.accessibility-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}

.accessibility-link button {
  background: #ffffff;
  color: #000000;
  font-size: 1.4rem;
  border: 1px solid #cbcbcb;
  border-radius: 0.5rem;
  width: 4rem;
  height: 4rem;
  padding: 0.5rem;
  cursor: pointer;
}

.accessibility-link .desc {
  font-size: 1.5rem;
  margin-left: 0;
  padding: 1rem;
  height: 4rem;
  display: flex;
  align-items: center;
  background: #ebebeb;
  color: #333;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.accessibility-link button:focus + .desc,
.accessibility-link button:hover + .desc {
  opacity: 1;
}

/* ===================
   LINK BUTTONS WITH ARROW ICON
=================== */
.accessibility-link.with-arrow button {
  background: #ffffff;
  color: #000000;
  border: 1px solid #cbcbcb;
}

.accessibility-link.with-arrow .desc {
  color: #ffffff;
  background: transparent;
}

.accessibility-link.with-arrow .desc::after {
  content: '';
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url('/files/cto_layout/img/icon/arrow-box-white.svg');
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 0.5rem;
}

.accessibility-link.with-arrow button:focus + .desc,
.accessibility-link.with-arrow button:hover + .desc {
  opacity: 1;
  background: linear-gradient(90deg, #b5935e 0%, #000000 100%); /* Gold → Schwarz */
}
button#accessibility-toggle[aria-expanded="true"] i {
    color: #000000 !important;
    font-size: 3rem;
}

button#accessibility-toggle {
    border: none;
    background: none;
}
/* ===================
   SCREENREADER ONLY
=================== */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
