/* ============================================================
   HART — legal.css
   Estilos compartilhados: privacidade, termos, cookies
   ============================================================ */

   body { background: var(--white); }

   /* ── HERO ── */
   .legal-hero {
     background: var(--white);
     padding: 140px 60px 48px;
     border-bottom: 1px solid var(--border);
   }
   .legal-hero-inner {
     max-width: 900px;
     margin: 0 auto;
   }
   .legal-eyebrow {
     display: inline-block;
     padding: 4px 12px;
     background: rgba(45,90,39,0.07);
     border-radius: 100px;
     font-size: 11px;
     font-weight: 600;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     color: var(--green);
     margin-bottom: 20px;
   }
   .legal-headline {
     font-family: 'DM Sans', sans-serif;
     font-size: clamp(28px, 3.5vw, 44px);
     font-weight: 700;
     color: var(--dark);
     line-height: 1.15;
     letter-spacing: -0.5px;
     margin-bottom: 10px;
   }
   .legal-headline em {
     font-style: normal;
     color: var(--dark);
   }
   .legal-meta {
     font-size: 13px;
     color: var(--text-muted);
     letter-spacing: 0.02em;
   }
   
   /* ── BODY LAYOUT ── */
   .legal-body {
     padding: 80px 60px 120px;
     background: var(--white);
   }
   .legal-container {
     max-width: 900px;
     margin: 0 auto;
     display: grid;
     grid-template-columns: 200px 1fr;
     gap: 64px;
     align-items: start;
   }
   
   /* ── TABLE OF CONTENTS ── */
   .legal-toc {
     position: sticky;
     top: 100px;
   }
   .toc-title {
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     color: var(--text-muted);
     margin-bottom: 16px;
   }
   .legal-toc ul {
     list-style: none;
     display: flex;
     flex-direction: column;
     gap: 4px;
   }
   .legal-toc ul li a {
     font-size: 13px;
     color: var(--text-muted);
     text-decoration: none;
     padding: 6px 10px;
     border-radius: 7px;
     display: block;
     transition: background 0.15s, color 0.15s;
     line-height: 1.4;
   }
   .legal-toc ul li a:hover {
     background: rgba(45,90,39,0.07);
     color: var(--green);
   }
   
   /* ── CONTENT ── */
   .legal-content {
     min-width: 0;
   }
   .legal-intro {
     font-size: 16px;
     line-height: 1.75;
     color: var(--text-muted);
     margin-bottom: 56px;
     padding-bottom: 56px;
     border-bottom: 1px solid var(--border);
   }
   
   .legal-content section {
     margin-bottom: 52px;
     padding-bottom: 52px;
     border-bottom: 1px solid var(--border);
   }
   .legal-content section:last-child {
     border-bottom: none;
     margin-bottom: 0;
     padding-bottom: 0;
   }
   
   .legal-content h2 {
     font-family: 'DM Sans', sans-serif;
     font-size: 18px;
     font-weight: 700;
     color: var(--dark);
     letter-spacing: -0.3px;
     margin-bottom: 16px;
   }
   
   .legal-content p {
     font-size: 15px;
     line-height: 1.75;
     color: var(--text-muted);
     margin-bottom: 14px;
   }
   .legal-content p:last-child { margin-bottom: 0; }
   
   .legal-content ul {
     margin: 12px 0 14px 0;
     padding-left: 0;
     list-style: none;
     display: flex;
     flex-direction: column;
     gap: 10px;
   }
   .legal-content ul li {
     font-size: 15px;
     line-height: 1.65;
     color: var(--text-muted);
     padding-left: 20px;
     position: relative;
   }
   .legal-content ul li::before {
     content: '';
     position: absolute;
     left: 0;
     top: 10px;
     width: 5px;
     height: 5px;
     border-radius: 50%;
     background: var(--green-muted);
   }
   .legal-content ul li strong { color: var(--text); font-weight: 600; }
   
   /* ── CONTACT CARD ── */
   .legal-contact-card {
     margin-top: 20px;
     background: #F5F5F7;
     border-radius: 14px;
     padding: 24px 28px;
     display: flex;
     flex-direction: column;
     gap: 14px;
   }
   .contact-item {
     display: flex;
     flex-direction: column;
     gap: 3px;
   }
   .contact-label {
     font-size: 11px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.07em;
     color: var(--text-muted);
   }
   .contact-value {
     font-size: 15px;
     color: var(--dark);
     font-weight: 500;
   }
   
   /* ── COOKIE TABLE ── */
   .cookie-table {
     margin: 20px 0;
     border: 1px solid var(--border);
     border-radius: 12px;
     overflow: hidden;
   }
   .cookie-row {
     display: grid;
     grid-template-columns: 140px 1fr 90px;
     gap: 16px;
     padding: 14px 20px;
     border-bottom: 1px solid var(--border);
     font-size: 14px;
     line-height: 1.55;
     color: var(--text-muted);
     align-items: start;
   }
   .cookie-row:last-child { border-bottom: none; }
   .cookie-row-header {
     background: #F5F5F7;
     font-size: 11px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.06em;
     color: var(--text-muted);
     padding: 12px 20px;
   }
   .cookie-row strong { color: var(--dark); font-weight: 600; }