/* Shared editorial surfaces use the existing HimVital tokens and shell. */
.guide-filters { display:grid; gap:16px; margin:32px 0 40px; align-items:end; }
.guide-filters label { display:block; font-size:14px; margin-bottom:8px; color:var(--ink); }
.guide-filters input:not([type=submit]),.guide-filters select { width:100%; min-width:0; min-height:48px; border:1px solid var(--line); border-radius:10px; padding:12px; background:var(--white); }
.guide-grid { display:grid; gap:36px; grid-template-columns:minmax(0,1fr); }
.guide-card { min-width:0; }
.guide-card img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:10px; height:auto; margin-bottom:20px; }
.guide-card h3 { font-size:22px; line-height:1.25; letter-spacing:-.4px; margin-bottom:12px; }
.guide-card > p:not(.eyebrow) { color:var(--muted); line-height:1.7; }
.guide-card .eyebrow { margin-bottom:10px; }
.guide-heading { max-width:820px; margin:28px auto; }
.guide-heading h1 { font-weight:700; font-size:34px; line-height:1.1; letter-spacing:-1.2px; margin-bottom:24px; overflow-wrap:anywhere; }
.guide-answer { font-size:18px; line-height:1.75; color:var(--muted); }
.guide-meta { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:13px; color:var(--muted); line-height:1.7; margin:20px 0; }
.guide-article .guide-cover { width:100%; max-width:720px; margin:32px auto; height:auto; }
.guide-cover img { width:100%; height:auto; max-height:650px; object-fit:cover; border-radius:10px; }
.guide-cover figcaption,.guide-inline-photo figcaption { margin-top:10px; color:var(--muted); font-size:13px; line-height:1.6; }
.guide-reading { max-width:720px; margin-inline:auto; }
.guide-toc { background:var(--soft); border-radius:10px; padding:24px; margin:32px 0; }
.guide-toc h2 { font-size:18px; }
.guide-toc ol,.guide-sources ol { padding-left:22px; }
.guide-toc li { margin:10px 0; }
.guide-reading a:not(.button):not(.product-image-link),.guide-toc a { text-decoration:underline; text-underline-offset:4px; }
.guide-body { font-size:18px; line-height:1.85; overflow-wrap:anywhere; }
.guide-body h2 { font-size:28px; line-height:1.25; letter-spacing:-.5px; margin:40px 0 20px; font-weight:700; }
.guide-body h3 { font-size:22px; margin:28px 0 16px; }
.guide-body p,.guide-body div { margin-bottom:20px; }
.guide-body ul { list-style:disc; padding-left:24px; }
.guide-body ol { list-style:decimal; padding-left:24px; }
.guide-body blockquote { border-left:2px solid var(--ink); padding-left:24px; margin:28px 0; color:var(--muted); }
.guide-body pre { white-space:pre-wrap; }
.guide-body img { max-width:100%; height:auto; border-radius:10px; }
.guide-inline-photo { margin:32px 0; }
.guide-section { margin-top:48px; padding-top:32px; border-top:1px solid var(--line); }
.guide-section h2 { font-size:28px; line-height:1.25; letter-spacing:-.6px; margin-bottom:24px; }
.guide-section ul { list-style:disc; padding-left:24px; line-height:1.8; }
.guide-product-mention { margin:24px 0; }
.guide-product-mention .product-card { max-width:360px; }
.guide-product-mention > p { margin-top:16px; color:var(--muted); }
.guide-disclosure { border-top:1px solid var(--line); margin-top:32px; padding-top:24px; font-size:14px; line-height:1.8; color:var(--muted); }
.guide-sources { font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.guide-sources li { margin:12px 0; }
.guide-pagination { display:flex; justify-content:space-between; margin-top:32px; }
.guide-preview { border:1px solid var(--line); padding:16px; background:var(--soft); }
.editorial-product-hero { display:grid; gap:32px; margin:32px 0 48px; }
.editorial-product-photo { display:grid; place-items:center; background:var(--white); border:1px solid var(--line); border-radius:10px; padding:24px; min-height:280px; }
.editorial-product-photo img { max-width:100%; width:100%; height:320px; object-fit:contain; }
.editorial-product-hero .page-heading { margin:0; }
@media(min-width:768px) {
 .guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .guide-heading h1 { font-size:48px; }
 .guide-heading { margin-block:40px; }
 .guide-filters { grid-template-columns:2fr 1fr auto; }
 .editorial-product-hero { grid-template-columns:1fr 1.2fr; gap:48px; align-items:start; }
 .guide-section h2 { font-size:32px; }
}
@media(min-width:1100px) { .guide-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
