/* =========================================================
   GUIDES — the written answers to counter questions
   =========================================================
   These pages exist to be read, often on a phone, often by
   somebody who found them through a search and has never heard
   of the shop. So: one narrow column, generous line height, and
   headings that let a reader skip to the part they came for.
   ========================================================= */

/* ---------- Hub ---------- */

.guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--sp-6);
}

.guide-card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding: var(--sp-8);
  background: var(--c-offwhite);
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
  color: inherit;
  text-decoration: none;
  transition: border-color var(--dur-normal) var(--ease-out), transform var(--dur-normal) var(--ease-out);
}
.guide-card:hover { border-color: var(--c-gold-soft); transform: translateY(-2px); }

.guide-card__label {
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--c-gold);
}
.guide-card__title { margin: 0; font-size: var(--fs-lg); line-height: var(--lh-tight, 1.25); }
.guide-card__text {
  margin: 0;
  color: var(--c-text-muted);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
  font-size: var(--fs-sm);
}
.guide-card__go {
  margin-top: auto;
  padding-top: var(--sp-2);
  font-size: var(--fs-sm);
  color: var(--c-gold);
}

.guide-ask {
  margin-top: var(--sp-12);
  padding: var(--sp-8);
  text-align: center;
  background: var(--c-ivory-2);
  border-radius: var(--r-lg);
}
.guide-ask__title { margin: 0; font-size: var(--fs-lg); }
.guide-ask__text {
  max-width: 48ch;
  margin: var(--sp-3) auto var(--sp-6);
  color: var(--c-text-muted);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
}

/* ---------- An article ---------- */

.guide-hero {
  padding-top: calc(var(--header-h) + var(--sp-12));
  padding-bottom: var(--sp-10);
  background: var(--c-ivory-2);
}
.guide-hero__title {
  max-width: 20ch;
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-display-md, var(--fs-3xl));
  line-height: var(--lh-tight, 1.15);
}
.guide-hero__sub {
  max-width: 62ch;
  margin: var(--sp-5) 0 0;
  color: var(--c-text-muted);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
}

.guide-crumb { font-size: var(--fs-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--c-text-faint); }
.guide-crumb a { color: var(--c-gold); text-decoration: none; }
.guide-crumb a:hover { text-decoration: underline; }

/* One readable column. Prose wider than about 70 characters is hard work
   on a phone and harder on a laptop. */
.guide-body {
  max-width: 68ch;
  padding-block: var(--sp-12) var(--sp-16);
}

.guide-body h2 {
  margin: var(--sp-12) 0 var(--sp-4);
  font-size: var(--fs-2xl, var(--fs-xl));
  line-height: var(--lh-tight, 1.2);
}
.guide-body h2:first-child { margin-top: 0; }
.guide-body h3 {
  margin: var(--sp-8) 0 var(--sp-3);
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-wide);
  color: var(--c-ink);
}
.guide-body p {
  margin: 0 0 var(--sp-4);
  color: var(--c-text);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
}
.guide-body strong { font-weight: var(--fw-medium); color: var(--c-ink); }
.guide-body a { color: var(--c-gold); text-underline-offset: 3px; }

/* The site resets every list to no marker, which is right for navigation and
   wrong for prose: a reader skimming a guide needs the bullets and, in the
   burning steps, the numbers. Put them back here only. */
.guide-list { margin: 0 0 var(--sp-6); padding-left: var(--sp-6); list-style: disc; }
.guide-list li {
  margin-bottom: var(--sp-3);
  color: var(--c-text);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
}
.guide-list--products li { margin-bottom: var(--sp-4); }

.guide-steps { margin: 0 0 var(--sp-6); padding-left: var(--sp-6); list-style: decimal; }
.guide-steps li {
  margin-bottom: var(--sp-4);
  padding-left: var(--sp-2);
  color: var(--c-text);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
}
.guide-steps li::marker { color: var(--c-gold); font-weight: var(--fw-medium); }

/* A shop address inside a guide. Browsers italicise <address>; here it reads as
   something to copy down, so it is set upright and given room around it. */
.guide-address {
  font-style: normal;
  margin: 0 0 var(--sp-5);
  padding-left: var(--sp-5);
  border-left: 2px solid var(--c-gold);
  line-height: var(--lh-relaxed);
}
/* Directions / call / shop, which wrap rather than squeeze on a phone. */
.guide-cta-row { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin: 0 0 var(--sp-6); }

/* ---------- Table ---------- */

.guide-table-wrap { margin: 0 0 var(--sp-8); overflow-x: auto; }
.guide-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.guide-table caption {
  margin-bottom: var(--sp-3);
  text-align: left;
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--c-text-faint);
}
.guide-table th,
.guide-table td { padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--c-line); text-align: left; }
.guide-table thead th {
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--c-text-muted);
  font-weight: var(--fw-medium);
}

/* ---------- Questions ---------- */

.guide-faq { margin: 0 0 var(--sp-6); }
.guide-faq dt {
  margin-top: var(--sp-6);
  font-weight: var(--fw-medium);
  color: var(--c-ink);
}
.guide-faq dd {
  margin: var(--sp-2) 0 0;
  color: var(--c-text-muted);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
}

/* ---------- The one place we sell ---------- */

.guide-cta {
  margin: var(--sp-12) 0;
  padding: var(--sp-8);
  background: var(--c-ivory-2);
  border: 1px solid var(--c-line);
  border-radius: var(--r-lg);
}
.guide-cta__title { margin: 0; font-size: var(--fs-lg); }
.guide-cta__text {
  margin: var(--sp-3) 0 var(--sp-6);
  color: var(--c-text-muted);
  font-weight: var(--fw-light);
  line-height: var(--lh-relaxed);
}
.guide-cta__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); }

/* ---------- Read next ---------- */

.guide-next {
  margin-top: var(--sp-12);
  padding-top: var(--sp-8);
  border-top: 1px solid var(--c-line);
}
.guide-next__title {
  margin: 0 0 var(--sp-5);
  font-size: var(--fs-xs);
  font-family: var(--font-body);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--c-text-muted);
}
.guide-next__card {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--sp-5) 0;
  border-bottom: 1px solid var(--c-line);
  text-decoration: none;
  color: inherit;
}
.guide-next__card:hover .guide-next__name { color: var(--c-gold); }
.guide-next__label {
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--c-text-faint);
}
.guide-next__name {
  font-family: var(--font-display);
  font-size: var(--fs-base);
  transition: color var(--dur-fast) var(--ease-out);
}
