/* Pennricher Schmiede – Barrierefreiheits-Werkzeugleiste
   Eigenständige Farbwerte (unabhängig vom Theme), abgestimmt auf dessen Palette:
   Rot #8B2323 / #D9463A, Schwarz #171310, Dunkelgrau #4A4642, Beige #EDE3CE.
   Grundsatz: Funktion vor Dekoration — große Klickflächen, klare Kontraste,
   deutlicher Fokus, keine rein visuellen Spielereien. */

.psb-skip-links{position:relative;}
.psb-skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:100000;
  background:#171310;
  color:#EDE3CE;
  padding:12px 20px;
  font-family:'EB Garamond', serif;
  font-size:1rem;
  text-decoration:none;
  border:1px solid #8B2323;
}
.psb-skip-link:nth-of-type(1):focus{left:12px;top:12px;}
.psb-skip-link:nth-of-type(2):focus{left:12px;top:64px;}
.psb-skip-link:focus{left:12px;}

/* Live-Region: unsichtbar für sehende Nutzer, wird aber von Screenreadern vorgelesen */
.psb-live-region{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.psb-leiste{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:99998;
  font-family:'EB Garamond', serif;
}

.psb-knopf{
  display:flex;
  align-items:center;
  gap:8px;
  background:#171310;
  color:#EDE3CE;
  border:1px solid #8B2323;
  padding:12px 16px;
  min-height:44px;
  cursor:pointer;
  font-family:'Cinzel', serif;
  font-size:0.78rem;
  letter-spacing:0.06em;
  box-shadow:0 6px 18px rgba(0,0,0,0.3);
}
.psb-knopf:hover{background:#2C2926;}
.psb-knopf-icon{display:flex;color:#D9463A;}

.psb-panel{
  position:absolute;
  right:0;
  bottom:calc(100% + 10px);
  width:min(320px, 86vw);
  max-height:70vh;
  overflow-y:auto;
  background:#EDE3CE;
  border:1px solid #8B2323;
  outline:1px solid #8B2323;
  outline-offset:5px;
  padding:18px;
  box-shadow:0 14px 34px rgba(0,0,0,0.35);
}

.psb-panel-kopf{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(139,35,35,0.35);
}
.psb-panel-kopf h2{
  font-family:'Cinzel', serif;
  font-variant:small-caps;
  font-size:1.05rem;
  color:#171310;
  margin:0;
}
.psb-schliessen{
  background:none;
  border:1px solid #8B2323;
  color:#171310;
  width:32px;
  height:32px;
  font-size:1.2rem;
  line-height:1;
  cursor:pointer;
}

.psb-gruppe{margin-bottom:14px;}
.psb-gruppe-titel{
  display:block;
  font-family:'Cinzel', serif;
  font-size:0.78rem;
  letter-spacing:0.05em;
  color:#4A4642;
  margin-bottom:6px;
}
.psb-reihe{display:flex;gap:6px;}

.psb-taste{
  min-height:40px;
  min-width:40px;
  padding:8px 14px;
  background:#EDE3CE;
  border:1px solid #8B2323;
  color:#171310;
  font-family:'EB Garamond', serif;
  font-size:1rem;
  cursor:pointer;
}
.psb-taste:hover{background:#171310;color:#EDE3CE;}

.psb-umschalter{
  display:flex;
  align-items:center;
  width:100%;
  min-height:44px;
  padding:10px 12px;
  background:#EDE3CE;
  border:1px solid rgba(139,35,35,0.5);
  color:#171310;
  font-family:'EB Garamond', serif;
  font-size:0.98rem;
  text-align:left;
  cursor:pointer;
}
.psb-umschalter::before{
  content:"";
  display:inline-block;
  width:16px;
  height:16px;
  margin-right:10px;
  border:1px solid #8B2323;
  background:#fff;
  flex:0 0 auto;
}
.psb-umschalter.ist-aktiv{border-color:#8B2323;background:#F4EDD9;}
.psb-umschalter.ist-aktiv::before{background:#8B2323;}

.psb-modus-liste{display:flex;flex-direction:column;gap:6px;}
.psb-modus{
  min-height:40px;
  padding:8px 12px;
  background:#EDE3CE;
  border:1px solid rgba(139,35,35,0.5);
  color:#171310;
  font-family:'EB Garamond', serif;
  font-size:0.94rem;
  text-align:left;
  cursor:pointer;
}
.psb-modus.ist-aktiv{border-color:#8B2323;background:#171310;color:#EDE3CE;}

.psb-gruppe-zuruecksetzen{margin-top:18px;}
.psb-taste-zuruecksetzen{width:100%;text-align:center;}

/* Sichtbarer Fokus grundsätzlich innerhalb der Werkzeugleiste */
.psb-leiste button:focus-visible{
  outline:3px solid #D9463A;
  outline-offset:2px;
}

/* ─────────────────────────────────────────────────────────────────────────
   Angewendete Einstellungen — wirken sitzungsweit auf die gesamte Seite
   ───────────────────────────────────────────────────────────────────────── */

html.psb-schrift-kleiner{font-size:93.75%;}
html.psb-schrift-groesser{font-size:115%;}
html.psb-schrift-groesser2{font-size:130%;}

/* Starker Kontrast: Schwarz auf Weiß, klare Ränder, keine Schatten/Verläufe */
html.psb-kontrast-stark body{background:#fff !important;color:#000 !important;}
html.psb-kontrast-stark a{color:#8B2323 !important;text-decoration:underline !important;}
html.psb-kontrast-stark img{filter:grayscale(0.2) contrast(1.1);}
html.psb-kontrast-stark *{
  background-color:transparent;
  background-image:none !important;
  border-color:#000 !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
html.psb-kontrast-stark header,
html.psb-kontrast-stark footer,
html.psb-kontrast-stark .hero,
html.psb-kontrast-stark .kontakt,
html.psb-kontrast-stark .arbeiten{background:#fff !important;color:#000 !important;}

/* Invertiert: helle Schrift auf dunklem Grund, unabhängig vom sonstigen Farbschema */
html.psb-kontrast-invertiert body{background:#000 !important;color:#fff !important;}
html.psb-kontrast-invertiert a{color:#ffe066 !important;text-decoration:underline !important;}
html.psb-kontrast-invertiert img{filter:invert(1) grayscale(0.15) contrast(1.05);}
html.psb-kontrast-invertiert *{
  background-color:transparent;
  background-image:none !important;
  border-color:#fff !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
html.psb-kontrast-invertiert header,
html.psb-kontrast-invertiert footer,
html.psb-kontrast-invertiert .hero,
html.psb-kontrast-invertiert .kontakt,
html.psb-kontrast-invertiert .arbeiten{background:#000 !important;color:#fff !important;}

/* Gelb auf Schwarz: bewährtes Hochkontrast-Profil für Sehbehinderungen */
html.psb-kontrast-gelb-schwarz body{background:#000 !important;color:#ffe066 !important;}
html.psb-kontrast-gelb-schwarz a{color:#fff !important;text-decoration:underline !important;}
html.psb-kontrast-gelb-schwarz img{filter:grayscale(0.3) contrast(1.15);}
html.psb-kontrast-gelb-schwarz *{
  background-color:transparent;
  background-image:none !important;
  border-color:#ffe066 !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
html.psb-kontrast-gelb-schwarz header,
html.psb-kontrast-gelb-schwarz footer,
html.psb-kontrast-gelb-schwarz .hero,
html.psb-kontrast-gelb-schwarz .kontakt,
html.psb-kontrast-gelb-schwarz .arbeiten{background:#000 !important;color:#ffe066 !important;}

/* Die Werkzeugleiste selbst bleibt in allen Kontrastmodi bedienbar und lesbar */
html[class*="psb-kontrast-"] .psb-leiste *{
  background-color:revert !important;
  background-image:revert !important;
  border-color:revert !important;
  color:revert !important;
  text-shadow:revert !important;
  box-shadow:revert !important;
}

html.psb-abstand body{line-height:1.9 !important;}
html.psb-abstand p,
html.psb-abstand li{
  line-height:1.9 !important;
  letter-spacing:0.02em !important;
  word-spacing:0.08em !important;
  margin-bottom:1.2em !important;
}

html.psb-links-hervorheben a{
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:3px !important;
}

html.psb-fokus-stark *:focus{
  outline:3px solid #D9463A !important;
  outline-offset:3px !important;
}

html.psb-weniger-bewegung *{
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}

html.psb-lesbare-schrift body,
html.psb-lesbare-schrift p,
html.psb-lesbare-schrift li,
html.psb-lesbare-schrift h1,
html.psb-lesbare-schrift h2,
html.psb-lesbare-schrift h3,
html.psb-lesbare-schrift h4{
  font-family:Arial, Helvetica, sans-serif !important;
  font-variant:normal !important;
  letter-spacing:normal !important;
}

@media (max-width:480px){
  .psb-leiste{right:10px;bottom:10px;}
  .psb-knopf-text{display:none;}
  .psb-knopf{padding:12px;}
}

/* Erklärung zur Barrierefreiheit (Shortcode-Ausgabe) */
.psb-erklaerung{
  font-family:'EB Garamond', serif;
  font-size:1.05rem;
  line-height:1.7;
  color:#3E3A34;
  max-width:70ch;
}
.psb-erklaerung p{margin-bottom:16px;}
