.catalog-hero{background:var(--dawn);padding:42px 0}
.catalog-hero h1{max-width:800px}
.catalog-hero p{max-width:780px;margin-top:12px}
.catalog-tools{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:24px 0}
.catalog-tools label,.catalog-enquiry label{display:block;font-weight:700}
.catalog-tools input,.catalog-tools select,.catalog-enquiry input,.catalog-enquiry select,.catalog-enquiry textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit}
.catalog-tools input:focus-visible,.catalog-tools select:focus-visible,.catalog-enquiry :focus-visible{outline:3px solid var(--leaf);outline-offset:3px}
.catalog-count{margin:12px 0 20px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.catalog-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 6px 24px rgba(35,43,107,.07);display:flex;flex-direction:column;background:#fff}
.catalog-photo{height:230px;width:100%;object-fit:contain;background:#fff;padding:18px}
.catalog-placeholder{display:grid;place-items:center;color:var(--navy);background:var(--cloud);height:230px}
.catalog-card-body{padding:22px;display:flex;flex:1;flex-direction:column;gap:12px}
.catalog-card h2{font-size:22px}
.catalog-card h2 a{color:var(--navy)}
.catalog-category{font-size:14px;color:var(--leaf);font-weight:700}
.catalog-price{font-size:24px;color:var(--navy);font-weight:700}
.catalog-note{color:#526078;font-size:15px}
.catalog-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:auto}
.catalog-actions .btn{padding:12px 18px}
.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.catalog-product-photo{max-height:520px;width:100%;object-fit:contain;padding:20px;border:1px solid var(--line);border-radius:18px}
.catalog-gallery{display:flex;gap:12px;overflow-x:auto;margin-top:16px}
.catalog-gallery img{height:110px;width:110px;object-fit:contain;border:1px solid var(--line);border-radius:10px}
.catalog-copy{white-space:pre-line;overflow-wrap:anywhere}
.catalog-specs{width:100%;border-collapse:collapse}
.catalog-specs th,.catalog-specs td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}
.catalog-specs th{width:35%;color:var(--navy)}
.catalog-pagination{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.catalog-pagination a,.catalog-pagination strong{padding:8px 14px;border:1px solid var(--line);border-radius:10px}
.catalog-pagination [aria-current]{background:var(--navy);color:white}
.catalog-inquiry-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px}
.catalog-empty{padding:36px;background:var(--cloud);border-radius:18px}
.catalog-quote-items{list-style:none;padding:0}
.catalog-quote-items li{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.catalog-quote-items a{flex:1;min-width:180px}
.catalog-quote-items input{width:85px}
.catalog-quote-items select{max-width:260px;min-height:44px;font:inherit}
.catalog-quote-items button{background:white;color:var(--navy);border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}
.catalog-enquiry{max-width:800px}
.catalog-enquiry .grid2{gap:20px}
.catalog-enquiry label{margin-bottom:14px}
.catalog-enquiry .btn{margin-top:16px}
.catalog-alert{padding:18px;border-left:4px solid var(--leaf);background:var(--cloud);border-radius:10px;margin:22px 0}
.catalog-error{color:#a51622}
.catalog-status{min-height:26px}
.catalog-related{margin-top:40px}
.catalog-skip{position:absolute;left:12px;top:-100px;padding:12px;background:#fff;z-index:1000}
.catalog-skip:focus{top:12px}
[hidden]{display:none!important}
@media(max-width:960px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-layout{grid-template-columns:1fr}
.catalog-tools{grid-template-columns:1fr 1fr}
.catalog-tools label:first-child{grid-column:1/-1}
}
@media(max-width:600px){.catalog-grid,.catalog-tools{grid-template-columns:1fr}
.catalog-photo{height:220px}
.catalog-hero{padding:30px 0}
.catalog-actions .btn{width:100%}
}

.catalog-specs{min-width:0;table-layout:fixed;overflow-wrap:anywhere}
.catalog-specs th{width:auto}
.catalog-specs th:first-child{width:35%}
.catalog-gallery a{flex:0 0 110px}
.catalog-layout>div{min-width:0}
.catalog-gallery{max-width:100%}
