/* Taxonomy v3 public browse/results presentation. */
.catalog-page{
  color:var(--site-ink,#29242a);
  width:min(1160px,calc(100% - 64px));
  padding:0 0 36px;
  margin:18px auto;
  font-family:Inter,Arial,sans-serif;
}

.catalog-page h1{
  font:400 clamp(42px,5vw,64px)/1.05 'Instrument Serif',Georgia,serif;
  letter-spacing:-.025em;
}

.catalog-page h2{
  color:var(--site-ink,#29242a);
}

.catalog-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  padding:8px 0 22px;
  border-bottom:1px solid var(--site-line,#ded9d6);
}

.catalog-hero-copy{
  max-width:760px;
}

.catalog-hero h1{
  margin:2px 0 10px;
}

.catalog-kicker{
  margin:0 0 6px;
  color:var(--site-accent,#65384f);
  font-size:11px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.catalog-lede{
  max-width:680px;
  margin:0;
  color:var(--site-muted,#625b60);
  font-size:17px;
  line-height:1.65;
}

.catalog-breadcrumbs{
  color:var(--site-muted,#625b60);
  font-size:12px;
  line-height:1.5;
}

.catalog-breadcrumbs ol{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0;
  margin:0;
  list-style:none;
}

.catalog-breadcrumbs li{
  display:flex;
  align-items:center;
}

.catalog-breadcrumbs li:not(:last-child)::after{
  content:"/";
  margin-left:6px;
  color:#a1989e;
}

.catalog-section{
  padding:24px 0 0;
}

.catalog-section-heading,
.catalog-quick-refine-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:12px;
}

.catalog-section-heading h2,
.catalog-quick-refine-heading h2{
  margin:2px 0 0;
  font:400 30px/1.2 'Instrument Serif',Georgia,serif;
}

.catalog-section-heading>p,
.catalog-quick-refine-heading>p{
  max-width:480px;
  margin:0;
  color:var(--site-muted,#625b60);
  font-size:14px;
}

.catalog-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.catalog-category-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "label arrow"
    "meta arrow";
  align-items:center;
  gap:6px 20px;
  min-height:120px;
  padding:22px;
  border:1px solid var(--site-line,#ded9d6);
  border-radius:12px;
  background:#fff;
  color:var(--site-ink,#29242a);
  text-decoration:none;
  box-sizing:border-box;
}

.catalog-category-card:hover{
  border-color:#b8a7b0;
  box-shadow:0 10px 24px #2521260d;
}

.catalog-category-card-label{
  grid-area:label;
  font-size:16px;
  font-weight:600;
  line-height:1.35;
}

.catalog-category-card-meta{
  grid-area:meta;
  color:var(--site-muted,#625b60);
  font-size:12px;
  line-height:1.45;
}

.catalog-category-card-arrow{
  grid-area:arrow;
  color:var(--site-accent,#65384f);
  font-size:20px;
}

.catalog-quick-refine{
  margin:14px 0 4px;
  padding:16px 20px;
  border:1px solid var(--site-line,#ded9d6);
  border-radius:14px;
  background:#f4f1ee;
}

.catalog-quick-refine-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(180px,240px) auto;
  align-items:end;
  gap:12px;
  margin:0;
}

.catalog-field{
  display:grid;
  gap:7px;
  min-width:0;
  font-size:13px;
  font-weight:600;
}

.catalog-field input,
.catalog-field select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:48px;
  padding:11px 12px;
  border:1px solid #96818e;
  border-radius:8px;
  background:#fff;
  color:var(--site-ink,#29242a);
  font:400 14px/1.4 Inter,Arial,sans-serif;
}

.catalog-quick-refine-form button{
  min-height:48px;
  padding:11px 20px;
  border-radius:8px;
  white-space:nowrap;
}

.catalog-quick-refine>.catalog-note{
  margin:8px 0 0;
}

.catalog-subnav{
  padding-bottom:20px;
  border-bottom:1px solid var(--site-line,#ded9d6);
}

.catalog-card h2{
  font:600 16px/1.45 Inter,Arial,sans-serif;
  margin:6px 0;
  overflow-wrap:anywhere;
}

.catalog-page button{
  background:var(--site-accent,#65384f);
}

.catalog-card,
.catalog-subnav a,
.catalog-pagination a{
  border-color:var(--site-line,#ded9d6);
}

.catalog-card img,
.catalog-image-placeholder{
  background:#faf8f6;
}

.catalog-filter label,
.catalog-filter input,
.catalog-filter select{
  min-width:0;
  box-sizing:border-box;
}

.catalog-filter input,
.catalog-filter select{
  border-color:#96818e;
}

.catalog-path,
.catalog-note{
  color:var(--site-muted,#625b60);
}

.catalog-page :focus-visible{
  outline-color:var(--site-accent,#65384f);
}

.catalog-empty-state{
  grid-column:1/-1;
  padding:28px;
  border:1px solid var(--site-line,#ded9d6);
  border-radius:12px;
  background:#fff;
}

.catalog-empty-state h2{
  margin:0 0 8px;
  font:400 26px/1.2 'Instrument Serif',Georgia,serif;
}

.catalog-empty-state p{
  margin:0;
  color:var(--site-muted,#625b60);
}

.catalog-page-note{
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid var(--site-line,#ded9d6);
}

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

  .catalog-quick-refine-form{
    grid-template-columns:minmax(0,1fr) minmax(170px,220px);
  }

  .catalog-quick-refine-form button{
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  .catalog-page{
    width:calc(100% - 32px);
    margin-top:20px;
  }

  .catalog-hero{
    padding-top:8px;
    padding-bottom:28px;
  }

  .catalog-lede{
    font-size:16px;
  }

  .catalog-section-heading,
  .catalog-quick-refine-heading{
    display:block;
  }

  .catalog-section-heading>p,
  .catalog-quick-refine-heading>p{
    margin-top:10px;
  }

  .catalog-category-grid{
    grid-template-columns:1fr;
  }

  .catalog-category-card{
    min-height:104px;
    padding:18px;
  }

  .catalog-quick-refine{
    padding:18px;
  }

  .catalog-quick-refine-form{
    grid-template-columns:1fr;
  }

  .catalog-quick-refine-form button{
    grid-column:auto;
    width:100%;
  }
}

/* Category/results shell v1: products follow the compact current category. */
.catalog-current-category{padding:0;margin:0 0 12px;border:0}
.catalog-current-category h1{margin:0;font:600 20px/1.4 Inter,Arial,sans-serif;letter-spacing:0;color:var(--site-ink)}
.catalog-results-page .catalog-quick-refine{margin:0 0 14px;padding:10px 12px;border-radius:8px}
.catalog-results-page .catalog-quick-refine-form{grid-template-columns:minmax(180px,1fr) minmax(150px,220px) auto;gap:10px}
.catalog-results-page .catalog-field{gap:4px;font-size:12px}
.catalog-landing-page .catalog-section{padding-top:0}
@media(max-width:700px){.catalog-results-page .catalog-quick-refine-form{grid-template-columns:1fr 1fr}.catalog-results-page .catalog-field-search{grid-column:1/-1}.catalog-results-page .catalog-quick-refine-form button{grid-column:auto}}
