/* ════════════════════════════════════════════════════════════
   NOVERA — Hub legal. Hereta tokens de novera.css.
   ════════════════════════════════════════════════════════════ */
.legal-hero{
  padding-top:clamp(140px,16vh,190px); padding-bottom:clamp(40px,6vw,70px);
  background:
    radial-gradient(90% 80% at 85% 0%, rgba(226,161,75,.22), transparent 50%),
    linear-gradient(160deg, #0F3157, #0A2540 75%);
  color:#fff;
}
.legal-hero .wrap{ max-width:var(--maxw); }
.legal-hero .kicker{ color:rgba(255,255,255,.55); }
.legal-hero h1{ font-size:clamp(2.2rem,5vw,3.6rem); font-weight:600; letter-spacing:-0.035em; margin-top:1rem; }
.legal-hero p{ color:rgba(255,255,255,.62); margin-top:1rem; max-width:56ch; font-size:1.05rem; line-height:1.6; }
.legal-hero .updated{ margin-top:18px; font-size:0.82rem; color:rgba(255,255,255,.42); }

.legal-body{ background:var(--paper); padding-block:clamp(50px,7vw,90px); }
.legal-grid{
  display:grid; grid-template-columns:240px minmax(0,1fr);
  gap:clamp(36px,6vw,84px); align-items:start;
}
.legal-nav{ position:sticky; top:100px; }
.legal-nav .nlabel{ font-size:11px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-3); margin-bottom:16px; }
.legal-nav a{ display:block; font-size:0.92rem; font-weight:500; color:var(--ink-2);
  padding:10px 0 10px 16px; border-left:2px solid var(--line); transition:all .3s var(--ease); }
.legal-nav a:hover{ color:var(--navy); border-color:var(--blue-br); }
.legal-nav a.active{ color:var(--navy); border-color:var(--green); font-weight:600; }

.legal-content{ max-width:760px; }
.legal-sec{ padding-bottom:clamp(48px,6vw,76px); margin-bottom:clamp(48px,6vw,76px); border-bottom:1px solid var(--line); scroll-margin-top:100px; }
.legal-sec:last-child{ border-bottom:none; margin-bottom:0; }
.legal-sec > .kicker{ color:var(--amber); }
.legal-sec h2{ font-size:clamp(1.7rem,3vw,2.4rem); font-weight:600; letter-spacing:-0.03em; margin:0.8rem 0 0; }
.legal-sec .intro{ font-size:1.1rem; color:var(--ink-2); line-height:1.6; margin-top:1rem; }
.legal-sec h3{ font-size:1.12rem; font-weight:600; letter-spacing:-0.01em; color:var(--navy); margin:2rem 0 0.6rem; }
.legal-sec p{ font-size:0.97rem; color:var(--ink-2); line-height:1.68; margin-bottom:0.9rem; }
.legal-sec p a, .legal-sec li a{ color:var(--blue); border-bottom:1px solid var(--line); }
.legal-sec ul{ list-style:none; margin:0.4rem 0 1rem; }
.legal-sec li{ font-size:0.97rem; color:var(--ink-2); line-height:1.6; padding:7px 0 7px 22px; position:relative; }
.legal-sec li::before{ content:''; position:absolute; left:0; top:1.05em; width:8px; height:1px; background:var(--blue-br); }
.legal-sec strong{ color:var(--ink); font-weight:600; }

/* dades fiscals box */
.legal-data{ background:var(--paper-2); border:1px solid var(--line); border-radius:16px;
  padding:24px 26px; margin:1.2rem 0; display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
.legal-data .d .k{ font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:3px; }
.legal-data .d .v{ font-size:0.96rem; color:var(--ink); font-weight:500; }
.legal-data .ph{ color:var(--amber); }

/* placeholder note */
.legal-note{ display:flex; gap:12px; align-items:flex-start; background:rgba(226,161,75,.08);
  border:1px solid rgba(226,161,75,.3); border-radius:14px; padding:16px 18px; margin:1.2rem 0; }
.legal-note .ic{ flex:none; width:20px; height:20px; color:var(--amber); }
.legal-note p{ margin:0; font-size:0.88rem; color:var(--ink-2); line-height:1.55; }

/* cookies table */
.ck-table{ width:100%; border-collapse:collapse; margin:1rem 0; font-size:0.9rem; }
.ck-table th{ text-align:left; font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ink-3); padding:12px 14px; border-bottom:1.5px solid var(--line); }
.ck-table td{ padding:14px; border-bottom:1px solid var(--line); color:var(--ink-2); line-height:1.5; vertical-align:top; }
.ck-table td strong{ color:var(--ink); }

/* mini-forms (canal ètic + baixa) */
.lg-form{ margin-top:1.4rem; display:grid; gap:14px; max-width:520px; }
.lg-field label{ display:block; font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-3); margin-bottom:9px; }
.lg-input{ width:100%; font-family:inherit; font-size:1.0rem; color:var(--ink); background:var(--paper);
  border:1.5px solid var(--line); border-radius:13px; padding:14px 16px; outline:none; transition:border-color .3s, box-shadow .3s; }
.lg-input:focus{ border-color:var(--blue-br); box-shadow:0 0 0 4px rgba(43,124,196,.13); }
textarea.lg-input{ resize:vertical; min-height:120px; line-height:1.55; }
.lg-btn{ justify-self:start; display:inline-flex; align-items:center; gap:10px; font-family:inherit;
  font-size:0.96rem; font-weight:600; cursor:pointer; padding:14px 28px; border-radius:100px; border:none;
  color:#fff; transition:transform .35s var(--ease), filter .35s, opacity .3s; }
.lg-btn svg{ width:15px; height:15px; }
.lg-btn:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.lg-btn.green{ background:linear-gradient(100deg,var(--green),var(--green-d)); box-shadow:0 14px 32px -14px rgba(34,111,78,.5); }
.lg-btn.dark{ background:linear-gradient(100deg,var(--blue),var(--navy)); box-shadow:0 14px 32px -14px rgba(10,37,64,.5); }
.lg-msg{ display:none; align-items:center; gap:12px; margin-top:1.2rem; padding:16px 18px; border-radius:14px;
  background:rgba(46,140,99,.1); border:1px solid rgba(46,140,99,.3); }
.lg-msg.show{ display:flex; animation:stepIn .4s var(--ease) both; }
.lg-msg .ic{ flex:none; width:24px; height:24px; border-radius:50%; background:var(--green); display:grid; place-items:center; }
.lg-msg .ic svg{ width:14px; height:14px; stroke:#fff; }
.lg-msg p{ margin:0 !important; font-size:0.92rem; color:var(--green-d); font-weight:500; }

@media (max-width:860px){
  .legal-grid{ grid-template-columns:1fr; gap:8px; }
  .legal-nav{ position:static; display:flex; flex-wrap:wrap; gap:6px; margin-bottom:28px; }
  .legal-nav .nlabel{ width:100%; }
  .legal-nav a{ border-left:none; border:1px solid var(--line); border-radius:100px; padding:9px 15px; }
  .legal-nav a.active{ border-color:var(--green); }
  .legal-data{ grid-template-columns:1fr; }
}
