/* =========================================================
   terms-and-conditions.css — page-specific styles
   Reuses shared theme variables from style.css.
   ========================================================= */

.terms-layout{
  display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:start;
}

/* ---------- Sticky TOC sidebar ---------- */
.terms-toc{
  position:sticky;top:96px;
  background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);
  padding:22px;
}
.terms-toc h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:14px;}
.terms-toc nav{display:flex;flex-direction:column;gap:2px;max-height:70vh;overflow-y:auto;}
.toc-link{
  display:block;padding:8px 10px;border-radius:8px;font-size:13.5px;
  color:var(--text-mute);border-left:2px solid transparent;transition:var(--transition);
}
.toc-link:hover{color:#fff;background:rgba(255,255,255,.04);}
.toc-link.active{
  color:var(--cyan-accent);border-left-color:var(--cyan-accent);
  background:rgba(0,209,255,.08);font-weight:600;
}

/* ---------- Content blocks ---------- */
.terms-content{min-width:0;}
.terms-block{
  padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--border-soft);
  scroll-margin-top:100px;
}
.terms-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.terms-block h2{font-size:20px;}
.terms-block p{font-size:14.5px;}
.terms-block a{color:var(--cyan-accent);text-decoration:underline;text-underline-offset:3px;}

/* ---------- Back to top button ---------- */
.back-to-top{
  position:fixed;right:20px;bottom:88px;z-index:190;
  width:44px;height:44px;border-radius:50%;
  background:var(--bg-card);border:1px solid var(--border-soft);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:var(--transition);
}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--blue-primary);border-color:var(--blue-primary);}

/* ---------- Responsive ---------- */
@media (max-width: 991px){
  .terms-layout{grid-template-columns:1fr;}
  .terms-toc{
    position:static;max-height:none;
  }
  .terms-toc nav{
    flex-direction:row;flex-wrap:wrap;gap:8px;max-height:none;overflow:visible;
  }
  .toc-link{border-left:none;border:1px solid var(--border-soft);padding:7px 12px;}
  .toc-link.active{border-color:var(--cyan-accent);}
  .back-to-top{right:14px;bottom:78px;width:40px;height:40px;}
}
