
.availability{font-size:.78rem;color:#6f675c;margin:.45rem 0}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;background:#e7a62a}.dot-unknown{background:#e7a62a}.visual{position:relative}.visual::after{content:'KMY';position:absolute;right:10px;bottom:10px;background:rgba(253,190,51,.86);color:#111;font:700 11px/1 Arial,sans-serif;letter-spacing:.08em;padding:4px 6px;border-radius:3px;pointer-events:none}.card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:3.75em}.card .spec{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.5em}
600;700&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--yellow:#fdbe33;--ink:#17191c;--muted:#62656b;--line:#e2e3e5;--paper:#f5f6f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #3078ab;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #d79916;outline-offset:2px}.topline{background:var(--ink);color:white;display:flex;justify-content:space-between;padding:11px 5%;font-size:12px;letter-spacing:.08em}.topline a{font-weight:700}header{padding:24px 5%;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;flex-shrink:0}.brand b{font-style:italic;font-size:39px;letter-spacing:-3px;line-height:.9}.brand b span{color:var(--yellow);margin-left:5px}.brand small{font-size:10px;letter-spacing:.23em;margin-top:7px}nav{display:flex;gap:32px;margin-left:40px;font-size:14px;flex:1}nav .active{font-weight:700}.dark{background:var(--ink);color:white;padding:14px 20px;border-radius:5px;font-size:14px;font-weight:600}.dark:hover{background:#333}.selection-toggle{white-space:nowrap}.selection-toggle span{display:inline-grid;place-items:center;background:var(--yellow);color:var(--ink);border-radius:4px;min-width:24px;height:24px;margin-left:12px}main{max-width:1440px;margin:auto;padding:0 5%}.intro{display:flex;justify-content:space-between;align-items:center;padding:55px 0 46px;gap:30px;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;margin:0 0 14px;color:#61656b}h1,h2,h3,p{margin-top:0}h1{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(40px,4.6vw,66px);line-height:1.02;font-weight:600;letter-spacing:-.015em;margin-bottom:22px}h1 span{color:#797d83}.lead{color:#60636a;line-height:1.65;margin:0;font-size:15px}.intro-note{border-left:3px solid var(--yellow);padding:0 22px;position:relative;min-width:250px}.intro-note strong{font-size:21px;line-height:1.35}.intro-note p{font-size:14px;color:var(--muted);line-height:1.8;margin:15px 0 0}.note-icon{position:absolute;right:5px;top:-8px;font-size:32px;color:#a9abb0}.catalogue-top{display:flex;justify-content:space-between;align-items:center;margin:36px 0 22px}.catalogue-top .eyebrow{margin-bottom:7px}h2{font-size:24px;letter-spacing:-.04em;margin-bottom:0}.sample{font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:30px;color:var(--muted)}.searchbar{border:1px solid #d2d4d7;display:flex;align-items:center;border-radius:6px;padding:0 20px;gap:13px;background:#fafafa}.searchbar>span{font-size:30px}.searchbar input{width:100%;border:0;background:transparent;padding:19px 0;min-width:0;font-size:15px}.searchbar input:focus{outline:none}.searchbar:focus-within{outline:2px solid #d79916}.searchbar kbd{white-space:nowrap;font-size:11px;color:#888}.filterrow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}#filters{display:flex;gap:8px;flex-wrap:wrap}#filters button{background:#f0f1f2;padding:10px 16px;border-radius:4px;font-size:14px;color:#50545b}#filters button.selected{background:var(--ink);color:white}.sort-label{font-size:13px;color:var(--muted);white-space:nowrap}select{border:0;background:white;font-size:13px;font-weight:600;padding:8px;color:var(--ink)}.result-count{font-size:12px;color:var(--muted);margin:24px 0 14px}#grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.card{border:1px solid var(--line);border-radius:7px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 8px 25px #17202a0d;transform:translateY(-3px)}.visual{position:relative;background:#f8f9fa;padding:20px;display:flex;height:200px;align-items:center;justify-content:center;cursor:pointer;width:100%}.visual img{max-width:85%;max-height:155px;object-fit:contain;mix-blend-mode:multiply}.visual .category{position:absolute;top:12px;left:12px;font-size:10px;letter-spacing:.04em;color:#777b81;text-transform:uppercase}.visual .expand{position:absolute;right:12px;bottom:12px;color:#7d8288;font-size:17px}.card-body{padding:19px;display:flex;flex-direction:column;flex:1}.ref{font-family:monospace;font-size:12px;color:#777;margin-bottom:9px}h3{font-size:16px;line-height:1.4;font-weight:600;margin-bottom:8px}.spec{font-size:12px;line-height:1.65;color:var(--muted);margin-bottom:22px}.price{font-size:23px;font-weight:700;letter-spacing:-.04em;margin-top:auto;margin-bottom:4px}.price small{font-size:12px;font-weight:500;letter-spacing:0}.indicative{font-size:11px;color:#7a7e84;margin-bottom:18px}.add{background:var(--yellow);border-radius:4px;padding:12px 8px;width:100%;font-size:13px;font-weight:700}.add:hover,.yellow:hover{background:#efad1d}.add span{font-size:17px;margin-left:8px}#empty{padding:60px 20px;background:var(--paper);text-align:center;color:var(--muted)}.help{margin:48px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px;background:var(--paper);border-left:4px solid var(--yellow)}.help h2{font-size:21px}.help p{font-size:14px;color:var(--muted);margin:10px 0 0}.link-button{display:inline-block;white-space:nowrap}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px 5%;border-top:1px solid var(--line)}footer .brand b{font-size:29px}footer p{font-size:12px;line-height:1.9;margin:0}footer p span{color:var(--muted)}footer>a{font-size:13px}dialog{border:0;padding:32px;border-radius:12px;max-height:92vh;max-width:95vw;box-shadow:0 20px 100px #0003;color:var(--ink)}dialog::backdrop{background:#13192280;backdrop-filter:blur(3px)}.close{width:38px;height:38px;border-radius:50%;font-size:26px;background:#f0f1f3;flex-shrink:0}#details{width:820px}#details>.close{position:absolute;top:16px;right:16px}#detail-content{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:30px;align-items:center}#detail-content>img{width:100%;max-height:300px;object-fit:contain}#detail-content h2{margin-bottom:15px}#detail-content .spec{font-size:14px}#detail-content .price{margin:25px 0 6px}.muted{font-size:14px;color:var(--muted);line-height:1.6}#basket{width:610px;margin:0 0 0 auto;height:100dvh;max-height:100dvh;border-radius:0;max-width:100vw;padding:30px}.drawer-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.drawer-heading .eyebrow{margin-bottom:8px}.basket-item{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.basket-item img{width:64px;height:70px;object-fit:contain}.basket-item h3{font-size:14px}.basket-item .ref{margin:4px 0 12px}.quantity{display:flex;align-items:center;gap:12px;font-size:14px}.quantity button{border:1px solid var(--line);background:white;width:30px;height:30px;border-radius:4px}.quantity .remove{width:auto;border:0;color:#777;text-decoration:underline;margin-left:auto;font-size:12px}.line-price{font-weight:600;margin:10px 0 0;font-size:14px}#basket-total{background:var(--paper);padding:18px;margin:20px 0;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px}#basket-total b{font-size:22px;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px}form input,textarea{display:block;border:1px solid #d4d7da;border-radius:4px;padding:11px;width:100%;margin:7px 0 16px;background:white;font-size:16px}textarea{resize:vertical}.privacy,.small{font-size:12px;line-height:1.65;color:var(--muted)}.yellow{background:var(--yellow);font-weight:700;padding:15px;border-radius:4px;font-size:14px}.send{width:100%;margin:4px 0 8px}.send:disabled{opacity:.5;cursor:not-allowed}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;padding:14px 22px;border-radius:5px;font-size:14px;opacity:0;pointer-events:none;transition:.2s;z-index:5}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1600px){header,footer,.topline{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}@media(max-width:1100px){#grid{grid-template-columns:repeat(3,minmax(0,1fr))}nav{margin-left:0;gap:20px}header{gap:24px}.intro-note{min-width:220px}.filterrow{align-items:flex-start;flex-direction:column;gap:10px}}@media(max-width:750px){.topline{font-size:10px;letter-spacing:0;padding:10px 5%}.topline>span:first-child{font-size:9px}header{padding:20px 5%;justify-content:space-between}header nav{display:none}.brand b{font-size:33px}.intro{padding:32px 0;align-items:flex-start}.intro-note{display:none}h1{font-size:46px}.lead{font-size:14px}.catalogue-top{margin-top:28px;gap:15px;align-items:flex-start}.catalogue-top h2{font-size:22px}.sample{font-size:10px;max-width:110px;text-align:center}.searchbar{padding:0 12px}.searchbar input{font-size:14px}.searchbar kbd{display:none}#filters{gap:5px}#filters button{font-size:12px;padding:9px 11px}#grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visual{height:155px;padding:25px 12px 10px}.visual img{max-height:120px;max-width:95%}.visual .category{font-size:8px;left:9px}.card-body{padding:13px}h3{font-size:14px}.spec{font-size:11px;margin-bottom:16px}.price{font-size:20px}.price small{font-size:10px}.add{font-size:11px;padding:11px 4px}.add span{margin-left:3px}.ref{font-size:10px}.indicative{font-size:10px}.help{flex-direction:column;align-items:flex-start;margin:30px 0;padding:22px}.help h2{font-size:20px}footer{align-items:flex-start;flex-direction:column}#detail-content{grid-template-columns:1fr;gap:25px}#detail-content>img{max-height:160px}#basket{padding:22px}.drawer-heading h2{font-size:22px}.form-grid{gap:12px}#basket-total{font-size:12px}#basket-total b{font-size:19px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.lead{font-size:16px}.spec{font-size:14px}.visual .category,.indicative,.ref,.sample{font-size:12px}.add{font-size:14px}.sort-label,select,label{font-size:14px}@media(max-width:750px){.intro{padding:24px 0}h1{font-size:36px}.lead{font-size:14px}.intro h1{margin-bottom:16px}.catalogue-top{margin-top:24px}.card-body{padding:12px}.spec{font-size:12px}.add{font-size:13px;line-height:1.5}.ref{font-size:12px;overflow-wrap:anywhere}.visual .category{font-size:10px}.sample{font-size:12px}.indicative{font-size:12px}.price small{font-size:12px}#filters button{font-size:14px}}

/* Catalogue local : photos sur fond blanc, titres bornés, pagination. */
.supplier-credit{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:28px 0;padding:24px;background:var(--paper);border-left:4px solid var(--yellow)}.supplier-credit .eyebrow{margin-bottom:8px}.supplier-credit h2{font-size:22px}.supplier-credit p:not(.eyebrow){max-width:780px;margin:12px 0 0;font-size:14px;line-height:1.65;color:var(--muted)}.supplier-credit .photo-credit{font-size:12px!important}.supplier-credit>a{font-size:14px;font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}@media(max-width:750px){.supplier-credit{flex-direction:column;align-items:flex-start;padding:20px;gap:18px}}
.visual{background:#fff;padding:30px 15px}.visual img{width:100%;height:145px;max-width:100%;object-fit:contain;mix-blend-mode:normal}.visual .expand{display:none}.visual::after{content:'';width:52px;height:36px;background:url('assets/logo-kmy-ascenseurs.jpg') center/contain no-repeat;opacity:.38;padding:0;border-radius:0}.card h3{height:4.2em;min-height:4.2em;line-height:1.4;overflow-wrap:anywhere}.availability{margin:10px 0 18px}.ref{overflow-wrap:anywhere}#pagination{display:flex;justify-content:center;align-items:center;gap:20px;padding:30px 0}#pagination button{padding:12px 16px;border-radius:5px;background:var(--yellow)}#pagination button:disabled{opacity:.4;cursor:default}#detail-content h2{overflow-wrap:anywhere;font-size:22px;line-height:1.35}@media(max-width:500px){#pagination{gap:10px;font-size:12px}#pagination button{padding:10px}.price{font-size:18px}.visual img{height:110px}}
