.shop-notice{width:fit-content;margin-top:1.15rem;padding:.5rem .8rem;border:1px solid var(--line);font-weight:700;font-size:.9rem}.shop-filters[hidden],.shop-empty[hidden]{display:none}.shop-status:empty{display:none}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.shop-card{min-width:0;border:1px solid var(--line);background:var(--white);display:flex;flex-direction:column}.shop-card-image{display:grid;place-items:center;min-width:0;aspect-ratio:4/3;background:var(--paper);color:var(--muted);font-size:.9rem}.shop-card-image img{width:100%;height:100%;object-fit:cover}.shop-card-body{padding:1.3rem;min-width:0}.shop-card h3{margin-bottom:1rem;overflow-wrap:anywhere}.shop-card .eyebrow{margin-bottom:.5rem}.shop-specs{margin:0 0 1rem;padding:0}.shop-specs>div{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;border-bottom:1px solid var(--line);padding:.55rem 0;font-size:.9rem}.shop-specs dt{font-weight:700}.shop-specs dd{margin:0;overflow-wrap:anywhere}.shop-spec-note{display:block;font-size:.8rem;line-height:1.45;margin-top:.25rem}.shop-colors-title{font-size:.86rem;font-weight:700;margin:.75rem 0 .45rem}.shop-colors{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0}.shop-color{display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);padding:.35rem .45rem;max-width:100%;font-size:.8rem;line-height:1.25;overflow-wrap:anywhere}.shop-color-sample{display:block;flex:none;width:1.2rem;height:1.2rem;border:1px solid var(--line);object-fit:cover}.shop-color-missing{font-size:.86rem;margin:0}.shop-empty{padding:1.55rem}.shop-empty p{max-width:62ch}.shop-empty .hero-actions{margin-top:.75rem}.shop-empty h3{margin-bottom:.4rem}@media(max-width:900px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.shop-grid{grid-template-columns:minmax(0,1fr)}}
button.shop-color{background:var(--white);color:inherit;font-family:inherit;cursor:pointer;text-align:left;min-height:44px}button.shop-color:hover,button.shop-color[aria-pressed=true]{border-color:var(--teal);background:var(--paper)}button.shop-color:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.shop-card-image img{aspect-ratio:4/3}
.shop-card-image [hidden],.shop-photo-status[hidden]{display:none}.shop-photo-status{font-size:.78rem;padding:.45rem 1.3rem;margin:0;border-bottom:1px solid var(--line)}
.shop-gallery{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0 0 1rem}.shop-gallery-button{display:block;padding:2px;inline-size:clamp(48px,13vw,60px);min-block-size:48px;border:1px solid var(--line);background:var(--paper);cursor:pointer}.shop-gallery-button img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.shop-gallery-button:hover,.shop-gallery-button[aria-pressed=true]{border-color:var(--teal)}.shop-gallery-button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--teal)}.shop-gallery-button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.shop-colors>li[hidden]{display:none}.shop-swatch-toggle{display:inline-flex;align-items:center;min-height:44px;margin-top:.45rem;padding:.25rem .55rem;border:1px solid transparent;background:transparent;color:var(--teal);font:inherit;font-size:.83rem;font-weight:700;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.shop-swatch-toggle:hover{border-color:var(--line)}.shop-swatch-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

.shop-card-body {
  container-type: inline-size;
  padding: .9rem 1rem 1rem;
}

.shop-index {
  columns: 2 18rem;
  padding-inline-start: 1.25rem;
}

.shop-index[hidden] {
  display: none;
}

.shop-index li {
  break-inside: avoid;
  margin-bottom: .6rem;
}

.shop-index li span {
  display: block;
  color: var(--muted);
  font-size: .88rem;
}

.pagehero.shop-hero {
  padding-block: clamp(1.05rem, 2.8vw, 2.2rem);
}

.shop-hero h1 {
  max-width: none;
  margin-bottom: .38rem;
  font-size: clamp(1.7rem, 4vw, 3.4rem);
  line-height: 1.18;
}

.shop-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .2rem 1rem;
}

.shop-hero .shop-intro p:not(.eyebrow) {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: .9rem;
}

.shop-intro .shop-notice {
  color: var(--muted);
  font-weight: 600;
}

.section.shop-catalog {
  padding-block: 1rem 2rem;
}

.shop-catalog .shop-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .2rem .75rem;
  margin-bottom: .55rem;
}

.shop-heading h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
}

.shop-heading .shop-status {
  margin: 0;
  font-size: .82rem;
}

.shop-catalog .shop-filters:not([hidden]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 20rem);
  align-items: end;
  gap: .65rem 1rem;
  margin-bottom: 1rem;
}

.shop-category-filter,
.shop-search {
  min-width: 0;
}

.shop-filter-label,
.shop-search label {
  display: block;
  margin: 0 0 .22rem;
  font-size: .85rem;
  font-weight: 700;
}

.shop-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.shop-category-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: .42rem .72rem;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--teal);
  font-family: inherit;
  font-size: .85rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
  text-align: start;
  cursor: pointer;
}

.shop-category-tab:hover {
  border-color: var(--teal);
}

.shop-category-tab[aria-pressed="true"] {
  border-color: var(--teal);
  background: var(--teal);
  color: var(--white);
}

.shop-tab-count {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}

.shop-category-tab[aria-pressed="true"] .shop-tab-count {
  color: inherit;
}

.shop-search input {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: .45rem .75rem;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  font: inherit;
}

.shop-category-tab:focus-visible,
.shop-search input:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

.shop-grid {
  gap: .8rem;
}

.shop-specs {
  margin-bottom: .65rem;
}

.shop-specs > div {
  padding-block: .38rem;
}

.shop-gallery {
  margin-bottom: .55rem;
}

.shop-photo-status {
  min-width: 0;
  padding: .33rem 1rem;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shop-card-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .45rem;
  white-space: nowrap;
}

.shop-card-meta .eyebrow {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.shop-model-code {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.4;
}

.shop-card .shop-card-title {
  margin-bottom: .8rem;
  font-size: clamp(1.3rem, 8.5cqi, 2rem);
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.shop-models {
  margin-bottom: .75rem;
}

@media (max-width: 920px) {
  .shop-catalog .shop-filters:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
  }

  .shop-search {
    width: min(100%, 22rem);
  }
}

@media (max-width: 580px) {
  .shop-category-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .shop-search {
    width: 100%;
  }
}
