.cnn-contact-bar .cnn-contact-details { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; }
.cnn-contact-bar a { display:inline-flex; align-items:center; gap:8px; padding:10px 0; min-height:44px; font-size:14px; }
.cnn-contact-bar .cnn-header-enquiry { font-weight:600; white-space:nowrap; }
.cnn-catalogue-site #primary.cnn-catalogue-content { float:none; width:100%; min-width:0; }
.cnn-catalogue-site.page-template-templateshome-php #content { display:none; }
.cnn-home-catalogue section { padding:48px 0; }
.cnn-home-catalogue .cnn-equipment-section { background:var(--cnn-soft,#f4f8f8); }
.cnn-section-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:28px; }
.cnn-section-heading h2, .cnn-catalogue-heading h1 { margin:0 0 12px; color:var(--cnn-ink,#173646); font:600 clamp(28px,4vw,40px)/1.2 'Barlow',Arial,sans-serif; }
.cnn-section-heading p { margin:0; }
.cnn-catalogue-site .cnn-eyebrow { color:var(--cnn-teal,#237f76); font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; margin:0 0 12px; }
.cnn-catalogue-site .cnn-section-heading a, .cnn-catalogue-site .cnn-card-actions > a:not(.button), .cnn-catalogue-site .cnn-back-link, .cnn-catalogue-filters > a { color:var(--cnn-teal,#237f76); font-weight:600; }
.cnn-category-grid, .cnn-equipment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cnn-category-card { display:flex; align-items:center; gap:16px; padding:18px; background:#fff; border:1px solid var(--cnn-line,#dce6e8); border-radius:8px; min-width:0; }
.cnn-catalogue-site .cnn-category-card { color:var(--cnn-ink,#173646); font-weight:600; }
.cnn-category-card img { width:72px; height:72px; object-fit:contain; }
.cnn-category-card > span:first-of-type { flex:1; overflow-wrap:anywhere; }
.cnn-equipment-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--cnn-line,#dce6e8); border-radius:8px; background:#fff; overflow:hidden; }
.cnn-equipment-image { display:block; background:#fff; aspect-ratio:4/3; }
.cnn-equipment-image img { display:block; width:100%; height:100%; object-fit:contain; padding:20px; }
.cnn-equipment-card-body { display:flex; flex:1; flex-direction:column; padding:20px; border-top:1px solid var(--cnn-line,#dce6e8); }
.cnn-catalogue-site .cnn-equipment-category { margin:0 0 8px; font-size:13px; color:#52616a; }
.cnn-equipment-card h3 { margin:0 0 24px; font:600 21px/1.35 'Barlow',Arial,sans-serif; overflow-wrap:anywhere; }
.cnn-equipment-card h3 a { color:var(--cnn-ink,#173646); }
.cnn-card-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; }
.cnn-card-actions a { font-size:15px; }
.cnn-catalogue-heading { max-width:760px; margin-bottom:28px; }
.cnn-catalogue-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; padding:24px; background:var(--cnn-soft,#f4f8f8); border:1px solid var(--cnn-line,#dce6e8); border-radius:8px; }
.cnn-catalogue-filters label { flex:1 1 220px; margin:0; font-weight:600; color:var(--cnn-ink,#173646); }
.cnn-catalogue-filters input, .cnn-catalogue-filters select { display:block; width:100%; margin-top:8px; min-height:46px; padding:10px 12px; background:#fff; border:1px solid #aabcc2; }
.cnn-catalogue-filters > a { padding:12px 0; }
.cnn-catalogue-count { margin:24px 0; color:#52616a; }
.cnn-catalogue-empty { padding:40px 0; }
.cnn-back-link { display:inline-block; margin-bottom:28px; min-height:44px; }
.cnn-equipment-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; }
.cnn-equipment-gallery, .cnn-equipment-description { min-width:0; }
.cnn-equipment-gallery > a { display:block; border:1px solid var(--cnn-line,#dce6e8); border-radius:8px; padding:24px; }
.cnn-equipment-gallery > a > img { width:100%; max-height:560px; height:auto; object-fit:contain; }
.cnn-gallery-thumbnails { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:16px; }
.cnn-gallery-thumbnails img { width:100%; aspect-ratio:1; object-fit:contain; border:1px solid var(--cnn-line,#dce6e8); }
.cnn-equipment-description h1 { font:600 clamp(28px,3vw,40px)/1.2 'Barlow',Arial,sans-serif; color:var(--cnn-ink,#173646); overflow-wrap:anywhere; }
.cnn-equipment-tags { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.cnn-catalogue-site .cnn-equipment-tags a { background:var(--cnn-soft,#f4f8f8); border:1px solid var(--cnn-line,#dce6e8); color:var(--cnn-teal,#237f76); padding:6px 10px; border-radius:4px; font-size:14px; }
.cnn-equipment-summary { margin:24px 0; }
.cnn-equipment-video iframe { width:100%; aspect-ratio:16/9; height:auto; }
.cnn-enquiry-panel { padding:24px; margin-top:28px; background:var(--cnn-soft,#f4f8f8); border:1px solid var(--cnn-line,#dce6e8); border-radius:8px; }
.cnn-enquiry-panel h2 { font:600 23px/1.3 'Barlow',Arial,sans-serif; }
.cnn-enquiry-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.cnn-catalogue-site .cnn-enquiry-actions > a:not(.button) { color:var(--cnn-teal,#237f76); }
.cnn-image-placeholder { display:flex; align-items:center; justify-content:center; height:100%; min-height:220px; padding:24px; background:var(--cnn-soft,#f4f8f8); color:#52616a; text-align:center; }
@media(max-width:991px) {
    .cnn-equipment-grid, .cnn-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cnn-equipment-detail { gap:28px; }
}
@media(max-width:767px) {
    .cnn-contact-bar .cnn-contact-details { justify-content:center; gap:0 16px; }
    .cnn-contact-bar a { font-size:13px; overflow-wrap:anywhere; }
    .cnn-equipment-detail { grid-template-columns:1fr; }
    .cnn-home-catalogue section { padding:32px 0; }
    .cnn-catalogue-filters { padding:16px; }
    .cnn-catalogue-filters label { flex-basis:100%; }
    .cnn-catalogue-filters .button { width:100%; }
    .cnn-equipment-gallery > a > img { max-height:420px; }
}
@media(max-width:479px) {
    .cnn-equipment-grid, .cnn-category-grid { grid-template-columns:1fr; }
    .cnn-enquiry-panel { padding:18px; }
    .cnn-enquiry-actions .button { width:100%; text-align:center; }
}
