/* ==========================================================================
   Y-Treff Design "y5" - Bootstrap 5.3
   1. Schriften   2. Farben/Theme   3. Layout   4. Komponenten
   5. Kompatibilitaet fuer Bootstrap-2-Markup in den PHP-Seiten (Schritt 1)
   ========================================================================== */

/* 1. Schriften (lokal, keine externen Server) ----------------------------- */
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/source-sans-3-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow-condensed-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/barlow-condensed-latin-700-normal.woff2") format("woff2"); }

/* 2. Farben / Theme -------------------------------------------------------- */
:root,
[data-bs-theme="light"] {
  --yt-olive: #5f7a3c;          /* Markenfarbe (aus #6f8745 abgeleitet, besserer Kontrast) */
  --yt-olive-dark: #3f5326;
  --yt-olive-light: #e9eedf;
  --yt-sand: #f4f2ec;           /* warmer Seitenhintergrund */
  --yt-khaki: #b59a5b;          /* Akzent */
  --yt-ink: #23281d;

  --bs-primary: var(--yt-olive);
  --bs-primary-rgb: 95, 122, 60;
  --bs-link-color: #4d6a2c;
  --bs-link-color-rgb: 77, 106, 44;
  --bs-link-hover-color: var(--yt-olive-dark);
  --bs-link-hover-color-rgb: 63, 83, 38;
  --bs-body-bg: var(--yt-sand);
  --bs-body-color: var(--yt-ink);
  --bs-body-font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --bs-body-font-size: 1.0625rem;
  --bs-body-line-height: 1.55;
  --bs-border-color: #dedbd0;
  --bs-border-radius: .5rem;
  --bs-border-radius-lg: .75rem;
  --bs-secondary-color: #5f6458;
  --yt-card-bg: #ffffff;
  --yt-shadow: 0 1px 2px rgba(35, 40, 29, .06), 0 2px 8px rgba(35, 40, 29, .05);
}
[data-bs-theme="dark"] {
  --yt-olive-light: #2c3420;
  --yt-sand: #171a13;
  --bs-primary: #8fae5f;
  --bs-primary-rgb: 143, 174, 95;
  --bs-link-color: #a9c77a;
  --bs-link-color-rgb: 169, 199, 122;
  --bs-link-hover-color: #c4dc9c;
  --bs-body-bg: var(--yt-sand);
  --bs-body-color: #e3e5dc;
  --bs-border-color: #33392a;
  --bs-secondary-color: #a7ac9c;
  --yt-card-bg: #20241a;
  --yt-shadow: none;
}

.btn-primary {
  --bs-btn-bg: var(--yt-olive); --bs-btn-border-color: var(--yt-olive);
  --bs-btn-hover-bg: var(--yt-olive-dark); --bs-btn-hover-border-color: var(--yt-olive-dark);
  --bs-btn-active-bg: var(--yt-olive-dark); --bs-btn-active-border-color: var(--yt-olive-dark);
  --bs-btn-disabled-bg: var(--yt-olive); --bs-btn-disabled-border-color: var(--yt-olive);
}
.btn-outline-primary {
  --bs-btn-color: var(--yt-olive); --bs-btn-border-color: var(--yt-olive);
  --bs-btn-hover-bg: var(--yt-olive); --bs-btn-hover-border-color: var(--yt-olive);
  --bs-btn-active-bg: var(--yt-olive-dark);
}
.text-bg-primary, .bg-primary { background-color: var(--yt-olive) !important; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: #9db67a; box-shadow: 0 0 0 .2rem rgba(95, 122, 60, .2); }
.form-check-input:checked { background-color: var(--yt-olive); border-color: var(--yt-olive); }

h1, h2, h3, .yt-display { font-family: "Barlow Condensed", "Source Sans 3", sans-serif; font-weight: 700; letter-spacing: .01em; }
h4, h5, h6 { font-weight: 700; }

/* 3. Layout ---------------------------------------------------------------- */
body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1 0 auto; }
.yt-skip { position: absolute; left: -999px; top: .5rem; z-index: 2000; }
.yt-skip:focus { left: .5rem; }

/* Navigation */
.yt-topline { height: 6px; background: linear-gradient(90deg, var(--yt-olive-dark), var(--yt-olive) 60%, var(--yt-khaki)); }
.yt-navbar { background: var(--yt-olive-dark); }
.yt-navbar .navbar-brand { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 1.55rem; letter-spacing: .02em; }
.yt-navbar .navbar-brand .yt-mark { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin-right: .4rem; border-radius: .4rem; background: var(--yt-khaki); color: var(--yt-olive-dark); font-size: 1.25rem; }
.yt-navbar .nav-link { font-weight: 600; color: rgba(255, 255, 255, .85); padding: .7rem .8rem !important; border-radius: .4rem; }
.yt-navbar .nav-link:hover, .yt-navbar .nav-link:focus, .yt-navbar .nav-link.show { color: #fff; background: rgba(255, 255, 255, .1); }
.yt-navbar .dropdown-menu { border: 0; box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15); padding: .4rem; }
.yt-navbar .dropdown-item { border-radius: .35rem; padding: .45rem .75rem; }
.yt-navbar .dropdown-item i { color: var(--yt-olive); width: 1.4em; display: inline-block; }
.yt-navbar .dropdown-item:active { background: var(--yt-olive); }
.yt-navbar .dropdown-item:active i { color: #fff; }
.yt-navbar .badge { font-size: .7rem; vertical-align: .15em; }
@media (max-width: 991.98px) {
  .yt-navbar .offcanvas { background: var(--yt-olive-dark); }
  .yt-navbar .dropdown-menu { background: rgba(255, 255, 255, .06); box-shadow: none; }
  .yt-navbar .dropdown-item { color: rgba(255, 255, 255, .9); }
  .yt-navbar .dropdown-item i { color: var(--yt-khaki); }
  .yt-navbar .dropdown-divider { border-color: rgba(255, 255, 255, .15); }
}

/* Seitenkopf */
.yt-pagehead { padding: 1.75rem 0 1rem; }
.yt-pagehead h1 { font-size: clamp(1.9rem, 3vw, 2.6rem); margin: 0; color: var(--yt-olive-dark); }
[data-bs-theme="dark"] .yt-pagehead h1 { color: #dfe8cf; }
.yt-pagehead .yt-sub { color: var(--bs-secondary-color); font-size: 1rem; }
.yt-pagehead h1 [class^="icon-"], .yt-pagehead h1 [class*=" icon-"] { font-size: .8em; color: var(--yt-khaki); }

/* Fusszeile */
.yt-footer { background: var(--yt-ink); color: #c9ccc0; padding: 2rem 0 1.5rem; margin-top: 3rem; font-size: .95rem; }
.yt-footer a { color: #e3e6da; text-decoration: none; }
.yt-footer a:hover { color: #fff; text-decoration: underline; }
.yt-footer .nav { --bs-nav-link-padding-x: .6rem; }
.yt-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.yt-footer li a { display: inline-block; padding: .2rem 0; }

.yt-totop { position: fixed; right: 1rem; bottom: 1rem; z-index: 1030; display: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; box-shadow: var(--yt-shadow); }
.yt-totop.show { display: inline-flex; align-items: center; justify-content: center; }

/* 4. Komponenten ----------------------------------------------------------- */
.card { --bs-card-bg: var(--yt-card-bg); --bs-card-border-color: var(--bs-border-color); box-shadow: var(--yt-shadow); }
.card-header { background: transparent; font-weight: 700; }
.list-group { --bs-list-group-bg: var(--yt-card-bg); }

/* Meldungen als Toasts */
.yt-toasts { position: fixed; top: 5rem; right: 1rem; z-index: 1090; width: min(26rem, calc(100% - 2rem)); }
.yt-toasts .toast { box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15); border: 0; }
.yt-toasts .toast-body { font-size: 1rem; }

/* Startseite fuer Gaeste */
.yt-hero { position: relative; color: #fff; background: var(--yt-olive-dark); overflow: hidden; }
.yt-hero::before { content: ""; position: absolute; inset: 0; background:
    radial-gradient(1200px 400px at 85% 120%, rgba(181, 154, 91, .45), transparent 60%),
    radial-gradient(900px 500px at -10% -20%, rgba(255, 255, 255, .12), transparent 60%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .025) 0 2px, transparent 2px 14px); }
.yt-hero > .container { position: relative; }
.yt-hero h1 { font-size: clamp(2.4rem, 5vw, 3.8rem); line-height: 1.05; }
.yt-hero .lead { font-size: 1.25rem; color: rgba(255, 255, 255, .88); max-width: 36rem; }
.yt-hero .card { color: var(--bs-body-color); }
.yt-stats .yt-stat { text-align: center; padding: 1.25rem .5rem; }
.yt-stats .yt-stat strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 2.4rem; color: var(--yt-olive); line-height: 1; }
.yt-stats .yt-stat span { color: var(--bs-secondary-color); }
.yt-feature i { font-size: 1.75rem; color: var(--yt-olive); }

/* Kleine Hilfsklassen */
.yt-avatar { width: 2.25rem; height: 2.25rem; border-radius: 50%; object-fit: cover; }
.yt-muted { color: var(--bs-secondary-color); }

/* ==========================================================================
   5. KOMPATIBILITAET: Bootstrap-2-Klassen aus den bestehenden PHP-Seiten
   Wird in Schritt 2 (Umstellung der Seiten) wieder abgebaut.
   ========================================================================== */

/* Raster: .row > .spanN, .row-fluid */
.row-fluid { display: flex; flex-wrap: wrap; margin-left: calc(-.5 * 1.5rem); margin-right: calc(-.5 * 1.5rem); }
.row > [class*="span"], .row-fluid > [class*="span"] { flex: 0 0 auto; width: 100%; max-width: 100%; padding-left: .75rem; padding-right: .75rem; }
@media (min-width: 768px) {
  .row > .span1, .row-fluid > .span1 { width: 8.333%; }   .row > .span2, .row-fluid > .span2 { width: 16.666%; }
  .row > .span3, .row-fluid > .span3 { width: 25%; }       .row > .span4, .row-fluid > .span4 { width: 33.333%; }
  .row > .span5, .row-fluid > .span5 { width: 41.666%; }   .row > .span6, .row-fluid > .span6 { width: 50%; }
  .row > .span7, .row-fluid > .span7 { width: 58.333%; }   .row > .span8, .row-fluid > .span8 { width: 66.666%; }
  .row > .span9, .row-fluid > .span9 { width: 75%; }       .row > .span10, .row-fluid > .span10 { width: 83.333%; }
  .row > .span11, .row-fluid > .span11 { width: 91.666%; } .row > .span12, .row-fluid > .span12 { width: 100%; }
}
/* spanN an Formularfeldern = Breite */
input[class*="span"], select[class*="span"], textarea[class*="span"], .input-block-level { width: 100%; max-width: 100%; }
@media (min-width: 768px) {
  input.span2, select.span2 { max-width: 10rem; } input.span3, select.span3 { max-width: 16rem; }
  input.span4, select.span4 { max-width: 22rem; } input.span5, select.span5 { max-width: 28rem; }
}
.hidden-phone { }
@media (max-width: 767.98px) { .hidden-phone { display: none !important; } }
@media (min-width: 768px) { .visible-phone { display: none !important; } }

/* Formulare */
input[type="text"], input[type="password"], input[type="email"], input[type="search"], input[type="number"],
input[type="date"], input[type="url"], input[type="tel"], select, textarea {
  display: block; width: 100%; padding: .5rem .75rem; font-size: 1rem; line-height: 1.5; color: var(--bs-body-color);
  background-color: var(--bs-body-bg); background-color: var(--yt-card-bg); border: 1px solid var(--bs-border-color); border-radius: .4rem;
  transition: border-color .15s, box-shadow .15s;
}
select { appearance: auto; }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="search"]:focus, select:focus, textarea:focus {
  outline: 0; border-color: #9db67a; box-shadow: 0 0 0 .2rem rgba(95, 122, 60, .2);
}
.form-inline input, .input-append input, .input-prepend input, .navbar-search input { display: inline-block; width: auto; }
.control-group { margin-bottom: 1rem; }
.control-label { font-weight: 600; margin-bottom: .35rem; display: block; }
.control-group.error .control-label, .control-group.error .help-inline { color: var(--bs-danger); }
.control-group.error input, .control-group.error select, .control-group.error textarea { border-color: var(--bs-danger); }
@media (min-width: 768px) {
  .form-horizontal .control-group { display: grid; grid-template-columns: 11rem 1fr; gap: .25rem 1.25rem; align-items: start; }
  .form-horizontal .control-label { padding-top: .5rem; margin: 0; text-align: right; }
  .form-horizontal .form-actions { padding-left: 12.25rem; }
}
.form-actions { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--bs-border-color); display: flex; flex-wrap: wrap; gap: .5rem; }
.help-block, .help-inline { color: var(--bs-secondary-color); font-size: .9rem; }
.checkbox, .radio { display: block; padding-left: 0; }
.input-append, .input-prepend { display: flex; flex-wrap: nowrap; align-items: stretch; max-width: 100%; }
.input-append input, .input-prepend input { flex: 1 1 auto; min-width: 0; }
.input-append > :not(:first-child), .input-prepend > :not(:first-child) { margin-left: -1px; }
.input-append input { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-append .btn:last-child, .input-append .add-on:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-prepend input { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-prepend .add-on:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.add-on { display: flex; align-items: center; padding: .375rem .75rem; background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); border-radius: .4rem; color: var(--bs-secondary-color); }

/* Buttons */
.btn:not([class*="btn-"]), .btn.btn-large:not([class*="btn-primary"]):not([class*="btn-success"]):not([class*="btn-danger"]):not([class*="btn-warning"]):not([class*="btn-info"]):not([class*="btn-inverse"]):not([class*="btn-link"]) {
  --bs-btn-color: var(--bs-body-color); --bs-btn-bg: var(--yt-card-bg); --bs-btn-border-color: var(--bs-border-color);
  --bs-btn-hover-bg: var(--yt-olive-light); --bs-btn-hover-border-color: #c7cfb7; --bs-btn-hover-color: var(--bs-body-color);
}
.btn-large { --bs-btn-padding-y: .55rem; --bs-btn-padding-x: 1.1rem; --bs-btn-font-size: 1.1rem; }
.btn-mini, .btn-small { --bs-btn-padding-y: .2rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .85rem; }
.btn-inverse { --bs-btn-color: #fff; --bs-btn-bg: var(--yt-ink); --bs-btn-border-color: var(--yt-ink); --bs-btn-hover-bg: #000; --bs-btn-hover-color: #fff; }
.btn-success { --bs-btn-bg: var(--yt-olive); --bs-btn-border-color: var(--yt-olive); --bs-btn-hover-bg: var(--yt-olive-dark); --bs-btn-hover-border-color: var(--yt-olive-dark); }
.btn-group > .btn + .dropdown-toggle { padding-left: .5rem; padding-right: .5rem; }
.caret { display: inline-block; width: 0; height: 0; margin-left: .25em; vertical-align: .15em; border-top: .3em solid; border-right: .3em solid transparent; border-left: .3em solid transparent; }
.dropdown-toggle .caret + .caret, .yt-navbar .dropdown-toggle::after { }

/* Kaesten */
.well { background: var(--yt-card-bg); border: 1px solid var(--bs-border-color); border-radius: var(--bs-border-radius-lg); padding: 1.25rem; margin-bottom: 1.25rem; box-shadow: var(--yt-shadow); }
.well-small { padding: .75rem; }
.well.row { margin-left: 0; margin-right: 0; padding: 1rem .25rem; }
.hero-unit { background: var(--yt-olive-light); border-radius: var(--bs-border-radius-lg); padding: 2rem; margin-bottom: 1.5rem; }
.page-header { border-bottom: 1px solid var(--bs-border-color); padding-bottom: .5rem; margin: 1.5rem 0 1rem; }
.alert-error { --bs-alert-color: var(--bs-danger-text-emphasis); --bs-alert-bg: var(--bs-danger-bg-subtle); --bs-alert-border-color: var(--bs-danger-border-subtle); }
.alert-block { padding: 1.25rem 1.5rem; }
.alert .close, .close { float: right; font-size: 1.5rem; line-height: 1; color: inherit; opacity: .5; text-decoration: none; background: none; border: 0; }
.alert .close:hover, .close:hover { opacity: .9; }
.muted { color: var(--bs-secondary-color) !important; }
.text-error { color: var(--bs-danger) !important; }
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.img-polaroid { padding: .25rem; background: var(--yt-card-bg); border: 1px solid var(--bs-border-color); border-radius: .4rem; max-width: 100%; height: auto; }
.img-rounded { border-radius: .4rem; }
.img-circle { border-radius: 50%; }
.label, .badge:not([class*="text-bg"]):not([class*="bg-"]) { display: inline-block; padding: .3em .55em; font-size: .78em; font-weight: 700; line-height: 1; color: #fff; background: #737868; border-radius: .35rem; vertical-align: baseline; }
.badge { border-radius: 1rem; }
.label-success, .badge-success { background: var(--yt-olive) !important; }
.label-important, .badge-important { background: #b8352b !important; }
.label-warning, .badge-warning { background: #c28a1e !important; }
.label-info, .badge-info { background: #3a7491 !important; }
.label-inverse, .badge-inverse { background: var(--yt-ink) !important; }
.table { --bs-table-bg: var(--yt-card-bg); }
table[bgcolor], td[bgcolor], tr[bgcolor] { background: var(--yt-card-bg) !important; }
.thumbnails { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 1rem; }
.thumbnail { display: block; padding: .3rem; background: var(--yt-card-bg); border: 1px solid var(--bs-border-color); border-radius: .5rem; }
.pagination ul { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; padding: 0; }
.pagination ul > li > a, .pagination ul > li > span { display: block; padding: .35rem .75rem; border: 1px solid var(--bs-border-color); border-radius: .4rem; background: var(--yt-card-bg); text-decoration: none; }
.pagination ul > .active > a, .pagination ul > .active > span { background: var(--yt-olive); border-color: var(--yt-olive); color: #fff; }
.breadcrumb { background: transparent; padding: 0; }
.breadcrumb .divider { padding: 0 .4rem; color: var(--bs-secondary-color); }

/* Seitenleisten-Boxen (bs-docs-sidebar / nav-list) als Karten */
.bs-docs-sidebar, div.bs-docs-sidenav { margin-bottom: 1.5rem; }
ul.bs-docs-sidenav, .nav-list, .bs-docs-sidebar ul.nav.nav-list {
  display: block; list-style: none; margin: 0 0 1.5rem; padding: 0; background: var(--yt-card-bg);
  border: 1px solid var(--bs-border-color); border-radius: var(--bs-border-radius-lg); box-shadow: var(--yt-shadow); overflow: hidden;
}
.bs-docs-sidebar ul.bs-docs-sidenav { margin-bottom: 0; }
ul.bs-docs-sidenav > li, .nav-list > li { border-top: 1px solid var(--bs-border-color); }
ul.bs-docs-sidenav > li:first-child, .nav-list > li:first-child { border-top: 0; }
ul.bs-docs-sidenav > li > a, .nav-list > li > a { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; padding: .6rem 1rem; color: var(--bs-body-color); text-decoration: none; }
ul.bs-docs-sidenav > li > a:hover, .nav-list > li > a:hover { background: var(--yt-olive-light); color: var(--yt-olive-dark); }
ul.bs-docs-sidenav > li > a .pull-right, .nav-list > li > a .pull-right { float: none !important; margin-left: auto; color: var(--bs-secondary-color); font-size: .88em; }
ul.bs-docs-sidenav > li > a [class^="icon-"], ul.bs-docs-sidenav > li > a [class*=" icon-"] { color: var(--yt-olive); }
ul.bs-docs-sidenav > li:not(.active) { padding: 0; }
ul.bs-docs-sidenav > li:not(.active):not(:has(> a)) { padding: .6rem 1rem; }
/* erste "aktive" Zeile = Kartenkopf */
ul.bs-docs-sidenav > li.active, .nav-list > li.active { background: var(--yt-olive-light); }
ul.bs-docs-sidenav > li.active > a, .nav-list > li.active > a { color: var(--yt-olive-dark); font-family: "Barlow Condensed", sans-serif; font-size: 1.2rem; font-weight: 700; padding: .65rem 1rem; letter-spacing: .01em; }
ul.bs-docs-sidenav > li.active > a [class^="icon-"], ul.bs-docs-sidenav > li.active > a [class*=" icon-"] { color: var(--yt-khaki); }
ul.bs-docs-sidenav > li.active > a b { font-weight: 700; }
[data-bs-theme="dark"] ul.bs-docs-sidenav > li.active > a { color: #dfe8cf; }
ul.bs-docs-sidenav > li > a img, ul.bs-docs-sidenav > li img.img-polaroid { width: 2.25rem; height: 2.25rem; border-radius: 50%; padding: 0; object-fit: cover; }
ul.bs-docs-sidenav > li > a > div[style*="clear"] { display: none; }
ul.bs-docs-sidenav .nav-header { padding: .6rem 1rem; font-weight: 700; color: var(--bs-secondary-color); font-size: .85rem; text-transform: uppercase; }
.nav-list .divider { height: 0; margin: 0; border-top: 1px solid var(--bs-border-color); }

/* Sonstige Altlasten */
font[color] { color: inherit; }
center { text-align: center; display: block; }
a > h4 { color: inherit; }
.newstext { color: var(--bs-secondary-color); }

/* Kachel-Listen (z. B. News auf der Uebersicht): ul.nav ohne nav-list */
.bs-docs-sidebar > ul.nav:not(.nav-list):not(.bs-docs-sidenav) { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; padding: 0; margin: 0 0 1.5rem; }
.bs-docs-sidebar > ul.nav:not(.nav-list) > li.well { flex: 1 1 14rem; margin: 0; text-align: left !important; }
.bs-docs-sidebar > ul.nav:not(.nav-list) > li.well a { text-decoration: none; color: var(--bs-body-color); }
.bs-docs-sidebar > ul.nav:not(.nav-list) > li.well b { display: block; color: var(--yt-olive-dark); margin-bottom: .25rem; }
ul.bs-docs-sidenav > li > a[style*="height"] { padding: 0 !important; display: block; }
ul.bs-docs-sidenav > li > a[style*="height"] img { width: 100% !important; height: auto !important; border-radius: 0 !important; }
/* Hinweise im Inhalt */
.yt-notice { box-shadow: var(--yt-shadow); }
.yt-notice h3, .yt-notice h4 { font-family: "Barlow Condensed", sans-serif; }

/* Links: ohne Unterstreichung, beim Ueberfahren unterstrichen (in Fliesstext/Hinweisen weiter unterstrichen) */
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.alert a, .yt-prose a { text-decoration: underline; }
.btn:hover, .nav-link:hover, .dropdown-item:hover, .navbar-brand:hover, ul.bs-docs-sidenav a:hover { text-decoration: none; }

/* Zeilen-Kaesten (.well.row, z. B. Forenliste): letzte Spalte fuellt den Rest */
.well.row { display: flex; flex-wrap: nowrap; gap: 1rem; align-items: flex-start; padding: 1rem 1.25rem; }
.well.row > [class*="span"] { padding: 0; width: auto !important; }
.well.row > [class*="span"]:first-child { flex: 0 0 7rem; max-width: 7rem; }
.well.row > [class*="span"]:last-child { flex: 1 1 0; min-width: 0; }
.well.row .img-polaroid { border: 0; background: none; padding: 0; text-align: center; font-size: .85rem; line-height: 1.2; }
.well.row .img-polaroid img { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto .35rem; }
.well.row h4 { margin: 0 0 .25rem; font-size: 1.2rem; color: var(--yt-olive-dark); }
[data-bs-theme="dark"] .well.row h4 { color: #dfe8cf; }
.well.row p { margin-bottom: .25rem; }
.well.row br + a, .well.row p > a:not(:first-child) { color: var(--bs-body-color); }
.well.row .muted { font-size: .92rem; }
.well:hover { border-color: #c9d2b8; }
@media (max-width: 575.98px) {
  .well.row > [class*="span"]:first-child { flex-basis: 4rem; max-width: 4rem; }
  .well.row .img-polaroid img { width: 3rem; height: 3rem; }
}

/* Grosses Y-Zeichen (Anmeldeseiten) */
.yt-mark-lg { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: .9rem;
  background: var(--yt-khaki); color: var(--yt-olive-dark); font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 2.3rem; box-shadow: var(--yt-shadow); }
.input-group-text { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); }
.list-group-item.active { background: var(--yt-olive); border-color: var(--yt-olive); }
.list-group-item-action:hover { background: var(--yt-olive-light); }

/* ---------- Schrittanzeige (Registrierung) ---------- */
.yt-steps { display: flex; list-style: none; padding: 0; margin: 0 auto; max-width: 560px; counter-reset: s; }
.yt-steps li { flex: 1; position: relative; text-align: center; color: var(--bs-secondary-color); font-size: .9rem; }
.yt-steps li::before { content: ""; position: absolute; top: 1.05rem; left: -50%; width: 100%; height: 3px; background: var(--bs-border-color); z-index: 0; }
.yt-steps li:first-child::before { display: none; }
.yt-steps li.done::before, .yt-steps li.active::before { background: var(--yt-olive, #5f7a3c); }
.yt-step-nr { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--bs-body-bg); border: 3px solid var(--bs-border-color); font-weight: 700; }
.yt-step-name { display: block; margin-top: .35rem; }
.yt-steps li.active { color: var(--bs-body-color); font-weight: 600; }
.yt-steps li.active .yt-step-nr { border-color: var(--yt-olive, #5f7a3c); color: var(--yt-olive, #5f7a3c); }
.yt-steps li.done .yt-step-nr { background: var(--yt-olive, #5f7a3c); border-color: var(--yt-olive, #5f7a3c); color: #fff; }

html { scroll-padding-top: 5.5rem; }

/* ---------- Nachrichten ---------- */
.yt-msg-row { display: flex; align-items: flex-start; gap: .75rem; padding: .75rem 1rem; }
.yt-msg-row > .form-check-input { margin-top: .35rem; flex: none; }
.yt-msg-status { flex: none; width: 1.25rem; text-align: center; margin-top: .1rem; }
.yt-msg-main { flex: 1; min-width: 0; }
.yt-msg-from a { color: inherit; text-decoration: none; }
.yt-msg-subject { color: var(--bs-body-color); text-decoration: none; }
.yt-msg-subject:hover { color: var(--yt-olive); text-decoration: underline; }
.yt-msg-preview { font-size: .875rem; color: var(--bs-secondary-color); }
.yt-msg-row:hover { background: var(--bs-tertiary-bg); }
.yt-unread { box-shadow: inset 3px 0 0 var(--yt-olive); }
.yt-unread .yt-msg-from, .yt-unread .yt-msg-subject { font-weight: 700; }
.yt-msg-toolbar { background: var(--bs-tertiary-bg); }
.yt-avatar-sm { font-size: 2rem; line-height: 1; color: var(--yt-khaki, #b59a5b); }
.yt-message-body { font-size: 1.05rem; line-height: 1.6; overflow-wrap: anywhere; }
.yt-message-body img { max-width: 100%; height: auto; }
.yt-message-body blockquote { border-left: 3px solid var(--bs-border-color); padding-left: 1rem; color: var(--bs-secondary-color); }

/* Eingabefelder immer auf Kartenfarbe (Bootstrap nutzt sonst den Seitenhintergrund) */
.form-control, .form-select, .input-group-text { background-color: var(--yt-card-bg); }
.input-group-text { color: var(--bs-secondary-color); }
.form-control:disabled, .form-control[readonly] { background-color: var(--bs-tertiary-bg); }
.yt-initials { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--yt-khaki); color: #fff; font-weight: 700; letter-spacing: .02em; }
.yt-msg-person { flex-wrap: wrap; }
.yt-msg-person > a { font-weight: 600; }
