/* ========================================================================
   dlclone – Joomla-5-Anpassungsschicht
   Bildet das Joomla-5-Markup (mod-menu, com-content, com-contact) auf die
   alte yoo_master2-Optik ab. Die Original-Optik liegt in legacy-custom.css.
 ========================================================================== */

.uk-container {
    max-width: 1160px;
}

/* --- Logo ------------------------------------------------------------- */
.tm-logo,
.tm-logo:hover,
.tm-logo-small,
.tm-logo-small:hover {
    display: block;
    text-decoration: none;
}

.tm-logo p,
.tm-logo-small p,
.tm-logo-small div {
    margin: 0;
}

.tm-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.tm-logo-small img {
    max-width: 349px;
    width: 100%;
    height: auto;
}

/* --- Mobile Navbar / Offcanvas-Toggle ---------------------------------- */
.uk-navbar-toggle {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.uk-navbar-toggle::after {
    content: "\f0c9";
    font-family: FontAwesome;
}

/* --- Menülisten (J5 mod-menu → uk-nav-Optik) --------------------------- */
.mod-menu,
.mod-menu ul,
.uk-nav {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Wie UIkit2: Nav ragt ins Panel-Padding hinein (gemessen: ul margin -20px) */
.tm-sidebar-a .uk-panel > .mod-menu {
    margin-left: -20px;
    margin-right: -20px;
}

.tm-sidebar-a .mod-menu a {
    display: block;
    padding: 4px 20px;
    color: #333333;
    text-decoration: none;
}

/* Aktiver Menüpunkt (nur Ebene 1, wie .uk-nav-side > li.uk-active > a) */
.tm-sidebar-a .mod-menu > li.active > a,
.tm-sidebar-a .mod-menu > li.current > a {
    background: #70796a;
    color: #ffffff;
    margin-left: 5px;
    margin-right: 5px;
    padding: 4px 15px;
}

.tm-sidebar-a .mod-menu > li > a:hover,
.tm-sidebar-a .mod-menu > li > a:focus {
    margin-left: 5px;
    margin-right: 5px;
    padding: 4px 15px;
}

/* Pfeil-Indikator nur auf Ebene 1 (wie uk-nav-parent-icon) */
.tm-sidebar-a .mod-menu > li > a::after {
    content: "\f104";
    width: 20px;
    margin-right: 0;
    float: right;
    font-family: FontAwesome;
    text-align: center;
}

/* Unterebenen (gemessen an Altseite): ul-Einzug 20px/15px, Links 14px ohne Eigenpadding */
.tm-sidebar-a .mod-menu ul {
    padding: 5px 0 5px 20px;
    font-size: 14px;
}

.tm-sidebar-a .mod-menu ul a {
    padding: 2px 0;
    color: #333333;
    font-size: 14px;
    line-height: normal;
}

.tm-sidebar-a .mod-menu ul ul {
    padding: 0 0 0 15px;
}

.tm-sidebar-a .mod-menu li {
    line-height: normal;
}

/* Verstecktes Top-Menü (Altseite: display:none) */
.tm-navbar .mod-menu {
    display: none;
}

/* --- Content: J5-Klassen auf Alt-Optik --------------------------------- */
.tm-content .blog-items,
.tm-content .com-content-category-blog__items {
    display: block;
}

.tm-content .blog-item,
.tm-content .com-content-category-blog__item {
    margin: 0 0 25px 0;
}

/* Wie .uk-article: Clearfix verhindert Margin-Kollaps (Abstand zur Galerie-Sektion);
   7px unten = .tm-content > :last-child der Altseite */
.tm-content .item-page,
.tm-content .com-content-article {
    margin: 0 0 7px;
}

.tm-content .item-page::after {
    content: "";
    display: table;
    clear: both;
}

/* Artikel-Titel wie .uk-article-title (19px, Trennlinie) */
.tm-content .page-header h1,
.tm-content .page-header h2,
.tm-content > .item-page > h1,
.tm-content .com-content-article > h1 {
    font-size: 19px;
    line-height: normal;
    font-weight: 300;
    text-transform: none;
    margin: 0 0 10px 0;
    padding-bottom: 5px;
    border-bottom: 1px solid #a9a9a9;
}

.tm-content .page-header {
    border: 0;
    margin: 0;
    padding: 0;
}

/* Alt: "* + h1/h2/h3 {margin-top:15px}" — im J5-Wrapper ist die erste
   Content-Überschrift first-child und braucht den Abstand explizit */
.tm-content .com-content-article__body > h1:first-child,
.tm-content .com-content-article__body > h2:first-child,
.tm-content .com-content-article__body > h3:first-child {
    margin-top: 15px;
}

.tm-content img {
    max-width: 100%;
    height: auto;
}

/* Featured-Ansicht: Abstände wie Warp (.uk-article + .uk-article; Trennlinie nur mobil) */
.tm-content .items-leading .blog-item {
    margin: 0;
}

.tm-content .items-leading .blog-item + .blog-item {
    margin-top: 25px;
}

.tm-content .items-leading .blog-item:last-child {
    padding-bottom: 25px;
}

/* Meta-Infos/Navigation ausblenden (Altseite zeigt keine) */
.article-info,
.article-info-term,
.com-content-article__info,
.com-content-category-blog__item .article-info,
.com-content-category-blog__item .icons,
.icons,
.com-content-article__navigation,
.pagenavigation {
    display: none;
}

/* --- Kontakt ------------------------------------------------------------ */
.contact h3,
.com-contact h3 {
    margin: 15px 0 0;
    font-size: 16px;
}

/* Alt rendert die Abschnittstitel (Kontakt/Kontaktformular/Weitere Informationen)
   als h3 16px ohne Unterabstand; #tm-content nötig gegen ID-Regel der Altseite */
#tm-content .com-contact__container > h2,
#tm-content .com-contact > h2,
#tm-content .com-contact__form h2,
#tm-content .com-contact__miscinfo h2 {
    font-size: 16px;
    line-height: normal;
    margin: 15px 0 0;
}

/* Abstände der Kontaktdaten-Liste wie Bootstrap 2 der Altseite */
#tm-content .com-contact dl {
    margin: 20px 0;
}

/* Captcha: Frageetikett kommt aus dem Plugin, Core-Label "Captcha" verstecken */
.com-contact label#jform_captcha-lbl {
    display: none;
}

/* Icon-Fonts der Core-Layouts sind nicht geladen → Platzhalter-Glyphen verstecken */
.com-contact span[class^="icon-"],
.com-contact span[class*=" icon-"],
.com-contact .icon-address,
.com-contact .icon-phone {
    display: none;
}

.com-contact legend {
    margin-bottom: 10px;
    font-size: 18px;
    line-height: normal;
    padding-bottom: 5px;
    color: #333;
}

.com-contact input,
.com-contact textarea,
.com-contact .form-control {
    box-sizing: border-box;
    max-width: 100%;
}

/* Feldhöhe wie Bootstrap 2 der Altseite (32px inkl. Rahmen) */
.com-contact input:not([type="checkbox"]):not([type="radio"]) {
    height: 32px;
    padding: 4px 6px;
}

/* --- Footer ------------------------------------------------------------- */
.tm-footer .mod-custom,
.tm-footer .custom {
    font-size: 85%;
}

.tm-footer p {
    margin: 0 0 10px 0;
}

/* „Nach oben“-Pfeil */
.tm-totop-scroller {
    display: block;
    float: right;
    color: #999;
}

.tm-totop-scroller::after {
    content: "\f106";
    font-family: FontAwesome;
    font-size: 18px;
}

/* --- Offcanvas (Ersatz für UIkit2-JS) ----------------------------------- */
.uk-offcanvas[hidden] {
    display: none;
}

.uk-offcanvas.dl-open {
    display: block;
}

.uk-offcanvas {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.35);
}

.uk-offcanvas-bar {
    width: 270px;
    max-width: 85vw;
    min-height: 100vh;
    background: #333;
    padding-top: 20px;
}

.uk-offcanvas-bar .mod-menu a {
    display: block;
    color: #ccc;
    padding: 10px 15px;
}

.uk-offcanvas-bar .mod-menu ul a {
    padding: 5px 0 5px 35px;
}

.uk-offcanvas-bar .mod-menu > li.active > a,
.uk-offcanvas-bar .mod-menu > li.current > a,
.uk-offcanvas-bar .mod-menu a:hover {
    background: #1a1a1a;
    color: #fff;
    text-decoration: none;
}

/* --- Mobil --------------------------------------------------------------- */
@media (max-width: 767px) {
    .tm-main,
    .tm-sidebar-a {
        width: 100%;
        left: auto;
        right: auto;
    }

    /* Wie UIkit2 (uk-row-first beim Stapeln): Artikel-Ende mit Trennlinie */
    .tm-content > .item-page {
        padding-bottom: 25px;
        border-bottom: 1px solid #5a5a5a;
        margin-bottom: 7px;
    }

    /* Gestapelte (leere) Sidebar erzeugt wie UIkit-Grid-JS 25px Abstand vor dem
       Footer — im Original nur auf Artikel-/Featured-Seiten, nicht auf Kategorie-Blogs */
    .tm-middle:has(.item-page) .tm-sidebar-a,
    .tm-middle:has(.blog-featured) .tm-sidebar-a,
    .tm-middle:has(.com-contact) .tm-sidebar-a {
        margin-top: 25px;
    }

    /* Featured-Startseite: Trennlinie unter dem (leeren) ersten Beitrag */
    .tm-content .items-leading .blog-item {
        padding-bottom: 25px;
        border-bottom: 1px solid #5a5a5a;
    }

    .tm-content .items-leading .blog-item:last-child {
        border-bottom: 0;
    }

    .tm-content .items-leading .blog-item + .blog-item {
        margin-top: 25px;
    }
}
