/* ==========================================================================
   KW-Auktion für Schlingensiefs Operndorf Afrika: Typografie
   Anlehnung an die Operndorf-Website: Archivo Black (Titel, Menü) und
   EB Garamond (Text). Schriften liegen lokal im Ordner fonts/.
   Zurücksetzen: wp-content/mu-plugins/kwauktion-design.php löschen.
   ========================================================================== */

@font-face {
  font-family: "Archivo Black";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/archivo-black-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "EB Garamond";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/eb-garamond-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "EB Garamond";
  font-style: italic; font-weight: 400; font-display: swap;
  src: url("fonts/eb-garamond-latin-400-italic.woff2") format("woff2");
}
@font-face {
  font-family: "EB Garamond";
  font-style: normal; font-weight: 600; font-display: swap;
  src: url("fonts/eb-garamond-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "EB Garamond";
  font-style: italic; font-weight: 600; font-display: swap;
  src: url("fonts/eb-garamond-latin-600-italic.woff2") format("woff2");
}

:root {
  --kw-ink: #111111;
  --kw-paper: #ffffff;
  --kw-accent: #e30613;
  --kw-mute: #6b6b6b;
  --kw-display: "Archivo Black", "Arial Black", Arial, sans-serif;
  --kw-text: "EB Garamond", Georgia, "Times New Roman", serif;
}

::selection { background: var(--kw-accent); color: #fff; }

/* Grundschrift */
body {
  font-family: var(--kw-text) !important;
  font-size: 20px;
  line-height: 1.55;
  color: var(--kw-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body a { font-family: var(--kw-text); }
p, li, td, th, blockquote, input, textarea, select, label { font-family: var(--kw-text) !important; }

/* Links im Text */
.project-content a, .post-content .content a, .short-code a {
  color: var(--kw-ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--kw-accent);
  text-underline-offset: 3px;
}
.project-content a:hover, .post-content .content a:hover, .short-code a:hover {
  color: var(--kw-accent);
}

/* Kopfbereich links */
#header .site-description {
  font-family: var(--kw-display) !important;
  font-size: 11.5px;
  line-height: 1.55;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--kw-ink);
  margin-top: 22px;
  padding-top: 14px;
  border-top: 4px solid var(--kw-ink);
}

/* Menü */
#header ul.main_menu li > a,
.mobile_menu li a {
  font-family: var(--kw-display) !important;
  font-size: 12.5px;
  line-height: 1.25 !important;
  display: block;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--kw-ink);
  transition: color .15s ease, padding-left .15s ease;
}
#header ul.main_menu li > a:hover,
.mobile_menu li a:hover { color: var(--kw-accent); }
#header ul.main_menu li.current-menu-item > a,
#header ul.main_menu li.current_page_item > a {
  color: var(--kw-accent);
  box-shadow: -12px 0 0 -8px var(--kw-accent);
}

/* Überschriften */
h1, h2, h3, h4, h5, h6,
.post-content h1.title-of-post, .project-content-top h2,
h5.section-title, h5.widget-title, .short-title {
  font-family: var(--kw-display) !important;
  font-weight: 400 !important;
  color: var(--kw-ink);
  letter-spacing: -.005em;
  line-height: 1.12;
}

/* Seitenüberschrift (Auktion, Bestimmungen, ...) */
h5.section-title, h5.widget-title, .short-title {
  font-size: 34px;
  text-transform: uppercase;
  letter-spacing: .01em;
  display: inline-block;
  padding-bottom: .28em;
  border-bottom: 6px solid var(--kw-accent);
  margin-bottom: 1.1em;
}
.post-content h1.title-of-post, .project-content-top h2 {
  font-size: 46px;
  text-transform: uppercase;
}
.project-content h2, .post-content .content h2 { font-size: 28px; text-transform: uppercase; margin: 1.4em 0 .5em; }
.project-content h3, .post-content .content h3 { font-size: 22px; text-transform: uppercase; margin: 1.3em 0 .4em; }
.project-content h4, .post-content .content h4 { font-size: 18px; text-transform: uppercase; margin: 1.2em 0 .4em; }

/* Raster: Namen der Künstler */
.post_block h4,
.post_block.col-sm-6 h4 {
  font-size: 19px;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: .015em;
  margin-top: 14px;
}
.post_block h4 a { font-family: var(--kw-display) !important; font-weight: 400 !important; color: var(--kw-ink); }
.post_block h4 a:hover { color: var(--kw-accent); }

/* „Load More" */
.load-more, input[type=submit], input[type=button] {
  font-family: var(--kw-display) !important;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--kw-ink);
  color: #fff !important;
  border: 0;
  border-radius: 0;
  padding: 1em 1.8em;
}
.load-more:hover, input[type=submit]:hover, input[type=button]:hover { background: var(--kw-accent); color: #fff !important; }

/* Fließtext in Seiten und Beiträgen */
.project-content p, .post-content .content p, .short-code p {
  font-size: 21px;
  line-height: 1.6;
  max-width: 34em;
}
.project-content strong, .post-content .content strong, strong, b { font-weight: 600; }
blockquote { font-style: italic; border-left: 4px solid var(--kw-accent); padding-left: 1em; }

/* Fuß */
#footer, #footer p, #footer a {
  font-size: 15px;
  color: var(--kw-mute);
}
#footer a:hover { color: var(--kw-accent); }

/* Kleine Bildschirme */
@media (max-width: 767px) {
  body { font-size: 18px; }
  h5.section-title, h5.widget-title, .short-title { font-size: 26px; }
  .post-content h1.title-of-post, .project-content-top h2 { font-size: 32px; }
  .post_block h4, .post_block.col-sm-6 h4 { font-size: 16px; }
  .project-content p, .post-content .content p, .short-code p { font-size: 19px; }
}

/* Menü: Zeilenabstand innerhalb eines Punkts eng, Abstand zwischen den Punkten gleichmäßig */
#header ul.main_menu li,
.mobile_menu li {
  line-height: 1.25 !important;
  height: auto !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   Übersicht: keine Lupe, keine Zoom-Effekte, Bilder ungeschnitten
   ========================================================================== */
.post-thumb .hover-state,
.post_block .hover-state,
.post-thumb .icon-search { display: none !important; }

.post-thumb, .post-thumb a, .post-thumb img {
  transition: none !important;
  -webkit-transform: none !important;
  transform: none !important;
  animation: none !important;
}
.post-thumb a:hover img, .post_block:hover img { opacity: 1 !important; -webkit-filter: none !important; filter: none !important; }

/* Kachel: festes Format 4:3, Bild vollständig sichtbar */
.post-thumb { margin-bottom: 0; }
.post-thumb > a {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  background: #ffffff;
  overflow: hidden;
}
.post-thumb > a img {
  position: absolute;
  top: 0; left: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain;
  padding: 18px;
  box-sizing: border-box;
}
.post_block { margin-bottom: 46px; }
.post_block h4 {
  margin-top: 0;
  padding-top: 12px;
  border-top: 4px solid var(--kw-ink);
}
.post_block:hover h4 { border-top-color: var(--kw-accent); }
.post_block:hover h4 a { color: var(--kw-accent); }

/* ==========================================================================
   Einzelseite: Bild ungeschnitten, Navigation
   ========================================================================== */
.single-blogpost .post-img { background: #ffffff; text-align: center; padding: 24px; }
.single-blogpost .post-img img {
  display: inline-block;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 78vh;
}

.kw-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 24px;
  max-width: 960px;
  margin: 0 0 18px;
  font-family: var(--kw-display);
  font-size: 12.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.kw-nav a, .kw-nav a:visited {
  font-family: var(--kw-display) !important;
  color: var(--kw-ink);
  text-decoration: none !important;
  border-bottom: 3px solid var(--kw-ink);
  padding: 4px 0 3px;
}
.kw-nav a:hover { color: var(--kw-accent); border-bottom-color: var(--kw-accent); }
.kw-nav-step a + a { margin-left: 26px; }
.kw-nav:not(.kw-nav-top) { margin: 36px 0 10px; padding-top: 18px; border-top: 4px solid var(--kw-ink); }
@media (max-width: 767px) {
  .kw-nav { font-size: 11.5px; }
  .post-thumb > a img { padding: 10px; }
}

/* ==========================================================================
   Seitenleiste: eigener Aufbau im Operndorf-Stil
   (statt des runden Bild-Logos: Wortmarke aus Archivo Black)
   ========================================================================== */
#header .site-title { margin: 0 0 26px; padding: 0; }
#header .site-title::before {
  content: "";
  display: block;
  width: 46px;
  height: 12px;
  background: var(--kw-accent);
  margin-bottom: 16px;
}
#header .site-title a.logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  color: var(--kw-ink) !important;
}
#header .site-title a.logo img { display: none !important; }
#header .site-title a.logo::before {
  content: "Opern\A dorf\A Afrika";
  white-space: pre;
  display: block;
  font-family: var(--kw-display);
  font-size: 34px;
  line-height: .93;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: var(--kw-ink);
}
#header .site-title a.logo:hover::before { color: var(--kw-accent); }
#header .site-title a.logo::after {
  content: "Auktion";
  display: inline-block;
  margin-top: 16px;
  padding: 6px 10px 5px;
  background: var(--kw-ink);
  color: #fff;
  font-family: var(--kw-display);
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
#header .site-title a.logo:hover::after { background: var(--kw-accent); }

/* Kontext: klein, ruhig */
#header .site-description {
  border-top: 0 !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
  font-family: var(--kw-text) !important;
  font-size: 15px !important;
  line-height: 1.38 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--kw-mute) !important;
}
#header .site-description::before {
  content: "F\00FCr Christoph Schlingensiefs Operndorf Afrika";
  display: block;
  margin-bottom: 9px;
  font-style: italic;
  color: var(--kw-ink);
}

/* Menü: Linie links, aktueller Punkt rot */
#header .main-menu-holder { border-left: 4px solid var(--kw-ink); padding-left: 16px; }
#header ul.main_menu li.current-menu-item > a,
#header ul.main_menu li.current_page_item > a { box-shadow: none; }

/* ==========================================================================
   Ticker ganz oben (weiße Schrift, wechselnde Hintergrundfarbe)
   ========================================================================== */
:root { --kw-tick-h: 40px; }
#kw-ticker {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--kw-tick-h);
  z-index: 1000000;
  overflow: hidden;
  background: #e30613;
  color: #fff;
  font-family: var(--kw-display);
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: var(--kw-tick-h);
  white-space: nowrap;
  animation: kw-tick-bg 28s linear infinite;
}
.kw-tick-track {
  display: inline-block;
  white-space: nowrap;
  will-change: transform;
  animation: kw-tick-run 90s linear infinite;
}
.kw-tick-part { display: inline-block; }
.kw-tick-item { display: inline-block; padding: 0 1.2em; }
.kw-tick-sep { display: inline-block; font-size: 9px; vertical-align: middle; opacity: .85; padding: 0 .6em; }
@keyframes kw-tick-run { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes kw-tick-bg {
  0%   { background: #e30613; }
  20%  { background: #e30613; }
  25%  { background: #111111; }
  45%  { background: #111111; }
  50%  { background: #0b3fd1; }
  70%  { background: #0b3fd1; }
  75%  { background: #0a7a3d; }
  95%  { background: #0a7a3d; }
  100% { background: #e30613; }
}
@media (prefers-reduced-motion: reduce) {
  .kw-tick-track { animation-duration: 240s !important; }
  #kw-ticker { animation-duration: 120s; }
}
/* Platz schaffen: Seite, feste Seitenleiste und Admin-Leiste nach unten schieben */
html { margin-top: var(--kw-tick-h) !important; }
#header { margin-top: var(--kw-tick-h); }
#wpadminbar { top: var(--kw-tick-h) !important; }
html.admin-bar-fix, body.admin-bar { }
@media (max-width: 767px) {
  :root { --kw-tick-h: 34px; }
  #kw-ticker { font-size: 12px; }
}
html.wp-toolbar { margin-top: calc(var(--kw-tick-h) + 32px) !important; }
@media (max-width: 782px) { html.wp-toolbar { margin-top: calc(var(--kw-tick-h) + 46px) !important; } }

/* ==========================================================================
   Version 1.2: breitere Seitenleiste mit Schnecke, großes Menü, Masonry,
   Ticker weiß auf schwarz
   ========================================================================== */
:root { --kw-side: 340px; }

/* Ticker: weiß auf schwarz */
#kw-ticker { background: #111111 !important; animation: none !important; }

/* Seitenleiste */
#header { width: var(--kw-side) !important; padding: 44px 28px 0 36px !important; box-sizing: border-box; }
#header .site-title::before {
  content: "";
  display: block;
  width: 128px;
  height: 125px;
  margin: 0 0 22px;
  background: url("img/schnecke.png") no-repeat left top / contain;
}
#header .site-title a.logo::before {
  content: "Auktion";
  white-space: pre;
  font-size: 46px;
  line-height: .98;
  letter-spacing: -.015em;
}
#header .site-title a.logo::after {
  content: "F\00DCr Christoph\A Schlingensiefs\A Operndorf\A Afrika";
  white-space: pre;
  display: block;
  margin: 8px 0 0;
  padding: 0;
  background: none !important;
  color: var(--kw-ink);
  font-family: var(--kw-display);
  font-size: 25px;
  line-height: 1.02;
  letter-spacing: -.01em;
  text-transform: uppercase;
}
#header .site-title a.logo:hover::after { color: var(--kw-accent); background: none !important; }
#header .site-title { margin-bottom: 20px; }
#header .site-description::before { display: none !important; }
#header .site-description { margin-bottom: 26px !important; font-size: 16px !important; }

/* Menü: groß, markant, ohne Linie */
#header .main-menu-holder { border: 0 !important; padding: 0 !important; }
#header .main-menu-holder ul.main_menu li {
  margin: 0 0 12px 0 !important;
  line-height: 1.02 !important;
}
#header .main-menu-holder ul.main_menu li > a {
  font-size: 22px !important;
  line-height: 1.02 !important;
  letter-spacing: -.005em !important;
  padding: 0 !important;
  display: inline-block;
}
#header .main-menu-holder ul.main_menu li > a:hover { color: var(--kw-accent); }
#header .main-menu-holder ul.main_menu li.current-menu-item > a,
#header .main-menu-holder ul.main_menu li.current_page_item > a { color: var(--kw-accent); }
/* Wortmarke Operndorf Afrika unter dem Menü */
#header .main-menu-holder::after {
  content: "";
  display: block;
  width: 250px;
  height: 68px;
  margin-top: 34px;
  background: url("img/operndorf-logo.png") no-repeat left top / contain;
}

/* Inhalt: nutzt die verfügbare Breite, nichts wird rechts abgeschnitten */
.container.left-space {
  width: auto !important;
  max-width: none !important;
  margin-left: var(--kw-side) !important;
  margin-right: 0 !important;
  padding: 0 36px 0 0 !important;
  box-sizing: border-box;
}

/* Übersicht: Masonry, Bilder in natürlichem Seitenverhältnis, keine Striche */
.post-thumb > a {
  height: auto !important;
  padding-bottom: 0 !important;
  background: none !important;
  overflow: visible !important;
  display: block;
  position: static !important;
}
.post-thumb > a img {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  object-fit: fill !important;
  display: block;
}
.posts_loop .post_block { padding: 0 14px 34px !important; margin: 0 !important; box-sizing: border-box; }
.post_block h4 { border-top: 0 !important; padding-top: 12px !important; margin-top: 0 !important; }
@media (min-width: 1180px) { .posts_loop .post_block.col-sm-6 { width: 33.3333% !important; } }
@media (min-width: 768px) and (max-width: 1179px) { .posts_loop .post_block.col-sm-6 { width: 50% !important; } }
@media (max-width: 767px) { .posts_loop .post_block.col-sm-6 { width: 100% !important; } }

/* Namen vollständig anzeigen (kein Abschneiden mit …) */
.post_block h4, .post_block h4 a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}
/* Admin-Leiste (nur für eingeloggte Nutzer) soll die Navigation nicht überdecken */
body.admin-bar { padding-top: 32px; }
@media (max-width: 782px) { body.admin-bar { padding-top: 46px; } }

/* ==========================================================================
   Version 1.3: Seitenleiste über volle Höhe, Logo unten, Detailansicht, Icon-Navigation
   ========================================================================== */
:root { --kw-admin: 0px; }
body.admin-bar { --kw-admin: 32px; }
@media (max-width: 782px) { body.admin-bar { --kw-admin: 46px; } }

/* Kein blauer Rahmen/Fokus-Rand beim Klick auf Arbeiten */
.post_block a, .post_block a:focus, .post_block a:active, .post_block a:hover,
.post_block img, .post_block a:focus img, .post_block a:active img {
  outline: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}
.post_block img { -webkit-user-select: none; user-select: none; -webkit-user-drag: none; }
.post_block img::selection { background: transparent; }
a:focus-visible { outline: 3px solid var(--kw-accent); outline-offset: 3px; }

/* Datum/Ort in der Seitenleiste */
#header .site-description { white-space: normal; }

/* Wortmarke unter dem Menü als echter Link (per Skript in die Seitenleiste gesetzt) */
#header .main-menu-holder::after { display: none !important; content: none !important; }
.kw-opera-logo { display: block; }
.kw-opera-logo img { display: block; width: 250px; max-width: 100%; height: auto; }
.kw-opera-logo:hover img { opacity: .75; }

@media (min-width: 992px) {
  #header {
    height: calc(100vh - var(--kw-tick-h) - var(--kw-admin)) !important;
    margin-top: calc(var(--kw-tick-h) + var(--kw-admin)) !important;
    display: flex;
    flex-direction: column;
    padding-bottom: 28px !important;
    overflow: hidden;
  }
  #header .kw-opera-logo { margin-top: auto; flex: 0 0 auto; }
}

/* Detailansicht: Bild füllt den Bildschirmrahmen, Text rechts daneben */
@media (min-width: 992px) {
  .container.single-blogpost {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px;
    column-gap: 40px;
    align-items: start;
    margin-left: var(--kw-side) !important;
    padding: 0 36px 0 0 !important;
  }
  .single-blogpost > .row { display: contents !important; }
  .single-blogpost .post-buttons { display: none !important; }
  .single-blogpost .post-img {
    grid-column: 1; grid-row: 1;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    height: calc(100vh - var(--kw-tick-h) - var(--kw-admin) - 24px);
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    text-align: initial;
  }
  .single-blogpost .post-img img {
    max-width: calc(100% - 150px) !important;
    max-height: calc(100% - 64px) !important;
    width: auto !important;
    height: auto !important;
  }
  .single-blogpost .post-content > div {
    grid-column: 2; grid-row: 1;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center;
  }
  .single-blogpost h1.title-of-post { font-size: 34px !important; line-height: 1.04; }
  .single-blogpost .post-content p { font-size: 20px; max-width: none; }
}
@media (max-width: 991px) {
  .single-blogpost .post-img { position: relative; }
  .single-blogpost .post-img img { max-height: 72vh !important; }
}

/* Navigation mit Icons: X (zurück), Pfeil links, Pfeil rechts */
.kw-nav {
  display: block !important;
  position: static !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 0 !important;
}
.kw-nav a, .kw-nav a:visited {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: var(--kw-ink);
  color: #fff !important;
  text-decoration: none !important;
  transition: background .15s ease, transform .15s ease;
}
.kw-nav a:hover { background: var(--kw-accent); color: #fff !important; }
.kw-nav a:active { transform: scale(.94); }
.kw-nav-close { top: 18px; right: 18px; }
.kw-nav-prev  { left: 18px; top: 50%; margin-top: -29px; }
.kw-nav-next  { right: 18px; top: 50%; margin-top: -29px; }
/* auf kleinen Bildschirmen unter dem Bild nebeneinander verteilt */
@media (max-width: 991px) {
  .kw-nav-prev, .kw-nav-next { top: auto; bottom: 18px; margin-top: 0; }
}

/* Korrekturen 1.3: Seitenleiste exakt bis zum unteren Rand, Datum voll breit */
@media (min-width: 992px) {
  #header { margin-top: 0 !important; }
}
#header .site-description { width: auto !important; max-width: none !important; }
@media (min-width: 992px) {
  .single-blogpost .post-img img { max-width: calc(100% - 140px) !important; }
}

/* Icons ohne schwarzen Kasten, groß auf Weiß; überall weißer Hintergrund */
.single-blogpost .post-img { background: #ffffff !important; }
.kw-nav a, .kw-nav a:visited {
  width: 78px;
  height: 78px;
  background: transparent !important;
  color: var(--kw-ink) !important;
}
.kw-nav a svg { width: 52px; height: 52px; display: block; }
.kw-nav a:hover { background: transparent !important; color: var(--kw-accent) !important; }
.kw-nav-close { top: 10px; right: 10px; }
.kw-nav-prev  { left: 0; top: 50%; margin-top: -39px; }
.kw-nav-next  { right: 0; top: 50%; margin-top: -39px; }
.kw-nav-prev:hover svg { transform: translateX(-4px); }
.kw-nav-next:hover svg { transform: translateX(4px); }
.kw-nav a svg { transition: transform .15s ease; }
.kw-nav-close:hover svg { transform: rotate(90deg); }
@media (min-width: 992px) {
  .single-blogpost .post-img img { max-width: calc(100% - 180px) !important; }
}

/* v1.4: X ganz oben rechts, kein Fokusrahmen an Icons, Flattersatz */
.kw-nav a,.kw-nav a:hover,.kw-nav a:focus,.kw-nav a:active,.kw-nav a:focus-visible{outline:none !important;border:0 !important;box-shadow:none !important;-webkit-tap-highlight-color:transparent}
.kw-nav .kw-nav-close{position:fixed !important;top:calc(var(--kw-tick-h) + var(--kw-admin) + 8px) !important;right:12px !important;left:auto !important;z-index:99990}
.single-blogpost,.single-blogpost p,.single-blogpost li,.single-blogpost .post-content,.single-blogpost .entry-content,.single-blogpost div,
.posts_loop,.posts_loop p,.container p,#content p,#header .site-description{text-align:left !important;text-justify:auto !important;-webkit-hyphens:none !important;hyphens:none !important;word-spacing:normal !important}

/* v1.5: Mobil / Tablet (bis 991px): alles untereinander, responsiv */
@media (max-width: 991px) {
  html, body { overflow-x: hidden !important; max-width: 100%; }
  #header {
    position: relative !important; width: auto !important; height: auto !important;
    left: auto !important; top: auto !important; margin: 0 !important;
    padding: 18px 64px 8px 16px !important; display: block !important; overflow: visible !important;
    box-sizing: border-box;
  }
  #header .site-title { margin: 0 0 10px !important; }
  #header .site-title::before { width: 64px !important; height: 64px !important; margin: 0 0 10px !important; }
  #header .site-title a.logo::before { font-size: 34px; }
  #header .site-title a.logo::after { font-size: 18px; margin-top: 6px; }
  #header .site-description { margin: 0 0 14px !important; font-size: 14px !important; line-height: 1.35 !important; }
  #header .main-menu-holder { padding: 0 !important; min-height: 0; }
  #header .main-menu-holder ul.main_menu { display: none !important; }
  /* Menü-Knopf oben rechts */
  #header a.menu-toggle {
    position: absolute !important; top: 14px !important; right: 16px !important; left: auto !important;
    margin: 0 !important; z-index: 20; display: block !important;
  }
  #header ul.mobile_menu { position: static !important; width: auto !important; margin: 4px 0 14px !important; padding: 0 !important; background: #fff !important; border: 0 !important; }
  #header ul.mobile_menu li { display: block !important; float: none !important; margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; background: none !important; }
  #header ul.mobile_menu li a { font-family: var(--kw-display) !important; font-size: 22px !important; line-height: 1.05 !important; text-transform: uppercase; color: var(--kw-ink) !important; padding: 0 !important; display: inline-block; }
  #header .kw-opera-logo { margin: 8px 0 6px !important; }
  #header .kw-opera-logo img { width: 190px; }

  .container.left-space, .container.single-blogpost { margin-left: 0 !important; padding: 0 16px !important; width: 100% !important; max-width: 100% !important; }
  #footer.container.left-space { padding: 0 16px 24px !important; }
  .posts_loop .post_block { padding: 0 0 26px !important; }
  .post_block h4 { font-size: 18px !important; }

  /* Detailansicht untereinander */
  .container.single-blogpost { display: block !important; }
  .single-blogpost > .row { display: block !important; margin: 0 !important; }
  .single-blogpost .post-img {
    float: none !important; width: 100% !important; margin: 0 !important; padding: 8px 0 96px !important;
    position: relative !important; height: auto !important; display: block !important; text-align: center;
  }
  .single-blogpost .post-img img { max-width: 100% !important; max-height: 70vh !important; width: auto !important; height: auto !important; margin: 0 auto; }
  .single-blogpost .post-content > div { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .single-blogpost h1.title-of-post { font-size: 28px !important; }
  .single-blogpost .post-content p { font-size: 18px; }
  .single-blogpost .post-buttons { display: none !important; }
  /* Icons: X fix oben rechts, Pfeile links/rechts unter dem Bild */
  .kw-nav a { width: 64px; height: 64px; }
  .kw-nav a svg { width: 44px; height: 44px; }
  .kw-nav .kw-nav-close { top: calc(var(--kw-tick-h) + var(--kw-admin) + 4px) !important; right: 6px !important; background: rgba(255,255,255,.85) !important; }
  .kw-nav-prev, .kw-nav-next { top: auto !important; bottom: 12px !important; margin-top: 0 !important; }
  .kw-nav-prev { left: 0 !important; } .kw-nav-next { right: 0 !important; }
}
/* Burger-Icon im Stil der anderen Icons: markant, schwarz auf weiß */
#header a.menu-toggle, #header a.menu-toggle:hover, #header a.menu-toggle:focus {
  width: 52px !important; height: 52px !important; padding: 0 !important; margin: 0 !important;
  background: linear-gradient(var(--kw-ink),var(--kw-ink)) 6px 12px / 40px 5px no-repeat,
              linear-gradient(var(--kw-ink),var(--kw-ink)) 6px 23px / 40px 5px no-repeat,
              linear-gradient(var(--kw-ink),var(--kw-ink)) 6px 34px / 40px 5px no-repeat #fff !important;
  border: 0 !important; outline: none !important; box-shadow: none !important; font-size: 0 !important; color: transparent !important;
  -webkit-tap-highlight-color: transparent;
}
#header a.menu-toggle i { display: none !important; }
#header a.menu-toggle:hover {
  background: linear-gradient(var(--kw-accent),var(--kw-accent)) 6px 12px / 40px 5px no-repeat,
              linear-gradient(var(--kw-accent),var(--kw-accent)) 6px 23px / 40px 5px no-repeat,
              linear-gradient(var(--kw-accent),var(--kw-accent)) 6px 34px / 40px 5px no-repeat #fff !important;
}
/* Mobil: Admin-Leiste (nur eingeloggt) fest unter dem Ticker; Burger links neben dem X auf Detailseiten */
@media (max-width: 782px) {
  #wpadminbar { position: fixed !important; top: var(--kw-tick-h) !important; }
}
@media (max-width: 991px) {
  body.single #header { padding-right: 150px !important; }
  body.single #header a.menu-toggle { right: 84px !important; }
}
/* "Load More" entfällt (alle Arbeiten werden bereits angezeigt) */
.load-more-cont, a.load-more, a.blog_load_more { display: none !important; }
/* Mobiles Menü: keine grauen Hintergründe */
#header ul.mobile_menu, #header ul.mobile_menu li, #header ul.mobile_menu li a, #header ul.mobile_menu li a:hover, #header ul.mobile_menu li.current-menu-item a {
  background: transparent !important; background-color: transparent !important; box-shadow: none !important; text-shadow: none !important; opacity: 1 !important;
}
#header ul.mobile_menu li a:hover { color: var(--kw-accent) !important; }
#header ul.mobile_menu li.current-menu-item > a { color: var(--kw-accent) !important; }

/* ==========================================================================
   v1.9: Schwarz-Weiß, keine roten Linien, akzentuierte Typo, Buttons, Textseiten
   ========================================================================== */
:root { --kw-accent: #111111; }
::selection { background: #111; color: #fff; }

/* keine Unterstreichungen, nirgends */
a, a:hover, a:focus, a:active, a:visited { text-decoration: none !important; }
h5.section-title, h5.widget-title, .short-title { border-bottom: 0 !important; box-shadow: none !important; padding-bottom: 0 !important; }
.project-content-top, .project-content-top * { border: 0 !important; }
hr { border: 0; border-top: 3px solid #111; }
a:focus-visible { outline: 3px solid #111; outline-offset: 3px; }

/* Menü: aktiver Punkt / Hover = invertiert (schwarzer Balken, weiße Schrift) */
#header .main-menu-holder ul.main_menu li > a:hover,
#header .main-menu-holder ul.main_menu li.current-menu-item > a,
#header .main-menu-holder ul.main_menu li.current_page_item > a,
#header ul.mobile_menu li a:hover,
#header ul.mobile_menu li.current-menu-item > a {
  background: #111 !important; color: #fff !important;
  box-shadow: 0 0 0 4px #111 !important;
}
.post_block:hover h4 a, .post_block h4 a:hover { color: #111; background: #111; color: #fff; box-shadow: 0 0 0 3px #111; }
#header .site-title a.logo:hover::before, #header .site-title a.logo:hover::after { color: #111; }
.kw-nav a:hover, .kw-nav a:hover svg { color: #111 !important; opacity: .6; }

/* Textseiten (Auktion, Anmeldung, Bestimmungen, Kontakt, …) */
.container.single-work.short-code { padding-top: 56px !important; padding-bottom: 80px !important; max-width: 920px; }
.container.single-work .project-content-top { margin: 0 0 34px !important; }
.container.single-work h5.section-title {
  font-family: var(--kw-display) !important; font-size: 64px !important; line-height: .95 !important;
  letter-spacing: -.02em; text-transform: uppercase; color: #111 !important; margin: 0 !important;
}
.container.single-work .project-content p {
  font-family: var(--kw-text) !important; font-size: 22px !important; line-height: 1.42 !important;
  color: #111 !important; margin: 0 0 18px !important; max-width: 40em;
}
.container.single-work .project-content p strong {
  font-family: var(--kw-display) !important; font-weight: 400 !important; font-size: 24px;
  letter-spacing: -.01em; text-transform: uppercase; line-height: 1.1; display: inline-block; margin-top: 18px;
}
.container.single-work .project-content p:first-child strong { margin-top: 0; }
.container.single-work .project-content p a:not(.kw-btn) { color: #111 !important; font-weight: 700; border-bottom: 0 !important; }
.container.single-work .project-content p a img { margin: 18px 28px 0 0; vertical-align: middle; max-height: 70px; width: auto; }

/* Buttons: markant schwarz, beim Hover invertiert */
a.kw-btn, .container.single-work .project-content a[href$=".pdf"],
.load-more, input[type=submit], input[type=button], button[type=submit], .btn, .button {
  display: inline-block !important; background: #111 !important; color: #fff !important;
  font-family: var(--kw-display) !important; font-size: 18px !important; line-height: 1 !important;
  letter-spacing: .01em; text-transform: uppercase; padding: 18px 26px !important;
  border: 3px solid #111 !important; border-radius: 0 !important; box-shadow: none !important;
  margin: 4px 0 8px !important; cursor: pointer; transition: background .15s, color .15s;
}
a.kw-btn:hover, .container.single-work .project-content a[href$=".pdf"]:hover,
input[type=submit]:hover, input[type=button]:hover, button[type=submit]:hover, .btn:hover, .button:hover {
  background: #fff !important; color: #111 !important;
}
input[type=text], input[type=email], input[type=tel], textarea, select {
  border: 3px solid #111 !important; border-radius: 0 !important; background: #fff !important;
  font-family: var(--kw-text); font-size: 20px; padding: 12px 14px; box-shadow: none !important;
}
input:focus, textarea:focus, select:focus { outline: 0 !important; background: #f4f4f4 !important; }

@media (max-width: 991px) {
  .container.single-work.short-code { padding-top: 20px !important; max-width: 100%; }
  .container.single-work h5.section-title { font-size: 38px !important; }
  .container.single-work .project-content p { font-size: 19px !important; }
  .container.single-work .project-content p strong { font-size: 20px; }
}

/* Bilder immer sichtbar (Firefox) */
.post_block img, .single-blogpost .post-img img { opacity: 1 !important; visibility: visible !important; filter: none !important; transform: none !important; }
.post-thumb > a .hover-state { display: none !important; }

/* Feinschliff Textseiten */
.container.single-work .project-content-top .col-sm-7 { padding-left: 0 !important; }
.container.single-work .project-content p.kw-caps {
  font-family: var(--kw-display) !important; font-size: 26px !important; line-height: 1.08 !important;
  letter-spacing: -.01em; text-transform: uppercase; margin: 34px 0 20px !important;
}
.container.single-work .project-content p.kw-caps br { display: block; }
/* WordPress-Admin-Leiste von den Buttons ausnehmen */
#wpadminbar input[type=submit], #wpadminbar .button, #wpadminbar button {
  background: #1d2327 !important; color: #fff !important; border: 0 !important; padding: 0 8px !important;
  margin: 0 !important; font: 13px/28px -apple-system, "Segoe UI", sans-serif !important; text-transform: none !important; height: 28px !important;
}

/* Navigation robust positionieren (alle Browser): Rahmen über dem Bildfeld, Pfeile darin */
.single-blogpost .post-img { position: relative !important; }
.single-blogpost .post-img .kw-nav {
  position: absolute !important; left: 0 !important; top: 0 !important; right: 0 !important; bottom: 0 !important;
  width: auto !important; height: auto !important; pointer-events: none; z-index: 5; display: block !important;
}
.single-blogpost .post-img .kw-nav a { pointer-events: auto; }
.single-blogpost .post-img .kw-nav .kw-nav-prev { position: absolute !important; left: 0 !important; right: auto !important; top: 50% !important; bottom: auto !important; margin-top: -39px !important; }
.single-blogpost .post-img .kw-nav .kw-nav-next { position: absolute !important; right: 0 !important; left: auto !important; top: 50% !important; bottom: auto !important; margin-top: -39px !important; }
@media (max-width: 991px) {
  .single-blogpost .post-img .kw-nav .kw-nav-prev, .single-blogpost .post-img .kw-nav .kw-nav-next { top: auto !important; bottom: 12px !important; margin-top: 0 !important; }
}

/* v2.3 Mobil: lange Überschriften und Buttons dürfen nicht überlaufen */
@media (max-width: 600px) {
  .section-title, .project-content h1, .project-content h2, .page-title, h1.section-title { font-size: clamp(30px, 9vw, 44px) !important; line-height: 1.05 !important; overflow-wrap: anywhere; hyphens: auto; }
  .project-content a.kw-btn, a.kw-btn, .project-content .kw-btn { display: block; max-width: 100%; box-sizing: border-box; white-space: normal; overflow-wrap: anywhere; font-size: 15px; }
  .project-content, .project-content * { max-width: 100%; }
}

/* v2.4 Button-Text immer sichtbar */
a.kw-btn, a.kw-btn:visited, a.kw-btn:focus { color: #fff !important; text-decoration: none !important; }
a.kw-btn:hover { color: #111 !important; }
