/* LMCD – nur projektspezifische Gestaltung. Bootstrap-Basis NICHT duplizieren. */
:root {
  --lmcd-green: #315c3d;
  --lmcd-green-dark: #23472e;
  --lmcd-orange: #e58a25;
  --lmcd-surface: #f3f4f1;
}
/* TYPO3 Bootstrap Package liefert bereits Header, Navigation, Buttons, Cards und Grid.
   Original-Logo und gewünschte Grundfarben zunächst in Site Settings hinterlegen.
   Nur eigenständige redaktionelle Akzentklassen sind hier ergänzt. */
.lmcd-intro { border-left: .3rem solid var(--lmcd-orange); padding-left: 1.25rem; }
.lmcd-accent { color: var(--lmcd-green); }
.lmcd-highlight { background: var(--lmcd-surface); border-radius: .5rem; }
.lmcd-contact-band { border-top: .25rem solid var(--lmcd-orange); }
@media (prefers-reduced-motion: reduce) {
  .lmcd-intro, .lmcd-highlight, .lmcd-contact-band { scroll-behavior: auto; }
}

/* Desktop-Navigation: Bootstrap Package bleibt fuer Menues, Dropdowns, Hover und Active zustaendig.
   LMCD ergaenzt nur die fuenf Originalsymbole und etwas mehr horizontalen Abstand.
   Die PNGs werden in ihrer nativen Pixelgroesse dargestellt und NICHT hochskaliert,
   damit sie nicht weich/unscharf wirken. */
@media (min-width: 992px) {
  .navbar-mainnavigation .navbar-nav > .nav-item > .nav-link:is(
    [href$="/leistungen"], [href$="/leistungen/"],
    [href$="/entsorgung"], [href$="/entsorgung/"],
    [href$="/behaelter"], [href$="/behaelter/"],
    [href$="/unternehmen"], [href$="/unternehmen/"],
    [href$="/kontakt"], [href$="/kontakt/"]
  ) {
    padding-top: 4.65rem;
    padding-left: 1.45rem;
    padding-right: 1.45rem;
    background-repeat: no-repeat;
    background-position: center .55rem;
    text-align: center;
  }

  .navbar-mainnavigation .navbar-nav > .nav-item > .nav-link:is([href$="/leistungen"], [href$="/leistungen/"]) {
    background-image: url("../Images/Navigation/leistungen.png");
    background-size: 68px 41px;
  }
  .navbar-mainnavigation .navbar-nav > .nav-item > .nav-link:is([href$="/entsorgung"], [href$="/entsorgung/"]) {
    background-image: url("../Images/Navigation/entsorgung.png");
    background-size: 55px 53px;
  }
  .navbar-mainnavigation .navbar-nav > .nav-item > .nav-link:is([href$="/behaelter"], [href$="/behaelter/"]) {
    background-image: url("../Images/Navigation/behaelter.png");
    background-size: 60px 54px;
  }
  .navbar-mainnavigation .navbar-nav > .nav-item > .nav-link:is([href$="/unternehmen"], [href$="/unternehmen/"]) {
    background-image: url("../Images/Navigation/unternehmen.png");
    background-size: 48px 54px;
  }
  .navbar-mainnavigation .navbar-nav > .nav-item > .nav-link:is([href$="/kontakt"], [href$="/kontakt/"]) {
    background-image: url("../Images/Navigation/kontakt.png");
    background-size: 53px 48px;
  }
}


/* Version 1.0.7 – Logo-Feinpositionierung.
   Bootstrap Package rendert und skaliert das Logo; LMCD verschiebt es auf Desktop nur optisch etwas nach unten. */
@media (min-width: 992px) {
  .navbar-mainnavigation .navbar-brand {
    transform: translateY(14px);
  }
}

/* Version 1.0.15 – Startseiten-Carousel.
   Exakt auf das Markup des Bootstrap Package 16 abgestimmt.
   Bootstrap Package bleibt fuer Autoplay, Controls und Slide-Verlinkung zustaendig. */

/* Kompakte Headerhoehe. */
.carousel.carousel-fade .carousel-item {
  height: 400px;
  min-height: 0 !important;
}
.carousel .carousel-backgroundimage-container {
  height: 100%;
  min-height: 0 !important;
  background-size: cover;
  background-position: center center;
}

/* Slider-Indikator-Striche ausblenden. */
.carousel > .carousel-indicators {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Gesamter Slide anklickbar, Bootstrap-Controls bleiben darueber. */
.carousel .carousel-item {
  position: relative;
}
.carousel .carousel-content-link,
.carousel .carousel-content-link:hover,
.carousel .carousel-content-link:focus {
  color: inherit;
  text-decoration: none;
}
.carousel .carousel-content-link {
  position: static;
}
.carousel .carousel-content-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}
.carousel .carousel-control-prev,
.carousel .carousel-control-next {
  z-index: 4;
}

/* Text fuer ALLE Slides auf identischer vertikaler Position.
   Unterschiedlich lange Titel duerfen umbrechen, verschieben den Block aber nicht mehr nach unten. */
.carousel .carousel-content {
  position: absolute;
  inset: 0;
  display: block;
  padding: 0;
}
.carousel .carousel-content-inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.carousel .carousel-text-inner {
  position: absolute;
  left: 50%;
  top: 64%;
  transform: translate(-50%, -50%);
  width: min(94%, 1100px);
  text-align: center;
}
.carousel .carousel-text-inner .carousel-header {
  display: table;
  width: auto;
  max-width: 94%;
  margin: 0 auto .35rem !important;
  padding: .12em .24em;
  background: rgba(255,255,255,.94);
  color: #F58221 !important;
  font-size: clamp(2rem, 3.1vw, 3.45rem) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
.carousel .carousel-text-inner .carousel-subheader {
  display: table;
  width: auto;
  max-width: 92%;
  margin: 0 auto !important;
  padding: .08em .22em;
  background: rgba(255,255,255,.94);
  color: #18A675 !important;
  font-size: clamp(1.35rem, 1.9vw, 2.05rem) !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  text-shadow: none !important;
}

@media (max-width: 1199.98px) {
  .carousel.carousel-fade .carousel-item { height: 360px; }
  .carousel .carousel-text-inner { top: 63%; }
}
@media (max-width: 767.98px) {
  .carousel.carousel-fade .carousel-item { height: 300px; }
  .carousel .carousel-text-inner {
    top: 61%;
    width: 94%;
  }
  .carousel .carousel-text-inner .carousel-header {
    max-width: 96%;
    font-size: clamp(1.55rem, 7vw, 2.2rem) !important;
  }
  .carousel .carousel-text-inner .carousel-subheader {
    max-width: 96%;
    font-size: clamp(1.05rem, 5vw, 1.45rem) !important;
  }
}

/* Version 1.0.17 – Startseite: Öffnungszeiten + Recyclinghof-Karten.
   Aufbau bleibt Bootstrap Package: normales Text-Element + Card Group.
   Das Sitepackage ergänzt ausschließlich den LMCD-Look. */

/* Öffnungszeiten – moderner Hinweisbalken statt flacher Infobox. */
.frame-lmcd-opening-hours {
  margin-top: 0;
  margin-bottom: clamp(1.1rem, 2vw, 1.8rem);
}
.frame-lmcd-opening-hours .frame-inner {
  position: relative;
  overflow: hidden;
  max-width: 920px;
  margin-inline: auto;
  padding: clamp(.85rem, 1.6vw, 1.15rem) clamp(1.15rem, 3vw, 2.4rem);
  border: 1px solid rgba(24,166,117,.22);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(24,166,117,.10), rgba(24,166,117,.045));
  box-shadow: 0 .75rem 2rem rgba(27,54,39,.07);
  text-align: center;
}
.frame-lmcd-opening-hours .frame-inner::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .35rem;
  background: #F58221;
}
.frame-lmcd-opening-hours .frame-inner :is(p,h2,h3,h4) {
  margin: 0;
}
.frame-lmcd-opening-hours .frame-inner p {
  color: #315c3d;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.45;
  font-weight: 500;
}
.frame-lmcd-opening-hours .frame-inner strong {
  color: #F58221;
  font-weight: 600;
}


/* Öffnungszeiten direkt an den Carousel-Abschluss ziehen.
   Bootstrap Package erzeugt für das folgende Inhaltselement eine Section mit eigenem oberen Abstand. */
#page-content .carousel + .section:has(.frame-lmcd-opening-hours),
#page-content .carousel + .section-default:has(.frame-lmcd-opening-hours) {
  padding-top: .5rem !important;
  margin-top: 0 !important;
}

@media (max-width: 767.98px) {
  .frame-lmcd-opening-hours .frame-inner {
    max-width: calc(100% - 1.5rem);
  }
}

/* Zwei Recyclinghof-Karten. Bootstrap liefert Card/Grid; hier nur LMCD-Veredelung. */
.frame-lmcd-yard-grid {
  margin-bottom: clamp(3rem, 6vw, 5.5rem);
}
.frame-lmcd-yard-grid .card-group,
.frame-lmcd-yard-grid .row {
  gap: clamp(1.25rem, 2.5vw, 2rem);
}
.frame-lmcd-yard-grid .card {
  position: relative;
  overflow: hidden;
  height: 100%;
  border: 0;
  border-radius: 1.05rem;
  background: #fff;
  box-shadow: 0 .65rem 1.8rem rgba(27,54,39,.10);
  transition: transform .28s ease, box-shadow .28s ease;
}
.frame-lmcd-yard-grid .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 1rem 2.5rem rgba(27,54,39,.16);
}
.frame-lmcd-yard-grid .card-img-top,
.frame-lmcd-yard-grid .card picture,
.frame-lmcd-yard-grid .card figure {
  overflow: hidden;
  margin: 0;
}
.frame-lmcd-yard-grid .card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .45s ease;
}
.frame-lmcd-yard-grid .card:hover img {
  transform: scale(1.045);
}
.frame-lmcd-yard-grid .card-body {
  position: relative;
  padding: 1.35rem 1.45rem 1.5rem;
  border-top: 3px solid #18A675;
}
.frame-lmcd-yard-grid .card-title,
.frame-lmcd-yard-grid .card-header {
  margin-bottom: .45rem;
  color: #315c3d;
  font-size: clamp(1.2rem, 1.8vw, 1.45rem);
  font-weight: 600;
}
.frame-lmcd-yard-grid .card-text,
.frame-lmcd-yard-grid .card-body p {
  margin-bottom: 0;
  color: #4c5e52;
  line-height: 1.55;
}
.frame-lmcd-yard-grid .card a:not(.btn) {
  color: #18A675;
  font-weight: 600;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}
.frame-lmcd-yard-grid .card .btn {
  margin-top: 1rem;
}

@media (max-width: 767.98px) {
  .frame-lmcd-opening-hours .frame-inner {
    border-radius: .85rem;
    text-align: left;
  }
  .frame-lmcd-opening-hours .frame-inner p {
    font-size: 1.15rem;
  }
  .frame-lmcd-yard-grid .card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .frame-lmcd-yard-grid .card,
  .frame-lmcd-yard-grid .card img {
    transition: none;
  }
}


/* Version 1.0.19 – Startseite: Öffnungszeiten mit Bildern als EIN Standard-Element.
   Bootstrap Package liefert "Text & Images" inkl. Responsive Images.
   LMCD ergänzt nur die projektspezifische Optik. */
.frame-lmcd-hours-feature {
  margin-top: 0;
  margin-bottom: clamp(2.75rem, 5vw, 4.75rem);
  background: #fbf5e8;
}
.frame-lmcd-hours-feature .frame-inner {
  max-width: 1120px;
  margin-inline: auto;
  padding: .8rem clamp(1rem, 2.5vw, 2rem) 0;
}

/* Öffnungszeiten: schmaler Hinweis direkt über den Bildern, wie auf der alten Seite. */
.frame-lmcd-hours-feature .textmedia-text {
  width: min(100%, 860px);
  margin: 0 auto clamp(1rem, 2vw, 1.35rem);
  padding: .8rem 1.25rem .9rem;
  border: 1px solid rgba(24,166,117,.22);
  border-radius: .45rem;
  background: #dff1df;
  text-align: center;
}
.frame-lmcd-hours-feature .textmedia-text > * {
  text-align: center;
}
.frame-lmcd-hours-feature .textmedia-text h1,
.frame-lmcd-hours-feature .textmedia-text h2,
.frame-lmcd-hours-feature .textmedia-text h3,
.frame-lmcd-hours-feature .textmedia-text .element-header {
  margin: 0 0 .2rem;
  color: #F58221 !important;
  font-size: clamp(1.65rem, 2.5vw, 2.15rem) !important;
  line-height: 1.12;
  font-weight: 400;
}
.frame-lmcd-hours-feature .textmedia-text p {
  margin: .12rem 0;
  color: #F58221;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.25;
  font-weight: 400;
}
.frame-lmcd-hours-feature .textmedia-text strong {
  color: inherit;
  font-weight: 500;
}
.frame-lmcd-hours-feature .textmedia-text a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-left: .35rem;
  color: #18A675;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  transition: color .2s ease;
}
.frame-lmcd-hours-feature .textmedia-text a::after {
  content: "→";
}
.frame-lmcd-hours-feature .textmedia-text a:hover,
.frame-lmcd-hours-feature .textmedia-text a:focus-visible {
  color: #0f7f5b;
}

/* Bildpaar darunter: modern, aber ruhig und nicht nach Standard-Card. */
.frame-lmcd-hours-feature .textmedia-gallery,
.frame-lmcd-hours-feature .gallery {
  margin: 0;
}
.frame-lmcd-hours-feature .gallery-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.9rem, 1.8vw, 1.35rem);
  align-items: stretch;
}
.frame-lmcd-hours-feature .gallery-item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
.frame-lmcd-hours-feature figure,
.frame-lmcd-hours-feature .image {
  position: relative;
  overflow: hidden;
  height: 100%;
  margin: 0;
  border-radius: .9rem;
  background: #eef2ee;
  box-shadow: 0 .65rem 1.7rem rgba(34,71,46,.10);
}
.frame-lmcd-hours-feature img {
  display: block;
  width: 100%;
  height: clamp(285px, 27vw, 420px);
  object-fit: cover;
  transition: transform .45s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}
.frame-lmcd-hours-feature figure::after,
.frame-lmcd-hours-feature .image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(49,92,61,.10);
  border-radius: inherit;
}
.frame-lmcd-hours-feature .gallery-item:hover img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.02);
}

@media (max-width: 767.98px) {
  .frame-lmcd-hours-feature .frame-inner {
    padding-top: .55rem;
  }
  .frame-lmcd-hours-feature .textmedia-text {
    width: 100%;
    margin-bottom: .85rem;
    padding: .7rem .85rem .8rem;
  }
  .frame-lmcd-hours-feature .textmedia-text h1,
  .frame-lmcd-hours-feature .textmedia-text h2,
  .frame-lmcd-hours-feature .textmedia-text h3,
  .frame-lmcd-hours-feature .textmedia-text .element-header {
    font-size: 1.6rem !important;
  }
  .frame-lmcd-hours-feature .textmedia-text p {
    font-size: 1.15rem;
  }
  .frame-lmcd-hours-feature .gallery-row {
    grid-template-columns: 1fr;
  }
  .frame-lmcd-hours-feature img {
    height: clamp(230px, 66vw, 340px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .frame-lmcd-hours-feature img {
    transition: none;
  }
}


/* Version 1.0.20 – Startseite: Öffnungszeiten als bewusstes HTML-Komposit.
   Bootstrap liefert Container/Grid, LMCD ergänzt nur die projektspezifische Gestaltung. */
.lmcd-hours-showcase{
  width:100%;
  background:#fff;
  padding:clamp(1.25rem,2.5vw,2rem) 0 clamp(3rem,6vw,5rem);
}
.lmcd-hours-showcase__inner{
  max-width:1120px;
}
.lmcd-hours-showcase__bar{
  width:min(100%,860px);
  margin:0 auto clamp(1.1rem,2vw,1.5rem);
  padding:.8rem 1.25rem .9rem;
  border:1px solid rgba(24,166,117,.24);
  border-radius:.5rem;
  background:#dff1df;
  text-align:center;
}
.lmcd-hours-showcase__bar h2{
  margin:0 0 .15rem;
  color:#f58221;
  font-size:clamp(1.55rem,2.3vw,2rem);
  line-height:1.1;
  font-weight:400;
}
.lmcd-hours-showcase__bar p{
  margin:.1rem 0;
  color:#f58221;
  font-size:clamp(1.15rem,1.8vw,1.55rem);
  line-height:1.25;
}
.lmcd-hours-showcase__bar strong{font-weight:600;}
.lmcd-hours-showcase__bar a{
  color:#18a675;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  text-underline-offset:.16em;
}
.lmcd-hours-showcase__bar a:hover,
.lmcd-hours-showcase__bar a:focus-visible{color:#0f7f5b;}
.lmcd-hours-showcase__media{
  margin-top:0;
}
.lmcd-hours-showcase__figure{
  position:relative;
  overflow:hidden;
  margin:0;
  border-radius:1rem;
  background:#eef2ee;
  box-shadow:0 .75rem 2rem rgba(34,71,46,.10);
}
.lmcd-hours-showcase__figure::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(49,92,61,.10);
  border-radius:inherit;
  pointer-events:none;
}
.lmcd-hours-showcase__figure img{
  display:block;
  width:100%;
  height:clamp(280px,28vw,420px);
  object-fit:cover;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.lmcd-hours-showcase__figure--left img{object-position:center center;}
.lmcd-hours-showcase__figure--right img{object-position:center center;}
.lmcd-hours-showcase__figure:hover img{
  transform:scale(1.035);
  filter:saturate(1.04) contrast(1.02);
}
@media (max-width:767.98px){
  .lmcd-hours-showcase{padding-top:1rem;}
  .lmcd-hours-showcase__bar{
    width:100%;
    padding:.7rem .9rem .8rem;
  }
  .lmcd-hours-showcase__bar h2{font-size:1.5rem;}
  .lmcd-hours-showcase__bar p{font-size:1.05rem;}
  .lmcd-hours-showcase__figure img{height:clamp(230px,68vw,340px);}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-hours-showcase__figure img{transition:none;}
}


/* Version 1.0.21 – Startseite: Leistungsübersicht.
   Bootstrap Package liefert Card Group/Grid und Card-Markup.
   LMCD ergänzt nur Hintergrund, Typografie und Interaktion. */
.frame-lmcd-services{
  position:relative;
  overflow:hidden;
  margin:0;
  padding:clamp(3.25rem,6vw,5.75rem) 0;
  background:
    radial-gradient(circle at 8% 10%,rgba(245,130,33,.08),transparent 28rem),
    linear-gradient(180deg,#fbf7ee 0%,#fff 56%,#f7faf7 100%);
}
.frame-lmcd-services::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(88%,1120px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(49,92,61,.22),transparent);
}
.frame-lmcd-services .frame-inner{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin-inline:auto;
}
.frame-lmcd-services .frame-header{
  max-width:760px;
  margin:0 auto clamp(2rem,4vw,3.1rem);
  text-align:center;
}
.frame-lmcd-services .frame-header .element-header,
.frame-lmcd-services .frame-header h1,
.frame-lmcd-services .frame-header h2,
.frame-lmcd-services .frame-header h3{
  margin-bottom:.65rem;
  color:#315c3d;
  font-size:clamp(2rem,3.6vw,3.15rem);
  line-height:1.08;
  font-weight:600;
}
.frame-lmcd-services .frame-header .element-header::after,
.frame-lmcd-services .frame-header h1::after,
.frame-lmcd-services .frame-header h2::after,
.frame-lmcd-services .frame-header h3::after{
  content:"";
  display:block;
  width:4.5rem;
  height:.22rem;
  margin:.8rem auto 0;
  border-radius:999px;
  background:#f58221;
}

/* Bootstrap kann Card Group oder Grid/Columns ausgeben – beides wird nur optisch veredelt. */
.frame-lmcd-services .card-group,
.frame-lmcd-services .row{
  row-gap:clamp(1.25rem,2.4vw,1.8rem);
}
.frame-lmcd-services .card{
  position:relative;
  overflow:hidden;
  height:100%;
  border:1px solid rgba(49,92,61,.10);
  border-radius:1.15rem;
  background:rgba(255,255,255,.96);
  box-shadow:0 .7rem 2rem rgba(35,71,46,.08);
  isolation:isolate;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.frame-lmcd-services .card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.32rem;
  background:linear-gradient(90deg,#f58221 0 28%,#18a675 28% 100%);
  z-index:3;
}
.frame-lmcd-services .card::after{
  content:"";
  position:absolute;
  width:9rem;
  height:9rem;
  right:-4.5rem;
  bottom:-5rem;
  border-radius:50%;
  background:rgba(24,166,117,.055);
  z-index:-1;
  transition:transform .35s ease,background .35s ease;
}
.frame-lmcd-services .card:hover{
  transform:translateY(-7px);
  border-color:rgba(24,166,117,.24);
  box-shadow:0 1.15rem 2.8rem rgba(35,71,46,.14);
}
.frame-lmcd-services .card:hover::after{
  transform:scale(1.32);
  background:rgba(24,166,117,.085);
}

/* Falls die redaktionellen Cards Bilder bekommen: ruhig, hochwertig, nicht plakativ. */
.frame-lmcd-services .card-img-top,
.frame-lmcd-services .card picture,
.frame-lmcd-services .card figure{
  overflow:hidden;
  margin:0;
}
.frame-lmcd-services .card img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.frame-lmcd-services .card:hover img{
  transform:scale(1.045);
  filter:saturate(1.04) contrast(1.02);
}
.frame-lmcd-services .card-body{
  display:flex;
  flex-direction:column;
  padding:clamp(1.35rem,2.2vw,1.75rem) clamp(1.3rem,2.2vw,1.65rem) clamp(1.5rem,2.5vw,1.9rem);
}
.frame-lmcd-services .card-title,
.frame-lmcd-services .card-header,
.frame-lmcd-services .card-body :is(h2,h3,h4,h5){
  margin:0 0 .7rem;
  color:#f58221;
  font-size:clamp(1.3rem,1.9vw,1.65rem);
  line-height:1.15;
  font-weight:650;
}
.frame-lmcd-services .card-text,
.frame-lmcd-services .card-body p{
  color:#34483b;
  font-size:1.04rem;
  line-height:1.62;
}
.frame-lmcd-services .card-body p:last-of-type{
  margin-bottom:0;
}
.frame-lmcd-services .card-body .btn{
  align-self:flex-start;
  margin-top:auto;
  padding-top:.85rem;
}
.frame-lmcd-services .card a:not(.btn){
  color:#197b5a;
  font-weight:600;
  text-decoration-thickness:.08em;
  text-underline-offset:.2em;
}
.frame-lmcd-services .card .btn{
  border-radius:999px;
}

/* Leichte Rhythmik statt sechs identischer 08/15-Kacheln. */
@media (min-width:992px){
  .frame-lmcd-services .card-group > :nth-child(2),
  .frame-lmcd-services .row > :nth-child(2),
  .frame-lmcd-services .card-group > :nth-child(5),
  .frame-lmcd-services .row > :nth-child(5){
    transform:translateY(.55rem);
  }
  .frame-lmcd-services .card-group > :nth-child(2):hover,
  .frame-lmcd-services .row > :nth-child(2):hover,
  .frame-lmcd-services .card-group > :nth-child(5):hover,
  .frame-lmcd-services .row > :nth-child(5):hover{
    transform:translateY(calc(.55rem - 7px));
  }
}

@media (max-width:767.98px){
  .frame-lmcd-services{
    padding:2.75rem 0 3.25rem;
  }
  .frame-lmcd-services .frame-header{
    margin-bottom:1.65rem;
  }
  .frame-lmcd-services .card:hover{
    transform:none;
  }
  .frame-lmcd-services .card-body{
    padding:1.25rem 1.2rem 1.45rem;
  }
}
@media (prefers-reduced-motion:reduce){
  .frame-lmcd-services .card,
  .frame-lmcd-services .card::after,
  .frame-lmcd-services .card img{
    transition:none;
  }
}


/* Version 1.0.22 – Startseite: redaktionelle Neuigkeiten ohne EXT:news.
   Bootstrap Package liefert Card Group/Grid und Card-Markup; LMCD ergänzt nur die Optik. */
.frame-lmcd-news{
  position:relative;
  overflow:hidden;
  margin:0;
  padding:clamp(3.2rem,5.5vw,5rem) 0 clamp(3.6rem,6vw,5.5rem);
  background:
    radial-gradient(circle at 88% 16%,rgba(245,130,33,.07),transparent 24rem),
    linear-gradient(180deg,#fbf4e6 0%,#fffaf2 100%);
}
.frame-lmcd-news .frame-inner{
  max-width:1180px;
  margin-inline:auto;
}
.frame-lmcd-news .frame-header{
  max-width:760px;
  margin:0 auto clamp(2rem,4vw,3rem);
  text-align:center;
}
.frame-lmcd-news .frame-header .element-header,
.frame-lmcd-news .frame-header :is(h1,h2,h3){
  margin:0;
  color:#f58221;
  font-size:clamp(2rem,3.5vw,3rem);
  line-height:1.08;
  font-weight:500;
}
.frame-lmcd-news .frame-header .element-header::after,
.frame-lmcd-news .frame-header :is(h1,h2,h3)::after{
  content:"";
  display:block;
  width:4rem;
  height:.2rem;
  margin:.8rem auto 0;
  border-radius:999px;
  background:#18a675;
}
.frame-lmcd-news .card-group,
.frame-lmcd-news .row{
  row-gap:1.6rem;
}
.frame-lmcd-news .card{
  position:relative;
  overflow:hidden;
  height:100%;
  border:1px solid rgba(49,92,61,.10);
  border-radius:1.05rem;
  background:#fff;
  box-shadow:0 .8rem 2.2rem rgba(49,92,61,.08);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.frame-lmcd-news .card:hover{
  transform:translateY(-7px);
  border-color:rgba(24,166,117,.24);
  box-shadow:0 1.2rem 3rem rgba(49,92,61,.14);
}
.frame-lmcd-news .card-img-top,
.frame-lmcd-news .card picture,
.frame-lmcd-news .card figure{
  overflow:hidden;
  margin:0;
  background:#f5f2eb;
}
.frame-lmcd-news .card img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .48s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.frame-lmcd-news .card:hover img{
  transform:scale(1.04);
  filter:saturate(1.04) contrast(1.02);
}
.frame-lmcd-news .card-header,
.frame-lmcd-news .card-title,
.frame-lmcd-news .card-body :is(h2,h3,h4,h5){
  margin:0;
  color:#fff;
  background:#18a675;
  font-size:clamp(1.18rem,1.7vw,1.45rem);
  line-height:1.25;
  font-weight:650;
  padding:1rem 1.25rem;
}
.frame-lmcd-news .card-body{
  display:flex;
  flex-direction:column;
  padding:1.25rem 1.3rem 1.4rem;
}
.frame-lmcd-news .card-body .card-title{
  margin:-1.25rem -1.3rem 1.1rem;
}
.frame-lmcd-news .card-text,
.frame-lmcd-news .card-body p{
  color:#31443a;
  font-size:1.02rem;
  line-height:1.58;
}
.frame-lmcd-news .card-body .btn{
  align-self:flex-start;
  margin-top:auto;
  padding:.65rem 1rem;
  border-color:#f58221;
  border-radius:.55rem;
  background:#f58221;
  color:#fff;
  font-weight:600;
  box-shadow:none;
}
.frame-lmcd-news .card-body .btn:hover,
.frame-lmcd-news .card-body .btn:focus-visible{
  border-color:#df741a;
  background:#df741a;
  color:#fff;
}
.frame-lmcd-news .card a:not(.btn){
  color:#197b5a;
  font-weight:600;
}
@media (min-width:992px){
  .frame-lmcd-news .card-group > *,
  .frame-lmcd-news .row > *{
    display:flex;
  }
  .frame-lmcd-news .card-group > * > .card,
  .frame-lmcd-news .row > * > .card{
    width:100%;
  }
}
@media (max-width:767.98px){
  .frame-lmcd-news{
    padding:2.7rem 0 3.2rem;
  }
  .frame-lmcd-news .card:hover{
    transform:none;
  }
}
@media (prefers-reduced-motion:reduce){
  .frame-lmcd-news .card,
  .frame-lmcd-news .card img{
    transition:none;
  }
}

/* =========================================================
   LMCD 1.0.24 – Neuigkeiten / Bootstrap Package Card Group
   Bootstrap bleibt für Card Group, Grid, Bilder und Buttons zuständig.
   Hier nur die projektspezifische Darstellung wie auf der Altseite.
   ========================================================= */
.frame-lmcd-news{
  margin:0;
  padding:clamp(2.8rem,5vw,4.3rem) 0 clamp(3.5rem,6vw,5rem);
  background:#fbf4e6;
}
.frame-lmcd-news > .frame-inner,
.frame-lmcd-news .frame-inner{
  max-width:860px !important;
  margin-inline:auto !important;
}
.frame-lmcd-news .frame-header{
  margin:0 auto 1.8rem;
  text-align:center;
}
.frame-lmcd-news .frame-header .element-header,
.frame-lmcd-news .frame-header :is(h1,h2,h3){
  margin:0;
  color:#f58221 !important;
  font-size:clamp(2rem,3.4vw,2.8rem) !important;
  line-height:1.1;
  font-weight:400;
}
.frame-lmcd-news .frame-header .element-header::after,
.frame-lmcd-news .frame-header :is(h1,h2,h3)::after{
  display:none !important;
}

/* Card Group: zwei ruhige Spalten, nicht über die ganze Seitenbreite. */
.frame-lmcd-news .card-group,
.frame-lmcd-news .row{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.85rem !important;
  align-items:stretch;
  margin:0 !important;
}
.frame-lmcd-news .card-group > *,
.frame-lmcd-news .row > *{
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  display:flex;
}
.frame-lmcd-news .card{
  display:flex !important;
  flex-direction:column;
  width:100%;
  min-width:0;
  height:100%;
  overflow:hidden;
  border:1px solid #d9d9d9 !important;
  border-radius:.35rem !important;
  background:#fff !important;
  box-shadow:0 .55rem 1.4rem rgba(32,47,38,.07) !important;
  transition:transform .25s ease,box-shadow .25s ease;
}
.frame-lmcd-news .card:hover{
  transform:translateY(-4px);
  box-shadow:0 .9rem 2rem rgba(32,47,38,.12) !important;
}

/* Medienbereich. Normale Newsbilder kompakt, PDF-Vorschau vollständig. */
.frame-lmcd-news .card > a:first-child,
.frame-lmcd-news .card .card-img-top,
.frame-lmcd-news .card figure,
.frame-lmcd-news .card picture,
.frame-lmcd-news .card .image{
  display:block;
  width:100%;
  margin:0 !important;
  overflow:hidden;
  background:#fff;
}
.frame-lmcd-news .card img{
  display:block;
  width:100% !important;
  height:220px !important;
  margin:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  border:0 !important;
  border-radius:0 !important;
  transition:transform .4s ease;
}
.frame-lmcd-news .card:hover img{
  transform:scale(1.025);
}
.frame-lmcd-news .card img[src*="annahmebedingungen_mineralwolle_vorschau"]{
  height:465px !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:top center !important;
  background:#fff !important;
  transform:none !important;
}

/* Bootstrap Card-Body bleibt bestehen. */
.frame-lmcd-news .card-body{
  display:flex !important;
  flex:1 1 auto;
  flex-direction:column;
  padding:0 0 1.15rem !important;
  background:#fff !important;
}

/* Titelbalken wie bei LMCD: grün, weiß, klar. */
.frame-lmcd-news .card-title,
.frame-lmcd-news .card-body > :is(h2,h3,h4,h5):first-child,
.frame-lmcd-news .card-header{
  display:block;
  width:100%;
  margin:0 0 1.05rem !important;
  padding:1rem 1.2rem !important;
  border:0 !important;
  border-radius:0 !important;
  background:#18a675 !important;
  color:#fff !important;
  font-size:1.18rem !important;
  line-height:1.28 !important;
  font-weight:600 !important;
  text-transform:uppercase;
}
.frame-lmcd-news .card-title a,
.frame-lmcd-news .card-header a,
.frame-lmcd-news .card-body > :is(h2,h3,h4,h5):first-child a{
  color:#fff !important;
  text-decoration:none !important;
}

/* Texte gut lesbar und mit Luft. */
.frame-lmcd-news .card-text,
.frame-lmcd-news .card-body > p,
.frame-lmcd-news .card-body .textmedia-text,
.frame-lmcd-news .card-body .rte-content{
  margin-left:1.2rem !important;
  margin-right:1.2rem !important;
  color:#252525 !important;
  font-size:1.05rem !important;
  line-height:1.55 !important;
}

/* Footer wie auf der alten Seite: heller Sockel, Button links. */
.frame-lmcd-news .card-footer{
  margin-top:auto !important;
  padding:.85rem 1.2rem !important;
  border-top:1px solid #ddd !important;
  background:#f7f7f7 !important;
}
.frame-lmcd-news .card-body .btn,
.frame-lmcd-news .card-footer .btn,
.frame-lmcd-news .btn{
  align-self:flex-start;
  margin-top:auto;
  padding:.62rem .95rem !important;
  border:1px solid #f58221 !important;
  border-radius:.35rem !important;
  background:#f58221 !important;
  color:#fff !important;
  font-size:1rem !important;
  font-weight:600 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
.frame-lmcd-news .card-body .btn:hover,
.frame-lmcd-news .card-footer .btn:hover,
.frame-lmcd-news .btn:hover,
.frame-lmcd-news .btn:focus-visible{
  border-color:#de741b !important;
  background:#de741b !important;
  color:#fff !important;
}

/* Wenn Bootstrap den Button im Body statt im Footer rendert, optisch Footer erzeugen. */
.frame-lmcd-news .card-body > .btn:last-child,
.frame-lmcd-news .card-body > p:last-child .btn{
  margin:1rem 1.2rem 0 !important;
}

@media (max-width:767.98px){
  .frame-lmcd-news{
    padding:2.5rem 0 3rem;
  }
  .frame-lmcd-news > .frame-inner,
  .frame-lmcd-news .frame-inner{
    max-width:calc(100% - 2rem) !important;
  }
  .frame-lmcd-news .card-group,
  .frame-lmcd-news .row{
    grid-template-columns:1fr;
    gap:1.4rem !important;
  }
  .frame-lmcd-news .card img{
    height:210px !important;
  }
  .frame-lmcd-news .card img[src*="annahmebedingungen_mineralwolle_vorschau"]{
    height:auto !important;
    max-height:none !important;
  }
  .frame-lmcd-news .card:hover{
    transform:none;
  }
}
@media (prefers-reduced-motion:reduce){
  .frame-lmcd-news .card,
  .frame-lmcd-news .card img{
    transition:none;
  }
}


/* =========================================================
   LMCD 1.0.25 – Leistungsübersicht
   Bootstrap Grid bleibt für das Responsive-Raster zuständig.
   Diese Regeln gestalten nur den individuellen LMCD-Inhaltsblock.
   ========================================================= */
.lmcd-service-overview{
  --lmcd-orange:#f58221;
  --lmcd-green:#18a675;
  --lmcd-green-dark:#14795b;
  --lmcd-cream:#fbf4e6;
  --lmcd-text:#252525;
  padding:clamp(3rem,5vw,4.5rem) 0 clamp(3.5rem,6vw,5.2rem);
  background:var(--lmcd-cream);
}
.lmcd-service-overview__intro{
  max-width:980px;
  margin:0 auto clamp(2rem,4vw,3rem);
  text-align:center;
}
.lmcd-service-overview__intro h1{
  margin:0;
  color:var(--lmcd-orange);
  font-size:clamp(2.1rem,3.7vw,3.25rem);
  line-height:1.08;
  font-weight:400;
}
.lmcd-service-overview__grid{
  align-items:stretch;
}
.lmcd-service-column{
  position:relative;
  height:100%;
  padding:clamp(1.9rem,2.6vw,2.35rem) clamp(1.65rem,2.4vw,2.15rem) clamp(1.65rem,2.4vw,2.15rem);
  border:1px solid rgba(24,166,117,.14);
  border-radius:1rem;
  background:#fff;
  box-shadow:0 .55rem 1.6rem rgba(31,58,43,.07);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.lmcd-service-column::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 48%,var(--lmcd-green) 48% 100%);
}
.lmcd-service-column:hover{
  transform:translateY(-3px);
  border-color:rgba(24,166,117,.28);
  box-shadow:0 .8rem 2rem rgba(31,58,43,.10);
}
.lmcd-service-column__label{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin-bottom:.9rem;
  padding:.38rem .7rem;
  border-radius:999px;
  background:rgba(24,166,117,.10);
  color:var(--lmcd-green-dark);
  font-size:.78rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.lmcd-service-column h2{
  margin:0 0 1.35rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.65rem,2.15vw,2.2rem);
  line-height:1.15;
  font-weight:500;
}
.lmcd-service-column h3{
  margin:1.75rem 0 .7rem;
  padding-top:1.45rem;
  border-top:1px solid rgba(24,166,117,.16);
  color:var(--lmcd-green-dark);
  font-size:1.15rem;
  line-height:1.25;
  font-weight:700;
}
.lmcd-service-column h3:first-of-type{
  margin-top:1.35rem;
}
.lmcd-service-column ul{
  margin:0;
  padding-left:1.2rem;
}
.lmcd-service-column li{
  margin:.34rem 0;
  color:var(--lmcd-text);
  font-size:1rem;
  line-height:1.45;
}
.lmcd-service-column li::marker{
  color:var(--lmcd-green);
}
.lmcd-service-column strong{
  color:var(--lmcd-green-dark);
  font-weight:600;
}
.lmcd-service-column p{
  margin:0;
  color:var(--lmcd-text);
  font-size:1rem;
  line-height:1.55;
}
.lmcd-service-column__note{
  margin-top:1.3rem !important;
  padding:.95rem 1rem;
  border-left:3px solid var(--lmcd-orange);
  border-radius:.3rem .65rem .65rem .3rem;
  background:rgba(245,130,33,.055);
  color:#454545 !important;
}
.lmcd-service-column__lead{
  margin:0 0 1.1rem !important;
  color:#3d3d3d !important;
  font-size:1.04rem !important;
}
@media (max-width:991.98px){
  .lmcd-service-overview{
    padding:2.8rem 0 3.6rem;
  }
  .lmcd-service-column{
    padding:1.6rem;
  }
}
@media (max-width:767.98px){
  .lmcd-service-overview{
    padding:2.3rem 0 3rem;
  }
  .lmcd-service-overview__intro{
    margin-bottom:1.6rem;
  }
  .lmcd-service-column{
    border-radius:.85rem;
  }
  .lmcd-service-column:hover{
    transform:none;
  }
}
@media (prefers-reduced-motion:reduce){
  .lmcd-service-column{
    transition:none;
  }
}


/* Version 1.0.28 – Garten und Tiefbaustoffe.
   Bootstrap liefert Container/Grid; Sitepackage nur projektspezifischer LMCD-Look. */
.lmcd-materials {
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding: clamp(3rem,5vw,5rem) 0;
  background: var(--lmcd-cream);
}
.lmcd-materials__intro {
  max-width: 980px;
  margin: 0 0 clamp(2rem,3vw,3rem);
}
.lmcd-materials__intro h1 {
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.1rem,3.3vw,3.3rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-materials__intro p {
  margin:0;
  color:var(--lmcd-text);
  font-size:clamp(1.05rem,1.4vw,1.18rem);
  line-height:1.65;
}
.lmcd-materials__panel {
  position:relative;
  height:100%;
  padding:clamp(1.5rem,2.4vw,2.2rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
}
.lmcd-materials__panel::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.35rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-materials__panel h2 {
  margin:0 0 1.1rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.5rem,2vw,2rem);
  line-height:1.2;
  font-weight:500;
}
.lmcd-materials__lists {
  columns:2;
  column-gap:2rem;
  margin:0;
  padding-left:1.25rem;
}
.lmcd-materials__lists li {
  break-inside:avoid;
  margin:0 0 .55rem;
  color:var(--lmcd-text);
  font-size:1rem;
  line-height:1.45;
}
.lmcd-materials__lists li::marker { color:var(--lmcd-green); }
.lmcd-materials__note {
  margin:1.5rem 0 0;
  padding:1rem 1.15rem;
  border-left:.28rem solid var(--lmcd-orange);
  border-radius:0 .8rem .8rem 0;
  background:rgba(245,130,33,.07);
  color:#454545;
  line-height:1.55;
}
.lmcd-materials__visual {
  position:relative;
  width:100%;
  max-width:360px;
  min-height:0;
  aspect-ratio:4 / 3;
  margin-left:auto;
  overflow:hidden;
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.10);
  background:#fff;
}
.lmcd-materials__visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.lmcd-materials__visual:hover img { transform:scale(1.035); }
.lmcd-materials__badge {
  position:absolute;
  left:1rem;
  bottom:1rem;
  max-width:calc(100% - 2rem);
  padding:.7rem .95rem;
  border-radius:.7rem;
  background:rgba(255,255,255,.94);
  color:var(--lmcd-green-dark);
  font-weight:600;
  box-shadow:0 .35rem 1rem rgba(0,0,0,.10);
}
@media (max-width:991.98px) {
  .lmcd-materials__lists { columns:1; }
  .lmcd-materials__visual {
    max-width:none;
    min-height:320px;
    aspect-ratio:auto;
    margin-top:1.5rem;
    margin-left:0;
  }
}
@media (max-width:767.98px) {
  .lmcd-materials { padding:2.5rem 0 3rem; }
  .lmcd-materials__panel { padding:1.3rem; }
  .lmcd-materials__visual { min-height:260px; }
}
@media (prefers-reduced-motion:reduce) {
  .lmcd-materials__visual img { transition:none; }
  .lmcd-materials__visual:hover img { transform:none; }
}


/* =========================================================
   Version 1.0.30 – Silo-Transporte
   Bootstrap liefert Container/Grid; Sitepackage nur LMCD-Look.
   ========================================================= */
.lmcd-silo{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-silo__content{
  position:relative;
  height:100%;
  padding:clamp(1.6rem,2.8vw,2.5rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
}
.lmcd-silo__content::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.38rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-silo__label{
  display:inline-flex;
  margin:0 0 1rem;
  padding:.42rem .72rem;
  border-radius:999px;
  background:rgba(24,166,117,.10);
  color:var(--lmcd-green-dark);
  font-size:.8rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lmcd-silo h1{
  margin:0 0 1.2rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-silo__content p{
  margin:0 0 1.15rem;
  color:var(--lmcd-text);
  font-size:clamp(1.02rem,1.25vw,1.15rem);
  line-height:1.68;
}
.lmcd-silo__content p:last-child{margin-bottom:0;}
.lmcd-silo__visuals{
  position:relative;
  width:100%;
  max-width:520px;
  min-height:430px;
  margin-left:auto;
}
.lmcd-silo__figure{
  position:absolute;
  margin:0;
  overflow:hidden;
  border-radius:1.15rem;
  background:#fff;
  box-shadow:0 1rem 2.5rem rgba(33,45,38,.12);
}
.lmcd-silo__figure img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease;
}
.lmcd-silo__figure:hover img{transform:scale(1.035);}
.lmcd-silo__figure--main{
  inset:0 4.75rem 3.8rem 0;
}
.lmcd-silo__figure--secondary{
  width:42%;
  height:38%;
  right:0;
  bottom:0;
  border:.4rem solid var(--lmcd-cream);
}
.lmcd-silo__badge{
  position:absolute;
  left:1rem;
  bottom:1rem;
  padding:.65rem .9rem;
  border-radius:.7rem;
  background:rgba(255,255,255,.94);
  color:var(--lmcd-green-dark);
  font-weight:600;
  box-shadow:0 .35rem 1rem rgba(0,0,0,.10);
}
@media (max-width:991.98px){
  .lmcd-silo__visuals{
    max-width:none;
    min-height:0;
    margin-top:1.5rem;
    margin-left:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
  }
  .lmcd-silo__figure{
    position:relative;
    inset:auto;
    width:auto;
    height:300px;
    border:0;
  }
  .lmcd-silo__figure--secondary{right:auto;bottom:auto;}
}
@media (max-width:767.98px){
  .lmcd-silo{padding:2.5rem 0 3rem;}
  .lmcd-silo__content{padding:1.35rem;}
  .lmcd-silo__visuals{grid-template-columns:1fr;}
  .lmcd-silo__figure{height:250px;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-silo__figure img{transition:none;}
  .lmcd-silo__figure:hover img{transform:none;}
}

/* =========================================================
   Version 1.0.32 – Entsorgung und Verwertung
   Bootstrap liefert Container/Grid; Sitepackage nur LMCD-Look.
   ========================================================= */
.lmcd-recycling{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-recycling__intro{
  max-width:1050px;
  margin:0 auto clamp(2.3rem,4vw,3.5rem);
}
.lmcd-recycling__intro h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.4vw,3.4rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-recycling__intro p{
  margin:0 0 1rem;
  color:var(--lmcd-text);
  font-size:clamp(1.02rem,1.3vw,1.15rem);
  line-height:1.65;
}
.lmcd-recycling__intro p:last-child{margin-bottom:0;}
.lmcd-recycling__steps{
  position:relative;
}
.lmcd-recycling__steps::before{
  content:"";
  position:absolute;
  left:16.66%;
  right:16.66%;
  top:2.05rem;
  height:2px;
  background:linear-gradient(90deg,var(--lmcd-orange),var(--lmcd-green));
  opacity:.35;
  z-index:0;
}
.lmcd-recycling-card{
  position:relative;
  height:100%;
  display:grid;
  grid-template-rows:auto 4.3rem 132px 1fr;
  padding:2rem 1.65rem 1.7rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  text-align:center;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
  z-index:1;
}
.lmcd-recycling-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.35rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-recycling-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1.15rem 2.7rem rgba(33,45,38,.11);
}
.lmcd-recycling-card__step{
  display:inline-flex;
  justify-self:center;
  align-items:center;
  justify-content:center;
  min-width:3.1rem;
  height:3.1rem;
  margin:-.55rem auto 1rem;
  padding:0 .9rem;
  border-radius:999px;
  background:#fff;
  border:2px solid var(--lmcd-green);
  color:var(--lmcd-green-dark);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 .35rem 1rem rgba(0,0,0,.06);
}
.lmcd-recycling-card h2{
  min-height:4.3rem;
  margin:0 0 1.05rem;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--lmcd-orange);
  font-size:clamp(1.35rem,1.8vw,1.75rem);
  line-height:1.2;
  font-weight:500;
}
.lmcd-recycling-card__image{
  width:100%;
  height:132px;
  min-height:132px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 1.1rem;
}
.lmcd-recycling-card__image img{
  display:block;
  width:auto;
  height:auto;
  max-width:180px;
  max-height:132px;
  object-fit:contain;
  border-radius:.7rem;
  box-shadow:0 .45rem 1.2rem rgba(0,0,0,.08);
  transition:transform .3s ease;
}
.lmcd-recycling-card:hover .lmcd-recycling-card__image img{transform:scale(1.02);}
.lmcd-recycling-card p{
  margin:0;
  align-self:start;
  color:#3a3a3a;
  font-size:1rem;
  line-height:1.55;
}
.lmcd-recycling-card strong{color:var(--lmcd-green-dark);}
@media (max-width:991.98px){
  .lmcd-recycling__steps::before{display:none;}
  .lmcd-recycling__steps{row-gap:1.25rem;}
}
@media (max-width:767.98px){
  .lmcd-recycling{padding:2.5rem 0 3rem;}
  .lmcd-recycling-card{padding:1.7rem 1.25rem 1.45rem;grid-template-rows:auto auto 132px auto;}
  .lmcd-recycling-card h2{min-height:0;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-recycling-card,
  .lmcd-recycling-card__image img{transition:none;}
  .lmcd-recycling-card:hover,
  .lmcd-recycling-card:hover .lmcd-recycling-card__image img{transform:none;}
}

/* =========================================================
   Version 1.0.34 – Recyclinghof
   Bootstrap liefert Container/Grid; Sitepackage nur LMCD-Look.
   ========================================================= */
.lmcd-yard{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-yard__intro{
  max-width:1080px;
  margin:0 0 clamp(2rem,3vw,3rem);
}
.lmcd-yard__intro h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-yard__intro p{
  margin:0;
  color:var(--lmcd-text);
  font-size:clamp(1.02rem,1.25vw,1.15rem);
  line-height:1.68;
}
.lmcd-yard__grid{align-items:stretch;}
.lmcd-yard-card{
  position:relative;
  height:100%;
  padding:1.6rem 1.55rem 1.7rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.13);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
  display:grid;
  grid-template-rows:auto 7.2rem 1fr;
  align-content:start;
}
.lmcd-yard-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.35rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-yard-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1.15rem 2.7rem rgba(33,45,38,.11);
}
.lmcd-yard-card__label{
  display:inline-flex;
  margin:0 0 1rem;
  padding:.43rem .75rem;
  border-radius:999px;
  background:rgba(24,166,117,.10);
  color:var(--lmcd-green-dark);
  font-size:.78rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lmcd-yard-card h2{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.45rem,2vw,1.9rem);
  line-height:1.2;
  font-weight:500;
  align-self:start;
}
.lmcd-yard-card ul{
  margin:0;
  padding-left:1.2rem;
}
.lmcd-yard-card li{
  margin:0 0 .55rem;
  color:var(--lmcd-text);
  font-size:1rem;
  line-height:1.5;
}
.lmcd-yard-card li::marker{color:var(--lmcd-green);}
.lmcd-yard-card--county{
  border-color:rgba(24,166,117,.24);
  background:linear-gradient(180deg,#fff 0%,rgba(24,166,117,.035) 100%);
}
.lmcd-yard-card--paid{
  border-color:rgba(245,130,33,.20);
  background:linear-gradient(180deg,#fff 0%,rgba(245,130,33,.035) 100%);
}
.lmcd-yard__note{
  margin-top:1.5rem;
  padding:1rem 1.15rem;
  border-left:.28rem solid var(--lmcd-green);
  border-radius:0 .8rem .8rem 0;
  background:rgba(24,166,117,.07);
  color:#454545;
  line-height:1.55;
}
@media (max-width:991.98px){
  .lmcd-yard__grid{row-gap:1.25rem;}
  .lmcd-yard-card{grid-template-rows:auto auto 1fr;}
}
@media (max-width:767.98px){
  .lmcd-yard{padding:2.5rem 0 3rem;}
  .lmcd-yard-card{padding:1.35rem 1.2rem 1.45rem;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-yard-card{transition:none;}
  .lmcd-yard-card:hover{transform:none;}
}

/* =========================================================
   Version 1.0.35 – Einzugsgebiet
   Bootstrap liefert Container/Grid; Sitepackage nur LMCD-Look.
   ========================================================= */
.lmcd-area{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-area__panel{
  position:relative;
  padding:clamp(1.6rem,2.8vw,2.6rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.2rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
}
.lmcd-area__panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.36rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-area__content h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-area__content p{
  margin:0 0 1.15rem;
  color:var(--lmcd-text);
  font-size:clamp(1.02rem,1.25vw,1.15rem);
  line-height:1.68;
}
.lmcd-area__content p:last-child{margin-bottom:0;}
.lmcd-area__hint{
  margin-top:1.35rem;
  padding:1rem 1.1rem;
  border-left:.28rem solid var(--lmcd-green);
  border-radius:0 .8rem .8rem 0;
  background:rgba(24,166,117,.07);
  color:#454545;
}
.lmcd-area__visual{
  height:100%;
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
}
.lmcd-area__map{
  width:min(100%,390px);
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1rem 2.5rem rgba(33,45,38,.10);
  border:1px solid rgba(24,166,117,.13);
  transition:transform .3s ease,box-shadow .3s ease;
}
.lmcd-area__map:hover{
  transform:translateY(-4px);
  box-shadow:0 1.25rem 2.8rem rgba(33,45,38,.14);
}
.lmcd-area__map img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:50%;
}
@media (max-width:991.98px){
  .lmcd-area__visual{min-height:0;padding:1rem 0 0;}
  .lmcd-area__map{width:min(100%,340px);}
}
@media (max-width:767.98px){
  .lmcd-area{padding:2.5rem 0 3rem;}
  .lmcd-area__panel{padding:1.35rem;}
  .lmcd-area__map{width:min(100%,300px);}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-area__map{transition:none;}
  .lmcd-area__map:hover{transform:none;}
}


/* =========================================================
   Version 1.0.36 – Kundeninformationen / PDF-Karten
   Bootstrap liefert Container/Grid; Sitepackage nur LMCD-Look.
   ========================================================= */
.lmcd-downloads{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-downloads__intro{
  max-width:1080px;
  margin:0 0 clamp(2rem,3vw,2.8rem);
}
.lmcd-downloads__intro h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-downloads__intro p{
  margin:0 0 .95rem;
  color:var(--lmcd-text);
  font-size:clamp(1.02rem,1.25vw,1.15rem);
  line-height:1.65;
}
.lmcd-downloads__intro p:last-child{margin-bottom:0;}
.lmcd-downloads__hint{
  color:#555;
  font-style:italic;
}
.lmcd-download-card{
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  background:#fff;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  transition:transform .25s ease,box-shadow .25s ease;
}
.lmcd-download-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.34rem;
  z-index:4;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-download-card:hover{
  transform:translateY(-5px);
  box-shadow:0 1.2rem 2.8rem rgba(33,45,38,.12);
}
.lmcd-download-card__preview{
  position:relative;
  height:330px;
  margin:.9rem .9rem 0;
  overflow:hidden;
  border-radius:.8rem;
  background:#f3f3f3;
  border:1px solid #ececec;
}
.lmcd-download-card__preview iframe,
.lmcd-download-card__preview embed{
  width:100%;
  height:100%;
  display:block;
  border:0;
  pointer-events:none;
}
.lmcd-download-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:1.15rem 1.2rem 1.25rem;
}
.lmcd-download-card__body h2{
  margin:0 0 .55rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.3rem,1.7vw,1.65rem);
  line-height:1.18;
  font-weight:500;
}
.lmcd-download-card__body p{
  margin:0 0 1rem;
  color:#555;
  line-height:1.5;
}
.lmcd-download-card__action{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  padding:.7rem 1rem;
  border-radius:.6rem;
  background:var(--lmcd-orange);
  color:#fff !important;
  font-weight:600;
  text-decoration:none !important;
  transition:transform .2s ease,filter .2s ease;
}
.lmcd-download-card__action:hover{
  transform:translateY(-1px);
  filter:brightness(.96);
}
.lmcd-download-card__overlay{
  position:absolute;
  inset:0;
  z-index:3;
  border-radius:inherit;
}
.lmcd-download-card__overlay:focus-visible{
  outline:3px solid var(--lmcd-green);
  outline-offset:-4px;
}
@media (max-width:991.98px){
  .lmcd-download-card__preview{height:300px;}
}
@media (max-width:767.98px){
  .lmcd-downloads{padding:2.5rem 0 3rem;}
  .lmcd-download-card__preview{height:280px;}
  .lmcd-download-card:hover{transform:none;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-download-card,.lmcd-download-card__action{transition:none;}
}

/* =========================================================
   Version 1.0.37 – Mini-Mulden / Big-Bags / Mülltonnen
   Bootstrap liefert Container/Grid; Sitepackage nur LMCD-Look.
   ========================================================= */
.lmcd-mini{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-mini__intro{
  position:relative;
  margin-bottom:clamp(2rem,4vw,3.5rem);
  padding:clamp(1.5rem,2.6vw,2.4rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
}
.lmcd-mini__intro::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.36rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-mini__intro h1{
  margin:0 0 1.1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.2vw,3.25rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-mini__intro p{
  margin:0 0 1rem;
  color:var(--lmcd-text);
  font-size:clamp(1.02rem,1.2vw,1.12rem);
  line-height:1.65;
}
.lmcd-mini__intro p:last-child{margin-bottom:0;}
.lmcd-mini__crane{
  width:100%;
  max-width:390px;
  min-height:240px;
  margin:0 0 0 auto;
  border-radius:1rem;
  overflow:hidden;
  background:#f2efe6;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lmcd-mini__crane img{
  width:auto;
  height:auto;
  max-width:340px;
  max-height:220px;
  object-fit:contain;
  padding:.75rem;
  transition:transform .35s ease;
}
.lmcd-mini__crane:hover img{transform:scale(1.025);}
.lmcd-mini__grid{align-items:stretch;}
.lmcd-mini-card{
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.1rem;
  overflow:hidden;
  box-shadow:0 .75rem 2rem rgba(33,45,38,.07);
  transition:transform .25s ease,box-shadow .25s ease;
}
.lmcd-mini-card::before{
  content:"";
  height:.32rem;
  flex:0 0 .32rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-mini-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1rem 2.5rem rgba(33,45,38,.11);
}
.lmcd-mini-card__media{
  height:250px;
  padding:1.2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);
}
.lmcd-mini-card__media img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  transition:transform .35s ease;
}
.lmcd-mini-card:hover .lmcd-mini-card__media img{transform:scale(1.035);}
.lmcd-mini-card__body{
  flex:1;
  padding:1.35rem 1.4rem 1.5rem;
  display:flex;
  flex-direction:column;
}
.lmcd-mini-card h2{
  margin:0 0 .75rem;
  min-height:2.7rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.45rem,2vw,1.9rem);
  line-height:1.15;
  font-weight:500;
}
.lmcd-mini-card p{
  margin:0 0 1rem;
  color:var(--lmcd-text);
  line-height:1.55;
}
.lmcd-mini-card__specs{
  margin-top:auto;
  padding-top:1rem;
  border-top:1px solid rgba(24,166,117,.16);
}
.lmcd-mini-card__volume{
  display:inline-block;
  margin:0 0 .65rem;
  padding:.35rem .65rem;
  border-radius:999px;
  background:rgba(24,166,117,.10);
  color:var(--lmcd-green-dark);
  font-weight:700;
}
.lmcd-mini-card__dimensions{
  margin:0;
  color:#4a4a4a;
  font-size:.96rem;
  line-height:1.45;
}
.lmcd-mini-card__dimensions strong{
  display:block;
  margin-bottom:.2rem;
  color:var(--lmcd-green-dark);
}
@media (max-width:991.98px){
  .lmcd-mini__crane{min-height:240px;margin-top:1rem;}
  .lmcd-mini-card__media{height:230px;}
  .lmcd-mini-card h2{min-height:0;}
}
@media (max-width:767.98px){
  .lmcd-mini{padding:2.5rem 0 3rem;}
  .lmcd-mini__intro{padding:1.3rem;}
  .lmcd-mini__crane{min-height:210px;}
  .lmcd-mini-card__media{height:220px;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-mini__crane img,
  .lmcd-mini-card,
  .lmcd-mini-card__media img{transition:none;}
  .lmcd-mini__crane:hover img,
  .lmcd-mini-card:hover,
  .lmcd-mini-card:hover .lmcd-mini-card__media img{transform:none;}
}

/* Version 1.0.38 – Mini-Mulde Bildgröße
   Kleine Originalgrafik nicht unnötig hochskalieren. */
.lmcd-mini-card__media img[src*="Mini-Mulde_copy.png"]{
  max-width:150px;
  max-height:180px;
}
@media (max-width:991.98px){
  .lmcd-mini-card__media img[src*="Mini-Mulde_copy.png"]{
    max-width:140px;
    max-height:170px;
  }
}
@media (max-width:767.98px){
  .lmcd-mini-card__media img[src*="Mini-Mulde_copy.png"]{
    max-width:130px;
    max-height:160px;
  }
}


/* Version 1.0.39 – Mini-Mulde gezielt über erste Produktkarte.
   Unabhängig von TYPO3 _processed_-Bildpfaden. */
.lmcd-mini__grid > [class*="col-"]:first-child .lmcd-mini-card__media img{
    width:auto !important;
    height:auto !important;
    max-width:135px !important;
    max-height:165px !important;
    object-fit:contain !important;
}
@media (max-width:991.98px){
    .lmcd-mini__grid > [class*="col-"]:first-child .lmcd-mini-card__media img{
        max-width:125px !important;
        max-height:155px !important;
    }
}
@media (max-width:767.98px){
    .lmcd-mini__grid > [class*="col-"]:first-child .lmcd-mini-card__media img{
        max-width:115px !important;
        max-height:145px !important;
    }
}

/* Version 1.0.40 – Intro-Kranbild kompakter, damit die kleine Quelldatei nicht unscharf hochskaliert wird. */
@media (max-width:991.98px){
  .lmcd-mini__crane{max-width:none;margin:1rem 0 0;min-height:230px;}
  .lmcd-mini__crane img{max-width:320px;max-height:210px;}
}
@media (max-width:767.98px){
  .lmcd-mini__crane{min-height:210px;}
  .lmcd-mini__crane img{max-width:280px;max-height:190px;padding:.5rem;}
}


/* =========================================================
   Version 1.0.41 – Absetzmulden
   Bootstrap Grid + projektspezifischer LMCD-Look.
   ========================================================= */
.lmcd-skip{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-skip__intro{
  position:relative;
  padding:clamp(1.5rem,2.6vw,2.4rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
}
.lmcd-skip__intro::before,
.lmcd-skip-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.34rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-skip__intro h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-skip__intro p{
  margin:0 0 1rem;
  color:var(--lmcd-text);
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.65;
}
.lmcd-skip__intro p:last-of-type{margin-bottom:0;}
.lmcd-skip__truck{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  min-height:270px;
  padding:1.2rem;
  border-radius:1rem;
  background:rgba(255,255,255,.55);
}
.lmcd-skip__truck img{
  display:block;
  width:auto;
  height:auto;
  max-width:360px;
  max-height:220px;
  object-fit:contain;
}
.lmcd-skip__pdf{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-top:1.35rem;
  padding:.72rem 1rem;
  border-radius:.65rem;
  background:var(--lmcd-orange);
  color:#fff !important;
  font-weight:700;
  text-decoration:none !important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.lmcd-skip__pdf:hover{
  transform:translateY(-2px);
  box-shadow:0 .5rem 1.1rem rgba(245,130,33,.22);
}
.lmcd-skip__grid{margin-top:2rem;}
.lmcd-skip-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  padding:1.5rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.05rem;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.065);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease;
}
.lmcd-skip-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1rem 2.3rem rgba(33,45,38,.10);
}
.lmcd-skip-card h2{
  min-height:3.1rem;
  margin:0 0 .85rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.35rem,1.8vw,1.75rem);
  line-height:1.18;
  font-weight:500;
}
.lmcd-skip-card__spec{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.45rem;
  margin:0 0 1rem;
  padding:.75rem .85rem;
  border-radius:.75rem;
  background:rgba(24,166,117,.07);
}
.lmcd-skip-card__spec span{
  display:block;
  color:var(--lmcd-text);
  font-size:.92rem;
  line-height:1.3;
}
.lmcd-skip-card__spec strong{
  display:block;
  margin-bottom:.2rem;
  color:var(--lmcd-green-dark);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.lmcd-skip-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
  margin-top:auto;
  padding:.5rem;
}
.lmcd-skip-card__media img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:205px;
  object-fit:contain;
  transition:transform .3s ease;
}
.lmcd-skip-card:hover .lmcd-skip-card__media img{transform:scale(1.025);}
@media (max-width:991.98px){
  .lmcd-skip__truck{
    min-height:220px;
    margin-top:1rem;
  }
  .lmcd-skip__truck img{
    max-width:320px;
    max-height:190px;
  }
  .lmcd-skip-card h2{min-height:auto;}
}
@media (max-width:767.98px){
  .lmcd-skip{padding:2.5rem 0 3rem;}
  .lmcd-skip__intro{padding:1.3rem;}
  .lmcd-skip__truck{min-height:190px;}
  .lmcd-skip__truck img{
    max-width:280px;
    max-height:165px;
  }
  .lmcd-skip-card{padding:1.2rem;}
  .lmcd-skip-card__media{min-height:190px;}
  .lmcd-skip-card__media img{max-height:175px;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-skip__pdf,
  .lmcd-skip-card,
  .lmcd-skip-card__media img{transition:none;}
  .lmcd-skip__pdf:hover,
  .lmcd-skip-card:hover{transform:none;}
  .lmcd-skip-card:hover .lmcd-skip-card__media img{transform:none;}
}


/* =========================================================
   Version 1.0.42 – Abrollcontainer
   Bootstrap Grid + projektspezifischer LMCD-Look.
   ========================================================= */
.lmcd-rolloff{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-rolloff__intro{
  position:relative;
  padding:clamp(1.5rem,2.6vw,2.4rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
}
.lmcd-rolloff__intro::before,
.lmcd-rolloff-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.34rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-rolloff__intro h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-rolloff__intro p{
  margin:0 0 1rem;
  color:var(--lmcd-text);
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.65;
}
.lmcd-rolloff__intro p:last-of-type{margin-bottom:0;}
.lmcd-rolloff__truck{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:280px;
  padding:1.15rem;
  border-radius:1rem;
  background:rgba(255,255,255,.55);
}
.lmcd-rolloff__truck img{
  display:block;
  width:auto;
  height:auto;
  max-width:360px;
  max-height:230px;
  object-fit:contain;
}
.lmcd-rolloff__pdf{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-top:1.35rem;
  padding:.72rem 1rem;
  border-radius:.65rem;
  background:var(--lmcd-orange);
  color:#fff !important;
  font-weight:700;
  text-decoration:none !important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.lmcd-rolloff__pdf:hover{
  transform:translateY(-2px);
  box-shadow:0 .5rem 1.1rem rgba(245,130,33,.22);
}
.lmcd-rolloff__grid{margin-top:2rem;}
.lmcd-rolloff-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  padding:1.5rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.05rem;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.065);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease;
}
.lmcd-rolloff-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1rem 2.3rem rgba(33,45,38,.10);
}
.lmcd-rolloff-card h2{
  min-height:3.2rem;
  margin:0 0 .85rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.35rem,1.8vw,1.75rem);
  line-height:1.18;
  font-weight:500;
}
.lmcd-rolloff-card__spec{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.45rem;
  margin:0 0 1rem;
  padding:.75rem .85rem;
  border-radius:.75rem;
  background:rgba(24,166,117,.07);
}
.lmcd-rolloff-card__spec span{
  display:block;
  color:var(--lmcd-text);
  font-size:.92rem;
  line-height:1.3;
}
.lmcd-rolloff-card__spec strong{
  display:block;
  margin-bottom:.2rem;
  color:var(--lmcd-green-dark);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.lmcd-rolloff-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:235px;
  margin-top:auto;
  padding:.6rem;
}
.lmcd-rolloff-card__media img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:210px;
  object-fit:contain;
  transition:transform .3s ease;
}
.lmcd-rolloff-card:hover .lmcd-rolloff-card__media img{transform:scale(1.025);}
@media (min-width:992px){
  .lmcd-rolloff__grid > .col-lg-6:nth-child(5){
    margin-left:auto;
    margin-right:auto;
  }
}
@media (max-width:991.98px){
  .lmcd-rolloff__truck{
    min-height:220px;
    margin-top:1rem;
  }
  .lmcd-rolloff__truck img{
    max-width:320px;
    max-height:195px;
  }
  .lmcd-rolloff-card h2{min-height:auto;}
}
@media (max-width:767.98px){
  .lmcd-rolloff{padding:2.5rem 0 3rem;}
  .lmcd-rolloff__intro{padding:1.3rem;}
  .lmcd-rolloff__truck{min-height:190px;}
  .lmcd-rolloff__truck img{
    max-width:280px;
    max-height:170px;
  }
  .lmcd-rolloff-card{padding:1.2rem;}
  .lmcd-rolloff-card__media{min-height:195px;}
  .lmcd-rolloff-card__media img{max-height:180px;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-rolloff__pdf,
  .lmcd-rolloff-card,
  .lmcd-rolloff-card__media img{transition:none;}
  .lmcd-rolloff__pdf:hover,
  .lmcd-rolloff-card:hover{transform:none;}
  .lmcd-rolloff-card:hover .lmcd-rolloff-card__media img{transform:none;}
}


/* =========================================================
   Version 1.0.43 – Fuhrpark
   Bootstrap Grid + projektspezifischer LMCD-Look.
   ========================================================= */
.lmcd-fleet{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-fleet__panel{
  position:relative;
  padding:clamp(1.5rem,2.6vw,2.4rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
}
.lmcd-fleet__panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.36rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-fleet__content h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-fleet__content p{
  margin:0 0 1.15rem;
  color:var(--lmcd-text);
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.65;
}
.lmcd-fleet__content p:last-child{margin-bottom:0;}
.lmcd-fleet__content h2{
  margin:1.6rem 0 .8rem;
  color:var(--lmcd-green-dark);
  font-size:1.15rem;
  line-height:1.3;
  font-weight:700;
}
.lmcd-fleet__list{
  margin:0;
  padding-left:1.25rem;
}
.lmcd-fleet__list li{
  margin:0 0 .55rem;
  color:var(--lmcd-text);
  line-height:1.45;
}
.lmcd-fleet__list li::marker{color:var(--lmcd-green);}
.lmcd-fleet__note{
  margin-top:1.55rem;
  padding:1rem 1.15rem;
  border-left:.28rem solid var(--lmcd-orange);
  border-radius:0 .8rem .8rem 0;
  background:rgba(245,130,33,.07);
}
.lmcd-fleet__visuals{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  height:100%;
}
.lmcd-fleet__figure{
  position:relative;
  margin:0;
  min-height:220px;
  overflow:hidden;
  border-radius:1rem;
  background:#f3f1ea;
  box-shadow:0 .65rem 1.6rem rgba(33,45,38,.08);
}
.lmcd-fleet__figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.lmcd-fleet__figure:hover img{transform:scale(1.025);}
.lmcd-fleet__figure--top{min-height:245px;}
.lmcd-fleet__figure--bottom{min-height:245px;}
.lmcd-fleet__caption{
  position:absolute;
  left:.85rem;
  bottom:.85rem;
  max-width:calc(100% - 1.7rem);
  padding:.55rem .75rem;
  border-radius:.65rem;
  background:rgba(255,255,255,.94);
  color:var(--lmcd-green-dark);
  font-size:.9rem;
  font-weight:700;
  box-shadow:0 .3rem .9rem rgba(0,0,0,.09);
}
@media (max-width:991.98px){
  .lmcd-fleet__visuals{
    grid-template-columns:1fr 1fr;
    margin-top:1.25rem;
  }
  .lmcd-fleet__figure,
  .lmcd-fleet__figure--top,
  .lmcd-fleet__figure--bottom{
    min-height:260px;
  }
}
@media (max-width:767.98px){
  .lmcd-fleet{padding:2.5rem 0 3rem;}
  .lmcd-fleet__panel{padding:1.3rem;}
  .lmcd-fleet__visuals{grid-template-columns:1fr;}
  .lmcd-fleet__figure,
  .lmcd-fleet__figure--top,
  .lmcd-fleet__figure--bottom{
    min-height:220px;
  }
}
@media (prefers-reduced-motion:reduce){
  .lmcd-fleet__figure img{transition:none;}
  .lmcd-fleet__figure:hover img{transform:none;}
}


/* =========================================================
   Version 1.0.44 – Fuhrpark Bilder kompakter
   Kleine Originalbilder nicht unnötig hochskalieren.
   ========================================================= */
.lmcd-fleet__visuals{
  align-content:start;
}
.lmcd-fleet__figure,
.lmcd-fleet__figure--top,
.lmcd-fleet__figure--bottom{
  width:100%;
  max-width:390px;
  min-height:0;
  aspect-ratio:4 / 3;
  margin-left:auto;
}
.lmcd-fleet__figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width:991.98px){
  .lmcd-fleet__figure,
  .lmcd-fleet__figure--top,
  .lmcd-fleet__figure--bottom{
    max-width:none;
    min-height:0;
    aspect-ratio:4 / 3;
    margin-left:0;
  }
}
@media (max-width:767.98px){
  .lmcd-fleet__figure,
  .lmcd-fleet__figure--top,
  .lmcd-fleet__figure--bottom{
    aspect-ratio:16 / 10;
  }
}

/* =========================================================
   Version 1.0.45 – LMCD das sind wir
   Bootstrap Grid + projektspezifischer LMCD-Look.
   ========================================================= */
.lmcd-about{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-about__intro{
  max-width:1050px;
  margin:0 auto clamp(2rem,3vw,3rem);
  text-align:center;
}
.lmcd-about__intro h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-about__intro p{
  margin:0;
  color:var(--lmcd-text);
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.65;
}
.lmcd-about__lead{
  margin:1.2rem 0 0;
  color:var(--lmcd-green-dark);
  font-weight:700;
}
.lmcd-about__grid{align-items:stretch;}
.lmcd-about-card{
  position:relative;
  height:100%;
  padding:1.5rem 1.35rem 1.6rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.05rem;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.065);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease;
}
.lmcd-about-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.34rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-about-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1rem 2.3rem rgba(33,45,38,.10);
}
.lmcd-about-card__letter{
  display:flex;
  align-items:center;
  justify-content:center;
  width:3.25rem;
  height:3.25rem;
  margin:0 0 1rem;
  border:2px solid var(--lmcd-green);
  border-radius:50%;
  color:var(--lmcd-orange);
  font-size:1.6rem;
  line-height:1;
  font-weight:700;
}
.lmcd-about-card h2{
  min-height:2.7rem;
  margin:0 0 .9rem;
  color:var(--lmcd-green-dark);
  font-size:1.45rem;
  line-height:1.2;
  font-weight:700;
}
.lmcd-about-card p{
  margin:0;
  color:var(--lmcd-text);
  font-size:1rem;
  line-height:1.6;
}
@media (max-width:991.98px){
  .lmcd-about-card h2{min-height:auto;}
}
@media (max-width:767.98px){
  .lmcd-about{padding:2.5rem 0 3rem;}
  .lmcd-about__intro{text-align:left;}
  .lmcd-about-card{padding:1.25rem;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-about-card{transition:none;}
  .lmcd-about-card:hover{transform:none;}
}

/* =========================================================
   Version 1.0.46 – Betriebsgelände
   Bootstrap Grid + projektspezifischer LMCD-Look.
   ========================================================= */
.lmcd-site{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-site__panel{
  position:relative;
  padding:clamp(1.5rem,2.7vw,2.5rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.15rem;
  box-shadow:0 .85rem 2.2rem rgba(33,45,38,.07);
  overflow:hidden;
}
.lmcd-site__panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.36rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-site__content h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.15rem,3.3vw,3.35rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-site__content p{
  margin:0 0 1.1rem;
  color:var(--lmcd-text);
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.65;
}
.lmcd-site__content p:last-child{margin-bottom:0;}
.lmcd-site__facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin:1.5rem 0 1.6rem;
}
.lmcd-site__fact{
  padding:.95rem 1rem;
  border-radius:.85rem;
  background:rgba(24,166,117,.075);
  border:1px solid rgba(24,166,117,.10);
}
.lmcd-site__fact strong{
  display:block;
  margin-bottom:.18rem;
  color:var(--lmcd-orange);
  font-size:1.25rem;
  line-height:1.1;
}
.lmcd-site__fact span{
  display:block;
  color:var(--lmcd-green-dark);
  font-size:.9rem;
  line-height:1.35;
  font-weight:600;
}
.lmcd-site__visual{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lmcd-site__figure{
  position:relative;
  width:100%;
  max-width:520px;
  margin:0;
  overflow:hidden;
  border-radius:1.05rem;
  background:#f2f0e8;
  box-shadow:0 .85rem 2rem rgba(33,45,38,.10);
}
.lmcd-site__figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  transition:transform .35s ease;
}
.lmcd-site__figure:hover img{transform:scale(1.02);}
.lmcd-site__caption{
  position:absolute;
  left:.9rem;
  bottom:.9rem;
  max-width:calc(100% - 1.8rem);
  padding:.6rem .8rem;
  border-radius:.65rem;
  background:rgba(255,255,255,.94);
  color:var(--lmcd-green-dark);
  font-size:.9rem;
  font-weight:700;
  box-shadow:0 .3rem .9rem rgba(0,0,0,.09);
}
@media (max-width:991.98px){
  .lmcd-site__visual{margin-top:.5rem;}
  .lmcd-site__figure{max-width:none;}
}
@media (max-width:767.98px){
  .lmcd-site{padding:2.5rem 0 3rem;}
  .lmcd-site__panel{padding:1.3rem;}
  .lmcd-site__facts{grid-template-columns:1fr;}
  .lmcd-site__figure img{aspect-ratio:16 / 10;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-site__figure img{transition:none;}
  .lmcd-site__figure:hover img{transform:none;}
}


/* =========================================================
   Version 1.0.47 – Firmenchronik
   Bootstrap Grid + projektspezifischer LMCD-Look.
   ========================================================= */
.lmcd-history{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-history__intro{
  max-width:820px;
  margin:0 auto clamp(2.2rem,4vw,3.4rem);
  text-align:center;
}
.lmcd-history__intro h1{
  margin:0;
  color:var(--lmcd-orange);
  font-size:clamp(2.2rem,3.6vw,3.6rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-history__timeline{
  position:relative;
  max-width:1120px;
  margin:0 auto;
}
.lmcd-history__timeline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(var(--lmcd-orange),var(--lmcd-green));
  opacity:.5;
}
.lmcd-history__item{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:center;
  margin-bottom:2.25rem;
}
.lmcd-history__item:last-child{margin-bottom:0;}
.lmcd-history__item::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:16px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#fff;
  border:4px solid var(--lmcd-green);
  box-shadow:0 0 0 6px var(--lmcd-cream);
  z-index:2;
}
.lmcd-history__content,
.lmcd-history__media{
  position:relative;
}
.lmcd-history__content{
  padding:1.45rem 1.55rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1rem;
  box-shadow:0 .65rem 1.8rem rgba(33,45,38,.065);
}
.lmcd-history__content::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.3rem;
  border-radius:1rem 1rem 0 0;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-history__year{
  display:inline-block;
  margin-bottom:.65rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.65rem,2.5vw,2.45rem);
  line-height:1;
  font-weight:500;
}
.lmcd-history__content p{
  margin:0;
  color:var(--lmcd-text);
  font-size:1rem;
  line-height:1.6;
}
.lmcd-history__figure{
  margin:0;
  max-width:360px;
  overflow:hidden;
  border-radius:1rem;
  background:#fff;
  box-shadow:0 .75rem 2rem rgba(33,45,38,.09);
}
.lmcd-history__figure img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
  transition:transform .35s ease;
}
.lmcd-history__figure:hover img{transform:scale(1.025);}
.lmcd-history__caption{
  padding:.7rem .9rem;
  color:var(--lmcd-green-dark);
  font-size:.88rem;
  font-weight:700;
  background:#fff;
}
.lmcd-history__item:nth-child(odd) .lmcd-history__content{
  grid-column:1;
  grid-row:1;
}
.lmcd-history__item:nth-child(odd) .lmcd-history__media{
  grid-column:2;
  grid-row:1;
  display:flex;
  justify-content:flex-start;
}
.lmcd-history__item:nth-child(even) .lmcd-history__content{
  grid-column:2;
  grid-row:1;
}
.lmcd-history__item:nth-child(even) .lmcd-history__media{
  grid-column:1;
  grid-row:1;
  display:flex;
  justify-content:flex-end;
}
@media (max-width:991.98px){
  .lmcd-history__timeline::before{
    left:18px;
    transform:none;
  }
  .lmcd-history__item{
    display:block;
    margin:0 0 1.6rem;
    padding-left:3.4rem;
  }
  .lmcd-history__item::before{
    left:18px;
    top:2.2rem;
    transform:translate(-50%,0);
  }
  .lmcd-history__media{
    margin-top:1rem;
    display:block !important;
  }
  .lmcd-history__figure{
    max-width:420px;
  }
  .lmcd-history__figure img{
    height:240px;
  }
}
@media (max-width:767.98px){
  .lmcd-history{padding:2.5rem 0 3rem;}
  .lmcd-history__intro{
    margin-bottom:2rem;
    text-align:left;
  }
  .lmcd-history__item{
    padding-left:2.8rem;
  }
  .lmcd-history__timeline::before,
  .lmcd-history__item::before{
    left:12px;
  }
  .lmcd-history__content{
    padding:1.25rem;
  }
  .lmcd-history__figure{
    max-width:none;
  }
  .lmcd-history__figure img{
    height:auto;
    max-height:230px;
    object-fit:cover;
  }
}
@media (prefers-reduced-motion:reduce){
  .lmcd-history__figure img{transition:none;}
  .lmcd-history__figure:hover img{transform:none;}
}


/* =========================================================
   Version 1.0.48 – Zertifikate
   Bootstrap Grid + projektspezifischer LMCD-Look.
   ========================================================= */
.lmcd-certificates{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-certificates__intro{
  max-width:980px;
  margin:0 0 clamp(2rem,3vw,3rem);
}
.lmcd-certificates__intro h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.2rem,3.5vw,3.5rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-certificates__intro p{
  margin:0 0 1rem;
  color:var(--lmcd-text);
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.65;
}
.lmcd-certificates__grid{
  align-items:stretch;
}
.lmcd-certificate-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  padding:1.55rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.05rem;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.065);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease;
}
.lmcd-certificate-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.34rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-certificate-card:hover{
  transform:translateY(-4px);
  box-shadow:0 1rem 2.3rem rgba(33,45,38,.10);
}
.lmcd-certificate-card__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:3.4rem;
  height:3.4rem;
  margin:0 0 1.1rem;
  border-radius:.9rem;
  background:rgba(24,166,117,.09);
  color:var(--lmcd-green-dark);
  font-size:1.7rem;
  line-height:1;
  font-weight:700;
}
.lmcd-certificate-card h2{
  min-height:3.2rem;
  margin:0 0 .8rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.35rem,1.8vw,1.72rem);
  line-height:1.2;
  font-weight:500;
}
.lmcd-certificate-card p{
  margin:0 0 1.25rem;
  color:var(--lmcd-text);
  line-height:1.55;
}
.lmcd-certificate-card__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:auto;
  padding:.72rem 1rem;
  border-radius:.65rem;
  background:var(--lmcd-orange);
  color:#fff !important;
  font-weight:700;
  text-decoration:none !important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.lmcd-certificate-card__action:hover{
  transform:translateY(-2px);
  box-shadow:0 .5rem 1.1rem rgba(245,130,33,.22);
}
@media (max-width:991.98px){
  .lmcd-certificate-card h2{min-height:auto;}
}
@media (max-width:767.98px){
  .lmcd-certificates{padding:2.5rem 0 3rem;}
  .lmcd-certificate-card{padding:1.3rem;}
}
@media (prefers-reduced-motion:reduce){
  .lmcd-certificate-card,
  .lmcd-certificate-card__action{transition:none;}
  .lmcd-certificate-card:hover,
  .lmcd-certificate-card__action:hover{transform:none;}
}


/* =========================================================
   Version 1.0.49 – Kontakt / Adresse
   Bootstrap Grid + projektspezifischer LMCD-Look.
   ========================================================= */
.lmcd-contact{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-contact__intro{
  max-width:900px;
  margin:0 0 clamp(2rem,3vw,3rem);
}
.lmcd-contact__intro h1{
  margin:0 0 .9rem;
  color:var(--lmcd-orange);
  font-size:clamp(2.2rem,3.5vw,3.5rem);
  line-height:1.08;
  font-weight:500;
}
.lmcd-contact__intro p{
  margin:0;
  color:var(--lmcd-text);
  font-size:clamp(1rem,1.2vw,1.14rem);
  line-height:1.65;
}
.lmcd-contact__grid{
  align-items:stretch;
}
.lmcd-contact-card{
  position:relative;
  height:100%;
  padding:1.6rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.05rem;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.065);
  overflow:hidden;
}
.lmcd-contact-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.34rem;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-contact-card__label{
  display:inline-flex;
  margin:0 0 .9rem;
  padding:.4rem .7rem;
  border-radius:999px;
  background:rgba(24,166,117,.10);
  color:var(--lmcd-green-dark);
  font-size:.78rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lmcd-contact-card h2{
  min-height:3rem;
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.4rem,1.9vw,1.8rem);
  line-height:1.2;
  font-weight:500;
}
.lmcd-contact-card p,
.lmcd-contact-card address{
  margin:0;
  color:var(--lmcd-text);
  font-style:normal;
  line-height:1.65;
}
.lmcd-contact-card strong{
  color:var(--lmcd-green-dark);
}
.lmcd-contact-card__hours{
  display:grid;
  gap:.45rem;
  margin:1rem 0 0;
}
.lmcd-contact-card__hours div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.55rem .7rem;
  border-radius:.65rem;
  background:rgba(24,166,117,.06);
}
.lmcd-contact-card__links{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.25rem;
}
.lmcd-contact-card__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.7rem .95rem;
  border-radius:.65rem;
  background:var(--lmcd-orange);
  color:#fff !important;
  font-weight:700;
  text-decoration:none !important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.lmcd-contact-card__link--secondary{
  background:var(--lmcd-green);
}
.lmcd-contact-card__link:hover{
  transform:translateY(-2px);
  box-shadow:0 .5rem 1.1rem rgba(33,45,38,.12);
}
.lmcd-contact__formintro{
  margin-top:2rem;
  padding:1.5rem 1.6rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.05rem;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.055);
}
.lmcd-contact__formintro h2{
  margin:0 0 .7rem;
  color:var(--lmcd-orange);
  font-size:clamp(1.6rem,2.2vw,2.1rem);
  font-weight:500;
}
.lmcd-contact__formintro p{
  margin:0;
  color:#4a4a4a;
  line-height:1.6;
}
@media (max-width:991.98px){
  .lmcd-contact-card h2{min-height:auto;}
}
@media (max-width:767.98px){
  .lmcd-contact{padding:2.5rem 0 3rem;}
  .lmcd-contact-card,
  .lmcd-contact__formintro{padding:1.3rem;}
  .lmcd-contact-card__hours div{
    flex-direction:column;
    gap:.1rem;
  }
}
@media (prefers-reduced-motion:reduce){
  .lmcd-contact-card__link{transition:none;}
  .lmcd-contact-card__link:hover{transform:none;}
}


/* =========================================================
   Version 1.0.50 – TYPO3 Forms Kontaktformular
   Aktiv nur auf Seiten mit .lmcd-contact-form-head.
   ========================================================= */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#242424;
  max-width:1180px;
  margin:0 auto clamp(3rem,5vw,5rem);
  padding:0 1rem;
}
.lmcd-contact-form-head{
  max-width:1180px;
  margin:0 auto;
  padding:0 1rem;
}
.lmcd-contact-form-head__inner{
  position:relative;
  padding:1.45rem 1.6rem;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.05rem 1.05rem 0 0;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.055);
  overflow:hidden;
}
.lmcd-contact-form-head__inner::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:.34rem;
  background:linear-gradient(90deg,#F58221 0 50%,#18A675 50% 100%);
}
.lmcd-contact-form-head h2{
  margin:0 0 .55rem;
  color:#F58221;
  font-size:clamp(1.7rem,2.4vw,2.2rem);
  line-height:1.15;
  font-weight:500;
}
.lmcd-contact-form-head p{
  max-width:800px;
  margin:0;
  color:#4a4a4a;
  line-height:1.55;
}

/* Form-Rahmen */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .frame-container,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework > div{
  max-width:none;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form{
  margin:0;
  padding:clamp(1.35rem,2.5vw,2rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-top:0;
  border-radius:0 0 1.05rem 1.05rem;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.055);
}

/* TYPO3 Forms kann die Felder in einem inneren Wrapper ausgeben */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.15rem 1.25rem;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > .form-group{
  min-width:0;
}

/* Falls form-group direkt im Formular liegt */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form{
  column-gap:1.25rem;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-group{
  margin:0;
  min-width:0;
}

/* Vollbreite für Nachricht, Checkboxen, Buttons und Form-Hinweise */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-group:has(textarea),
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-group:has(.form-check),
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-group:has(button),
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-group:has(input[type="submit"]),
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > div > h1,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > div > h2,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > div > h3,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > div > p{
  grid-column:1 / -1;
}

/* Formularinterne Überschrift kleiner halten */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form h1,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form h2,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form h3{
  margin:0 0 .25rem;
  color:#087a59;
  font-size:1.15rem;
  line-height:1.3;
  font-weight:700;
}

/* Labels */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-label,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework label{
  margin-bottom:.42rem;
  color:#303030;
  font-weight:600;
}

/* Felder */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-control,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-select,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body:has(.lmcd-contact-form-head) .frame-type-form_formframework textarea,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework select{
  width:100%;
  min-height:48px;
  padding:.72rem .85rem;
  border:1px solid #d8dedb;
  border-radius:.7rem;
  background:#fbfcfb;
  color:#242424;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework textarea{
  min-height:150px;
  resize:vertical;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-control:focus,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-select:focus,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input:focus,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework textarea:focus,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework select:focus{
  border-color:#18A675;
  background:#fff;
  outline:0;
  box-shadow:0 0 0 .2rem rgba(24,166,117,.12);
}

/* Submit */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework button[type="submit"],
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="submit"],
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .btn-primary{
  min-width:150px;
  padding:.76rem 1.25rem;
  border:0;
  border-radius:.68rem;
  background:#F58221;
  color:#fff;
  font-weight:700;
  box-shadow:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework button[type="submit"]:hover,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="submit"]:hover,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .btn-primary:hover{
  background:#df7116;
  transform:translateY(-2px);
  box-shadow:0 .5rem 1.1rem rgba(245,130,33,.22);
}

/* Fehler / Pflichtfelder */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .invalid-feedback,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .help-block{
  margin-top:.35rem;
  font-size:.88rem;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .is-invalid{
  border-color:#b64242;
}

/* Tablet / Mobil */
@media (max-width:767.98px){
  .lmcd-contact-form-head,
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework{
    padding-left:.75rem;
    padding-right:.75rem;
  }
  .lmcd-contact-form-head__inner{
    padding:1.25rem;
  }
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework form{
    padding:1.25rem;
  }
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > div{
    grid-template-columns:1fr;
    gap:1rem;
  }
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-group{
    grid-column:1 / -1;
  }
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework button[type="submit"],
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="submit"],
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework .btn-primary{
    width:100%;
  }
}
@media (prefers-reduced-motion:reduce){
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework *,
  .lmcd-contact-form-head *{
    transition:none !important;
  }
}


/* =========================================================
   Version 1.0.54 – Kontaktformular final
   Styling für TYPO3 Form Framework auf der Kontaktseite.
   Aktiviert durch .lmcd-contact-form-head direkt vor dem Form-Element.
   ========================================================= */
.lmcd-contact-form-head{
  max-width:1180px;
  margin:0 auto;
  padding:0 20px;
}
.lmcd-contact-form-head__box{
  position:relative;
  padding:28px 30px 24px;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-bottom:0;
  border-radius:16px 16px 0 0;
  box-shadow:0 12px 30px rgba(33,45,38,.055);
  overflow:hidden;
}
.lmcd-contact-form-head__box::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:5px;
  background:linear-gradient(90deg,#F58221 0 50%,#18A675 50% 100%);
}
.lmcd-contact-form-head__eyebrow{
  display:inline-block;
  margin:0 0 8px;
  color:#087a59;
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lmcd-contact-form-head h2{
  margin:0 0 8px;
  color:#F58221;
  font-size:clamp(28px,3vw,38px);
  line-height:1.12;
  font-weight:500;
}
.lmcd-contact-form-head p{
  max-width:820px;
  margin:0;
  color:#4a4a4a;
  font-size:17px;
  line-height:1.6;
}

/* TYPO3 Forms – nur wenn unser Kontakt-Header auf der Seite vorhanden ist */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework{
  max-width:1180px;
  margin:0 auto 70px;
  padding:0 20px;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .frame-container,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .frame-inner{
  max-width:none;
  padding-left:0;
  padding-right:0;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form{
  margin:0;
  padding:30px;
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-top:0;
  border-radius:0 0 16px 16px;
  box-shadow:0 12px 30px rgba(33,45,38,.055);
}

/* Formulartitel aus TYPO3 Forms */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > h1,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > h2,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > h3,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form .form-section > h1,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form .form-section > h2,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form .form-section > h3{
  display:none;
}

/* Grid-Abstände */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .row{
  --bs-gutter-x:1.5rem;
  --bs-gutter-y:1.15rem;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-group{
  margin-bottom:1.15rem;
}

/* Labels */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework label,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-label{
  margin-bottom:7px;
  color:#2d2d2d;
  font-size:15px;
  line-height:1.3;
  font-weight:600;
}

/* Textfelder */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-control,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-select,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="text"],
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="email"],
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="tel"],
body:has(.lmcd-contact-form-head) .frame-type-form_formframework textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #d5ddd8;
  border-radius:9px;
  background:#fbfcfb;
  color:#242424;
  font-size:16px;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework textarea{
  min-height:170px;
  resize:vertical;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-control:focus,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input:focus,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework textarea:focus{
  border-color:#18A675;
  background:#fff;
  outline:0;
  box-shadow:0 0 0 4px rgba(24,166,117,.10);
}

/* Datenschutz */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-check{
  margin:4px 0 8px;
  padding-left:1.8rem;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-check-input{
  width:18px;
  height:18px;
  margin-left:-1.8rem;
  margin-top:.2rem;
  border:1px solid #bfc9c3;
  border-radius:4px;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-check-input:checked{
  background-color:#18A675;
  border-color:#18A675;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-check-label{
  margin:0;
  color:#454545;
  font-size:14px;
  line-height:1.55;
  font-weight:400;
}

/* Submit */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework button[type="submit"],
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="submit"],
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .btn-primary{
  margin-top:6px;
  min-width:170px;
  padding:12px 20px;
  border:0;
  border-radius:9px;
  background:#F58221;
  color:#fff;
  font-weight:700;
  box-shadow:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework button[type="submit"]:hover,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="submit"]:hover,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .btn-primary:hover{
  background:#df7116;
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(245,130,33,.22);
}

/* Fehlermeldungen */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .invalid-feedback,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .help-block{
  margin-top:5px;
  font-size:13px;
}
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .is-invalid{
  border-color:#b64242;
}

/* Mobil */
@media(max-width:767.98px){
  .lmcd-contact-form-head,
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework{
    padding-left:14px;
    padding-right:14px;
  }
  .lmcd-contact-form-head__box{
    padding:24px 20px 20px;
  }
  .lmcd-contact-form-head p{
    font-size:16px;
  }
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework form{
    padding:22px 20px;
  }
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework .row{
    --bs-gutter-y:.9rem;
  }
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework textarea{
    min-height:145px;
  }
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework button[type="submit"],
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework input[type="submit"],
  body:has(.lmcd-contact-form-head) .frame-type-form_formframework .btn-primary{
    width:100%;
  }
}


/* =========================================================
   Version 1.0.55 – Formular-Eigenüberschrift entfernen
   Der sichtbare Kopf kommt ausschließlich aus dem HTML-Block
   .lmcd-contact-form-head.
   ========================================================= */
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .frame-header,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .frame-title,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .element-header,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > h1,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > h2,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework form > h3,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-section > h1,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-section > h2,
body:has(.lmcd-contact-form-head) .frame-type-form_formframework .form-section > h3{
  display:none!important;
}


/* =========================================================
   Version 1.0.56 – Kontaktformular Hintergrund
   Gleicher Creme-Hintergrund wie der Kontaktbereich.
   ========================================================= */
.lmcd-contact-form-head{
  background:#F8F3E7;
  box-shadow:0 0 0 100vmax #F8F3E7;
  clip-path:inset(0 -100vmax);
  padding-top:42px;
}

body:has(.lmcd-contact-form-head) .frame-type-form_formframework{
  background:#F8F3E7;
  box-shadow:0 0 0 100vmax #F8F3E7;
  clip-path:inset(0 -100vmax);
  padding-bottom:70px;
  margin-bottom:0;
}

@media(max-width:767.98px){
  .lmcd-contact-form-head{
    padding-top:28px;
  }

  body:has(.lmcd-contact-form-head) .frame-type-form_formframework{
    padding-bottom:45px;
  }
}


/* =========================================================
   Version 1.0.57 – Kontaktformular Bild größer
   ========================================================= */
.lmcd-contact-form-head__image{
  display:flex;
  justify-content:center;
  align-items:center;
}
.lmcd-contact-form-head__image img{
  display:block;
  width:100%;
  max-width:220px;
  height:auto;
  border-radius:8px;
}
@media(max-width:991.98px){
  .lmcd-contact-form-head__image img{
    max-width:260px;
  }
}


/* =========================================================
   Version 1.0.58 – Kontaktbild kleiner & mittiger
   ========================================================= */
.lmcd-contact-form-head__image{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:100%;
}
.lmcd-contact-form-head__image img{
  display:block;
  width:100%;
  max-width:150px;
  height:auto;
  margin:0 auto;
  border-radius:8px;
}
@media(max-width:991.98px){
  .lmcd-contact-form-head__image{
    margin-top:6px;
  }
  .lmcd-contact-form-head__image img{
    max-width:170px;
  }
}

/* =========================================================
   Version 1.0.59 – Außenanlagen / Bautagebuch
   ========================================================= */
.lmcd-outdoor{--lmcd-orange:#F58221;--lmcd-green:#18A675;--lmcd-green-dark:#087a59;--lmcd-cream:#F8F3E7;--lmcd-text:#2d2d2d;padding:clamp(3rem,5vw,5rem) 0;background:var(--lmcd-cream);overflow:hidden}
.lmcd-outdoor__intro{max-width:900px;margin:0 auto clamp(2.2rem,4vw,3.6rem);text-align:center}
.lmcd-outdoor__eyebrow{display:inline-block;margin-bottom:.7rem;color:var(--lmcd-green-dark);font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.lmcd-outdoor__intro h1{margin:0 0 1rem;color:var(--lmcd-orange);font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.08;font-weight:500}
.lmcd-outdoor__intro p{margin:0;color:#505050;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.7}
.lmcd-outdoor__timeline{position:relative;max-width:1180px;margin:0 auto}
.lmcd-outdoor__timeline::before{content:"";position:absolute;top:0;bottom:0;left:29px;width:2px;background:linear-gradient(var(--lmcd-orange),var(--lmcd-green));opacity:.32}
.lmcd-outdoor__entry{position:relative;margin:0 0 2rem 70px;padding:clamp(1.25rem,2.3vw,2rem);background:#fff;border:1px solid rgba(24,166,117,.14);border-radius:1.05rem;box-shadow:0 .7rem 1.9rem rgba(33,45,38,.06)}
.lmcd-outdoor__entry::before{content:"";position:absolute;left:-51px;top:32px;width:18px;height:18px;border:4px solid var(--lmcd-cream);border-radius:50%;background:var(--lmcd-orange);box-shadow:0 0 0 2px rgba(245,130,33,.28)}
.lmcd-outdoor__entry:nth-child(even)::before{background:var(--lmcd-green);box-shadow:0 0 0 2px rgba(24,166,117,.28)}
.lmcd-outdoor__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.lmcd-outdoor__date{margin:0;color:var(--lmcd-orange);font-size:clamp(1.5rem,2.4vw,2.05rem);line-height:1.15;font-weight:500}
.lmcd-outdoor__badge{flex:0 0 auto;padding:.45rem .72rem;border-radius:999px;background:rgba(24,166,117,.10);color:var(--lmcd-green-dark);font-size:.75rem;line-height:1;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.lmcd-outdoor__entry p{margin:0 0 1.1rem;color:var(--lmcd-text);line-height:1.65}
.lmcd-outdoor__entry p:last-child{margin-bottom:0}
.lmcd-outdoor__note{margin-top:1rem!important;padding:1rem 1.1rem;border-left:4px solid var(--lmcd-green);border-radius:.65rem;background:rgba(24,166,117,.055)}
.lmcd-outdoor__gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.1rem 0}
.lmcd-outdoor__gallery--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.lmcd-outdoor__gallery--featured{grid-template-columns:1fr;max-width:700px;margin-left:auto;margin-right:auto}
.lmcd-outdoor__image{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:.8rem;background:#eee}
.lmcd-outdoor__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.lmcd-outdoor__image:hover img{transform:scale(1.025)}
.lmcd-outdoor__image--portrait{aspect-ratio:3/4}
@media(max-width:991.98px){.lmcd-outdoor__gallery--three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.lmcd-outdoor{padding:2.5rem 0 3rem}.lmcd-outdoor__timeline::before{left:12px}.lmcd-outdoor__entry{margin-left:38px;padding:1.2rem}.lmcd-outdoor__entry::before{left:-35px;top:27px;width:15px;height:15px}.lmcd-outdoor__head{display:block}.lmcd-outdoor__badge{display:inline-flex;margin-top:.65rem}.lmcd-outdoor__gallery,.lmcd-outdoor__gallery--three{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lmcd-outdoor__image img{transition:none}.lmcd-outdoor__image:hover img{transform:none}}


/* =========================================================
   Version 1.0.60 – Außenanlagen Feinschliff KW30
   ========================================================= */
.lmcd-outdoor__gallery--kw30-top{max-width:980px;margin-left:auto;margin-right:auto}
.lmcd-outdoor__gallery--kw30-top .lmcd-outdoor__image{aspect-ratio:1.18/1}
.lmcd-outdoor__gallery--kw30-bottom{max-width:700px;margin-left:auto;margin-right:auto}
@media(min-width:768px){
  .lmcd-outdoor__gallery--kw30-bottom .lmcd-outdoor__image{aspect-ratio:1.25/1}
}


/* =========================================================
   Version 1.0.61 – KW30 Bilder kompakter
   ========================================================= */
.lmcd-outdoor__gallery--kw30{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.lmcd-outdoor__gallery--kw30 .lmcd-outdoor__image{
  aspect-ratio:4/3;
}
@media(max-width:767.98px){
  .lmcd-outdoor__gallery--kw30{max-width:560px}
}


/* =========================================================
   Version 1.0.62 – Außenanlagen Bildgrößen KW28 / KW30
   Kleine Altbilder nicht unnötig hochskalieren.
   ========================================================= */
.lmcd-outdoor__entry:has(.lmcd-outdoor__date:first-child) .lmcd-outdoor__gallery--kw30{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.lmcd-outdoor__gallery--kw30 .lmcd-outdoor__image{
  aspect-ratio:4/3;
}

/* KW28: normale Zweiergalerien kompakter halten */
.lmcd-outdoor__entry:nth-child(3) .lmcd-outdoor__gallery:not(.lmcd-outdoor__gallery--featured){
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

/* Großes Einzelbild in KW28 ebenfalls begrenzen */
.lmcd-outdoor__entry:nth-child(3) .lmcd-outdoor__gallery--featured{
  max-width:520px;
}

@media(max-width:767.98px){
  .lmcd-outdoor__entry:nth-child(3) .lmcd-outdoor__gallery:not(.lmcd-outdoor__gallery--featured),
  .lmcd-outdoor__gallery--kw30{
    max-width:100%;
  }
  .lmcd-outdoor__entry:nth-child(3) .lmcd-outdoor__gallery--featured{
    max-width:100%;
  }
}


/* =========================================================
   Version 1.0.63 – globaler LMCD Footer
   ========================================================= */
#page-footer{background:#343638!important;color:#fff;margin-top:0}
#page-footer .lmcd-footer-main{padding:46px 0 34px}
#page-footer .lmcd-footer-main__inner{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:.75fr 1.75fr 1.15fr;gap:48px}
#page-footer .lmcd-footer-main h2,#page-footer .lmcd-footer-main h3{margin:0 0 14px;color:#fff;font-size:18px;line-height:1.25;font-weight:700}
#page-footer .lmcd-footer-main p,#page-footer .lmcd-footer-main li,#page-footer .lmcd-footer-main address{margin:0;color:#f3f3f3;font-size:16px;line-height:1.5;font-style:normal}
#page-footer .lmcd-footer-main p+p{margin-top:16px}
#page-footer .lmcd-footer-main strong{color:#fff}
#page-footer .lmcd-footer-main a{color:#18A675;text-decoration:none;transition:color .2s ease}
#page-footer .lmcd-footer-main a:hover{color:#F58221}
#page-footer .lmcd-footer-main__links{margin:0;padding-left:22px}
#page-footer .lmcd-footer-main__links li+li{margin-top:4px}
#page-footer .lmcd-footer-main__contact-block+.lmcd-footer-main__contact-block{margin-top:16px}
#page-footer .lmcd-footer-main__legal{border-top:1px solid rgba(255,255,255,.12);padding:14px 20px;text-align:center;color:#d8d8d8;font-size:14px}
#page-footer>.container,#page-footer>.container-fluid{max-width:none!important;padding-left:0!important;padding-right:0!important}
@media(max-width:991.98px){#page-footer .lmcd-footer-main__inner{grid-template-columns:1fr 1.6fr;gap:34px}#page-footer .lmcd-footer-main__contact{grid-column:1/-1}}
@media(max-width:767.98px){#page-footer .lmcd-footer-main{padding:34px 0 24px}#page-footer .lmcd-footer-main__inner{width:min(100% - 28px,1180px);grid-template-columns:1fr;gap:28px}#page-footer .lmcd-footer-main__contact{grid-column:auto}#page-footer .lmcd-footer-main p,#page-footer .lmcd-footer-main li,#page-footer .lmcd-footer-main address{font-size:15px}}


/* =========================================================
   Version 1.0.65 – Unsere Dienstleistungen
   ========================================================= */
.lmcd-services-detail{
  --lmcd-orange:#F58221;
  --lmcd-green:#18A675;
  --lmcd-green-dark:#087a59;
  --lmcd-cream:#F8F3E7;
  --lmcd-text:#2d2d2d;
  padding:clamp(3rem,5vw,5rem) 0;
  background:var(--lmcd-cream);
}
.lmcd-services-detail__box{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:clamp(1.5rem,3vw,2.4rem);
  background:#fff;
  border:1px solid rgba(24,166,117,.14);
  border-radius:1.05rem;
  box-shadow:0 .7rem 1.9rem rgba(33,45,38,.06);
  overflow:hidden;
}
.lmcd-services-detail__box::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,var(--lmcd-orange) 0 50%,var(--lmcd-green) 50% 100%);
}
.lmcd-services-detail__eyebrow{
  display:inline-block;
  margin-bottom:.7rem;
  color:var(--lmcd-green-dark);
  font-size:.8rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.lmcd-services-detail h1{
  margin:0 0 1rem;
  color:var(--lmcd-orange);
  font-size:clamp(2rem,3.6vw,3rem);
  line-height:1.1;
  font-weight:500;
}
.lmcd-services-detail__lead{
  margin:0 0 1.25rem;
  color:#4b4b4b;
  font-size:clamp(1rem,1.2vw,1.12rem);
  line-height:1.65;
}
.lmcd-services-detail__content{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
}
.lmcd-services-detail__text p{
  margin:0 0 1rem;
  color:var(--lmcd-text);
  line-height:1.65;
}
.lmcd-services-detail__list{
  margin:1rem 0 0;
  padding:0;
  list-style:none;
}
.lmcd-services-detail__list li{
  position:relative;
  margin:.65rem 0;
  padding-left:1.65rem;
  color:var(--lmcd-text);
  line-height:1.55;
}
.lmcd-services-detail__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:var(--lmcd-green);
  box-shadow:0 0 0 4px rgba(24,166,117,.10);
}
.lmcd-services-detail__visuals{
  display:grid;
  gap:1rem;
  justify-items:center;
}
.lmcd-services-detail__image{
  width:100%;
  max-width:300px;
  overflow:hidden;
  border-radius:.85rem;
  background:#f2f2ef;
  box-shadow:0 .45rem 1.1rem rgba(33,45,38,.06);
}
.lmcd-services-detail__image img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:991.98px){
  .lmcd-services-detail__content{
    grid-template-columns:1fr;
  }
  .lmcd-services-detail__visuals{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:660px;
    margin:0 auto;
  }
  .lmcd-services-detail__image{
    max-width:300px;
  }
}
@media(max-width:575.98px){
  .lmcd-services-detail{
    padding:2.5rem 0 3rem;
  }
  .lmcd-services-detail__box{
    padding:1.3rem;
  }
  .lmcd-services-detail__visuals{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   Version 1.0.66 – Sticky Direktkontakt
   ========================================================= */
.lmcd-quick-contact{position:fixed;z-index:1040;top:50%;right:18px;display:flex;flex-direction:column;gap:8px;transform:translateY(-50%)}
.lmcd-quick-contact__item{position:relative;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid #18A675;border-radius:8px;background:#F58221;color:#fff!important;text-decoration:none!important;box-shadow:0 6px 18px rgba(0,0,0,.14);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.lmcd-quick-contact__item svg{width:26px;height:26px;fill:currentColor}
.lmcd-quick-contact__item span{position:absolute;right:64px;top:50%;padding:7px 10px;border-radius:6px;background:#343637;color:#fff;font-size:13px;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(6px,-50%);transition:opacity .18s ease,transform .18s ease}
.lmcd-quick-contact__item:hover,.lmcd-quick-contact__item:focus-visible{background:#18A675;transform:translateX(-3px);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.lmcd-quick-contact__item:hover span,.lmcd-quick-contact__item:focus-visible span{opacity:1;transform:translate(0,-50%)}
.lmcd-quick-contact__item:focus-visible{outline:3px solid rgba(245,130,33,.35);outline-offset:3px}
@media(max-width:767.98px){.lmcd-quick-contact{top:auto;right:50%;bottom:12px;flex-direction:row;transform:translateX(50%)}.lmcd-quick-contact__item{width:50px;height:50px}.lmcd-quick-contact__item span{display:none}}
@media(prefers-reduced-motion:reduce){.lmcd-quick-contact__item,.lmcd-quick-contact__item span{transition:none}}


/* =========================================================
   Version 1.0.67 – Sticky Direktkontakt mobil rechts
   ========================================================= */
@media(max-width:767.98px){
  .lmcd-quick-contact{
    top:60%;
    right:8px;
    bottom:auto;
    left:auto;
    flex-direction:column;
    gap:6px;
    transform:translateY(-50%);
  }
  .lmcd-quick-contact__item{
    width:42px;
    height:42px;
    border-radius:7px;
    box-shadow:0 4px 12px rgba(0,0,0,.14);
  }
  .lmcd-quick-contact__item svg{
    width:21px;
    height:21px;
  }
  .lmcd-quick-contact__item span{
    display:none;
  }
  .lmcd-quick-contact__item:hover,
  .lmcd-quick-contact__item:focus-visible{
    transform:none;
  }
}
