.elementor-74 .elementor-element.elementor-element-41540b6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-74 .elementor-element.elementor-element-b7752d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS *//************************************************************
  elbe3D • Impressum (seitenlokal)
  – Scope: nur innerhalb .legal-scope
  – Hero mit Glass-Card, 2-Spalten-Grid (Desktop), 1 Spalte (mobil)
  – CI-Buttons, Chips, Fokus-Styles, Print-Fallback
************************************************************/

/* ===== CI-Variablen lokal ===== */
.legal-scope{
  --brand:#1A56FF;
  --brand-600:#184EE6;
  --ink:#0B1324;
  --muted:#334155;
  --line:#E5E7EB;
  --glass:rgba(255,255,255,.72);
  --glass-strong:rgba(255,255,255,.84);
  --radius:22px;
  --chip-radius:999px;
  --shadow:0 24px 60px rgba(2,6,23,.14);
}

.legal-scope .wrap{
  max-width:1200px;
  margin-inline:auto;
  padding-inline:clamp(16px,3vw,24px);
}

/* ----------------------------------------------------------
   HERO (Full-bleed Bild + schwebende Glass-Card)
---------------------------------------------------------- */

/* Overlay/Maske der Section sicher entfernen, Bild bleibt sichtbar */
#legal-hero.hero--overlay::after{ content:none !important; display:none !important; }
#legal-hero.hero--overlay{ background:transparent !important; box-shadow:none !important; }
#legal-hero,
#legal-hero > .e-con,
#legal-hero > .elementor-container,
#legal-hero > .e-con > .e-con{ background:transparent !important; }

/* Full-bleed + Positionierung; Bild bitte in Elementor als Hintergrund setzen */
#legal-hero{
  position:relative;
  width:100vw; max-width:100vw !important;
  left:50%; margin-left:-50vw; margin-right:-50vw;
  min-height:clamp(420px, 62vh, 820px);
  display:flex; align-items:center;
  padding: clamp(32px, 7vw, 110px) clamp(16px, 3vw, 24px);
  background-size:cover !important;
  background-position: 50% var(--hero-y, 38%) !important;
  background-repeat:no-repeat !important;
  isolation:isolate;
}

/* Glass-Card im Hero */
#legal-hero .card{
  position:relative; z-index:1;
  max-width:min(980px, 94vw);
  margin-inline:auto;
  padding: clamp(18px, 3vw, 34px);
  background: var(--glass);
  border:1px solid rgba(255,255,255,.45);
  border-radius: var(--radius);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  box-shadow: var(--shadow);
}

/* Schattenfahne */
#legal-hero .card::after{
  content:"";
  position:absolute; left:10%; right:10%; bottom:-12px; height:22px;
  border-radius:999px; pointer-events:none;
  background: radial-gradient(60% 120% at 50% 50%, rgba(2,6,23,.20), rgba(2,6,23,0) 70%);
  filter: blur(8px);
}

/* Hero-Typo */
#legal-hero .eyebrow{
  margin:0 0 6px; letter-spacing:.08em; text-transform:uppercase;
  font-weight:800; font-size:12px; color:#6B7280;
}
#legal-hero .title{
  margin:.12em 0 .38em; color:var(--ink);
  line-height:1.12; font-weight:800;
  font-size: clamp(28px, 4.2vw, 44px);
}
#legal-hero .lead{
  color:var(--muted);
  max-width:70ch; margin:0;
}

/* Hero-Chips (z. B. Datenschutz / AGB / Widerspruch) */
#legal-hero .chip-row{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px }
#legal-hero .chip{
  display:inline-flex; align-items:center; justify-content:center;
  padding:7px 12px; border-radius:var(--chip-radius);
  background:rgba(238,242,255,.92);
  border:1px solid #E0E7FF; color:#0F172A;
  font-weight:800; font-size:.94rem; text-decoration:none;
  transition: transform .06s ease, box-shadow .25s ease, background-color .25s ease;
}
#legal-hero .chip:hover{
  transform:translateY(-1px); background:#E6ECFF;
  box-shadow:0 0 0 3px rgba(37,99,235,.22);
}

/* Buttons (falls im Hero genutzt) */
#legal-hero .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.9em 1.2em; border-radius:14px; font-weight:800;
  background:var(--brand); color:#fff; border:1px solid transparent;
  box-shadow:0 16px 40px rgba(26,86,255,.20);
  text-decoration:none; transition:transform .08s ease, background .2s ease;
}
#legal-hero .btn:hover{ background:var(--brand-600); transform:translateY(-1px) }
#legal-hero .btn--glass{
  background:var(--glass-strong); color:var(--ink);
  border:1px solid rgba(255,255,255,.55);
}
#legal-hero .btn--glass:hover{ background:#fff }

/* Responsiv */
@media (max-width:980px){
  #legal-hero{ min-height:clamp(380px, 58vh, 700px); padding-block: clamp(28px, 7vw, 72px) }
  #legal-hero .card{ padding: clamp(16px, 4vw, 24px) }
}
@media (max-width:540px){
  #legal-hero .btn{ width:100% }
}

/* Fallback ohne Blur */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  #legal-hero .card{ background:#fff !important; border-color:#fff !important; }
}

/* ----------------------------------------------------------
   GRID der Karten (Impressum-Inhalte)
   Desktop: 2 Spalten, mobil: 1 Spalte
---------------------------------------------------------- */

.legal-scope .legal-grid{
  display:grid;
  grid-template-columns:1fr;                /* Standard: 1 Spalte */
  gap: clamp(16px, 2.4vw, 24px);
  align-items:start;
  max-width:1100px;
  margin: clamp(18px,4vw,28px) auto;
  padding-inline: clamp(16px,3vw,24px);
}

@media (min-width:1024px){
  .legal-scope .legal-grid{
    grid-template-columns: 1fr 1fr;         /* 2 Spalten auf Desktop */
  }
}

/* Karte – Glass + Shadow, konsistente Innenabstände */
.legal-scope .card{
  position:relative;
  background:var(--glass);
  border:1px solid rgba(255,255,255,.48);
  border-radius:var(--radius);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  box-shadow:var(--shadow);
  overflow:hidden;
  padding:clamp(18px,3vw,28px);
}

/* Schattenfahne */
.legal-scope .card::after{
  content:""; position:absolute; left:12%; right:12%; bottom:-12px; height:20px;
  border-radius:999px; filter:blur(7px);
  background:radial-gradient(60% 120% at 50% 50%, rgba(2,6,23,.18), rgba(2,6,23,0) 70%);
  pointer-events:none;
}

/* Optional: Karte über gesamte Breite ziehen */
@media (min-width:1024px){
  .legal-scope .card.span-2{ grid-column:1 / -1; }
}

/* ----------------------------------------------------------
   Typografie & Links in Karten
---------------------------------------------------------- */

.legal-scope .card h2{
  margin:.1em 0 .45em; color:var(--ink);
  line-height:1.18; font-size:clamp(20px,2.4vw,24px);
}
.legal-scope .card h3{
  margin:.6em 0 .25em; color:var(--ink);
  font-size:clamp(16px,1.9vw,18px);
}
.legal-scope .card p,
.legal-scope .card li{ color:var(--muted); margin:.35em 0; }
.legal-scope .legal-list{ margin:.4rem 0 0; padding-left:18px }

.legal-scope a{
  color:var(--brand); text-decoration:none;
  border-bottom:1px solid rgba(26,86,255,.25);
  transition: color .2s ease, border-color .2s ease;
}
.legal-scope a:hover{ color:var(--brand-600); border-bottom-color:rgba(26,86,255,.5) }

/* dezente Trennung für Meta-Zeilen */
.legal-scope .meta{
  display:flex; flex-wrap:wrap; gap:12px; margin:.25rem 0 .5rem;
  color:var(--muted); font-size:.95rem;
}

/* ----------------------------------------------------------
   Buttons (allgemein, z. B. in einer Abschluss-Box)
---------------------------------------------------------- */

.legal-scope .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.88em 1.2em; border-radius:14px;
  font-weight:800; line-height:1; text-decoration:none !important;
  border:1px solid transparent;
  background:var(--brand); color:#fff;
  box-shadow:0 16px 40px rgba(26,86,255,.20);
  transition: transform .08s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.legal-scope .btn:hover{ background:var(--brand-600); transform:translateY(-1px) }

.legal-scope .btn--glass{
  background:var(--glass-strong); color:var(--ink);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 12px 28px rgba(2,6,23,.08);
}
.legal-scope .btn--glass:hover{
  background:#fff; box-shadow:0 16px 40px rgba(2,6,23,.12);
}

/* Fokus-Styles (Zugänglichkeit) */
.legal-scope a:focus-visible,
.legal-scope .btn:focus-visible,
#legal-hero .chip:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
  box-shadow:0 0 0 3px rgba(26,86,255,.25);
}

/* ----------------------------------------------------------
   Print-Fallback (keine Glas-Effekte)
---------------------------------------------------------- */
@media print{
  #legal-hero{ min-height:auto; padding:0; background:none !important }
  #legal-hero .card,
  .legal-scope .card{
    background:#fff !important; border:1px solid #ddd !important;
    box-shadow:none !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  }
  .legal-scope a{ border-bottom:1px solid #999 }
}/* End custom CSS */