/* Legal documents share one framed introduction and consistent text spacing. */
.legal-copy{box-sizing:border-box;max-width:900px;margin-inline:auto;padding:0 0 3rem;overflow-wrap:anywhere;min-width:0}
.legal-copy h1{margin-top:0;font-size:clamp(1.8rem,4vw,2.5rem)}
.legal-copy h2{font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.3;margin-top:2rem}
.legal-copy p{line-height:1.75}
.legal-copy .legal-introduction{box-sizing:border-box;padding:clamp(1.25rem,4vw,2rem);margin:1.5rem 0 2rem;border:1px solid var(--line,#cbd8df);border-radius:1.25rem;background:var(--paper,#fff);min-width:0}
.legal-introduction .editorial-detektiven{width:min(100%,300px);max-width:100%;height:auto;margin:0 auto 1.5rem;object-fit:contain}
.legal-introduction .legal-contact{border:0;background:transparent;padding:0;margin:0;box-shadow:none}
.legal-introduction .legal-contact dl{display:grid;gap:1rem;margin:0 0 1rem}
.legal-introduction .legal-contact dt,.legal-introduction .legal-contact dd{margin:0}
.legal-introduction .legal-contact dd{padding-top:.25rem;overflow-wrap:anywhere}
.legal-draft{padding:1rem;border:2px solid #a56916;border-radius:1rem}
.footer-legal,.legal-links{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center}
.footer-legal{padding:1.5rem 0}.legal-links{margin-top:2rem}
.footer-legal button,.legal-links button{font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:.6rem;padding:.6rem .8rem;cursor:pointer;min-height:44px}

/* One compact first layer; the detailed choices are revealed explicitly. */
#cookie-consent-dialog{box-sizing:border-box;width:min(650px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain;border:1px solid #b8c9bf;border-radius:1.25rem;padding:1.25rem 1.5rem;background:#fffdf5;color:#233b34;box-shadow:0 18px 70px #122e3655;font:400 1rem/1.55 system-ui,sans-serif}
#cookie-consent-dialog::backdrop{background:#122e3677}
#cookie-consent-dialog [hidden]{display:none!important}
.cookie-heading{display:flex;align-items:center;gap:1rem}
.cookie-heading img{width:100px;height:100px;object-fit:contain;flex:0 0 auto}
.cookie-heading h2{font-size:clamp(1.2rem,3vw,1.55rem);line-height:1.25;margin:.25rem 0}
.cookie-heading .eyebrow{margin:0;color:#395949;letter-spacing:.09em;text-transform:uppercase;font-size:.75rem;font-weight:700}
#cookie-description{margin:.8rem 0 1rem}#cookie-none{margin:.5rem 0 1rem}
#cookie-details{margin-top:1rem}#cookie-details-title{font-size:1.25rem;line-height:1.3;margin:.6rem 0}
.cookie-category{border:1px solid #b8c9bf;border-radius:.8rem;padding:1rem;margin:1rem 0}
.cookie-category-heading{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cookie-category h4{font-size:1.05rem;margin:0}.cookie-category p{margin:.5rem 0;font-size:.95rem}
.cookie-required{font-size:.8rem;font-weight:700;border:1px solid currentColor;border-radius:1rem;padding:.2rem .6rem}
.cookie-category details{margin-top:.65rem}.cookie-category summary{cursor:pointer;min-height:36px;padding:.25rem 0;font-weight:600}
.cookie-category-control{display:flex;align-items:center;gap:.6rem;font-size:.8rem;cursor:pointer;min-height:44px}
.cookie-category-control input,.cookie-choices input{accent-color:#245945;width:22px;height:22px;flex:0 0 auto;cursor:pointer}
.cookie-choices label{display:flex;gap:.7rem;padding:.75rem 0;align-items:flex-start;border-top:1px solid #b8c9bf;cursor:pointer}
.cookie-choices input{margin:.2rem 0 0}.cookie-choices label>span>span{display:block;font-size:.9rem;font-weight:400;margin-top:.2rem}
.cookie-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.cookie-buttons button{font:600 .95rem/1.3 system-ui,sans-serif;background:#245945;color:#fff;border:2px solid #245945;border-radius:.65rem;padding:.85rem .5rem;cursor:pointer;min-height:48px;margin:0;letter-spacing:normal}
.cookie-buttons button:hover{background:#153d2d}.cookie-buttons button:disabled{opacity:.65;cursor:wait}
.cookie-actions{position:sticky;bottom:-1.25rem;background:inherit;padding:.8rem 0 0;margin-top:.8rem;border-top:1px solid #b8c9bf}
.cookie-close,.cookie-text-button{display:block;border:0;background:none;color:inherit;text-decoration:underline;font:inherit;cursor:pointer;padding:.6rem;min-height:44px}
.cookie-close{margin:.25rem auto 0}.cookie-text-button{padding-left:0;text-align:left}
.cookie-links{font-size:.9rem;margin:.75rem 0}#cookie-consent-dialog a{color:#245945}
#cookie-error{color:#9d2222;overflow-wrap:anywhere}
#cookie-consent-dialog :focus-visible,.footer-legal :focus-visible,.legal-copy :focus-visible{outline:3px solid #ad6c13;outline-offset:3px}
.privacy-check{display:flex!important;align-items:flex-start;gap:.65rem;padding:.5rem 0}.privacy-check input{width:20px!important;min-height:20px;flex:0 0 auto;margin-top:.25rem}
.policy-editor{margin:1rem 0;padding:1rem;border:1px solid #a7b7ac;border-radius:.6rem}.policy-editor summary{font-weight:700;cursor:pointer}.policy-default{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.policy-editor textarea{width:100%;box-sizing:border-box}
.privacy-form textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:110px;font:inherit;line-height:1.5;padding:.75rem;border:1px solid #a7b7ac;border-radius:.6rem;background:var(--input-bg,#fff);color:inherit;resize:vertical}.privacy-form input[type=checkbox]{accent-color:#245945}
.privacy-inventory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem}.privacy-inventory article{border:1px solid currentColor;border-radius:.7rem;padding:1rem;min-width:0;overflow-wrap:anywhere}.privacy-inventory dt{font-weight:700}.privacy-inventory dd{margin:0 0 .8rem}.privacy-inventory h3{margin-top:0}
[data-theme=dark] .legal-introduction{background:#172530;border-color:#344754}
[data-theme=dark] .legal-copy .legal-introduction .legal-contact{background:transparent}
[data-theme=dark] #cookie-consent-dialog{background:#172b25;color:#edf5ee;border-color:#547163}
[data-theme=dark] #cookie-consent-dialog a,[data-theme=dark] .cookie-heading .eyebrow{color:#b4e4c5}
[data-theme=dark] #cookie-error{color:#ffb5ba}
@media(max-width:500px){#cookie-consent-dialog{padding:1rem;width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.cookie-heading{gap:.6rem}.cookie-heading img{width:70px;height:70px}.cookie-heading h2{font-size:1.2rem}.cookie-buttons{grid-template-columns:1fr}.cookie-buttons button{width:100%;min-height:44px;padding:.65rem}.cookie-actions{bottom:-1rem}.cookie-category{padding:.8rem}.legal-copy{padding-inline:0}.cookie-heading .eyebrow{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){#cookie-consent-dialog *{scroll-behavior:auto!important}}

/* 5.0.54 – Shared legal-page introduction matching the approved privacy screenshot.
   Keep the source document / backend data intact; image stays beside contact on
   desktop, then follows the contact information at narrower viewports. */
.legal-copy .legal-introduction {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(185px, 300px);
  column-gap:clamp(.75rem, 3vw, 1.75rem);
  align-items:center;
  min-height:290px;
  padding:0 clamp(1.25rem, 3.5vw, 2rem);
  overflow:hidden;
}
.legal-copy .legal-introduction > .legal-contact {
  grid-column:1;
  grid-row:1;
  min-width:0;
  align-self:center;
  padding-block:1.5rem;
}
.legal-copy .legal-introduction > .editorial-detektiven {
  display:block;
  grid-column:2;
  grid-row:1;
  justify-self:end;
  align-self:end;
  width:100%;
  max-width:300px;
  height:auto;
  max-height:300px;
  object-fit:contain;
  object-position:center bottom;
  margin:0;
}
.legal-copy .legal-introduction > .legal-contact dl {
  margin:0 0 1rem;
  gap:1rem;
}
@media(max-width:650px) {
  .legal-copy .legal-introduction {
    grid-template-columns:minmax(0,1fr);
    gap:0;
    padding:1.25rem 1.25rem 0;
    min-height:0;
  }
  .legal-copy .legal-introduction > .legal-contact {
    grid-column:1;
    grid-row:1;
    padding:0 0 1.25rem;
  }
  .legal-copy .legal-introduction > .editorial-detektiven {
    grid-column:1;
    grid-row:2;
    width:min(100%,300px);
    max-height:260px;
    justify-self:center;
    align-self:end;
  }
}
@media(prefers-reduced-motion:reduce){
  .legal-copy .legal-introduction img {animation:none;transition:none}
}

/* 5.0.55 – Functional contact form; matches the legal cards on desktop/mobile. */
.contact-page .legal-introduction {margin-bottom:1.5rem}
.contact-form-section {max-width:740px;margin:2rem auto 1rem;min-width:0}
.contact-form {display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr)}
.contact-form label {display:block;font-weight:650;margin-top:.65rem}
.contact-form :is(input:not([type=hidden]),select,textarea){box-sizing:border-box;width:100%;min-width:0;padding:.85rem 1rem;border:1px solid #718695;border-radius:.65rem;background:var(--input-bg,#fff);color:var(--text,#14202b);font:inherit;line-height:1.4}
[data-theme=dark] .contact-form :is(input:not([type=hidden]),select,textarea){background:#162632;color:#f5f8fa;border-color:#6a7f8c}
.contact-form textarea{resize:vertical;min-height:150px}.contact-form button{justify-self:start;min-height:52px;padding:0 18px;font-size:16px}
.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.contact-privacy{font-size:.92rem;line-height:1.55}.contact-error,.contact-success{padding:1rem;border:1px solid;border-radius:.6rem}
.contact-error{color:#a52d2d}.contact-success{color:#237250}
[data-theme=dark] .contact-error{color:#ffbec7}[data-theme=dark] .contact-success{color:#a6f5c9}
@media(max-width:650px){.contact-form button{justify-self:stretch;width:100%}}
