/* PIZZA amore · Rechtstexte und 404 */
.legal{padding:clamp(3rem,7vw,6rem) 0 clamp(4rem,8vw,7rem)}
.legal__in{width:min(760px,calc(100% - 2*var(--gap)));margin-inline:auto}
.legal h1{
  font-family:var(--ff-d);font-weight:800;
  font-size:clamp(2rem,1.3rem + 2.6vw,3rem);line-height:1.05;color:#fff;
  letter-spacing:-.02em;
}
.legal h2{
  font-family:var(--ff-d);font-weight:700;font-size:1.28rem;color:#fff;
  margin:2.4rem 0 .7rem;
}
.legal h3{font-family:var(--ff-d);font-weight:700;font-size:1.04rem;color:#fff;margin:1.5rem 0 .4rem}
.legal p,.legal li{color:var(--text);font-size:.98rem}
.legal p{margin-top:.8rem;max-width:70ch}
.legal ul{margin-top:.8rem;display:grid;gap:.45rem;max-width:70ch}
.legal ul li{position:relative;padding-left:1.2rem}
.legal ul li::before{
  content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--orange);
}
.legal a{color:var(--orange);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}
@media (hover:hover) and (pointer:fine){.legal a:hover{border-color:var(--orange)}}
.legal__note{
  margin-top:2rem;padding:1.1rem 1.3rem;border:1px solid var(--line);border-radius:14px;
  background:rgba(232,117,46,.07);font-size:.9rem;color:var(--text);
}
.legal__back{
  display:inline-flex;align-items:center;gap:.6rem;margin-bottom:2rem;
  font-weight:700;color:var(--orange);text-decoration:none;font-size:.92rem;
}
.legal__back svg{width:16px;height:16px;fill:currentColor;transition:transform .3s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.legal__back:hover svg{transform:translateX(-4px)}}
.legal dl{margin-top:.8rem}
.legal dt{font-weight:700;color:#fff;margin-top:1rem}
.legal dd{color:var(--muted)}

/* 404 */
.nf{min-height:64vh;display:grid;place-items:center;text-align:center;padding:4rem 1rem}
.nf__code{
  font-family:var(--ff-d);font-weight:900;font-size:clamp(5rem,18vw,12rem);
  line-height:.85;color:rgba(232,117,46,.22);letter-spacing:-.04em;
}
.nf h1{font-family:var(--ff-d);font-weight:800;font-size:clamp(1.7rem,1rem + 2.6vw,2.6rem);color:#fff;margin-top:.6rem}
.nf p{margin-top:.9rem;color:var(--muted);max-width:44ch;margin-inline:auto}
.nf .btn{margin-top:2rem}

/* Kopfzeile der Rechtsseiten hat keinen Burger, die Navigation bleibt darum
   auch unter 1080 px sichtbar und bricht stattdessen um. */
@media (max-width:1080px){
  .hdr--legal .hdr__in{flex-wrap:wrap;row-gap:.6rem}
  .hdr--legal .nav{
    position:static;flex-direction:row;flex-wrap:wrap;gap:.4rem 1.2rem;
    margin:0;padding:0;background:none;border:0;
    transform:none;opacity:1;pointer-events:auto;
  }
  .hdr--legal .nav__l{padding:.2rem 0;border:0;font-size:.94rem}
  .hdr--legal .nav__l::after{display:block}
  .hdr--legal .tel{margin-left:auto}
  .hdr--legal .tel__no{display:inline}
}
@media (max-width:620px){
  .hdr--legal .tel__no{display:none}
}
