/* CP legal pages -- shared presentation for privacy-policy, terms-conditions, refund-policy.
   Built from terms-conditions.php's original inline .legal/.legal-hero/.legal-wrap system,
   re-keyed onto the canonical assets/css/components.css tokens. Presentation only. */

.legal{font-family:var(--font-body);color:var(--ink)}
.legal *{box-sizing:border-box}

.legal-hero{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-deep) 100%);padding:calc(var(--space-2xl) + var(--space-sm)) 0;position:relative;overflow:hidden}
.legal-hero::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.legal-hero h1{font-family:var(--font-display);font-size:38px;font-weight:700;color:var(--white);margin:0 0 var(--space-sm)}
.legal-hero h1 em{font-style:normal;color:var(--gold-light)}
.legal-hero p{font-size:14px;color:rgba(255,255,255,.55);margin:0}
.legal-hero .reading-time{color:rgba(255,255,255,.55) !important}

.legal-wrap{max-width:var(--max-w-narrow);margin:0 auto;padding:calc(var(--space-2xl) + var(--space-md)) calc(var(--space-md) + var(--space-xs)) calc(var(--space-2xl) + var(--space-xl))}
.legal-updated{display:inline-block;background:rgba(198,168,90,.1);border:1px solid rgba(198,168,90,.3);border-radius:var(--radius-sm);padding:5px var(--space-md);font-size:12px;font-weight:600;color:#a08035;margin-bottom:calc(var(--space-xl) + var(--space-xs))}

.legal-wrap h2{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--forest);margin:calc(var(--space-xl) + var(--space-sm)) 0 calc(var(--space-sm) + var(--space-xs));padding-top:calc(var(--space-xl) + var(--space-sm));border-top:1px solid var(--border-light)}
.legal-wrap h2:first-of-type{margin-top:0;padding-top:0;border-top:none}
.legal-wrap h3{font-size:16px;font-weight:700;color:var(--forest);margin:var(--space-lg) 0 var(--space-sm)}
.legal-wrap p{font-size:15px;color:var(--ink-light);line-height:1.85;margin-bottom:var(--space-md)}
.legal-wrap ul,.legal-wrap ol{padding-left:calc(var(--space-md) + var(--space-xs));margin-bottom:var(--space-md)}
.legal-wrap li{font-size:15px;color:var(--ink-light);line-height:1.8;margin-bottom:var(--space-sm)}
.legal-wrap a{color:var(--forest);font-weight:600;text-decoration:underline;text-decoration-color:rgba(30,58,95,.3)}
.legal-wrap a:hover{text-decoration-color:var(--forest)}
.legal-wrap strong{color:var(--ink)}

.legal-box{background:var(--ivory);border:1px solid var(--border-light);border-left:4px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-md) calc(var(--space-md) + var(--space-xs));margin-bottom:var(--space-lg)}
.legal-box p{margin:0;font-size:14px;color:var(--ink-light);line-height:1.75}

.legal-contact{background:linear-gradient(135deg,var(--forest),var(--forest-light));border-radius:var(--radius-lg);padding:calc(var(--space-lg) + var(--space-xs));margin-top:var(--space-2xl)}
.legal-contact h3{font-family:var(--font-display);font-size:20px;color:var(--white);margin:0 0 var(--space-sm)}
.legal-contact p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.75;margin:0 0 var(--space-sm)}
.legal-contact a{color:var(--gold-light);font-weight:600;text-decoration:none}
.legal-contact a:hover{text-decoration:underline}

.toc{background:var(--ivory);border:1px solid var(--border-light);border-radius:var(--radius);padding:var(--space-lg);margin-bottom:calc(var(--space-xl) + var(--space-xs))}
.toc-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:calc(var(--space-sm) + var(--space-xs))}
.toc ol{margin:0;padding-left:var(--space-md)}
.toc li{font-size:14px;color:var(--forest);line-height:1.8;margin-bottom:2px}
.toc a{color:var(--forest);text-decoration:none;font-weight:500}
.toc a:hover{text-decoration:underline}

/* Fixes zero-gap "Bold Label: description" stacking, e.g. Effective Date / Last Updated, Email / Phone */
.legal-label{display:block;margin:0}
.legal-label + .legal-label{margin-top:var(--space-xs)}

@media (max-width:768px){
  .legal-hero{padding:var(--space-xl) 0}
  .legal-hero h1{font-size:clamp(1.75rem,6vw,2.25rem)}
  .legal-wrap{padding:var(--space-xl) var(--space-md) var(--space-2xl)}
  .legal-wrap h2{margin-top:var(--space-xl);padding-top:var(--space-xl)}
  .legal-contact{padding:var(--space-lg)}
  .toc{padding:var(--space-md)}
}
