.elementor-22781 .elementor-element.elementor-element-3fb9cb3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-22781 .elementor-element.elementor-element-accd369{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:26px;--padding-bottom:34px;--padding-left:24px;--padding-right:24px;}.elementor-22781 .elementor-element.elementor-element-d953e7d{width:100%;max-width:100%;}.elementor-22781 .elementor-element.elementor-element-bbe4da3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-22781 .elementor-element.elementor-element-f43925f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-22781 .elementor-element.elementor-element-59895c4 .elementor-toc__header-title{text-align:start;}.elementor-22781 .elementor-element.elementor-element-59895c4{--item-text-hover-decoration:underline;}.elementor-22781 .elementor-element.elementor-element-638f5f0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}/* Start custom CSS for container, class: .elementor-element-3fb9cb3 *//**
 * ZHOMES — Legal documents (Privacy Policy, Returns & Refunds, Terms, Cookie).
 *
 * Paired with wordpress/elementor-templates/zhomes-privacy-page.json and
 * wordpress/elementor-templates/zhomes-returns-page.json.
 * Paste into Elementor → Site Settings → Custom CSS (or the page's own
 * Advanced → Custom CSS). No theme files and no PHP are involved.
 *
 * Everything is scoped to .zh-lg, so no other page is affected. The layout is
 * driven by CSS grid rather than Elementor's flex widths: a percentage width
 * plus a flex gap always overflows the row, while grid divides the space after
 * the gap.
 */

.zh-lg {
  --zh-linen: #faf8f2;
  --zh-espresso: #33261a;
  --zh-ink: #3e2f21;
  --zh-taupe: #97836c;
  --zh-dawn: #b4572f;
  --zh-dawn-deep: #93401d;
  --zh-amber: #c98a2e;
  --zh-line: #e8ddc9;
  --zh-tint: #f5e6d4;
  --zh-card: #fdfaf3;
  --zh-gold: #c9a24b;
  --zh-success: #2e7d4f;
  --zh-warning: #9a6a10;
  --zh-error: #b23b27;
  --zh-disp: 'Fraunces', Georgia, serif;
  --zh-sans: 'Public Sans', system-ui, -apple-system, sans-serif;

  background: var(--zh-linen);
  color: var(--zh-ink);
}

/* ---------- reading progress ---------- */
/* The Progress Tracker widget is pinned to the top of the viewport and reduced
   to a hairline; its own wrapper padding is removed so it never takes space. */
.zh-lg-prog.zh-lg-prog {
  position: sticky;
  top: 0;
  z-index: 5;
  margin: 0;
  padding: 0;
  pointer-events: none;
}
.zh-lg-prog .elementor-widget-container {
  margin: 0;
  padding: 0;
}
.zh-lg-prog .e-progress-tracker,
.zh-lg-prog .elementor-progress-tracker {
  height: 3px;
  border-radius: 0;
  background: transparent;
}
.zh-lg-prog .current-progress,
.zh-lg-prog .e-progress-tracker .current-progress {
  background: linear-gradient(90deg, var(--zh-amber), var(--zh-dawn));
  border-radius: 0;
}
/* The percentage bubble is noise on a legal page. */
.zh-lg-prog .e-progress-tracker-percentage,
.zh-lg-prog .elementor-progress-percentage {
  display: none;
}

/* ---------- content box ----------
   The same box the header uses (zhomes-header.css §15) and every other page
   stylesheet repeats: a fluid 5% gutter up to about a 1550px viewport, then a
   centred 1392px column. Elementor imports these rows as full-width containers,
   so without this the text runs to the window edge and stops lining up with the
   logo and basket. Backgrounds stay full-bleed; only the content is boxed. */
.zh-lg-hero,
.zh-lg-shell {
  padding-left: max(5%, calc((100% - 1392px) / 2)) !important;
  padding-right: max(5%, calc((100% - 1392px) / 2)) !important;
}
/* The percentage in that padding only resolves once the row has a definite
   width. Elementor imports this row as a full-width flex container, where it
   stays unresolved and the title ends up flush against the window edge; as a
   block it resolves and lines up with the logo. The row holds a single widget,
   so nothing needs the flex context. (.zh-lg-shell is already a grid below.) */
.zh-lg-hero {
  display: block !important;
}
/* No breakpoint override here on purpose: below roughly a 1550px viewport the
   max() already resolves to the 5% gutter, which is exactly what the header
   keeps at every width down to mobile. */

/* ---------- title ---------- */
.zh-lg-hero {
  border-bottom: 1px solid var(--zh-line);
}
.zh-lg-h1 .elementor-heading-title {
  font-family: var(--zh-disp);
  font-weight: 560;
  font-size: clamp(38px, 5.4vw, 64px);
  line-height: 1.04;
  letter-spacing: -0.015em;
  color: var(--zh-espresso);
  margin: 0;
}
.zh-lg-h1 .elementor-heading-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 2px;
  background: var(--zh-amber);
  margin-top: 20px;
}

/* ---------- two-column shell ---------- */
.zh-lg-shell > .e-con-inner,
.zh-lg-shell.e-con-full {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: start;
}

/* ---------- section index (Table of Contents widget) ---------- */
.zh-lg-rail {
  position: sticky;
  /* clears the two-tier sticky header — same offset as the journal sidebar */
  top: 180px;
  align-self: start;
  padding: 34px 26px 40px 0;
  border-right: 1px solid var(--zh-line);
  max-height: calc(100vh - 210px);
  overflow: auto;
}
/* Strip the widget's own bordered box — the rail already provides the frame.
   Elementor draws that box on `.elementor-widget-container`, but this build
   renders widgets without that wrapper, so the box lands on the widget element
   itself; both are covered here. `overflow` and `min-height` come from the same
   rule and would otherwise clip the list and leave a gap under it. */
.zh-lg-toc.zh-lg-toc,
.zh-lg-toc .elementor-widget-container,
.zh-lg-toc .elementor-toc__header,
.zh-lg-toc .elementor-toc__body {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.zh-lg-toc .elementor-toc__header-title {
  font-family: var(--zh-sans) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--zh-taupe) !important;
  font-weight: 700 !important;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--zh-line);
  margin-bottom: 10px;
}
.zh-lg-toc .elementor-toc__toggle-button {
  display: none;
}
.zh-lg-toc .elementor-toc__list-wrapper {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
.zh-lg-toc .elementor-toc__list-item {
  margin: 0;
  padding: 0;
}
/* The headings already carry their own numbering, so the widget's marker would
   read as "1. 1. Purpose…". */
.zh-lg-toc .elementor-toc__list-item-text-wrapper::before,
.zh-lg-toc .elementor-toc__list-item::marker {
  content: none !important;
  display: none !important;
}
.zh-lg-toc .elementor-toc__list-item-text {
  display: block;
  padding: 6px 8px;
  font-family: var(--zh-sans) !important;
  font-size: 13px !important;
  line-height: 1.4;
  color: #6b5945 !important;
  text-decoration: none !important;
  border-radius: 3px;
  transition: background 0.15s ease, color 0.15s ease;
}
.zh-lg-toc .elementor-toc__list-item-text:hover {
  background: #f0e6d6;
  color: var(--zh-espresso) !important;
}
.zh-lg-toc .elementor-toc__list-item.elementor-item-active > .elementor-toc__list-item-text-wrapper > .elementor-toc__list-item-text,
.zh-lg-toc .elementor-toc__list-item-text.elementor-item-active {
  background: var(--zh-tint);
  color: var(--zh-dawn-deep) !important;
  font-weight: 600;
}
.zh-lg-toc .elementor-toc__list-item-text:focus-visible {
  outline: 2px solid var(--zh-dawn);
  outline-offset: 1px;
}

/* ---------- the document ---------- */

.zh-lg-doc {
  padding: 36px 0 0 48px;
}
/* Elementor renders a container as a flex box, and a flex item's automatic
   minimum size is its own content — so a single wide table, or an unbreakable
   URL in the copy, widens the whole reading column and with it the page. The
   column is allowed to shrink instead; anything genuinely too wide scrolls
   inside its own wrapper. Without this the phone layout overflows by the
   difference (measured: 406px of content in a 351px column at 390px wide). */
.zh-lg-doc > .elementor-widget,
.zh-lg-rail > .elementor-widget {
  min-width: 0;
}

/* Headings. The class is doubled to outrank Elementor's kit typography, which
   targets headings at the same specificity and loads after this block. */
.zh-lg-body.zh-lg-body h2 {
  font-family: var(--zh-disp) !important;
  font-weight: 600;
  font-size: clamp(22px, 2.5vw, 30px) !important;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--zh-espresso) !important;
  margin: 0 0 14px;
  text-wrap: balance;
  scroll-margin-top: 170px;
}
/* A rule between sections, but never above the first one. */
.zh-lg-body.zh-lg-body h2 ~ h2 {
  border-top: 1px solid var(--zh-line);
  margin-top: 34px;
  padding-top: 34px;
}
.zh-lg-body.zh-lg-body h3 {
  font-family: var(--zh-sans) !important;
  font-weight: 700;
  font-size: 12.5px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--zh-dawn-deep) !important;
  margin: 26px 0 10px;
  scroll-margin-top: 170px;
}

.zh-lg-body.zh-lg-body,
.zh-lg-body.zh-lg-body p {
  font-family: var(--zh-sans) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--zh-ink) !important;
}
.zh-lg-body.zh-lg-body p {
  margin: 0 0 14px;
}
.zh-lg-body.zh-lg-body a {
  color: var(--zh-dawn-deep) !important;
}
.zh-lg-body.zh-lg-body a:hover {
  color: var(--zh-dawn) !important;
}
.zh-lg-body.zh-lg-body strong,
.zh-lg-body.zh-lg-body b {
  font-weight: 700;
  color: var(--zh-espresso) !important;
}

/* Some of the pasted copy carries inline font declarations (Inter, 15px,
   letter-spacing) that would otherwise beat any stylesheet. Neutralise those
   properties only — the bold of a <strong> is left alone. */
.zh-lg-body.zh-lg-body span[style],
.zh-lg-body.zh-lg-body a[style],
.zh-lg-body.zh-lg-body strong[style] {
  font-family: inherit !important;
  font-size: inherit !important;
  letter-spacing: normal !important;
  background-color: transparent !important;
}
.zh-lg-body.zh-lg-body span[style],
.zh-lg-body.zh-lg-body a[style] {
  font-weight: inherit !important;
}

/* Lists — a gold lozenge for bullets, accent numerals for ordered lists. */
.zh-lg-body.zh-lg-body ul,
.zh-lg-body.zh-lg-body ol {
  list-style: none !important;
  margin: 0 0 16px;
  padding: 0;
}
.zh-lg-body.zh-lg-body li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 9px;
  line-height: 1.62;
}
.zh-lg-body.zh-lg-body ul > li::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 11px;
  width: 5px;
  height: 5px;
  background: var(--zh-amber);
  transform: rotate(45deg);
}
.zh-lg-body.zh-lg-body ol {
  counter-reset: zh-lg-n;
}
.zh-lg-body.zh-lg-body ol > li {
  counter-increment: zh-lg-n;
  padding-left: 32px;
}
.zh-lg-body.zh-lg-body ol > li::before {
  content: counter(zh-lg-n);
  position: absolute;
  left: 0;
  top: 1px;
  font-size: 11px;
  font-weight: 700;
  color: var(--zh-dawn);
  font-variant-numeric: tabular-nums;
}

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
  .zh-lg-shell > .e-con-inner,
  .zh-lg-shell.e-con-full {
    grid-template-columns: minmax(0, 1fr);
  }
  .zh-lg-rail {
    position: static;
    max-height: none;
    overflow: visible;
    border-right: 0;
    border-bottom: 1px solid var(--zh-line);
    padding: 24px 0;
  }
  .zh-lg-toc .elementor-toc__list-wrapper {
    columns: 2;
    column-gap: 20px;
  }
  .zh-lg-toc .elementor-toc__list-item {
    break-inside: avoid;
  }
  .zh-lg-doc {
    padding: 28px 0 0;
  }
}

@media (max-width: 600px) {
  .zh-lg-toc .elementor-toc__list-wrapper {
    columns: 1;
  }
}

/* ============================================================================
   Longer policies — everything below is additive.
   ----------------------------------------------------------------------------
   The Privacy Policy is prose: headings, paragraphs and lists, all of which the
   block above already covers. Returns & Refunds is a reference document — it
   compares situations, so it needs tables, callouts and a numbered procedure.
   These rules only fire when that markup is present, so the Privacy page and
   any other page built on .zh-lg is byte-for-byte unaffected.
   ========================================================================== */

/* ---------- masthead extras ----------
   A policy that people arrive at from a product page benefits from saying what
   it is and when it was last changed. The heading widget renders the eyebrow as
   a <p>, so it is targeted through the widget's own title class. */
.zh-lg-eyebrow .elementor-heading-title {
  font-family: var(--zh-sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--zh-dawn) !important;
  margin: 0 0 14px;
}
.zh-lg-lede,
.zh-lg-lede p {
  font-family: var(--zh-sans) !important;
  color: var(--zh-ink) !important;
}
.zh-lg-lede p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  margin: 18px 0 0;
  max-width: 100%;
}
/* Source, revision date, version — one line, gold dots between the items. */
.zh-lg-lede p.zh-lg-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  align-items: center;
  margin: 26px 0 0;
  max-width: none;
  font-size: 13.5px !important;
  color: var(--zh-taupe) !important;
  font-variant-numeric: tabular-nums;
}
.zh-lg-lede p.zh-lg-meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.zh-lg-lede p.zh-lg-meta span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--zh-gold);
  flex: none;
}

/* ---------- the section numeral ----------
   Inline rather than a grid column on purpose: the Table of Contents widget
   reads the heading's text, so the numeral and the title are two spans with a
   real space between them, and a grid would make that space a third column. */
.zh-lg-body.zh-lg-body h2 .n {
  display: inline-block;
  font-family: var(--zh-sans) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--zh-dawn);
  vertical-align: 0.45em;
  margin-right: 12px;
}
/* A qualifier under a section title — "Online and phone orders". */
.zh-lg-body.zh-lg-body p.zh-lg-sub {
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--zh-taupe) !important;
  margin: -6px 0 18px;
}

/* ---------- placeholder chip ----------
   Every value still to be supplied is wrapped in .ph so it is impossible to
   publish one by accident: they read as dashed amber chips on the page. */
.zh-lg .ph {
  /* Inline rather than inline-block: the longest placeholder is a whole phrase
     and at 390px an unbreakable chip is wider than the column. As an inline it
     wraps like the text around it, and box-decoration-break redraws the dashed
     border on each line so it still reads as one chip. */
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  overflow-wrap: break-word;
  font-family: var(--zh-sans);
  font-size: 0.88em;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--zh-warning);
  background: rgba(201, 138, 46, 0.12);
  border: 1px dashed rgba(154, 106, 16, 0.5);
  border-radius: 3px;
  padding: 0 6px;
}

/* ---------- callouts ---------- */
.zh-lg .zh-note {
  border: 1px solid var(--zh-line);
  border-left: 3px solid var(--zh-gold);
  background: var(--zh-card);
  border-radius: 3px;
  padding: 18px 22px;
  margin: 0 0 22px;
}
.zh-lg .zh-note > :last-child {
  margin-bottom: 0;
}
.zh-lg .zh-note.is-key {
  border-left-color: var(--zh-dawn);
  background: var(--zh-tint);
}
.zh-lg .zh-note.is-warn {
  border-left-color: var(--zh-amber);
}
.zh-lg-body.zh-lg-body .zh-note-title {
  font-size: 11px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: var(--zh-taupe) !important;
  margin: 0 0 8px;
}

/* ---------- tables ----------
   The wrapper scrolls, never the page. */
.zh-lg .zh-tbl-wrap {
  margin: 0 0 24px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.zh-lg-body.zh-lg-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14.5px;
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
  background: var(--zh-card);
  border: 1px solid var(--zh-line);
  border-radius: 3px;
}
.zh-lg-body.zh-lg-body thead th {
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--zh-taupe);
  padding: 13px 18px;
  border-bottom: 1px solid var(--zh-line);
  background: var(--zh-linen);
  white-space: nowrap;
}
.zh-lg-body.zh-lg-body tbody td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--zh-line);
  vertical-align: top;
}
.zh-lg-body.zh-lg-body tbody tr:last-child td {
  border-bottom: 0;
}
.zh-lg-body.zh-lg-body tbody td:first-child {
  color: var(--zh-espresso);
  font-weight: 600;
}
.zh-lg-body.zh-lg-body tbody tr:nth-child(even) {
  background: rgba(232, 221, 201, 0.24);
}
.zh-lg-body.zh-lg-body td .yes {
  color: var(--zh-success);
  font-weight: 600;
}
.zh-lg-body.zh-lg-body td .no {
  color: var(--zh-error);
  font-weight: 600;
}
.zh-lg-body.zh-lg-body td .mid {
  color: var(--zh-warning);
  font-weight: 600;
}

/* A four-column comparison is unreadable at 390px, so a table marked .stack
   becomes one card per row, each cell labelled from its own data-label. */
@media (max-width: 720px) {
  .zh-lg-body.zh-lg-body table.stack,
  .zh-lg-body.zh-lg-body table.stack tbody,
  .zh-lg-body.zh-lg-body table.stack tr,
  .zh-lg-body.zh-lg-body table.stack td {
    display: block;
    width: 100%;
  }
  .zh-lg-body.zh-lg-body table.stack {
    border: 0;
    background: none;
  }
  .zh-lg-body.zh-lg-body table.stack thead {
    display: none;
  }
  .zh-lg-body.zh-lg-body table.stack tbody tr,
  .zh-lg-body.zh-lg-body table.stack tbody tr:nth-child(even) {
    border: 1px solid var(--zh-line);
    border-radius: 3px;
    background: var(--zh-card);
    margin: 0 0 12px;
    padding: 4px 0;
  }
  .zh-lg-body.zh-lg-body table.stack td {
    border: 0;
    padding: 8px 16px;
  }
  .zh-lg-body.zh-lg-body table.stack td:first-child {
    font-size: 15px;
    padding-bottom: 4px;
  }
  .zh-lg-body.zh-lg-body table.stack td:not(:first-child)::before {
    content: attr(data-label);
    display: block;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--zh-taupe);
    margin-bottom: 2px;
  }
}

/* ---------- numbered procedure ----------
   An <ol> with its own counter and connecting rule. The .elementor-22781 .elementor-element.elementor-element-3fb9cb3s carry one
   more class than the ordered-list rules above so they win regardless of where
   this block sits in the file. */
.zh-lg-body.zh-lg-body ol.zh-steps {
  counter-reset: zh-lg-step;
  margin: 0 0 20px;
  padding: 0;
}
.zh-lg-body.zh-lg-body ol.zh-steps > li {
  counter-increment: zh-lg-step;
  position: relative;
  padding: 0 0 20px 52px;
  margin: 0;
  border-left: 1px solid var(--zh-line);
}
.zh-lg-body.zh-lg-body ol.zh-steps > li:last-child {
  border-left-color: transparent;
  padding-bottom: 0;
}
.zh-lg-body.zh-lg-body ol.zh-steps > li::before {
  content: counter(zh-lg-step);
  position: absolute;
  left: -15px;
  top: -2px;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: var(--zh-espresso);
  color: var(--zh-linen);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12.5px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* ---------- the model cancellation form ---------- */
.zh-lg .zh-form {
  border: 1px solid var(--zh-line);
  border-top: 2px solid rgba(201, 162, 75, 0.45);
  background: var(--zh-card);
  border-radius: 3px;
  padding: 26px 28px;
  margin: 0 0 20px;
}
.zh-lg-body.zh-lg-body .zh-form p {
  margin: 0 0 14px;
}
.zh-lg .zh-form .line {
  display: grid;
  grid-template-columns: minmax(150px, auto) 1fr;
  gap: 6px 14px;
  align-items: end;
  margin: 0 0 14px;
  font-size: 14.5px;
}
.zh-lg .zh-form .line i {
  display: block;
  border-bottom: 1px dotted var(--zh-taupe);
  height: 1.5em;
  font-style: normal;
}
.zh-lg-body.zh-lg-body .zh-form p.zh-form-note {
  margin: 0;
  font-size: 13px !important;
  color: var(--zh-taupe) !important;
}
@media (max-width: 560px) {
  .zh-lg .zh-form .line {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}

/* ---------- company footer block ---------- */
.zh-lg .zh-lg-foot {
  margin-top: 56px;
  padding-top: 26px;
  border-top: 1px solid var(--zh-line);
}
.zh-lg-body.zh-lg-body .zh-lg-foot p {
  font-size: 13.5px !important;
  color: var(--zh-taupe) !important;
  margin: 0;
}

/* ---------- print ----------
   A returns policy is the one page people do print, so it is worth setting. */
@media print {
  .zh-lg {
    background: #fff;
  }
  .zh-lg-prog,
  .zh-lg-rail,
  .zh-lg-lede p:first-child {
    display: none !important;
  }
  .zh-lg-shell > .e-con-inner,
  .zh-lg-shell.e-con-full {
    display: block !important;
  }
  .zh-lg-doc {
    padding: 0;
  }
  .zh-lg-body.zh-lg-body h2 {
    break-after: avoid;
  }
  .zh-lg .zh-note,
  .zh-lg .zh-form,
  .zh-lg-body.zh-lg-body table {
    break-inside: avoid;
  }
  .zh-lg-body.zh-lg-body a {
    color: inherit !important;
    text-decoration: none;
  }
}/* End custom CSS */