/* Dr Paul Worth: legal pages (Terms, Privacy, Cookies).
   From the 2xN reference kit legal.css, re-skinned to this design system.
   Single theme (no dark mode on this site). */

/* ---- Hero ---- */
.legal-hero{background:var(--navy)}
.legal-hero__inner{padding-block:44px 40px}
.legal-hero__lead{max-width:820px}
.legal-hero__eyebrow{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.oa .legal-hero__h1{font-size:clamp(38px,5vw,60px);line-height:1.1;letter-spacing:-.01em;color:#fff;margin:8px 0 16px}
.legal-hero__meta{font-size:15px;color:#C9D6DC}

/* ---- Body ---- */
.legal{background:var(--paper)}
.legal__inner{max-width:760px;padding:48px 0 64px}
.legal__intro{font-size:17px;line-height:1.7;color:var(--navy);margin:0 0 40px!important;text-wrap:pretty}
.legal__intro strong{font-weight:700}
.legal__intro a,.legal-section a{color:var(--teal-deep);text-decoration:none;border-bottom:1.5px solid color-mix(in srgb,var(--teal) 40%,transparent);transition:border-color .16s,color .16s}
.legal__intro a:hover,.legal-section a:hover{color:var(--teal-darker);border-bottom-color:var(--teal-deep)}

.legal-section{margin:0 0 40px}
.legal-section:last-child{margin-bottom:0}
.legal-section__head{display:flex;align-items:baseline;gap:14px;margin:0 0 14px}
.legal-section__num{font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--teal-deep);flex:none}
.oa .legal-section__title{font-size:clamp(22px,2.4vw,26px);line-height:1.25;color:var(--navy);margin:0}
.oa .legal-section p{font-size:16px;line-height:1.7;color:var(--charcoal);margin:0 0 14px;text-wrap:pretty}
.oa .legal-section p:last-child{margin-bottom:0}
.legal-section strong{color:var(--navy);font-weight:700}
.legal-section ul{margin:4px 0 14px;padding:0;list-style:none;display:grid;gap:10px}
.legal-section li{position:relative;padding-left:24px;font-size:16px;line-height:1.6;color:var(--charcoal)}
.legal-section li::before{content:"";position:absolute;left:4px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--teal)}
.legal-section code{font-size:14px;background:var(--mint-soft);color:var(--navy);padding:2px 6px;border-radius:3px;word-break:break-all}

/* ---- Cookie table: stacks on mobile ---- */
.legal-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.legal-table th{text-align:left;font-weight:700;color:var(--navy);border-bottom:2px solid var(--teal);padding:10px 12px}
.legal-table td{vertical-align:top;border-bottom:1px solid var(--border);padding:12px;color:var(--charcoal)}
@media (max-width:640px){
  .legal-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .legal-table tr{display:block;background:#fff;border:1px solid var(--border);border-radius:4px;padding:12px 14px;margin-bottom:12px}
  .legal-table td{display:block;border:0;padding:4px 0}
  .legal-table td:nth-child(2){font-weight:700;color:var(--teal-deep)}
}

/* ---- Cookie settings button ---- */
.legal-cta-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:2px;background:var(--teal-deep);color:#fff!important;font-family:var(--fb);font-weight:700;font-size:15px;letter-spacing:.06em;border:none;cursor:pointer;transition:background .18s,transform .18s}
.legal-cta-btn:hover{background:var(--navy);transform:translateY(-1px)}

/* ---- Content still to confirm (remove before go-live) ---- */
mark.todo{background:#FFF1B8;color:var(--navy);padding:0 4px;border-radius:2px}

@media (min-width:641px){
  .legal-hero__inner{padding-block:72px 64px}
  .legal__inner{padding:72px 0 96px}
  .legal__intro{font-size:18px}
}
@media (prefers-reduced-motion:reduce){.legal-cta-btn,.legal-section a{transition:none}}
