/* Vendor names stay on one readable line on narrow phones. */
.topline { font-size: 12px; white-space: nowrap; letter-spacing: .04em; padding-inline: 8px; }

:root {
  --color-action-rose: #9f1239;
  --color-action-rose-hover: #881337;
  --color-text-primary: #292322;
  --color-text-secondary: #57534e;
  --color-border-soft: #e7d9d3;
  --color-surface-card: #fffdfa;
  --color-surface-subtle: #f6f0eb;
  --radius-pill: 9999px;
  --radius-md: 1rem;
  --shadow-card: 0 14px 36px rgba(76, 45, 42, 0.08);
  --type-section-h2-lh: 1.15;
  --rose: #9f1239;
  --rose-dark: #881337;
  --wine: #653c47;
  --muted: #57534e;
}

[hidden] {
  display: none !important;
}

/* Keep the shop surface inside narrow viewports without changing shared navigation. */
main,
main section,
main .container,
.product-grid,
.care-grid,
.product-card,
.care-card,
.product-content,
.care-body,
.product-details,
.card-detail {
  min-width: 0;
}

main img {
  max-width: 100%;
}

main .button,
main button,
.season-choice,
.filters button,
.care-category-filters button,
.product-details > summary,
.photo-dialog-close {
  min-height: 44px;
}

main :is(a, button, select, summary):focus-visible,
#product-photo-dialog :is(button, img):focus-visible {
  outline: 3px solid #9f1239;
  outline-offset: 3px;
}

main .button:focus-visible,
.filters button:focus-visible,
.care-category-filters button:focus-visible {
  box-shadow: 0 0 0 4px #fffdfa;
}

.hero-copy h1 {
  font-weight: 400;
}

.hero-note,
.count,
.photo-credit,
.category-note {
  color: #57534e;
}

/* Compact the introduction while retaining the editorial split layout. */
.hero {
  padding: 28px 0 24px;
}

.hero-grid {
  min-height: 410px;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
  border-radius: 24px;
}

.hero-copy {
  padding: clamp(32px, 4vw, 48px);
}

.hero-copy .eyebrow {
  margin-bottom: 16px;
}

.hero-copy h1 {
  max-width: 620px;
  margin-bottom: 16px;
  font-size: clamp(2.8rem, 4.5vw, 4.35rem);
  line-height: 1.06;
}

.hero-copy p {
  max-width: 560px;
  margin-bottom: 0;
  line-height: 1.65;
}

.hero-actions {
  margin-top: 18px;
}

.hero-note {
  margin-top: 18px;
}

.hero-photo {
  min-height: 410px;
}

.value-strip {
  padding: 10px 0 34px;
}

/* The selector remains visible and compact for both new and returning visitors. */
.shop-returning .hero,
.shop-returning .value-strip {
  display: none;
}

.shop-returning .season-section {
  border-top: 0;
}

.season-section {
  padding: 30px 0 38px;
}

.section-head {
  margin-bottom: 16px;
}

.section-head h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}

.base-status {
  margin: 0 0 18px;
  border-left: 3px solid #9f1239;
  background: #faf3ef;
  padding: 11px 14px;
  color: #44403c;
  font-size: 0.86rem;
}

.base-status:empty {
  display: none;
}

.season-families {
  gap: 10px;
}

.family {
  border-color: #e7d9d3;
  border-radius: 16px;
  padding: 9px;
}

.family-top {
  height: 50px;
  margin-bottom: 6px;
  padding: 8px 12px;
  border-radius: 10px;
}

.family-top h3 {
  font-size: 1.08rem;
}

.season-list {
  gap: 2px;
}

.season-choice {
  padding: 7px 10px;
  color: #57504c;
  font-size: 0.79rem;
}

.season-choice[aria-pressed="true"] {
  border-color: #d9a8b3;
  background: #f8e4e8;
  color: #7f1d3c;
}

/* Results overview and navigation. */
.results-section {
  padding: 64px 0 76px;
}

.result-overview {
  margin-bottom: 20px;
}

/* The season name is half the original section-heading scale. */
.result-overview h2 {
  font-size: clamp(1.175rem, 1.8vw, 1.825rem);
  line-height: 1.2;
}

.result-overview h2:focus-visible {
  outline: 3px solid #9f1239;
  outline-offset: 5px;
  border-radius: 4px;
}

.results-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 16px 0 4px;
}

.results-navigation a,
#season-guide a,
.care-guide-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #7f1d3c;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.results-navigation a:hover,
#season-guide a:hover,
.care-guide-link:hover {
  color: #4f2630;
}

#season-guide:empty {
  display: none;
}

.toolbar {
  margin: 22px 0 16px;
  padding-top: 18px;
}

.filters {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.filters button,
.care-category-filters button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-color: #d7c7c0;
  color: #5f5753;
}

.filters button:hover,
.care-category-filters button:hover {
  border-color: #986576;
  color: #653c47;
}

.filters button[aria-pressed="true"] {
  border-color: #653c47;
  background: #653c47;
  color: #fff;
}

.filter-count {
  color: #766d68;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0;
}

.filters button[aria-pressed="true"] .filter-count,
.care-category-filters button[aria-pressed="true"] .filter-count {
  color: #f9e9ed;
}

.category-note {
  max-width: 900px;
  margin: 0 0 20px;
  font-size: 0.78rem;
  line-height: 1.55;
}

/* Product cards follow the revised semantic card contract. */
.product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.product-card {
  overflow: hidden;
  border: 1px solid #e8dcd6;
  border-radius: 18px;
  background: #fffdfa;
  box-shadow: var(--shadow-card);
}

.product-media .tag,
.product-media .shade-dot {
  display: none;
}

.product-media {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  min-height: 230px;
  padding: 14px;
  overflow: hidden;
  background: #fff;
}

.photo-zoom {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-width: 44px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: inherit;
}

.photo-zoom:hover img {
  transform: scale(1.025);
}

.product-media .photo-zoom img {
  width: 92%;
  height: 92%;
  max-width: 92%;
  max-height: 92%;
  object-fit: contain;
  filter: none;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
  transition: transform 160ms ease;
}

.product-content {
  padding: 20px 21px 22px;
}

.product-kicker {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 5px 10px;
  margin-bottom: 8px;
  color: #8f4356;
}

.product-kicker span:last-child {
  color: #6f6661;
  white-space: normal;
}

.product-shade-title {
  margin: 0 0 5px;
  color: #3b2026;
  font-size: clamp(1.38rem, 2vw, 1.65rem);
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.product-brand {
  margin: 0 0 11px;
  color: #6a5e59;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.45;
}

.product-summary,
.care-summary {
  color: #514b47;
  overflow-wrap: anywhere;
}

.product-summary {
  margin: 0 0 14px;
  font-size: 0.84rem;
  line-height: 1.58;
}

.card-caution {
  margin-top: auto;
  border-left: 3px solid #b56b78;
  border-radius: 8px;
  background: #f8efec;
  padding: 10px 11px;
  color: #665651;
  font-size: 0.74rem;
  line-height: 1.5;
}

.card-caution strong {
  display: block;
  margin-bottom: 2px;
  color: #653c47;
  font-size: 0.72rem;
}

.card-links {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.card-links .button {
  width: 100%;
  min-height: 50px;
  padding: 9px 16px;
}

.card-links .button > span:first-child {
  display: grid;
  gap: 2px;
  text-align: left;
}

.card-links .retailer-name {
  color: #f2e6e8;
  font-size: 0.68rem;
  font-weight: 500;
  line-height: 1.2;
}
.card-links .listing-region {
  color: #625753;
  font-size: 0.75rem;
  line-height: 1.4;
}

.product-details {
  margin-top: 10px;
  border-top: 1px solid #ede3de;
}

.product-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
  color: #653c47;
  font-size: 0.77rem;
  font-weight: 700;
}

.product-details > summary::-webkit-details-marker {
  display: none;
}

.product-details > summary::after {
  content: "+";
  flex: none;
  font: 500 1.1rem/1 Georgia, serif;
}

.product-details[open] > summary::after {
  content: "−";
}

.card-detail {
  margin: 0;
  border-top: 0;
  padding-top: 8px;
}

.card-detail dt {
  color: #8b3f52;
}

.card-detail dd,
.photo-credit {
  overflow-wrap: anywhere;
}

.photo-credit {
  margin: 10px 0 0;
  padding-top: 9px;
}

.product-photo-pending {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 260px;
  padding: 16px;
  color: #653c47;
  text-align: center;
}

.product-photo-pending > span {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.product-photo-pending > strong {
  font-family: Georgia, serif;
  font-size: 1.2rem;
}

.product-photo-pending > small {
  font-size: 0.74rem;
  line-height: 1.45;
}

.empty {
  grid-column: 1 / -1;
}

.empty .button,
.empty button.button {
  width: auto;
  margin: 14px auto 0;
  border: 0;
  color: #fff;
}

/* Care cards are intentionally lighter and shorter than color-product cards. */
.care-section {
  padding: 68px 0 76px;
}

.care-controls {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 22px 0 16px;
}

.care-category-filters {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

.care-category-filters button {
  border: 1px solid #d7c7c0;
  border-radius: 999px;
  background: #fff;
  padding: 8px 15px;
  font-size: 0.78rem;
  font-weight: 700;
}

.care-category-filters button[aria-pressed="true"] {
  border-color: #506052;
  background: #506052;
  color: #fff;
}

.care-controls label {
  display: grid;
  gap: 6px;
  color: #506052;
  font-size: 0.78rem;
  font-weight: 700;
}

.care-controls select {
  max-width: 100%;
  min-height: 44px;
  border: 1px solid #c9d3c5;
  border-radius: 9px;
  background: #fff;
  padding: 8px 34px 8px 12px;
  color: #292322;
  font: inherit;
}

.care-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.care-card {
  display: flex;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dedfd5;
  border-radius: 16px;
  background: #fffdfa;
  box-shadow: 0 10px 28px rgba(62, 70, 58, 0.06);
}

.care-image {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 180px;
  min-height: 150px;
  padding: 12px;
  overflow: hidden;
  background: #fff;
}

.care-image .photo-zoom img {
  width: 100%;
  height: 100%;
  max-width: 90%;
  max-height: 156px;
  object-fit: contain;
  border-radius: 7px;
  background: #fff;
  transition: transform 160ms ease;
}

.care-image .step-label,
.care-image > span {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 10px;
  max-width: calc(100% - 20px);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  padding: 5px 9px;
  color: #506052;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.care-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px 19px 20px;
}

.care-body .care-type {
  margin-bottom: 5px;
  color: #67725a;
}

.care-body h3 {
  margin: 0 0 7px;
  color: #332d2a;
  font-size: 1.2rem;
  line-height: 1.25;
}

.care-body p.care-summary {
  margin: 0 0 12px;
  color: #514e49;
  font-size: 0.79rem;
  line-height: 1.55;
}

.care-body .card-caution {
  margin-top: auto;
}

.care-body .card-links {
  margin-top: 12px;
}

.care-body .product-details {
  margin-top: 9px;
}

.care-more-controls {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

#care-more {
  min-width: min(100%, 210px);
}

/* Native image viewer: neutral surfaces preserve the source image's color. */
#product-photo-dialog {
  width: min(92vw, 720px);
  max-width: 720px;
  max-height: 90vh;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d9cbc5;
  border-radius: 18px;
  background: #fff;
  color: #292322;
  box-shadow: 0 28px 80px rgba(32, 22, 22, 0.3);
}

#product-photo-dialog::backdrop {
  background: rgba(31, 23, 25, 0.72);
  backdrop-filter: blur(3px);
}

.photo-dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  max-height: 90vh;
  padding: 22px;
  background: #fff;
}

.photo-dialog-close {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 44px;
  padding: 0;
  border: 1px solid #d9cbc5;
  border-radius: 50%;
  background: #fff;
  color: #4f2630;
  font-size: 1.25rem;
  line-height: 1;
}

#photo-dialog-title {
  margin: 0;
  padding-right: 48px;
  color: #3b2026;
  font-size: clamp(1.25rem, 3vw, 1.7rem);
  line-height: 1.25;
}

#photo-dialog-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(90vh - 150px);
  margin: auto;
  object-fit: contain;
  object-position: center;
  background: #fff;
  filter: none;
}

#photo-dialog-note {
  margin: 0;
  color: #57534e;
  font-size: 0.78rem;
  line-height: 1.5;
}

@media (max-width: 1080px) {
  .hero-grid {
    min-height: 380px;
  }

  .hero-photo {
    min-height: 380px;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .care-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .container {
    width: min(calc(100% - 32px), 640px);
  }

  .hero {
    padding: 14px 0 18px;
  }

  .hero-grid {
    display: grid;
    min-height: 0;
    grid-template-columns: 1fr;
    border-radius: 19px;
  }

  .hero-copy {
    order: 1;
    padding: 26px 23px 22px;
  }

  .hero-copy h1 {
    font-size: clamp(2.25rem, 11vw, 3.35rem);
  }

  .hero-photo {
    order: 2;
    min-height: 185px;
    max-height: 205px;
  }

  .hero-photo img {
    height: 205px;
  }

  .value-strip {
    padding-bottom: 25px;
  }

  .season-section {
    padding: 28px 0 34px;
  }

  .section-head,
  .result-overview,
  .care-head {
    display: block;
  }

  .section-head {
    margin-bottom: 18px;
  }

  .section-head p {
    max-width: none;
  }

  .season-families {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .results-section,
  .care-section {
    padding: 50px 0 58px;
  }

  .result-aside {
    margin-top: 20px;
  }

  .toolbar,
  .care-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .filters,
  .care-category-filters {
    justify-content: flex-start;
  }

  .product-grid,
  .care-grid {
    grid-template-columns: 1fr;
  }

  .product-media {
    min-height: 220px;
    max-height: 310px;
  }

  .care-image {
    height: 170px;
  }

  .care-controls label {
    width: 100%;
  }

  .care-controls select {
    width: 100%;
  }

  .photo-dialog {
    padding: 18px;
  }
}

@media (max-width: 480px) {
  .container {
    width: min(calc(100% - 28px), 640px);
  }

  .hero-actions .button {
    width: 100%;
  }

  .season-families {
    grid-template-columns: 1fr;
  }

  .family-top {
    height: 48px;
  }

  .season-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .season-choice {
    display: flex;
    justify-content: center;
    padding-inline: 5px;
    text-align: center;
  }

  .season-choice span:last-child {
    display: none;
  }

  .product-content,
  .care-body {
    padding: 18px;
  }

  .product-media {
    aspect-ratio: 1 / 0.78;
    min-height: 210px;
  }

  .filters button,
  .care-category-filters button {
    flex: 1 1 auto;
  }

  .results-navigation {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }

  #product-photo-dialog {
    width: calc(100vw - 20px);
    max-height: 88vh;
    border-radius: 14px;
  }

  .photo-dialog {
    max-height: 88vh;
    padding: 16px;
  }

  #photo-dialog-image {
    max-height: calc(88vh - 140px);
  }
}

@media (max-width: 340px) {
  .container {
    width: calc(100% - 24px);
  }

  .hero-copy,
  .product-content,
  .care-body {
    padding-right: 16px;
    padding-left: 16px;
  }

  .season-list {
    grid-template-columns: 1fr;
  }

  .season-choice {
    justify-content: space-between;
    padding-inline: 10px;
  }

  .season-choice span:last-child {
    display: inline;
  }
}

@media (prefers-reduced-motion: reduce) {
  .photo-zoom img {
    transition: none;
  }
}

/* Definite media sizing keeps intrinsic retailer images inside their frame. */
.product-media{height:240px;min-height:0;aspect-ratio:auto}
.product-media .photo-zoom,.care-image .photo-zoom{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;width:100%;height:100%;overflow:hidden}
.product-media .photo-zoom img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.photo-zoom-label,.care-image .photo-zoom-label{position:absolute;top:auto;left:auto;right:3px;bottom:3px;border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.95);color:#653c47;font-size:.65rem;font-weight:700;letter-spacing:0;text-transform:none;line-height:1.4}
.product-content .product-shade-title{font-size:clamp(1.38rem,2vw,1.65rem);line-height:1.16}
.product-details>p{font-size:.8rem;line-height:1.6;margin:8px 0 12px}
.product-details>p.photo-credit{font-size:.7rem}
.empty button.button{background:var(--wine);color:#fff;border:1px solid var(--wine)}
#product-photo-dialog:not([open]){display:none}
#product-photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:24px;overflow:auto}
@media(max-width:760px){.product-media{height:220px;min-height:0;max-height:none;aspect-ratio:auto}}
@media(max-width:480px){#product-photo-dialog[open]{padding:18px}}

#product-photo-dialog[open]{position:fixed;inset:0;margin:auto;height:min(90vh,780px);min-height:0;overflow:auto}
#photo-dialog-image{min-height:0;height:100%;max-height:100%;width:100%;object-fit:contain}
body:has(#product-photo-dialog[open]){overflow:hidden}
@media(max-width:480px){#product-photo-dialog[open]{height:88vh;max-height:88vh}}

.product-media .photo-zoom,.care-image .photo-zoom{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px)}
.photo-zoom-label,.care-image .photo-zoom-label{white-space:nowrap}
/* Exterior action row leaves the photo frame and image sizing untouched. */
.photo-label-row{display:flex;justify-content:flex-end;align-items:center;min-height:44px;padding:0 14px;background:#fff}
.photo-label-row .photo-zoom-label{position:static;min-height:44px;border:0;cursor:pointer}
.photo-label-row .photo-zoom-label:focus-visible{outline:2px solid #653c47;outline-offset:-2px}

/* Catalog color markers replace scoped product photographs. */
.product-swatch-wrap{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px;text-align:center}
.product-swatch{display:block;width:min(116px,55%);aspect-ratio:1;border-radius:50%;border:2px solid #ece2df;box-shadow:0 3px 14px #412b2b1c;flex:none}
.swatch-caption{color:#653c47;font-size:12px;line-height:1.35}
.care-image .product-swatch{width:min(88px,70%)}
/* Keep the label and category illustration inside the card's media frame. */
.product-media .product-swatch-wrap,.care-image .product-swatch-wrap{position:absolute;inset:14px;width:auto;height:auto}
.care-image .product-swatch,.care-image .swatch-caption{position:static;max-width:100%;padding:0;letter-spacing:normal;text-transform:none}
.care-image .swatch-caption{background:transparent;border-radius:0;color:#653c47;font-size:12px;font-weight:400;line-height:1.35}
.care-image .care-fallback-icon{position:static;display:grid;place-items:center;width:64px;height:64px;max-width:70%;border:1px solid #e6dfdb;border-radius:18px;background:#faf7f4;color:#71515b;box-shadow:0 3px 14px #412b2b12;flex:none}
.care-fallback-icon svg{display:block;width:40px;height:40px}
.care-image .step-label{top:12px;left:12px;max-width:calc(100% - 24px);z-index:2}
.care-image .product-swatch-wrap{inset:42px 14px 12px;padding:0;gap:4px}

/* Content layout follows the shared Cover Story brand. Product data and filters are unchanged. */
.topline { background:var(--ed-paper); color:var(--ed-muted); border-color:var(--ed-rule); }
.shop-editorial { --ink:var(--ed-ink); --muted:var(--ed-muted); --paper:var(--ed-paper); --line:var(--ed-rule); --wine:var(--ed-wine); }
.shop-editorial .hero { padding:28px 0 36px; }
.shop-editorial .hero-grid { min-height:0; border:0; border-radius:0; box-shadow:none; background:transparent; gap:34px; }
.shop-editorial .hero-copy { padding:0; background:transparent; }
.shop-editorial .hero-copy .eyebrow { margin-bottom:12px; }
.shop-editorial .hero-copy h1 { margin-bottom:16px; }
.shop-editorial .hero-copy h1 span { color:var(--ed-ink); }
.shop-editorial .hero-photo { min-height:0; height:390px; }
.shop-editorial .photo-caption { border-radius:0; }
.shop-editorial .eyebrow { color:var(--ed-muted); font-weight:400; letter-spacing:.09em; }
.shop-editorial :is(.season-section,.results-section,.care-section) { padding-block:36px; background:var(--ed-paper); border-color:var(--ed-rule); }
.shop-editorial :is(.family,.product-card,.care-card,.empty) { border-radius:0; box-shadow:none; border-color:var(--ed-rule); }
.shop-editorial .family { background:transparent; }
.shop-editorial .family-top { border-radius:0; }
.shop-editorial .family-top:after { display:none; }
.shop-editorial :is(.button,.filters button,.season-choice) { border-radius:0; min-height:44px; font-weight:400; }
.shop-editorial .button { font-size:13px; }
.shop-editorial .button:hover { transform:none; }
.shop-editorial .button-dark,.shop-editorial .button-coral { background:var(--ed-wine); border-color:var(--ed-wine); color:white; }
.shop-editorial .button-outline { color:var(--ed-wine); border-color:var(--ed-wine); }
.shop-editorial .results-navigation { top:0; }
.shop-editorial .value-strip { padding-bottom:28px; }
.shop-editorial .section-head { margin-bottom:24px; }
@media(max-width:600px) { .shop-editorial .hero-grid { gap:24px; } .shop-editorial .hero-photo { height:280px; } .shop-editorial .hero-copy { padding:0; } }
