/* shared product catalogue (filter, compare, enquiry list, detail panel) */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rng{padding:110px 0 130px}
.fb{position:sticky;top:76px;z-index:20;margin-top:52px;background:var(--navbg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fbi{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.tabs{display:flex;gap:5px;flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.tab{font:inherit;font-size:14.5px;font-weight:400;padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--tx);cursor:pointer;flex:none;display:inline-flex;gap:7px;align-items:baseline;white-space:nowrap;transition:border-color .25s,background .25s,color .25s}
.tab i{font-style:normal;font-size:12px;color:var(--mu)}
.tab:hover{border-color:var(--accent)}
.tab[aria-pressed="true"]{background:var(--mint);border-color:var(--mint);color:#06130f}
.tab[aria-pressed="true"] i{color:#06130f;opacity:.7}
.sb{position:relative;display:block;flex:1 1 240px;min-width:220px;max-width:480px}
.sb svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--mu);fill:none;stroke-width:1.5;stroke-linecap:round;pointer-events:none}
.sb input{width:100%;padding:11px 42px 11px 43px;border:1px solid var(--line);border-radius:999px;background:transparent;font:300 15px Inter,sans-serif;color:var(--tx);-webkit-appearance:none;appearance:none}
.sb input::-webkit-search-cancel-button,.sb input::-webkit-search-decoration{-webkit-appearance:none;display:none}
.sb input::placeholder{color:var(--mu);opacity:.85}
.sb input:focus{border-color:var(--mint);outline:0}
.qc{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:50%;background:var(--hov);color:var(--tx);cursor:pointer;font-size:18px;line-height:1;padding:0}
.qc[hidden]{display:none}
.cnt{margin:28px 0 22px;font-size:13.5px;color:var(--mu)}
.pg{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pc[hidden]{display:none}
.pc{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg);transition:border-color .35s,transform .45s var(--ease),box-shadow .45s}
.pc:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.pcb{display:flex;flex-direction:column;width:100%;flex:1;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.pi{display:block;aspect-ratio:4/3;background:#eef1f3;overflow:hidden}
.pi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.pc:hover .pi img{transform:scale(1.05)}
.px{display:flex;flex-direction:column;gap:6px;padding:18px;flex:1}
.px small{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500}
.px b{font-weight:400;font-size:18px;line-height:1.3;letter-spacing:-.01em}
.pd{color:var(--mu);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.cc span{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--mu);line-height:1.5}
.mre{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--accent);font-weight:500}
.mre i{font-style:normal;font-size:20px;line-height:1;transition:transform .45s var(--ease)}
.pc:hover .mre i{transform:rotate(90deg)}
.none{text-align:center;padding:72px 24px;border:1px dashed var(--line);border-radius:10px;margin-top:8px}
.none h3{font-weight:300;font-size:26px;margin-bottom:10px}.none p{color:var(--mu);max-width:52ch;margin:0 auto 28px}
.lk{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}
@media(max-width:1100px){.pg{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.fbi{flex-direction:column;align-items:stretch;gap:10px}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.sb{flex:none;min-width:0;max-width:none}.fb.stuck .sb{display:none}.fb.stuck .fbi{padding-top:10px;padding-bottom:10px}}
@media(max-width:700px){.pg{grid-template-columns:repeat(2,1fr);gap:12px}.px{padding:13px 13px 14px}.px b{font-size:15.5px}.pd,.cc{display:none}.rng{padding:84px 0 100px}.mre{padding-top:8px;font-size:13px}}
@media(max-width:340px){.pg{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pc,.pi img,.mre i,.ti{transition:none}.pc:hover{transform:none}}
/* detail panel */
html.lock{overflow:hidden}
.dpo{position:fixed;inset:0;z-index:60;background:rgba(3,7,6,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s linear .4s}
.dpo.on{opacity:1;visibility:visible;transition-delay:0s}
.dp{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(640px,100%);display:flex;flex-direction:column;background:var(--bg);color:var(--tx);border-left:1px solid var(--line);box-shadow:-30px 0 80px rgba(0,0,0,.35);transform:translateX(104%);visibility:hidden;transition:transform .55s var(--ease),visibility 0s linear .55s}
.dp.on{transform:none;visibility:visible;transition-delay:0s}
.dph{flex:none;display:flex;align-items:center;justify-content:space-between;padding:14px 18px 14px 22px;border-bottom:1px solid var(--line)}
.nav2{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mu);letter-spacing:.04em}
.nav2 span{min-width:68px;text-align:center}
.nav2 button,.cl{width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--line);background:none;color:var(--tx);cursor:pointer;display:grid;place-items:center;transition:border-color .25s,background .25s}
.nav2 button:hover,.cl:hover{border-color:var(--accent);background:var(--hov)}
.nav2 svg,.cl svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dpb{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:22px 26px 34px}
.dg figure{margin:0;aspect-ratio:4/3;background:#eef1f3;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.dg figure img{width:100%;height:100%;display:block;object-fit:cover}
.thm{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.thm button{width:78px;aspect-ratio:4/3;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#eef1f3;cursor:pointer;opacity:.65;transition:opacity .25s,border-color .25s}
.thm button img{width:100%;height:100%;object-fit:cover;display:block}
.thm button:hover{opacity:1}.thm button[aria-current="true"]{opacity:1;border-color:var(--accent)}
.dfam{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:500;margin:28px 0 6px}
.dpb h3{font-weight:300;font-size:clamp(28px,3.6vw,38px);line-height:1.12;letter-spacing:-.02em;margin:0 0 14px}
.dp .dd2{color:var(--mu);font-size:15.5px;line-height:1.7}
.dpb h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);font-weight:500;margin:36px 0 12px}
.ds{margin:0;display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line)}
.ds dt,.ds dd{margin:0;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.5}
.ds dt{color:var(--mu)}.ds dd{padding-left:12px}
.dv{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.dv li{display:grid;grid-template-columns:118px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.5}
.dv b{font-weight:500;color:var(--accent)}
.df{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.df li{position:relative;padding-left:18px;color:var(--mu);font-size:14.5px;line-height:1.55}
.df li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.dpb .chips{margin:0}
.rl{display:flex;flex-wrap:wrap;gap:8px}
.rl button{font:inherit;font-size:14px;padding:7px 16px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--tx);cursor:pointer;transition:border-color .25s,color .25s}
.rl button:hover{border-color:var(--accent);color:var(--accent)}
.dnote{margin-top:34px;font-size:12.5px;color:var(--mu);line-height:1.55}
.dpf{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 22px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--bg)}
.dpf .btn{padding:13px 24px;font-size:14px}
.dpf .tel{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mu);transition:color .25s}
.dpf .tel:hover{color:var(--accent)}
.dpf .tel svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.dp{border-left:0}.dpb{padding:18px 18px 28px}.ds{grid-template-columns:1fr}.ds dt{border-bottom:0;padding-bottom:0;font-size:12.5px;padding-top:12px}.ds dd{padding:2px 0 11px}.dv li{grid-template-columns:1fr;gap:2px}.dpf .btn{flex:1 1 40%;text-align:center;padding:13px 12px;white-space:nowrap}.dpf .btn.p{flex-basis:100%}.dpf .tel{display:none}.thm button{width:64px}}
@media(prefers-reduced-motion:reduce){.dp,.dpo{transition:none}}
.also{margin:44px 0 0;padding-top:26px;border-top:1px solid var(--line);color:var(--mu);font-size:15px;max-width:70ch}
.pca{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--line)}
.cmpb{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--mu);cursor:pointer;line-height:1}
.cmpb input{width:16px;height:16px;accent-color:var(--accent);margin:0;cursor:pointer}
.cmpb input:disabled{opacity:.4;cursor:not-allowed}
.enb{font:inherit;font-size:13px;border:1px solid var(--line);background:none;color:var(--tx);border-radius:999px;padding:6px 13px;cursor:pointer;transition:border-color .25s,background .25s,color .25s;white-space:nowrap}
.enb:hover{border-color:var(--accent)}
.enb[aria-pressed="true"],.enb2[aria-pressed="true"]{background:var(--hov);border-color:var(--accent);color:var(--accent)}
.dpf .enb2{padding:13px 22px}
.tray{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--navbg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 30px rgba(0,0,0,.18)}
.tray[hidden]{display:none}
.tri{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap}
#trh{font-size:13.5px;color:var(--mu);flex:none}
#trc{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.tchip{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 6px 5px 14px;font-size:13.5px}
.tchip button,.hbk button{font:inherit}
.tchip button{border:0;background:var(--hov);color:var(--tx);width:22px;height:22px;border-radius:50%;cursor:pointer;line-height:1;font-size:15px;padding:0}
.tray .btn{padding:11px 24px;font-size:14px}
.tray .btn:disabled{opacity:.45;cursor:not-allowed}
.tray .lk{font-size:13.5px;color:var(--mu)}
.tray-on .fab{display:none}
.tray-on body{padding-bottom:70px}
.cmo{position:fixed;inset:0;z-index:70;background:rgba(3,7,6,.7);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
.cmo.on{opacity:1;visibility:visible;transition-delay:0s}
.cm{position:fixed;z-index:71;left:50%;top:50%;width:min(1000px,calc(100% - 28px));max-height:calc(100svh - 40px);transform:translate(-50%,-48%);opacity:0;visibility:hidden;background:var(--bg);color:var(--tx);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.45);transition:opacity .3s,transform .4s var(--ease),visibility 0s linear .4s}
.cm.on{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition-delay:0s}
.cmh{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}
.cmh h3{margin:0;font-weight:400;font-size:22px}
.cmh button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--tx);font-size:20px;cursor:pointer;line-height:1}
.cmh button:hover{border-color:var(--accent)}
.cmb{overflow:auto;padding:8px 24px 24px}
.cmw{overflow-x:auto}
.cmt{border-collapse:collapse;width:100%;min-width:620px;font-size:14.5px}
.cmt th,.cmt td{text-align:left;vertical-align:top;padding:14px 14px;border-bottom:1px solid var(--line)}
.cmt tbody th{font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);width:132px;position:sticky;left:0;background:var(--bg)}
.cmt thead th{font-weight:400;min-width:210px}
.cmt thead img{width:100%;max-width:200px;aspect-ratio:4/3;object-fit:contain;border-radius:8px;background:var(--bg2);display:block;margin-bottom:10px}
.cmt thead b{display:block;font-weight:400;font-size:16.5px;line-height:1.3}
.cmt thead small{display:block;color:var(--mu);font-size:13px;margin:2px 0 6px}
.cmt td{color:var(--mu)}
.cmt .na{opacity:.6}
button.cvn{display:flex;align-items:center;gap:6px;max-width:100%;background:none;border:0;padding:0;margin:0;font:inherit;color:var(--tx);text-align:left;cursor:pointer}
.cvn b{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;transition:text-decoration-color .25s,color .25s}
.cvn svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.cvn:hover b{color:var(--accent);text-decoration-color:var(--accent)}.cvn:hover svg{transform:translateX(3px)}
.cmact{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;padding:20px 14px 4px}
.cmact p{margin:0;color:var(--mu);font-size:13.5px}
.cmt .btn{padding:10px 18px;font-size:13.5px}
.enq{border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:16px 18px}
.enq b{font-weight:500;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#9bb3ae}
.enq ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.enq li{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:15px;color:#eaf2f0}
.enq li button{border:0;background:rgba(255,255,255,.1);color:#eaf2f0;width:24px;height:24px;border-radius:50%;cursor:pointer;line-height:1;font-size:16px;padding:0}
.enq .lk{margin-top:12px;font-size:13.5px;color:#9bb3ae}
@media(max-width:700px){.ho{grid-template-columns:1fr}.pca{flex-wrap:wrap}.cm{max-height:calc(100svh - 20px)}.cmh,.cmb{padding-left:16px;padding-right:16px}.tri{gap:8px 12px}#trc{order:3;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.cm,.cmo{transition:none}}
.cmpb{text-transform:none;letter-spacing:.01em;font-size:13.5px;display:inline-flex}
.cmact .btn{padding:13px 24px;font-size:14px}
.cmact .btn[aria-pressed="true"]{background:var(--hov);color:var(--accent);border-color:var(--accent)}

.cmx{display:block;margin:0 0 9px;font-size:13.5px;line-height:1.55}.cmx b{display:block;font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);margin-bottom:1px}