.elementor-447 .elementor-element.elementor-element-2823b67{--display:flex;}.elementor-447 .elementor-element.elementor-element-d99ca38{width:100%;max-width:100%;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-d99ca38 *//* =========================================
   OPEN SCHLÜSSELDIENST LEGAL PAGES
   Impressum / Datenschutz / AGB / Cookies
========================================= */

:root{
  --osd-legal-bg:#eef1f2;
  --osd-legal-card:#ffffff;
  --osd-legal-text:#20252a;
  --osd-legal-muted:#657078;
  --osd-legal-line:rgba(30,38,44,.12);
  --osd-legal-dark:#172431;
  --osd-legal-silver:#8e969d;
  --osd-legal-silver-dark:#737b83;

  --osd-accent:#19b6c9;
  --osd-accent-dark:#1298a8;
  --osd-accent-soft:rgba(25,182,201,.16);
  --osd-accent-glow:rgba(25,182,201,.34);

  --osd-legal-shadow:0 24px 70px rgba(20,25,30,.12);
  --osd-legal-shadow-soft:0 12px 34px rgba(20,25,30,.08);
}

html[data-theme="dark"]{
  --osd-legal-bg:#111416;
  --osd-legal-card:#202529;
  --osd-legal-text:#f4f6f7;
  --osd-legal-muted:#c1c8cd;
  --osd-legal-line:rgba(255,255,255,.12);
  --osd-legal-dark:#0d141b;
  --osd-legal-silver:#aab2b8;
  --osd-legal-silver-dark:#8e979f;

  --osd-accent:#27c8dc;
  --osd-accent-dark:#19b6c9;
  --osd-accent-soft:rgba(39,200,220,.16);
  --osd-accent-glow:rgba(39,200,220,.30);

  --osd-legal-shadow:0 24px 70px rgba(0,0,0,.38);
  --osd-legal-shadow-soft:0 12px 34px rgba(0,0,0,.25);
}

.osd-legal-page,
.osd-legal-page *{
  box-sizing:border-box;
}

.osd-legal-page{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow:hidden;
  color:var(--osd-legal-text);
  background:
    radial-gradient(circle at 8% 8%, rgba(25,182,201,.13), transparent 27%),
    radial-gradient(circle at 88% 0%, rgba(142,150,157,.16), transparent 26%),
    linear-gradient(180deg,#f8fafb 0%,var(--osd-legal-bg) 35%,var(--osd-legal-bg) 100%);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html[data-theme="dark"] .osd-legal-page{
  background:
    radial-gradient(circle at 8% 8%, rgba(39,200,220,.10), transparent 27%),
    radial-gradient(circle at 88% 0%, rgba(170,178,184,.10), transparent 26%),
    linear-gradient(180deg,#161a1d 0%,var(--osd-legal-bg) 35%,var(--osd-legal-bg) 100%);
}

.osd-legal-container{
  width:min(1120px, calc(100% - 28px));
  margin:0 auto;
}

/* Elementor Full Width Fix */
.elementor-section:has(.osd-legal-page),
.elementor-container:has(.osd-legal-page),
.elementor-widget-html:has(.osd-legal-page),
.elementor-widget-html:has(.osd-legal-page) .elementor-widget-container,
.e-con:has(.osd-legal-page),
.e-container:has(.osd-legal-page){
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Hero */
.osd-legal-hero{
  position:relative;
  padding:calc(var(--osd-header-h, 82px) + 58px) 0 70px;
  overflow:hidden;
}

.osd-legal-bg{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(var(--osd-legal-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--osd-legal-line) 1px, transparent 1px);
  background-size:82px 82px;
  opacity:.28;
  mask-image:linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

.osd-legal-hero .osd-legal-container{
  position:relative;
  z-index:2;
  text-align:center;
}

.osd-legal-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  margin:0 auto;
  padding:9px 13px;
  border-radius:999px;
  background:var(--osd-accent-soft);
  color:var(--osd-accent-dark);
  font-size:13px;
  line-height:1;
  font-weight:950;
}

.osd-legal-pill span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--osd-accent-dark);
  box-shadow:0 0 0 6px var(--osd-accent-soft);
}

.osd-legal-pill b{
  font:inherit;
}

.osd-legal-hero h1{
  max-width:900px;
  margin:22px auto 0;
  color:var(--osd-legal-text);
  font-size:clamp(44px,6vw,82px);
  line-height:.94;
  letter-spacing:-.075em;
  font-weight:950;
}

.osd-legal-hero p{
  max-width:640px;
  margin:18px auto 0;
  color:var(--osd-legal-muted);
  font-size:17px;
  line-height:1.55;
  font-weight:760;
}

/* Content */
.osd-legal-content{
  padding:0 0 80px;
}

.osd-legal-card{
  position:relative;
  padding:42px;
  border-radius:34px;
  background:var(--osd-legal-card);
  border:1px solid var(--osd-legal-line);
  box-shadow:var(--osd-legal-shadow);
  overflow:hidden;
}

.osd-legal-card::before{
  content:"";
  position:absolute;
  left:34px;
  right:34px;
  top:0;
  height:5px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg, var(--osd-accent), var(--osd-accent-dark));
}

.osd-legal-section{
  padding:0 0 26px;
  margin:0 0 26px;
  border-bottom:1px solid var(--osd-legal-line);
}

.osd-legal-section:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:0;
}

.osd-legal-section h2{
  margin:0 0 12px;
  color:var(--osd-legal-text);
  font-size:clamp(22px,2.4vw,32px);
  line-height:1.1;
  letter-spacing:-.045em;
  font-weight:950;
}

.osd-legal-section h3{
  margin:18px 0 10px;
  color:var(--osd-legal-text);
  font-size:20px;
  line-height:1.2;
  font-weight:950;
}

.osd-legal-section p{
  margin:0;
  color:var(--osd-legal-muted);
  font-size:16px;
  line-height:1.75;
  font-weight:700;
}

.osd-legal-section p + p{
  margin-top:14px;
}

.osd-legal-section ul{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

.osd-legal-section li{
  position:relative;
  padding-left:24px;
  color:var(--osd-legal-muted);
  font-size:16px;
  line-height:1.55;
  font-weight:750;
}

.osd-legal-section li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--osd-accent);
  box-shadow:0 0 0 5px var(--osd-accent-soft);
}

.osd-legal-card a{
  color:var(--osd-accent-dark) !important;
  text-decoration:none !important;
  font-weight:900;
  overflow-wrap:anywhere;
}

.osd-legal-card a:hover{
  text-decoration:underline !important;
}

/* Cookie shortcode box */
.osd-cookie-policy{
  color:var(--osd-legal-muted);
  font-size:16px;
  line-height:1.7;
  font-weight:700;
}

.osd-cookie-policy h1,
.osd-cookie-policy h2,
.osd-cookie-policy h3,
.osd-cookie-policy h4{
  color:var(--osd-legal-text);
  letter-spacing:-.03em;
  font-weight:950;
}

.osd-cookie-policy table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:18px;
}

.osd-cookie-policy th,
.osd-cookie-policy td{
  border:1px solid var(--osd-legal-line);
  padding:12px;
  text-align:left;
}

/* Mobile */
@media(max-width:760px){
  .osd-legal-container{
    width:min(100% - 24px,1120px);
  }

  .osd-legal-hero{
    padding:calc(var(--osd-header-h, 72px) + 42px) 0 46px;
  }

  .osd-legal-hero h1{
    font-size:clamp(38px,12vw,56px);
    line-height:.96;
  }

  .osd-legal-hero p{
    font-size:15px;
  }

  .osd-legal-card{
    padding:26px;
    border-radius:26px;
  }

  .osd-legal-card::before{
    left:24px;
    right:24px;
  }

  .osd-legal-section{
    padding-bottom:22px;
    margin-bottom:22px;
  }

  .osd-legal-section h2{
    font-size:24px;
  }

  .osd-legal-section p,
  .osd-legal-section li{
    font-size:15px;
    line-height:1.65;
  }
}/* End custom CSS */