.commerce-page .site-header { position: relative; top: auto; background: #f9f6f0; }
.commerce-page .desktop-nav, .commerce-page .header-actions { font-size: .875rem; }
.commerce-page [hidden] { display: none !important; }
.commerce-page button, .commerce-page input, .commerce-page summary { accent-color: var(--olive); }
.commerce-page :focus-visible { outline: 2px solid #80624d; outline-offset: 4px; }
.commerce-page main { min-height: 60vh; }
.commerce-page footer { margin-top: 4rem; }
.commerce-page .button { font-size: .875rem; }
.commerce-page .announcement { font-size: .75rem; }
.commerce-page .mobile-menu a { font-size: 1rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; font-size: .875rem; line-height: 1.6; color: #6d6e64; }
.breadcrumbs a:hover { text-decoration: underline; text-underline-offset: .25rem; }
.breadcrumbs > span:last-child { color: var(--ink); }
.commerce-eyebrow { margin: 0 0 .8rem; color: #80624d; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; line-height: 1.5; }
.shop-heading { padding: 1.6rem 3vw 0; }
.shop-title-row { padding: 2.2rem 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.shop-title-row h1 { margin: 0; font: 500 clamp(2.3rem,3.5vw,4.5rem)/1.12 var(--serif); letter-spacing: -.025em; }
.shop-title-row > p { margin: 0 0 .15rem; line-height: 1.7; color: #68695f; }
.shop-categories { display: flex; flex-wrap: wrap; gap: 1.8rem; }
.shop-categories button { padding: .85rem 0; min-height: 48px; border: 0; border-bottom: 2px solid transparent; background: none; color: #6d6e64; cursor: pointer; font-size: .9375rem; }
.shop-categories button[aria-pressed="true"] { color: var(--ink); border-bottom-color: var(--olive); }
.catalog-toolbar { margin: 0 3vw; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 64px; gap: 1rem; }
.catalog-toolbar button { display: inline-flex; align-items: center; gap: .8rem; padding: .8rem 0; border: 0; background: none; color: var(--ink); text-align: left; cursor: pointer; font-size: .875rem; }
.catalog-toolbar p { margin: 0; font-size: .875rem; white-space: nowrap; color: #63655b; }
.shop-layout { padding: 2rem 3vw 3rem; display: grid; grid-template-columns: clamp(300px,22vw,336px) minmax(0,1fr); gap: clamp(2rem,3vw,3rem); align-items: start; }
.filter-panel { --filter-line: rgba(63,64,50,.15); min-width: 0; background: var(--paper); border: 1px solid var(--filter-line); border-radius: 0; box-shadow: none; }
.filter-panel-heading { padding: 1.65rem 1.5rem 1.5rem; border-bottom: 0; background: var(--olive); color: var(--paper); }
.filter-panel-eyebrow { margin: 0 0 .85rem; color: #d7c5a8; font-size: .75rem; font-weight: 500; letter-spacing: .18em; line-height: 1.5; }
.filter-panel-heading > div { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.filter-panel-heading h2 { min-width: 0; margin: 0; font: 500 clamp(1.75rem,2.15vw,2rem)/1.2 var(--serif); letter-spacing: -.025em; }
#filter-total-selected { flex: 0 0 auto; min-width: 28px; min-height: 28px; padding: .2rem .4rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(251,249,245,.35); border-radius: 50%; background: transparent; color: var(--paper); font-size: .875rem; }
#filter-selection-status { margin: .9rem 0 0; color: #d8d6cb; font-size: .875rem; line-height: 1.6; }
.filter-group { margin: 0 1.5rem; padding: 1.25rem 0 .35rem; border-bottom: 1px solid var(--filter-line); }
.filter-sort-group { padding-top: .3rem; }
.filter-group-label { display: flex; align-items: center; gap: .85rem; margin: .2rem 0 .45rem; color: #80624d; font-size: .75rem; font-weight: 500; letter-spacing: .16em; line-height: 1.6; text-transform: uppercase; }
.filter-group-label::after { content: ''; flex: 1; height: 1px; background: var(--filter-line); }
.filter-section { border-bottom: 1px solid var(--filter-line); }
.filter-section:last-child { border-bottom: 0; }
.filter-section summary { min-height: 68px; padding: 1rem 0; display: flex; align-items: center; gap: .65rem; list-style: none; cursor: pointer; color: var(--ink); }
.filter-summary-copy { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: .3rem; }
.filter-summary-copy > span { font: 600 1rem/1.4 var(--sans); }
.filter-summary-copy > small { display: block; max-width: 100%; overflow-wrap: anywhere; color: #747568; font: 400 .875rem/1.5 var(--sans); }
.filter-section[open] .filter-summary-copy > small { display: none; }
.filter-section summary::-webkit-details-marker, .product-accordion summary::-webkit-details-marker { display: none; }
.filter-section summary::after { content: ''; flex: 0 0 7px; width: 7px; height: 7px; margin: -.25rem .25rem 0 .25rem; border: 0; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; border-radius: 0; background: none; color: #7a7b6a; transform: rotate(45deg); transition: transform .25s ease, color .25s ease; }
.filter-section[open] summary::after { transform: rotate(225deg); margin-top: .25rem; }
.filter-section summary:hover::after { color: var(--bronze); }
.product-accordion summary::after { content: ''; width: 7px; height: 7px; flex: 0 0 7px; margin: 0 .15rem 0 auto; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); }
.product-accordion[open] summary::after { transform: rotate(225deg); }
.facet-selected { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: .15rem .3rem; border-radius: 50%; background: #e9ecdf; color: var(--olive); font: 600 .75rem/1 var(--sans); }
.filter-options { display: grid; gap: .3rem; padding: 0 0 1rem; }
.filter-option { position: relative; display: flex; align-items: center; gap: .75rem; min-height: 48px; padding: .65rem .65rem; border: 0; border-left: 2px solid transparent; border-radius: 0; font-size: .875rem; line-height: 1.55; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.filter-option:hover { background: #f0f0e8; }
.filter-option:has(input:checked) { background: #eceee4; border-left-color: var(--olive); color: var(--olive); box-shadow: none; }
.filter-option-name { min-width: 0; overflow-wrap: anywhere; }
.filter-option:has(input:checked) .filter-option-name { font-weight: 600; }
.filter-option input { appearance: none; -webkit-appearance: none; width: 17px; height: 17px; flex: 0 0 17px; margin: 0; border: 1px solid #979a86; border-radius: 2px; background: #fffefa; display: grid; place-content: center; cursor: pointer; }
.filter-option input[type='radio'] { border-radius: 50%; }
.filter-option input:checked { border-color: var(--olive); background: var(--olive); }
.filter-option input[type='radio']:checked::after { content: ''; width: 5px; height: 5px; border-radius: 50%; background: white; }
.filter-option input[type='checkbox']:checked::after { content: ''; width: 4px; height: 7px; margin-top: -2px; border: solid white; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.filter-option small { flex: 0 0 auto; min-width: 18px; padding: .1rem 0; margin-left: auto; border-radius: 0; background: transparent; text-align: right; color: #767966; font-size: .875rem; line-height: 1.5; }
.filter-option:has(input:checked) small { background: transparent; color: var(--olive); }
.filter-option:has(input:disabled) { opacity: .45; cursor: not-allowed; background: transparent; }
.filter-option input:disabled { cursor: not-allowed; }
.filter-sort-options { gap: .15rem; }
.filter-sort-options .filter-option { min-height: 44px; padding: .55rem 0; border-left: 0; }
.filter-sort-options .filter-option:has(input:checked) { background: transparent; }
.filter-section[data-facet='collection'] .filter-option-name { font-family: var(--serif); font-size: 1.125rem; letter-spacing: .025em; }
.filter-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
.filter-tile { justify-content: center; padding: .75rem .5rem; text-align: center; border: 1px solid var(--filter-line); background: transparent; }
.filter-tile:has(input:checked) { background: var(--olive); border-color: var(--olive); color: #fff; }
.filter-tile input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.filter-tile small { display: none; }
.filter-tile:has(input:focus-visible) { outline: 2px solid #80624d; outline-offset: 3px; }
.filter-field-note { margin: -.2rem 0 .75rem; color: #747568; font-size: .875rem; line-height: 1.5; }
.filter-colour-dot { width: 25px; height: 25px; flex: 0 0 25px; border: 2px solid var(--paper); outline: 1px solid #c5c4b5; border-radius: 50%; background: var(--colour-fill,var(--colour)); }
.filter-colour input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.filter-colour:has(input:checked) .filter-colour-dot { outline: 2px solid var(--olive); outline-offset: 1px; }
.filter-colour:has(input:focus-visible) { outline: 2px solid #80624d; outline-offset: 3px; }
.filter-availability { padding: .65rem 1.5rem; }
.filter-switch { min-height: 64px; padding: .5rem 0; display: flex; align-items: center; gap: 1rem; font-size: .875rem; line-height: 1.6; cursor: pointer; position: relative; color: #626653; }
.filter-switch input { position: absolute; opacity: 0; right: 0; width: 44px; height: 44px; }
.switch-track { flex: 0 0 38px; height: 22px; margin-left: auto; padding: 3px; border-radius: 20px; background: #c7cabd; transition: background .2s; }
.switch-track::after { content: ''; display: block; width: 16px; height: 16px; border-radius: 50%; background: #fffefa; transition: transform .2s; }
.filter-switch input:checked + .switch-track { background: var(--olive); }
.filter-switch input:checked + .switch-track::after { transform: translateX(16px); }
.filter-switch input:focus-visible + .switch-track { outline: 2px solid #80624d; outline-offset: 4px; }
.filter-panel-actions { display: flex; flex-direction: column; gap: .35rem; padding: 1.35rem 1.5rem .9rem; border-top: 1px solid var(--filter-line); background: #f1f0e8; border-radius: 0; }
#filter-view-results { min-height: 50px; padding: .9rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; border: 1px solid var(--olive); border-radius: 0; background: var(--olive); color: var(--paper); font-size: .875rem; font-weight: 500; letter-spacing: .025em; line-height: 1.5; cursor: pointer; transition: background .2s; }
#filter-view-results:hover { background: #575743; }
.filter-reset { min-height: 44px; padding: .5rem; border: 0; background: none; cursor: pointer; text-decoration: underline; text-underline-offset: .3rem; color: #626653; font-size: .875rem; }
.filter-reset:disabled { opacity: .5; text-decoration: none; cursor: default; }
.catalog-toolbar #filter-toggle { margin: .55rem 0; padding: .6rem .9rem; min-height: 44px; border: 1px solid var(--line); border-radius: 0; background: transparent; }
.catalog-toolbar #filter-toggle:hover { border-color: var(--olive); background: #eeeee5; }
.catalog-results { min-width: 0; }
#shop-grid, #catalog-empty { scroll-margin-top: 1.25rem; }
.active-filters { display: flex; flex-wrap: wrap; gap: .5rem; padding-bottom: 1.2rem; }
.filter-chip { border-radius: 5px; padding: .65rem .8rem; min-height: 44px; background: #ece6dd; color: var(--ink); border: 1px solid transparent; font-size: .875rem; display: flex; gap: .8rem; align-items: center; cursor: pointer; }
.shop-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.8rem 1.25rem; }
.shop-card { min-width: 0; }
.shop-card-image { display: block; aspect-ratio: 1/1; overflow: hidden; background: #e9e5dd; position: relative; }
.shop-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .45s; }
.shop-card:is([data-card="nest"],[data-card="haven"],[data-card="roots"]) .shop-card-image img { object-fit: contain; }
.shop-card-image:hover img { transform: scale(1.035); }
.shop-badge { position: absolute; left: .8rem; top: .8rem; padding: .5rem .7rem; background: rgba(251,249,245,.95); font-size: .75rem; line-height: 1.5; letter-spacing: .06em; text-transform: uppercase; }
.shop-card-body { padding: 1rem .15rem 0; }
.card-eyebrow { margin: 0 0 .55rem; font-size: .75rem; line-height: 1.6; color: #7b6554; }
.shop-card h2 { margin: 0 0 .6rem; font: 500 1.6rem/1.2 var(--serif); }
.card-feel, .card-profile { margin: .3rem 0; font-size: .875rem; line-height: 1.6; color: #63655b; }
.card-colours { margin-top: .65rem; display: flex; flex-wrap: wrap; align-items: center; gap: .15rem; min-height: 44px; }
.colour-dot { display: inline-block; position: relative; width: 44px; height: 44px; padding: 10px; border: 1px solid transparent; border-radius: 50%; background: transparent; cursor: pointer; }
.colour-dot::before { content: ""; display: block; width: 100%; height: 100%; border: 1px solid rgba(53,54,45,.3); border-radius: 50%; background: var(--colour-fill,var(--colour)); }
.colour-dot[aria-pressed="true"] { border-color: #76786b; }
.card-colours > span { margin-left: .4rem; font-size: .75rem; color: #66685e; }
.card-details { display: flex; align-items: center; justify-content: space-between; margin-top: .6rem; border-top: 1px solid var(--line); padding: .85rem 0; font-size: .875rem; min-height: 48px; }
.card-details:hover { color: #80624d; }
.catalog-empty { padding: 5rem 1rem; text-align: center; }
.catalog-empty h2 { font: 500 2rem/1.2 var(--serif); }
.catalog-empty p { margin: 1.2rem 0 2rem; line-height: 1.7; }
.filters-hidden .shop-layout { grid-template-columns: minmax(0,1fr); }
.shop-page.filters-hidden .shop-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.noscript-note { padding: 1rem 3vw; }
.product-breadcrumbs { padding: 1.5rem 3vw; }
.product-layout { padding: 0 3vw 4rem; display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,1fr); gap: clamp(2rem,4vw,5rem); align-items: start; }
.product-gallery { position: sticky; top: 1.5rem; min-width: 0; }
.product-main-image { aspect-ratio: 1/1; background: #ede8e0; position: relative; }
.product-main-image > img { width: 100%; height: 100%; object-fit: contain; }
.product-image-status { position: absolute; inset: 0; display: grid; place-content: center; gap: 18px; padding: 24px; background: #ede8e0; color: #57574b; text-align: center; font-size: .875rem; }
.product-image-status[hidden] { display: none; }
.is-image-loading .product-image-status::before { content: ''; width: 28px; height: 28px; margin: 0 auto; border: 1px solid #cfc3b5; border-top: 2px solid var(--bronze); border-radius: 50%; animation: nahara-loading 1.2s linear infinite; }
@media (prefers-reduced-motion: reduce) { .is-image-loading .product-image-status::before { animation: none; } }
.gallery-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; margin-top: 1rem; }
.gallery-tabs button { padding: .3rem; border: 1px solid transparent; background: none; color: #63655b; cursor: pointer; font-size: .875rem; line-height: 1.5; }
.gallery-tabs button[aria-pressed="true"] { border-color: var(--olive); color: var(--ink); }
.gallery-tabs img { aspect-ratio: 4/3; object-fit: cover; }
.gallery-tabs span { display: block; padding: .65rem .15rem .3rem; }
.gallery-caption { font-size: .75rem; color: #68695f; line-height: 1.6; margin: 1rem 0 0; }
.product-information { padding: 1.5rem 0 0; min-width: 0; }
.product-information h1 { margin: 0; font: 500 clamp(2.6rem,4.4vw,5rem)/1.06 var(--serif); letter-spacing: -.025em; }
.product-intro { max-width: 55ch; font-size: 1rem; line-height: 1.8; margin: 1.3rem 0 1rem; color: #62635b; }
.product-feel { padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .875rem; line-height: 1.7; }
.product-feel span { padding: 0 .6rem; }
.product-options fieldset { margin: 1.3rem 0 0; padding: 0; border: 0; min-width: 0; }
.product-options legend { padding: 0; margin-bottom: .8rem; font-size: .875rem; font-weight: 600; }
.product-options legend output, .product-options legend small { font-size: .875rem; font-weight: 400; color: #62635b; margin-left: .7rem; }
.product-colours { display: flex; flex-wrap: wrap; gap: 1rem; }
.product-colour { display: flex; align-items: center; gap: .15rem; cursor: pointer; position: relative; min-height: 44px; }
.product-colour > span:last-child { font-size: .875rem; }
.product-colour input, .product-pills input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.product-colour input:checked + .colour-dot { border-color: var(--olive); }
.product-colour input:focus-visible + .colour-dot, .product-pills input:focus-visible + span { outline: 2px solid #80624d; outline-offset: 3px; }
.product-pills { display: flex; flex-wrap: wrap; gap: .6rem; }
.product-pills label { position: relative; cursor: pointer; }
.product-pills span { min-height: 46px; padding: .75rem 1.05rem; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; font-size: .875rem; line-height: 1.5; }
.product-pills input:checked + span { background: var(--olive); border-color: var(--olive); color: white; }
.size-pills { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.size-pills span { height: 100%; text-align: center; }
.selection-summary { border: 1px solid var(--line); margin-top: 1.6rem; padding: 1rem 1.1rem; }
.selection-summary > span { font-size: .75rem; color: #776452; letter-spacing: .08em; text-transform: uppercase; }
.selection-summary p { margin: .6rem 0 0; font-size: .9375rem; line-height: 1.6; }
.ordering-note { margin: .85rem 0; font-size: .875rem; color: #68695f; line-height: 1.6; }
.browse-products-link { display: flex; justify-content: space-between; gap: 1rem; margin: 1.2rem 0 1.6rem; padding: 1rem 1.2rem; background: var(--olive); color: white; font-size: .9375rem; line-height: 1.5; }
.browse-products-link:hover { background: #555645; }
.product-accordion { border-top: 1px solid var(--line); }
.product-accordion:last-child { border-bottom: 1px solid var(--line); }
.product-accordion summary { display: flex; align-items: center; gap: 1rem; list-style: none; padding: 1.15rem 0; cursor: pointer; font: 500 1.15rem/1.4 var(--serif); }
.product-accordion p { margin: 0 0 1.3rem; font-size: 1rem; line-height: 1.8; color: #62635b; }
.construction-list { margin: 0 0 1.3rem; padding-left: 1.15rem; color: #62635b; font-size: .9375rem; line-height: 1.8; }
.construction-list li + li { margin-top: .5rem; }
.upcoming-note { margin: 1.5rem 0; padding: 1.5rem; background: #e8efec; }
.upcoming-note > span { font-size: .75rem; letter-spacing: .1em; }
.upcoming-note h2 { font: 500 1.8rem/1.3 var(--serif); }
.upcoming-note p { font-size: 1rem; line-height: 1.7; }
.product-benefits { padding: 4rem 5vw; background: #eee9e1; }
.product-benefits > h2, .related-heading h2 { margin: .6rem 0 2rem; font: 500 clamp(2rem,3vw,3.2rem)/1.2 var(--serif); }
.product-benefits > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3rem; }
.product-benefits.four-benefits > div { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 5vw; row-gap: 1.5rem; }
.product-benefits article { padding-top: 1.5rem; border-top: 1px solid var(--line); }
.product-benefits article > span { color: #80624d; font-size: .75rem; }
.product-benefits h3 { margin: 1rem 0; font: 500 1.5rem/1.3 var(--serif); }
.product-benefits article p { color: #62635b; line-height: 1.8; }
.next-chapter { padding: 4rem 5vw; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 5vw; border-bottom: 1px solid var(--line); }
.next-chapter h2 { max-width: 15ch; margin: .8rem 0 1.2rem; font: 500 clamp(2rem,3vw,3.2rem)/1.2 var(--serif); }
.next-chapter p, .next-chapter li { max-width: 58ch; color: #62635b; font-size: .9375rem; line-height: 1.8; }
.next-chapter ul { margin: 0; padding-left: 1.2rem; }
.next-chapter li + li { margin-top: .85rem; }
.next-chapter .next-chapter-note { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); color: #776452; font-size: .8125rem; }
.related-products { padding: 4rem 3vw 0; }
.related-heading { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.related-heading > a { font-size: .875rem; padding: .8rem 0; margin-bottom: 2rem; border-bottom: 1px solid; }
@media (max-width: 1200px) {
  .shop-layout { grid-template-columns: 280px minmax(0,1fr); gap: 1.5rem; }
  .filter-panel-heading { padding: 1.5rem 1.1rem; }
  .filter-group { margin-inline: 1.1rem; }
  .filter-availability, .filter-panel-actions { padding-inline: 1.1rem; }
  .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shop-page.filters-hidden .shop-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .product-layout { gap: 2rem; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 800px) {
  .shop-title-row { align-items: flex-start; }
  .shop-title-row > p { display: none; }
  .shop-layout, .filters-hidden .shop-layout { grid-template-columns: minmax(0,1fr); }
  .shop-grid, .shop-page.filters-hidden .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filter-panel { width: 100%; }
  .product-layout { grid-template-columns: minmax(0,1fr); }
  .product-gallery { position: static; }
  .product-main-image { aspect-ratio: 5/4; }
  .gallery-tabs { max-width: 520px; }
  .product-information { padding-top: .5rem; }
  .product-benefits > div { gap: 1.5rem; }
  .product-benefits h3 { font-size: 1.3rem; }
  .next-chapter { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
}
@media (max-width: 550px) {
  .shop-heading { padding: 1rem 1.25rem 0; }
  .shop-title-row { padding: 1.6rem 0; }
  .shop-categories { gap: 1rem; }
  .shop-categories button { font-size: .875rem; }
  .catalog-toolbar { margin: 0 1.25rem; }
  .shop-layout { padding: 1.2rem 1.25rem 2rem; }
  .shop-grid, .shop-page.filters-hidden .shop-grid { grid-template-columns: minmax(0,1fr); }
  .product-breadcrumbs { padding: 1.2rem; font-size: .75rem; }
  .product-layout { padding: 0 1.25rem 3rem; gap: 1.5rem; }
  .product-main-image { aspect-ratio: 1/1; }
  .gallery-tabs { gap: .5rem; }
  .gallery-tabs button { font-size: .75rem; }
  .product-colours { gap: .6rem; }
  .product-colour { flex-wrap: wrap; }
  .product-benefits { padding: 3rem 1.25rem; }
  .product-benefits > div, .product-benefits.four-benefits > div { grid-template-columns: minmax(0,1fr); }
  .next-chapter { padding: 3rem 1.25rem; }
  .related-products { padding: 3rem 1.25rem 0; }
  .related-heading { flex-direction: column; align-items: flex-start; gap: 0; }
  .related-heading h2 { margin-bottom: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .commerce-page *, .commerce-page *::after { transition: none !important; }
}

/* Full product silhouettes for home accessories. */
.shop-card-image--contain img { object-fit: contain; }
.product-size-note { margin: 1rem 0; color: var(--muted, #727064); font-size: .875rem; line-height: 1.6; }
