/* Auxiliary pages (imprint, legal, account deletion, support).
   Shared header on orange, then a reading column on paper, then the shared footer.
   Only var() references from tokens.css. */

.page { background: var(--color-paper); }
.page .site-header { padding-bottom: var(--space-6); }

.page__main {
  background: var(--color-paper);
  color: var(--color-grey-dark);
  padding: var(--space-8) var(--gutter) var(--space-9);
}
.page__inner {
  max-width: var(--container-reading);
  margin-inline: auto;
  font-size: var(--fs-base);
  line-height: var(--lh-loose);
  overflow-wrap: break-word;
}

/* Rhythm */
.page__inner p { line-height: var(--lh-loose); }
.page__inner > * + *,
.page__inner section > * + *,
.page__inner .lede > * + *,
.page__inner .steps > li > * + * { margin-top: var(--space-4); }

/* Headings */
.page__inner h1 {
  font-size: var(--fs-3xl);
  font-weight: var(--fw-extrabold);
  color: var(--color-navy);
  letter-spacing: -0.01em;
}
.page__inner h2 {
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  color: var(--color-navy);
  line-height: var(--lh-snug);
}
.page__inner h3 {
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
  color: var(--color-navy);
  line-height: var(--lh-snug);
}
.page__inner section { margin-top: var(--space-7); }
.page__inner section > h2 + * { margin-top: var(--space-4); }
.page__inner * + h3 { margin-top: var(--space-6); }
.dot { color: var(--color-orange); }
.num, .sub-n {
  color: var(--color-orange);
  font-variant-numeric: tabular-nums;
  margin-right: var(--space-2);
}

/* Links */
.page__inner a {
  color: var(--color-navy);
  font-weight: var(--fw-bold);
  text-decoration-color: var(--color-orange);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}
.page__inner a:hover { color: var(--color-accent); }

/* Back link + intro */
.back-row { font-size: var(--fs-sm); }
.page__inner .back { font-weight: var(--fw-regular); text-decoration: none; color: var(--color-grey); }
.page__inner .back:hover { color: var(--color-navy); text-decoration: underline; }
.lede { padding-bottom: var(--space-6); border-bottom: 2px solid var(--color-rule); }
.lede > p:not(.eyebrow):not(.meta) { font-size: var(--fs-md); line-height: var(--lh-loose); }
.eyebrow, .stamp, .request__label, .toc h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-grey);
}
.stamp { color: var(--color-accent); }
.page__inner .meta { font-size: var(--fs-sm); font-weight: var(--fw-bold); color: var(--color-accent); }
.stamp {
  display: inline-block;
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius-pill);
  background: var(--color-cream);
}

/* Lists */
.page__inner ul { list-style: disc; padding-left: var(--space-5); }
.page__inner ol { list-style: decimal; padding-left: var(--space-5); }
.page__inner li + li { margin-top: var(--space-2); }
.page__inner li::marker { color: var(--color-orange); }
.page__inner .plain-list,
.page__inner .keys,
.page__inner .letters,
.page__inner .toc ol { list-style: none; padding-left: 0; }

/* Imprint: entity + label/value facts */
.page__inner .entity {
  margin-top: var(--space-6);
  font-family: var(--font-heading);
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  color: var(--color-navy);
  line-height: var(--lh-snug);
}
.page__inner .entity-sub { margin-top: var(--space-1); color: var(--color-grey); }
.page--imprint dl {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 2fr;
  border-top: 2px solid var(--color-rule);
}
.page--imprint dt, .page--imprint dd {
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--color-rule);
}
.page--imprint dt {
  font-family: var(--font-heading);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.14em;
  color: var(--color-grey);
  padding-right: var(--space-4);
}
.facts__de {
  display: block;
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: var(--fw-regular);
  letter-spacing: 0;
  color: var(--color-grey);
  opacity: 0.8;
}
.page--imprint dd { color: var(--color-black); }
.facts__line { display: block; }
.mono { font-family: var(--font-mono); font-size: var(--fs-sm); }

/* Callout (account deletion warning) */
.callout {
  padding: var(--space-4) var(--space-5);
  border-left: 4px solid var(--color-orange);
  border-radius: var(--radius-sm);
  background: var(--color-cream);
  color: var(--color-brown);
}
.callout > * + * { margin-top: var(--space-3); }

/* Account deletion: numbered steps */
.page__inner .steps { list-style: none; padding-left: 0; counter-reset: step; }
.page__inner .steps > li {
  counter-increment: step;
  position: relative;
  padding: var(--space-5) var(--space-5) var(--space-5) calc(var(--space-5) + var(--space-7));
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: var(--shadow-soft);
}
.page__inner .steps > li + li { margin-top: var(--space-5); }
.page__inner .steps > li::before {
  content: counter(step);
  position: absolute;
  left: var(--space-5);
  top: var(--space-5);
  width: var(--space-6);
  height: var(--space-6);
  display: grid;
  place-items: center;
  border-radius: var(--radius-pill);
  background: var(--color-orange);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-weight: var(--fw-bold);
  font-size: var(--fs-sm);
}
.howto {
  display: flex;
  gap: var(--space-5);
  align-items: center;
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}
.howto figure { flex: none; }
.howto__diagram { width: 170px; }
.d-phone { fill: none; stroke: var(--color-grey); stroke-width: 1.5; }
.d-popup { fill: var(--color-white); stroke: var(--color-rule); stroke-width: 1; }
.d-row { fill: var(--color-rule); }
.d-gear { fill: none; stroke: var(--color-orange); }
.d-id { fill: var(--color-cream); stroke: var(--color-orange); }
.d-label { fill: var(--color-grey); font-family: var(--font-heading); font-weight: var(--fw-bold); }
.d-value { fill: var(--color-navy); font-family: var(--font-mono); }
.d-key { fill: var(--color-accent); font-family: var(--font-heading); font-weight: var(--fw-bold); }
.keys li { position: relative; padding-left: calc(var(--space-5) + var(--space-3)); }
.keys .key {
  position: absolute;
  left: 0;
  top: 0.15em;
  display: inline-grid;
  place-items: center;
  min-width: var(--space-5);
  height: var(--space-5);
  border-radius: var(--radius-pill);
  background: var(--color-navy);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
}
.request {
  padding: var(--space-5);
  border: 2px dashed var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}
.request > * + * { margin-top: var(--space-3); }
.page__inner .request__label { color: var(--color-accent); }
.request__template {
  white-space: pre-wrap;
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  color: var(--color-black);
}

/* Buttons inside content */
.page__inner .button {
  background: var(--color-navy);
  color: var(--color-white);
  text-decoration: none;
  font-weight: var(--fw-semibold);
}
.page__inner .button:hover { background: var(--color-orange); color: var(--color-white); text-decoration: none; }
.page__inner .request .button { display: inline-block; margin-top: var(--space-4); }

/* Terms: numbered clauses */
.clause { position: relative; padding-left: calc(var(--space-7) + var(--space-3)); }
.clause__n {
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-heading);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-sm);
  color: var(--color-orange);
  font-variant-numeric: tabular-nums;
  padding-top: 0.15em;
}
.letters { margin-left: calc(var(--space-7) + var(--space-3)); }
.letters li { position: relative; padding-left: calc(var(--space-6) + var(--space-2)); }
.letters .key { all: unset; position: absolute; left: 0; top: 0; color: var(--color-orange); font-family: var(--font-heading); font-weight: var(--fw-semibold); }

/* Privacy: contents box + sections */
.toc {
  margin-top: var(--space-6);
  padding: var(--space-5);
  border-radius: var(--radius-md);
  background: var(--color-white);
  box-shadow: var(--shadow-soft);
}
.toc h2 { color: var(--color-grey); }
.page__inner .toc ol { margin-top: var(--space-3); columns: 2; column-gap: var(--space-6); }
.page__inner .toc li { break-inside: avoid; display: flex; gap: var(--space-2); margin-top: var(--space-1); font-size: var(--fs-sm); }
.toc__n {
  flex: none;
  min-width: var(--space-6);
  color: var(--color-orange);
  font-family: var(--font-heading);
  font-weight: var(--fw-bold);
}
.sec { padding-top: var(--space-6); border-top: 2px solid var(--color-rule); scroll-margin-top: var(--space-4); }

/* Support: hero + help box */
.support-hero { text-align: center; }
.support-hero__logo { width: min(260px, 70vw); margin-inline: auto; }
.page__inner .support-hero > * + * { margin-top: var(--space-4); }
.page__inner .support-hero .button { margin-top: var(--space-5); }
.page--bistro-bay-support .page__inner > h2 { margin-top: var(--space-8); }
.help {
  padding: var(--space-5);
  border-radius: var(--radius-md);
  background: var(--color-cream);
  text-align: center;
}
.help > * + * { margin-top: var(--space-3); }
.help__mail { font-size: var(--fs-xl); }

/* Old page-end lines kept as a quiet meta row */
.page__inner .page-foot {
  margin-top: var(--space-8);
  padding-top: var(--space-5);
  border-top: 2px solid var(--color-rule);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-5);
  font-size: var(--fs-sm);
  color: var(--color-grey);
}
.page__inner .page-foot a { font-weight: var(--fw-regular); }
.page--bistro-bay-support .page-foot { flex-direction: column; text-align: center; align-items: center; }
.page--bistro-bay-support .page-foot p:first-child { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2) var(--space-5); }

@media (max-width: 768px) {
  .page__main { padding: var(--space-6) var(--gutter) var(--space-8); }
  .page__inner { font-size: var(--fs-sm); }
  .page__inner h1 { font-size: var(--fs-2xl); }
  .page__inner h2 { font-size: var(--fs-lg); }
  .page__inner h3 { font-size: var(--fs-base); }
  .lede > p:not(.eyebrow):not(.meta) { font-size: var(--fs-sm); }
  .page--imprint dl { grid-template-columns: 1fr; }
  .page--imprint dt { padding-bottom: 0; border-bottom: 0; }
  .page--imprint dd { padding-top: var(--space-1); }
  .page__inner .steps > li { padding: calc(var(--space-6) + var(--space-5)) var(--space-4) var(--space-4); }
  .page__inner .steps > li::before { left: var(--space-4); top: var(--space-4); }
  .howto { flex-direction: column; align-items: flex-start; }
  .clause { padding-left: 0; }
  .clause__n { position: static; display: block; }
  .letters { margin-left: 0; }
  .page__inner .toc ol { columns: 1; }
}
