/* =========================================================================
   VILLA MONTPORT — Legal page (Impressum / Datenschutz · EN · DE · ES)
   Extends style.css. Reuses the site tokens, nav and footer.
   ========================================================================= */

/* solid nav from the first paint (no hero behind it) */
.nav--legal{ position:fixed; }
.nav__back{
  display:inline-flex; align-items:center; gap:.45em;
  font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(20,17,13,.74); transition:color .3s var(--ease);
}
.nav__back:hover{ color:var(--ink); }

/* narrow screens: drop the decorative "Mallorca" tag and the back-link label
   (arrow stays) so the EN | DE | ES switch never gets pushed off-screen */
@media (max-width:560px){
  .nav__brand{ white-space:nowrap; }
  .nav__brand small{ display:none; }
  .nav__back-tx{ display:none; }
  .nav__right{ gap:14px; }
}

/* ---------------------------------------------------------------- Page head */
.legal{ padding:clamp(116px,15vh,176px) 0 clamp(72px,9vw,140px); }
.legal__head{
  max-width:62ch;
  padding-bottom:clamp(28px,4vw,52px);
  margin-bottom:clamp(40px,6vw,84px);
  border-bottom:1px solid var(--line);
}
.legal__title{ font-size:var(--t-h2); margin-top:.5rem; }
.legal__sub{ margin-top:1.3rem; max-width:54ch; }

/* --------------------------------------------------------------- Documents */
.legal-doc{ max-width:72ch; }
.legal-doc + .legal-doc{ margin-top:clamp(60px,9vw,120px); }
.legal-doc__title{
  font-family:var(--f-display); font-weight:700; font-size:var(--t-h3);
  letter-spacing:-.02em; line-height:1.05;
  display:inline-block; padding-bottom:.45rem; margin:0 0 .4rem;
  border-bottom:2px solid var(--gold);
}
.legal-doc__intro{ color:var(--muted); margin:.9rem 0 0; font-size:.95rem; }

.legal-section{ margin-top:2.1rem; }
.legal-section h3{
  font-family:var(--f-body); font-size:.78rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
  margin:0 0 .75rem;
}
.legal-section p{ margin:0 0 .9rem; color:var(--ink); }
.legal-section p:last-child{ margin-bottom:0; }
.legal-section a{
  color:var(--gold); text-decoration:underline;
  text-underline-offset:3px; text-decoration-thickness:1px;
}
.legal-section a:hover{ color:var(--gold-2); }

.legal-addr{ font-style:normal; line-height:1.75; color:var(--ink); }

/* company data as a compact key / value table */
.legal-data{
  display:grid; grid-template-columns:max-content 1fr; gap:.55rem 2rem;
  margin:.2rem 0 0;
}
.legal-data dt{ font-weight:600; color:var(--muted); }
.legal-data dd{ margin:0; color:var(--ink); }

/* rights list */
.legal-list{ margin:.3rem 0 0; padding-left:1.2em; }
.legal-list li{ margin:.25rem 0; }

.legal-updated{
  margin-top:clamp(48px,7vw,90px); padding-top:1.6rem;
  border-top:1px solid var(--line);
  font-size:.78rem; letter-spacing:.04em; color:var(--muted);
}

@media (max-width:560px){
  .legal-data{ grid-template-columns:1fr; gap:.15rem; }
  .legal-data dd{ margin-bottom:.7rem; }
  .legal-data dd:last-child{ margin-bottom:0; }
}
