/* Legal pages, imprint line and the consent banner's button pair.
   Own file (not lux.css) so the four documents keep their typography even while
   the main sheet is being reworked by other cards. */

/* ---------- consent banner buttons (markup lives in lux.js layout) ---------- */
#consent .cbtns{flex:0 0 auto;display:flex;gap:.5rem;align-items:center}
#consent span.cbtns{min-width:0}
#consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}
#consent button[data-reject]{order:0}
@media (max-width:560px){#consent .cbtns{flex-direction:column-reverse;width:100%}}

/* ---------- footer imprint + link-styled button ---------- */
.ftrbottom .imprint{display:block;width:100%;margin-top:.5rem;color:#A9B8B3;font-size:.74rem;line-height:1.5}
.ftrbottom .imprint a{color:#CBD6D2}
.linkish{
  font:inherit;font-size:inherit;background:none;border:0;padding:0;margin:0;
  color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;
}

/* ---------- documents ---------- */
.legalpage{max-width:72ch}
.legalpage .legalmeta{color:var(--ink-3);font-size:.8rem;margin:0 0 var(--s4)}
.legalsec{margin:0 0 var(--s6)}
.legalsec h2{font-size:1.15rem;margin:0 0 .6rem}
.legalsec p{margin:0 0 .7rem;line-height:1.65}
.legallist{margin:0 0 1rem;padding-left:1.3rem;line-height:1.6}
.legallist li{margin-bottom:.45rem}
.legalid{
  border:1px solid var(--line);border-radius:var(--r-sm);padding:.9rem 1rem;
  margin:.4rem 0 1rem;background:var(--card);font-size:.9rem;line-height:1.6;
}
.legalid h3{margin:0 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.legalid p{margin:0}
.legaltable{width:100%;border-collapse:collapse;margin:.6rem 0 1rem;font-size:.9rem}
.legaltable th,.legaltable td{border-bottom:1px solid var(--line);padding:.5rem .4rem;text-align:left;vertical-align:top}
.legaltable th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.legalnav{display:flex;flex-wrap:wrap;gap:.5rem;margin:var(--s5) 0 0}
.legalnav a{
  border:1px solid var(--line);border-radius:999px;padding:.45rem .85rem;
  font-size:.82rem;text-decoration:none;color:var(--ink-2);
}
.legalnav a[aria-current]{border-color:var(--ink);color:var(--ink)}

/* ---------- 404 + contact hero ---------- */
.chero{margin:0 0 var(--s4);border-radius:var(--r-md);overflow:hidden;background:var(--line)}
.chero img{display:block;width:100%;height:clamp(180px,26vw,340px);object-fit:cover}
.chero-sm img{height:clamp(120px,16vw,200px)}
.nfsearch{display:flex;gap:.5rem;margin:.4rem 0 var(--s4);flex-wrap:wrap}
.nfsearch input{
  flex:1 1 220px;min-height:44px;padding:.6rem .9rem;font:inherit;
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);
}
.nfh{margin:var(--s4) 0 .6rem;font-size:.95rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- pre-contractual block in the booking card ---------- */
.bcpre{
  border-top:1px solid var(--line);margin-top:.7rem;padding-top:.7rem;font-size:.78rem;color:var(--ink-2);
}
.bcpre h3{margin:0 0 .35rem;font-size:.8rem;letter-spacing:.02em;color:var(--ink)}
.bcpre ul{margin:0 0 .45rem;padding-left:1rem;line-height:1.45}
.bcpre li{margin-bottom:.2rem}
.bcprelinks{display:flex;gap:.8rem;margin:0 0 .35rem;flex-wrap:wrap}
.bcprelinks a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.bcpre .muted{line-height:1.45}
