/* Guides (/guides/) — article shell + content patterns for the fragments
   migrated from blog.wolfautoparts.com. Root font size is 62.5% (1rem = 10px);
   body copy must be >= 1.6rem. */

/* ---------- article shell ---------- */

.wolf-guide {
  max-width: 84rem;
  margin: 0 auto;
  padding: 2.4rem 1.6rem 4.8rem;
  font-size: 1.6rem;
  line-height: 1.65;
  color: #22303f;
}

.wolf-guide__breadcrumbs {
  font-size: 1.4rem;
  color: #64748b;
  margin-bottom: 1.6rem;
}

.wolf-guide__breadcrumbs a { color: #1b3a6b; text-decoration: none; }
.wolf-guide__breadcrumbs a:hover { text-decoration: underline; }

.wolf-guide__title {
  font-size: 3.2rem;
  line-height: 1.2;
  margin: 0 0 0.8rem;
  color: #101c2c;
}

.wolf-guide__meta {
  font-size: 1.4rem;
  color: #64748b;
  margin: 0 0 2.4rem;
}

.wolf-guide__body h2 {
  font-size: 2.4rem;
  margin: 3.2rem 0 1.2rem;
  color: #101c2c;
}

.wolf-guide__body h3 { font-size: 2rem; margin: 2.4rem 0 0.8rem; }
.wolf-guide__body h4 { font-size: 1.8rem; margin: 2rem 0 0.8rem; }
.wolf-guide__body p { margin: 0 0 1.6rem; }
.wolf-guide__body a { color: #1b3a6b; }
.wolf-guide__body img { max-width: 100%; height: auto; border-radius: 0.6rem; }
.wolf-guide__body hr { border: 0; border-top: 1px solid #e2e8f0; margin: 2.4rem 0; }
.wolf-guide__body ul, .wolf-guide__body ol { margin: 0 0 1.6rem; padding-left: 2.4rem; }
.wolf-guide__body li { margin-bottom: 0.6rem; }

/* tables (timing belt guide) */
.wolf-guide__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
  margin: 0 0 2.4rem;
  display: block;
  overflow-x: auto;
}
.wolf-guide__body th,
.wolf-guide__body td {
  border: 1px solid #e2e8f0;
  padding: 0.8rem 1.2rem;
  text-align: left;
  vertical-align: top;
}
.wolf-guide__body thead th { background: #f1f5f9; color: #101c2c; }
.wolf-guide__body tbody tr:nth-child(even) { background: #f8fafc; }

/* ---------- tutorial patterns ---------- */

.guide-cover { margin: 0 0 2rem; }
.guide-cover img { width: 100%; border-radius: 0.8rem; }

.guide-facts {
  list-style: none;
  margin: 0 0 2.4rem;
  padding: 1.6rem 2rem;
  background: #f1f5f9;
  border-radius: 0.8rem;
}
.guide-facts > li { margin-bottom: 0.8rem; }
.guide-facts > li:last-child { margin-bottom: 0; }
.guide-facts ul { margin: 0.4rem 0 0; padding-left: 2rem; }
.guide-facts p { margin: 0.4rem 0 0; }

.guide-summary { font-size: 1.7rem; }

.guide-steps {
  list-style: none;
  margin: 0 0 2.4rem;
  padding: 0;
  counter-reset: guide-step;
}
.guide-steps > li {
  margin: 0 0 2.4rem;
  padding: 1.6rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.8rem;
}
.guide-steps > li p { margin: 1.2rem 0 0; }
.guide-step-image-link { display: inline-block; margin: 0 1.2rem 1.2rem 0; max-width: 32rem; }
.guide-step-image { width: 100%; }

/* relay list two-column grid */
.guide-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 3.2rem;
}
.guide-cell { min-width: 0; }
.guide-cell .alignleft { float: left; margin: 0 1.2rem 0.8rem 0; }
.guide-cell::after { content: ""; display: table; clear: both; }

/* floated figures (BMW snow article) */
.guide-img { margin: 0 0 1.6rem; }
.guide-img img { width: 100%; max-width: 42rem; }
.guide-img--left { float: left; margin: 0.4rem 2rem 1.2rem 0; }
.guide-img--right { float: right; margin: 0.4rem 0 1.2rem 2rem; }

/* photo gallery (timing belt carnage) */
.guide-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin: 0 0 2.4rem;
}
.guide-gallery-thumb { border-radius: 0.6rem; }

/* CTA */
.wolf-guide__cta {
  margin-top: 4rem;
  padding: 2.4rem;
  background: #1b3a6b;
  border-radius: 0.8rem;
  color: #fff;
}
.wolf-guide__cta h2 { margin: 0 0 0.8rem; font-size: 2.2rem; color: #fff; }
.wolf-guide__cta p { margin: 0 0 1.6rem; color: #dbe4f0; }
.wolf-guide__cta-actions { display: flex; flex-wrap: wrap; gap: 1.2rem; }

.wolf-guide__back { margin-top: 2.4rem; font-size: 1.5rem; }
.wolf-guide__back a { color: #1b3a6b; text-decoration: none; }
.wolf-guide__back a:hover { text-decoration: underline; }

/* ---------- index page ---------- */

.wolf-guides-index {
  max-width: 104rem;
  margin: 0 auto;
  padding: 3.2rem 1.6rem 4.8rem;
}

.wolf-guides-index__hero { text-align: center; margin-bottom: 3.2rem; }
.wolf-guides-index__eyebrow {
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 0.8rem;
}
.wolf-guides-index__title { font-size: 3.4rem; margin: 0 0 1.2rem; color: #101c2c; }
.wolf-guides-index__lede {
  font-size: 1.7rem;
  line-height: 1.6;
  color: #475569;
  max-width: 64rem;
  margin: 0 auto;
}

.wolf-guides-index__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  gap: 2rem;
}

.wolf-guide-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #e2e8f0;
  border-radius: 0.8rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition: box-shadow 0.15s ease;
}
.wolf-guide-card:hover { box-shadow: 0 4px 16px rgba(16, 28, 44, 0.12); }
.wolf-guide-card__media { aspect-ratio: 16 / 9; overflow: hidden; background: #f1f5f9; }
.wolf-guide-card__media img { width: 100%; height: 100%; object-fit: cover; }
.wolf-guide-card__body { padding: 1.6rem; display: flex; flex-direction: column; gap: 0.8rem; }
.wolf-guide-card__title { font-size: 1.9rem; line-height: 1.3; margin: 0; color: #101c2c; }
.wolf-guide-card__summary { font-size: 1.5rem; line-height: 1.5; color: #475569; margin: 0; }
.wolf-guide-card__more { font-size: 1.4rem; color: #1b3a6b; font-weight: 600; margin-top: auto; }

/* ---------- responsive ---------- */

@media (max-width: 720px) {
  .guide-grid { grid-template-columns: 1fr; }
  .guide-img--left, .guide-img--right { float: none; margin: 0 0 1.6rem; }
  .guide-img img { max-width: 100%; }
  .wolf-guide__title { font-size: 2.6rem; }
  .wolf-guides-index__title { font-size: 2.8rem; }
  .guide-step-image-link { max-width: 100%; margin-right: 0; }
}
