/* Policy pages (cookies / privacy / terms) */
.policyPage {
  min-height: 100vh;
}

.policyHero {
  padding: 56px 0 24px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.policyHero__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.policyBrand {
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
  color: inherit;
}

.policyBrand__mark{
  width:38px;
  height:38px;
  border-radius:12px;
  background: radial-gradient(circle at 30% 30%, rgba(255,153,0,.9), rgba(255,153,0,.25));
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}

.policyBrand__name{
  font-weight:800;
  letter-spacing:.2px;
}

.policyHero__meta{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.policyChip{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.85);
}

.policyBody{
  padding: 26px 0 44px;
}

.policyGrid{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap: 26px;
  align-items:start;
}

@media (max-width: 920px){
  .policyGrid{ grid-template-columns: 1fr; }
}

.policyToc{
  position: sticky;
  top: 18px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(12, 16, 26, 0.78);
  overflow:hidden;
}

.policyToc__head{
  padding: 14px 14px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-weight: 700;
}

.policyToc__list{
  list-style:none;
  margin:0;
  padding: 10px;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.policyToc__list a{
  display:block;
  padding:10px 10px;
  border-radius: 12px;
  text-decoration:none;
  color: rgba(255,255,255,0.82);
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.03);
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

.policyToc__list a:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
}

.policyCard{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(12, 16, 26, 0.78);
  padding: 18px 18px 8px;
}

.policyTitle{
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.1;
  margin: 0 0 10px;
}

.policyLead{
  margin: 0 0 14px;
  color: rgba(255,255,255,0.78);
  max-width: 70ch;
}

.policySection{
  padding: 14px 0 18px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.policySection:first-of-type{
  border-top: none;
  padding-top: 6px;
}

.policySection h2{
  margin: 0 0 10px;
  font-size: 20px;
}

.policySection h3{
  margin: 14px 0 8px;
  font-size: 16px;
}

.policySection p, .policySection li{
  color: rgba(255,255,255,0.78);
  line-height: 1.65;
}

.policySection ul{
  padding-left: 18px;
}

.policyInline{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.policyNote{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,153,0,0.08);
  padding: 12px 12px;
  color: rgba(255,255,255,0.85);
}

.policyFooter{
  padding: 28px 0 40px;
  border-top: 1px solid rgba(255,255,255,0.08);
  text-align:center;
}
.policyFooter a{
  color: rgba(255,255,255,0.75);
  text-decoration:none;
}
.policyFooter a:hover{ text-decoration: underline; }
.policyFooter .muted{ opacity: .75; }
