/* A product-only catalog with compact controls. */
.catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-top:34px;padding-bottom:25px}
.catalog-heading h1{font-size:clamp(2.1rem,4vw,3.2rem);letter-spacing:-.035em}
.catalog-heading>p{margin:0;color:var(--muted);font-size:.8rem;white-space:nowrap}
.catalog-section{padding-bottom:64px}
.catalog-filter-panel{border-bottom:1px solid var(--line)}
.catalog-filter-panel>summary{display:flex;align-items:center;gap:1.1rem;width:max-content;min-height:44px;cursor:pointer;list-style:none;color:var(--paddy);font-size:.83rem;font-weight:500}
.catalog-filter-panel>summary::-webkit-details-marker{display:none}
.catalog-filter-panel>summary span{font-size:1.15rem}
.catalog-filter-panel[open]>summary span{transform:rotate(45deg)}
.catalog-filter-panel>summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.catalog-filter-panel[open] .catalog-filters{padding-top:16px}
.catalog-filter-panel .use-filters{border:0}
.catalog-filters{margin:0}
.filter-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 230px auto;gap:22px;align-items:end}
.field-label{display:block;font:500 .65rem var(--mono);color:var(--muted);margin-bottom:8px}
.search-input{display:flex;align-items:center;gap:12px;padding:0 15px;background:#fffaf0;border:1px solid var(--line-strong);border-radius:5px}
.search-input svg{width:19px;height:19px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.5}
.catalog-filters input[type=search],.catalog-filters select{height:48px;min-width:0;width:100%;font:400 .88rem var(--sans);color:var(--ink)}
.catalog-filters input[type=search]{background:transparent;border:0;padding:0}
.catalog-filters input::placeholder{color:var(--muted)}
.catalog-filters select{background:#fffaf0;border:1px solid var(--line-strong);border-radius:5px;padding:0 12px;color-scheme:light}
.search-input:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.search-input input:focus{outline:none}
.filter-reset{display:flex;gap:.8rem;align-items:center;justify-content:center;height:48px;padding:0;background:none;border:0;color:var(--paddy);font:500 .8rem var(--sans);cursor:pointer;white-space:nowrap}
.use-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}
.use-label{font:500 .62rem var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-right:12px}
.use-chip{min-height:38px;padding:.5rem 1rem;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font:400 .79rem var(--sans);cursor:pointer;transition:background .15s,color .15s}
.use-chip:hover{background:var(--paper-2)}
.use-chip[aria-pressed=true]{background:var(--paddy);border-color:var(--paddy);color:var(--paper)}
.catalog-results{display:flex;justify-content:space-between;gap:1rem;padding:14px 0;color:var(--muted);font-size:.72rem}
.catalog-results #result-count{color:var(--ink)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalog-card{display:flex;flex-direction:column;position:relative;background:#fffcf5;border:1px solid var(--line);border-top:3px solid var(--paddy);border-radius:3px;padding:25px 24px 0;transition:border-color .18s,box-shadow .18s}
.catalog-card:hover{border-color:rgba(114,31,36,.5);box-shadow:0 5px 18px rgba(41,26,27,.06)}
.catalog-card[hidden],.catalog-empty[hidden]{display:none}
.card-topline{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:28px}
.catalog-category{font:500 .61rem var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--paddy);background:#721f2409;border-radius:3px;padding:5px 8px}
.catalog-number{font:400 .7rem var(--mono);color:var(--muted-2)}
.catalog-card h2{font-size:clamp(1.75rem,2.5vw,2.15rem);line-height:1.15;letter-spacing:-.025em}
.card-description{font-size:.85rem;line-height:1.75;color:var(--muted);margin:15px 0 26px;flex:1}
.card-specs{display:grid;grid-template-columns:1fr auto;gap:16px;margin:0 0 24px}
.card-specs dt{font:400 .6rem var(--mono);color:var(--muted);margin-bottom:7px}
.card-specs dd{margin:0;font-size:.86rem}
.card-specs>div:last-child{text-align:right}
.card-specs>div:last-child dd{font:500 1.55rem var(--display);line-height:1}
.card-specs dd span{font:400 .72rem var(--sans)}
.product-open{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:61px;border:0;border-top:1px solid var(--line);padding:16px 0;background:transparent;color:var(--paddy);font:600 .8rem var(--sans);cursor:pointer;text-align:left}
.product-open>span{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--line-strong);border-radius:50%;font-size:1rem;transition:background .15s,color .15s}
.product-open:hover>span{background:var(--paddy);color:var(--paper);border-color:var(--paddy)}
.catalog-empty{padding:55px 24px;text-align:center;border:1px dashed var(--line-strong);border-radius:5px}
.catalog-empty h3{font-size:2rem}
.catalog-empty p:not(.eyebrow){color:var(--muted);font-size:.9rem}
.catalog-empty .btn{margin-top:12px}
#product-dialog{width:min(560px,calc(100% - 32px));max-height:90svh;padding:0;border:1px solid var(--line-strong);border-radius:10px;background:#fffcf5;color:var(--ink);overflow:auto}
#product-dialog::backdrop{background:rgba(25,15,16,.65)}
.dialog-close{position:absolute;top:15px;right:15px;display:grid;place-items:center;width:44px;height:44px;background:#fffcf5;border:1px solid var(--line);border-radius:50%;color:var(--paddy);cursor:pointer}
.dialog-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.dialog-header{padding:42px 36px 28px;background:var(--paper);border-bottom:1px solid var(--line)}
.dialog-header .eyebrow{font-size:.59rem;margin-right:30px}
#dialog-title{font-size:2.7rem;color:var(--paddy);letter-spacing:-.03em;max-width:90%}
#dialog-description{font-size:.94rem;color:var(--muted);line-height:1.8;margin-bottom:0}
.dialog-content{padding:28px 36px 32px}
.product-specs{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin:0 0 28px}
.product-specs dt{font:400 .63rem var(--mono);color:var(--muted);margin-bottom:7px}
.product-specs dd{font-size:.95rem;margin:0}
.dialog-enquiry{border-top:1px solid var(--line);padding-top:25px}
.dialog-enquiry .btn{width:100%;justify-content:center;font-size:.9rem;white-space:normal}
.email-hint{display:block;margin-top:12px;font-size:.68rem;text-align:center;color:var(--muted)}
@media(max-width:960px){
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-toolbar{grid-template-columns:minmax(0,1fr) 200px auto;gap:14px}
}
@media(max-width:620px){
  .catalog-heading{display:block;padding-top:26px;padding-bottom:22px}
  .catalog-heading>p{margin-top:10px}
  .filter-toolbar{grid-template-columns:1fr auto;gap:15px}.search-field{grid-column:1/-1}
  .use-filters{gap:8px;padding-block:18px}.use-label{width:100%;margin-bottom:3px}.use-chip{padding:.5rem .85rem}
  .catalog-grid{grid-template-columns:1fr;gap:16px}
  .catalog-card{padding:22px 22px 0}.catalog-card h2{font-size:2rem}.card-topline{margin-bottom:21px}.card-description{margin-bottom:24px}
  .catalog-section{padding-bottom:36px}
  .dialog-header{padding:36px 24px 23px}.dialog-header .eyebrow{max-width:calc(100% - 35px)}
  #dialog-title{font-size:2.15rem}.dialog-content{padding:24px}
}
@media(prefers-reduced-motion:reduce){.catalog-card,.use-chip,.product-open>span{transition:none}}
