/*
Theme Name: LS Metallkunst Baukasten
Theme URI: https://lsmetallkunst.de/
Author: LS METALL & KUNST
Description: Moderner WordPress-Baukasten für LS METALL & KUNST. Alle Inhaltsbereiche lassen sich im WordPress-Website-Editor bearbeiten.
Version: 3.6.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: ls-metallkunst
*/

:root {
  --ls-ink: #1e1d1a;
  --ls-soft: #2d2925;
  --ls-paper: #ddd5c9;
  --ls-light: #f4f0e8;
  --ls-rust: #a64f2c;
  --ls-rust-dark: #713722;
  --ls-copper: #c77a45;
  --ls-line: rgba(42, 34, 28, 0.18);
  --ls-light-line: rgba(255, 255, 255, 0.16);
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { overflow-x: hidden; }
.wp-site-blocks { padding: 0; }

.ls-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(18px);
}

.ls-header .wp-block-site-logo img { border: 1px solid rgba(201,121,67,.55); }
.ls-header .wp-block-site-title { letter-spacing: .075em; text-transform: uppercase; }
.ls-header .wp-block-navigation-item__content { font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ls-header .wp-block-navigation-item__content:hover { color: var(--ls-copper); }

.ls-kicker {
  align-items: center;
  display: flex;
  gap: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ls-kicker::before {
  background: var(--ls-copper);
  content: "";
  display: block;
  height: 2px;
  width: 34px;
}

.ls-hero { min-height: 620px; }
.ls-hero .wp-block-cover__image-background { filter: saturate(.9) contrast(1.03); }
.ls-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(28,24,20,.95) 0%, rgba(35,29,24,.80) 43%, rgba(54,35,25,.25) 100%) !important; opacity: 1 !important; }
.ls-hero h1 { font-size: clamp(3.5rem, 6.6vw, 7rem) !important; line-height: .94 !important; max-width: 900px; }
.ls-hero h1 em { color: var(--ls-copper); font-family: Georgia, serif; font-weight: 400; }
.ls-hero-text { color: rgba(255,255,255,.72); font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.75; max-width: 620px; }
.ls-hero .wp-block-buttons { margin-top: 24px; }

.ls-facts { border-top: 1px solid var(--ls-light-line); margin-top: 28px !important; padding-top: 14px; }
.ls-fact strong { display: block; font-size: 1.35rem; }
.ls-fact small { color: rgba(255,255,255,.52); display: block; font-size: .67rem; letter-spacing: .07em; margin-top: 5px; text-transform: uppercase; }

.ls-section { padding: clamp(36px, 4vw, 58px) clamp(14px, 2.5vw, 36px); }
.ls-section > .alignwide { max-width: 1400px !important; width: 100%; }
.ls-heading { font-size: clamp(2.1rem, 3.6vw, 4rem) !important; line-height: 1.04 !important; }
.ls-heading em { color: var(--ls-copper); font-family: Georgia, serif; font-weight: 400; }
.ls-intro { color: #625b53; font-size: 1.04rem; line-height: 1.7; max-width: 900px; }

.ls-products-head {
  display: block !important;
  margin-bottom: 0;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1400px;
}
.ls-products-head > .wp-block-column { flex-basis: 100% !important; width: 100%; }
.ls-products-head > .wp-block-column + .wp-block-column { margin-top: 18px; }
.ls-products-head .ls-intro { max-width: 780px; }
.ls-product-list {
  margin-bottom: 18px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1400px;
}
.ls-product-row {
  border-top: 4px solid var(--ls-rust);
  box-sizing: border-box;
  margin: 0 0 8px !important;
  max-width: none !important;
  overflow: hidden;
  padding: clamp(10px, 1.4vw, 18px);
  width: 100% !important;
}
.ls-product-row:last-child { margin-bottom: 0 !important; }
.ls-product-sand { background: var(--ls-paper); color: var(--ls-ink); }
.ls-product-cream { background: var(--ls-light); color: var(--ls-ink); }
.ls-product-dark { background: var(--ls-soft); color: #fff; }
.ls-product-rust { background: var(--ls-rust-dark); color: #fff; }
.ls-product-dark,
.ls-product-rust { border-top-color: var(--ls-copper); }
.ls-product-layout {
  align-items: stretch !important;
  gap: clamp(20px, 3vw, 48px);
  margin: 0 !important;
  max-width: none !important;
  width: 100%;
}
.ls-product-layout > .wp-block-column { min-width: 0; }
.ls-product-copy {
  align-self: center;
  box-sizing: border-box;
  padding: clamp(18px, 2.6vw, 38px) clamp(8px, 1.6vw, 24px);
}
.ls-product-copy .ls-product-number {
  color: var(--ls-rust);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  margin: 0 0 14px;
  text-transform: uppercase;
}
.ls-product-dark .ls-product-number,
.ls-product-rust .ls-product-number { color: var(--ls-copper); }
.ls-product-copy h3 {
  font-size: clamp(1.75rem, 3vw, 2.85rem);
  line-height: 1.06;
  margin: 0 0 16px;
}
.ls-product-copy > p:not(.ls-product-number):not(.ls-product-link) {
  color: #5e574f;
  font-size: clamp(.9rem, 1vw, 1rem);
  line-height: 1.68;
  margin: 0 0 10px;
}
.ls-product-dark .ls-product-copy > p:not(.ls-product-number):not(.ls-product-link),
.ls-product-rust .ls-product-copy > p:not(.ls-product-number):not(.ls-product-link) { color: rgba(255,255,255,.7); }
.ls-product-link { margin: 20px 0 0; }
.ls-product-link a {
  border-bottom: 1px solid currentColor;
  color: var(--ls-rust);
  display: inline-block;
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding-bottom: 6px;
  text-transform: uppercase;
}
.ls-product-dark .ls-product-link a,
.ls-product-rust .ls-product-link a { color: var(--ls-copper); }
.ls-product-media {
  display: grid !important;
  gap: clamp(5px, .65vw, 9px);
  grid-template-columns: minmax(0, 2.35fr) minmax(105px, 1fr);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  height: clamp(300px, 31vw, 420px);
  margin: 0;
  min-height: 0;
}
.ls-product-media .wp-block-image {
  height: 100%;
  margin: 0;
  min-height: 0;
  overflow: hidden;
}
.ls-product-media .wp-block-image img {
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
  width: 100%;
}
.ls-product-media .wp-block-image:hover img { transform: scale(1.035); }
.ls-product-media .ls-product-main { grid-row: 1 / -1; }
.ls-product-media-reverse { grid-template-columns: minmax(105px, 1fr) minmax(0, 2.35fr); }
.ls-product-media-reverse .ls-product-main { grid-column: 2; }

.ls-special { border-left: 5px solid var(--ls-rust); box-shadow: 0 18px 45px rgba(62, 42, 29, .08); display: block !important; margin-top: 18px !important; max-width: 1400px !important; padding: 18px 22px !important; }
.ls-special h3 { margin: 0; }
.ls-special .wp-block-buttons { margin-top: 18px; }

.ls-project-slider { padding: 12px clamp(14px, 2.5vw, 36px); }
.ls-slider-stage { height: clamp(360px, 42vw, 480px); margin: 0 auto; max-width: 1400px; overflow: hidden; position: relative; }
.ls-slider-track { animation: ls-slider-run 28s ease-in-out infinite; display: flex; height: 100%; width: 500%; will-change: transform; }
.ls-slider-frame { flex: 0 0 20%; height: 100%; margin: 0; overflow: hidden; }
.ls-slider-frame img { height: 100%; object-fit: cover; transform: scale(1.02); width: 100%; }
.ls-slider-shade { background: linear-gradient(90deg, rgba(25,21,18,.86) 0%, rgba(27,23,20,.42) 48%, rgba(25,21,18,.08) 74%); inset: 0; pointer-events: none; position: absolute; }
.ls-slider-copy { bottom: clamp(30px, 5vw, 62px); color: #fff; left: clamp(26px, 6vw, 86px); max-width: 650px; position: absolute; z-index: 2; }
.ls-slider-copy span { color: var(--ls-copper); display: block; font-size: .7rem; font-weight: 700; letter-spacing: .16em; margin-bottom: 16px; text-transform: uppercase; }
.ls-slider-copy h2 { font-size: clamp(2.45rem, 4.6vw, 5rem); line-height: 1.02; margin: 0; }
.ls-slider-copy h2 em { color: var(--ls-copper); font-family: Georgia, serif; font-weight: 400; }
.ls-slider-copy p { color: rgba(255,255,255,.72); line-height: 1.65; margin: 14px 0 18px; max-width: 540px; }
.ls-slider-copy a { border-bottom: 1px solid var(--ls-copper); color: #fff; display: inline-block; font-size: .74rem; font-weight: 700; letter-spacing: .08em; padding-bottom: 7px; text-transform: uppercase; }
.ls-slider-status { bottom: 30px; display: flex; gap: 9px; position: absolute; right: 34px; z-index: 2; }
.ls-slider-status i { background: rgba(255,255,255,.34); display: block; height: 2px; width: 34px; }
.ls-slider-status i:first-child { background: var(--ls-copper); }
.ls-slider-stage:hover .ls-slider-track { animation-play-state: paused; }

@keyframes ls-slider-run {
  0%, 16% { transform: translateX(0); }
  20%, 36% { transform: translateX(-20%); }
  40%, 56% { transform: translateX(-40%); }
  60%, 76% { transform: translateX(-60%); }
  80%, 100% { transform: translateX(-80%); }
}

.ls-quality-columns { display: block !important; margin: 0 auto !important; max-width: 1400px; min-height: 560px; overflow: hidden; position: relative; }
.ls-quality-columns > .wp-block-column { flex-basis: 100% !important; width: 100%; }
.ls-quality-image { inset: 0; margin: 0; max-width: none; position: absolute; transform: none; z-index: 0; }
.ls-quality-image img { height: 100%; min-height: 0; object-fit: cover; width: 100%; }
.ls-quality-copy { background: rgba(45,41,37,.94); box-shadow: none; box-sizing: border-box; margin: 0 0 0 auto; max-width: 700px; min-height: 560px; padding: clamp(30px, 4vw, 52px); position: relative; z-index: 2; }
.ls-feature { border-top: 1px solid var(--ls-light-line); padding: 11px 0; }
.ls-feature:last-child { border-bottom: 1px solid var(--ls-light-line); }
.ls-feature h3 { margin: 0 0 6px; }
.ls-feature p { color: rgba(255,255,255,.52); font-size: .87rem; margin: 0; }

.ls-gallery img { aspect-ratio: 1 / 1; object-fit: cover; transition: transform .5s ease; width: 100%; }
.ls-gallery .wp-block-image { overflow: hidden; }
.ls-gallery .wp-block-image:hover img { transform: scale(1.025); }
.ls-gallery-row { gap: clamp(10px, 1.5vw, 18px); margin-left: auto !important; margin-right: auto !important; max-width: 1400px; }
.ls-gallery-row-a { margin-bottom: clamp(10px, 1.5vw, 18px) !important; }
.ls-gallery-row-a > .wp-block-column:nth-child(2) { transform: translateY(8px); }
.ls-gallery-row-a > .wp-block-column:nth-child(3) { transform: translateY(-4px); }
.ls-gallery-row-b > .wp-block-column:nth-child(1) { transform: translateY(6px); }
.ls-gallery-row-b > .wp-block-column:nth-child(3) { transform: translateY(10px); }
.ls-gallery-row-a > .wp-block-column:nth-child(2) img,
.ls-gallery-row-b > .wp-block-column:nth-child(3) img { aspect-ratio: .86 / 1; }
.ls-gallery-row-a > .wp-block-column:nth-child(3) img,
.ls-gallery-row-b > .wp-block-column:nth-child(1) img { aspect-ratio: 1.12 / 1; }

.ls-local-seo .wp-block-columns { align-items: center !important; display: block !important; margin-left: auto !important; margin-right: auto !important; max-width: 1400px; }
.ls-local-seo .wp-block-columns > .wp-block-column { flex-basis: 100% !important; width: 100%; }
.ls-local-seo .wp-block-columns > .wp-block-column:first-child { max-width: none; }
.ls-local-copy { background: var(--ls-paper); box-shadow: none; box-sizing: border-box; color: #625b53; font-size: 1rem; line-height: 1.68; margin: 14px 0 0; max-width: none; padding: clamp(20px, 2.5vw, 34px); transform: none; }
.ls-local-copy > p { max-width: 1100px; }
.ls-local-list { border-top: 1px solid var(--ls-line); list-style: none; margin: 24px 0 0; padding: 0; }
.ls-local-list li { border-bottom: 1px solid var(--ls-line); padding: 12px 0; }
.ls-local-list strong { color: var(--ls-rust); display: inline-block; min-width: 150px; }

.ls-faq-list { margin-top: 22px; max-width: 1400px; }
.ls-faq-list details { border-top: 1px solid var(--ls-light-line); padding: 0; }
.ls-faq-list details:last-child { border-bottom: 1px solid var(--ls-light-line); }
.ls-faq-list summary { cursor: pointer; font-size: clamp(1rem, 1.7vw, 1.24rem); font-weight: 700; list-style: none; padding: 18px 44px 18px 0; position: relative; }
.ls-faq-list summary::-webkit-details-marker { display: none; }
.ls-faq-list summary::after { color: var(--ls-copper); content: "+"; font-size: 1.65rem; font-weight: 400; position: absolute; right: 4px; top: 10px; }
.ls-faq-list details[open] summary::after { content: "−"; }
.ls-faq-list details p { color: rgba(255,255,255,.62); line-height: 1.8; margin: 0; max-width: 850px; padding: 0 44px 18px 0; }

.ls-process-card { border-top: 1px solid var(--ls-light-line); padding-top: 22px; }
.ls-process-card .ls-number { color: var(--ls-copper); font-size: .68rem; letter-spacing: .14em; }
.ls-process-card h3 { margin: 18px 0 10px; }
.ls-process-card p { color: rgba(255,255,255,.52); font-size: .88rem; line-height: 1.65; }
.ls-process-columns { display: grid !important; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-left: auto !important; margin-right: auto !important; max-width: 1400px; }
.ls-process-columns > .wp-block-column { flex-basis: 100% !important; width: 100%; }
.ls-process-columns > .wp-block-column + .wp-block-column { margin-top: 0; }

.ls-contact-link { border-bottom: 1px solid var(--ls-light-line); padding: 12px 0; }
.ls-contact-link a { text-decoration: none; }
.ls-contact-link a:hover { color: var(--ls-copper); }
.ls-mail-form { background: var(--ls-light); border-top: 5px solid var(--ls-rust); color: var(--ls-ink); padding: clamp(24px, 3vw, 40px); }
.ls-mail-form label { display: block; font-size: .69rem; font-weight: 700; letter-spacing: .1em; margin: 0 0 18px; text-transform: uppercase; }
.ls-mail-form input, .ls-mail-form select, .ls-mail-form textarea { background: transparent; border: 0; border-bottom: 1px solid #aa9e8f; border-radius: 0; color: var(--ls-ink); display: block; font: inherit; margin-top: 8px; padding: 11px 0; width: 100%; }
.ls-mail-form textarea { border: 1px solid #bdb6aa; min-height: 130px; padding: 12px; resize: vertical; }
.ls-mail-form button { background: var(--ls-rust); border: 0; color: #fff; cursor: pointer; font-size: .78rem; font-weight: 700; letter-spacing: .08em; padding: 18px 22px; text-transform: uppercase; width: 100%; }
.ls-mail-form button:hover { background: var(--ls-rust-dark); }
.ls-mail-form .ls-form-note { color: #777168; font-size: .69rem; line-height: 1.5; margin-bottom: 0; text-transform: none; }
.ls-contact-columns { display: grid !important; gap: clamp(24px, 4vw, 54px); grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); margin-left: auto !important; margin-right: auto !important; max-width: 1400px; }
.ls-contact-columns > .wp-block-column { box-sizing: border-box; flex-basis: 100% !important; width: 100%; }
.ls-contact-columns > .wp-block-column:first-child { max-width: none; }
.ls-contact-columns > .wp-block-column:last-child { margin: 0; max-width: none; }

.ls-footer { border-top: 1px solid rgba(255,255,255,.1); }
.ls-footer a { color: rgba(255,255,255,.65); }
.ls-footer a:hover { color: var(--ls-copper); }

.ls-gallery-hero { min-height: 420px; }
.ls-gallery-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(20,20,17,.92), rgba(20,20,17,.4)) !important; opacity: 1 !important; }
.ls-gallery-hero h1 { font-size: clamp(3.2rem, 6.4vw, 6.3rem) !important; line-height: .96 !important; }
.ls-gallery-hero h1 em { color: var(--ls-copper); font-family: Georgia, serif; font-weight: 400; }
.ls-gallery-section { padding: clamp(34px, 4vw, 54px) clamp(14px, 2.5vw, 36px); }
.ls-gallery-section + .ls-gallery-section { padding-top: 0; }
.ls-gallery-category { border-top: 1px solid var(--ls-line); margin-left: auto; margin-right: auto; max-width: 1400px; padding-top: 16px; }
.ls-gallery-category > h2 { font-size: clamp(2rem, 3.5vw, 3.8rem); margin-bottom: 28px; }
.ls-gallery-category-intro { color: #625b53; line-height: 1.8; margin: -12px 0 30px; max-width: 880px; }
.ls-gallery-grid {
  display: grid !important;
  gap: clamp(5px, .7vw, 10px);
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0 !important;
  max-width: none !important;
  width: 100%;
}
.ls-gallery-grid > .wp-block-column {
  flex-basis: auto !important;
  margin: 0 !important;
  min-width: 0;
  width: auto !important;
}
.ls-gallery-item { background: #ddd5c9; margin-bottom: 0; overflow: hidden; position: relative; }
.ls-gallery-item img { aspect-ratio: 1 / 1; object-fit: cover; transition: transform .5s ease; width: 100%; }
.ls-gallery-item:hover img { transform: scale(1.035); }
.ls-gallery-item figcaption { background: rgba(23,23,20,.88); bottom: 0; color: #fff; font-size: .68rem; left: 0; letter-spacing: .03em; margin: 0; padding: 9px 10px; position: absolute; right: 0; text-align: left; }
.ls-gallery-back { border-top: 1px solid var(--ls-line); display: block !important; padding-top: 28px; }
.ls-gallery-back .wp-block-buttons { margin-top: 18px; }

@media (max-width: 980px) {
  .ls-hero { min-height: 580px !important; }
  .ls-process-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ls-contact-columns { grid-template-columns: minmax(0, 1fr); }
  .ls-quality-columns, .ls-contact-columns { flex-wrap: wrap !important; }
  .ls-quality-columns > .wp-block-column, .ls-contact-columns > .wp-block-column { flex-basis: 100% !important; }
  .ls-quality-image { transform: none; }
  .ls-quality-image img { min-height: 0; }
  .ls-quality-copy { margin: 0 0 0 auto; }
}

@media (max-width: 720px) {
  .ls-header { padding-left: 18px !important; padding-right: 18px !important; }
  .ls-hero { min-height: 560px !important; }
  .ls-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(20,20,17,.92), rgba(20,20,17,.66)) !important; }
  .ls-hero h1 { font-size: clamp(3rem, 14vw, 4.6rem) !important; }
  .ls-facts { gap: 18px; }
  .ls-facts > .wp-block-column { flex-basis: 100% !important; }
  .ls-product-layout, .ls-process-columns, .ls-gallery-row { flex-wrap: wrap !important; }
  .ls-product-layout > .wp-block-column, .ls-process-columns > .wp-block-column, .ls-gallery-row > .wp-block-column { flex-basis: 100% !important; }
  .ls-gallery img { aspect-ratio: 1 / 1; }
  .ls-product-row { padding: 8px; }
  .ls-product-layout { gap: 0; }
  .ls-product-copy { padding: 22px 14px 24px; }
  .ls-product-copy h3 { font-size: clamp(1.7rem, 8vw, 2.35rem); }
  .ls-product-media { height: clamp(300px, 78vw, 390px); }
  .ls-quality-columns { min-height: 0; }
  .ls-quality-image { height: 300px; inset: auto; position: relative; }
  .ls-quality-image img { height: 300px; }
  .ls-quality-copy { margin: 0; max-width: none; min-height: 0; }
  .ls-process-columns { display: block !important; }
  .ls-process-columns > .wp-block-column + .wp-block-column { margin-top: 14px; }
  .ls-quality-copy { padding-left: 20px; padding-right: 20px; }
  .ls-slider-stage { height: 440px; }
  .ls-slider-copy { left: 24px; right: 24px; }
  .ls-slider-copy h2 { font-size: clamp(2.35rem, 12vw, 3.8rem); }
  .ls-slider-status { display: none; }
  .ls-gallery-row-a, .ls-gallery-row-b { margin-bottom: 20px !important; }
  .ls-gallery-row-a > .wp-block-column, .ls-gallery-row-b > .wp-block-column { transform: none !important; }
  .ls-local-copy { transform: none; }
  .ls-gallery-hero { min-height: 360px !important; }
  .ls-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-local-list strong { display: block; margin-bottom: 4px; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ls-slider-track { animation: none; }
}

/* =========================================================
   REDESIGN 2.0 – inspiriert von der gelieferten Onepage-Vorlage
   ========================================================= */

body {
  background-color: #e8ddd8;
  background-image:
    radial-gradient(circle at 12px 12px, rgba(166,79,44,.08) 1.2px, transparent 1.3px),
    radial-gradient(circle at 36px 36px, rgba(45,41,37,.05) 1px, transparent 1.1px);
  background-size: 48px 48px;
  box-sizing: border-box;
  padding: 14px 0 38px;
}

.wp-site-blocks {
  background: var(--ls-light);
  box-shadow: 0 24px 70px rgba(45, 33, 26, .18);
  margin: 0 auto;
  max-width: 1280px;
  overflow: hidden;
  padding: 0;
  width: calc(100% - 32px);
}

.wp-site-blocks > .alignfull {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.ls-header {
  background: #24171b !important;
  border: 0;
  padding: 12px clamp(22px, 4vw, 58px);
}

.ls-header-inner {
  gap: 22px;
  max-width: 1120px !important;
  width: 100%;
}

.ls-brand { flex: 0 0 auto; }
.ls-header .wp-block-site-logo img { border: 0; border-radius: 50%; }
.ls-header .wp-block-site-title { font-size: .9rem !important; letter-spacing: .08em; white-space: nowrap; }
.ls-header-line { border-color: rgba(255,255,255,.45) !important; flex: 1 1 auto; margin: 0 !important; min-width: 50px; }
.ls-header .wp-block-navigation { flex: 0 0 auto; }
.ls-header .wp-block-navigation-item__content { font-size: .69rem; letter-spacing: .1em; padding: 5px 7px; }
.ls-header .wp-block-navigation-item__content:hover { color: var(--ls-copper); }

.ls-v2-hero {
  background-color: #fbf9f4 !important;
  background-image:
    repeating-linear-gradient(45deg, rgba(113,55,34,.025) 0, rgba(113,55,34,.025) 1px, transparent 1px, transparent 10px),
    repeating-linear-gradient(-45deg, rgba(113,55,34,.018) 0, rgba(113,55,34,.018) 1px, transparent 1px, transparent 10px);
  padding: clamp(38px, 5vw, 72px) clamp(24px, 5vw, 70px) clamp(28px, 4vw, 54px);
}

.ls-v2-hero-grid {
  gap: clamp(34px, 5vw, 70px);
  margin: 0 auto !important;
  max-width: 1080px !important;
}

.ls-v2-hero-image { margin: 0; position: relative; }
.ls-v2-hero-image::before {
  background: linear-gradient(145deg, var(--ls-copper), var(--ls-rust-dark));
  border-radius: 48% 48% 32% 32% / 32% 32% 22% 22%;
  content: "";
  inset: -12px 18px 12px -12px;
  position: absolute;
  z-index: 0;
}
.ls-v2-hero-image img {
  aspect-ratio: .92 / 1;
  border: 9px solid #fbf9f4;
  border-radius: 48% 48% 32% 32% / 32% 32% 22% 22%;
  box-sizing: border-box;
  object-fit: cover;
  position: relative;
  width: 100%;
  z-index: 1;
}

.ls-v2-eyebrow {
  color: var(--ls-rust);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .16em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.ls-v2-hero-title { margin: 0; }
.ls-v2-monogram {
  color: var(--ls-rust);
  display: inline-block;
  font-size: clamp(5.6rem, 10vw, 9.2rem);
  font-weight: 500;
  letter-spacing: -.08em;
  line-height: .75;
  margin-right: 20px;
  vertical-align: middle;
}
.ls-v2-hero-title small {
  color: var(--ls-ink);
  display: inline-block;
  font-size: clamp(1rem, 2vw, 1.55rem);
  letter-spacing: .05em;
  line-height: 1.25;
  vertical-align: middle;
}
.ls-v2-hero-title strong {
  color: var(--ls-ink);
  display: block;
  font-size: clamp(2rem, 4.2vw, 4.1rem);
  letter-spacing: -.04em;
  line-height: 1.02;
  margin-top: 10px;
}
.ls-v2-hero-text { color: #625952; line-height: 1.72; margin: 20px 0 0; max-width: 620px; }
.ls-v2-buttons { margin-top: 22px; }
.ls-v2-buttons .is-style-outline .wp-block-button__link { border-color: var(--ls-rust); color: var(--ls-rust); }

.ls-v2-section { padding: clamp(26px, 4vw, 52px) clamp(22px, 5vw, 70px); }
.ls-v2-section > .alignwide { max-width: 1080px !important; width: 100%; }

.ls-v2-rule-title {
  align-items: center;
  color: var(--ls-rust);
  display: flex;
  font-size: clamp(1.15rem, 2.2vw, 1.7rem) !important;
  gap: 18px;
  justify-content: center;
  letter-spacing: .06em;
  margin: 0 auto 28px !important;
  text-align: center;
  text-transform: uppercase;
}
.ls-v2-rule-title::before,
.ls-v2-rule-title::after { background: var(--ls-rust); content: ""; height: 1px; max-width: 240px; opacity: .65; width: 27%; }

.ls-v2-service-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(16px, 2.4vw, 28px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto !important;
  max-width: 980px !important;
}
.ls-v2-service-card {
  align-content: center;
  border: 2px solid rgba(166,79,44,.65);
  border-radius: 90px;
  box-sizing: border-box;
  height: 100%;
  min-height: 230px;
  padding: 26px 28px;
  text-align: center;
}
.ls-v2-service-card-main {
  background: linear-gradient(140deg, #bd6c4c 0%, #713722 54%, #2d2020 100%);
  border-color: transparent;
  color: #fff;
  transform: translateY(-10px);
}
.ls-v2-service-icon {
  align-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--ls-rust);
  display: flex;
  font-size: .75rem;
  font-weight: 700;
  height: 46px;
  justify-content: center;
  letter-spacing: .08em;
  margin: 0 auto 14px;
  width: 46px;
}
.ls-v2-service-card-main .ls-v2-service-icon { color: #fff; }
.ls-v2-service-card h3 { font-size: 1rem; margin: 0 0 8px; text-transform: uppercase; }
.ls-v2-service-card p:last-child { color: #6b615a; font-size: .8rem; line-height: 1.55; margin: 0; }
.ls-v2-service-card-main p:last-child { color: rgba(255,255,255,.72); }

.ls-v2-portfolio-wrap { padding-top: 20px; }
.ls-v2-portfolio-panel {
  background: linear-gradient(112deg, #b25f43 0%, #713722 48%, #2d1d20 100%);
  border-radius: 46px;
  box-sizing: border-box;
  color: #fff;
  max-width: 1080px !important;
  padding: clamp(34px, 5vw, 62px) clamp(24px, 5vw, 62px);
}
.ls-v2-rule-title-light { color: #fff; }
.ls-v2-rule-title-light::before,
.ls-v2-rule-title-light::after { background: rgba(255,255,255,.7); }
.ls-v2-panel-intro { color: rgba(255,255,255,.72); font-size: .92rem; margin: -10px auto 28px; max-width: 720px; }

.ls-v2-project-grid {
  display: grid !important;
  gap: clamp(16px, 2.2vw, 26px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 30px !important;
}
.ls-v2-project-grid > .wp-block-column { min-width: 0; }
.ls-v2-project-card {
  background: rgba(30,20,21,.24);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 28px;
  box-sizing: border-box;
  height: 100%;
  padding: 10px 10px 18px;
  text-align: center;
}
.ls-v2-project-card .wp-block-image { margin: 0 0 14px; overflow: hidden; }
.ls-v2-project-card img { aspect-ratio: 1.42 / 1; border-radius: 21px 21px 50px 21px; object-fit: cover; transition: transform .45s ease; width: 100%; }
.ls-v2-project-card:hover img { transform: scale(1.035); }
.ls-v2-project-card h3 { color: #fff; font-size: 1rem; letter-spacing: .03em; margin: 0 8px 6px; text-transform: uppercase; }
.ls-v2-project-card > p:not(.ls-v2-project-link) { color: rgba(255,255,255,.68); font-size: .79rem; line-height: 1.5; margin: 0 9px; }
.ls-v2-project-link { margin: 12px 0 0; }
.ls-v2-project-link a { color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ls-v2-portfolio-panel .wp-block-button.is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.8); color: #fff; }

.ls-v2-experience-grid { gap: clamp(30px, 5vw, 70px); margin: 0 auto !important; max-width: 980px !important; }
.ls-v2-year-badge {
  background: linear-gradient(135deg, #b96043, #713722 60%, #2d1d20);
  border-radius: 42px 42px 90px 42px;
  box-shadow: 0 22px 50px rgba(113,55,34,.18);
  color: #fff;
  padding: 32px 22px 26px;
  text-align: center;
}
.ls-v2-year-number { font-size: clamp(7.5rem, 14vw, 12rem); font-weight: 700; letter-spacing: -.09em; line-height: .8; margin: 0; }
.ls-v2-year-label { font-size: .82rem; font-weight: 700; letter-spacing: .12em; margin: 20px 0 0; text-transform: uppercase; }
.ls-v2-experience-copy h3 { font-size: clamp(1.75rem, 3.5vw, 3.3rem); letter-spacing: -.035em; margin: 0 0 16px; }
.ls-v2-experience-copy > p { color: #645c56; line-height: 1.7; }
.ls-v2-stat-grid { display: grid !important; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 24px 0 !important; }
.ls-v2-stat-grid p { background: linear-gradient(100deg, #b96043, #713722); border-radius: 40px; color: #fff; margin: 0; padding: 12px 10px; text-align: center; }
.ls-v2-stat-grid strong { display: block; font-size: 1.05rem; }
.ls-v2-stat-grid small { display: block; font-size: .62rem; letter-spacing: .05em; margin-top: 3px; text-transform: uppercase; }
.ls-v2-region-text { border-top: 1px solid var(--ls-line); font-size: .85rem; padding-top: 16px; }

.ls-v2-process-grid {
  display: grid !important;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 auto !important;
  max-width: 1000px !important;
}
.ls-v2-process-card { border: 2px solid rgba(166,79,44,.52); border-radius: 55px 55px 24px 55px; box-sizing: border-box; height: 100%; min-height: 210px; padding: 26px 22px; }
.ls-v2-process-grid > .wp-block-column:nth-child(even) .ls-v2-process-card { background: #ddd5c9; border-color: transparent; border-radius: 24px 55px 55px 55px; }
.ls-v2-process-number { color: var(--ls-rust); font-size: .72rem; font-weight: 700; letter-spacing: .15em; margin: 0 0 22px; }
.ls-v2-process-card h3 { font-size: 1.1rem; margin: 0 0 8px; }
.ls-v2-process-card p:last-child { color: #665f59; font-size: .8rem; line-height: 1.55; margin: 0; }

.ls-v2-faq-list { max-width: 920px !important; }
.ls-v2-faq-list details { border-top: 1px solid rgba(166,79,44,.35); margin: 0; }
.ls-v2-faq-list details:last-child { border-bottom: 1px solid rgba(166,79,44,.35); }
.ls-v2-faq-list summary { color: var(--ls-ink); cursor: pointer; font-weight: 700; padding: 17px 42px 17px 4px; position: relative; }
.ls-v2-faq-list summary::after { color: var(--ls-rust); content: "+"; font-size: 1.5rem; position: absolute; right: 8px; top: 8px; }
.ls-v2-faq-list details[open] summary::after { content: "−"; }
.ls-v2-faq-list details p { color: #655d57; line-height: 1.7; margin: 0; padding: 0 42px 18px 4px; }

.ls-v2-contact-wrap { padding-bottom: clamp(40px, 6vw, 72px); }
.ls-v2-contact-panel {
  background: linear-gradient(112deg, #b96043 0%, #713722 48%, #2d1d20 100%);
  border-radius: 44px;
  box-sizing: border-box;
  color: #fff;
  gap: clamp(30px, 5vw, 60px);
  margin: 0 auto !important;
  max-width: 1080px !important;
  padding: clamp(30px, 5vw, 58px);
}
.ls-v2-contact-title .ls-v2-eyebrow { color: #f1c1ad; }
.ls-v2-contact-title h2 { color: #fff; font-size: clamp(3.4rem, 7vw, 6rem); letter-spacing: -.06em; line-height: .83; margin: 12px 0 22px; }
.ls-v2-contact-title > p:not(.ls-v2-eyebrow):not(.ls-v2-contact-direct) { color: rgba(255,255,255,.7); line-height: 1.65; }
.ls-v2-contact-direct { line-height: 1.8; margin-top: 22px; }
.ls-v2-contact-direct a { color: #fff; font-weight: 700; }
.ls-v2-mail-form { background: rgba(255,255,255,.96); border-radius: 30px; color: var(--ls-ink); padding: clamp(22px, 3vw, 36px); }
.ls-v2-form-row { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ls-v2-mail-form label { display: block; font-size: .66rem; font-weight: 700; letter-spacing: .09em; margin-bottom: 15px; text-transform: uppercase; }
.ls-v2-mail-form input,
.ls-v2-mail-form select,
.ls-v2-mail-form textarea { background: transparent; border: 0; border-bottom: 1px solid #a89d95; border-radius: 0; box-sizing: border-box; color: var(--ls-ink); display: block; font: inherit; margin-top: 7px; padding: 9px 0; width: 100%; }
.ls-v2-mail-form textarea { border: 1px solid #c7bbb3; min-height: 100px; padding: 10px; resize: vertical; }
.ls-v2-mail-form button { background: var(--ls-rust); border: 0; border-radius: 28px; color: #fff; cursor: pointer; font-size: .72rem; font-weight: 700; letter-spacing: .06em; padding: 15px 18px; text-transform: uppercase; width: 100%; }
.ls-v2-form-note { color: #7a716b; font-size: .65rem; margin: 10px 0 0; text-align: center; }

.ls-footer {
  background: #fbf9f4 !important;
  border-top: 1px solid rgba(166,79,44,.22);
  color: var(--ls-ink) !important;
  padding: 34px clamp(24px, 5vw, 70px) 42px;
}
.ls-footer-grid { display: grid !important; gap: 34px; grid-template-columns: 1.4fr .8fr 1fr .8fr; margin: 0 auto !important; max-width: 1080px !important; }
.ls-footer h3 { color: var(--ls-rust); font-size: .72rem; letter-spacing: .1em; margin: 0 0 10px; text-transform: uppercase; }
.ls-footer p { color: #6c635d; font-size: .76rem; line-height: 1.7; margin: 8px 0 0; }
.ls-footer a { color: #5b514b; }
.ls-footer a:hover { color: var(--ls-rust); }

/* Die Galerieseite nutzt dieselbe gerahmte Onepage-Optik. */
.ls-gallery-hero { margin: 0 !important; }
.ls-gallery-section { background-color: #fbf9f4 !important; }
.ls-gallery-item { border-radius: 18px; }
.ls-gallery-item img { border-radius: 18px; }

@media (max-width: 1000px) {
  .ls-header-line { display: none; }
  .ls-v2-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-v2-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
  body { padding: 0; }
  .wp-site-blocks { box-shadow: none; width: 100%; }
  .ls-header { padding: 10px 18px !important; }
  .ls-header-inner { gap: 12px; }
  .ls-header .wp-block-site-title { display: none; }
  .ls-v2-hero-grid,
  .ls-v2-experience-grid,
  .ls-v2-contact-panel { flex-wrap: wrap !important; }
  .ls-v2-hero-grid > .wp-block-column,
  .ls-v2-experience-grid > .wp-block-column,
  .ls-v2-contact-panel > .wp-block-column { flex-basis: 100% !important; }
  .ls-v2-hero-image { margin: 0 auto; max-width: 470px; }
  .ls-v2-service-grid { grid-template-columns: minmax(0, 1fr); }
  .ls-v2-service-card { border-radius: 42px; min-height: 0; }
  .ls-v2-service-card-main { transform: none; }
  .ls-v2-project-grid { grid-template-columns: minmax(0, 1fr); }
  .ls-v2-stat-grid { grid-template-columns: minmax(0, 1fr); }
  .ls-v2-year-badge { margin: 0 auto; max-width: 360px; }
  .ls-v2-process-grid { grid-template-columns: minmax(0, 1fr); }
  .ls-v2-process-card { min-height: 0; }
  .ls-v2-form-row { grid-template-columns: minmax(0, 1fr); }
  .ls-footer-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
  .ls-v2-monogram { font-size: 5.6rem; }
  .ls-v2-portfolio-panel,
  .ls-v2-contact-panel { border-radius: 28px; }
  .ls-v2-section { padding-left: 14px; padding-right: 14px; }
  .ls-v2-rule-title::before,
  .ls-v2-rule-title::after { width: 16%; }
}

/* =========================================================
   REDESIGN 2.1 – organische Produktstrecken und Projektlaufbild
   ========================================================= */

.ls-v3-hero,
.ls-v3-products,
.ls-v3-gallery-preview,
.ls-v3-process {
  background-color: #fbf9f4;
  background-image:
    repeating-linear-gradient(42deg, rgba(113,55,34,.022) 0, rgba(113,55,34,.022) 1px, transparent 1px, transparent 11px),
    repeating-linear-gradient(-42deg, rgba(113,55,34,.016) 0, rgba(113,55,34,.016) 1px, transparent 1px, transparent 11px);
}

.ls-v3-hero { padding: clamp(44px, 6vw, 82px) clamp(24px, 5vw, 70px) clamp(58px, 7vw, 92px); }
.ls-v3-hero-grid { gap: clamp(36px, 6vw, 78px); margin: 0 auto !important; max-width: 1080px !important; }
.ls-v3-hero-media { padding: 0 0 42px; position: relative; }
.ls-v3-hero-main { margin: 0; position: relative; }
.ls-v3-hero-main::before {
  background: linear-gradient(145deg, #c77a45, #713722 62%, #2b1c1d);
  border-radius: 48% 48% 24% 24% / 30% 30% 16% 16%;
  content: "";
  inset: -14px 22px 16px -14px;
  position: absolute;
}
.ls-v3-hero-main img {
  aspect-ratio: .93 / 1;
  border: 9px solid #fbf9f4;
  border-radius: 48% 48% 24% 24% / 30% 30% 16% 16%;
  box-sizing: border-box;
  object-fit: cover;
  position: relative;
  width: 100%;
}
.ls-v3-hero-details {
  bottom: -12px;
  gap: clamp(10px, 1.5vw, 18px) !important;
  justify-content: center;
  left: 8%;
  position: absolute;
  right: 2%;
  z-index: 2;
}
.ls-v3-hero-details .wp-block-image { margin: 0; }
.ls-v3-hero-details img {
  aspect-ratio: 1;
  border: 6px solid #fbf9f4;
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(44,30,24,.2);
  height: clamp(76px, 9vw, 112px);
  object-fit: cover;
  width: clamp(76px, 9vw, 112px);
}
.ls-v3-hero-details figure:nth-child(2) { transform: translateY(14px); }
.ls-v3-kicker {
  color: var(--ls-rust);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .17em;
  margin: 0 0 13px;
  text-transform: uppercase;
}
.ls-v3-hero-copy h1,
.ls-v3-section-head h2,
.ls-v3-region h2,
.ls-v3-contact-copy h2 {
  color: var(--ls-ink);
  font-size: clamp(2.8rem, 5.3vw, 5.5rem);
  letter-spacing: -.055em;
  line-height: .94;
  margin: 0;
}
.ls-v3-hero-copy h1 em,
.ls-v3-section-head h2 em,
.ls-v3-region h2 em,
.ls-v3-contact-copy h2 em {
  color: var(--ls-rust);
  font-family: Georgia, serif;
  font-weight: 400;
}
.ls-v3-hero-copy > p:not(.ls-v3-kicker):not(.ls-v3-signature) { color: #675e57; line-height: 1.72; }
.ls-v3-hero-copy .ls-v3-lead { color: var(--ls-ink) !important; font-size: clamp(1.02rem, 1.5vw, 1.23rem); font-weight: 600; margin-top: 24px; }
.ls-v3-buttons { margin-top: 24px; }
.ls-v3-buttons .wp-block-button__link { border-radius: 30px; }
.ls-v3-buttons .is-style-outline .wp-block-button__link { border-color: var(--ls-rust); color: var(--ls-rust); }
.ls-v3-signature { color: var(--ls-rust); font-family: Georgia, serif; font-size: 1.15rem; font-style: italic; margin: 25px 0 0; }

.ls-v3-slider-section { background: #fbf9f4; padding: 0 clamp(16px, 3vw, 42px) clamp(56px, 7vw, 88px); }
.ls-v3-slider { border-radius: 56px 16px 56px 16px; height: clamp(390px, 46vw, 570px); margin: 0 auto; max-width: 1120px; overflow: hidden; position: relative; }
.ls-v3-slider-track { animation: ls-v3-slider-run 28s ease-in-out infinite; display: flex; height: 100%; width: 500%; will-change: transform; }
.ls-v3-slider-track figure { flex: 0 0 20%; height: 100%; margin: 0; overflow: hidden; }
.ls-v3-slider-track img { height: 100%; object-fit: cover; transform: scale(1.02); width: 100%; }
.ls-v3-slider:hover .ls-v3-slider-track,
.ls-v3-slider:focus-within .ls-v3-slider-track { animation-play-state: paused; }
.ls-v3-slider-overlay { background: linear-gradient(90deg, rgba(30,22,20,.88) 0%, rgba(39,27,24,.52) 48%, rgba(28,22,20,.08) 78%); inset: 0; pointer-events: none; position: absolute; }
.ls-v3-slider-copy { bottom: clamp(34px, 6vw, 72px); color: #fff; left: clamp(28px, 6vw, 76px); max-width: 630px; position: absolute; right: 26px; z-index: 2; }
.ls-v3-slider-copy > span { color: #f0b18f; display: block; font-size: .7rem; font-weight: 700; letter-spacing: .17em; margin-bottom: 14px; text-transform: uppercase; }
.ls-v3-slider-copy h2 { color: #fff; font-size: clamp(2.55rem, 5vw, 5.25rem); letter-spacing: -.05em; line-height: .92; margin: 0; }
.ls-v3-slider-copy h2 em { color: #f0b18f; font-family: Georgia, serif; font-weight: 400; }
.ls-v3-slider-copy p { color: rgba(255,255,255,.74); line-height: 1.6; max-width: 520px; }
.ls-v3-slider-copy a { border-bottom: 1px solid #f0b18f; color: #fff; display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; padding-bottom: 6px; text-transform: uppercase; }
.ls-v3-slider-dots { bottom: 26px; display: flex; gap: 8px; position: absolute; right: 28px; z-index: 2; }
.ls-v3-slider-dots i { background: rgba(255,255,255,.38); height: 3px; width: 34px; }
.ls-v3-slider-dots i:first-child { background: #f0b18f; }
@keyframes ls-v3-slider-run {
  0%, 16% { transform: translateX(0); }
  20%, 36% { transform: translateX(-20%); }
  40%, 56% { transform: translateX(-40%); }
  60%, 76% { transform: translateX(-60%); }
  80%, 100% { transform: translateX(-80%); }
}

.ls-v3-products { padding: clamp(42px, 6vw, 78px) clamp(18px, 4vw, 54px); }
.ls-v3-section-head { margin: 0 auto clamp(38px, 6vw, 74px) !important; max-width: 1080px !important; }
.ls-v3-section-head h2 { font-size: clamp(2.7rem, 5vw, 5.1rem); }
.ls-v3-section-head > p:last-child { color: #675e57; line-height: 1.72; max-width: 690px; }
.ls-v3-section-head-center { text-align: center; }
.ls-v3-section-head-center > p:last-child { margin-left: auto; margin-right: auto; }
.ls-v3-product-row {
  align-items: stretch !important;
  border-radius: 18px 64px 18px 64px;
  box-shadow: 0 18px 48px rgba(67,44,31,.08);
  box-sizing: border-box;
  display: grid !important;
  gap: 0;
  grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr);
  margin: 0 auto clamp(34px, 5vw, 66px) !important;
  max-width: 1080px !important;
  overflow: hidden;
  padding: clamp(10px, 1.4vw, 16px);
}
.ls-v3-product-row-reverse { border-radius: 64px 18px 64px 18px; grid-template-columns: minmax(280px, 2fr) minmax(0, 3fr); }
.ls-v3-product-row > .wp-block-column { min-width: 0; width: 100%; }
.ls-v3-product-row-reverse > .wp-block-column:first-child { grid-column: 2; grid-row: 1; }
.ls-v3-product-row-reverse > .wp-block-column:last-child { grid-column: 1; grid-row: 1; }
.ls-v3-product-sand { background: #ddd5c9; }
.ls-v3-product-cream { background: #f3ece3; }
.ls-v3-product-rust { background: linear-gradient(135deg, #bd6a49, #7a3b27 62%, #4a2b26); color: #fff; }
.ls-v3-product-dark { background: linear-gradient(135deg, #453337, #24191c 72%); color: #fff; }
.ls-v3-mosaic {
  display: grid !important;
  gap: clamp(7px, .9vw, 12px);
  grid-template-columns: minmax(0, 3.2fr) minmax(100px, 1fr);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  height: 440px;
  margin: 0;
  min-height: 0;
}
.ls-v3-mosaic-tall { height: 500px; }
.ls-v3-mosaic-wide { height: 390px; }
.ls-v3-mosaic-portrait { height: 475px; }
.ls-v3-mosaic-short { height: 360px; }
.ls-v3-mosaic .wp-block-image { height: 100%; margin: 0; min-height: 0; overflow: hidden; }
.ls-v3-mosaic .ls-v3-main-image { grid-row: 1 / -1; }
.ls-v3-mosaic img { height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.ls-v3-mosaic .ls-v3-main-image img { border-radius: 12px 44px 12px 44px; }
.ls-v3-mosaic figure:not(.ls-v3-main-image):nth-child(2) img { border-radius: 50% 50% 14px 50%; }
.ls-v3-mosaic figure:not(.ls-v3-main-image):nth-child(3) img { border-radius: 18px 50% 50% 18px; }
.ls-v3-mosaic figure:not(.ls-v3-main-image):nth-child(4) img { border-radius: 50% 16px 50% 50%; }
.ls-v3-mosaic .wp-block-image:hover img { transform: scale(1.04); }
.ls-v3-product-copy { align-self: center; box-sizing: border-box; padding: clamp(28px, 4vw, 52px); }
.ls-v3-product-number { color: var(--ls-rust); font-size: .68rem; font-weight: 700; letter-spacing: .14em; margin: 0 0 18px; text-transform: uppercase; }
.ls-v3-product-copy h3 { font-size: clamp(2rem, 3.6vw, 3.8rem); letter-spacing: -.045em; margin: 0 0 18px; }
.ls-v3-product-copy > p:not(.ls-v3-product-number):not(.ls-v3-product-link) { color: #675e57; line-height: 1.75; margin: 0; }
.ls-v3-product-link { margin: 24px 0 0; }
.ls-v3-product-link a { border-bottom: 1px solid currentColor; color: var(--ls-rust); display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .08em; padding-bottom: 6px; text-transform: uppercase; }
.ls-v3-product-rust .ls-v3-product-number,
.ls-v3-product-dark .ls-v3-product-number,
.ls-v3-product-rust .ls-v3-product-link a,
.ls-v3-product-dark .ls-v3-product-link a { color: #f0b18f; }
.ls-v3-product-rust .ls-v3-product-copy > p:not(.ls-v3-product-number):not(.ls-v3-product-link),
.ls-v3-product-dark .ls-v3-product-copy > p:not(.ls-v3-product-number):not(.ls-v3-product-link) { color: rgba(255,255,255,.72); }

.ls-v3-quality { background: #fbf9f4; padding: clamp(48px, 7vw, 90px) clamp(18px, 5vw, 64px); }
.ls-v3-quality-stage { margin: 0 auto !important; max-width: 1080px !important; min-height: 590px; position: relative; }
.ls-v3-quality-image { margin: 0; width: 76%; }
.ls-v3-quality-image img { border-radius: 70px 18px 70px 18px; height: 570px; object-fit: cover; width: 100%; }
.ls-v3-quality-card {
  background: linear-gradient(135deg, rgba(190,105,72,.97), rgba(111,54,35,.98) 62%, rgba(45,28,30,.98));
  border-radius: 24px 70px 24px 70px;
  bottom: -28px;
  box-shadow: 0 24px 65px rgba(54,31,24,.3);
  box-sizing: border-box;
  color: #fff;
  max-width: 570px;
  padding: clamp(30px, 5vw, 58px);
  position: absolute;
  right: 0;
  width: 58%;
}
.ls-v3-quality-card .ls-v3-kicker { color: #f3c0aa; }
.ls-v3-quality-card h2 { color: #fff; font-size: clamp(2.2rem, 4vw, 4rem); margin: 0 0 18px; }
.ls-v3-quality-card h2 strong { display: block; font-size: clamp(5rem, 9vw, 9rem); letter-spacing: -.09em; line-height: .72; margin-bottom: 22px; }
.ls-v3-quality-card > p:not(.ls-v3-kicker) { color: rgba(255,255,255,.75); line-height: 1.7; }
.ls-v3-quality-facts { display: grid !important; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 26px 0 0 !important; }
.ls-v3-quality-facts p { border-top: 1px solid rgba(255,255,255,.3); margin: 0; padding-top: 12px; }
.ls-v3-quality-facts b { display: block; font-size: 1.05rem; }
.ls-v3-quality-facts small { color: rgba(255,255,255,.65); display: block; font-size: .58rem; letter-spacing: .08em; margin-top: 4px; text-transform: uppercase; }

.ls-v3-gallery-preview { padding: clamp(64px, 8vw, 104px) clamp(18px, 5vw, 64px); }
.ls-v3-gallery-grid {
  display: grid !important;
  gap: clamp(10px, 1.4vw, 18px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: 190px 120px 185px;
  margin: 0 auto 38px !important;
  max-width: 1080px !important;
}
.ls-v3-gallery-grid .wp-block-image { height: 100%; margin: 0; overflow: hidden; }
.ls-v3-gallery-grid a { display: block; height: 100%; }
.ls-v3-gallery-grid img { height: 100%; object-fit: cover; transition: transform .5s ease; width: 100%; }
.ls-v3-gallery-grid figure:nth-child(1) { grid-column: 1 / 3; grid-row: 1 / 3; transform: translateY(18px); }
.ls-v3-gallery-grid figure:nth-child(2) { grid-column: 3; grid-row: 1; transform: translateY(-12px); }
.ls-v3-gallery-grid figure:nth-child(3) { grid-column: 4; grid-row: 1 / 3; }
.ls-v3-gallery-grid figure:nth-child(4) { grid-column: 3; grid-row: 2 / 4; }
.ls-v3-gallery-grid figure:nth-child(5) { grid-column: 1; grid-row: 3; transform: translateY(9px); }
.ls-v3-gallery-grid figure:nth-child(6) { grid-column: 2; grid-row: 3; transform: translateY(-8px); }
.ls-v3-gallery-grid figure:nth-child(1) img { border-radius: 60px 16px 16px 16px; }
.ls-v3-gallery-grid figure:nth-child(2) img { border-radius: 50% 50% 14px 50%; }
.ls-v3-gallery-grid figure:nth-child(3) img { border-radius: 16px 58px 16px 16px; }
.ls-v3-gallery-grid figure:nth-child(4) img { border-radius: 16px 16px 58px 16px; }
.ls-v3-gallery-grid figure:nth-child(5) img { border-radius: 16px 16px 16px 58px; }
.ls-v3-gallery-grid figure:nth-child(6) img { border-radius: 50%; }
.ls-v3-gallery-grid figure:hover img { transform: scale(1.04); }
.ls-v3-gallery-preview .wp-block-button__link { border-color: var(--ls-rust); border-radius: 30px; color: var(--ls-rust); }

.ls-v3-region { background: #fbf9f4; padding: 0 clamp(18px, 5vw, 64px) clamp(72px, 9vw, 116px); }
.ls-v3-region-panel { background: linear-gradient(112deg, #edd9ca, #d8b4a0 55%, #bf7554); border-radius: 68px 18px 68px 18px; box-sizing: border-box; gap: clamp(28px, 5vw, 68px); margin: 0 auto !important; max-width: 1080px !important; padding: clamp(36px, 6vw, 72px); }
.ls-v3-region h2 { font-size: clamp(2.6rem, 4.7vw, 4.8rem); }
.ls-v3-region .wp-block-column:last-child > p:first-child { color: #493f39; font-size: 1.05rem; line-height: 1.75; }
.ls-v3-region-places { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; }
.ls-v3-region-places span { background: rgba(255,255,255,.68); border-radius: 30px; color: #6f3828; font-size: .67rem; font-weight: 700; letter-spacing: .05em; padding: 9px 13px; text-transform: uppercase; }

.ls-v3-process { padding: clamp(62px, 8vw, 100px) clamp(18px, 5vw, 64px); }
.ls-v3-process-grid { display: grid !important; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto !important; max-width: 1080px !important; }
.ls-v3-process-grid > .wp-block-column { border: 2px solid rgba(166,79,44,.42); border-radius: 54px 18px 54px 18px; box-sizing: border-box; min-height: 210px; padding: 26px 22px; }
.ls-v3-process-grid > .wp-block-column:nth-child(even) { background: #e3d8cc; border-color: transparent; border-radius: 18px 54px 18px 54px; transform: translateY(18px); }
.ls-v3-process-number { color: var(--ls-rust); font-size: .7rem; font-weight: 700; letter-spacing: .14em; margin: 0 0 28px; }
.ls-v3-process-grid h3 { font-size: 1.2rem; margin: 0 0 10px; }
.ls-v3-process-grid p:last-child { color: #675e57; font-size: .82rem; line-height: 1.62; }

.ls-v3-contact { background: #fbf9f4; padding: 18px clamp(18px, 5vw, 64px) clamp(60px, 8vw, 96px); }
.ls-v3-contact-panel { background: linear-gradient(112deg, #b86143, #713722 52%, #2d1d20); border-radius: 70px 18px 70px 18px; box-sizing: border-box; color: #fff; gap: clamp(30px, 5vw, 58px); margin: 0 auto !important; max-width: 1080px !important; padding: clamp(36px, 6vw, 68px); }
.ls-v3-contact-copy .ls-v3-kicker { color: #f3b79b; }
.ls-v3-contact-copy h2 { color: #fff; font-size: clamp(3rem, 5.5vw, 5.4rem); }
.ls-v3-contact-copy h2 em { color: #f3b79b; }
.ls-v3-contact-copy > p:not(.ls-v3-kicker):not(.ls-v3-contact-direct) { color: rgba(255,255,255,.72); line-height: 1.7; }
.ls-v3-contact-direct { line-height: 1.85; margin-top: 24px; }
.ls-v3-contact-direct a { color: #fff; font-weight: 700; }

@media (max-width: 900px) {
  .ls-v3-hero-grid { flex-wrap: wrap !important; }
  .ls-v3-hero-grid > .wp-block-column { flex-basis: 100% !important; }
  .ls-v3-hero-media { margin: 0 auto; max-width: 600px; }
  .ls-v3-product-row,
  .ls-v3-product-row-reverse { grid-template-columns: minmax(0, 1fr); }
  .ls-v3-product-row-reverse > .wp-block-column:first-child,
  .ls-v3-product-row-reverse > .wp-block-column:last-child { grid-column: 1; }
  .ls-v3-product-row-reverse > .wp-block-column:first-child { grid-row: 1; }
  .ls-v3-product-row-reverse > .wp-block-column:last-child { grid-row: 2; }
  .ls-v3-quality-stage { min-height: 700px; }
  .ls-v3-quality-image { width: 88%; }
  .ls-v3-quality-card { width: 66%; }
  .ls-v3-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-v3-contact-panel { flex-wrap: wrap !important; }
  .ls-v3-contact-panel > .wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 680px) {
  .ls-v3-hero { padding-left: 18px; padding-right: 18px; }
  .ls-v3-hero-details { left: 4%; right: 0; }
  .ls-v3-slider-section { padding-left: 10px; padding-right: 10px; }
  .ls-v3-slider { border-radius: 34px 12px 34px 12px; height: 470px; }
  .ls-v3-slider-overlay { background: linear-gradient(0deg, rgba(28,22,20,.9) 0%, rgba(32,24,22,.56) 62%, rgba(28,22,20,.12) 100%); }
  .ls-v3-slider-copy { bottom: 34px; left: 24px; right: 22px; }
  .ls-v3-slider-copy p { font-size: .84rem; }
  .ls-v3-slider-dots { display: none; }
  .ls-v3-product-row { border-radius: 14px 38px 14px 38px; padding: 8px; }
  .ls-v3-product-row-reverse { border-radius: 38px 14px 38px 14px; }
  .ls-v3-mosaic,
  .ls-v3-mosaic-tall,
  .ls-v3-mosaic-wide,
  .ls-v3-mosaic-portrait,
  .ls-v3-mosaic-short { height: clamp(310px, 92vw, 430px); }
  .ls-v3-mosaic { grid-template-columns: minmax(0, 2.55fr) minmax(82px, 1fr); }
  .ls-v3-product-copy { padding: 28px 18px 32px; }
  .ls-v3-quality-stage { min-height: 0; }
  .ls-v3-quality-image { width: 100%; }
  .ls-v3-quality-image img { border-radius: 38px 12px 38px 12px; height: 360px; }
  .ls-v3-quality-card { border-radius: 14px 42px 14px 42px; bottom: auto; margin: -54px 10px 0 auto; max-width: none; position: relative; width: calc(100% - 20px); }
  .ls-v3-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 210px 130px 190px 190px; }
  .ls-v3-gallery-grid figure:nth-child(1) { grid-column: 1 / 3; grid-row: 1; transform: none; }
  .ls-v3-gallery-grid figure:nth-child(2) { grid-column: 1; grid-row: 2 / 4; transform: none; }
  .ls-v3-gallery-grid figure:nth-child(3) { grid-column: 2; grid-row: 2; }
  .ls-v3-gallery-grid figure:nth-child(4) { grid-column: 2; grid-row: 3 / 5; }
  .ls-v3-gallery-grid figure:nth-child(5) { grid-column: 1; grid-row: 4; transform: none; }
  .ls-v3-gallery-grid figure:nth-child(6) { grid-column: 1 / 3; grid-row: 5; transform: none; }
  .ls-v3-gallery-grid { grid-template-rows: 210px 130px 190px 190px 180px; }
  .ls-v3-region-panel { border-radius: 42px 14px 42px 14px; flex-wrap: wrap !important; }
  .ls-v3-region-panel > .wp-block-column { flex-basis: 100% !important; }
  .ls-v3-process-grid { grid-template-columns: minmax(0, 1fr); }
  .ls-v3-process-grid > .wp-block-column:nth-child(even) { transform: none; }
  .ls-v3-contact-panel { border-radius: 42px 14px 42px 14px; padding-left: 20px; padding-right: 20px; }
  .ls-v3-quality-facts { grid-template-columns: minmax(0, 1fr); }
  .ls-v3-quality-facts p { padding: 10px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ls-v3-slider-track { animation: none; }
}

/* Galerie-Großansicht */
.ls-gallery-item { cursor: zoom-in; }
.ls-gallery-item::before {
  align-items: center;
  background: rgba(36, 23, 27, .86);
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 50%;
  color: #fff;
  content: "+";
  display: flex;
  font-size: 1.35rem;
  height: 36px;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  right: 10px;
  top: 10px;
  transform: scale(.92);
  transition: background-color .25s ease, transform .25s ease;
  width: 36px;
  z-index: 3;
}
.ls-gallery-item:hover::before { background: var(--ls-rust); transform: scale(1); }
.ls-gallery-item a { cursor: zoom-in; display: block; }
.ls-gallery-item a:focus-visible { outline: 3px solid var(--ls-copper); outline-offset: 3px; }
body.ls-lightbox-open { overflow: hidden; }
.ls-lightbox {
  align-items: center;
  background: rgba(20, 15, 15, .95);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 76px;
  inset: 0;
  opacity: 0;
  padding: 64px 22px 24px;
  pointer-events: none;
  position: fixed;
  transition: opacity .25s ease;
  z-index: 10000;
}
.ls-lightbox.is-open { opacity: 1; pointer-events: auto; }
.ls-lightbox__stage {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  min-height: 0;
  min-width: 0;
}
.ls-lightbox__image {
  border-radius: 20px 54px 20px 54px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
  display: block;
  max-height: calc(100vh - 160px);
  max-width: 100%;
  object-fit: contain;
  opacity: 1;
  transition: opacity .18s ease;
}
.ls-lightbox__image.is-loading { opacity: .3; }
.ls-lightbox__meta { align-items: baseline; display: flex; gap: 24px; justify-content: space-between; max-width: 100%; width: 100%; }
.ls-lightbox__caption { color: #fff; font-size: .9rem; margin: 13px 0 0; }
.ls-lightbox__count { color: rgba(255,255,255,.58); flex: 0 0 auto; font-size: .72rem; letter-spacing: .08em; margin: 13px 0 0; text-transform: uppercase; }
.ls-lightbox__close,
.ls-lightbox__nav {
  align-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-family: Arial, sans-serif;
  justify-content: center;
  padding: 0;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.ls-lightbox__close:hover,
.ls-lightbox__nav:hover { background: var(--ls-rust); border-color: var(--ls-copper); transform: scale(1.06); }
.ls-lightbox__close:focus-visible,
.ls-lightbox__nav:focus-visible { outline: 3px solid var(--ls-copper); outline-offset: 4px; }
.ls-lightbox__close { font-size: 2rem; height: 48px; position: absolute; right: 22px; top: 18px; width: 48px; }
.ls-lightbox__nav { font-size: 3rem; height: 58px; justify-self: center; line-height: 1; width: 58px; }
.ls-lightbox__prev { grid-column: 1; }
.ls-lightbox__stage { grid-column: 2; }
.ls-lightbox__next { grid-column: 3; }

@media (max-width: 680px) {
  .ls-lightbox { grid-template-columns: 48px minmax(0, 1fr) 48px; padding: 70px 8px 18px; }
  .ls-lightbox__image { border-radius: 12px 30px 12px 30px; max-height: calc(100vh - 175px); }
  .ls-lightbox__nav { font-size: 2.2rem; height: 42px; width: 42px; }
  .ls-lightbox__close { height: 44px; right: 14px; top: 14px; width: 44px; }
  .ls-lightbox__caption { font-size: .78rem; }
  .ls-lightbox__count { font-size: .62rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ls-lightbox,
  .ls-lightbox__image { transition: none; }
}

/* Kompaktoptimierung auf Basis der bevorzugten Version 17 */
.ls-v3-hero { padding: clamp(34px, 4.5vw, 58px) clamp(22px, 4vw, 52px) clamp(46px, 5vw, 66px); }
.ls-v3-hero-grid { gap: clamp(30px, 4vw, 54px); max-width: 1000px !important; }
.ls-v3-hero-media { padding-bottom: 34px; }
.ls-v3-hero-main img { max-height: 480px; }
.ls-v3-hero-details img { height: clamp(68px, 7.5vw, 94px); width: clamp(68px, 7.5vw, 94px); }
.ls-v3-hero-copy h1 { font-size: clamp(2.55rem, 4.5vw, 4.65rem); }
.ls-v3-hero-copy .ls-v3-lead { font-size: clamp(.98rem, 1.3vw, 1.12rem); margin-top: 18px; }
.ls-v3-hero-copy > p:not(.ls-v3-kicker):not(.ls-v3-signature) { line-height: 1.62; }
.ls-v3-buttons { margin-top: 18px; }

.ls-v3-slider-section { padding-bottom: clamp(42px, 5vw, 62px); }
.ls-v3-slider { border-radius: 44px 14px 44px 14px; height: clamp(330px, 37vw, 450px); max-width: 1040px; }
.ls-v3-slider-copy { bottom: clamp(28px, 4vw, 48px); left: clamp(26px, 5vw, 58px); max-width: 560px; }
.ls-v3-slider-copy h2 { font-size: clamp(2.25rem, 4.2vw, 4.35rem); }
.ls-v3-slider-copy p { font-size: .9rem; margin: 11px 0 14px; }

.ls-v3-slider-copy a {
  background: var(--ls-rust);
  border: 1px solid var(--ls-rust);
  border-radius: 28px;
  padding: 11px 17px;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.ls-v3-slider-copy a:hover { background: var(--ls-rust-dark); border-color: var(--ls-rust-dark); transform: translateY(-1px); }

.ls-v3-products { padding: clamp(34px, 4.5vw, 58px) clamp(18px, 3vw, 38px); }
.ls-v3-section-head { margin-bottom: clamp(30px, 4vw, 48px) !important; max-width: 1000px !important; }
.ls-v3-section-head h2 { font-size: clamp(2.35rem, 4.3vw, 4.45rem); }
.ls-v3-section-head > p:last-child { line-height: 1.62; }
.ls-v3-product-row {
  border-radius: 16px 50px 16px 50px;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr);
  margin-bottom: clamp(24px, 3.5vw, 42px) !important;
  max-width: 1040px !important;
  padding: 10px;
}
.ls-v3-product-row-reverse { border-radius: 50px 16px 50px 16px; grid-template-columns: minmax(260px, 2fr) minmax(0, 3fr); }
.ls-v3-mosaic { height: 340px; }
.ls-v3-mosaic-tall { height: 385px; }
.ls-v3-mosaic-wide { height: 320px; }
.ls-v3-mosaic-portrait { height: 370px; }
.ls-v3-mosaic-short { height: 300px; }
.ls-v3-product-copy { padding: clamp(22px, 3vw, 36px); }
.ls-v3-product-copy h3 { font-size: clamp(1.75rem, 3vw, 3rem); margin-bottom: 13px; }
.ls-v3-product-copy > p:not(.ls-v3-product-number):not(.ls-v3-product-link) { font-size: .9rem; line-height: 1.62; }
.ls-v3-product-number { margin-bottom: 13px; }
.ls-v3-product-link { margin-top: 18px; }

.ls-gallery-cta {
  background: linear-gradient(112deg, #ead8c9, #d9b59f 58%, #c77a45);
  border-radius: 38px 14px 38px 14px;
  box-sizing: border-box;
  gap: 24px;
  margin: 8px auto 0 !important;
  max-width: 1040px !important;
  padding: clamp(22px, 3vw, 34px);
}
.ls-gallery-cta .ls-v3-kicker { margin-bottom: 8px; }
.ls-gallery-cta h3 { color: var(--ls-ink); font-size: clamp(1.45rem, 2.5vw, 2.4rem); margin: 0; }
.ls-gallery-cta .wp-block-button__link { border-radius: 28px; white-space: nowrap; }

.ls-v3-quality { padding: clamp(40px, 5vw, 64px) clamp(18px, 4vw, 48px); }
.ls-v3-quality-stage { max-width: 1040px !important; min-height: 490px; }
.ls-v3-quality-image img { border-radius: 52px 16px 52px 16px; height: 460px; }
.ls-v3-quality-card { border-radius: 20px 54px 20px 54px; bottom: -18px; max-width: 520px; padding: clamp(28px, 4vw, 44px); width: 54%; }
.ls-v3-quality-card h2 { font-size: clamp(1.9rem, 3.2vw, 3.15rem); }
.ls-v3-quality-card h2 strong { font-size: clamp(4.5rem, 7vw, 7rem); margin-bottom: 17px; }
.ls-v3-quality-card > p:not(.ls-v3-kicker) { font-size: .9rem; line-height: 1.62; }
.ls-v3-quality-facts { margin-top: 18px !important; }
.ls-gallery-inline-button { margin-top: 22px; }
.ls-gallery-inline-button .wp-block-button__link { border-color: rgba(255,255,255,.8) !important; border-radius: 28px; color: #fff !important; font-size: .68rem; padding: 11px 16px; }

.ls-v3-region { padding-bottom: clamp(50px, 6vw, 72px); padding-left: clamp(18px, 4vw, 48px); padding-right: clamp(18px, 4vw, 48px); }
.ls-v3-region-panel { border-radius: 52px 16px 52px 16px; gap: clamp(24px, 4vw, 48px); max-width: 1040px !important; padding: clamp(30px, 4vw, 48px); }
.ls-v3-region h2 { font-size: clamp(2.2rem, 3.8vw, 3.8rem); }
.ls-v3-region .wp-block-column:last-child > p:first-child { font-size: .95rem; line-height: 1.62; }
.ls-v3-region-places { margin-top: 16px; }

.ls-v3-process { padding: clamp(48px, 6vw, 70px) clamp(18px, 4vw, 48px); }
.ls-v3-process-grid { max-width: 1040px !important; }
.ls-v3-process-grid > .wp-block-column { min-height: 175px; padding: 20px 18px; }
.ls-v3-process-number { margin-bottom: 20px; }

.ls-v3-contact { padding: 12px clamp(18px, 4vw, 48px) clamp(48px, 6vw, 72px); }
.ls-v3-contact-panel { border-radius: 52px 16px 52px 16px; gap: clamp(26px, 4vw, 44px); max-width: 1040px !important; padding: clamp(30px, 4.5vw, 48px); }
.ls-v3-contact-copy h2 { font-size: clamp(2.55rem, 4.5vw, 4.4rem); }
.ls-v2-mail-form { padding: clamp(20px, 2.5vw, 30px); }

@media (max-width: 900px) {
  .ls-v3-product-row,
  .ls-v3-product-row-reverse { grid-template-columns: minmax(0, 1fr); }
  .ls-v3-quality-stage { min-height: 610px; }
  .ls-v3-quality-card { width: 62%; }
}

@media (max-width: 680px) {
  .ls-v3-hero { padding: 28px 16px 44px; }
  .ls-v3-hero-main img { max-height: none; }
  .ls-v3-hero-details img { height: 68px; width: 68px; }
  .ls-v3-slider { height: 380px; }
  .ls-v3-slider-copy h2 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .ls-v3-products { padding-left: 10px; padding-right: 10px; }
  .ls-v3-product-row,
  .ls-v3-product-row-reverse { border-radius: 12px 32px 12px 32px; margin-bottom: 22px !important; padding: 6px; }
  .ls-v3-mosaic,
  .ls-v3-mosaic-tall,
  .ls-v3-mosaic-wide,
  .ls-v3-mosaic-portrait,
  .ls-v3-mosaic-short { height: clamp(270px, 76vw, 340px); }
  .ls-v3-product-copy { padding: 22px 14px 26px; }
  .ls-gallery-cta { align-items: flex-start !important; border-radius: 28px 10px 28px 10px; flex-direction: column; padding: 24px 20px; }
  .ls-v3-quality { padding-left: 10px; padding-right: 10px; }
  .ls-v3-quality-stage { min-height: 0; }
  .ls-v3-quality-image img { height: 300px; }
  .ls-v3-quality-card { margin-top: -44px; padding: 26px 20px; width: calc(100% - 16px); }
  .ls-v3-region { padding-left: 10px; padding-right: 10px; }
  .ls-v3-region-panel,
  .ls-v3-contact-panel { padding: 28px 20px; }
}

/* Zusätzliche kompakte Galerieseite */
.ls-gallery-hero { min-height: 330px !important; }
.ls-gallery-hero h1 { font-size: clamp(2.7rem, 5vw, 5rem) !important; }
.ls-gallery-hero .wp-block-cover__inner-container > .wp-block-group { max-width: 1040px !important; }
.ls-gallery-section { padding: clamp(26px, 3vw, 40px) clamp(14px, 3vw, 34px); }
.ls-gallery-section + .ls-gallery-section { padding-top: 0; }
.ls-gallery-category { max-width: 1040px; }
.ls-gallery-category > h2 { font-size: clamp(1.8rem, 3vw, 3rem); margin-bottom: 20px; }
.ls-gallery-category-intro { font-size: .9rem; line-height: 1.65; margin-bottom: 24px; }
.ls-gallery-back { max-width: 1040px; }
@media (max-width: 680px) {
  .ls-gallery-hero { min-height: 280px !important; }
  .ls-gallery-section { padding-left: 10px; padding-right: 10px; }
}

/* Gesamte Website über die Browserbreite */
body { padding: 0; }
.wp-site-blocks {
  box-shadow: none;
  margin: 0;
  max-width: none;
  overflow: visible;
  width: 100%;
}
.ls-header-inner,
.ls-footer-grid,
body.page-template-galerie .ls-gallery-hero .wp-block-cover__inner-container > .wp-block-group {
  max-width: 1500px !important;
}
.ls-v3-hero-grid,
.ls-v3-slider,
.ls-v3-section-head,
.ls-v3-product-row,
.ls-gallery-cta,
.ls-v3-quality-stage,
.ls-v3-region-panel,
.ls-v3-process-grid,
.ls-v3-contact-panel { max-width: 1400px !important; }
body.page-template-galerie .ls-gallery-category,
body.page-template-galerie .ls-gallery-back {
  max-width: none !important;
  width: 100%;
}
body.page-template-galerie .ls-gallery-section { padding-left: clamp(12px, 2vw, 32px); padding-right: clamp(12px, 2vw, 32px); }
body.page-template-galerie .ls-gallery-grid { max-width: none !important; width: 100%; }
.ls-gallery-user-content { margin: 0 !important; max-width: none !important; width: 100%; }
.ls-gallery-user-content .wp-block-gallery { margin: 0 !important; max-width: none !important; }
.ls-gallery-user-content .wp-block-gallery .wp-block-image { margin: 0 !important; min-width: 0; width: auto !important; }

@media (max-width: 680px) {
  body.page-template-galerie .ls-gallery-section { padding-left: 6px; padding-right: 6px; }
}

/* =========================================================
   PREMIUM-FARBEN, KONTRAST UND SEO-LESBARKEIT – VERSION 2.7
   ========================================================= */
:root {
  --ls-ink: #211a17;
  --ls-soft: #342824;
  --ls-paper: #e7dacb;
  --ls-light: #faf7f1;
  --ls-rust: #a44726;
  --ls-rust-dark: #74341f;
  --ls-copper: #c87546;
  --ls-sage: #6f7565;
  --ls-white: #fffdf9;
  --ls-line: rgba(67, 45, 34, .18);
}

html { background: var(--ls-light); }
body {
  background: var(--ls-light);
  color: var(--ls-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}
.wp-site-blocks { background: var(--ls-light); }
::selection { background: var(--ls-copper); color: #fff; }
a, button, .wp-element-button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
a:focus-visible,
button:focus-visible,
.wp-element-button:focus-visible,
summary:focus-visible {
  outline: 3px solid #e6a47d;
  outline-offset: 4px;
}
.wp-element-button,
.ls-v2-mail-form button {
  box-shadow: 0 8px 20px rgba(116, 52, 31, .18);
  min-height: 44px;
}
.wp-element-button:hover,
.ls-v2-mail-form button:hover { box-shadow: 0 12px 28px rgba(116, 52, 31, .25); transform: translateY(-2px); }

.ls-header {
  background: linear-gradient(90deg, #1d1715, #2c201d 55%, #211816) !important;
  box-shadow: 0 8px 30px rgba(28, 20, 17, .16);
}
.ls-header .wp-block-navigation-item__content { color: rgba(255, 253, 249, .88); }
.ls-header .wp-block-navigation-item__content:hover { color: #eda47b; }
.ls-header-line { border-color: rgba(237, 164, 123, .38) !important; }

.ls-v3-hero {
  background-color: var(--ls-light);
  background-image:
    radial-gradient(circle at 12% 20%, rgba(200, 117, 70, .14), transparent 25%),
    radial-gradient(circle at 88% 72%, rgba(111, 117, 101, .10), transparent 27%);
  border-bottom: 1px solid rgba(164, 71, 38, .12);
}
.ls-v3-hero-main img {
  border: 1px solid rgba(164, 71, 38, .16);
  box-shadow: 0 28px 70px rgba(64, 39, 28, .18);
  filter: saturate(.95) contrast(1.04);
}
.ls-v3-hero-details img { border-color: var(--ls-white); box-shadow: 0 13px 30px rgba(55, 34, 26, .22); }
.ls-v3-hero-copy h1 { color: var(--ls-ink); }
.ls-v3-hero-copy h1 em { color: var(--ls-rust); }
.ls-v3-hero-copy .ls-v3-lead { color: #322821 !important; }
.ls-v3-buttons .wp-block-button__link { padding-left: 18px; padding-right: 18px; }
.ls-v3-buttons .is-style-outline .wp-block-button__link { background: rgba(255, 253, 249, .72); }
.ls-v3-buttons .is-style-outline .wp-block-button__link:hover { background: var(--ls-rust); color: #fff; }

.ls-v3-slider-section { background: #f1e8dc; }
.ls-v3-slider {
  border: 1px solid rgba(255, 255, 255, .42);
  box-shadow: 0 26px 70px rgba(49, 30, 23, .22);
}
.ls-v3-slider-overlay { background: linear-gradient(90deg, rgba(28, 21, 18, .92) 0%, rgba(40, 27, 22, .62) 48%, rgba(28, 21, 18, .10) 82%); }

.ls-v3-products { background: var(--ls-light); }
.ls-v3-section-head > p:last-child { color: #5f554d; }
.ls-v3-product-row {
  border: 1px solid rgba(116, 52, 31, .12);
  box-shadow: 0 20px 54px rgba(65, 43, 31, .10);
}
.ls-v3-product-row:hover { box-shadow: 0 28px 66px rgba(65, 43, 31, .15); transform: translateY(-3px); }
.ls-v3-product-sand { background: #e8dccd; }
.ls-v3-product-cream { background: #fffaf3; }
.ls-v3-product-rust { background: linear-gradient(135deg, #b75d39, #823c25 60%, #4c2921); }
.ls-v3-product-dark { background: linear-gradient(135deg, #443431, #211917 74%); }
.ls-v3-mosaic img { filter: saturate(.95) contrast(1.04); }
.ls-v3-product-link a { color: #8e3c20; }
.ls-gallery-cta { background: linear-gradient(112deg, #eadbcd, #d8b19a 58%, #bd6840); box-shadow: 0 18px 46px rgba(91, 49, 31, .13); }

.ls-v3-quality { background: #efe5d9; }
.ls-v3-quality-image img { box-shadow: 0 24px 58px rgba(52, 34, 27, .16); filter: saturate(.88) contrast(1.05); }
.ls-v3-quality-card { background: linear-gradient(140deg, #b85d3b, #77361f 62%, #2d211e); }

.ls-v3-region { background: var(--ls-light); }
.ls-v3-region-panel {
  background: linear-gradient(118deg, #ead8ca, #dcb7a1 56%, #c77850);
  box-shadow: 0 20px 52px rgba(87, 49, 34, .12);
}
.ls-v3-region-places span { border: 1px solid rgba(116, 52, 31, .10); }

.ls-v3-process { background: var(--ls-ink); color: #fff; }
.ls-v3-process .ls-v3-section-head h2 { color: #fff; }
.ls-v3-process .ls-v3-kicker { color: #eda47b; }
.ls-v3-process-grid > .wp-block-column {
  background: #fffaf3;
  border: 0;
  box-shadow: 0 15px 34px rgba(0, 0, 0, .15);
  color: var(--ls-ink);
}
.ls-v3-process-grid > .wp-block-column:nth-child(even) { background: #e4d4c5; }

.ls-v3-faq {
  background: #efe5d9;
  padding: clamp(54px, 7vw, 88px) clamp(18px, 5vw, 64px);
}
.ls-v3-faq-inner {
  align-items: start;
  display: grid !important;
  gap: clamp(34px, 5vw, 78px);
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  margin: 0 auto !important;
  max-width: 1400px !important;
}
.ls-v3-faq-inner > .ls-v3-section-head { margin: 0 !important; }
.ls-v3-faq-inner > .ls-v3-section-head h2 { font-size: clamp(2.15rem, 3.8vw, 4rem); }
.ls-v3-faq-list { max-width: none !important; }
.ls-v3-faq-list details {
  background: rgba(255, 253, 249, .90);
  border: 1px solid rgba(116, 52, 31, .12);
  border-radius: 16px 34px 16px 16px;
  box-shadow: 0 10px 28px rgba(68, 43, 31, .07);
  margin-bottom: 12px;
  padding: 0 clamp(18px, 2.4vw, 30px);
}
.ls-v3-faq-list summary {
  color: var(--ls-ink);
  cursor: pointer;
  font-weight: 750;
  list-style: none;
  padding: 20px 42px 20px 0;
  position: relative;
}
.ls-v3-faq-list summary::-webkit-details-marker { display: none; }
.ls-v3-faq-list summary::after { color: var(--ls-rust); content: "+"; font-size: 1.55rem; position: absolute; right: 3px; top: 12px; }
.ls-v3-faq-list details[open] summary::after { content: "−"; }
.ls-v3-faq-list details p { color: #60564e; line-height: 1.7; margin: 0; padding: 0 42px 22px 0; }

.ls-v3-contact { background: var(--ls-light); }
.ls-v3-contact-panel { background: linear-gradient(118deg, #a94e2f, #6d321f 52%, #251c1a); box-shadow: 0 25px 65px rgba(66, 34, 24, .20); }
.ls-v2-mail-form { background: rgba(255, 253, 249, .98); }
.ls-v2-mail-form input:focus,
.ls-v2-mail-form select:focus,
.ls-v2-mail-form textarea:focus { border-color: var(--ls-rust); outline: none; }

.ls-footer,
.ls-footer.has-creme-background-color { background: var(--ls-ink) !important; border-top-color: rgba(237, 164, 123, .28); color: #fff !important; }
.ls-footer h3 { color: #eda47b; }
.ls-footer p { color: rgba(255, 253, 249, .68); }
.ls-footer a { color: rgba(255, 253, 249, .88); }
.ls-footer a:hover { color: #eda47b; }

.ls-gallery-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(28, 21, 18, .88), rgba(50, 30, 23, .56)) !important; opacity: 1 !important; }
.ls-gallery-section { background-color: var(--ls-light) !important; }
.ls-gallery-section:nth-of-type(odd) { background-color: #f2e9de !important; }
.ls-gallery-item { box-shadow: 0 10px 26px rgba(53, 34, 26, .12); }
.ls-gallery-item img { filter: saturate(.94) contrast(1.04); }
.ls-gallery-item:hover { box-shadow: 0 17px 38px rgba(53, 34, 26, .20); transform: translateY(-3px); }

/* Produkt-, Inhalts- und Beitragsseiten */
.ls-page-main {
  background-color: var(--ls-light);
  background-image: radial-gradient(circle at 8% 5%, rgba(200, 117, 70, .12), transparent 24%);
  box-sizing: border-box;
  max-width: none !important;
  padding: clamp(52px, 7vw, 92px) clamp(18px, 5vw, 64px) clamp(72px, 9vw, 116px) !important;
}
.ls-page-main > .wp-block-post-title,
.ls-page-main > .wp-block-query-title,
.ls-page-main > .wp-block-post-date,
.ls-page-main > .wp-block-post-featured-image,
.ls-page-main > .wp-block-post-content,
.ls-page-main > .wp-block-query {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
  width: 100%;
}
.ls-page-main > .wp-block-post-title,
.ls-page-main > .wp-block-query-title {
  color: var(--ls-ink);
  font-size: clamp(2.7rem, 6vw, 6rem);
  letter-spacing: -.055em;
  line-height: .94;
  margin-bottom: clamp(34px, 5vw, 60px) !important;
  padding-left: clamp(16px, 3vw, 38px);
  position: relative;
}
.ls-page-main > .wp-block-post-title::before,
.ls-page-main > .wp-block-query-title::before {
  background: linear-gradient(var(--ls-copper), var(--ls-rust));
  border-radius: 6px;
  bottom: .08em;
  content: "";
  left: 0;
  position: absolute;
  top: .08em;
  width: 5px;
}
.ls-page-main > .wp-block-post-featured-image img,
.ls-page-main .wp-block-post-content .wp-block-image img {
  border-radius: 16px 46px 16px 16px;
  box-shadow: 0 18px 46px rgba(59, 38, 29, .14);
}
.ls-page-main .wp-block-post-content { color: #504740; font-size: clamp(.98rem, 1.15vw, 1.08rem); line-height: 1.75; }
.ls-page-main .wp-block-post-content h1,
.ls-page-main .wp-block-post-content h2,
.ls-page-main .wp-block-post-content h3 { color: var(--ls-ink); letter-spacing: -.025em; line-height: 1.08; margin-top: 1.55em; }
.ls-page-main .wp-block-post-content h2 { font-size: clamp(2rem, 3.8vw, 3.8rem); }
.ls-page-main .wp-block-post-content h3 { font-size: clamp(1.35rem, 2.4vw, 2.2rem); }
.ls-page-main .wp-block-post-content a { color: #8e3c20; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.ls-page-main .wp-block-post-content .wp-block-button__link { color: #fff; text-decoration: none; }
.ls-page-main .wp-block-post-content ul,
.ls-page-main .wp-block-post-content ol { padding-left: 1.25em; }
.ls-page-main .wp-block-post-content li { margin-bottom: .5em; }
.ls-index-main .wp-block-post-template { display: grid; gap: 26px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ls-index-main .wp-block-post-template > li { background: #fffaf3; border: 1px solid rgba(116, 52, 31, .12); border-radius: 16px 38px 16px 16px; box-shadow: 0 12px 32px rgba(59, 38, 29, .08); padding: 26px; }

@media (max-width: 900px) {
  .ls-v3-faq-inner { grid-template-columns: minmax(0, 1fr); }
  .ls-index-main .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
  .ls-v3-product-row:hover,
  .ls-gallery-item:hover { transform: none; }
}

@media (max-width: 680px) {
  .ls-v3-buttons { gap: 9px; }
  .ls-v3-buttons .wp-block-button { flex: 1 1 auto; }
  .ls-v3-buttons .wp-block-button__link { text-align: center; width: 100%; }
  .ls-v3-faq { padding-left: 12px; padding-right: 12px; }
  .ls-v3-faq-list details { border-radius: 13px 26px 13px 13px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* =========================================================
   RECHTECKIGE DETAILBILDER & 120-BILDER-GALERIE – VERSION 3.0
   ========================================================= */
/* Kleine Bilder bleiben klar rechteckig und erhalten nur weiche Ecken. */
.ls-v3-hero-details .wp-block-image,
.ls-v3-hero-details img,
.ls-v3-mosaic figure:not(.ls-v3-main-image),
.ls-v3-mosaic figure:not(.ls-v3-main-image) img,
.ls-v3-gallery-grid .wp-block-image,
.ls-v3-gallery-grid .wp-block-image img,
.ls-v2-project-card img {
  border-radius: 12px !important;
}

.ls-v3-hero-details .wp-block-image,
.ls-v3-mosaic figure:not(.ls-v3-main-image),
.ls-v3-gallery-grid .wp-block-image { overflow: hidden; }

/* Sechs Spalten ergeben bei 120 Bildern genau 20 Reihen auf großen Bildschirmen. */
.ls-gallery-user-content .ls-gallery-grid {
  display: grid !important;
  gap: clamp(6px, .75vw, 12px);
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  width: 100% !important;
}
.ls-gallery-user-content .ls-gallery-item {
  aspect-ratio: 1 / 1;
  border-radius: 10px !important;
  contain-intrinsic-size: 240px;
  content-visibility: auto;
  overflow: hidden;
}
.ls-gallery-user-content .ls-gallery-item img {
  border-radius: 10px !important;
  height: 100% !important;
  object-fit: cover;
  width: 100% !important;
}

/* Im WordPress-Editor werden alle Galeriebilder sofort vollständig dargestellt. */
.editor-styles-wrapper .ls-gallery-item { content-visibility: visible; }

@media (max-width: 980px) {
  .ls-gallery-user-content .ls-gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

@media (max-width: 680px) {
  .ls-gallery-user-content .ls-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ls-v3-hero-details .wp-block-image,
  .ls-v3-hero-details img,
  .ls-v3-mosaic figure:not(.ls-v3-main-image),
  .ls-v3-mosaic figure:not(.ls-v3-main-image) img { border-radius: 9px !important; }
}

/* =========================================================
   DIREKT BEARBEITBARES PROJEKT-LAUFBILD – VERSION 3.5
   ========================================================= */
.ls-v3-slider-track {
  animation: none !important;
  display: block !important;
  height: 100%;
  inset: 0;
  margin: 0 !important;
  position: absolute;
  width: 100% !important;
}
.ls-v3-slider-track figure.ls-v3-slide-image {
  animation: ls-v33-slider-fade 50s linear infinite;
  flex: none;
  height: 100%;
  inset: 0;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  transform: none;
  width: 100%;
}
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(2) { animation-delay: -45s; }
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(3) { animation-delay: -40s; }
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(4) { animation-delay: -35s; }
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(5) { animation-delay: -30s; }
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(6) { animation-delay: -25s; }
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(7) { animation-delay: -20s; }
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(8) { animation-delay: -15s; }
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(9) { animation-delay: -10s; }
.ls-v3-slider-track figure.ls-v3-slide-image:nth-child(10) { animation-delay: -5s; }
.ls-v3-slider-track figure.ls-v3-slide-image img {
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  width: 100%;
}
.ls-v3-slider:hover .ls-v3-slider-track figure.ls-v3-slide-image,
.ls-v3-slider:focus-within .ls-v3-slider-track figure.ls-v3-slide-image { animation-play-state: paused; }
.ls-v3-slider-kicker {
  color: #f0b18f !important;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .17em;
  margin: 0 0 14px !important;
  text-transform: uppercase;
}
.ls-v3-slider-link { margin: 14px 0 0 !important; }
.ls-v3-slider-dots .ls-v3-slider-dot {
  animation: ls-v33-slider-dot 50s linear infinite;
  background: rgba(255,255,255,.38);
  height: 3px;
  margin: 0 !important;
  min-height: 3px;
  width: 22px;
}
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(2) { animation-delay: -45s; }
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(3) { animation-delay: -40s; }
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(4) { animation-delay: -35s; }
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(5) { animation-delay: -30s; }
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(6) { animation-delay: -25s; }
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(7) { animation-delay: -20s; }
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(8) { animation-delay: -15s; }
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(9) { animation-delay: -10s; }
.ls-v3-slider-dots .ls-v3-slider-dot:nth-child(10) { animation-delay: -5s; }

@keyframes ls-v33-slider-fade {
  0%, 8% { opacity: 1; }
  10%, 100% { opacity: 0; }
}
@keyframes ls-v33-slider-dot {
  0%, 8% { background: #f0b18f; }
  10%, 100% { background: rgba(255,255,255,.38); }
}

@media (prefers-reduced-motion: reduce) {
  .ls-v3-slider-track figure.ls-v3-slide-image { animation: none !important; opacity: 0; }
  .ls-v3-slider-track figure.ls-v3-slide-image:first-child { opacity: 1; }
  .ls-v3-slider-dots .ls-v3-slider-dot { animation: none !important; }
}

/* =========================================================
   MITTIGE, VOLLSTÄNDIG SICHTBARE LAUFBILDER – VERSION 3.6
   ========================================================= */
.ls-v3-slider,
.ls-v3-slider-track { background: #211a17; }
.ls-v3-slider-track figure.ls-v3-slide-image img {
  background: #211a17;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: none !important;
}
.ls-v3-slider-overlay {
  background: linear-gradient(0deg, rgba(29,20,18,.9) 0%, rgba(31,22,20,.5) 32%, rgba(31,22,20,.1) 64%, rgba(31,22,20,0) 82%) !important;
}
.ls-v3-slider-copy {
  bottom: clamp(24px, 4vw, 46px);
  left: clamp(24px, 4.5vw, 56px);
  max-width: 620px;
  text-shadow: 0 2px 18px rgba(0,0,0,.65);
}

/* Ältere gespeicherte HTML-Fassung des Laufbilds ebenfalls korrekt darstellen. */
.ls-v3-slider-track > figure:not(.ls-v3-slide-image) {
  animation: ls-v36-legacy-slider-fade 25s linear infinite;
  flex: none !important;
  height: 100% !important;
  inset: 0;
  margin: 0 !important;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 100% !important;
}
.ls-v3-slider-track > figure:not(.ls-v3-slide-image):nth-child(2) { animation-delay: -20s; }
.ls-v3-slider-track > figure:not(.ls-v3-slide-image):nth-child(3) { animation-delay: -15s; }
.ls-v3-slider-track > figure:not(.ls-v3-slide-image):nth-child(4) { animation-delay: -10s; }
.ls-v3-slider-track > figure:not(.ls-v3-slide-image):nth-child(5) { animation-delay: -5s; }
.ls-v3-slider-track > figure:not(.ls-v3-slide-image) img {
  background: #211a17;
  height: 100% !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: none !important;
  width: 100% !important;
}
.ls-v3-slider:hover .ls-v3-slider-track > figure:not(.ls-v3-slide-image),
.ls-v3-slider:focus-within .ls-v3-slider-track > figure:not(.ls-v3-slide-image) { animation-play-state: paused; }

@keyframes ls-v36-legacy-slider-fade {
  0%, 16% { opacity: 1; }
  20%, 100% { opacity: 0; }
}

@media (max-width: 680px) {
  .ls-v3-slider-copy { bottom: 22px; left: 20px; right: 20px; }
  .ls-v3-slider-copy p:not(.ls-v3-slider-kicker):not(.ls-v3-slider-link) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ls-v3-slider-track > figure:not(.ls-v3-slide-image) { animation: none !important; opacity: 0; }
  .ls-v3-slider-track > figure:not(.ls-v3-slide-image):first-child { opacity: 1; }
}
