/* Shared shopping chrome is scoped so recovered pages keep their content. */
.shop-navigation, .shop-context, .shop-home, body.shopping-page {
  color: #20302a;
  font: 16px/1.65 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: left;
}
.shop-navigation *, .shop-context *, .shop-home *, .shopping-page * { box-sizing: border-box; }
.shop-navigation a, .shop-context a, .shop-home a, .shopping-page a {
  color: #245a43; font: inherit; text-decoration: underline; text-underline-offset: 4px;
}
.shop-navigation a:hover, .shop-context a:hover, .shop-home a:hover, .shopping-page a:hover { color: #923321; }
.shop-navigation a:focus-visible, .shop-context a:focus-visible, .shop-home a:focus-visible,
.shopping-page a:focus-visible, .shopping-page summary:focus-visible {
  outline: 3px solid #b65135; outline-offset: 5px;
}
.shop-navigation {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 24px; max-width: 1120px; padding: 24px 32px; margin: 0 auto 20px;
  border-bottom: 1px solid #d6ded5;
}
.shop-navigation a.shop-brand { display: flex; flex-direction: column; font-size: 23px; font-weight: 800; line-height: 1.1; text-decoration: none; color: #20302a; }
.shop-brand span { font-size: 12px; text-transform: uppercase; letter-spacing: .14em; margin-top: 7px; }
.shop-navigation nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.shop-navigation nav a { font-size: 14px; font-weight: 650; text-decoration: none; padding-block: 9px; }
body.shopping-page { margin: 0; background: #f8f8f2; }
.shopping-page main { width: auto; max-width: 1120px; padding: 0 32px; margin: 0 auto; }
.shopping-page h1 { font-size: clamp(34px, 5.2vw, 60px); font-weight: 750; line-height: 1.09; letter-spacing: -.04em; max-width: 850px; margin: 14px 0 24px; }
.shopping-page h2, .shop-context h2, .shop-home h2 { font: 700 26px/1.25 system-ui, sans-serif; letter-spacing: -.02em; margin: 0 0 18px; color: #20302a; }
.shopping-page h3 { font-size: 21px; line-height: 1.3; margin: 16px 0 10px; }
.shopping-page p { margin: 0 0 18px; }
.shop-hero { padding: 40px 0 42px; }
.shopping-page .shop-eyebrow, .shop-context .shop-eyebrow { text-transform: uppercase; letter-spacing: .15em; font-size: 11px; font-weight: 800; color: #6d543e; margin: 0 0 12px; }
.shopping-page .shop-intro { max-width: 780px; font-size: 19px; color: #526059; }
.shop-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.shop-section-heading span { font-size: 12px; color: #647168; white-space: nowrap; }
.shopping-page .shop-disclosure, .shop-context .shop-disclosure { font-size: 13px; line-height: 1.6; color: #526059; margin: 0 0 24px; }
.shop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.shop-card { background: #fff; border: 1px solid #d6ded5; padding: 26px; display: flex; flex-direction: column; border-radius: 0; }
.shop-card h3 { margin-top: 0; }
.shop-card p { font-size: 15px; color: #526059; flex-grow: 1; }
.shopping-page a.shop-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; background: #24543f; color: #fff; border: 1px solid #24543f; padding: 12px 16px; border-radius: 0; font-size: 14px; font-weight: 650; text-decoration: none; }
.shopping-page a.shop-button:hover { background: #173d2c; }
.shopping-page a.shop-secondary, .shop-context a.shop-secondary {
  display: inline-flex; align-items: center; gap: 16px; border: 1px solid #afc3b3; border-radius: 0;
  padding: 11px 16px; background: #fff; color: #24543f; font-size: 14px; font-weight: 650; text-decoration: none;
}
.shopping-page a.shop-secondary:hover, .shop-context a.shop-secondary:hover { border-color: #24543f; background: #edf2e9; }
.shop-searches { display: flex; flex-wrap: wrap; gap: 12px; }
.shop-guide { margin: 48px 0; padding: 32px; background: #ebefe5; border-left: 3px solid #8a9d7d; }
.shop-guide p, .shop-guide li { max-width: 850px; }
.shop-guide ol, .shop-guide ul { padding-left: 24px; margin-bottom: 0; }
.shop-guide li { padding-left: 8px; margin: 0 0 16px; }
.shop-guide li:last-child { margin-bottom: 0; }
.shop-models { margin-top: 44px; }
.shop-models ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 24px; padding: 0; list-style: none; font-size: 14px; }
.shop-related { border-top: 1px solid #d6ded5; margin-top: 48px; padding: 28px 0; }
.shop-related a { display: inline-block; margin: 0 28px 14px 0; }
.shop-footer { max-width: 1120px; margin: auto; padding: 32px; border-top: 1px solid #d6ded5; font-size: 13px; color: #526059; }
.shop-footer p { margin: 0 0 8px; }
.shop-breadcrumb { font-size: 13px; padding-top: 16px; }
.shop-search-panel { padding: 30px; border: 1px solid #d6ded5; border-radius: 0; background: #fff; }
.shopping-page .shop-query { font-size: 13px; margin: 16px 0 24px; }
.shop-note { padding: 18px; border-left: 3px solid #ad7950; background: #f4ecdc; }
.shop-decal-group { border: 1px solid #d6ded5; background: #fff; margin: 12px 0; border-radius: 0; }
.shop-decal-group summary { padding: 18px 22px; cursor: pointer; font-weight: 700; }
.shop-decal-group summary span { font-size: 12px; font-weight: 400; color: #647168; margin-left: 12px; }
.shop-decal-group ul { list-style: none; padding: 0 22px 22px; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.shop-decal-group li { border-top: 1px solid #e6ebe2; padding: 10px 0; font-size: 14px; }
.shop-context, .shop-home { box-sizing: border-box; max-width: 720px; margin: 24px auto; padding: 24px; background: #edf2e9; border: 1px solid #d6ded5; border-radius: 0; }
.shop-context p, .shop-home p { font: 14px/1.65 system-ui, sans-serif; }
.shop-context h2, .shop-home h2 { font-size: 23px; }
.shop-home-links { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.shop-home-links a { font-size: 14px; font-weight: 700; }
.shop-skip { position: absolute; left: 16px; top: -120px; padding: 12px; background: #fff; z-index: 5; }
.shop-skip:focus { top: 10px; }
@media (max-width: 850px) {
  .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-models ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .shop-navigation, .shopping-page main, .shop-footer { padding-inline: 20px; }
  .shop-navigation { gap: 16px; padding-top: 20px; margin-bottom: 0; }
  .shop-navigation nav { gap: 4px 18px; }
  .shop-navigation nav a { font-size: 13px; }
  .shop-hero { padding: 30px 0; }
  .shopping-page .shop-intro { font-size: 17px; }
  .shop-grid, .shop-models ul, .shop-decal-group ul { grid-template-columns: 1fr; }
  .shop-card, .shop-guide, .shop-search-panel { padding: 22px; }
  .shop-section-heading span { display: none; }
  .shop-searches > a { width: 100%; justify-content: space-between; }
  .shop-context, .shop-home { max-width: calc(100% - 24px); padding: 20px; }
}
