/* ============================================================
   LUMA Integration — legal / long-form prose
   For the Privacy Policy, Cookie Policy and any other page on
   the "LUMA Legal" template. luma-site.css intentionally zeroes
   heading margins and styles no lists or tables, so everything
   editor-authored needs its rhythm restored here.
   Scoped to .luma-legal so it can never leak into a designed page.
   ============================================================ */

/* .page-head is otherwise only styled in luma-projects.css, which this view
   does not load — without this the title sits flush under the nav. */
.page-head{padding:clamp(64px,7vw,96px) 0 clamp(40px,4vw,56px);}
.page-head .h1{max-width:18ch;}

.luma-legal{
  max-width:74ch;
  color:var(--ink-soft);
  font-size:17px;
  line-height:1.72;
}

.luma-legal > *:first-child{margin-top:0;}
.luma-legal > *:last-child{margin-bottom:0;}

/* ---- headings --------------------------------------------- */
.luma-legal h2{
  margin:2.4em 0 .7em;
  font-size:clamp(22px,2.1vw,27px);font-weight:700;letter-spacing:-.022em;
  line-height:1.2;color:var(--ink);
  padding-top:1.5em;border-top:1px solid var(--line);
}
.luma-legal > h2:first-of-type{padding-top:0;border-top:0;margin-top:1.6em;}
.luma-legal h3{
  margin:2em 0 .6em;
  font-size:clamp(17px,1.4vw,19px);font-weight:700;letter-spacing:-.015em;
  line-height:1.3;color:var(--ink);
}
.luma-legal h4{
  margin:1.6em 0 .5em;font-size:16px;font-weight:600;color:var(--ink);
}

/* ---- text ------------------------------------------------- */
.luma-legal p{margin:0 0 1.15em;text-wrap:pretty;}
.luma-legal .lead{
  font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--ink-soft);
  margin-bottom:1.4em;
}
.luma-legal strong{font-weight:600;color:var(--ink);}
.luma-legal a{
  color:var(--ink);border-bottom:1.5px solid var(--gold);
  padding-bottom:1px;transition:color .2s var(--ease),background .2s var(--ease);
}
.luma-legal a:hover{color:var(--gold-deep);}
.luma-legal a[target="_blank"]::after{
  content:"↗";font-size:.75em;margin-left:.28em;vertical-align:.15em;
  color:var(--gold-deep);border:0;
}

/* ---- lists ------------------------------------------------ */
.luma-legal ul,
.luma-legal ol{margin:0 0 1.3em;padding-left:0;list-style:none;}
.luma-legal li{position:relative;padding-left:26px;margin-bottom:.6em;}
.luma-legal ul > li::before{
  content:"";position:absolute;left:2px;top:.68em;
  width:6px;height:6px;background:var(--gold);border-radius:50%;
}
.luma-legal ol{counter-reset:luma-legal-ol;}
.luma-legal ol > li{counter-increment:luma-legal-ol;}
.luma-legal ol > li::before{
  content:counter(luma-legal-ol) ".";position:absolute;left:0;top:0;
  font-weight:600;color:var(--gold-deep);font-size:15px;line-height:1.72;
}
.luma-legal li > ul,
.luma-legal li > ol{margin:.55em 0 0;}

/* ---- tables ----------------------------------------------- */
/* Wide tables scroll inside their own box rather than pushing the page. */
.luma-legal table{
  width:100%;border-collapse:collapse;margin:0 0 1.6em;
  font-size:15px;line-height:1.55;
  display:block;overflow-x:auto;
  border:1px solid var(--line);border-radius:var(--r);
}
.luma-legal thead{background:var(--cream);}
.luma-legal th{
  text-align:left;font-weight:600;color:var(--ink);
  padding:14px 18px;border-bottom:1px solid var(--line);
  white-space:nowrap;
}
.luma-legal td{
  padding:14px 18px;border-bottom:1px solid var(--line);
  vertical-align:top;min-width:180px;
}
.luma-legal tbody tr:last-child td{border-bottom:0;}
.luma-legal tbody tr:nth-child(even){background:rgba(241,236,227,.38);}

/* ---- code / cookie names ----------------------------------- */
.luma-legal code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.88em;background:var(--cream);color:var(--bronze);
  padding:2px 7px;border-radius:2px;white-space:nowrap;
}

/* ---- inline control (the "Cookie settings" shortcode) ------- */
.luma-inline-link{
  background:none;border:0;padding:0;margin:0;cursor:pointer;
  font-family:inherit;font-size:inherit;line-height:inherit;color:var(--ink);
  font-weight:600;border-bottom:1.5px solid var(--gold);
  transition:color .2s var(--ease);
}
.luma-inline-link:hover{color:var(--gold-deep);}
.luma-inline-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---- unfilled legal detail --------------------------------- */
/* Deliberately loud: a live policy must never quietly ship a placeholder. */
.luma-legal .luma-todo{
  background:#fff3cd;color:#7a5c00;font-weight:600;font-size:14px;
  padding:2px 8px;border-radius:2px;border:1px dashed #b8912b;
}

/* ---- misc -------------------------------------------------- */
.luma-legal hr{height:1px;background:var(--line);border:0;margin:2.2em 0;}
.luma-legal blockquote{
  margin:1.6em 0;padding:2px 0 2px 22px;border-left:2px solid var(--gold);
  color:var(--ink-soft);
}

@media (max-width:640px){
  .luma-legal{font-size:16px;}
  .luma-legal th,.luma-legal td{padding:12px 14px;}
}
