/*
 * landkreis-gotha.de – Site-Package (TYPO3 14.3)
 * Nachbau des bisherigen Designs (TYPO3 6.2, fileadmin/css/*.css). px-Werte 1:1 aus dem alten CSS,
 * Quelle jeweils im Kommentar (Datei → Regel). Abweichungen nur für Barrierefreiheit (README, Abschnitt Farben).
 */

/* ---------------------------------------------------------------------------
 * Schrift
 * Vectora LH 45 Light (Linotype) – Webfont-Dateien 1:1 aus dem Original (fileadmin/css/font,
 * Stand 29.06.2016, eingebunden in responsive.css), übernommen auf Wunsch tk am 22.10.2026.
 * --------------------------------------------------------------------------- */
@font-face {
    font-family: "vectora_lhregular";
    src: url("../Fonts/vectora_lh_45_light-webfont.woff2") format("woff2"),
         url("../Fonts/vectora_lh_45_light-webfont.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --lk-font: "vectora_lhregular", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --lk-text: #575756;          /* responsive.css → html, body */
    --lk-rot: #e40613;           /* responsive.css → a */
    --lk-rot-dunkel: #c00510;    /* nur auf #e9e4e3/#f2f2f1 (alt #e40613: 3,85:1) */
    --lk-kupfer: #9a6446;        /* Balken mit weißer Schrift (alt #b37a59: 3,59:1), Audit-Vorschlag */
    --lk-kupfer-alt: #b37a59;    /* nur Linien (Tabellen) */
    --lk-kupfer-linie: #be8866;  /* responsive.css → .oben_100, #bild_inhalt */
    --lk-mega-box: rgba(190, 136, 102, 0.4); /* megamenue.css → li#ebene2 a */
    --lk-mega-grund: rgba(242, 242, 242, 0.95);
    --lk-mega-linie: #b4b5b4;
    --lk-grau: #e9eaeb;          /* .page-wrapper-bild, h2 */
    --lk-linie: #dedcdc;         /* menue.css */
    --lk-subnav: #6b6b6b;        /* alt #7a7a7a: 4,29:1 */
    --lk-subnav-akt: #e9e4e3;
    --lk-subnav2: #f2f2f1;
    --lk-hmenue: #575756;        /* Hauptmenü inaktiv, alt #91989c: 2,93:1, Audit-Vorschlag */
    --lk-hmenue-trenner: #91989c;
    --lk-fuss: #566872;          /* bottom.css */
    --lk-meta: #6b6b6b;          /* News Datum/Kategorie, alt #888: 3,54:1, Audit-Vorschlag */
    --lk-suche-rahmen: #c0c3c3;  /* funktion.css → #suche */
    --lk-fokus: #1d4976;
    --lk-kopf-hoehe: 167px;      /* responsive.css → .page-wrapper-oben */
}

/* ---------- Grundlagen (responsive.css → html, body / * / a / img) ---------- */
*, *::before, *::after { box-sizing: border-box; }
html {
    color: var(--lk-text);
    font-family: var(--lk-font);
    font-size: 100%;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
}
body {
    margin: 0;
    background: #fff;
    color: var(--lk-text);
    font-size: 1em;
    line-height: 1.5;
    overflow-wrap: break-word;
    hyphens: auto;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote { margin: 0; padding: 0; }
a { color: var(--lk-rot); font-weight: normal; text-decoration: none; }
a:hover { text-decoration: underline; }
img { height: auto; max-width: 100%; }
iframe { max-width: 100%; border: 0; }
button { font: inherit; }

/* Sichtbarer Fokus (alt: * { outline: medium none } – entfernt) */
:focus-visible {
    outline: 3px solid var(--lk-fokus);
    outline-offset: 2px;
    box-shadow: 0 0 0 5px #fff;
}

.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
.lk-skiplink {
    position: absolute;
    left: 1rem; top: -10rem;
    z-index: 200;
    background: #fff;
    color: var(--lk-rot);
    padding: 0.5rem 1rem;
    border: 2px solid var(--lk-fokus);
}
.lk-skiplink:focus { top: 1rem; }
.lk-main:focus { outline: none; }

/* ===========================================================================
 * Kopf (responsive.css → .oben_100, .page-wrapper-oben, header, #logo;
 *       funktion.css → #funktion, #suche; megamenue.css → .mainMenu)
 * =========================================================================== */
.lk-top {
    background: #fff;
    border-bottom: 0.2em solid var(--lk-kupfer-linie);   /* 3,2px */
    position: relative;
    z-index: 80;
}
.lk-top__inner {
    position: relative;
    margin: 0 auto;
    max-width: 1130px;
    padding: 0 1.2em;              /* alt: header { margin: 0 1em } bei 19,2px */
    font-size: 1.2em;              /* 19,2px */
    display: flow-root;
}
.lk-logo {
    position: absolute;
    left: 1.2em;
    top: 0;
    z-index: 2;
    margin: 5px 0 0;
    border: 20px solid #fff;       /* #logo */
    background: #fff;
    line-height: 0;
}
.lk-logo img { display: block; width: 210px; height: auto; } /* unterseiten.html: 210 × 153 */
.lk-site--start .lk-logo img { width: 200px; }               /* index_ohne_bg.html: 200 × 145 */

.lk-top__tools { display: flow-root; }

/* Funktionsmenü (funktion.css → #funktion) */
.lk-funktion {
    float: right;
    padding: 1.2em 0 0;            /* 23px */
    text-transform: uppercase;
}
.lk-funktion ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: flex-end; }
.lk-funktion li { font-size: 0.6em; color: var(--lk-text); }   /* 11,52px */
.lk-funktion a {
    border-left: 1px solid;
    color: var(--lk-text);
    padding: 0 10px;
}
.lk-funktion .is-current a { color: var(--lk-rot); }

/* Suche (funktion.css → #suche, .textfeld) */
.lk-search {
    clear: both;
    float: right;
    display: flex;
    align-items: center;
    width: 332px;
    height: 35px;
    margin: 10px 0 0;
    border: 1px solid var(--lk-suche-rahmen);
    background: #fff;
    box-sizing: content-box;
}
.lk-search__field {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    background: #fff;
    color: #4c606a;
    font-family: inherit;
    font-size: 0.7em;              /* 13,44px */
    margin: 0 0 0 3px;
    padding: 0 0 0 10px;
    height: 100%;
}
.lk-search__field::placeholder { color: #4c606a; opacity: 1; }
.lk-search__submit {
    flex: 0 0 auto;
    width: 40px; height: 35px;
    border: 0; background: transparent;
    color: #7a7a7a;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.lk-search__submit svg { width: 24px; height: 24px; }

/* Hauptmenü (megamenue.css → .mainMenu, ul.dropdown li#ebene1 a) */
.lk-mainnav {
    clear: both;
    float: right;
    position: static;              /* Panel richtet sich am Kopf aus, nicht an der Menübreite */
    margin: 35px 0 0;
    font-size: 1.55em;             /* 29,76px */
    line-height: 1;
}
.lk-mainmenu { list-style: none; display: flex; flex-wrap: wrap; }
.lk-mainmenu__item { position: static; display: flex; align-items: flex-start; }
.lk-mainmenu__link {
    position: relative;
    display: block;
    color: var(--lk-hmenue);
    padding: 0 0 5px 40px;
    line-height: 1.3em;
}
.lk-mainmenu__link::before {      /* hg_hmenue.jpg: senkrechter Strich 20px vom linken Rand */
    content: "";
    position: absolute;
    left: 20px; top: 0.12em;
    width: 1px; height: 1.05em;
    background: var(--lk-hmenue-trenner);
}
.lk-mainmenu__item.is-active > .lk-mainmenu__link,
.lk-mainmenu__link:hover { color: var(--lk-rot); text-decoration: none; }

/* Knopf zum Öffnen per Tastatur: unsichtbar, bis er den Fokus hat */
.lk-mainmenu__toggle {
    width: 1px; height: 1px;
    margin: 0; padding: 0;
    border: 0; background: transparent;
    overflow: hidden;
    color: var(--lk-hmenue);
    cursor: pointer;
}
.lk-mainmenu__toggle:focus-visible,
.lk-mainmenu__toggle[aria-expanded="true"] {
    width: 24px; height: 24px;
    margin: 0.35em 0 0 4px;
    overflow: visible;
}
.lk-mainmenu__toggle:focus-visible::before,
.lk-mainmenu__toggle[aria-expanded="true"]::before {
    content: "";
    display: block;
    width: 10px; height: 10px;
    margin: 4px auto 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

/* Mega-Panel (megamenue.css → ul.dropdown ul) */
.lk-mega {
    position: absolute;
    left: 270px;                   /* alt: links an .mainMenu (rechts neben dem Logo), Breite 98 % davon */
    right: 1.2em;
    top: 100%;
    margin: 0;
    background: var(--lk-mega-grund);
    border-top: 0.2em solid var(--lk-kupfer-linie);
    border-bottom: 0.2em solid var(--lk-kupfer-linie);
    font-size: 17px;
    line-height: 1.3;
    visibility: hidden;
    z-index: 90;
}
.lk-mainmenu__item:hover > .lk-mega,
.lk-mainmenu__item.is-open > .lk-mega { visibility: visible; }
.lk-mainmenu__item.is-closed > .lk-mega { visibility: hidden; }  /* Escape bei Mausberührung */
.lk-mega__list { list-style: none; display: flex; flex-wrap: wrap; }
.lk-mega__item { width: 19.95%; }  /* li#ebene2 */
.lk-mega__l2 {
    display: block;
    background: var(--lk-mega-box);
    color: var(--lk-text);
    margin: 10px 0;
    padding: 5px 7px 16px 8px;
    width: 91.5%;
}
.lk-mega__l2:hover, .lk-mega__item.is-active > .lk-mega__l2 { color: var(--lk-rot-dunkel); text-decoration: none; }
.lk-mega__sub { list-style: none; margin: 5px 0; padding: 10px 0 8px; } /* ul.dropdown ul ul */
.lk-mega__l3 {
    display: block;
    border-bottom: 1px solid var(--lk-mega-linie);
    color: var(--lk-text);
    margin: 0 7px;
    min-height: 20px;
    padding: 3px 0;
}
.lk-mega__l3:hover, .lk-mega__sub .is-active > .lk-mega__l3 { color: var(--lk-rot); text-decoration: none; }

.lk-menutrigger { display: none; }

/* ===========================================================================
 * Slider-Bereich (responsive.css → .page-wrapper-bild, #bild, #bild_inhalt; flexslider.css)
 * =========================================================================== */
.lk-stage { background: var(--lk-grau); clear: both; }
.lk-stage--empty { background: var(--lk-grau); }      /* index_ohne_bg.html: .page-wrapper-ohnebild */
.lk-stage__inner {
    max-width: 1500px;
    margin: 0 auto;
    border-top: 0.2em solid var(--lk-kupfer-linie);
    border-bottom: 0.2em solid var(--lk-kupfer-linie);
    line-height: 0;
}
.lk-stage__inner .frame { margin: 0; }

.lk-slider { position: relative; line-height: 1.5; }
.lk-slider__slides { list-style: none; position: relative; }
.lk-slider__slide { margin: 0; }
.lk-slider__slide img { display: block; width: 100%; height: auto; }
.lk-slider.is-ready .lk-slider__slides { display: grid; }
.lk-slider.is-ready .lk-slider__slide {
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0s linear 0.6s;    /* animation: fade, animationSpeed 600 */
}
.lk-slider.is-ready .lk-slider__slide.is-active {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.6s ease, visibility 0s;
}
.lk-slider:not(.is-ready) .lk-slider__slide + .lk-slider__slide { display: none; }

/* Banderole (alt im Bild eingebrannt: kupferfarben, weiße Schrift, unten rechts) */
.lk-slider__caption {
    position: absolute;
    right: 0;
    bottom: 2.4em;
    max-width: 60%;
    background: rgba(154, 100, 70, 0.92);
    color: #fff;
    padding: 0.15em 1.5em 0.15em 1em;
}
.lk-slider__title { font-size: 1.75em; line-height: 1.3; }
.lk-slider__text { font-size: 1em; }

/* Punkte (flexslider.css → .flex-control-nav, .flex-control-paging li a) */
.lk-slider__controls {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.8em;
    min-height: 1.5em;
    background: rgba(255, 255, 255, 0.5);
}
.lk-slider__dot {
    width: 24px; height: 24px;            /* Zielgröße 24 px (WCAG 2.5.8), Punkt 11 px */
    border: 0; padding: 0;
    background: transparent;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.lk-slider__dot::before {
    content: "";
    width: 11px; height: 11px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.4);
    box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
}
.lk-slider__dot:hover::before { background: rgba(0, 0, 0, 0.7); }
.lk-slider__dot[aria-current="true"]::before { background: rgba(255, 255, 255, 0.9); box-shadow: 0 0 3px #fff, 0 0 0 1px rgba(0, 0, 0, 0.5); }
.lk-slider__pause {
    position: absolute;
    right: 8px; bottom: 0;
    height: 24px;
    border: 0;
    background: transparent;
    color: #222;
    font-size: 13px;
    cursor: pointer;
    padding: 0 6px;
}

/* ===========================================================================
 * Inhalt Unterseite (responsive.css → .page-wrapper-inhalt, #pfad, #links, #rechts)
 * =========================================================================== */
.lk-page {
    max-width: 1090px;
    min-height: 25em;
    margin: 0 auto;
}
.lk-pfad { margin: 0.3em 0 0.5em; font-size: 0.95em; }   /* 15,2px */
.lk-pfad ol { list-style: none; display: flex; flex-wrap: wrap; }
.lk-pfad__cur { color: var(--lk-text); }
.lk-pfad__sep { font-size: 0.7em; margin: 0 5px 0 0.6em; color: var(--lk-text); } /* span.rootl */

.lk-cols { display: flex; align-items: flex-start; }
.lk-aside { flex: 0 0 23%; margin: 0 2% 1.5em 0; }
.lk-main { flex: 0 0 75%; min-width: 0; margin: 0 0 30px; }

/* Bereichstitel und Seitentitel (content.css → #links h2, #rechts h2: 2em, line-height 1, padding .1em 0 .3em) */
.lk-bereich, .lk-pagetitle {
    font-size: 2em;
    font-weight: normal;
    line-height: 1;
    margin: 0 0 10px;
    padding: 0.1em 0 0.3em;
}
.lk-bereich { color: var(--lk-rot); }
.lk-pagetitle { color: var(--lk-text); }

/* Untermenü (menue.css → #subNav …) */
.lk-subnav-wrap { margin: 0 0 20px -10px; font-size: 1.4em; }  /* 22,4px */
.lk-subnav { list-style: none; }
.lk-subnav a {
    display: block;
    border-bottom: 1px solid var(--lk-linie);
    color: var(--lk-subnav);
    padding: 1px 10px;
}
.lk-subnav a:hover,
.lk-subnav .is-current > a,
.lk-subnav--1 > .is-active > a {
    background: var(--lk-subnav-akt);
    color: var(--lk-rot-dunkel);
    text-decoration: none;
}
.lk-subnav .lk-subnav { background: var(--lk-subnav2); }      /* #subNav2 */
.lk-subnav .lk-subnav a { background: transparent; padding-left: 20px; }
.lk-subnav .lk-subnav .lk-subnav a { padding-left: 30px; }
.lk-subnav .lk-subnav a:hover,
.lk-subnav .lk-subnav .is-current > a { background: var(--lk-subnav2); color: var(--lk-rot-dunkel); }

/* Kontaktbox (content.css → #links #content_left, p.adresse/.telefon/.email) */
.lk-contactbox {
    font-size: 1.1em;
    margin: 0 0 0 -70px;
    width: calc(100% + 70px);
}
.lk-contactbox p { margin: 0.5em 0 0; }
.lk-contactbox p.adresse,
.lk-contactbox p.telefon,
.lk-contactbox p.email {
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 70px;
}
.lk-contactbox p.adresse { background-image: url("../Images/hg_adresse.jpg"); }
.lk-contactbox p.telefon { background-image: url("../Images/hg_telefon.jpg"); padding-top: 7px; padding-bottom: 7px; }
.lk-contactbox p.email { background-image: url("../Images/hg_email.jpg"); padding-top: 15px; padding-bottom: 15px; }
.lk-contactbox .frame { margin: 0 0 1em; }
.lk-contactbox header { display: none; }

/* ===========================================================================
 * Inhaltselemente (fluid_styled_content), Werte aus content.css
 * =========================================================================== */
.lk-content .frame { clear: both; margin: 0 0 1em; }       /* #content .csc-default */
.lk-content p { margin: 0.5em 0 0 0.5em; }                  /* #rechts p */
.lk-content ul, .lk-content ol { margin: 0.5em 0 0 2.5em; } /* #rechts ul */
.lk-main--start .lk-content p { margin: 0.5em 0 0; }        /* #content p (Startseite) */
.lk-main--start .lk-content ul, .lk-main--start .lk-content ol { margin: 0.5em 0 0 1.5em; }

/* Überschriften als Kupferbalken (content.css → #rechts h3: 20px, padding 7px 0 3px 10px, margin 0 0 10px) */
.lk-content h2,
.lk-content h3 {
    display: block;
    background: var(--lk-kupfer);
    color: #fff;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.5;
    margin: 0 0 10px;
    padding: 7px 0 3px 10px;
}
.lk-content h2 a, .lk-content h3 a { color: #fff; }
.lk-content h4 { font-size: 1.2em; font-weight: bold; margin: 0.5em 0 0; }
.lk-content h5, .lk-content h6 { font-size: 1em; font-weight: bold; margin: 0.5em 0 0; }

/* Links im Fließtext mit rotem Pfeil (content.css → #content p a, #content li a; link_pfeil.png 15 × 7) */
.lk-content p a,
.lk-content li a {
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='7' viewBox='0 0 15 7'%3E%3Cpath d='M0 2.5h10V0l5 3.5L10 7V4.5H0z' fill='%23e40613'/%3E%3C/svg%3E") no-repeat right 7px top 0.55em;
    color: var(--lk-rot);
    padding: 0 30px 0 0;
}
.lk-content .news a,
.lk-content .lk-slider a,
.lk-content nav a,
.lk-content .ce-uploads a,
.lk-content form a,
.lk-content p a:has(img) { background-image: none; padding-right: 0; }

/* Bilder (content.css → .csc-textpic-caption, .csc-textpic-imagewrap) */
.lk-content .ce-gallery figcaption,
.lk-content .image-caption { font-size: 13px; margin-top: 5px; text-align: right; }
.lk-content .ce-gallery { margin-bottom: 0.5em; }
.lk-content .ce-intext.ce-right .ce-gallery { margin-left: 10px; margin-top: 10px; }
.lk-content .ce-intext.ce-left .ce-gallery { margin-right: 10px; margin-top: 10px; }

/* Rahmen: section_frame 6 (rulerAfter) → frame_class ruler-after (content.css → #content .csc-frame-rulerAfter) */
.lk-content .frame-ruler-after { border-bottom: 1px dashed var(--lk-text); padding: 0 0 0.3em; }
.lk-content .frame-ruler-before { border-top: 1px dashed var(--lk-text); padding: 0.3em 0 0; }

/* Trennlinie (content.css → #mitte hr, hg_hr.png 1004 × 16 Schattenlinie) */
.lk-content hr,
.lk-content .frame-type-div hr {
    height: 16px;
    margin: 15px 0;
    border: 0;
    background: radial-gradient(ellipse at 50% 0, rgba(0, 0, 0, 0.22) 0, rgba(0, 0, 0, 0.08) 35%, rgba(0, 0, 0, 0) 70%) no-repeat center top / 100% 16px;
}
.lk-content .frame-type-div { padding: 10px 0; }            /* .divider */

/* Tabellen (content.css → #rechts .contenttable) */
.lk-content table { margin: 1em 0 1em 0.5em; border-collapse: collapse; max-width: 100%; }
.lk-content td, .lk-content th {
    border-bottom: 1px solid var(--lk-kupfer-alt);
    border-left: 1px solid var(--lk-kupfer-alt);
    padding: 3px 0 3px 5px;
    text-align: left;
    vertical-align: top;
}
.lk-content .table-container, .lk-content .ce-table-wrap { overflow-x: auto; }

/* Downloads */
.lk-content .ce-uploads { list-style: none; margin: 0.5em 0 0 0.5em; }
.lk-content .ce-uploads li { margin: 0 0 0.4em; }
.lk-content .ce-uploads-fileName { color: var(--lk-rot); }

/* Startseite: Teaser-Kästen (content.css → #content .csc-frame-frame1/2: 32,2 %, Abstand 1em) */
.lk-content .frame-lk-teaser,
.lk-content .frame-lk-teaser-last {
    clear: none;
    float: left;
    width: 32.2%;
    margin: 0 1em 1em 0;
}
.lk-content .frame-lk-teaser-last { margin-right: 0; }
.lk-content .frame-lk-teaser + .frame:not(.frame-lk-teaser):not(.frame-lk-teaser-last),
.lk-content .frame-lk-teaser-last + .frame:not(.frame-lk-teaser):not(.frame-lk-teaser-last) { clear: both; }
.lk-content .frame-lk-teaser h2, .lk-content .frame-lk-teaser h3,
.lk-content .frame-lk-teaser-last h2, .lk-content .frame-lk-teaser-last h3 {
    background: transparent;
    color: var(--lk-text);
    font-size: 18.72px;              /* Browser-Standard h3, fett */
    font-weight: bold;
    padding: 0;
    margin: 0.15em 0 0;
}
/* alt: Bild oben, darunter Überschrift und Text -> Reihenfolge per Flex (FSC gibt den Header zuerst aus) */
.lk-content .frame-lk-teaser,
.lk-content .frame-lk-teaser-last { display: flex; flex-direction: column; }
.lk-content .frame-lk-teaser .ce-textpic,
.lk-content .frame-lk-teaser-last .ce-textpic { display: contents; }
.lk-content .frame-lk-teaser .ce-gallery,
.lk-content .frame-lk-teaser-last .ce-gallery { order: 1; margin: 0; float: none; }
.lk-content .frame-lk-teaser .ce-gallery *,
.lk-content .frame-lk-teaser-last .ce-gallery * { margin-bottom: 0; }
.lk-content .frame-lk-teaser > header,
.lk-content .frame-lk-teaser-last > header { order: 2; }
.lk-content .frame-lk-teaser .ce-bodytext,
.lk-content .frame-lk-teaser-last .ce-bodytext { order: 3; }
.lk-content .frame-lk-teaser .ce-above .ce-gallery,
.lk-content .frame-lk-teaser-last .ce-above .ce-gallery { margin-bottom: 0.4em; }

/* Inhalt Startseite (responsive.css → .page-wrapper-inhalt-ss: max. 1030 px) */
.lk-main--start { max-width: 1030px; min-height: 25em; margin: 0 auto; display: flow-root; padding-top: 1em; }
.lk-main--start .lk-content { display: flow-root; }

/* Band "Soziale Netzwerke" (content.css → h2: grau, rot, 2em, zentriert, unterstrichen) */
.lk-social { background: var(--lk-grau); clear: both; text-align: center; padding: 0.5em 0 1.5em; }
.lk-social__title {
    color: var(--lk-rot);
    font-size: 2em;
    font-weight: normal;
    line-height: 1;
    padding: 0.5em 0 0.3em;
    text-decoration: underline;
}
.lk-social__links { margin: 0.5em 0 0; }

/* ---------- Akkordeon (multitool.css → .ui-accordion, #content .ui-state-default a) ---------- */
.lk-accordion { margin: 0 0 1em; }
.lk-accordion__item { margin: 0 0 10px; }
.lk-accordion__head {
    display: block;
    position: relative;
    cursor: pointer;
    list-style: none;
    background: var(--lk-kupfer);
    color: #fff;
    font-size: 20px;
    line-height: 1.5;
    padding: 7px 70px 3px 10px;
    margin: 0 0 10px;
}
.lk-accordion__head::-webkit-details-marker { display: none; }
.lk-accordion__head::after {          /* hg_pfeil_accordeon_unten.gif / _oben.gif (61 × 36) als CSS-Winkel */
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    width: 18px; height: 18px;
    margin-top: -13px;
    border-right: 4px solid #fff;
    border-bottom: 4px solid #fff;
    transform: rotate(45deg);
}
.lk-accordion__item[open] > .lk-accordion__head::after { transform: rotate(-135deg); margin-top: -3px; }
.lk-accordion__head:hover { background: #8a5a3e; }
.lk-accordion__panel { margin: 0 0 10px; overflow: auto; }
/* Überschriften im aufgeklappten Inhalt aus (alt: #rechts .ui-accordion-content h3 { display: none }) */
.lk-accordion__panel header,
.lk-accordion__panel .frame > h2,
.lk-accordion__panel .frame > h3 { display: none; }
.lk-accordion__panel .frame { margin: 0 0 0.5em; }

/* ---------- Zwei Spalten ---------- */
.lk-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2em; }
.lk-2col__col { min-width: 0; }

/* ===========================================================================
 * EXT:news (news-basic.css aus fileadmin/news, Werte übernommen)
 * =========================================================================== */
.news .article { padding-bottom: 15px; margin-bottom: 15px; display: flow-root; }
.lk-content .news .article h3,
.lk-content .news .lk-news-item__title {
    background: transparent;
    padding: 0;
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: bold;
}
.lk-content .news .lk-news-item__title a { color: var(--lk-text); font-weight: inherit; }
.lk-news-item__body { display: flow-root; }
.news .news-img-wrap { float: left; margin: 0 10px 0 0; background: #fff; }
.news .news-img-wrap img { display: block; width: 100px; height: auto; }
.lk-content .news .teaser-text { margin: 0 0 10px; overflow: hidden; }
.lk-content .news .teaser-text p { margin: 0; }
.lk-content .news .lk-news-item__more { margin: 0; }
.lk-content .news .more { color: var(--lk-rot); }
.news .footer {
    border-bottom: 1px dashed var(--lk-text);
    clear: both;
    color: var(--lk-meta);
    margin-top: 15px;
    padding: 0 0 10px;
    font-size: 0.95em;
}
.lk-content .news .footer p { margin: 0; line-height: 1.2; }
.news .footer span { display: inline-block; padding-right: 8px; margin-right: 8px; border-right: 1px solid #ddd; }
.news .footer span:last-child { border-right: 0; }

/* Blätternavigation nur unten, waagerecht (ABLAUF §6) */
.news .page-navigation { display: flow-root; margin: 1em 0; }
.lk-content .news .page-navigation p { float: left; margin: 0; }
.news .page-navigation ul { float: right; list-style: none; margin: 0; display: flex; gap: 4px; }
.news .page-navigation li { padding: 0 2px; }

/* Detail (news-basic.css → .news-single) */
.lk-content .news-single .lk-news-detail__title { margin: 0 0 10px; }
.lk-content .news-single .footer { border-bottom: 1px solid #eee; margin: 5px 0 20px; padding: 10px 0 10px 7px; }
.lk-content .news-single .teaser-text { margin: 0 0 0.5em; }
.lk-content .news-single .teaser-text p { margin: 0; }
.news-single .news-img-wrap { float: right; width: 282px; margin: 0 0 10px 25px; }
.news-single .news-img-wrap img { width: 100%; }
.news-img-caption { font-size: 13px; margin-top: 5px; text-align: right; }
.news-text-wrap { margin-bottom: 10px; }
.news-related { margin: 1em 0; }
.news-backlink-wrap { margin: 3em 0 1em; }
.lk-content .news-backlink-wrap a { background: none; padding: 0; }
.no-news-found { color: var(--lk-rot-dunkel); font-style: italic; }

/* ===========================================================================
 * EXT:form (powermail.css / Foto alt-desktop-kontakt.png: graue Fieldsets, Legende rechts groß grau,
 * Label links 200 px, Feld rechts)
 * =========================================================================== */
/* Werte 1:1 aus powermail CssDemo.css (Layout "layout2", im Original geladen): Formular 640 px,
 * Kasten #eee/#bbb, Legende rechts 200 % #bbb, Label links 200 px, Feld rechts 400 px.
 * Markup: EXT:form 14 (.form-element/.form-label/.form-control), Gruppen = Fieldset .lk-fieldset */
.frame-type-form_formframework form { width: 640px; max-width: 100%; color: #444; }
.lk-content .frame-type-form_formframework > h2:first-child { display: none; } /* Formulartitel aus (ABLAUF §6) */
.lk-content .frame-type-form_formframework form * { box-sizing: border-box; }
.lk-content form .lk-fieldset {
    background: #eee;
    border: 1px solid #bbb;
    clear: left;
    margin: 0 0 20px;
    padding: 10px;
    min-width: 0;
}
.lk-content form .lk-fieldset > legend {
    float: right;
    color: #bbb;
    font-size: 200%;
    margin: 3px 0 10px;
    padding: 0;
    white-space: normal;
}
.lk-content form .lk-fieldset .form-element {
    clear: both;
    margin: 0 0 0.5em;
    overflow: hidden;
}
.lk-content form .lk-fieldset .form-label,
.lk-content form .lk-fieldset fieldset.form-element > legend {
    clear: left;
    display: block;
    float: left;
    font-weight: normal;
    font-size: inherit;
    color: inherit;
    width: 200px;
    margin: 0;
    padding: 0;
}
.lk-content form .lk-fieldset fieldset.form-element { border: 0; margin: 0 0 0.5em; padding: 0; min-width: 0; background: none; }
.lk-content form .lk-fieldset .form-control,
.lk-content form .lk-fieldset .form-select {
    border: 1px solid #bbb;
    background: #fff;
    color: #444;
    float: right;
    font-size: inherit;
    margin: 0;
    padding: 5px;
    width: 400px;
}
/* Ankreuzfelder: weißer Kasten rechts wie .powermail_check_outer */
.lk-content form .lk-fieldset [role="group"],
.lk-content form .lk-fieldset [role="radiogroup"] {
    background: #fff;
    border: 1px solid #bbb;
    float: right;
    margin: 0;
    padding: 3px;
    width: 400px;
}
.lk-content form .lk-fieldset [role="group"] label,
.lk-content form .lk-fieldset [role="radiogroup"] label { display: inline; font-weight: normal; }
.lk-content form .lk-fieldset .form-element-statictext { overflow: visible; }
.lk-content form textarea { min-height: 6em; }
.lk-content form .required { color: inherit; }
.lk-content form .error,
.lk-content form .help-block.error,
.lk-content form .invalid-feedback { color: #b00020; font-weight: bold; display: block; }
.lk-content form [aria-invalid="true"] { border: 2px solid #b00020; }
.lk-content form .lk-fieldset--absenden nav { clear: both; overflow: hidden; }
.lk-content form button[type="submit"],
.lk-content form .btn-primary {
    float: right;
    width: 400px;
    max-width: 100%;
    border: 1px solid #eee;
    background: rgba(190, 136, 102, 0.4); /* CssDemo .powermail_submit */
    color: #a3040f;                    /* alt red auf hell-kupfer: 2,8:1 (BITV) – dunkler gleicher Farbton */
    font-size: inherit;
    font-weight: normal;
    margin: 5px 0 0;
    padding: 5px 20px;
    cursor: pointer;
}
.lk-content form button[type="submit"]:hover { background: rgba(190, 136, 102, 0.6); }

/* felogin / indexed_search: einfache Grundformatierung */
.lk-content .tx-indexedsearch-res { margin: 0 0 1em; }

/* ===========================================================================
 * Fuß (bottom.css → #bottom, ul.bottom; responsive.css → .page-wrapper-bottom, -copy, #lastupdate, #design)
 * =========================================================================== */
.lk-footer { clear: both; }
.lk-bottom {
    max-width: 1090px;
    min-height: 18em;
    margin: 0 auto;
    display: flow-root;
}
.lk-bottom__cols {
    list-style: none;
    float: right;
    width: 90%;
    margin: 15px 0;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.3em;
}
.lk-bottom__col { width: 20%; padding-right: 1em; }
.lk-bottom__col ul { list-style: none; font-size: 17px; }
.lk-bottom a { color: var(--lk-fuss); display: block; }
.lk-bottom a:hover { color: var(--lk-rot); text-decoration: none; }
.lk-bottom__l1 { font-weight: bold; }
.lk-bottom__col li a { padding: 1px 0; }

.lk-copy {
    max-width: 1000px;
    min-height: 8em;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.lk-copy__last { width: 45%; margin: 0 0 3em 3em; }
.lk-copy__design { width: 40%; margin: 0 0 3em; padding: 1.4em 0 0; text-align: center; }
.lk-copy__design a { color: var(--lk-text); }
.lk-tools {
    list-style: none;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    gap: 1.5em;
    margin: -2em 0 2em;
    font-size: 0.9em;
}
.lk-tools a, .lk-tools button {
    color: var(--lk-text);
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    font: inherit;
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
}
.lk-tools a::before, .lk-tools button::before {
    content: "";
    display: inline-block;
    width: 1.4em; height: 1.4em;
    background: no-repeat center / contain;
}
.lk-tools__top::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='none' stroke='%23be8866' stroke-width='1.5'/%3E%3Cpath d='M6 15l6-6 6 6' fill='none' stroke='%23be8866' stroke-width='2.5'/%3E%3C/svg%3E"); }
.lk-tools__print::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9V3h12v6M6 18H3v-8h18v8h-3M6 14h12v7H6z' fill='none' stroke='%23575756' stroke-width='1.5'/%3E%3C/svg%3E"); }
.lk-tools__fb::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='3' fill='%233b5998'/%3E%3Cpath d='M16.5 24v-9h3l.5-3.5h-3.5V9.3c0-1 .3-1.7 1.8-1.7h1.8V4.5c-.3 0-1.4-.1-2.7-.1-2.7 0-4.4 1.6-4.4 4.6v2.5h-3V15h3v9z' fill='%23fff'/%3E%3C/svg%3E"); }

/* ---------- Lightbox (main.js, natives <dialog>) ---------- */
.lk-lightbox { border: 0; padding: 0; background: transparent; max-width: 95vw; max-height: 95vh; overflow: visible; }
.lk-lightbox::backdrop { background: rgba(0, 0, 0, 0.85); }
.lk-lightbox__figure { margin: 0; text-align: center; color: #fff; }
.lk-lightbox__img { max-width: 92vw; max-height: 82vh; display: block; margin: 0 auto; background: #fff; }
.lk-lightbox__caption, .lk-lightbox__counter { margin: 0.5em 0 0; font-size: 0.95em; }
.lk-lightbox__btn {
    position: fixed;
    width: 48px; height: 48px;
    border: 2px solid #fff; border-radius: 50%;
    background: rgba(0, 0, 0, 0.6); color: #fff;
    font-size: 28px; line-height: 1; cursor: pointer;
}
.lk-lightbox__close { top: 12px; right: 12px; }
.lk-lightbox__prev { left: 12px; top: 50%; }
.lk-lightbox__next { right: 12px; top: 50%; }

/* ===========================================================================
 * Breakpoints (alt: min-width 1230, max-width 1024 / 800 / 768 / 653 / 400)
 * =========================================================================== */

/* ≥ 1230 px: fixierter Kopf 167 px wie bisher (responsive.css → .oben_100 position: fixed) */
@media (min-width: 1230px) {
    html { scroll-padding-top: calc(var(--lk-kopf-hoehe) + 10px); }
    .lk-top { position: fixed; top: 0; left: 0; right: 0; }
    .lk-top__inner { height: var(--lk-kopf-hoehe); }
    .lk-stage { margin-top: var(--lk-kopf-hoehe); }
}

@media (max-width: 1229px) {
    .lk-top__inner { min-height: 150px; padding-bottom: 8px; }
    .lk-logo img { width: 180px; }
    .lk-site--start .lk-logo img { width: 180px; }
}

/* 801–1229 px: Platz für das Logo links freihalten, Menü darf umbrechen (alt: überlappte) */
@media (min-width: 801px) and (max-width: 1229px) {
    .lk-top__tools, .lk-mainnav { margin-left: 240px; }
    .lk-mainmenu { justify-content: flex-end; }
}

/* ≤ 1024 px (responsive.css / content.css) */
@media (max-width: 1024px) {
    .lk-page, .lk-main--start, .lk-copy { max-width: 90%; }
    .lk-main { font-size: 1.1em; }                      /* #content { font-size: 1.1em } */
    .lk-mainnav { font-size: 1.3em; }                    /* .mainMenu ul li a: 1.3em (≤ 1000 px) */
    .lk-content .frame-lk-teaser,
    .lk-content .frame-lk-teaser-last { width: 46%; margin: 0 1em 1em 0; }
    .lk-contactbox p.adresse,
    .lk-contactbox p.telefon,
    .lk-contactbox p.email { background-image: none; }  /* content.css: Symbole ab 1024 px aus */
    .lk-contactbox { margin-left: 0; width: 100%; }
    .lk-contactbox p.adresse, .lk-contactbox p.telefon, .lk-contactbox p.email { padding-left: 0; }
    .lk-bottom__col { width: 33.33%; margin-bottom: 1em; }
    .lk-bottom__cols { width: 100%; }
}

/* ≤ 800 px: Menü-Schalter (megamenue.css → #menuTrigger, Farbe #940303) */
@media (max-width: 800px) {
    .lk-top__inner { min-height: 0; padding-top: 10px; display: flex; flex-wrap: wrap; align-items: flex-start; }
    .lk-logo { position: static; border: 0; margin: 0 0 6px; flex: 0 0 auto; }
    .lk-logo img, .lk-site--start .lk-logo img { width: 150px; }
    .lk-top__tools { order: 3; width: 100%; display: flex; flex-direction: column-reverse; gap: 8px; }
    .lk-funktion { float: none; padding: 0; }
    .lk-funktion ul { justify-content: flex-start; }
    .lk-funktion li { font-size: 0.7em; }
    .lk-search { float: none; width: auto; max-width: 100%; margin: 0; }
    .lk-mainnav { order: 2; float: none; clear: none; margin: 0 0 0 auto; font-size: 1em; position: static; }
    .lk-menutrigger:not([hidden]) {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        border: 0;
        background: transparent;
        color: #940303;
        font-size: 1.1em;
        line-height: 40px;
        padding: 0 4px;
        cursor: pointer;
        min-height: 44px;
    }
    .lk-menutrigger::before {
        content: "";
        width: 22px; height: 16px;
        background: linear-gradient(#940303, #940303) top / 100% 3px no-repeat,
                    linear-gradient(#940303, #940303) center / 100% 3px no-repeat,
                    linear-gradient(#940303, #940303) bottom / 100% 3px no-repeat;
    }
    .lk-mainnav.is-collapsed .lk-mainmenu { display: none; }
    /* ohne JavaScript (Knopf bleibt hidden): Menü offen unter dem Kopf */
    .lk-mainnav:has(.lk-menutrigger[hidden]) { order: 4; width: 100%; }
    .lk-menutrigger[hidden] + .lk-mainmenu { position: static; }
    .lk-mainmenu {
        position: absolute;
        left: 0; right: 0;
        top: 100%;
        z-index: 90;
        display: block;
        background: #fff;
        border-bottom: 0.2em solid var(--lk-kupfer-linie);
        padding: 0 5% 1em;
        text-align: center;
        max-height: 80vh;
        overflow-y: auto;
    }
    .lk-top { position: relative; }
    .lk-mainmenu__item { display: block; }
    .lk-mainmenu__link {
        border-top: 1px solid var(--lk-hmenue-trenner);
        font-size: 1.1em;
        padding: 8px 0 6px;
        text-transform: uppercase;
        line-height: 1.2;
    }
    .lk-mainmenu__link::before, .lk-mainmenu__toggle { display: none; }
    .lk-mega {
        position: static;
        visibility: visible;
        width: 100%;
        left: auto; right: auto;
        margin: 0;
        background: transparent;
        border: 0;
        font-size: 19px;
    }
    .lk-mega__list { display: block; }
    .lk-mega__item { width: 100%; }
    .lk-mega__l2 { background: transparent; width: 100%; margin: 0; padding: 6px 0; font-weight: bold; }
    .lk-mega__sub { margin: 0; padding: 0 0 6px; }
    .lk-mega__l3 { border: 0; padding: 4px 0; margin: 0; }

    .lk-stage { margin-top: 0; }
    .lk-slider__caption { font-size: 0.75em; bottom: 1.8em; }
}

/* ≤ 768 px: Teaser einspaltig, zwei Spalten untereinander */
@media (max-width: 768px) {
    .lk-content .frame-lk-teaser,
    .lk-content .frame-lk-teaser-last { float: none; width: 100%; margin: 0 0 1em; }
    .lk-2col { grid-template-columns: 1fr; }
    .lk-content .ce-intext.ce-right .ce-gallery,
    .lk-content .ce-intext.ce-left .ce-gallery { float: none; margin: 0 auto 0.5em; }
    .news-single .news-img-wrap { float: none; width: auto; max-width: 282px; margin: 0 0 10px; }
    .lk-content form .lk-fieldset .form-label,
    .lk-content form .lk-fieldset fieldset.form-element > legend { float: none; width: 100%; }
    .lk-content form .lk-fieldset .form-control,
    .lk-content form .lk-fieldset .form-select,
    .lk-content form .lk-fieldset [role="group"],
    .lk-content form .lk-fieldset [role="radiogroup"],
    .lk-content form button[type="submit"] { float: none; width: 100%; }
    .lk-copy__last, .lk-copy__design { width: 100%; margin: 0 0 1em; text-align: center; padding: 0; }
    .lk-tools { justify-content: center; margin: 0 0 2em; flex-wrap: wrap; }
}

/* ≤ 653 px: alt wurden linke Spalte, Untermenü und Fuß ausgeblendet – hier bleiben sie, untereinander */
@media (max-width: 653px) {
    .lk-cols { display: flex; flex-direction: column; }
    .lk-aside { order: 2; width: 100%; margin: 1.5em 0; }
    .lk-main { order: 1; width: 100%; flex-basis: auto; }
    .lk-bereich, .lk-pagetitle { font-size: 1.6em; }
    .lk-subnav-wrap { margin-left: 0; font-size: 1.2em; }
    .lk-bottom__col { width: 50%; }
    .lk-bottom { min-height: 0; padding: 0 5%; }
    .lk-content h2, .lk-content h3, .lk-accordion__head { font-size: 18px; }
    .lk-slider__caption { position: static; max-width: none; font-size: 0.7em; }
}

@media (max-width: 400px) {
    .lk-bottom__col { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .lk-slider.is-ready .lk-slider__slide,
    .lk-slider.is-ready .lk-slider__slide.is-active { transition: none; }
}

/* Druck (ersetzt das fixierte Drucker-Symbol) */
@media print {
    .lk-top, .lk-stage, .lk-aside, .lk-bottom, .lk-tools, .lk-skiplink, .lk-social, .lk-slider__controls { display: none !important; }
    .lk-main { flex-basis: 100%; }
    .lk-content h2, .lk-content h3 { background: none; color: #000; border-bottom: 2px solid #000; }
    .lk-content p a::after { content: " (" attr(href) ")"; font-size: 0.8em; }
    body { color: #000; }
}
