/* ── document pages ───────────────────────────────────────────────────────
   /about /contact /terms /privacy /delivery /refund, in both languages.

   A masthead, a sticky section index, and one reading column. The chrome,
   the tokens, the buttons and the footer come from styles.css + home.css;
   this file sets the document's own furniture.

   Identity rules hold: separation is a hairline or whitespace, never a
   shadow; blue appears on links and on the one .key-note per page, never as
   a fill. The counters are mono — digits only, safe in both languages.
   ─────────────────────────────────────────────────────────────────────── */

:root{ --doc-shell:1040px; --doc-measure:64ch; }

.landing-v2 .nav-in{max-width:var(--doc-shell);}
.doc{padding-block-end:var(--s9);}
.doc-shell{max-width:var(--doc-shell);margin:0 auto;padding:0 24px;}
footer .shell{max-width:var(--doc-shell);}

/* ── masthead ─────────────────────────────────────────── */
.doc-head{padding-block:clamp(36px,6vw,72px) var(--s6);border-block-end:1px solid var(--ink);}
.doc-head h1{font-size:clamp(27px,4vw,40px);max-width:20ch;margin:0 0 var(--s4);}
.doc-head .lede{margin:0;max-width:56ch;}
.doc-facts{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s7);margin:var(--s6) 0 0;}
.doc-facts > div{display:flex;gap:var(--s2);align-items:baseline;}
.doc-facts dt{margin:0;font-size:11.5px;font-weight:400;color:var(--grey);}
.doc-facts dd{margin:0;font-size:12.5px;color:var(--ink-soft);}
.doc-facts dd:lang(en){font-family:var(--mo);font-size:11.5px;}

/* ── index rail ───────────────────────────────────────── */
.doc-grid{display:grid;grid-template-columns:190px minmax(0,1fr);
  gap:var(--s8);padding-block-start:var(--s7);}
@media(max-width:940px){.doc-grid{grid-template-columns:1fr;gap:var(--s6);}}

.doc-index{position:sticky;top:calc(var(--navh) + 20px);align-self:start;}
.doc-index-h{margin:0 0 var(--s3);font-size:11px;font-weight:600;color:var(--grey);}
.doc-index-h:lang(en){font-family:var(--mo);letter-spacing:.08em;text-transform:uppercase;}
.doc-index ol{counter-reset:ix;list-style:none;margin:0;padding:0;display:grid;}
.doc-index li{counter-increment:ix;}
.doc-index a{display:flex;gap:var(--s2);align-items:baseline;padding:5px 0;
  font-size:13px;line-height:1.55;color:var(--ink-soft);text-decoration:none;}
.doc-index a::before{content:counter(ix);flex:none;font-family:var(--mo);font-size:10.5px;
  color:var(--grey);unicode-bidi:isolate;}
.doc-index a:hover{color:var(--blue);}
@media(max-width:940px){
  .doc-index{position:static;border:1px solid var(--rule);border-radius:var(--r-md);
    padding:var(--s4) var(--s5);}
  .doc-index ol{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 var(--s5);}
  .doc-index a{min-height:34px;}
}

/* ── sections ─────────────────────────────────────────── */
.doc-body{max-width:var(--doc-measure);counter-reset:sec;}
.doc-body > section{counter-increment:sec;margin-block-start:var(--s7);
  padding-block-start:var(--s6);border-block-start:1px solid var(--rule);
  scroll-margin-block-start:calc(var(--navh) + 20px);}
.doc-body > section:first-child{margin-block-start:0;padding-block-start:0;border-block-start:0;}
.doc-body h2{font-size:clamp(18px,2.2vw,22px);line-height:1.45;max-width:34ch;
  margin:0 0 var(--s4);display:flex;gap:var(--s3);align-items:baseline;}
.doc-body h2::before{content:counter(sec);flex:none;font-family:var(--mo);font-size:12.5px;
  font-weight:400;color:var(--grey);unicode-bidi:isolate;}
.doc-body p{margin:0 0 var(--s4);color:var(--ink-soft);}
.doc-body p:last-child{margin-block-end:0;}
.doc-body b,.doc-body strong{font-weight:600;color:var(--ink);}
.doc-body a{color:var(--blue);text-decoration:none;border-block-end:1px solid var(--blue-tint);}
.doc-body a:hover{border-block-end-color:var(--blue);}

.doc-body ul{list-style:none;margin:0 0 var(--s4);padding:0;display:grid;gap:9px;}
.doc-body li{position:relative;padding-inline-start:20px;color:var(--ink-soft);line-height:1.75;}
.doc-body li::before{content:"";position:absolute;inset-inline-start:0;top:.85em;
  width:9px;height:1px;background:var(--grey);}

/* one per page: the sentence a reader must not miss. */
.key-note{border-inline-start:2px solid var(--blue);padding-inline-start:var(--s5);
  margin:var(--s5) 0;font-size:16px;line-height:1.8;color:var(--ink)!important;max-width:56ch;}

/* ── detail rows ──────────────────────────────────────── */
.kv{margin:var(--s5) 0;border-block-start:1px solid var(--rule);}
.kv > div{display:grid;grid-template-columns:minmax(9ch,30%) 1fr;gap:var(--s2) var(--s5);
  padding:var(--s4) 0;border-block-end:1px solid var(--rule);align-items:baseline;}
.kv dt{margin:0;font-size:12.5px;font-weight:400;color:var(--grey);line-height:1.6;}
.kv dd{margin:0;font-size:15px;font-weight:500;color:var(--ink);line-height:1.7;}
.kv dd a{color:var(--ink);text-decoration:none;border-block-end:1px solid var(--rule);}
.kv dd a:hover{color:var(--blue);border-block-end-color:var(--blue);}
/* a phone number is one token: mono digits are wide enough to break it
   across two lines inside a narrow column. */
.num bdi{white-space:nowrap;}
@media(max-width:560px){
  .kv > div{grid-template-columns:1fr;gap:3px;}
}

/* ── the other pages ──────────────────────────────────── */
.doc-more{margin-block-start:var(--s9);padding-block-start:var(--s5);
  border-block-start:1px solid var(--ink);}
.doc-more-h{margin:0 0 var(--s2);font-size:11px;font-weight:600;color:var(--grey);}
.doc-more-h:lang(en){font-family:var(--mo);letter-spacing:.08em;text-transform:uppercase;}
.doc-more-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 var(--s6);}
.doc-more a{display:flex;align-items:center;min-height:44px;padding:var(--s2) 0;
  font-size:14px;color:var(--ink-soft);text-decoration:none;
  border-block-end:1px solid var(--rule);}
.doc-more a:hover{color:var(--blue);}
.doc-more a[aria-current="page"]{color:var(--ink);font-weight:500;}

/* The homepage hides the small nav buttons under 960px because its drop panel
   and its fixed action bar both carry the CTAs. A document page has neither. */
@media(max-width:959px){ .nav-cta .btn-sm{display:inline-flex;} }

/* a reviewer printing a policy should get the policy, not the furniture. */
@media print{
  .nav,.doc-index,.doc-more,footer .fcols,.fbrand .btn{display:none;}
  .doc-shell{max-width:none;padding:0;}
  .doc-grid{display:block;}
  .doc-body{max-width:none;}
  .doc-body a{color:var(--ink);border:0;}
  .doc-body > section{break-inside:avoid;}
}
