/* LEGAL PAGES SHARED STYLESHEET
   Loaded only by /privacy and /terms-of-service.
   Palette mirrors the kiln-cream ceramic warehouse of Gou Ze Trade. */

:root{
  --legal-cream:#F8F4EA;
  --legal-ink:#2A3140;
  --legal-body:#3A4355;
  --legal-soft:#504F4A;
  --legal-celadon:#5E8D7F;
  --legal-panel:#FDFBF4;
  --legal-navy:#2B3442;
  --legal-navyline:#C9D2D8;
  --legal-white:#FAF8F1;
  --legal-red:#A84438;
  --legal-tan:#B99B6B;
  --legal-hairline:#E2DCCB;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  background-color:var(--legal-cream);
  color:var(--legal-body);
  font-size:16px;
  line-height:1.8;
  overflow-x:hidden;
}

img{
  max-width:100%;
}

a{
  color:var(--legal-celadon);
  text-decoration:none;
}

a:hover{
  color:var(--legal-red);
  text-decoration:underline;
}

/* solid-bar legal masthead with strong h1 contrast */
.legal-hd{
  background-color:var(--legal-navy);
  color:var(--legal-white);
}

.legal-hd .hd-inner{
  max-width:920px;
  margin:0 auto;
  padding:40px 24px;
}

.legal-hd .legal-flag{
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:13px;
  color:var(--legal-tan);
  font-weight:bold;
  display:block;
  margin-bottom:10px;
}

.legal-hd h1{
  font-size:44px;
  line-height:1.12;
  margin:0 0 12px;
  color:var(--legal-white);
}

.legal-hd .legal-meta{
  font-size:15px;
  color:var(--legal-navyline);
  font-family:"Helvetica Neue",Arial,sans-serif;
}

.legal-hd .hback a{
  color:var(--legal-tan);
}

.legal-issue{
  background-color:var(--legal-red);
  color:var(--legal-white);
}

.legal-issue .iss-inner{
  max-width:920px;
  margin:0 auto;
  padding:18px 24px;
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:15px;
}

/* scope isolation: legal content only */
.legal-page .legal-content section{
  background-color:transparent !important;
}

.legal-layout{
  max-width:920px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:240px 1fr;
  gap:40px;
  align-items:start;
}

@media(max-width:760px){
  .legal-layout{
    grid-template-columns:1fr;
  }
}

/* table of contents */
.tocbox{
  background-color:var(--legal-panel);
  border:1px solid var(--legal-hairline);
  padding:22px 20px;
  margin-top:40px;
  position:sticky;
  top:20px;
}

.tocbox h2{
  margin:0 0 14px;
  font-size:15px;
  font-family:"Helvetica Neue",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--legal-red);
}

.tocbox ol{
  margin:0;
  padding-left:0;
  list-style:none;
  counter-reset:toc;
}

.tocbox li{
  margin:0 0 10px;
}

.tocbox li a{
  color:var(--legal-ink);
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:14px;
  display:flex;
  align-items:baseline;
  gap:8px;
}

.tocbox li a::before{
  counter-increment:toc;
  content:counter(toc);
  color:var(--legal-celadon);
  font-weight:bold;
  font-family:Georgia,serif;
}

.tocbox li a:hover{
  color:var(--legal-red);
}

/* main legal content */
.legal-content{
  padding:40px 0 20px;
  margin-top:0;
}

.legal-content section{
  margin:0 0 44px;
  padding-bottom:6px;
}

.legal-content h2{
  font-size:26px;
  color:var(--legal-ink);
  margin:0 0 4px;
  padding-top:10px;
  border-top:2px solid var(--legal-tan);
  scroll-margin-top:24px;
}

.legal-content h2 .snum{
  color:var(--legal-red);
  margin-right:8px;
}

.legal-content h2 .hline{
  display:block;
  width:46px;
  height:3px;
  background-color:var(--legal-celadon);
  margin-top:8px;
  margin-bottom:16px;
}

.legal-content h3{
  font-size:20px;
  color:var(--legal-ink);
  margin:22px 0 8px;
}

.legal-content h4{
  font-size:17px;
  color:var(--legal-navy);
  margin:18px 0 6px;
}

.legal-content p{
  margin:0 0 16px;
}

.legal-content ul,
.legal-content ol{
  margin:0 0 16px;
  padding-left:24px;
}

.legal-content li{
  margin-bottom:8px;
}

.legal-content strong{
  color:var(--legal-ink);
}

.legal-callout{
  background-color:var(--legal-panel);
  border-left:4px solid var(--legal-celadon);
  padding:16px 20px;
  margin:18px 0;
}

.legal-tab{
  width:100%;
  border-collapse:collapse;
  margin:16px 0;
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:14px;
}

.legal-tab th,
.legal-tab td{
  border:1px solid var(--legal-hairline);
  padding:10px 12px;
  text-align:left;
}

.legal-tab th{
  background-color:var(--legal-navy);
  color:var(--legal-white);
  font-weight:bold;
}

.legal-tab tr:nth-child(even) td{
  background-color:var(--legal-panel);
}

.legal-contact-block{
  background-color:var(--legal-panel);
  border:1px solid var(--legal-hairline);
  padding:20px 24px;
  margin:22px 0;
}

.legal-contact-block p{
  margin:0 0 6px;
}

.legal-contact-block .addr{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed var(--legal-hairline);
}

/* legal footer plate */
.legal-plate{
  background-color:var(--legal-navy);
  color:var(--legal-navyline);
}

.legal-plate .plate-inner{
  max-width:920px;
  margin:0 auto;
  padding:28px 24px;
  text-align:center;
  font-family:"Helvetica Neue",Arial,sans-serif;
  font-size:14px;
}

.legal-plate .plate-inner a{
  color:var(--legal-tan);
  margin:0 12px;
}

/* strong smallprint line */
.smallprint{
  font-size:14px;
  color:var(--legal-soft);
}

.topback{
  max-width:920px;
  margin:0 auto;
  padding:26px 24px 0;
  text-align:right;
}

.topback a{
  font-family:"Helvetica Neue",Arial,sans-serif;
    font-size:14px;
    color:var(--legal-navy);
}

.tocbox{
  scroll-margin-top:24px;
}

@media(max-width:520px){
  .legal-hd h1{
    font-size:32px;
  }
}
