/* Ergänzungen zum Original-Theme (YOOtheme Pro, Stil "Fuse") */
.tm-header, .uk-navbar-sticky, .tm-header-mobile .uk-navbar-container { box-shadow: 0 0 20px rgba(0,0,0,0.2); }
.el-image-frame { outline: 3px solid #fff; outline-offset: -20px; }
.el-slide { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.uk-panel img, .el-image { max-width: 100%; height: auto; }
.el-slide { height: auto; }

/* Aktiver/fokussierter Menüpunkt: dunkle Schrift mit goldener Linie statt heller Goldschrift (Kontrast) */
.uk-navbar-nav > li > a { position: relative; }
.uk-navbar-nav > li > a:hover, .uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li.uk-active > a { color: #222D1F; }
.uk-navbar-nav > li > a::after {
  content: ""; position: absolute; left: 25px; right: 25px; bottom: 22px; height: 2px;
  background: #D5BC97; transform: scaleX(0); transition: transform .15s ease-in-out;
}
.uk-navbar-nav > li > a:hover::after, .uk-navbar-nav > li > a:focus-visible::after,
.uk-navbar-nav > li.uk-active > a::after { transform: scaleX(1); }
.uk-nav-default > li.uk-active > a { text-decoration: underline; text-decoration-color: #D5BC97; text-underline-offset: 6px; text-decoration-thickness: 2px; }

/* Fließtext etwas dunkler für ausreichenden Kontrast (vorher #6C6D74) */
body, .uk-panel p, .uk-panel li, .uk-panel td { color: #55565C; }
.uk-panel a { text-decoration: underline; text-underline-offset: 3px; color: #222D1F; }

/* Sichtbarer Tastaturfokus */
a:focus-visible, button:focus-visible { outline: 3px solid #222D1F; outline-offset: 3px; }
.uk-section-primary a:focus-visible { outline-color: #fff; }
.uk-section-primary .uk-subnav > * > a:hover, .uk-section-primary .uk-subnav > * > a:focus { color: #fff; }

/* Sprunglink */
.tm-skip { position: absolute; left: 1rem; top: -100px; z-index: 1100; background: #222D1F; color: #fff; padding: .75rem 1.25rem; }
.tm-skip:focus { top: 1rem; color: #fff; }
main:focus { outline: none; }

/* Slider-Steuerung */
.tm-slidenav { background: none; border: 0; cursor: pointer; color: #222D1F; padding: 10px; }
.tm-slider-controls { gap: 1rem; }
.tm-slider-pause {
  font: inherit; font-size: 15px; letter-spacing: 1px; text-transform: uppercase;
  background: transparent; color: #222D1F; border: 1px solid #222D1F; padding: 6px 16px; cursor: pointer;
}
.tm-slider-pause:hover { background: #222D1F; color: #F3E3CC; }

/* Nur für Screenreader */
.tm-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Buttons im Farbschema */
.uk-button-default { background: transparent; color: #222D1F; border: 1px solid #222D1F; line-height: 1.4; padding-top: 10px; padding-bottom: 10px; }
.uk-button-default:hover, .uk-button-default:focus { background: #222D1F; color: #F3E3CC; border-color: #222D1F; }
.uk-navbar-toggle, .uk-navbar-toggle:hover { color: #222D1F; }

/* Kontaktblock statt Karte */
.tm-map-links { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

/* Tabellen auf kleinen Bildschirmen scrollbar */
@media (max-width: 639px) {
  .uk-panel table { font-size: 15px; }
  .uk-panel table th { font-size: 14px; letter-spacing: 0; }
  .uk-panel table th, .uk-panel table td { padding: 10px 4px; }
}

.tm-header-mobile .uk-navbar-toggle { background: none; border: 0; cursor: pointer; }
.uk-offcanvas-bar { background: #222D1F; }

@media (prefers-reduced-motion: reduce) {
  [class*="uk-animation-"] { animation: none !important; }
}
