/* --- About Cynthia profile ---------------------------------------------------------------------------------- */
.nhw-page .gm-entry__content:has(> :is(.nhw-aboutc, .nhw-hubpage, .nhw-arthub)) { max-width: none; }
.nhw-page .gm-prose > :is(.nhw-aboutc, .nhw-hubpage, .nhw-arthub) { max-width: none; }
.nhw-aboutc > * + * { margin-block-start: var(--gm-section); }
.nhw-aboutc-intro { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.nhw-aboutc-intro__text > * { margin-block: 0; }
.nhw-aboutc-intro__text > * + * { margin-block-start: 1.125rem; }
.nhw-chapter { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; padding-block-start: var(--gm-section); border-top: 1px solid var(--wp--preset--color--border); }
.nhw-chapter--flip { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.nhw-chapter--flip .nhw-chapter__text { order: 2; }
.nhw-chapter__text > h2 { margin: 0.5rem 0 1.25rem; font-size: clamp(1.5rem, 2.6vw, 2.125rem); }
.nhw-chapter__text p { margin: 0 0 1rem; }
.nhw-chapter__fig { margin: 0; }
.nhw-chapter__fig img { display: block; width: 100%; height: auto; }
.nhw-chapter__fig figcaption { margin-block-start: 0.625rem; font-size: 0.8125rem; color: var(--gm-muted); }
.nhw-aboutc-intro .nhw-chapter__fig { max-width: 24rem; justify-self: end; }
.nhw-tick { margin: 0 0 1rem; padding: 0; list-style: none; display: grid; gap: 0.5rem; }
.nhw-tick li { position: relative; padding-inline-start: 1.5rem; }
.nhw-tick li::before { content: ""; position: absolute; inset-inline-start: 0; top: 0.65em; width: 0.75rem; height: 1px; background: var(--wp--preset--color--contrast); }
.nhw-aboutc .nhw-hubhelp { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; padding: 2rem 2.25rem; background: var(--wp--preset--color--surface); }
.nhw-aboutc-end > div:first-child p { margin: 0 0 1rem; max-width: 52ch; color: var(--gm-muted); }
.nhw-aboutc-end__links img { display: block; width: 12rem; height: auto; mix-blend-mode: multiply; }
.nhw-aboutc-end__cta { display: flex; flex-wrap: wrap; gap: 0.75rem; }
@media (width < 56rem) { .nhw-aboutc-intro, .nhw-chapter, .nhw-chapter--flip { grid-template-columns: minmax(0, 1fr); } .nhw-chapter--flip .nhw-chapter__text { order: 0; } .nhw-aboutc-intro .nhw-chapter__fig { justify-self: start; max-width: 20rem; } }

/* --- Topic hub pages (health care, DVD reviews) ------------------------------------------------------------- */
.nhw-hubpage > .nhw-lede { max-width: 52rem; margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: 1.5rem; line-height: 1.4; color: var(--wp--preset--color--contrast); }
.nhw-hubpage > * + * { margin-block-start: 2rem; }
.nhw-hubpage > .nhw-cmpsec { margin-block-start: var(--gm-section); }
.nhw-note--vet { max-width: 52rem; padding: 1.25rem 1.5rem; border-inline-start: 3px solid var(--wp--preset--color--contrast); background: var(--wp--preset--color--surface); }
.nhw-note--vet b { display: block; margin-block-end: 0.25rem; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gm-muted); }
.nhw-note--vet p { margin: 0; }
.nhw-hublinks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nhw-pcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.nhw-pcard { display: flex; flex-direction: column; gap: 0.5rem; color: inherit; text-decoration: none; }
.nhw-pcard__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--wp--preset--color--surface); margin-block-end: 0.375rem; }
.nhw-pcard__img img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0.92; filter: saturate(0.85); transition: opacity .3s ease, filter .3s ease; }
@media (hover: hover) and (pointer: fine) { .nhw-pcard:hover .nhw-pcard__img img {opacity: 1; filter: none;} }
.nhw-pcard__t { font-family: var(--wp--preset--font-family--heading); font-size: 1.125rem; line-height: 1.3; }
@media (hover: hover) and (pointer: fine) { .nhw-pcard:hover .nhw-pcard__t {color: var(--wp--preset--color--accent);} }
.nhw-pcard__p { font-size: 0.9375rem; line-height: 1.55; color: var(--gm-muted); }
.nhw-watchgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--wp--preset--color--border); border-inline-start: 1px solid var(--wp--preset--color--border); }
.nhw-watch { position: relative; display: flex; flex-direction: column; gap: 0.25rem; padding: 1.25rem 2.75rem 1.25rem 1.25rem; color: inherit; text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--border); border-inline-end: 1px solid var(--wp--preset--color--border); }
.nhw-watch b { font-family: var(--wp--preset--font-family--heading); font-size: 1.0625rem; font-weight: 500; line-height: 1.3; }
.nhw-watch > span:not(.nhw-arr) { font-size: 0.875rem; color: var(--gm-muted); }
.nhw-watch .nhw-arr { position: absolute; inset-inline-end: 1rem; top: 1.25rem; }
@media (hover: hover) and (pointer: fine) { a.nhw-watch:hover {background: var(--wp--preset--color--surface);} }
@media (width < 64rem) { .nhw-pcards, .nhw-watchgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (width < 40rem) { .nhw-pcards, .nhw-watchgrid, .nhw-hublinks--2 { grid-template-columns: minmax(0, 1fr); } }

/* --- Book list (wrapper added around the original content) ------------------------------------------------- */
.nhw-booklist { max-width: none; }
.nhw-booklist h4 { margin: 2.5rem 0 1rem; padding-block-end: 0.625rem; border-bottom: 1px solid var(--wp--preset--color--border); font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gm-muted); }
.nhw-booklist h4:empty, .nhw-booklist h4:has(> b:empty) { display: none; }
.nhw-booklist ul { columns: 2; column-gap: 3rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.nhw-booklist ul li { break-inside: avoid; margin: 0; padding: 0.625rem 0; border-bottom: 1px solid var(--wp--preset--color--border); }
.nhw-booklist ul li div { margin: 0; }
@media (width < 48rem) { .nhw-booklist ul { columns: 1; } }

/* --- Long articles (wrapper added around the original content) --------------------------------------------- */
.nhw-longread { max-width: 46rem; font-size: 1.0625rem; line-height: 1.7; }
.nhw-longread h2, .nhw-longread h3, .nhw-longread h4 { margin: 2.5rem 0 1rem; line-height: 1.25; }
.nhw-longread img { max-width: 100%; height: auto; }
.nhw-longread .wp-block-image.alignleft, .nhw-longread .wp-block-image.alignright { margin-block: 0.5rem 1rem; }
.nhw-longread ul, .nhw-longread ol { margin-block: 0 1.25rem; }
.nhw-longread li { margin-block-end: 0.375rem; }
.nhw-pcard--text { padding: 1.5rem; background: var(--wp--preset--color--surface); }
.nhw-page .gm-entry__content:has(> .nhw-booklist) { max-width: none; }
.nhw-page .gm-prose > .nhw-booklist { max-width: none; }
@media (width >= 64rem) { .nhw-booklist ul { columns: 3; } }
.nhw-pcards { align-items: start; }
.nhw-watchgrid > br, .nhw-watchgrid > p:empty { display: none; }

/* --- Policy pages (wording untouched; wrapper + switcher added) ---------------------------------------------- */
.nhw-page .gm-prose > .nhw-legalnav { display: flex; flex-wrap: wrap; gap: 0; max-width: none; border-bottom: 1px solid var(--wp--preset--color--border); }
.nhw-legalnav a, .nhw-legalnav span { padding: 0.75rem 1.25rem 0.75rem 0; margin-inline-end: 1.25rem; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; color: var(--gm-muted); text-decoration: none; border-bottom: 2px solid transparent; margin-block-end: -1px; }
@media (hover: hover) and (pointer: fine) { .nhw-legalnav a:hover {color: var(--wp--preset--color--contrast);} }
.nhw-legalnav span { color: var(--wp--preset--color--contrast); border-bottom-color: var(--wp--preset--color--contrast); }
.nhw-legal { max-width: 46rem; margin-block-start: 2rem; font-size: 1rem; line-height: 1.7; }
.nhw-legal > * + * { margin-block-start: 1rem; }
.nhw-legal h1, .nhw-legal h2, .nhw-legal h3, .nhw-legal h4 { margin: 2.5rem 0 0.75rem; line-height: 1.25; }
.nhw-legal h2 { font-size: 1.5rem; padding-block-start: 1.5rem; border-top: 1px solid var(--wp--preset--color--border); }
.nhw-legal h3 { font-size: 1.25rem; }
.nhw-legal h4, .nhw-legal p > b:only-child, .nhw-legal p > strong:only-child { font-size: 1rem; }
.nhw-legal > :is(h2, h3):first-child, .nhw-legal > p:first-child + :is(h2, h3) { border-top: 0; padding-block-start: 0; margin-block-start: 0; }
.nhw-legal p { margin: 0 0 1rem; }
.nhw-legal ul, .nhw-legal ol { margin: 0 0 1.25rem; padding-inline-start: 1.5rem; }
.nhw-legal li { margin-block-end: 0.375rem; }
.nhw-legal a { text-decoration: underline; text-underline-offset: 0.2em; }
.nhw-legal table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.nhw-legal :is(th, td) { padding: 0.625rem 0.75rem; border: 1px solid var(--wp--preset--color--border); text-align: start; vertical-align: top; }
.nhw-legal th { background: var(--wp--preset--color--surface); }
.nhw-legal p:empty { display: none; }
.nhw-legal p:has(> :is(b, strong):only-child) { margin-block: 1.75rem 0.5rem; }

/* --- Topic pages and long articles -------------------------------------------------------------------------- */
.nhw-page .gm-entry__content:has(> .nhw-topic) { max-width: none; }
.nhw-page .gm-prose > .nhw-topic { max-width: none; }
.nhw-topic > :is(p, h2, h3, h4, ul, ol, figure, .wp-block-heading) { max-width: 46rem; }
.nhw-topic > p, .nhw-topic > ul, .nhw-topic > ol { font-size: 1.0625rem; line-height: 1.7; }
.nhw-topic > :is(h3, h4) { margin: 2.25rem 0 0.75rem; }
.nhw-topic > h2 { max-width: none; margin: var(--gm-section) 0 1.5rem; padding-block-start: 1.5rem; border-top: 1px solid var(--wp--preset--color--border); font-size: clamp(1.5rem, 2.4vw, 2rem); }
.nhw-topic > .wp-block-query, .nhw-topic > .products, .nhw-topic > .woocommerce { max-width: none; margin-block-start: 2rem; }
.nhw-topic .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.nhw-topic .wp-block-post-template > li { display: flex; flex-direction: column; gap: 0.5rem; margin: 0; }
.nhw-topic .wp-block-post-featured-image { margin: 0 0 0.375rem; overflow: hidden; background: var(--wp--preset--color--surface); }
.nhw-topic .wp-block-post-featured-image img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; opacity: 0.92; filter: saturate(0.85); transition: opacity .3s ease, filter .3s ease; }
@media (hover: hover) and (pointer: fine) { .nhw-topic .wp-block-post-featured-image a:hover img {opacity: 1; filter: none;} }
.nhw-topic .wp-block-post-title { margin: 0; font-size: 1.125rem; line-height: 1.3; }
.nhw-topic .wp-block-post-title a { color: inherit; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .nhw-topic .wp-block-post-title a:hover {color: var(--wp--preset--color--accent);} }
.nhw-topic .wp-block-post-excerpt { margin: 0; font-size: 0.9375rem; line-height: 1.55; color: var(--gm-muted); }
.nhw-topic .wp-block-post-excerpt__more-link { display: none; }
.nhw-topic .wp-block-query-pagination { display: flex; flex-wrap: wrap; gap: 1rem; margin-block-start: 2rem; font-size: 0.875rem; }
.nhw-topic .alignleft, .nhw-longread .alignleft { float: left; margin: 0.25rem 1.5rem 1rem 0; max-width: min(45%, 20rem); }
.nhw-topic .alignright, .nhw-longread .alignright { float: right; margin: 0.25rem 0 1rem 1.5rem; max-width: min(45%, 20rem); }
.nhw-topic figure img, .nhw-longread figure img { display: block; max-width: 100%; height: auto; }
.nhw-topic figcaption, .nhw-longread figcaption { margin-block-start: 0.5rem; font-size: 0.8125rem; color: var(--gm-muted); }
.nhw-topic > h2, .nhw-topic .wp-block-query { clear: both; }
.nhw-page .gm-prose > .nhw-toc { max-width: 46rem; margin-block-end: 2rem; padding: 1.25rem 1.5rem; background: var(--wp--preset--color--surface); }
.nhw-toc ol { margin: 0.75rem 0 0; padding: 0; list-style: none; columns: 2; column-gap: 2rem; }
.nhw-toc li { break-inside: avoid; margin: 0 0 0.375rem; font-size: 0.9375rem; line-height: 1.4; }
.nhw-toc li.l1 { padding-inline-start: 1rem; font-size: 0.875rem; }
.nhw-toc a { color: inherit; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .nhw-toc a:hover {text-decoration: underline;} }
.nhw-longread h2, .nhw-longread h3, .nhw-longread h4 { scroll-margin-top: 1.5rem; clear: both; }
@media (width < 64rem) { .nhw-topic .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (width < 40rem) { .nhw-topic .wp-block-post-template { grid-template-columns: minmax(0, 1fr); } .nhw-toc ol { columns: 1; } .nhw-topic .alignleft, .nhw-topic .alignright, .nhw-longread .alignleft, .nhw-longread .alignright { float: none; max-width: 100%; margin-inline: 0; } }

/* Display Posts shortcode listings (used on a few old topic pages) */
.nhw-topic .display-posts-listing, .nhw-longread .display-posts-listing { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; max-width: none; margin: 1.5rem 0 0; }
.display-posts-listing .listing-item { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; align-items: start; margin: 0; padding: 0 0 1.25rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.display-posts-listing .listing-item:not(:has(.image)) { grid-template-columns: minmax(0, 1fr); }
.display-posts-listing .image { grid-row: 1 / span 2; display: block; aspect-ratio: 1; overflow: hidden; background: var(--wp--preset--color--surface); }
.display-posts-listing .image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.display-posts-listing .title { font-family: var(--wp--preset--font-family--heading); font-size: 1.0625rem; line-height: 1.3; color: inherit; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .display-posts-listing .title:hover {color: var(--wp--preset--color--accent);} }
.display-posts-listing .excerpt-dash { display: none; }
.display-posts-listing .excerpt { font-size: 0.875rem; line-height: 1.55; color: var(--gm-muted); }
.nhw-topic .display-posts-title, .nhw-longread .display-posts-title { max-width: none; }
@media (width < 48rem) { .nhw-topic .display-posts-listing, .nhw-longread .display-posts-listing { grid-template-columns: minmax(0, 1fr); } }

/* --- Long article with sidebar (page custom field nhw_sidebar) ---------------------------------------------- */
.nhw-pagebody--side { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 4rem; align-items: start; }
.nhw-pagebody--side > .gm-prose { max-width: none; min-width: 0; }
.nhw-pagebody--side .nhw-longread { max-width: none; }
.nhw-pagebody--side .nhw-longread > :is(p, ul, ol, h2, h3, h4, figure, .wp-block-heading, .wp-block-image, .wp-block-list) { max-width: 46rem; }
.nhw-side--page { position: sticky; top: 1.5rem; align-self: start; max-height: calc(100vh - 3rem); overflow-y: auto; scrollbar-width: thin; }
.nhw-side__toc .nhw-side__list li { display: block; }
.nhw-side__toc .nhw-side__list li.l1 { padding-inline-start: 1rem; font-size: 0.875rem; color: var(--gm-muted); }
.nhw-side__toc .nhw-side__list a { display: block; line-height: 1.4; }
@media (width < 64rem) { .nhw-pagebody--side { grid-template-columns: minmax(0, 1fr); gap: 3rem; } .nhw-side--page { position: static; max-height: none; overflow: visible; } }

/* --- Long-read polish: lede paragraph, section rhythm, post grid and shop row ------------------------------------ */
.nhw-longread > p:first-of-type, .nhw-longread > .wp-block-paragraph:first-of-type { font-size: 1.25rem; line-height: 1.6; color: var(--wp--preset--color--contrast); }
.nhw-longread > h2, .nhw-longread > h3, .nhw-longread > .wp-block-heading { margin-block-start: 3rem; padding-block-start: 1.25rem; border-top: 1px solid var(--wp--preset--color--border); }
.nhw-longread > :is(h4) { margin-block-start: 2.25rem; font-size: 1.1875rem; }
.nhw-longread strong, .nhw-longread b { font-weight: 600; }
.nhw-longread blockquote { margin: 1.75rem 0; padding: 0.25rem 0 0.25rem 1.5rem; border-inline-start: 3px solid var(--wp--preset--color--border); font-family: var(--wp--preset--font-family--heading); font-size: 1.1875rem; line-height: 1.55; color: var(--wp--preset--color--contrast); }
.nhw-longread .wp-block-image img, .nhw-longread figure img { border-radius: 0; }
.nhw-longread .wp-block-query, .nhw-longread > .woocommerce, .nhw-longread > .products { max-width: none; clear: both; margin-block-start: 2rem; }
.nhw-longread .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.nhw-longread .wp-block-post-template > li { display: flex; flex-direction: column; gap: 0.5rem; margin: 0; }
.nhw-longread .wp-block-post-featured-image { margin: 0 0 0.375rem; overflow: hidden; background: var(--wp--preset--color--surface); }
.nhw-longread .wp-block-post-featured-image img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; opacity: 0.92; filter: saturate(0.85); transition: opacity .3s ease, filter .3s ease; }
@media (hover: hover) and (pointer: fine) { .nhw-longread .wp-block-post-featured-image a:hover img {opacity: 1; filter: none;} }
.nhw-longread .wp-block-post-title { margin: 0; font-size: 1.0625rem; line-height: 1.3; }
.nhw-longread .wp-block-post-title a { color: inherit; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .nhw-longread .wp-block-post-title a:hover {color: var(--wp--preset--color--accent);} }
.nhw-longread .wp-block-post-excerpt { margin: 0; font-size: 0.875rem; line-height: 1.55; color: var(--gm-muted); }
.nhw-longread .wp-block-post-excerpt__more-link { display: none; }
@media (width < 64rem) { .nhw-longread .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (width < 40rem) { .nhw-longread .wp-block-post-template { grid-template-columns: minmax(0, 1fr); } }
.nhw-legal, .nhw-longread, .nhw-topic { overflow-wrap: anywhere; }

/* --- Utility pages: subscriber welcome, order tracking ------------------------------------------------------- */
.nhw-page .gm-entry__content:has(> :is(.nhw-welcome, .nhw-track)) { max-width: none; }
.nhw-page .gm-prose > :is(.nhw-welcome, .nhw-track) { max-width: none; }
.nhw-welcome { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 3fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.nhw-welcome__main > h2 { margin: 0.5rem 0 2rem; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.15; }
.nhw-steps3 { display: grid; gap: 1.25rem; }
.nhw-step3 { position: relative; padding: 1.5rem 1.5rem 1.5rem 4.5rem; background: var(--wp--preset--color--surface); }
.nhw-step3__n { position: absolute; inset-inline-start: 1.5rem; top: 1.25rem; font-family: var(--wp--preset--font-family--heading); font-size: 2rem; line-height: 1; color: var(--gm-muted); }
.nhw-step3 h3 { margin: 0 0 0.5rem; font-size: 1.125rem; }
.nhw-step3 p { margin: 0 0 0.75rem; max-width: 52ch; }
.nhw-step3 p:last-child { margin-block-end: 0; }
.nhw-step3__fine { font-size: 0.875rem; color: var(--gm-muted); }
.nhw-code { display: inline-block; margin: 0.25rem 0 0.5rem !important; padding: 0.625rem 1rem; border: 1px dashed var(--wp--preset--color--contrast); background: var(--wp--preset--color--base); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.25rem; letter-spacing: 0.12em; font-weight: 600; user-select: all; }
.nhw-welcome__sign { display: flex; align-items: center; gap: 1.5rem; margin-block-start: 2.5rem; }
.nhw-welcome__sign img { width: 7.5rem; height: auto; aspect-ratio: 331 / 400; object-fit: cover; }
.nhw-welcome__sign p { margin: 0 0 0.75rem; }
.nhw-welcome__name { font-family: var(--wp--preset--font-family--heading); font-size: 1.5rem; }
.nhw-welcome__book { display: block; color: inherit; text-decoration: none; position: sticky; top: 1.5rem; }
.nhw-welcome__book img { display: block; width: 100%; height: auto; box-shadow: 0 1px 0 var(--wp--preset--color--border), 0 18px 40px -22px rgba(0, 0, 0, .45); }
.nhw-welcome__book span { display: block; margin-block-start: 1rem; font-size: 0.875rem; font-weight: 600; }
@media (width < 56rem) { .nhw-welcome { grid-template-columns: minmax(0, 1fr); } .nhw-welcome__book { position: static; max-width: 14rem; order: -1; } .nhw-step3 { padding: 4rem 1.25rem 1.25rem; } }
.nhw-track { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.nhw-track__form .woocommerce-form-track-order { max-width: none; margin: 0; padding: 2rem; background: var(--wp--preset--color--surface); display: grid; gap: 1.25rem; }
.nhw-track__form .woocommerce-form-track-order p { margin: 0; }
.nhw-track__form .form-row { float: none; width: 100%; display: grid; gap: 0.5rem; }
.nhw-track__form label { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gm-muted); }
.nhw-track__form input.input-text { width: 100%; padding: 0.75rem 0.875rem; border: 1px solid var(--wp--preset--color--border); border-radius: 0; background: #fff; font: inherit; color: inherit; }
.nhw-track__form .button { width: 100%; justify-content: center; }
.nhw-track__help h2 { margin: 0.5rem 0 0.75rem; font-size: 1.5rem; }
.nhw-track__help p { margin: 0 0 1rem; color: var(--gm-muted); }
.nhw-track__links { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; }
@media (width < 56rem) { .nhw-track { grid-template-columns: minmax(0, 1fr); } .nhw-track__form .woocommerce-form-track-order { padding: 1.25rem; } }

/* --- Search results ------------------------------------------------------------------------------------------ */
.nhw-searchsec { margin-block: 2rem 3rem; }
.nhw-searchsec .nhw-sec-head, .nhw-searchsec__head { margin-block-end: 1.5rem; display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; }
.nhw-searchsec__head { margin-block-start: 1rem; padding-block-start: 2.5rem; border-top: 1px solid var(--wp--preset--color--border); }
.nhw-searchsec h2, .nhw-searchsec__head h2 { margin: 0.25rem 0 0; font-size: 1.5rem; }
.nhw-nores { max-width: 40rem; padding-block: 2rem; }
.nhw-nores h2 { margin: 0 0 0.5rem; font-size: 1.5rem; }
.nhw-nores p { margin: 0 0 1.25rem; color: var(--gm-muted); }
.nhw-nores__links { display: grid; border-top: 1px solid var(--wp--preset--color--border); }
.nhw-nores__links a { padding: 0.875rem 0; border-bottom: 1px solid var(--wp--preset--color--border); color: inherit; text-decoration: none; font-weight: 500; }
@media (hover: hover) and (pointer: fine) { .nhw-nores__links a:hover {color: var(--wp--preset--color--accent);} }

/* --- Product rows inside articles and topic pages ([products] shortcode): compact tiles, not the big shop cards --- */
.gm-prose .woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem 1rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.nhw-topic .woocommerce ul.products { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.gm-prose ul.products li.product { width: auto; margin: 0; float: none; display: flex; flex-direction: column; gap: 0.25rem; padding: 0; }
.gm-prose ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 0.25rem; color: inherit; text-decoration: none; }
.gm-prose ul.products li.product img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; margin: 0 0 0.5rem; opacity: 0.92; filter: saturate(0.85); transition: opacity .3s ease, filter .3s ease; }
@media (hover: hover) and (pointer: fine) { .gm-prose ul.products li.product:hover img {opacity: 1; filter: none;} }
.gm-prose ul.products li.product .woocommerce-loop-product__title { margin: 0; padding: 0; font-family: inherit; font-size: 0.8125rem; font-weight: 500; line-height: 1.35; letter-spacing: 0; }
@media (hover: hover) and (pointer: fine) { .gm-prose ul.products li.product:hover .woocommerce-loop-product__title {color: var(--wp--preset--color--accent);} }
.gm-prose ul.products li.product .price { font-size: 0.8125rem; color: var(--gm-muted); }
.gm-prose ul.products li.product .onsale { font-size: 0.625rem; padding: 0.125rem 0.375rem; }
.gm-prose ul.products li.product .button { align-self: start; margin-top: 0.375rem; padding: 0.375rem 0.625rem; font-size: 0.6875rem; }
@media (width < 72rem) { .nhw-topic .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (width < 48rem) { .gm-prose .woocommerce ul.products, .nhw-topic .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* --- Articles hub (/articles/): topic cards with image, blurb and article list ------------------------------- */
.nhw-arthub > .nhw-lede { max-width: 52rem; margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: 1.5rem; line-height: 1.4; color: var(--wp--preset--color--contrast); }
.nhw-artchips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block: 1.75rem 2.5rem; }
.nhw-artchips a { padding: 0.45rem 0.9rem; border: 1px solid var(--wp--preset--color--border); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.03em; color: inherit; text-decoration: none; background: var(--wp--preset--color--base); }
@media (hover: hover) and (pointer: fine) { .nhw-artchips a:hover { border-color: var(--wp--preset--color--contrast); } }
.nhw-arttopics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.nhw-arttopic { display: flex; flex-direction: column; scroll-margin-top: 6rem; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--base); }
.nhw-arttopic__img { display: block; aspect-ratio: 21 / 8; overflow: hidden; background: var(--wp--preset--color--surface); }
.nhw-arttopic__img img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85); }
.nhw-arttopic__body { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; padding: 1.5rem; }
.nhw-arttopic h2 { margin: 0; font-size: 1.5rem; }
.nhw-arttopic h2 a { color: inherit; text-decoration: none; }
.nhw-arttopic__p { margin: 0 0 0.5rem; font-size: 0.9375rem; line-height: 1.55; color: var(--gm-muted); }
.nhw-arttopic__list { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 1.5rem; font-size: 0.9375rem; line-height: 1.4; }
.nhw-arttopic__list li { break-inside: avoid; padding-block: 0.3rem; border-block-start: 1px solid var(--wp--preset--color--border); overflow-wrap: anywhere; }
.nhw-arttopic__list a { color: inherit; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .nhw-arttopic__list a:hover, .nhw-arttopic__more:hover { color: var(--wp--preset--color--accent); } }
.nhw-arttopic__more { margin-block-start: auto; padding-block-start: 0.75rem; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.04em; color: inherit; text-decoration: none; }
.nhw-arthub .nhw-hubhelp { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; margin-block-start: 3rem; padding: 2rem 2.25rem; background: var(--wp--preset--color--surface); }
@media (max-width: 56rem) { .nhw-arttopics { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 36rem) { .nhw-arttopic__list { columns: 1; } .nhw-arthub > .nhw-lede { font-size: 1.25rem; } }

/* Pages converted to core blocks: groups must not add the block editor's own gap between children (the designs set their own spacing). */
.nhw-page .wp-block-group > .wp-block-image:not(.alignleft):not(.alignright) { margin-inline: 0; }
/* Cards converted to blocks: link text keeps the card's colour (no underline) and the title link stretches over the whole card, so the card stays one big click target. */
.wp-block-group:is(.nhw-gcard, .nhw-pcard, .nhw-ptile, .nhw-res__card, .nhw-cat, .nhw-product, .nhw-card, .nhw-watch) { position: relative; }
.wp-block-group:is(.nhw-gcard, .nhw-pcard, .nhw-ptile, .nhw-res__card, .nhw-cat, .nhw-product, .nhw-card, .nhw-watch) a { color: inherit; text-decoration: none; }
.wp-block-group:is(.nhw-gcard, .nhw-pcard, .nhw-ptile, .nhw-res__card, .nhw-cat, .nhw-product, .nhw-card, .nhw-watch) a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.wp-block-group:is(.nhw-gcard, .nhw-pcard, .nhw-ptile, .nhw-res__card, .nhw-cat, .nhw-product, .nhw-card, .nhw-watch) figure { margin: 0; }
/* Card pictures built from Image blocks: the picture fills its frame (cropped, not stretched) exactly like the plain-markup cards. */
.wp-block-group:is([class*="__img"], [class*="__media"]) > .wp-block-image { height: 100%; margin: 0; }
.wp-block-group:is([class*="__img"], [class*="__media"]) > .wp-block-image > a { display: block; height: 100%; }
.wp-block-group:is([class*="__img"], [class*="__media"]) .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }

/* WooCommerce shortcodes placed on designed pages (e.g. the shortcode version of the home page): tiles in the site's style, column count from the shortcode. */
.nhw-sc ul.products { display: grid; gap: 1.75rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.nhw-sc ul.products::before, .nhw-sc ul.products::after { display: none; }
.nhw-sc ul.products { grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr)); } /* every item on one row; the row only wraps when the screen is too narrow */
.nhw-sc ul.products li { float: none; width: auto; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.nhw-sc ul.products li > a { display: flex; flex-direction: column; gap: 0.25rem; color: inherit; text-decoration: none; }
.nhw-sc ul.products li img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; margin: 0 0 0.5rem; background: var(--wp--preset--color--surface); transition: transform 0.5s var(--nhw-ease); }
.nhw-sc ul.products li.product-category img { aspect-ratio: 4 / 5; }
.nhw-sc--2 ul.products li.product-category img { aspect-ratio: 3 / 2; }
.nhw-sc--2 ul.products li img { aspect-ratio: 3 / 2; }
.nhw-sc ul.products li > a { overflow: hidden; }
@media (hover: hover) and (pointer: fine) { .nhw-sc ul.products li:hover img { transform: scale(1.03); } }
.nhw-sc ul.products .woocommerce-loop-product__title, .nhw-sc ul.products .woocommerce-loop-category__title { margin: 0; font-family: var(--wp--preset--font-family--body); font-size: 1rem; font-weight: 500; line-height: 1.35; padding: 0; }
.nhw-sc ul.products li.product-category .woocommerce-loop-category__title { font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 600; }
.nhw-sc--2 ul.products .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--heading); font-size: 1.375rem; font-weight: 600; }
.nhw-sc ul.products mark.count { display: none; }
.nhw-sc ul.products .price { font-size: 0.9375rem; color: var(--gm-muted); }
.nhw-sc ul.products .price del { opacity: 0.6; }
.nhw-sc ul.products .price ins { text-decoration: none; }
.nhw-sc ul.products li .button, .nhw-sc ul.products li .added_to_cart, .nhw-sc ul.products li .onsale { display: none; }
@media (width < 36rem) { .nhw-sc ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (width < 36rem) { .nhw-sc--2 ul.products { grid-template-columns: minmax(0, 1fr); } }

/* LightRider Bitless Bridles section (pages under /lightrider/) */
.nhw-lr-nav { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; margin: 0 0 2rem; padding: 0.75rem 0; border-block: 1px solid var(--wp--preset--color--border); font-size: 0.9375rem; }
.nhw-lr-nav a { color: inherit; text-decoration: none; padding-block: 0.25rem; border-block-end: 2px solid transparent; }
.nhw-lr-nav a:hover, .nhw-lr-nav a[aria-current="page"] { border-block-end-color: currentColor; }
.nhw-lr-nav__shop { margin-inline-start: auto; font-weight: 600; }
.nhw-lr-video { position: relative; aspect-ratio: 16 / 9; max-width: 48rem; margin-inline: auto; background: var(--wp--preset--color--surface); }
.nhw-lr-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nhw-lr-hero { align-items: center; margin-block-end: 2.5rem; }
.nhw-lr-hero img, .nhw-lr-three img, .nhw-lr-styles img { width: 100%; height: auto; display: block; }
.nhw-lr-three, .nhw-lr-styles { margin-block-end: 2rem; }
.nhw-lr-three h3 { margin-block: 1rem 0.5rem; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 1; object-fit: cover; }
@media (max-width: 36rem) { .nhw-lr-nav__shop { margin-inline-start: 0; } }
.nhw-lr-three .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; }
.wp-block-gallery.has-nested-images { align-items: flex-start; }
.wp-block-gallery.has-nested-images figure.wp-block-image { display: block; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static; background: none; color: var(--gm-muted); padding: 0.4rem 0 0; font-size: 0.8125rem; line-height: 1.35; text-align: left; max-height: none; overflow: visible; }
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) figcaption { position: static; background: none; color: var(--gm-muted); padding: 0.4rem 0 0; font-size: 0.8125rem; line-height: 1.35; text-align: left; max-height: none; overflow: visible; text-shadow: none; }
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none !important; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static !important; background: none !important; color: var(--gm-muted) !important; padding: 0.4rem 0 0 !important; text-align: left !important; max-height: none !important; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; height: auto !important; margin: 0 !important; }

/* LightRider landing page (/lightrider/, designed template) */
.nhw-lrl-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: center; padding-block: var(--gm-section) 3rem; }
.nhw-lrl-hero h1 { margin-block: 1rem 1.5rem; max-width: 16ch; }
.nhw-lrl-hero p { max-width: 52ch; color: var(--gm-muted); }
.nhw-lrl-hero__img { margin: 0; }
.nhw-lrl-hero__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.nhw-lrl-hero__img figcaption { margin-block-start: 0.5rem; font-size: 0.8125rem; color: var(--gm-muted); }
.nhw-lrl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-block-start: 2.5rem; }
.nhw-lrl-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin-block-end: 1rem; }
.nhw-lrl-card h3 { margin: 0 0 0.5rem; }
.nhw-lrl-card p { margin: 0 0 0.75rem; font-size: 0.9375rem; line-height: 1.55; }
.nhw-lrl-links { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0 2rem; }
.nhw-lrl-links li { border-block-start: 1px solid var(--wp--preset--color--border); }
.nhw-lrl-links a { display: flex; flex-direction: column; gap: 0.15rem; padding-block: 1rem; text-decoration: none; color: inherit; }
.nhw-lrl-links span { font-size: 0.875rem; color: var(--gm-muted); }
.nhw-lrl-links a:hover strong { text-decoration: underline; }
@media (width < 56rem) { .nhw-lrl-hero, .nhw-lrl-grid { grid-template-columns: 1fr; gap: 1.5rem; } }

/* LightRider inner pages (designed template) */
.nhw-lr-head { padding-block: 1.5rem 2rem; }
.nhw-lr-head .nhw-lr-nav { margin-block-end: 2.5rem; }
.nhw-lr-head h1 { max-width: 22ch; margin-block: 1rem 1rem; }
.nhw-lr-head > p { max-width: 58ch; margin: 0; color: var(--gm-muted); font-size: 1.125rem; line-height: 1.55; }
.nhw-lr-body { padding-block-end: var(--gm-section); }
.nhw-lr-body > * + * { margin-block-start: 2rem; }
.nhw-lr-article { max-width: 46rem; display: flex; flex-direction: column; gap: 1rem; }
.nhw-lr-article > * { margin: 0; }
.nhw-lr-article h2 { margin-block-start: 1.5rem; }
.nhw-lr-article h3 { margin-block-start: 1rem; }
.nhw-lr-article .wp-block-image { margin-block: 0.5rem; }
.nhw-lr-article .wp-block-image img { max-width: 100%; height: auto; display: block; }
.nhw-lr-article hr { width: 100%; margin-block: 1rem; border: 0; border-block-start: 1px solid var(--wp--preset--color--border); }
.nhw-lr-article--after { margin-block-start: 3rem; }
.nhw-lr-split { gap: 3rem; align-items: flex-start; }
.nhw-lr-split .wp-block-image img { width: 100%; height: auto; display: block; }
.nhw-lr-hero-img img { width: 100%; max-height: 28rem; object-fit: cover; display: block; }
.nhw-lr-faq, .nhw-lr-intro { max-width: 46rem; }
.nhw-lr-cards { display: grid; gap: 1.5rem; margin-block-start: 2rem; }
.nhw-lr-cards--1 { grid-template-columns: minmax(0, 1fr); }
.nhw-lr-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nhw-lr-card { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.5rem; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--base); min-width: 0; }
.nhw-lr-card > * { margin: 0; }
.nhw-lr-card--wide { grid-column: 1 / -1; }
.nhw-lr-card h2, .nhw-lr-card h3 { font-size: 1.25rem; }
.nhw-lr-card p { font-size: 0.9375rem; line-height: 1.6; overflow-wrap: anywhere; }
.nhw-lr-card .wp-block-image img { width: 100%; height: auto; display: block; }
.nhw-lr-card .nhw-lr-video { max-width: none; }
.nhw-lr-card hr { display: none; }
.nhw-lr-cards--masonry { display: block; columns: 2; column-gap: 1.5rem; }
.nhw-lr-cards--masonry .nhw-lr-card { break-inside: avoid; margin-block-end: 1.5rem; }
.nhw-lr-gallery .wp-block-gallery { margin: 0; }
@media (width < 56rem) { .nhw-lr-cards--2 { grid-template-columns: 1fr; } .nhw-lr-cards--masonry { columns: 1; } .nhw-lr-split { gap: 1.5rem; } }

/* LightRider gallery: mosaic, captions overlaid on the photos */
.nhw-lr-gallery .wp-block-gallery.has-nested-images { display: block !important; columns: 4; column-gap: 0.75rem; }
.nhw-lr-gallery .wp-block-gallery.has-nested-images figure.wp-block-image { position: relative; display: block !important; width: 100% !important; margin: 0 0 0.75rem !important; break-inside: avoid; overflow: hidden; }
.nhw-lr-gallery .wp-block-gallery.has-nested-images figure.wp-block-image img { width: 100% !important; height: auto !important; aspect-ratio: auto; object-fit: initial; display: block; transition: transform 0.4s ease; }
.nhw-lr-gallery .wp-block-gallery.has-nested-images figure.wp-block-image:hover img { transform: scale(1.03); }
.nhw-lr-gallery .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: absolute !important; inset: auto 0 0 0 !important; padding: 2.5rem 0.75rem 0.65rem !important; background: linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0)) !important; color: #fff !important; font-size: 0.8125rem; line-height: 1.3; text-align: left !important; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); }
.nhw-lr-gallery .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none !important; }
@media (width < 64rem) { .nhw-lr-gallery .wp-block-gallery.has-nested-images { columns: 3; } }
@media (width < 40rem) { .nhw-lr-gallery .wp-block-gallery.has-nested-images { columns: 2; column-gap: 0.5rem; } }

.nhw-band-dark p a:not(.nhw-btn) { color: inherit; text-decoration: underline; }
/* gallery: columns stacked to a flat bottom (script in the page balances them; CSS columns are the no-JS fallback) */
.nhw-lr-gallery .wp-block-gallery.is-flat { columns: auto; display: grid !important; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 0.75rem; }
.nhw-lr-gallery .nhw-lr-gcol { display: flex; flex-direction: column; gap: 0.75rem; min-width: 0; }
.nhw-lr-gallery .is-flat figure.wp-block-image { margin: 0 !important; min-height: 0; }
.nhw-lr-gallery .is-flat figure.wp-block-image img { height: 100% !important; object-fit: cover; }
/* LightRider click-to-play video thumbnails */
.nhw-lr-video__play { position: absolute; inset: 0; display: block; background: #000; }
.nhw-lr-video__play img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity 0.2s; }
.nhw-lr-video__play:hover img { opacity: 0.85; }
.nhw-lr-video__play span { position: absolute; top: 50%; left: 50%; width: 4.5rem; height: 3.25rem; margin: -1.625rem 0 0 -2.25rem; border-radius: 0.9rem; background: rgba(28, 28, 26, 0.82); }
.nhw-lr-video__play span::after { content: ""; position: absolute; top: 50%; left: 50%; margin: -0.7rem 0 0 -0.45rem; border-style: solid; border-width: 0.7rem 0 0.7rem 1.2rem; border-color: transparent transparent transparent #fff; }
.nhw-lr-video__play:hover span { background: #c00; }
/* LightRider article with sidebar */
.nhw-lr-withside { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 4rem; align-items: start; }
.nhw-lr-withside > .nhw-lr-article { max-width: 46rem; min-width: 0; }
@media (width < 64rem) { .nhw-lr-withside { grid-template-columns: minmax(0, 1fr); gap: 3rem; } .nhw-lr-withside .nhw-side--page { position: static; max-height: none; overflow: visible; } }

/* LightRider pages, second pass */
.nhw-lr-lead { font-size: 1.25rem; line-height: 1.55; color: var(--gm-muted); }
.nhw-lr-article .wp-block-quote { margin: 1rem 0; padding: 1.25rem 1.5rem; border-inline-start: 3px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--surface); }
.nhw-lr-article .wp-block-quote p { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: 1.1875rem; line-height: 1.45; }
.nhw-lr-article .wp-block-quote cite { display: block; margin-block-start: 0.75rem; font-family: var(--wp--preset--font-family--body, inherit); font-size: 0.8125rem; font-style: normal; letter-spacing: 0.04em; color: var(--gm-muted); }
.nhw-lr-article .wp-block-pullquote { margin: 1.5rem 0; padding: 1.75rem 0; border-block: 1px solid var(--wp--preset--color--border); text-align: left; }
.nhw-lr-article .wp-block-pullquote blockquote { margin: 0; padding: 0; border: 0; }
.nhw-lr-article .wp-block-pullquote p { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: 1.625rem; line-height: 1.3; }
.nhw-lr-head--split { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: center; }
.nhw-lr-head--split .nhw-lr-nav { grid-column: 1 / -1; }
.nhw-lr-head__img { margin: 0; }
.nhw-lr-head__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; }
.nhw-lr-feature { margin-block: 3rem 0; }
.nhw-lr-story { max-width: 44rem; }
.nhw-lr-podcast .wp-block-image img { width: 100%; max-width: 32rem; height: auto; display: block; }
.nhw-lr-body + .wp-block-html, .nhw-lr-body + .nhw-lr-cta { margin-top: 0; }
@media (width < 56rem) { .nhw-lr-head--split { grid-template-columns: 1fr; gap: 1.5rem; } .nhw-lr-head__img img { aspect-ratio: 4 / 3; } }

/* LightRider: Fitting, Chinstrap, Ambassadors */
.nhw-lr-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 2.5rem; }
.nhw-lr-chips a { padding: 0.5rem 1rem; border: 1px solid var(--wp--preset--color--border); font-size: 0.875rem; text-decoration: none; color: inherit; background: var(--wp--preset--color--base); }
.nhw-lr-chips a:hover { border-color: currentColor; }
.nhw-lr-fit { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 3rem; align-items: start; padding-block: 2.5rem; border-block-start: 1px solid var(--wp--preset--color--border); scroll-margin-top: 6rem; }
.nhw-lr-fit > * { min-width: 0; }
.nhw-lr-fit__media, .nhw-lr-fit__text { display: flex; flex-direction: column; gap: 1rem; }
.nhw-lr-fit__media > *, .nhw-lr-fit__text > * { margin: 0; }
.nhw-lr-fit__media .nhw-lr-video { max-width: none; width: 100%; }
.nhw-lr-fit__media .wp-block-image img { width: 100%; height: auto; display: block; }
.nhw-lr-fit__text h2 { font-size: 1.5rem; }
.nhw-lr-fit__text h2[id] { scroll-margin-top: 6rem; }
.nhw-lr-chinsec { padding-block-start: 2.5rem; margin-block-start: 2.5rem; border-block-start: 1px solid var(--wp--preset--color--border); scroll-margin-top: 6rem; }
.nhw-lr-chinsec > h2 { margin: 0 0 1.5rem; scroll-margin-top: 6rem; }
.nhw-lr-imgs { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem; }
.nhw-lr-imgs > * { margin: 0 !important; }
.nhw-lr-imgs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nhw-lr-step { counter-increment: lrstep; position: relative; padding-block-start: 2.5rem; }
.nhw-lr-chinsec { counter-reset: lrstep; }
.nhw-lr-step::before { content: counter(lrstep); position: absolute; top: 1.25rem; left: 1.5rem; display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); font-size: 0.8125rem; font-weight: 600; }
.nhw-lr-step > :first-child { margin-block-start: 1rem; }
.nhw-lr-ambs { display: flex; flex-direction: column; gap: 1.5rem; margin-block-start: 2rem; }
.nhw-lr-amb { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 2.5rem; padding: 2rem; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--base); }
.nhw-lr-amb > * { min-width: 0; margin: 0; }
.nhw-lr-amb__who { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }
.nhw-lr-amb__mono { display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent-contrast); font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; }
.nhw-lr-amb__who h3 { margin: 0; font-size: 1.25rem; line-height: 1.3; }
.nhw-lr-amb__body { display: flex; flex-direction: column; gap: 1rem; }
.nhw-lr-amb__body > * { margin: 0; }
.nhw-lr-amb__body .wp-block-quote { padding: 0.25rem 0 0.25rem 1.25rem; border-inline-start: 3px solid var(--wp--preset--color--accent); font-family: var(--wp--preset--font-family--heading); font-size: 1.125rem; line-height: 1.5; }
.nhw-lr-ambcta { margin-block-start: 3rem; padding: 2rem; background: var(--wp--preset--color--surface); max-width: none; }
@media (width < 56rem) { .nhw-lr-fit, .nhw-lr-amb { grid-template-columns: 1fr; gap: 1.5rem; } .nhw-lr-amb { padding: 1.5rem; } }
/* LightRider section menu: one swipeable row on phones instead of four wrapped lines */
@media (width < 40rem) {
	.nhw-lr-nav { flex-wrap: nowrap; overflow-x: auto; gap: 1.25rem; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.nhw-lr-nav::-webkit-scrollbar { display: none; }
	.nhw-lr-nav a { flex: none; }
	.nhw-lr-head .nhw-lr-nav { margin-block-end: 1.5rem; }
}

.nhw-lr-head__img img { aspect-ratio: 5 / 4; max-height: 22rem; }

/* LightRider reviews */
.nhw-lr-vrow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.nhw-lr-vrow > * { margin: 0; min-width: 0; }
.nhw-lr-vrow .nhw-lr-video { max-width: none; }
.nhw-lr-google { padding: 2rem; background: var(--wp--preset--color--surface); }
.nhw-lr-google > h2 { margin: 0 0 1.5rem; }
.nhw-lr-gcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-block-end: 1rem; }
.nhw-lr-gcard { position: relative; padding: 2.25rem 1.5rem 1.5rem; background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); }
.nhw-lr-gcard::before { content: "\2605\2605\2605\2605\2605"; position: absolute; top: 0.9rem; left: 1.5rem; font-size: 0.875rem; letter-spacing: 0.15em; color: var(--wp--preset--color--accent); }
.nhw-lr-gcard p { margin: 0; font-size: 0.9375rem; line-height: 1.6; }
.nhw-lr-rsec { display: grid; grid-template-columns: 17rem minmax(0, 1fr); gap: 3rem; padding-block: 2.5rem; border-block-start: 1px solid var(--wp--preset--color--border); scroll-margin-top: 6rem; }
.nhw-lr-rsec > * { min-width: 0; margin: 0; }
.nhw-lr-rsec__side { display: flex; flex-direction: column; gap: 1rem; align-self: start; position: sticky; top: 1.5rem; }
.nhw-lr-rsec__side > * { margin: 0; }
.nhw-lr-rsec__side h2 { font-size: 1.5rem; scroll-margin-top: 6rem; }
.nhw-lr-rsec__side .wp-block-image img { width: 100%; height: auto; display: block; }
.nhw-lr-rsec__body { display: flex; flex-direction: column; gap: 1.25rem; }
.nhw-lr-rsec__body > * { margin: 0; }
.nhw-lr-rsec__body p { padding-inline-start: 1.25rem; border-inline-start: 3px solid var(--wp--preset--color--border); font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
@media (width < 56rem) { .nhw-lr-vrow, .nhw-lr-gcards, .nhw-lr-rsec { grid-template-columns: 1fr; gap: 1.25rem; } .nhw-lr-rsec__side { position: static; } .nhw-lr-google { padding: 1.25rem; } }

/* LightRider slideshow */
.nhw-lr-slides { max-width: 52rem; margin-inline: auto; }
.nhw-lr-slides:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.nhw-lr-slides__track { display: flex; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; background: var(--wp--preset--color--surface); }
.nhw-lr-slides__track::-webkit-scrollbar { display: none; }
.nhw-lr-slides__track > li { flex: 0 0 100%; scroll-snap-align: start; margin: 0; }
.nhw-lr-slides__track img { display: block; width: 100%; height: auto; }
.nhw-lr-slides__bar { display: flex; align-items: center; justify-content: center; gap: 1.5rem; margin-block-start: 1rem; }
.nhw-lr-slides__btn { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--base); color: inherit; font-size: 1.25rem; cursor: pointer; }
.nhw-lr-slides__btn:hover:not(:disabled) { border-color: currentColor; }
.nhw-lr-slides__btn:disabled { opacity: 0.35; cursor: default; }
.nhw-lr-slides__count { min-width: 4rem; text-align: center; font-size: 0.875rem; color: var(--gm-muted); }
.nhw-lr-slides__thumbs { display: flex; gap: 0.5rem; margin-block-start: 1rem; overflow-x: auto; padding-block-end: 0.25rem; scrollbar-width: thin; }
.nhw-lr-slides__thumbs button { flex: 0 0 5.5rem; padding: 0; border: 2px solid transparent; background: none; opacity: 0.6; cursor: pointer; }
.nhw-lr-slides__thumbs button.is-current { border-color: var(--wp--preset--color--accent); opacity: 1; }
.nhw-lr-slides__thumbs img { display: block; width: 100%; height: auto; }
/* slideshow: every slide is the same frame; the small promo image sits centred inside it */
.nhw-lr-slides__track > li { aspect-ratio: 940 / 788; }
.nhw-lr-slides__track > li.is-promo { display: flex; align-items: center; justify-content: center; background: var(--wp--preset--color--base); }
.nhw-lr-slides__track > li.is-promo a { display: block; height: 100%; }
.nhw-lr-slides__track > li.is-promo img { width: auto; height: 100%; max-width: 100%; object-fit: contain; padding: 1.5rem; box-sizing: border-box; }
/* "Shop LightRider" is a button under the section menu */
.nhw-lr-head .nhw-lr-nav { margin-block-end: 1.25rem; }
.nhw-lr-navbtn { margin-block-end: 2.5rem; }
.nhw-lr-head--split .nhw-lr-navbtn { grid-column: 1 / -1; margin-block-end: 0; }
@media (width < 40rem) { .nhw-lr-head .nhw-lr-nav { margin-block-end: 1rem; } .nhw-lr-navbtn { margin-block-end: 1.5rem; } }

/* LightRider dark bands: the white logo, large and faded, as a background mark */
.nhw-band--lr::before { content: ""; position: absolute; z-index: -1; top: 50%; right: 18%; width: 26rem; max-width: 70%; aspect-ratio: 1; transform: translateY(-50%); background: var(--nhw-lr-mark, none) center / contain no-repeat; opacity: 0.05; pointer-events: none; }
@media (width < 56rem) { .nhw-band--lr::before { right: -4rem; width: 20rem; opacity: 0.05; } }
.nhw-band--lr::before { right: 13%; width: 22rem; }
.nhw-band--lr p { max-width: 40ch; }
@media (width < 56rem) { .nhw-band--lr::before { right: -4rem; width: 18rem; } .nhw-band--lr p { max-width: none; } }
