/* ===================================================
   LEGAL PAGES (privacy-policy.html / data-deletion.html)
   Extends style.css tokens
=================================================== */

.tc-legal-hero{
  background: linear-gradient(155deg, var(--navy) 0%, var(--navy-deep) 100%);
  padding: 64px 0 56px;
  position: relative;
  overflow: hidden;
}
.tc-legal-hero::after{
  content:"";
  position:absolute;
  right:-60px; top:-60px;
  width: 280px; height:280px;
  background: radial-gradient(circle, rgba(241,92,42,.25) 0%, transparent 70%);
}
.tc-legal-title{
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 2.8rem);
  color:#fff;
  margin-bottom: .6rem;
}
.tc-legal-sub{
  color: #B9C1DA;
  font-size: .95rem;
  margin:0;
}

.tc-legal-body{ background: var(--paper); padding: 70px 0 100px; }

/* table of contents */
.tc-toc{
  position: sticky;
  top: 100px;
  display:flex;
  flex-direction: column;
  gap: 2px;
  border-left: 2px solid var(--line);
  padding-left: 18px;
}
.tc-toc-label{
  font-family: var(--font-head);
  font-weight: 600;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--slate-light);
  margin-bottom: 10px;
}
.tc-toc a{
  font-size: .88rem;
  color: var(--slate);
  padding: 6px 0;
  transition: color .2s;
}
.tc-toc a:hover{ color: var(--orange); }

/* content sections */
.tc-legal-section{ margin-bottom: 42px; scroll-margin-top: 100px; }
.tc-legal-section h2{
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 1.4rem;
  color: var(--navy);
  margin-bottom: 14px;
}
.tc-legal-section p{
  color: var(--slate);
  font-size: 1rem;
  margin-bottom: 14px;
}
.tc-legal-section p:last-child{ margin-bottom:0; }
.tc-legal-section ul{
  color: var(--slate);
  padding-left: 20px;
  margin-bottom: 0;
}
.tc-legal-section ul li{ margin-bottom: 10px; padding-left: 4px; }
.tc-legal-section ul li:last-child{ margin-bottom:0; }
.tc-legal-section strong{ color: var(--ink); }
.tc-legal-section a{ color: var(--orange); border-bottom: 1px solid rgba(241,92,42,.35); }
.tc-legal-section a:hover{ border-color: var(--orange); }

.tc-legal-contact-card{
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px;
  display:flex;
  flex-direction: column;
  gap: 14px;
}
.tc-legal-contact-card div{ display:flex; align-items:center; gap: 12px; }
.tc-legal-contact-card i{
  width: 36px; height:36px;
  border-radius: 10px;
  background: rgba(241,92,42,.12);
  color: var(--orange);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  font-size: .95rem;
}
.tc-legal-contact-card a{ color: var(--ink); font-family: var(--font-head); font-weight: 500; border:none; }
.tc-legal-contact-card span{ color: var(--slate); }

/* data deletion — CTA card */
.tc-delete-card{
  background: linear-gradient(155deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-radius: 20px;
  padding: 44px 40px;
  text-align: center;
  margin: 36px 0 50px;
  position: relative;
  overflow: hidden;
}
.tc-delete-card::before{
  content:"";
  position:absolute;
  left:-40px; bottom:-40px;
  width: 200px; height:200px;
  background: radial-gradient(circle, rgba(241,92,42,.22) 0%, transparent 70%);
}
.tc-delete-icon{
  width: 60px; height:60px;
  border-radius: 16px;
  background: rgba(241,92,42,.15);
  color: var(--orange-light);
  display:flex; align-items:center; justify-content:center;
  font-size: 1.6rem;
  margin: 0 auto 18px;
  position: relative;
}
.tc-delete-card h3{
  font-family: var(--font-head);
  color:#fff;
  font-size: 1.3rem;
  margin-bottom: 12px;
  position: relative;
}
.tc-delete-card p{
  color: #C4CBE0;
  max-width: 520px;
  margin: 0 auto 24px;
  position: relative;
}
.tc-delete-card .tc-btn{ position: relative; }

/* numbered step list */
.tc-step-list{
  list-style: none;
  padding: 0;
  margin: 0;
  display:flex;
  flex-direction: column;
  gap: 24px;
}
.tc-step-list li{ display:flex; gap: 18px; align-items:flex-start; }
.tc-step-num{
  width: 38px; height:38px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--orange-light);
  font-family: var(--font-head);
  font-weight: 700;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.tc-step-list h4{
  font-family: var(--font-head);
  font-size: 1.02rem;
  color: var(--navy);
  margin-bottom: 4px;
}
.tc-step-list p{ color: var(--slate); margin:0; font-size: .95rem; }

@media (max-width: 767px){
  .tc-delete-card{ padding: 34px 24px; }
}