:root{--teal:#168f85;--ink:#292d2b;--muted:#777}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.cat-header{height:88px;padding:13px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee;gap:24px}.cat-brand img{height:60px;max-width:200px;object-fit:contain}.cat-header nav{display:flex;gap:25px;font-size:13px}.cat-header nav a:hover,.back-link:hover{color:var(--teal)}.cat-intro{padding:45px 4% 40px}.back-link{font-size:13px;color:var(--muted)}.eyebrow{color:var(--teal);font-size:10px;letter-spacing:2.5px;font-weight:700;margin:30px 0 10px}.cat-intro h1{font-size:clamp(42px,6vw,78px);font-weight:400;letter-spacing:-3px;margin:0 0 12px}.cat-intro>p:last-child{max-width:760px;line-height:1.8;color:#696969}.cat-layout{padding:0 4% 100px;display:grid;grid-template-columns:32% 1fr;gap:28px;align-items:start}.cat-feature{position:sticky;top:20px}.cat-feature img{width:100%;height:680px;object-fit:cover;border-radius:12px}.cat-feature-note{font-size:10px;letter-spacing:2px;margin-top:14px;color:var(--muted)}.cat-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #ddd;padding:10px 0 22px;margin-bottom:22px;font-size:13px;color:#777}.cat-tools label{display:flex;gap:12px;align-items:center}.cat-tools select{padding:10px;border:1px solid #ddd;background:#fff;max-width:190px}.cat-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.cat-product{min-width:0}.cat-product img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:#eee}.product-meta{display:block;margin-top:10px;color:#777;font-size:12px}.cat-product h3{font-size:16px;font-weight:600;line-height:1.5;margin:4px 0}.cat-product p{font-size:12px;color:#777;line-height:1.6;margin:0}.cat-disclaimer{margin:32px 0;color:#777;font-size:12px;line-height:1.8}.cat-cta{display:inline-block;padding:16px 25px;background:var(--teal);color:white;font-size:13px;font-weight:700}footer{border-top:1px solid #eee;padding:30px 4%;font-size:11px;color:#777;display:flex;justify-content:space-between}.page-loader{position:fixed;inset:0;z-index:9999;background:#fff;display:grid;place-items:center;transition:opacity .5s,visibility .5s}.page-loader.is-finished{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{width:min(400px,80vw);text-align:center}.loader-brand{display:block;font-size:12px;letter-spacing:3px;color:var(--teal);font-weight:700;margin-bottom:30px}.loader-percent{font-size:clamp(70px,13vw,160px);font-weight:300;line-height:1;color:#e5e5e5;letter-spacing:-7px}.loader-percent span:last-child{font-size:.55em}.loader-track{height:2px;background:#eee;overflow:hidden;margin:12px auto 24px}.loader-track span{display:block;height:100%;background:var(--teal);width:1%;transition:width .12s linear}.loader-caption{font-size:10px;letter-spacing:2px;color:#999}@media(max-width:1000px){.cat-layout{grid-template-columns:38% 1fr}.cat-products{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-feature img{height:550px}}@media(max-width:650px){.cat-header{height:72px}.cat-brand img{height:45px;max-width:140px}.cat-header nav{gap:12px;font-size:11px}.cat-header nav a:nth-child(2){display:none}.cat-intro{padding:30px 5%}.cat-layout{padding:0 5% 70px;display:block}.cat-feature{position:static;margin-bottom:20px}.cat-feature img{height:330px}.cat-products{gap:18px 12px}.cat-tools{flex-wrap:wrap}.cat-intro h1{letter-spacing:-1.5px}.cat-product h3{font-size:13px}}@media(prefers-reduced-motion:reduce){.page-loader{transition:none}.cat-product img{transition:none}}
/* Completed installation galleries embedded in each of the four categories */
.cat-installations{margin-bottom:52px}.cat-installations-head{margin:4px 0 24px}.cat-installations-head>span{font-size:10px;letter-spacing:2.2px;color:var(--teal);font-weight:700}.cat-installations-head h2,.cat-fabric-title{font-size:clamp(26px,3vw,40px);font-weight:400;letter-spacing:-1.2px;margin:10px 0 12px}.cat-installations-head p{font-size:13px;line-height:1.7;color:#777;max-width:620px}.cat-installations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.cat-installation-card{min-width:0}.cat-installation-card img{width:100%;aspect-ratio:4/4.2;object-fit:cover;border-radius:9px;background:#eee}.cat-installation-card h3{font-size:16px;font-weight:500;margin:12px 0 0}.cat-fabric-title{padding-top:30px;border-top:1px solid #ddd;margin-top:24px}.cat-tools[hidden],#colour-wrap[hidden]{display:none!important}@media(max-width:650px){.cat-installations-grid{gap:16px 12px}.cat-installation-card h3{font-size:13px}.cat-installations{margin-bottom:32px}}

/* Persistent WhatsApp contact and back-to-top, inspired by the approved reference */
.floating-contact{position:fixed;right:16px;bottom:16px;z-index:1100;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.floating-contact a{pointer-events:auto;text-decoration:none}.floating-back-top{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#b9b9b9;color:#172024;box-shadow:0 3px 14px #0002;transition:background .2s,transform .2s}.floating-back-top:hover{background:#d0d0d0;transform:translateY(-2px)}.floating-back-top svg{width:22px;height:22px}.floating-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#19d366;color:#fff;border-radius:999px;padding:11px 20px;min-height:50px;font:500 17px/1.2 "DM Sans",Arial,sans-serif;box-shadow:0 5px 22px #0002;transition:background .2s,transform .2s;white-space:nowrap}.floating-whatsapp:hover{background:#10b958;transform:translateY(-2px)}.floating-whatsapp svg{width:25px;height:25px;flex:none}.floating-contact a:focus-visible{outline:3px solid #075f53;outline-offset:4px}@media(max-width:540px){.floating-contact{right:12px;bottom:12px;gap:9px}.floating-back-top{width:46px;height:46px}.floating-whatsapp{min-height:46px;padding:10px 14px;font-size:14px}.floating-whatsapp svg{width:22px;height:22px}}@media(prefers-reduced-motion:reduce){.floating-contact a{transition:none}}

/* V2 product gallery enhancements: progressive enhancement for existing installations */
.cat-photo-open{display:inline-flex;margin:12px 0 4px;padding:10px 14px;border:1px solid currentColor;border-radius:2px;background:transparent;color:inherit;font:600 12px 'DM Sans',sans-serif;cursor:pointer}
.cat-photo-open:hover,.cat-photo-open:focus-visible{background:#136b65;color:#fff}
.ni-gallery-modal{border:0;padding:58px 18px 22px;background:#171b19;color:#fff;max-width:min(96vw,1250px);max-height:96vh;box-shadow:0 20px 90px #0009}
.ni-gallery-modal::backdrop{background:#000d}
.ni-gallery-modal img{display:block;max-width:100%;max-height:calc(96vh - 105px);width:auto;height:auto;margin:auto;object-fit:contain}
.ni-gallery-close{position:absolute;top:10px;right:12px;background:#fff;color:#152321;border:0;padding:10px 16px;font:600 12px 'DM Sans',sans-serif;cursor:pointer}
@media(prefers-reduced-motion:reduce){.cat-photo-open,.ni-gallery-modal{transition:none!important}}

.cat-layout.cat-layout-wide{display:block;max-width:1200px;margin:auto}.cat-layout-wide .cat-content{width:100%}.cat-layout-wide .cat-installations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.cat-layout-wide .cat-installations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the original Ni-Shin mark in its native proportions. */
.cat-header .cat-brand img{display:block;width:clamp(160px,18vw,225px);height:auto;max-height:none;max-width:100%;object-fit:contain;transform:none;filter:none}
@media(max-width:650px){.cat-header .cat-brand img{width:160px;height:auto;max-height:none}}

/* Curated Blinds gallery, with keyboard-friendly type filters */
.ni-blind-filter{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 28px}
.ni-blind-filter button{padding:10px 16px;background:#fff;border:1px solid #bac9c5;color:#23504c;font:600 12px 'DM Sans',sans-serif;border-radius:24px;cursor:pointer}
.ni-blind-filter button[aria-pressed="true"]{color:#fff;background:#168f85;border-color:#168f85}
.ni-blind-filter button:focus-visible{outline:3px solid #2eaa9d;outline-offset:2px}
.cat-installation-card[hidden]{display:none!important}

.ni-gallery-empty{padding:24px 28px;background:#f6f8f6;border:1px solid #e4ebe7;border-radius:12px;color:#425750;line-height:1.6;margin:14px 0 24px}
.ni-gallery-empty[hidden]{display:none}

/* Authentic product close-ups: avoid stretching 150px source images over large banners. */
.is-accessories-gallery .cat-layout-wide .cat-installations-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.is-accessories-gallery .cat-installation-card img{aspect-ratio:3/4;object-fit:cover}
@media(max-width:850px){.is-accessories-gallery .cat-layout-wide .cat-installations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.is-accessories-gallery .cat-layout-wide .cat-installations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.is-accessories-gallery .cat-installation-card h3{font-size:12px}}


/* Photo count visible on each category, including smaller screens. */
.ni-gallery-count{font-size:12px;font-weight:600;color:#168f85;letter-spacing:.08em;margin:10px 0 18px}

/* On narrow screens, reserve space for the fixed WhatsApp control so the footer and last enquiry link can scroll clear of it. */
@media(max-width:540px){body{padding-bottom:88px}}


/* WCAG AA: high-contrast category captions, tags and controls. */
:root{--teal:#0b6a61;--muted:#595959}
.back-link,.cat-feature-note,.cat-disclaimer,
.cat-installations-head>p,footer,footer a,.product-meta,.cat-product p{color:#595959}
.cat-installations-head>span,.ni-gallery-count{color:var(--teal)}
.ni-blind-filter button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal)}
.floating-whatsapp{background:#147d42;color:#fff}
.floating-whatsapp:hover{background:#0b6637}

/* Gallery network-failure recovery */
.ni-gallery-error{color:#8c2424;font-size:0.95rem;margin:12px 0 8px}
.ni-gallery-retry{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #0b6a61;color:#0b6a61;background:white;padding:10px 18px;font:inherit;font-weight:600;margin:4px 0 16px}
.ni-gallery-retry:hover,.ni-gallery-retry:focus-visible{background:#e6f5f1}
.ni-gallery-retry[hidden],.ni-gallery-error[hidden]{display:none}

@media(max-width:540px){.floating-whatsapp{width:52px;height:52px;min-height:52px;padding:0;border-radius:50%;font-size:0;gap:0}.floating-whatsapp span{display:none}.floating-whatsapp svg{width:26px;height:26px}}
