.page-template-template-products { background:var(--paper); }
body.page-template-template-products main.feronex-products-page { max-width:none; padding:0; margin:0; }
.product-catalogue { padding-top:85px; padding-bottom:100px; }
.catalogue-intro { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:end; margin-bottom:48px; }
.catalogue-intro h2 { font-size:clamp(36px,3.6vw,62px); line-height:1.1; margin:0; }
.catalogue-intro>div:last-child { max-width:530px; justify-self:end; }
.catalogue-intro p:not(.eyebrow) { font-size:17px; color:var(--muted); line-height:1.65; margin-bottom:24px; }
.catalogue-search { max-width:640px; margin-bottom:28px; }
.catalogue-search label { display:block; font-size:12px; font-weight:600; margin-bottom:10px; }
.catalogue-search>div { display:flex; border:1px solid #cbd2d2; background:#fff; }
.catalogue-search input { width:100%; min-width:0; padding:17px 20px; font:inherit; border:0; background:transparent; }
.catalogue-search button { display:flex; gap:24px; align-items:center; border:0; padding:16px 22px; background:var(--ink); color:#fff; font:inherit; font-size:12px; cursor:pointer; }
.catalogue-search button:hover { background:var(--yellow); }
.catalogue-filters { display:flex; flex-wrap:wrap; gap:10px; border-bottom:1px solid var(--line); padding-bottom:28px; }
.catalogue-filters a { border:1px solid #cbd2d2; padding:13px 18px; font-size:13px; background:transparent; }
.catalogue-filters a[aria-current],.catalogue-filters a:hover { background:var(--yellow); border-color:var(--yellow); color:#fff; }
.catalogue-results { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:28px 0; font-size:14px; }
.catalogue-results p { margin:0; font-weight:600; }.catalogue-results p span { color:var(--muted); font-weight:400; }
.catalogue-results a { text-decoration:underline; }
.catalogue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.catalogue-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); }
.catalogue-card-image { position:relative; aspect-ratio:1.5; background:#222a2c; overflow:hidden; }
.catalogue-card-image img { width:100%; height:100%; display:block; object-fit:cover; }
.sample-label { position:absolute; left:16px; top:16px; font-size:10px; text-transform:uppercase; letter-spacing:.06em; background:#fff; padding:7px 10px; }
.catalogue-card-copy { padding:28px; display:flex; flex-direction:column; flex:1; }
.catalogue-card-copy .eyebrow { font-size:9px; margin-bottom:14px; }
.catalogue-card-copy h3 { font-size:25px; line-height:1.2; margin:0 0 18px; text-transform:uppercase; }
.catalogue-card-copy>p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.6; margin:0 0 25px; }
.catalogue-card-copy .text-link { font-size:11px; margin-top:auto; border-top:1px solid var(--line); padding-top:18px; }
.catalogue-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:45px; }
.catalogue-pagination .page-numbers { padding:12px 16px; background:#fff; border:1px solid var(--line); font-size:13px; }
.catalogue-pagination .current { background:var(--ink); color:#fff; }
.catalogue-empty { padding:65px 25px; text-align:center; background:#fff; border:1px solid var(--line); }
.catalogue-empty h3 { font-size:30px; margin:0 0 15px; }
.catalogue-page-content { border-top:1px solid var(--line); margin-top:50px; padding-top:28px; font-size:15px; line-height:1.7; color:var(--muted); }
@media(max-width:1000px) { .catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalogue-intro { gap:35px; } }
@media(max-width:767px) { .product-catalogue { padding-top:60px; padding-bottom:65px; } .catalogue-intro { grid-template-columns:1fr; gap:25px; } .catalogue-intro>div:last-child { justify-self:start; } .catalogue-grid { grid-template-columns:1fr; } .catalogue-filters a { flex:1 1 auto; text-align:center; padding:12px; } .catalogue-search input { font-size:16px; padding:14px; } .catalogue-search button { gap:12px; padding:14px; } .catalogue-results { align-items:start; } }
