/* Editorial guides.
 *
 * These pages are server-rendered in full rather than painted by catalog.js:
 * their entire purpose is to be read by crawlers and answer engines, so the
 * prose has to be in the HTML that arrives, not assembled afterwards. That is
 * also why this stylesheet is standalone — it styles a document, not the app
 * shell, and carries no dependency on the storefront's route classes. */

.guide-body {
  margin: 0;
  background: var(--cream, #faf9f6);
  color: var(--onyx, #1a1a1a);
  font: 16px/1.75 var(--sans, "Inter", system-ui, sans-serif);
}

.guide-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: 22px clamp(20px, 5vw, 64px);
  border-bottom: 1px solid var(--line, #e4ddd2);
}
.guide-header .brand { display: block; text-decoration: none; color: inherit; }
.guide-header .brand span { display: block; font: 600 24px/1 var(--serif, "Cormorant Garamond", serif); letter-spacing: .02em; }
.guide-header .brand small { display: block; margin-top: 4px; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted, #7a7268); }
.guide-header nav { display: flex; gap: clamp(14px, 3vw, 30px); }
.guide-header nav a { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; color: var(--muted, #7a7268); }
.guide-header nav a:hover { color: var(--gold, #a67c52); }

.guide-main { max-width: 760px; margin: 0 auto; padding: clamp(36px, 6vw, 72px) clamp(20px, 5vw, 32px); }

.guide-breadcrumbs { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted, #7a7268); margin: 0 0 20px; }
.guide-breadcrumbs a { color: inherit; text-decoration: none; }
.guide-breadcrumbs a:hover { color: var(--gold, #a67c52); }

.guide-main h1 { font: 600 clamp(32px, 5vw, 46px)/1.15 var(--serif, "Cormorant Garamond", serif); margin: 0 0 14px; }
.guide-meta { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted, #7a7268); margin: 0 0 32px; }
.guide-hero { width: 100%; height: auto; border-radius: 4px; margin: 0 0 36px; display: block; }
.guide-excerpt { font: italic 500 clamp(18px, 2.4vw, 21px)/1.6 var(--serif, "Cormorant Garamond", serif); color: var(--muted, #55504a); margin: 0 0 32px; }

/* Long-form prose. Only the tags guide_content.render_body can emit. */
.guide-article h2 { font: 600 clamp(24px, 3.4vw, 30px)/1.25 var(--serif, "Cormorant Garamond", serif); margin: 44px 0 12px; }
.guide-article h3 { font: 600 20px/1.3 var(--serif, "Cormorant Garamond", serif); margin: 32px 0 10px; }
.guide-article h4 { font: 600 16px/1.4 var(--sans, "Inter", sans-serif); margin: 26px 0 8px; letter-spacing: .01em; }
.guide-article p { margin: 0 0 18px; }
.guide-article ul, .guide-article ol { margin: 0 0 20px; padding-left: 22px; }
.guide-article li { margin: 0 0 8px; }
.guide-article a { color: var(--gold, #a67c52); }
.guide-article strong { font-weight: 600; }

.guide-products { margin: 56px 0 0; padding-top: 36px; border-top: 1px solid var(--line, #e4ddd2); }
.guide-products h2 { font: 600 26px/1.2 var(--serif, "Cormorant Garamond", serif); margin: 0 0 22px; }
.guide-product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 22px; list-style: none; margin: 0; padding: 0; }
.guide-product-grid a { text-decoration: none; color: inherit; display: block; }
.guide-product-grid img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px; background: #efe9e0; }
.guide-product-grid span { display: block; margin-top: 10px; font-size: 13px; line-height: 1.4; }
.guide-product-grid b { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; color: var(--muted, #7a7268); }

.guide-index-list { list-style: none; margin: 0; padding: 0; }
.guide-index-list li { padding: 26px 0; border-bottom: 1px solid var(--line, #e4ddd2); }
.guide-topic { display: inline-block; margin: 0 0 8px; color: var(--gold, #a67c52); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.guide-index-list h2 { font: 600 clamp(22px, 3vw, 28px)/1.25 var(--serif, "Cormorant Garamond", serif); margin: 0 0 8px; }
.guide-index-list h2 a { color: inherit; text-decoration: none; }
.guide-index-list h2 a:hover { color: var(--gold, #a67c52); }
.guide-index-list p { margin: 0 0 8px; color: var(--muted, #55504a); }
.guide-index-empty { color: var(--muted, #7a7268); }
.guide-faq { margin: 52px 0 0; padding-top: 30px; border-top: 1px solid var(--line, #e4ddd2); }
.guide-faq h2 { font: 600 26px/1.2 var(--serif, "Cormorant Garamond", serif); margin: 0 0 16px; }
.guide-faq details { border-bottom: 1px solid var(--line, #e4ddd2); padding: 15px 0; }
.guide-faq summary { cursor: pointer; font-weight: 600; }
.guide-faq p { margin: 10px 0 2px; color: var(--muted, #55504a); }

.guide-footer { border-top: 1px solid var(--line, #e4ddd2); padding: 32px clamp(20px, 5vw, 64px) 48px; text-align: center; }
.guide-footer p { margin: 0 0 10px; font-size: 13px; }
.guide-footer a { color: var(--gold, #a67c52); text-decoration: none; }
.guide-footer small { color: var(--muted, #7a7268); font-size: 11px; }
