/* =========================================================================
   Document pages: terms, policies, shipping and returns
   ========================================================================= */
.doc { padding-block:clamp(2rem,5vw,3.5rem) clamp(3rem,7vw,5.5rem); }

.doc__head { padding-bottom:clamp(1.5rem,3vw,2.25rem); margin-bottom:clamp(1.75rem,4vw,3rem); border-bottom:1px solid var(--line); }
.doc__head .eyebrow { margin-bottom:0.75rem; }
.doc__title {
  margin:0; max-width:22ch; font-family:var(--font-display); font-weight:800;
  font-size:clamp(2rem,4.6vw,3.25rem); line-height:1.05; letter-spacing:-.025em; color:var(--ink); text-wrap:balance;
}
.doc__meta { display:flex; flex-wrap:wrap; align-items:center; gap:0.75rem 1.5rem; margin-top:1.25rem; }
.doc__updated { margin:0; font-size:0.875rem; color:var(--muted); }
.doc__print {
  display:inline-flex; align-items:center; gap:0.5rem; padding:0.4375rem 0.75rem; cursor:pointer;
  background:transparent; border:1px solid var(--line-strong); border-radius:0.5rem; color:var(--ink);
  font-family:var(--font-display); font-weight:600; font-size:0.8125rem;
  transition:border-color .2s ease, background .2s ease;
}
.doc__print svg { width:1rem; height:1rem; }
.doc__print:hover { border-color:var(--ink); background:var(--surface); }
.doc__print:focus-visible { outline:none; box-shadow:0 0 0 3px var(--focus); }

.doc__layout { display:grid; grid-template-columns:minmax(0,16rem) minmax(0,1fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.doc__aside { position:sticky; top:var(--sticky-top); display:flex; flex-direction:column; gap:1.25rem; min-width:0; }

.doc__toc[hidden] { display:none; }
.doc__toc-title, .doc__help-title {
  margin:0 0 0.75rem; font-family:var(--font-label); font-weight:600; font-size:0.6875rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.doc__toc-list { list-style:none; margin:0; padding:0; border-left:1px solid var(--line-strong); }
.doc__toc-list li { margin:0; }
.doc__toc-list a {
  display:block; margin-left:-1px; padding:0.375rem 0 0.375rem 0.875rem; border-left:2px solid transparent;
  text-decoration:none; color:var(--muted); font-size:0.875rem; line-height:1.35;
  transition:color .2s ease, border-color .2s ease;
}
.doc__toc-list a:hover { color:var(--ink); }
.doc__toc-list a.is-current { color:var(--ink); font-weight:600; border-left-color:var(--red); }
:root[data-theme="dark"] .doc__toc-list a.is-current { border-left-color:var(--red-on-dark); }

.doc__help { padding:1.125rem 1.25rem; background:var(--surface); border:1px solid var(--line); border-radius:1rem; box-shadow:var(--shadow-1); }
.doc__help-title { margin-bottom:0.375rem; }
.doc__help-text { margin:0 0 0.75rem; font-size:0.875rem; line-height:1.45; color:var(--muted); }
.doc__help-link { display:block; padding:0.1875rem 0; text-decoration:none; color:var(--ink); font-family:var(--font-display); font-weight:700; font-size:0.9375rem; overflow-wrap:anywhere; }
.doc__help-link:hover, .doc__help-more:hover { color:var(--red); }
.doc__help-more { display:inline-block; margin-top:0.625rem; color:var(--muted); font-size:0.8125rem; text-decoration:underline; }
:root[data-theme="dark"] .doc__help-link:hover, :root[data-theme="dark"] .doc__help-more:hover { color:var(--red-on-dark); }

/* ---- Reading column ----
   Whatever wrappers the page content brings along are flattened, so text
   written for the old generic template sits in the column like any other. */
.doc__content { min-width:0; max-width:44rem; font-size:1.0625rem; line-height:1.7; color:var(--ink); }
.doc__content .section-pad { padding:0; }
.doc__content .alignfull, .doc__content .alignwide { margin-inline:0; width:auto; max-width:none; }
.doc__content .prose, .doc__content .entry-content > * { max-width:none; }
.doc__content .prose, .doc__content p, .doc__content li { text-wrap:wrap; }
.doc__content .has-global-padding { padding-inline:0; }
.doc__content .eyebrow { display:none; }

.doc__content > :first-child, .doc__content .entry-content > :first-child { margin-top:0; }
.doc__content p { margin:0 0 1.125rem; }
.doc__content .lead { margin:0 0 2rem; max-width:none; font-size:1.25rem; line-height:1.55; color:var(--ink); }
.doc__content h2 {
  margin:2.75rem 0 0.875rem; scroll-margin-top:calc(var(--sticky-top) + 0.5rem);
  font-family:var(--font-display); font-weight:800; font-size:clamp(1.375rem,2.4vw,1.625rem);
  line-height:1.2; letter-spacing:-.015em; color:var(--ink);
}
.doc__content h3 {
  margin:2rem 0 0.625rem; scroll-margin-top:calc(var(--sticky-top) + 0.5rem);
  font-family:var(--font-display); font-weight:700; font-size:1.125rem; line-height:1.3; color:var(--ink);
}
.doc__content h4 { margin:1.5rem 0 0.5rem; font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--ink); }
.doc__content ul, .doc__content ol { margin:0 0 1.25rem; padding-left:1.375rem; }
.doc__content li { margin:0 0 0.5rem; padding-left:0.25rem; }
.doc__content li::marker { color:var(--red); font-weight:700; }
.doc__content a:not(.cookie-link) { color:var(--ink); font-weight:600; text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:0.1875rem; text-decoration-thickness:2px; }
.doc__content a:not(.cookie-link):hover { color:var(--red); }
.doc__content strong { font-weight:700; }
.doc__content blockquote { margin:1.5rem 0; padding:1rem 1.25rem; background:var(--surface); border-left:3px solid var(--red); border-radius:0 0.75rem 0.75rem 0; color:var(--ink); }
.doc__content blockquote p:last-child { margin-bottom:0; }
.doc__content hr { margin:2.5rem 0; border:0; border-top:1px solid var(--line); }
.doc__content table { width:100%; border-collapse:collapse; font-size:0.9375rem; }
.doc__content th, .doc__content td { padding:0.625rem 0.75rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.doc__content th { font-family:var(--font-display); font-weight:700; }
.doc__content .cookie-table { font-size:0.875rem; }
:root[data-theme="dark"] .doc__content li::marker { color:var(--red-on-dark); }
:root[data-theme="dark"] .doc__content a:not(.cookie-link) { text-decoration-color:var(--red-on-dark); }
:root[data-theme="dark"] .doc__content a:not(.cookie-link):hover { color:var(--red-on-dark); }
:root[data-theme="dark"] .doc__content blockquote { border-left-color:var(--red-on-dark); }
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .doc__toc-list a.is-current { border-left-color:var(--red-on-dark); }
  :root:not([data-theme="light"]) .doc__content li::marker { color:var(--red-on-dark); }
  :root:not([data-theme="light"]) .doc__content a:not(.cookie-link) { text-decoration-color:var(--red-on-dark); }
  :root:not([data-theme="light"]) .doc__content blockquote { border-left-color:var(--red-on-dark); }
}

@media (max-width:900px){
  .doc__layout { grid-template-columns:minmax(0,1fr); gap:1.75rem; }
  .doc__aside { position:static; display:contents; }
  .doc__toc { order:-1; padding:1rem 1.125rem; background:var(--surface); border:1px solid var(--line); border-radius:1rem; }
  .doc__help { order:2; }
  .doc__content { max-width:none; font-size:1rem; }
}

@media print {
  .wp-site-blocks > header, .wp-site-blocks > footer, .site-header, .site-footer,
  .doc__aside, .doc__print, .cookies, .sar-fbar { display:none !important; }
  .doc { padding:0; }
  .doc__layout { display:block; }
  .doc__content { max-width:none; font-size:11pt; }
  .doc__content a { text-decoration:none; }
  body { background:#fff !important; color:#000 !important; }
}
