/* =================================================================
   LAS-PALMAS-24.COM · Template CSS v2.0
   Datei: phpwcms_template/inc_css/lp24.css

   Bereinigt: Juni 2026
   - Doppelter Tabs-Block entfernt
   - Sibling-Box: alte ul.lp24-sibling-path Regeln entfernt,
     korrekte ul[id^="lp24SiblingNav"] Regeln konsolidiert
   ================================================================= */

/* ─── Design Tokens ─── */
:root {
  --lp24-brand:        #cc6601;
  --lp24-brand-dark:   #a85200;
  --lp24-brand-light:  #fdf5e8;
  --lp24-brand-mid:    #fae8c8;

  --lp24-gray-50:  #f9fafb;
  --lp24-gray-100: #f3f4f6;
  --lp24-gray-200: #e5e7eb;
  --lp24-gray-300: #d1d5db;
  --lp24-gray-400: #9ca3af;
  --lp24-gray-500: #6b7280;
  --lp24-gray-600: #4b5563;
  --lp24-gray-700: #374151;
  --lp24-gray-800: #1f2937;
  --lp24-gray-900: #111827;

  --lp24-font-heading: 'Playfair Display', Georgia, serif;
  --lp24-font-body:    'Source Sans 3', system-ui, sans-serif;

  --lp24-max-width:    1280px;
  --lp24-header-h:     56px;
  --lp24-sidebar-w:    320px;
  --lp24-gap:          2.5rem;

  --lp24-radius:       0.75rem;
  --lp24-radius-sm:    0.5rem;

  --lp24-shadow-sm:    0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);
  --lp24-shadow:       0 4px 12px rgba(0,0,0,.10);
  --lp24-shadow-lg:    0 10px 30px rgba(0,0,0,.15);

  --lp24-ease:         cubic-bezier(.4,0,.2,1);
}

/* ─── Reset / Base ─── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--lp24-font-body);
  color: var(--lp24-gray-700);
  background: #fff;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 {
  font-family: var(--lp24-font-heading);
  color: var(--lp24-gray-700);
  line-height: 1.2;
  margin-top: 0;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
ul, ol { margin: 0; padding: 0; list-style: none; }
body.lp24-noscroll { overflow: hidden; }


/* ═══════════════════════════════════════════
   TOP BAR
═══════════════════════════════════════════ */
.lp24-topbar {
  background: var(--lp24-gray-800);
  color: var(--lp24-gray-400);
  font-size: .75rem;
  height: 2rem;
}
.lp24-topbar-inner {
  max-width: var(--lp24-max-width);
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
.lp24-lang { display: flex; align-items: center; gap: .5rem; }
.lp24-lang a { color: var(--lp24-gray-400); transition: color .15s; }
.lp24-lang a:hover, .lp24-lang-active { color: #fff !important; font-weight: 600; }
.lp24-sep { opacity: .4; }
.lp24-searchform { display: flex; align-items: center; gap: .25rem; }
.lp24-searchinput {
  background: var(--lp24-gray-700);
  color: #fff;
  border: none;
  border-radius: .25rem;
  padding: .2rem .5rem;
  font-size: .75rem;
  width: 9rem;
  outline: none;
}
.lp24-searchinput:focus { box-shadow: 0 0 0 2px var(--lp24-brand); }
.lp24-searchbtn { background: none; border: none; cursor: pointer; color: var(--lp24-gray-400); padding: .2rem; }
.lp24-searchbtn:hover { color: #fff; }


/* ═══════════════════════════════════════════
   HEADER / NAVBAR
═══════════════════════════════════════════ */
.lp24-header {
  background: #fff;
  border-bottom: 1px solid var(--lp24-gray-200);
  position: sticky;
  top: 0;
  z-index: 200;
  transition: box-shadow .2s var(--lp24-ease);
}
.lp24-header.has-shadow { box-shadow: var(--lp24-shadow); }
.lp24-header-inner {
  max-width: var(--lp24-max-width);
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--lp24-header-h);
  gap: 1rem;
}

.lp24-logo { display: flex; align-items: center; gap: .4rem; flex-shrink: 0; }
.lp24-logo-text { font-family: var(--lp24-font-heading); font-size: 1.25rem; font-weight: 700; color: var(--lp24-brand); line-height: 1; }
.lp24-logo-badge { background: var(--lp24-brand); color: #fff; font-size: .7rem; font-weight: 700; padding: .15rem .35rem; border-radius: .25rem; }

.lp24-mainnav { display: none; }
@media (min-width: 1024px) { .lp24-mainnav { display: flex; align-items: center; gap: .1rem; font-size: .875rem; font-weight: 600; } }

.lp24-nav-item { position: relative; }
.lp24-nav-btn {
  display: flex; align-items: center; gap: .25rem;
  padding: 1rem .75rem;
  color: var(--lp24-gray-700);
  background: none; border: none; cursor: pointer;
  font: inherit; font-weight: 600;
  white-space: nowrap;
  transition: color .15s;
}
.lp24-nav-btn:hover, .lp24-nav-btn:focus-visible { color: var(--lp24-brand); outline: none; }
.lp24-nav-btn svg { opacity: .5; transition: transform .2s; }
.lp24-nav-item:hover .lp24-nav-btn svg,
.lp24-nav-item:focus-within .lp24-nav-btn svg { transform: rotate(180deg); }

.lp24-dropdown {
  display: none;
  position: absolute;
  top: 100%; left: 0;
  background: #fff;
  border: 1px solid var(--lp24-gray-200);
  box-shadow: var(--lp24-shadow-lg);
  border-radius: 0 0 var(--lp24-radius) var(--lp24-radius);
  min-width: 15rem;
  z-index: 300;
  padding: .5rem 0;
}
.lp24-nav-item:hover .lp24-dropdown,
.lp24-nav-item:focus-within .lp24-dropdown { display: block; }
.lp24-dropdown a {
  display: block; padding: .5rem 1rem;
  font-size: .8125rem; color: var(--lp24-gray-600);
  transition: background .1s, color .1s;
}
.lp24-dropdown a:hover { background: var(--lp24-gray-50); color: var(--lp24-brand); }
.lp24-dropdown-group {
  padding: .25rem .75rem .15rem;
  font-size: .6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--lp24-gray-400);
}
.lp24-dropdown hr { border: none; border-top: 1px solid var(--lp24-gray-100); margin: .25rem 0; }

.lp24-header-actions { display: flex; align-items: center; gap: .5rem; }
.lp24-oc-trigger {
  display: flex; align-items: center; gap: .375rem;
  padding: .375rem .625rem;
  background: none;
  border: 1px solid var(--lp24-gray-200);
  border-radius: var(--lp24-radius-sm);
  cursor: pointer;
  color: var(--lp24-gray-600);
  font: inherit; font-size: .8125rem; font-weight: 600;
  transition: border-color .15s, color .15s;
}
.lp24-oc-trigger:hover { border-color: var(--lp24-brand); color: var(--lp24-brand); }
.lp24-oc-label { display: none; }
@media (min-width: 640px) { .lp24-oc-label { display: inline; } }

/* Desktop Nav: Zugpferd-Links */
.lp24-dd-highlight { font-weight: 600; color: var(--lp24-gray-800) !important; }
.lp24-dd-highlight:hover { color: var(--lp24-brand) !important; }

/* Desktop Nav: aktiver Menüpunkt */
.lp24-nav-item.is-active > .lp24-nav-btn {
  color: var(--lp24-brand);
  border-bottom: 2px solid var(--lp24-brand);
}

/* Dropdown min-width für breitere Gruppen */
.lp24-nav-item:nth-child(1) .lp24-dropdown,
.lp24-nav-item:nth-child(5) .lp24-dropdown { min-width: 17rem; }

/* Dropdown rechts ausrichten wenn am Rand */
.lp24-nav-item:last-child .lp24-dropdown,
.lp24-nav-item:nth-last-child(2) .lp24-dropdown { left: auto; right: 0; }


/* ═══════════════════════════════════════════
   OFF-CANVAS
═══════════════════════════════════════════ */
.lp24-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(2px);
  z-index: 400;
}
.lp24-overlay.is-open { display: block; }

.lp24-offcanvas {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: min(22rem, 100vw);
  background: #fff;
  z-index: 500;
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform .28s var(--lp24-ease);
  box-shadow: var(--lp24-shadow-lg);
}
.lp24-offcanvas.is-open { transform: translateX(0); }

.lp24-offcanvas-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--lp24-gray-100);
  background: var(--lp24-gray-50);
  position: sticky; top: 0; z-index: 1;
}
.lp24-offcanvas-heading { font-family: var(--lp24-font-heading); font-size: 1.1rem; font-weight: 700; color: var(--lp24-gray-800); }
.lp24-offcanvas-close {
  background: none; border: none; cursor: pointer;
  color: var(--lp24-gray-400); padding: .375rem;
  border-radius: .375rem; transition: background .15s, color .15s;
}
.lp24-offcanvas-close:hover { background: var(--lp24-gray-200); color: var(--lp24-gray-700); }
.lp24-offcanvas-nav { padding: .75rem 1rem 2rem; }

/* Accordion */
.lp24-acc-group {
  border: 1px solid var(--lp24-gray-100);
  border-radius: var(--lp24-radius-sm);
  overflow: hidden;
  margin-bottom: .375rem;
}
.lp24-acc-toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: .75rem 1rem;
  background: #fff;
  border: none; cursor: pointer;
  font: inherit; font-size: .875rem; font-weight: 600; color: var(--lp24-gray-700);
  text-align: left;
  transition: background .15s;
}
.lp24-acc-toggle:hover { background: var(--lp24-gray-50); }
.lp24-acc-icon { transition: transform .2s; flex-shrink: 0; }
.lp24-acc-body {
  max-height: 0; overflow: hidden;
  background: var(--lp24-gray-50);
  padding: 0 1rem;
  transition: max-height .3s var(--lp24-ease);
}
.lp24-acc-body.is-open { max-height: 800px; }
.lp24-acc-body a {
  display: block; padding: .4rem 0;
  font-size: .8125rem; color: var(--lp24-gray-600);
  border-bottom: 1px solid transparent;
  transition: color .1s;
}
.lp24-acc-body a:hover { color: var(--lp24-brand); }
.lp24-acc-sub-label {
  display: block;
  margin: .6rem 0 .2rem; padding-top: .6rem;
  border-top: 1px solid var(--lp24-gray-200);
  font-size: .6875rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--lp24-gray-400);
}
.lp24-acc-body .lp24-acc-sub-label:first-child { border-top: none; margin-top: .25rem; padding-top: 0; }
.lp24-acc-body > a, .lp24-acc-body > .lp24-acc-sub-label { display: block; padding: .35rem 0; }
.lp24-acc-body > a:last-child { padding-bottom: .6rem; }
.lp24-acc-body a strong { font-weight: 600; color: var(--lp24-gray-800); }
.lp24-acc-body a:hover strong { color: var(--lp24-brand); }


/* ═══════════════════════════════════════════
   HERO
═══════════════════════════════════════════ */
.lp24-hero {
  background: var(--lp24-gray-100);
  position: relative;
  overflow: hidden;
}
.lp24-hero-inner {
  max-width: var(--lp24-max-width);
  margin: 0 auto;
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: center;
}
@media (min-width: 768px)  { .lp24-hero-inner { min-height: 340px; } }
@media (min-width: 1024px) { .lp24-hero-inner { min-height: 400px; } }

.lp24-hero-img-wrap,
.lp24-hero-img-outer {
  position: absolute;
  inset: 0;
  left: 0;
}
@media (min-width: 1024px) {
  .lp24-hero-img-wrap,
  .lp24-hero-img-outer { left: 28%; }
}

.lp24-hero-img-wrap img,
.lp24-hero-img-outer img,
.lp24-hero-bg {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}

.lp24-hero-img-wrap::after,
.lp24-hero-img-outer::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg,
    rgba(243,244,246,1)   10%,
    rgba(243,244,246,.85) 18%,
    rgba(243,244,246,.5)  28%,
    rgba(243,244,246,0)   40%
  );
}
@media (max-width: 1023px) {
  .lp24-hero-img-wrap::after,
  .lp24-hero-img-outer::after {
    background: linear-gradient(180deg,
      rgba(243,244,246,.2)  0%,
      rgba(243,244,246,.85) 60%,
      rgba(243,244,246,1)   100%
    );
  }
}

.lp24-hero-text {
  position: relative;
  z-index: 1;
  padding: 2.5rem 1.25rem;
  width: 100%;
  max-width: 36rem;
}
@media (min-width: 1024px) { .lp24-hero-text { padding: 3rem 2.5rem; width: 50%; } }

.lp24-hero-label {
  font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--lp24-brand); margin-bottom: .5rem;
}
.lp24-page-title {
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--lp24-gray-700);
  margin-bottom: 1rem;
  line-height: 1.15;
}
.lp24-hero-subtitle {
  font-size: 1.1rem; font-weight: 600; color: var(--lp24-gray-600); margin-bottom: .75rem;
}
.lp24-hero-text .catnavi,
.lp24-hero-text p {
  color: var(--lp24-gray-600); font-size: 1rem; line-height: 1.65;
  max-width: 30rem; margin-bottom: 1.5rem;
}
.lp24-hero-teaser p { color: var(--lp24-gray-600); font-size: 1rem; line-height: 1.65; margin-bottom: 1.5rem; }


/* Hero-Map-Styles (Variante "Map" mit Mapbox 3D als Hero-Hintergrund)
   wurden nach lp24-map.css verschoben — dort liegen bereits alle
   anderen Mapbox-Komponenten-Styles (Store-Locator, Marker, Popup)
   mit der gleichen !important-Konvention gegen Mapbox-eigene Styles. */

/* ═══════════════════════════════════════════
   INFO-BAR
═══════════════════════════════════════════ */

.lp24-infobar {
  background: #fff;
  border-bottom: 1px solid var(--lp24-gray-200);
  box-shadow: var(--lp24-shadow-sm);
}

.lp24-infobar-inner {
  max-width: var(--lp24-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Mobile: 2 Spalten */
}

@media (min-width: 640px) { .lp24-infobar-inner { grid-template-columns: repeat(3, 1fr); } } /* Tablet: 3 Spalten */

@media (min-width: 1024px) { .lp24-infobar-inner { grid-template-columns: repeat(6, 1fr); } } /* Desktop: 6 Spalten */

.lp24-info-tile {
  display: flex; align-items: center; gap: .75rem;
  padding: .75rem 1rem;
  border-right: 1px solid var(--lp24-gray-200);
  text-decoration: none;
  transition: background .15s;
  min-width: 0; /* verhindert Grid-Overflow bei langem Inhalt */
}

@media (max-width: 639px) {
  .lp24-info-icon { width: 2rem; height: 2rem; font-size: 1rem; }
  .lp24-info-tile { padding: .6rem .75rem; gap: .5rem; }
}

.lp24-info-tile:last-child { border-right: none; }

.lp24-info-tile:hover { background: var(--lp24-gray-50); }
.lp24-info-tile:hover .lp24-info-value { color: var(--lp24-brand); }

.lp24-info-icon {
  flex-shrink: 0; width: 2.5rem; height: 2.5rem;
  border-radius: 50%; background: var(--lp24-gray-100);
  display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
}

.lp24-info-label { font-size: .7rem; color: var(--lp24-gray-500); font-weight: 600; }
.lp24-info-value { font-size: .875rem; font-weight: 700; color: var(--lp24-gray-800); }
.lp24-info-sub   { font-size: .7rem; color: var(--lp24-gray-400); }

/* ═══════════════════════════════════════════
   BREADCRUMB
═══════════════════════════════════════════ */
.lp24-breadcrumb-bar { background: #fff; border-bottom: 1px solid var(--lp24-gray-100); }
.lp24-breadcrumb-inner {
  max-width: var(--lp24-max-width); margin: 0 auto; padding: .625rem 1rem;
}
.lp24-breadcrumb-inner nav ul,
.lp24-breadcrumb-inner nav ol {
  display: flex; flex-wrap: wrap; align-items: center; gap: .25rem;
  list-style: none; margin: 0; padding: 0;
  font-size: .75rem; color: var(--lp24-gray-500);
}
.lp24-breadcrumb-inner nav a { color: var(--lp24-gray-500); transition: color .1s; }
.lp24-breadcrumb-inner nav a:hover { color: var(--lp24-brand); }
.lp24-breadcrumb-inner nav li + li::before { content: '›'; margin-right: .25rem; opacity: .5; }

.lp24-bc-list { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.lp24-bc-list li { display: flex; align-items: center; font-size: .75rem; color: var(--lp24-gray-500); }
.lp24-bc-list li + li::before { content: '›'; margin: 0 .25rem; opacity: .5; }
.lp24-bc-list a { color: var(--lp24-gray-500); transition: color .1s; }
.lp24-bc-list a:hover { color: var(--lp24-brand); }
.lp24-bc-active { color: var(--lp24-gray-700); font-weight: 500; }
.breadcrumb-spacer { margin: 0 .25rem; opacity: .5; }


/* ═══════════════════════════════════════════
   HAUPTINHALT
═══════════════════════════════════════════ */
.lp24-main { padding: 2rem 0 4rem; }
.lp24-main-inner { max-width: var(--lp24-max-width); margin: 0 auto; padding: 0 1rem; }

/* ── Mobile Carousel ── */
.lp24-mob-carousel-wrap { margin-bottom: 1.5rem; }
@media (min-width: 1024px) { .lp24-mob-carousel-wrap { display: none; } }
.lp24-mob-carousel-label {
  font-size: .6875rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--lp24-gray-400); margin-bottom: .5rem;
}
.lp24-mob-carousel {
  display: flex; gap: .75rem; overflow-x: auto;
  scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  padding-bottom: .75rem; margin: 0 -1rem; padding-left: 1rem; padding-right: 1rem;
}
.lp24-mob-carousel::-webkit-scrollbar { height: 3px; }
.lp24-mob-carousel::-webkit-scrollbar-thumb { background: var(--lp24-gray-200); border-radius: 2px; }
.lp24-mob-card {
  flex-shrink: 0; width: 13rem; scroll-snap-align: start;
  background: #fff; border: 1px solid var(--lp24-gray-200);
  border-radius: var(--lp24-radius); padding: 1rem; box-shadow: var(--lp24-shadow-sm);
}
.lp24-mob-card-icon { font-size: 1.25rem; margin-bottom: .375rem; }
.lp24-mob-card-title { font-size: .8125rem; font-weight: 600; color: var(--lp24-gray-700); margin-bottom: .25rem; }
.lp24-mob-card-value { font-size: 1.5rem; font-weight: 700; color: var(--lp24-gray-900); line-height: 1; }
.lp24-mob-card-sub   { font-size: .7rem; color: var(--lp24-gray-500); margin-top: .2rem; }
.lp24-mob-card-link  { font-size: .7rem; color: var(--lp24-brand); font-weight: 600; margin-top: .5rem; display: block; }

/* ── CSS Grid: Content + Sidebar ── */
.lp24-content-grid { display: block; }
@media (min-width: 1024px) {
  .lp24-content-grid {
    display: grid;
    grid-template-columns: 1fr var(--lp24-sidebar-w);
    gap: var(--lp24-gap);
    align-items: start;
  }
}

/* ── Artikel ── */
.lp24-article { min-width: 0; }

/* ═══════════════════════════════════════════
   "IN DIESEM BEREICH"-BOX
   phpwcms NAV_LIST_UL gibt aus:
   <ul id="lp24SiblingNav_0">
     <li class="sub_parent|sub_no sub_ul_true ...">
       <a class="nav-link">...</a>
     </li>
   </ul>
   Die Klasse lp24-sibling-path sitzt auf <li>, NICHT auf <ul>.
   Grid deshalb via id-Präfix-Selektor.
═══════════════════════════════════════════ */
.lp24-sibling-box {
  background: var(--lp24-gray-50);
  border: 1px solid var(--lp24-gray-200);
  border-radius: var(--lp24-radius);
  padding: 1rem;
  margin-bottom: 1.75rem;
}
.lp24-sibling-label {
  font-size: .6875rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--lp24-gray-400); margin-bottom: .75rem;
}

/* Grid auf der generierten <ul> */
.lp24-sibling-links ul[id^="lp24SiblingNav"] {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .375rem;
  grid-auto-rows: auto;
}
@media (min-width: 640px) {
  .lp24-sibling-links ul[id^="lp24SiblingNav"] {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* <li> als Flex-Container damit <a> volle Höhe bekommt */
.lp24-sibling-links ul[id^="lp24SiblingNav"] li {
  margin: 0; padding: 0; display: flex;
}

/* Nested <ul> verstecken */
.lp24-sibling-links ul[id^="lp24SiblingNav"] ul { display: none; }

/* Kachel-Link */
.lp24-sibling-links ul[id^="lp24SiblingNav"] li a {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  padding: .5rem .65rem;
  background: #fff;
  border: 1px solid var(--lp24-gray-200);
  border-radius: var(--lp24-radius-sm);
  font-size: .8rem;
  color: var(--lp24-gray-600);
  text-decoration: none;
  line-height: 1.35;
  width: 100%;
  transition: border-color .15s, color .15s, background .15s;
}
.lp24-sibling-links ul[id^="lp24SiblingNav"] li a:hover {
  border-color: var(--lp24-brand);
  color: var(--lp24-brand);
  background: #fff8f3;
}

/* Aktive / Elternseite */
.lp24-sibling-links ul[id^="lp24SiblingNav"] li.sub_parent > a,
.lp24-sibling-links ul[id^="lp24SiblingNav"] li.act_path > a,
.lp24-sibling-links ul[id^="lp24SiblingNav"] li.lp24-sibling-active > a {
  border-color: var(--lp24-brand);
  color: var(--lp24-brand);
  background: #fff8f3;
  font-weight: 600;
}

/* Chevron-Icon via CSS mask */
.lp24-sibling-links ul[id^="lp24SiblingNav"] li a::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-top: .1rem;
  width: 13px; height: 13px;
  background-color: var(--lp24-gray-400);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  transition: background-color .15s;
}
.lp24-sibling-links ul[id^="lp24SiblingNav"] li a:hover::before,
.lp24-sibling-links ul[id^="lp24SiblingNav"] li.sub_parent > a::before,
.lp24-sibling-links ul[id^="lp24SiblingNav"] li.act_path > a::before {
  background-color: var(--lp24-brand);
}


/* ── Artikel-Typografie ── */
.lp24-article p { line-height: 1.75; margin-bottom: 1.25rem; color: var(--lp24-gray-600); }
.lp24-article h2 { font-size: clamp(1.35rem, 2.5vw, 1.75rem); margin: 2rem 0 1rem; scroll-margin-top: 5rem; }
.lp24-article h3 { font-size: 1.2rem; margin: 1.5rem 0 .75rem; scroll-margin-top: 5rem; }
.lp24-article figure:not(.lp24-gallery__item) { margin: 1.5rem 0; }
.lp24-article figure:not(.lp24-gallery__item) img { border-radius: var(--lp24-radius); width: 100%; }
.lp24-article figcaption:not(.lp24-gallery__caption) { font-size: .75rem; color: var(--lp24-gray-500); margin-top: .375rem; padding: 0 .25rem; }
.lp24-article ul, .lp24-article ol { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.25rem; color: var(--lp24-gray-600); }
.lp24-article ol { list-style: decimal; }
.lp24-article li { margin-bottom: .375rem; line-height: 1.65; }
.lp24-article table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .875rem; }
.lp24-article th { background: var(--lp24-gray-100); padding: .625rem .875rem; text-align: left; font-weight: 600; border: 1px solid var(--lp24-gray-200); }
.lp24-article td { padding: .5rem .875rem; border: 1px solid var(--lp24-gray-200); }
.lp24-article tr:nth-child(even) td { background: var(--lp24-gray-50); }
.lp24-article a { color: var(--lp24-brand); text-decoration: underline; text-decoration-color: transparent; transition: text-decoration-color .15s; }
.lp24-article a:hover { text-decoration-color: var(--lp24-brand); }

/* "Mehr zu diesem Thema" Tags */
.lp24-related-tags {
  background: var(--lp24-brand-light);
  border: 1px solid var(--lp24-brand-mid);
  border-radius: var(--lp24-radius);
  padding: 1.25rem; margin-top: 2.5rem;
}
.lp24-related-label {
  font-size: .6875rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--lp24-brand); margin-bottom: .75rem;
}
.lp24-related-tags .lp24-tag-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.lp24-tag-link {
  background: #fff; border: 1px solid var(--lp24-brand-mid);
  color: var(--lp24-brand); font-size: .8125rem; font-weight: 500;
  padding: .375rem .875rem; border-radius: var(--lp24-radius-sm);
  transition: background .15s;
}
.lp24-tag-link:hover { background: var(--lp24-brand-mid); }


/* ─── Sidebar ─── */
.lp24-sidebar { display: none; }
@media (min-width: 1024px) { .lp24-sidebar { display: block; } }
.lp24-sidebar::-webkit-scrollbar { width: 4px; }
.lp24-sidebar::-webkit-scrollbar-thumb { background: var(--lp24-gray-200); border-radius: 2px; }

.lp24-sidebar-card {
  background: #fff; border: 1px solid var(--lp24-gray-200);
  border-radius: var(--lp24-radius); padding: 1rem;
  margin-bottom: 1.25rem; box-shadow: var(--lp24-shadow-sm);
}
.lp24-sidebar-card-title {
  font-size: .75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--lp24-gray-500); margin-bottom: .875rem;
}

/* TOC Widget */
.lp24-toc-widget { display: none; }
.lp24-toc-widget.is-visible {
  display: block; background: #fff;
  border: 1px solid var(--lp24-gray-200); border-radius: var(--lp24-radius);
  padding: 1rem; margin-bottom: 1.25rem; box-shadow: var(--lp24-shadow-sm);
  position: sticky; top: calc(var(--lp24-header-h) + 1rem);
  max-height: calc(100vh - var(--lp24-header-h) - 3rem); overflow-y: auto;
}
.lp24-toc-widget::-webkit-scrollbar { width: 3px; }
.lp24-toc-widget::-webkit-scrollbar-thumb { background: var(--lp24-gray-200); border-radius: 2px; }
.lp24-toc-label {
  font-size: .75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--lp24-gray-500); margin-bottom: .75rem;
}
.lp24-toc-list { list-style: none; padding: 0; margin: 0; }
.lp24-toc-link {
  display: flex; align-items: center; gap: .5rem; padding: .35rem .5rem;
  font-size: .875rem; color: var(--lp24-gray-600); border-radius: .375rem;
  transition: background .1s, color .1s;
}
.lp24-toc-link:hover { background: var(--lp24-gray-50); color: var(--lp24-brand); }
.lp24-toc-link.is-active { background: var(--lp24-brand-light); color: var(--lp24-brand); font-weight: 600; }
.lp24-toc-sub { padding-left: 1.5rem; font-size: .8125rem; }

/* Sidebar Wetter */
.lp24-weather-display {
  display: block; text-decoration: none;
  background: linear-gradient(135deg, #0ea5e9, #0369a1);
  border-radius: var(--lp24-radius-sm); padding: 1rem; color: #fff; transition: opacity .15s;
}
.lp24-weather-display:hover { opacity: .92; }
.lp24-weather-main { display: flex; align-items: center; gap: .75rem; margin-bottom: .25rem; }
.lp24-weather-icon { font-size: 2rem; line-height: 1; }
.lp24-weather-temp { font-size: 2rem; font-weight: 700; line-height: 1; }
.lp24-weather-desc { font-size: .875rem; opacity: .85; margin-bottom: .75rem; }
.lp24-weather-days {
  display: flex; gap: .25rem;
  border-top: 1px solid rgba(255,255,255,.2);
  padding-top: .6rem; margin-bottom: .6rem;
}
.lp24-weather-day {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: .15rem; font-size: .75rem;
}
.lp24-weather-day span:first-child { opacity: .7; }
.lp24-weather-day span:last-child  { font-weight: 700; }
.lp24-weather-link { font-size: .8125rem; font-weight: 600; opacity: .9; text-align: right; }

/* Sidebar Transfer */
.lp24-sidebar-transfer-text { font-size: .875rem; color: var(--lp24-gray-600); line-height: 1.55; margin-bottom: .875rem; }
.lp24-sidebar-transfer-btn {
  display: block; background: var(--lp24-brand); color: #fff; text-align: center;
  padding: .625rem 1rem; border-radius: var(--lp24-radius-sm);
  font-size: .9375rem; font-weight: 700; text-decoration: none;
  transition: background .15s; margin-bottom: .875rem;
}
.lp24-sidebar-transfer-btn:hover { background: var(--lp24-brand-dark); }
.lp24-sidebar-transfer-links {
  display: flex; flex-direction: column; gap: .35rem;
  border-top: 1px solid var(--lp24-gray-100); padding-top: .75rem;
}
.lp24-sidebar-transfer-links a { font-size: .875rem; color: var(--lp24-gray-500); transition: color .1s; }
.lp24-sidebar-transfer-links a:hover { color: var(--lp24-brand); }


/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.lp24-footer { background: var(--lp24-gray-900); color: var(--lp24-gray-400); padding: 3rem 0 0; }
.lp24-footer-grid {
  max-width: var(--lp24-max-width); margin: 0 auto; padding: 0 1rem 3rem;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem;
}
@media (min-width: 768px) { .lp24-footer-grid { grid-template-columns: repeat(4, 1fr); } }

.lp24-footer-col-title {
  font-size: .75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: #fff; margin-bottom: 1rem;
}
.lp24-footer-logo { font-family: var(--lp24-font-heading); font-size: 1.25rem; font-weight: 700; color: #fff; margin-bottom: 1rem; }
.lp24-footer-about { font-size: .875rem; line-height: 1.6; color: var(--lp24-gray-400); margin-bottom: 1rem; }
.lp24-footer-links li { margin-bottom: .375rem; }
.lp24-footer-links a { font-size: .8125rem; color: var(--lp24-gray-400); transition: color .15s; }
.lp24-footer-links a:hover { color: #fff; }
.lp24-footer-links .lp24-footer-highlight a { color: var(--lp24-brand); }
.lp24-footer-links .lp24-footer-highlight a:hover { color: var(--lp24-brand-dark); }

.lp24-footer-bottom { border-top: 1px solid var(--lp24-gray-800); padding: 1rem; }
.lp24-footer-bottom-inner {
  max-width: var(--lp24-max-width); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: .75rem; font-size: .75rem; color: var(--lp24-gray-500);
}
.lp24-footer-lang { display: flex; gap: 1rem; }
.lp24-footer-lang a { color: var(--lp24-gray-500); transition: color .15s; }
.lp24-footer-lang a:hover { color: var(--lp24-gray-300); }


/* ═══════════════════════════════════════════
   UTILITIES
═══════════════════════════════════════════ */
.lp24-sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.lp24-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .625rem 1.25rem;
  font: inherit; font-size: .875rem; font-weight: 600;
  border-radius: var(--lp24-radius-sm); cursor: pointer; border: none;
  transition: background .15s, color .15s;
}
.lp24-btn-primary { background: var(--lp24-brand); color: #fff; }
.lp24-btn-primary:hover { background: var(--lp24-brand-dark); }
.lp24-btn-outline { background: #fff; color: var(--lp24-gray-700); border: 1px solid var(--lp24-gray-200); }
.lp24-btn-outline:hover { border-color: var(--lp24-brand); color: var(--lp24-brand); }


/* ═══════════════════════════════════════════
   TEASER GRID – 2-spaltig
═══════════════════════════════════════════ */
.lp24-teaser-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1.5rem 0;
}
.lp24-teaser-tile {
  display: flex; flex-direction: column;
  background: var(--lp24-gray-50); border: none;
  border-radius: var(--lp24-radius); overflow: hidden;
  text-decoration: none; box-shadow: var(--lp24-shadow-sm);
  transition: box-shadow .2s var(--lp24-ease), transform .2s var(--lp24-ease);
}
.lp24-teaser-tile:hover { box-shadow: var(--lp24-shadow); transform: translateY(-2px); }

.lp24-teaser-tile-img {
  position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--lp24-gray-100); flex-shrink: 0;
  border-bottom: 1px solid var(--lp24-gray-200); padding: 3px;
}
.lp24-teaser-tile-img img {
  width: 100%; height: 100%; object-fit: cover; object-position: center; display: block;
  border-radius: calc(var(--lp24-radius) - 4px);
  transition: transform .3s var(--lp24-ease);
}
.lp24-teaser-tile:hover .lp24-teaser-tile-img img { transform: scale(1.04); }
.lp24-teaser-tile-noimg {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--lp24-gray-100), var(--lp24-gray-200));
  border-radius: calc(var(--lp24-radius) - 4px);
}
.lp24-teaser-tile-body { padding: .5rem .75rem .75rem; flex: 1; min-height: 0; overflow: hidden; }
.lp24-teaser-tile-title {
  font-family: var(--lp24-font-heading); font-size: .9375rem; font-weight: 700;
  color: var(--lp24-gray-700); margin: 0 0 .2rem; line-height: 1.25;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .15s;
}
.lp24-teaser-tile:hover .lp24-teaser-tile-title { color: var(--lp24-brand); }
.lp24-teaser-tile-sub {
  font-size: .875rem; font-weight: 600; color: var(--lp24-brand);
  margin: 0 0 .25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lp24-teaser-tile-text {
  font-size: .8125rem; color: var(--lp24-gray-500); margin: 0; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (max-width: 479px) { .lp24-teaser-grid { grid-template-columns: 1fr; } }


/* ═══════════════════════════════════════════
   TEASER LIST – Sidebar
═══════════════════════════════════════════ */
.lp24-teaser-list { display: flex; flex-direction: column; gap: .25rem; }
.lp24-teaser-list-item {
  display: flex; align-items: flex-start; gap: .875rem; padding: .75rem .5rem;
  text-decoration: none; border-radius: var(--lp24-radius-sm); transition: background .15s;
}
.lp24-teaser-list-item:nth-child(odd) { background: transparent; }
.lp24-teaser-list-item:nth-child(even) { background: var(--lp24-gray-50); }
.lp24-teaser-list-item:hover { background: var(--lp24-brand-light) !important; }

.lp24-teaser-list-img {
  flex-shrink: 0; width: 5rem; height: 5rem;
  border-radius: var(--lp24-radius-sm); overflow: hidden;
  background: var(--lp24-gray-100); border: 1px solid var(--lp24-gray-200); padding: 2px;
}
.lp24-teaser-list-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  border-radius: calc(var(--lp24-radius-sm) - 3px);
}
.lp24-teaser-list-body { flex: 1; min-width: 0; padding-top: .1rem; }
.lp24-teaser-list-title {
  font-size: .9rem; font-weight: 600; color: var(--lp24-gray-700); line-height: 1.35;
  margin-bottom: .3rem; display: -webkit-box; -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; overflow: hidden; transition: color .15s;
}
.lp24-teaser-list-item:hover .lp24-teaser-list-title { color: var(--lp24-brand); }
.lp24-teaser-list-sub {
  font-size: .775rem; font-weight: 600; color: var(--lp24-brand);
  margin-bottom: .2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.lp24-teaser-list-text {
  font-size: .8rem; color: var(--lp24-gray-500); line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}


/* ═══════════════════════════════════════════
   TABS
   Variante Standard:  lp24-tabs.tmpl
   Variante Orange:    lp24-tabs--orange
   Variante Sidebar:   lp24-tabs--orange lp24-tabs--sidebar
═══════════════════════════════════════════ */
.lp24-tabs { margin: 1.5rem 0; }

.lp24-tabs-nav {
  display: flex; flex-wrap: wrap; gap: .25rem;
  border-bottom: 2px solid var(--lp24-gray-200); margin-bottom: 0;
}
.lp24-tab-btn {
  padding: .6rem 1.1rem; background: transparent; border: none;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  font: inherit; font-size: .875rem; font-weight: 600; color: var(--lp24-gray-500);
  cursor: pointer; border-radius: var(--lp24-radius-sm) var(--lp24-radius-sm) 0 0;
  transition: color .15s, background .15s, border-color .15s; white-space: nowrap;
}
.lp24-tab-btn:hover { color: var(--lp24-gray-700); background: var(--lp24-gray-50); }
.lp24-tab-btn--active { color: var(--lp24-brand); border-bottom-color: var(--lp24-brand); background: #fff; }

.lp24-tabs-panels {
  border: 1px solid var(--lp24-gray-200); border-top: none;
  border-radius: 0 0 var(--lp24-radius) var(--lp24-radius); background: #fff;
}
.lp24-tab-panel { padding: 1.25rem 1.5rem; display: none; }
.lp24-tab-panel--active { display: block; }

.lp24-tab-panel h2 { font-size: 1.25rem; margin-top: 0; }
.lp24-tab-panel h3 { font-size: 1.1rem; }
.lp24-tab-panel p  { color: var(--lp24-gray-600); line-height: 1.7; }
.lp24-tab-panel ul,
.lp24-tab-panel ol { padding-left: 1.5rem; color: var(--lp24-gray-600); }
.lp24-tab-panel li { margin-bottom: .375rem; line-height: 1.65; }

@media (max-width: 639px) {
  .lp24-tabs-nav {
    flex-wrap: nowrap; overflow-x: auto;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .lp24-tabs-nav::-webkit-scrollbar { display: none; }
  .lp24-tab-btn { flex-shrink: 0; }
  .lp24-tab-panel { padding: 1rem; }
}

/* ── Orange-Variante ── */
.lp24-tabs--orange .lp24-tabs-nav {
  border-bottom: none; background: transparent; gap: .25rem; padding: 0; align-items: flex-end;
}
.lp24-tabs--orange .lp24-tab-btn {
  background: var(--lp24-gray-400); color: #fff; border: none; border-bottom: none;
  margin-bottom: 0; border-radius: var(--lp24-radius-sm) var(--lp24-radius-sm) 0 0;
  padding: .55rem 1.1rem; font-size: .875rem; font-weight: 600; opacity: .85;
  transition: background .15s, opacity .15s;
}
.lp24-tabs--orange .lp24-tab-btn:hover { background: var(--lp24-gray-500); color: #fff; opacity: 1; }
.lp24-tabs--orange .lp24-tab-btn--active {
  background: var(--lp24-brand); color: #fff; opacity: 1; padding-top: .7rem;
}
.lp24-tabs--orange .lp24-tabs-panels {
  background: var(--lp24-gray-50);
  border: 1px solid var(--lp24-gray-200);
  border-top: 3px solid var(--lp24-brand);
  border-radius: 0 0 var(--lp24-radius) var(--lp24-radius);
}

/* ── Sidebar-Variante ── */
.lp24-tabs--sidebar .lp24-tab-btn { padding: .35rem .75rem; font-size: .78rem; font-weight: 600; }
.lp24-tabs--sidebar .lp24-tab-btn--active { padding-top: .45rem; }
.lp24-tabs--sidebar .lp24-tabs-panels { border-radius: 0 0 var(--lp24-radius-sm) var(--lp24-radius-sm); }
.lp24-tabs--sidebar .lp24-tab-panel { padding: .75rem .85rem; font-size: .85rem; overflow-x: auto; }
.lp24-tabs--sidebar .lp24-tab-panel h4 { font-size: .875rem; margin: 0 0 .5rem; color: var(--lp24-brand); }

.lp24-tabs--sidebar .lp24-tab-panel table {
  width: 100%; border-collapse: collapse; font-size: .78rem; border: 1.5px dotted #bbb;
}
.lp24-tabs--sidebar .lp24-tab-panel table thead tr { background: #f5f5f2; }
.lp24-tabs--sidebar .lp24-tab-panel table thead th {
  padding: 6px 9px; text-align: left; font-weight: 500; font-size: .72rem;
  color: #666; letter-spacing: .03em; border-bottom: 1.5px dotted #bbb;
}
.lp24-tabs--sidebar .lp24-tab-panel table thead th:not(:last-child) { border-right: 1.5px dotted #bbb; }
.lp24-tabs--sidebar .lp24-tab-panel table tbody tr:hover { background: #fafaf8; }
.lp24-tabs--sidebar .lp24-tab-panel table tbody tr:not(:last-child) td,
.lp24-tabs--sidebar .lp24-tab-panel table tbody tr:not(:last-child) th { border-bottom: 1.5px dotted #d4d4cc; }
.lp24-tabs--sidebar .lp24-tab-panel table tbody th[scope="row"] {
  padding: 6px 9px; font-weight: 400; color: #333; text-align: left;
  border-right: 1.5px dotted #bbb; white-space: nowrap;
}
.lp24-tabs--sidebar .lp24-tab-panel table tbody td {
  padding: 6px 9px; text-align: right; font-variant-numeric: tabular-nums;
  color: #c45e00; font-weight: 500; white-space: nowrap;
}


/* ═══════════════════════════════════════════
   FAQ ACCORDION
═══════════════════════════════════════════ */
.lp24-faq-wrap { margin: 1.5rem 0; }
.lp24-faq-heading {
  font-family: var(--lp24-font-heading); font-size: 1.25rem; font-weight: 700;
  color: var(--lp24-gray-700); margin-bottom: 1rem;
}
.lp24-faq-item { border-radius: var(--lp24-radius-sm); margin-bottom: .375rem; overflow: hidden; }
.lp24-faq-toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .85rem 1.1rem; background: var(--lp24-gray-100);
  border: 1px solid var(--lp24-gray-200); border-radius: var(--lp24-radius-sm);
  cursor: pointer; font: inherit; font-size: .9375rem; font-weight: 600;
  color: var(--lp24-gray-700); text-align: left;
  transition: background .15s, color .15s, border-color .15s, border-radius .15s;
}
.lp24-faq-toggle:hover { background: var(--lp24-gray-200); color: var(--lp24-gray-800); }
.lp24-faq-toggle[aria-expanded="true"] {
  background: var(--lp24-brand); color: #fff; border-color: var(--lp24-brand);
  border-radius: var(--lp24-radius-sm) var(--lp24-radius-sm) 0 0;
}
.lp24-faq-icon { flex-shrink: 0; transition: transform .25s var(--lp24-ease); }
.lp24-faq-toggle[aria-expanded="true"] .lp24-faq-icon { transform: rotate(180deg); }

.lp24-faq-body {
  max-height: 0; overflow: hidden; background: var(--lp24-gray-50);
  border: 1px solid var(--lp24-brand); border-top: none;
  border-radius: 0 0 var(--lp24-radius-sm) var(--lp24-radius-sm);
  transition: max-height .3s var(--lp24-ease);
}
.lp24-faq-body.is-open { max-height: 1200px; }
.lp24-faq-answer {
  padding: 1rem 1.25rem 1.25rem; font-size: .9375rem; color: var(--lp24-gray-600); line-height: 1.7;
}
.lp24-faq-answer p  { margin-bottom: .75rem; }
.lp24-faq-answer p:last-child { margin-bottom: 0; }
.lp24-faq-answer a  { color: var(--lp24-brand); text-decoration: underline; }
.lp24-faq-answer ul, .lp24-faq-answer ol { padding-left: 1.5rem; margin-bottom: .75rem; }
.lp24-faq-answer li { margin-bottom: .3rem; }
.lp24-faq-img { padding: 1rem 1.25rem 0; }
.lp24-faq-img img { border-radius: var(--lp24-radius-sm); max-width: 100%; }
.lp24-faq-caption { font-size: .75rem; color: var(--lp24-gray-500); margin-top: .375rem; }


/* ═══════════════════════════════════════════
   TABELLEN (dotted style)
═══════════════════════════════════════════ */
.lp24-table-wrap { overflow-x: auto; margin: 1.5rem 0; }
.lp24-table {
  width: 100%; border-collapse: collapse; font-size: 0.9rem;
  border: 1.5px dotted #bbb; border-radius: 8px;
}
.lp24-table thead tr { background-color: #f5f5f2; }
.lp24-table thead th {
  padding: 10px 14px; text-align: left; font-weight: 500; font-size: 0.8rem;
  color: #666; letter-spacing: 0.03em; border-bottom: 1.5px dotted #bbb;
}
.lp24-table thead th:not(:last-child) { border-right: 1.5px dotted #bbb; }
.lp24-table tbody tr { transition: background 0.12s ease; }
.lp24-table tbody tr:hover { background-color: #fafaf8; }
.lp24-table tbody tr:not(:last-child) td,
.lp24-table tbody tr:not(:last-child) th { border-bottom: 1.5px dotted #d4d4cc; }
.lp24-table tbody th[scope="row"] {
  padding: 9px 14px; font-weight: 400; color: #222; text-align: left; border-right: 1.5px dotted #bbb;
}
.lp24-table tbody td {
  padding: 9px 14px; text-align: right; font-variant-numeric: tabular-nums;
  color: #c45e00; font-weight: 500; white-space: nowrap;
}
.lp24-table-caption { display: block; font-size: 0.75rem; color: #888; margin-bottom: 6px; }


/* ═══════════════════════════════════════════
   ARTICLE SUMMARY TEMPLATES
═══════════════════════════════════════════ */
.lp24-article-summary { margin: 0 0 2rem; }

.lp24-article-hero { margin: 0 0 1.5rem; padding: 0; line-height: 0; }
.lp24-article-hero-img { width: 100%; height: auto; display: block; border-radius: var(--lp24-radius); object-fit: cover; }
.lp24-article-hero-link { display: block; }
.lp24-article-hero-caption { line-height: 1.4; font-size: .78rem; color: var(--lp24-gray-500); margin-top: .4rem; padding: 0 .1rem; }
.lp24-article-hero-copyright { color: var(--lp24-gray-400); font-size: .72rem; }

.lp24-article-float-img { float: right; margin: .25rem 0 1rem 1.5rem; padding: 0; max-width: 42%; width: 100%; }
.lp24-article-float-img-el { width: 100%; height: auto; display: block; border-radius: var(--lp24-radius-sm); object-fit: cover; }
.lp24-article-float-link { display: block; }
.lp24-article-float-caption { line-height: 1.4; font-size: .75rem; color: var(--lp24-gray-500); margin-top: .35rem; text-align: right; }
.lp24-article-float-copyright { color: var(--lp24-gray-400); font-size: .7rem; }
.lp24-clearfix::after { content: ""; display: table; clear: both; }

@media (max-width: 500px) {
  .lp24-article-float-img { float: none; max-width: 100%; margin: 0 0 1rem; }
  .lp24-article-float-caption { text-align: left; }
}

.lp24-article-summary-title { font-size: 1.6rem; font-weight: 700; line-height: 1.25; margin: 0 0 .4rem; color: var(--lp24-gray-900); }
.lp24-article-summary-sub { font-size: 1.05rem; font-weight: 400; color: var(--lp24-gray-600); margin: 0 0 .85rem; line-height: 1.4; }
.lp24-article-summary-text { font-size: .95rem; line-height: 1.7; color: var(--lp24-gray-800); }
.lp24-article-summary-meta { font-size: .78rem; color: var(--lp24-gray-400); margin-top: 1rem; border-top: 1px dotted #d4d4cc; padding-top: .5rem; }

/* ═══════════════════════════════════════════
   ARTICLE SUMMARY – Variante "Float" (Bild klein,
   links oben, von Titel/Text umflossen)
═══════════════════════════════════════════ */
.lp24-summary-float {
  margin: 0 0 2rem;
  background: var(--lp24-brand-light);
  border: 1px solid var(--lp24-brand-mid);
  border-radius: var(--lp24-radius);
  padding: 1.25rem 1.375rem;
  overflow: hidden; /* schließt den Float-Container ein, kein clearfix-Hack nötig */
}

.lp24-summary-float-img {
  float: left;
  width: 35%;
  margin: 0 1.5rem 1rem 0;
  line-height: 0;
}
.lp24-summary-float-img-el {
  width: 100%; height: auto; display: block;
  border-radius: var(--lp24-radius-sm);
  object-fit: cover;
}
.lp24-summary-float-link { display: block; }
.lp24-summary-float-caption {
  line-height: 1.4; font-size: .75rem; color: var(--lp24-gray-500);
  margin-top: .4rem; padding: 0 .1rem;
}
.lp24-summary-float-copyright { color: var(--lp24-gray-400); font-size: .72rem; }

.lp24-summary-float-title {
  font-size: 1.6rem; font-weight: 700; line-height: 1.25;
  margin: 0 0 .4rem; color: var(--lp24-brand);
}
.lp24-summary-float-sub {
  font-size: 1.05rem; font-weight: 700; color: var(--lp24-gray-700);
  margin: 0 0 .85rem; line-height: 1.4;
}

/* Teaser-Text — kein eigener Kasten mehr, sitzt direkt im äußeren Rahmen */
.lp24-summary-float-text p {
  font-size: .95rem; line-height: 1.7; color: var(--lp24-gray-700);
  margin: 0 0 .625rem;
}
.lp24-summary-float-text p:last-child { margin-bottom: 0; }

.lp24-summary-float-meta {
  font-size: .78rem; color: var(--lp24-gray-400);
  margin-top: 1rem; border-top: 1px dotted #d4d4cc; padding-top: .5rem;
  clear: both;
}

@media (max-width: 560px) {
  .lp24-summary-float-img { float: none; width: 100%; margin: 0 0 1rem; }
}


.lp24-paginate { margin: 1.5rem 0; }
.lp24-paginate-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.lp24-paginate-btn {
  display: inline-block; padding: .3rem .7rem; font-size: .82rem;
  border: 1.5px dotted #bbb; border-radius: var(--lp24-radius-sm);
  color: var(--lp24-brand); text-decoration: none; transition: background .15s;
}
.lp24-paginate-btn:hover { background: var(--lp24-gray-50); }


/* ═══════════════════════════════════════════
   FILELIST DOWNLOAD-BLOCK
═══════════════════════════════════════════ */
.lp24-filelist {
  background: #f0f4f8; border-radius: var(--lp24-radius);
  border: 1px solid #d8e2ec; padding: 1.25rem 1.35rem; margin: 1.5rem 0;
}
.lp24-filelist-title { font-size: 1.05rem; font-weight: 600; color: var(--lp24-gray-900); margin: 0 0 .25rem; line-height: 1.3; }
.lp24-filelist-sub { font-size: .85rem; color: var(--lp24-gray-500); margin: 0 0 1rem; }
.lp24-filelist-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .4rem; }
.lp24-filelist-item { background: #fff; border-radius: 6px; border: 1px solid #d8e2ec; transition: border-color .15s, box-shadow .15s; }
.lp24-filelist-item:hover { border-color: var(--lp24-brand); box-shadow: 0 1px 6px rgba(204,102,1,.1); }
.lp24-filelist-link { display: flex; align-items: center; gap: .75rem; padding: .65rem .85rem; text-decoration: none; color: inherit; }

.lp24-filelist-icon {
  flex-shrink: 0; width: 36px; height: 36px; border-radius: 5px;
  background: #e8eff6; display: flex; align-items: center; justify-content: center;
  color: var(--lp24-brand); overflow: hidden;
}
.lp24-filelist-icon[data-ext="pdf"]  { background: #fde8e8; color: #c0392b; }
.lp24-filelist-icon[data-ext="doc"],
.lp24-filelist-icon[data-ext="docx"] { background: #e8f0fe; color: #1a73e8; }
.lp24-filelist-icon[data-ext="xls"],
.lp24-filelist-icon[data-ext="xlsx"] { background: #e6f4ea; color: #188038; }
.lp24-filelist-icon[data-ext="zip"],
.lp24-filelist-icon[data-ext="rar"]  { background: #fef3e2; color: #e37400; }
.lp24-filelist-icon[data-ext="jpg"],
.lp24-filelist-icon[data-ext="jpeg"],
.lp24-filelist-icon[data-ext="png"],
.lp24-filelist-icon[data-ext="webp"] { background: #f3e8fd; color: #7c3aed; }
.lp24-filelist-svg { width: 20px; height: 20px; }
.lp24-filelist-thumb { width: 100%; height: 100%; object-fit: cover; display: block; }

.lp24-filelist-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .12rem; }
.lp24-filelist-name { font-size: .88rem; font-weight: 500; color: var(--lp24-gray-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp24-filelist-item:hover .lp24-filelist-name { color: var(--lp24-brand); }
.lp24-filelist-desc { font-size: .78rem; color: var(--lp24-gray-600); line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp24-filelist-meta { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.lp24-filelist-ext { font-size: .68rem; text-transform: uppercase; font-weight: 600; letter-spacing: .05em; color: var(--lp24-gray-500); }
.lp24-filelist-size,
.lp24-filelist-date { font-size: .68rem; color: var(--lp24-gray-400); }
.lp24-filelist-size::before,
.lp24-filelist-date::before { content: "·"; margin-right: .35rem; }

.lp24-filelist-dl {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
  background: #e8eff6; display: flex; align-items: center; justify-content: center;
  color: var(--lp24-gray-500); transition: background .15s, color .15s;
}
.lp24-filelist-item:hover .lp24-filelist-dl { background: var(--lp24-brand); color: #fff; }
.lp24-filelist-footer { margin-top: .9rem; padding-top: .75rem; border-top: 1px dotted #c8d6e0; font-size: .8rem; color: var(--lp24-gray-500); line-height: 1.6; }

@media (max-width: 480px) {
  .lp24-filelist { padding: 1rem; }
  .lp24-filelist-name { white-space: normal; }
  .lp24-filelist-desc { white-space: normal; }
}

/* =========================================================
   LAS-PALMAS-24.COM · "In diesem Bereich"-Box v2
   Level-Lift: 3 Ebenen, aktiver Pfad aufgeklappt (F)

   phpwcms NAV_LIST_UL gibt aus:
   <ul id="lp24SibNav_0">                   ← Level 1 (Hauptebene)
     <li class="sub_ul act_path active">
       <a>Aktive Seite</a>
       <ul id="lp24SibNav_1">               ← Level 2
         <li class="sub_ul act_path">
           <a>Aktiver Zwischenknoten</a>
           <ul id="lp24SibNav_2">           ← Level 3
             <li class="active"><a>...</a></li>
           </ul>
         </li>
         <li class="sub_ul_true"><a>Zugeklappte Unterseite</a></li>
       </ul>
     </li>
     <li class="sub_ul_true"><a>Anderer Hauptpunkt</a></li>
   </ul>

   li-Klassen:
     sub_ul      = hat Unterebene, ist aufgeklappt (aktiver Pfad)
     sub_ul_true = hat Unterebene, ist zugeklappt
     sub_no      = kein Unterelement
     sub_parent  = Elternelement (Schalter P, hier nicht genutzt)
     act_path    = im aktiven Pfad
     active      = exakt aktive Seite
   ========================================================= */

/* ── Container ── */
.lp24-sibling-box {
  background: var(--lp24-gray-50);
  border: 1px solid var(--lp24-gray-200);
  border-radius: var(--lp24-radius);
  padding: 1rem;
  margin-bottom: 1.75rem;
}
.lp24-sibling-label {
  font-size: .6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--lp24-gray-400);
  margin-bottom: .75rem;
}
.lp24-sibling-links { /* wrapper div */ }

/* ═══════════════════════════════════════════
   LEVEL 1 – Kachel-Grid (direkte Kinder des
   aktiven Hauptmenüpunkts)
═══════════════════════════════════════════ */
.lp24-sibling-links ul[id^="lp24SibNav"] {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Oberste <ul>: Grid-Layout für Kacheln */
.lp24-sibling-links > div > ul[id^="lp24SibNav"],
.lp24-sibling-links ul[id^="lp24SibNav_0"] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .375rem;
}
@media (min-width: 640px) {
  .lp24-sibling-links > div > ul[id^="lp24SibNav"],
  .lp24-sibling-links ul[id^="lp24SibNav_0"] {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Alle li: Flex damit <a> volle Höhe bekommt */
.lp24-sibling-links ul[id^="lp24SibNav"] li {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;  /* <a> + ggf. Sub-<ul> untereinander */
}

/* ── Level-1-Link (Kachel) ── */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li > a {
  display: flex;
  align-items: flex-start;
  gap: .4rem;
  padding: .5rem .65rem;
  background: #fff;
  border: 1px solid var(--lp24-gray-200);
  border-radius: var(--lp24-radius-sm);
  font-size: .8rem;
  font-weight: 400;
  color: var(--lp24-gray-600);
  text-decoration: none;
  line-height: 1.35;
  width: 100%;
  transition: border-color .15s, color .15s, background .15s;
}
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li > a:hover {
  border-color: var(--lp24-brand);
  color: var(--lp24-brand);
  background: #fff8f3;
}

/* Aktiver Pfad Level 1 */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > a,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.active > a {
  border-color: var(--lp24-brand);
  color: var(--lp24-brand);
  background: #fff8f3;
  font-weight: 600;
}

/* Chevron-Icon Level 1 */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li > a::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-top: .1rem;
  width: 13px;
  height: 13px;
  background-color: var(--lp24-gray-400);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transition: background-color .15s;
}
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li > a:hover::before,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > a::before,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.active > a::before {
  background-color: var(--lp24-brand);
}

/* ═══════════════════════════════════════════
   LEVEL 2 – Liste unter aktivem Level-1-Eintrag
   Nur sichtbar wenn übergeordnetes li.act_path
═══════════════════════════════════════════ */

/* Standardmäßig alle Sub-<ul> verstecken */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li > ul {
  display: none;
}

/* Nur aufklappen wenn li im aktiven Pfad */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.active > ul {
  display: block;
  margin: .25rem 0 .125rem .5rem;
  padding: 0;
  border-left: 2px solid var(--lp24-brand-mid);
  padding-left: .5rem;
  grid-column: 1 / -1; /* volle Breite im Grid */
}

/* Level-2-Link */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li > a,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.active > ul > li > a {
  display: flex;
  align-items: flex-start;
  gap: .35rem;
  padding: .35rem .5rem;
  font-size: .78rem;
  color: var(--lp24-gray-600);
  text-decoration: none;
  border-radius: var(--lp24-radius-sm);
  transition: color .15s, background .15s;
  line-height: 1.3;
}
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li > a:hover,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.active > ul > li > a:hover {
  color: var(--lp24-brand);
  background: #fff8f3;
}

/* Aktiver Level-2-Eintrag */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > a,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.active > a {
  color: var(--lp24-brand);
  font-weight: 600;
}

/* Chevron-Icon Level 2 (kleiner) */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li > a::before,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.active > ul > li > a::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-top: .1rem;
  width: 11px;
  height: 11px;
  background-color: var(--lp24-gray-300);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transition: background-color .15s;
}
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li > a:hover::before,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > a::before,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.active > a::before {
  background-color: var(--lp24-brand);
}

/* ═══════════════════════════════════════════
   LEVEL 3 – weitere Unterebene
═══════════════════════════════════════════ */

/* Sub-<ul> von Level-2 standardmäßig verstecken */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li > ul {
  display: none;
}

/* Nur aufklappen wenn Level-2-li im aktiven Pfad */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > ul,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.active > ul {
  display: block;
  margin: .2rem 0 .1rem .4rem;
  padding-left: .5rem;
  border-left: 2px solid var(--lp24-gray-200);
}

/* Level-3-Link */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > ul > li > a,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.active > ul > li > a {
  display: flex;
  align-items: flex-start;
  gap: .3rem;
  padding: .25rem .4rem;
  font-size: .74rem;
  color: var(--lp24-gray-500);
  text-decoration: none;
  border-radius: var(--lp24-radius-sm);
  transition: color .15s, background .15s;
  line-height: 1.3;
}
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > ul > li > a:hover,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.active > ul > li > a:hover {
  color: var(--lp24-brand);
  background: #fff8f3;
}

/* Aktiver Level-3-Eintrag */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > ul > li.active > a {
  color: var(--lp24-brand);
  font-weight: 600;
}

/* Bullet statt Chevron für Level 3 */
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > ul > li > a::before,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.active > ul > li > a::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-top: .35rem;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: var(--lp24-gray-300);
  transition: background-color .15s;
}
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > ul > li.active > a::before,
.lp24-sibling-links ul[id^="lp24SibNav_0"] > li.act_path > ul > li.act_path > ul > li > a:hover::before {
  background-color: var(--lp24-brand);
}

/* ==========================================================================
   lp24 Gallery — Masonry
   ========================================================================== */

/* --- Titel & Intro -------------------------------------------------------- */

.lp24-gallery-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--lp24-gray-800);
  margin-bottom: 0.25rem;
}

.lp24-gallery-subtitle {
  font-size: 1rem;
  color: var(--lp24-gray-500);
  margin-bottom: 0.75rem;
}

.lp24-gallery-intro {
  font-size: 0.95rem;
  color: var(--lp24-gray-600);
  margin-bottom: 1.25rem;
}

/* --- Masonry Grid --------------------------------------------------------- */
/*
   CSS Grid mit minmax(0, 1fr) — einzig robuste Lösung innerhalb eines
   .lp24-article (min-width: 0). KEIN columns: — das bricht den Page-Grid.
*/

.lp24-gallery--masonry {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  grid-template-rows: masonry;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* --- Einzelnes Bild ------------------------------------------------------- */
/*
   figure-margin und figcaption-styles kommen aus .lp24-article —
   werden über :not() in Zeile 603–605 ausgeschlossen.
*/

.lp24-gallery__item {
  position: relative;
  overflow: hidden;
  border-radius: 0.375rem;
  background-color: var(--lp24-gray-100);
  cursor: pointer;
  margin: 0;
  padding: 0;
  min-width: 0;
  max-width: 100%;
}

.lp24-gallery__item img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 0;
  transition: transform 0.35s ease;
  vertical-align: bottom;
}

.lp24-gallery__item:hover img {
  transform: scale(1.04);
}

/* --- Caption Overlay ------------------------------------------------------ */

.lp24-gallery__caption {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0.75rem;
  margin: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 55%);
  opacity: 0;
  transition: opacity 0.28s ease;
  font-size: inherit;
  color: inherit;
}

.lp24-gallery__item:hover .lp24-gallery__caption {
  opacity: 1;
}

@media (hover: none) {
  .lp24-gallery__caption {
    opacity: 1;
  }
}

.lp24-gallery__caption-text {
  display: block;
  font-size: 0.82rem;
  line-height: 1.35;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

.lp24-gallery__link {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lp24-gallery__link:hover {
  color: var(--lp24-orange);
}

/* ============================================================
   lp24 Slider / Carousel
   Einbauen in: phpwcms_template/inc_css/lp24.css
   ============================================================ */

/* --- Inline Slider (.lp24-slider) --- */
.lp24-slider { margin: 1.5rem 0; }
.lp24-slider__heading { font-family: var(--lp24-font-heading); font-size: 1.25rem; color: var(--lp24-gray-800); margin: 0 0 .5rem; }
.lp24-slider__intro { font-size: .9375rem; color: var(--lp24-gray-600); margin: 0 0 .75rem; }
.lp24-slider__stage { position: relative; overflow: hidden; border-radius: var(--lp24-radius); background: var(--lp24-gray-100); aspect-ratio: 16/9; }
.lp24-slider__track { position: relative; height: 100%; }
.lp24-slider__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .5s var(--lp24-ease); pointer-events: none; }
.lp24-slider__slide.is-active { opacity: 1; pointer-events: auto; }
.lp24-slider__imgwrap { position: absolute; inset: 0; }
.lp24-slider__imgwrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp24-slider__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp24-slider__zoom { display: block; height: 100%; }
.lp24-slider__caption { position: absolute; bottom: 0; left: 0; right: 0; padding: .75rem 1rem .875rem; background: linear-gradient(transparent, rgba(0,0,0,.5) 30%, rgba(0,0,0,.5)); color: #fff; font-size: 1rem; font-family: var(--lp24-font-body); line-height: 1.4; }
.lp24-slider__caption-text { font-size: 1rem; font-weight: 600; display: block; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.lp24-slider__info { font-size: .875rem; opacity: .9; display: block; margin-top: .2rem; text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.lp24-slider__btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: rgba(0,0,0,.4); border: none; border-radius: 50%; width: 38px; height: 38px; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s var(--lp24-ease); }
.lp24-slider__btn:hover { background: var(--lp24-brand); }
.lp24-slider__btn--prev { left: .625rem; }
.lp24-slider__btn--next { right: .625rem; }
.lp24-slider__dots { position: absolute; bottom: .625rem; left: 50%; transform: translateX(-50%); display: flex; gap: .375rem; z-index: 10; }
.lp24-slider__dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.5); border: none; cursor: pointer; padding: 0; transition: background .2s var(--lp24-ease); }
.lp24-slider__dot.is-active { background: #fff; }
@media (max-width: 480px) { .lp24-slider__stage { aspect-ratio: 4/3; } }

/* --- Hero Slider (.lp24-slider-hero) --- */
.lp24-slider-hero { position: relative; width: 100%; overflow: hidden; background: var(--lp24-gray-900); aspect-ratio: 1920/860; }
.lp24-slider-hero__track { position: relative; height: 100%; }
.lp24-slider-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s var(--lp24-ease); pointer-events: none; }
.lp24-slider-hero__slide.is-active { opacity: 1; pointer-events: auto; }
.lp24-slider-hero__imgwrap { position: absolute; inset: 0; }
.lp24-slider-hero__imgwrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp24-slider-hero__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp24-slider-hero__zoom { display: block; height: 100%; }
.lp24-slider-hero__caption { position: absolute; bottom: 0; left: 0; right: 0; padding: .75rem 1.25rem; background: linear-gradient(transparent, rgba(0,0,0,.65)); color: #fff; font-family: var(--lp24-font-body); }
.lp24-slider-hero__caption-text { margin: 0; font-size: .875rem; }
.lp24-slider-hero__info { margin: .2rem 0 0; font-size: .8125rem; opacity: .8; }
.lp24-slider-hero__btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: rgba(0,0,0,.45); border: none; border-radius: 50%; width: 44px; height: 44px; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s var(--lp24-ease); }
.lp24-slider-hero__btn:hover { background: var(--lp24-brand); }
.lp24-slider-hero__btn--prev { left: 1rem; }
.lp24-slider-hero__btn--next { right: 1rem; }
.lp24-slider-hero__dots { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); display: flex; gap: .5rem; z-index: 10; }
.lp24-slider-hero__dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.5); border: none; cursor: pointer; padding: 0; transition: background .2s var(--lp24-ease); }
.lp24-slider-hero__dot.is-active { background: #fff; }
.lp24-slider-hero__overlay-text { position: absolute; bottom: 2.5rem; left: 2rem; width: min(38%, 480px); background: rgba(0,0,0,.52); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); border-radius: var(--lp24-radius-sm); padding: 1.25rem 1.5rem 1.375rem; color: #fff; z-index: 5; pointer-events: none; }
.lp24-slider-hero__title { font-family: var(--lp24-font-heading); font-size: clamp(1.25rem, 2.5vw, 2rem); margin: 0 0 .4rem; line-height: 1.25; color: #fff; text-shadow: none; }
.lp24-slider-hero__subtitle { font-family: var(--lp24-font-body); font-size: clamp(.9rem, 1.5vw, 1.125rem); margin: 0; line-height: 1.45; color: var(--lp24-brand); font-weight: 700; opacity: 1; }
.lp24-slider-hero__text { font-family: var(--lp24-font-body); font-size: clamp(.8125rem, 1.25vw, .9375rem); margin: .5rem 0 0; opacity: .85; line-height: 1.5; }
@media (max-width: 768px) {
  .lp24-slider-hero__overlay-text { left: 1rem; right: 1rem; width: auto; bottom: 1.25rem; padding: .875rem 1rem; }
}
@media (max-width: 640px) {
  .lp24-slider-hero { aspect-ratio: 4/3; }
  .lp24-slider-hero__btn { width: 36px; height: 36px; }
}


/* ============================================================
   lp24 Teaser Sidebar mit grossen Bildern
   Einbauen in: phpwcms_template/inc_css/lp24.css
   ============================================================ */

.lp24-teaser-sidebar-img { display: flex; flex-direction: column; gap: 1.25rem; }
.lp24-teaser-sidebar-img__subtitle { font-size: .875rem; color: var(--lp24-gray-500); margin: -.25rem 0 .25rem; }

.lp24-teaser-sidebar-img__item { display: flex; flex-direction: column; gap: 0; border-radius: var(--lp24-radius-sm); overflow: hidden; background: #fff; box-shadow: var(--lp24-shadow-sm); transition: box-shadow .2s var(--lp24-ease); }
.lp24-teaser-sidebar-img__item:hover { box-shadow: var(--lp24-shadow); }

.lp24-teaser-sidebar-img__imglink { display: block; }
.lp24-teaser-sidebar-img__imgwrap { aspect-ratio: 16/9; overflow: hidden; background: var(--lp24-gray-100); }
.lp24-teaser-sidebar-img__imgwrap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s var(--lp24-ease); }
.lp24-teaser-sidebar-img__item:hover .lp24-teaser-sidebar-img__imgwrap img { transform: scale(1.04); }

.lp24-teaser-sidebar-img__body { padding: .75rem .875rem 1rem; display: flex; flex-direction: column; gap: .25rem; }

.lp24-teaser-sidebar-img__title { font-family: var(--lp24-font-heading); font-size: 1rem; line-height: 1.3; margin: 0; }
.lp24-teaser-sidebar-img__title a { color: var(--lp24-gray-800); text-decoration: none; }
.lp24-teaser-sidebar-img__title a:hover { color: var(--lp24-brand); }

.lp24-teaser-sidebar-img__sub { font-size: .8125rem; color: var(--lp24-brand); font-weight: 600; margin: 0; }

.lp24-teaser-sidebar-img__text { font-size: .8125rem; color: var(--lp24-gray-600); line-height: 1.5; margin: .125rem 0 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.lp24-teaser-sidebar-img__more { font-size: .8125rem; color: var(--lp24-brand); font-weight: 600; text-decoration: none; margin-top: .375rem; align-self: flex-start; }
.lp24-teaser-sidebar-img__more:hover { text-decoration: underline; }


/* ============================================================
   lp24 WYSIWYG Farbboxen
   Varianten: --brand (Orange), --dark (Dunkelgrau), --light (Hellgrau)
   Einbauen in: phpwcms_template/inc_css/lp24.css
   ============================================================ */

/* --- Basis ---------------------------------------------------------- */
.lp24-box {
  border-radius: var(--lp24-radius);
  overflow: hidden;
  margin: 1.5rem 0;
  border: none;
  box-shadow: var(--lp24-shadow-sm);
}

/* --- Kopfzeile (Titel + Subtitle) ----------------------------------- */
.lp24-box__head {
  padding: .875rem 1.25rem .8rem;
}
.lp24-box__title {
  font-family: var(--lp24-font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 .15rem;
  line-height: 1.25;
}
.lp24-box__subtitle {
  font-size: .875rem;
  font-weight: 600;
  color: rgba(255,255,255,.8);
  margin: 0;
  line-height: 1.35;
}

/* --- Body ----------------------------------------------------------- */
.lp24-box__body {
  padding: 1rem 1.25rem 1.25rem;
}
.lp24-box__body p {
  font-size: .9375rem;
  line-height: 1.7;
  margin: 0 0 .875rem;
  color: inherit;
}
.lp24-box__body p:last-child { margin-bottom: 0; }

.lp24-box__body a {
  text-decoration: underline;
  text-decoration-color: rgba(0,0,0,.25);
  transition: text-decoration-color .15s;
}
.lp24-box__body a:hover { text-decoration-color: currentColor; }

/* --- Listen: weiß gepunktete Trennlinien ---------------------------- */
.lp24-box__body ul,
.lp24-box__body ol {
  list-style: none;
  padding: 0;
  margin: 0 0 .875rem;
}
.lp24-box__body ul:last-child,
.lp24-box__body ol:last-child { margin-bottom: 0; }

.lp24-box__body li {
  padding: .55rem 0 .55rem 1.25rem;
  font-size: .9375rem;
  line-height: 1.55;
  color: inherit;
  border-top: 1px dotted rgba(255,255,255,.3);
  position: relative;
}
.lp24-box__body li:last-child {
  border-bottom: 1px dotted rgba(255,255,255,.3);
}

/* Bullet-Punkt */
.lp24-box__body ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
}

/* Nummerierung ol */
.lp24-box__body ol {
  counter-reset: lp24box;
}
.lp24-box__body ol li::before {
  counter-increment: lp24box;
  content: counter(lp24box) '.';
  position: absolute;
  left: 0;
  top: .55rem;
  font-size: .8rem;
  font-weight: 700;
  color: rgba(255,255,255,.7);
  line-height: 1.55;
}

/* Headings im Body */
.lp24-box__body h4 {
  font-family: var(--lp24-font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin: 1rem 0 .5rem;
}
.lp24-box__body h4:first-child { margin-top: 0; }

/* ── Variante: Brand (Orange) ──────────────────────────────── */
.lp24-box--brand .lp24-box__head {
  background: var(--lp24-brand-dark);   /* #a85200 */
}
.lp24-box--brand .lp24-box__body {
  background: var(--lp24-brand-light);  /* #fdf5e8 */
  color: var(--lp24-gray-700);
}
/* Im hellen Body: Trennlinien dunkel statt weiß */
.lp24-box--brand .lp24-box__body li {
  border-top-color: rgba(168,82,0,.2);
}
.lp24-box--brand .lp24-box__body li:last-child {
  border-bottom-color: rgba(168,82,0,.2);
}
.lp24-box--brand .lp24-box__body ul li::before {
  background: var(--lp24-brand);
}
.lp24-box--brand .lp24-box__body ol li::before {
  color: var(--lp24-brand);
}
.lp24-box--brand .lp24-box__body h4 { color: var(--lp24-brand-dark); }
.lp24-box--brand .lp24-box__body a  { color: var(--lp24-brand-dark); }

/* ── Variante: Dark (Dunkelgrau) ───────────────────────────── */
.lp24-box--dark .lp24-box__head {
  background: var(--lp24-gray-800);   /* #1f2937 */
}
.lp24-box--dark .lp24-box__body {
  background: var(--lp24-gray-700);   /* #374151 */
  color: var(--lp24-gray-100);
}
.lp24-box--dark .lp24-box__body a { color: #fff; }

/* ── Variante: Light (Hellgrau) ────────────────────────────── */
.lp24-box--light .lp24-box__head {
  background: var(--lp24-gray-600);   /* #4b5563 */
}
.lp24-box--light .lp24-box__body {
  background: var(--lp24-gray-100);   /* #f3f4f6 */
  color: var(--lp24-gray-700);
}
/* Im hellen Body: Trennlinien dunkelgrau */
.lp24-box--light .lp24-box__body li {
  border-top-color: rgba(0,0,0,.12);
}
.lp24-box--light .lp24-box__body li:last-child {
  border-bottom-color: rgba(0,0,0,.12);
}
.lp24-box--light .lp24-box__body ul li::before {
  background: var(--lp24-gray-400);
}
.lp24-box--light .lp24-box__body ol li::before {
  color: var(--lp24-gray-500);
}
.lp24-box--light .lp24-box__body h4 { color: var(--lp24-gray-800); }
.lp24-box--light .lp24-box__body a  { color: var(--lp24-brand-dark); }

/* ============================================================
   lp24 RSS Feed
   Einbauen in: phpwcms_template/inc_css/lp24.css
   ============================================================ */

.lp24-rss { margin: 1.5rem 0; }

.lp24-rss__heading {
  font-family: var(--lp24-font-heading);
  font-size: 1.25rem;
  color: var(--lp24-gray-800);
  margin: 0 0 .25rem;
}
.lp24-rss__subtitle {
  font-size: .875rem;
  color: var(--lp24-gray-500);
  margin: 0 0 1rem;
}
.lp24-rss__feed-img { margin-bottom: .75rem; }
.lp24-rss__feed-img img { border-radius: var(--lp24-radius-sm); max-width: 100%; }
.lp24-rss__feed-desc {
  font-size: .875rem;
  color: var(--lp24-gray-500);
  margin: 0 0 1rem;
  line-height: 1.6;
}

/* --- Eintrags-Liste ----------------------------------------- */
.lp24-rss__list {
  display: flex;
  flex-direction: column;
}

.lp24-rss__item {
  padding: .875rem 0;
  border-bottom: 1px dotted var(--lp24-gray-300);
  margin: 0;
}
.lp24-rss__item:first-child { border-top: 1px dotted var(--lp24-gray-300); }

.lp24-rss__item-title {
  font-family: var(--lp24-font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--lp24-gray-800);
  margin: 0 0 .3rem;
  line-height: 1.3;
}
.lp24-rss__item-link {
  color: var(--lp24-gray-800);
  text-decoration: none;
  transition: color .15s;
}
.lp24-rss__item-link:hover { color: var(--lp24-brand); }

.lp24-rss__item-meta {
  font-size: .775rem;
  color: var(--lp24-gray-400);
  margin: 0 0 .5rem;
}
.lp24-rss__item-author { color: var(--lp24-gray-500); }

.lp24-rss__item-desc {
  font-size: .875rem;
  color: var(--lp24-gray-600);
  line-height: 1.65;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lp24-related { margin: 0; padding: 0; list-style: none; }

.lp24-related li {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin: 0;
  padding: .55rem 0;
  border-bottom: 1px dotted var(--lp24-gray-300);
}
.lp24-related li:first-child { padding-top: 0; }
.lp24-related li:last-child  { border-bottom: none; padding-bottom: 0; }

.lp24-related li::before {
  content: "";
  flex-shrink: 0;
  width: 7px; height: 7px;
  margin-top: .3rem;
  background: var(--lp24-brand);
  border-radius: 1px;
}

.lp24-related a {
  font-size: .875rem;
  line-height: 1.4;
  color: var(--lp24-gray-700);
  text-decoration: none;
  transition: color .15s;
}
.lp24-related a:hover { color: var(--lp24-brand); }

.lp24-news-dl { margin: 0; padding: 0; }

.lp24-news-dl dt {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .7rem;
  font-weight: 600;
  color: var(--lp24-gray-400);
  padding: .65rem 0 .15rem;
  border-top: 1px dotted var(--lp24-gray-300);
}
.lp24-news-dl dt:first-child { border-top: none; padding-top: 0; }

/* Oranges Quadrat vor dem Datum */
.lp24-news-dl dt::before {
  content: "";
  flex-shrink: 0;
  width: 6px; height: 6px;
  background: var(--lp24-brand);
  border-radius: 1px;
}

.lp24-news-dl dd {
  margin: 0 0 .15rem;
  padding-left: 1rem;   /* unter dem Datum eingerückt, fluchtet hinter dem Quadrat */
}
.lp24-news-dl dd a {
  font-size: .875rem;
  line-height: 1.4;
  color: var(--lp24-gray-700);
  text-decoration: none;
  transition: color .15s;
}
.lp24-news-dl dd a:hover { color: var(--lp24-brand); }