.ppro-legal-document{
  max-width:920px;
  margin:0 auto;
  color:#18211b;
  line-height:1.56;
}
.ppro-legal-document *,
.ppro-legal-document *::before,
.ppro-legal-document *::after{box-sizing:border-box}
.ppro-legal-document .ppro-legal-meta{margin:0 0 14px;color:#59655e;font-size:13px}
.ppro-legal-toc{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 22px;
  padding:10px;
  border:1px solid #e3e9e5;
  border-radius:12px;
  background:#fbfcfb;
}
.ppro-legal-toc a{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:5px 8px;
  border:1px solid #e5eae6;
  border-radius:999px;
  background:#fff;
  color:#354238;
  font-size:12px;
  font-weight:650;
  line-height:1.25;
  text-decoration:none;
}
.ppro-legal-toc a:hover{border-color:#cbd6cf;color:#1f6f42}
.ppro-legal-toc a:focus-visible,
.ppro-service-category>summary:focus-visible,
.ppro-service-card>summary:focus-visible{
  outline:3px solid rgba(31,143,78,.24);
  outline-offset:2px;
}
.ppro-legal-section{margin:0 0 24px}
.ppro-legal-section>h2{
  margin:0 0 9px;
  font-size:clamp(19px,2.5vw,24px);
  line-height:1.24;
  letter-spacing:0;
}
.ppro-legal-section p{margin:0 0 10px}
.ppro-legal-section .ppro-controller-block,
.ppro-legal-section .ppro-consent-settings-block{margin-top:8px}
.ppro-legal-details{
  display:grid;
  gap:0;
  margin:0;
}
.ppro-legal-details>div{
  display:grid;
  grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);
  gap:12px;
  padding:8px 0;
  border-top:1px solid #eef2ef;
}
.ppro-legal-details dt{
  color:#354238;
  font-size:13px;
  font-weight:780;
}
.ppro-legal-details dd{
  margin:0;
  min-width:0;
  color:#4f5b54;
  overflow-wrap:anywhere;
}
.ppro-imprint .ppro-legal-section{
  margin:0;
  padding:18px 0;
  border-top:1px solid #e8eee9;
}
.ppro-imprint .ppro-legal-section:first-child{
  padding-top:0;
  border-top:0;
}
.ppro-imprint .ppro-legal-section>h2{
  margin-bottom:8px;
  font-size:clamp(18px,2.2vw,22px);
}
.ppro-imprint a{color:#1f6f42;text-decoration:underline;text-underline-offset:2px}
.ppro-service-categories{
  display:grid;
  gap:12px;
  margin:14px 0 0;
}
.ppro-cookie-services-intro{
  margin:0;
  color:#59655e;
  font-size:14px;
}
.ppro-cookie-services-summary{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.ppro-cookie-services-summary>span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  max-width:100%;
  padding:5px 8px;
  border:1px solid #e0e7e2;
  border-radius:999px;
  background:#f7faf8;
  color:#435047;
  font-size:12px;
  font-weight:650;
  line-height:1.2;
}
.ppro-cookie-services-summary strong{
  min-width:20px;
  padding:1px 6px;
  border-radius:999px;
  background:#fff;
  color:#1f7a43;
  text-align:center;
}
.ppro-service-category{
  border:1px solid #e2e8e4;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.ppro-service-category>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:10px 13px;
  background:#fbfcfb;
  cursor:pointer;
  list-style:none;
}
.ppro-service-category>summary::-webkit-details-marker,
.ppro-service-card>summary::-webkit-details-marker{display:none}
.ppro-service-category>summary span{font-weight:760;color:#253129}
.ppro-service-category>summary small{
  color:#66706a;
  font-size:12px;
  font-weight:650;
}
.ppro-service-category>summary::after,
.ppro-service-more::after{
  content:"";
  width:8px;
  height:8px;
  border-right:1.8px solid currentColor;
  border-bottom:1.8px solid currentColor;
  transform:rotate(45deg);
  transition:transform .14s ease;
}
.ppro-service-category[open]>summary::after,
.ppro-service-card[open] .ppro-service-more::after{transform:rotate(225deg)}
.ppro-cookie-service-list{
  display:grid;
  gap:8px;
  padding:9px;
  background:#f6f8f6;
}
.ppro-service-card{
  border:1px solid #e3e9e5;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.ppro-service-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:48px;
  padding:10px 12px;
  cursor:pointer;
  list-style:none;
}
.ppro-service-main{
  display:grid;
  gap:3px;
  min-width:0;
}
.ppro-service-main strong{
  color:#18211b;
  font-size:15px;
  line-height:1.25;
}
.ppro-service-main em{
  color:#526058;
  font-size:11px;
  font-style:normal;
  font-weight:750;
  line-height:1.2;
}
.ppro-service-main span{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#59655e;
  font-size:13px;
  line-height:1.35;
}
.ppro-service-more{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#4f5b54;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
.ppro-service-details{
  padding:0 12px 12px;
  border-top:1px solid #edf1ee;
  background:#fff;
}
.ppro-service-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:10px 0 8px;
}
.ppro-service-badges span{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:3px 7px;
  border:1px solid #e0e7e2;
  border-radius:999px;
  background:#f7faf8;
  color:#526058;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.ppro-service-meta{
  display:grid;
  gap:0;
  margin:0;
}
.ppro-service-meta>div{
  display:grid;
  grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);
  gap:12px;
  padding:8px 0;
  border-top:1px solid #eef2ef;
}
.ppro-service-meta dt{
  color:#354238;
  font-size:12px;
  font-weight:780;
}
.ppro-service-meta dd{
  margin:0;
  min-width:0;
  color:#59655e;
  font-size:13px;
  overflow-wrap:anywhere;
}
.ppro-cookie-list dd{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.ppro-cookie-list code{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  padding:3px 6px;
  border:1px solid #e2e8e4;
  border-radius:7px;
  background:#fbfcfb;
  color:#26332b;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;
  line-height:1.25;
  white-space:normal;
  overflow-wrap:anywhere;
}
.ppro-cookie-list code small{
  color:#737d76;
  font-family:inherit;
  font-size:10px;
}
.ppro-scope dd{white-space:pre-line}
.ppro-service-meta a{color:#1f6f42;text-decoration:underline;text-underline-offset:2px}
.ppro-cookie-services-empty{
  padding:12px 14px;
  border:1px solid #e2e8e4;
  border-radius:10px;
  background:#fbfcfb;
  color:#59655e;
}
@media(max-width:720px){
  .ppro-legal-document{max-width:100%}
  .ppro-legal-toc{padding:8px;gap:6px}
  .ppro-service-summary{grid-template-columns:1fr;gap:8px}
  .ppro-service-more{justify-self:start}
  .ppro-service-meta>div,
  .ppro-legal-details>div{grid-template-columns:1fr;gap:3px}
  .ppro-cookie-service-list{padding:7px}
}
@media(prefers-reduced-motion:reduce){
  .ppro-service-category>summary::after,
  .ppro-service-more::after{transition:none}
}
@media print{
  .ppro-legal-document{max-width:none;color:#000}
  .ppro-legal-toc{display:none}
  .ppro-service-category,
  .ppro-service-card{break-inside:avoid;border-color:#ccc}
  .ppro-imprint .ppro-legal-section{break-inside:avoid;border-top-color:#ccc}
  .ppro-service-category:not([open]) .ppro-cookie-service-list,
  .ppro-service-card:not([open]) .ppro-service-details{display:block!important}
  .ppro-service-more{display:none}
  .ppro-service-main span{-webkit-line-clamp:unset;overflow:visible}
}

/* 0.1.13.0: client-side current consent summary; safe with full-page caches. */
.ppro-current-consent{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:14px 0 18px;
  padding:13px 14px;
  border:1px solid #dfe7e1;
  border-radius:12px;
  background:#f8fbf9;
  color:#344139;
}
.ppro-current-consent-copy{min-width:0}
.ppro-current-consent-copy strong{display:block;margin-bottom:3px;font-size:14px}
.ppro-current-consent-copy p{margin:0;color:#59655e;font-size:13px;line-height:1.45}
.ppro-current-consent-change{
  flex:0 0 auto;
  min-height:38px;
  padding:8px 12px;
  border:1px solid #cfdad2;
  border-radius:9px;
  background:#fff;
  color:#2e5f40;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.ppro-current-consent-change:hover{border-color:#9fb6a6;background:#f4f8f5}
@media(max-width:720px){.ppro-current-consent{align-items:flex-start;flex-direction:column}.ppro-current-consent-change{width:100%}}
@media print{.ppro-current-consent{display:none!important}}
