/* hilec.eu — catalogue vitrine. Grille 4 px, une rampe de gris froids, un accent (cyan du logo). */
@font-face{font-family:"Archivo";src:url(archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{
  --ink:#0F1416;--ink-2:#182023;--ink-3:#232D31;
  --paper:#F2F4F5;--surface:#FFFFFF;
  --text:#0F1416;--text-2:#4B565B;--text-3:#5F6A70;
  --line:rgba(15,20,22,.10);--line-2:rgba(15,20,22,.20);
  --accent:#64C3E0;--accent-ink:#0A6C8A;
  --d-text:#F2F4F5;--d-text-2:#A9B4B9;--d-line:rgba(255,255,255,.14);
  --ease:cubic-bezier(.2,.7,.2,1);--fast:120ms;--med:240ms;
  --wrap:1280px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.55 "Archivo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-stretch:100%;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:4px}
.dark :focus-visible,.top :focus-visible,.foot :focus-visible,.hero :focus-visible{outline-color:var(--accent)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:6px;z-index:50}
.skip:focus{left:8px}
.num{font-variant-numeric:tabular-nums}
.ref{font-stretch:80%;font-weight:500;letter-spacing:.01em}
svg.i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- En-tête ---------- */
.top{background:var(--ink);color:var(--d-text);position:sticky;top:0;z-index:30}
.top-in{display:flex;align-items:center;gap:24px;height:64px}
.logo{flex:none}
.logo img{height:36px;width:auto;max-width:none}
.nav{display:flex;gap:4px;margin-left:8px}
.nav a{padding:8px 12px;border-radius:6px;color:var(--d-text-2);font-size:15px;transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease);white-space:nowrap}
.nav a:hover{color:var(--d-text);background:var(--ink-2)}
.nav a[aria-current]{color:var(--d-text)}
.nav a[aria-current]::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:2px}
.search{position:relative;margin-left:auto;flex:0 1 280px;min-width:180px}
.search svg{position:absolute;left:12px;top:11px;color:var(--d-text-2);pointer-events:none}
.search input{width:100%;height:40px;padding:0 12px 0 40px;border-radius:8px;border:1px solid var(--d-line);background:var(--ink-2);color:var(--d-text);transition:border-color var(--fast) var(--ease)}
.search input::placeholder{color:var(--d-text-2)}
.search input:hover{border-color:rgba(255,255,255,.28)}
.search-pop{position:absolute;right:0;top:48px;width:min(440px,92vw);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(15,20,22,.16);padding:4px;max-height:70vh;overflow:auto}
.search-pop a{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:8px;border-radius:6px}
.search-pop a:hover,.search-pop a.on{background:var(--paper)}
.search-pop img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:4px}
.search-pop b{display:block;font-weight:500;font-stretch:80%}
.search-pop span{display:block;font-size:13px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-pop p{padding:12px;color:var(--text-3);font-size:14px}
.lang{color:var(--d-text-2);font-size:14px;padding:8px;border-radius:6px;transition:color var(--fast) var(--ease)}
.lang:hover{color:var(--d-text)}
.btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:8px;font-weight:500;font-size:15px;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}
.btn:active{transform:scale(.98)}
.btn-accent{background:var(--accent);color:#fff;font-weight:600}
.btn-accent:hover{background:#7DCFE8}
.btn-line{border-color:var(--line-2);background:transparent}
.btn-line:hover{background:rgba(15,20,22,.05)}
.btn-lg{height:48px;padding:0 20px;font-size:16px}
.menu{display:none;position:relative}
.menu summary{list-style:none;display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--d-line);border-radius:8px;font-size:15px;cursor:pointer}
.menu summary::-webkit-details-marker{display:none}
.menu ul{position:absolute;right:0;top:48px;width:260px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(15,20,22,.16);padding:4px;z-index:5}
.menu li a{display:block;padding:12px;border-radius:6px}
.menu li a:hover{background:var(--paper)}
.menu-dl{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}
.menu-dl a{color:var(--accent-ink);font-weight:500}

/* ---------- Accueil : bandeau + recherche de cordon ---------- */
.hero{background:var(--ink);color:var(--d-text);padding:56px 0 152px}
.hero-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:end}
.hero h1{font-size:56px;line-height:1.04;font-weight:600;font-stretch:112%;letter-spacing:-.02em;max-width:17ch}
.hero p{font-size:18px;line-height:1.5;color:var(--d-text-2);max-width:44ch;padding-bottom:8px;justify-self:end}
.finder{margin-top:-112px;position:relative}
.finder-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px 32px 28px;box-shadow:0 16px 40px rgba(15,20,22,.10)}
.finder-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.finder h2{font-size:14px;font-weight:500;color:var(--text-3)}
.finder-h .more{font-size:14px}
.finder-say{margin-top:8px;font-size:28px;line-height:1.5;font-weight:500;font-stretch:104%;letter-spacing:-.01em}
.finder-say label{white-space:nowrap}
.finder-say select{appearance:none;-webkit-appearance:none;border:0;border-bottom:2px solid var(--accent);border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%230A6C8A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 4px center;padding:0 24px 0 4px;margin:0 4px;font-weight:600;color:var(--accent-ink);cursor:pointer;transition:background-color var(--fast) var(--ease)}
.finder-say select:hover{background-color:rgba(100,195,224,.14)}
.cable{margin:20px -8px 0;display:block;width:calc(100% + 16px);height:auto}
.cable text{font:500 15px "Archivo",sans-serif;font-stretch:80%;fill:var(--text-2)}
.cable .cote-n{font-size:19px;font-weight:600;fill:var(--accent-ink);font-stretch:90%}
.cable .conn{transition:opacity var(--med) var(--ease)}
.finder-res{margin-top:20px;border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:232px 1fr;gap:24px;align-items:start}
.finder-cats{margin-top:12px;font-size:14px;line-height:1.5}
.finder-cats a{display:block;color:var(--accent-ink);padding:2px 0}
.finder-cats a:hover{text-decoration:underline}
.finder-count{font-size:15px;color:var(--text-2)}
.finder-count b{display:block;font-size:28px;line-height:1.1;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.finder-list{display:flex;flex-wrap:wrap;gap:8px}
.finder-list a{display:inline-flex;align-items:baseline;gap:8px;padding:8px 12px;border:1px solid var(--line-2);border-radius:6px;font-size:15px;transition:border-color var(--fast) var(--ease),background-color var(--fast) var(--ease)}
.finder-list a:hover{border-color:var(--accent-ink);background:rgba(100,195,224,.10)}
.finder-list a b{font-weight:500;font-stretch:80%}
.finder-list a span{color:var(--text-3);font-size:13px}
.finder-none{color:var(--text-2);font-size:15px;max-width:52ch}

/* ---------- Sections ---------- */
.sec{padding:72px 0 0}
#familles{scroll-margin-top:120px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.sec-h h2{font-size:28px;line-height:1.2;font-weight:600;font-stretch:108%;letter-spacing:-.01em}
.sec-h p{color:var(--text-3);font-size:15px}
.more{color:var(--accent-ink);font-weight:500;font-size:15px;border-bottom:1px solid transparent;transition:border-color var(--fast) var(--ease)}
.more:hover{border-color:currentColor}

/* Index des familles : un grand bloc pour les cordons, une liste pour le reste */
.fam{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:24px;align-items:start}
.fam-big,.fam-list{background:var(--surface);border:1px solid var(--line);border-radius:12px}
.fam-main{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.fam-big h3 a{min-width:0}
.fi{display:inline-grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--text)}
.fi svg.i{width:28px;height:28px}
.fam-big .fi{width:56px;height:56px;border-radius:12px;margin-right:16px}
.fam-big .fi svg.i{width:32px;height:32px}
.fam-big h3{align-items:center!important;justify-content:flex-start!important}
.fam-big h3 span.num{margin-left:auto}
.fam-list>li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start}
.cat-h .fi{align-self:center;background:var(--surface)}
.fam-big{padding:28px 32px 32px}
.fam-big h3{font-size:22px;font-weight:600;font-stretch:108%;display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.fam-big h3 a:hover{color:var(--accent-ink)}
.fam-big h3 span,.fam-list h3 span{white-space:nowrap;font-size:14px;font-weight:400;font-stretch:100%;color:var(--text-3)}
.fam-cols{margin-top:20px;columns:3;column-gap:32px}
.fam-cols li{break-inside:avoid}
.fam-cols a,.fam-list li li a{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;transition:color var(--fast) var(--ease)}
.fam-cols a:hover,.fam-list a:hover{color:var(--accent-ink)}
.fam-cols span,.fam-list li li span{color:var(--text-3);font-size:13px;font-variant-numeric:tabular-nums}
.fam-list>li{padding:20px 24px}
.fam-list>li+li{border-top:1px solid var(--line)}
.fam-list h3{font-size:17px;font-weight:600;font-stretch:104%;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.fam-list p{margin-top:4px;font-size:14px;color:var(--text-3);line-height:1.45}

/* ---------- Cartes produit ---------- */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;position:relative;transition:border-color var(--fast) var(--ease)}
.card:hover{border-color:var(--line-2)}
.card-img{aspect-ratio:1;padding:16px;display:grid;place-items:center}
.card-img img{width:100%;height:100%;object-fit:contain}
.card-b{padding:0 16px 16px}
.card h2,.card h3{font-size:17px;overflow-wrap:anywhere;font-weight:500;font-stretch:80%;letter-spacing:.01em}
.card h2 a::after,.card h3 a::after{content:"";position:absolute;inset:0}
.card p{margin-top:4px;font-size:14px;line-height:1.45;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tag{display:inline-block;font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--paper);color:var(--text-2);border:1px solid var(--line)}
.tag-new{background:rgba(100,195,224,.18);border-color:transparent;color:#07485C}
.card .tag{position:absolute;left:12px;top:12px}

/* ---------- Catégorie ---------- */
.crumb{padding:20px 0 0;font-size:14px;color:var(--text-3);display:flex;flex-wrap:wrap;gap:8px}
.crumb a:hover{color:var(--accent-ink)}
.crumb li+li::before{content:"/";margin-right:8px;color:var(--line-2)}
.cat-h{padding:16px 0 24px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.cat-h h1{font-size:40px;line-height:1.1;font-weight:600;font-stretch:110%;letter-spacing:-.015em}
.cat-h span{color:var(--text-3);font-size:15px}
.subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px;margin-bottom:32px}
.subs a{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px 8px 8px;transition:border-color var(--fast) var(--ease)}
.subs a:hover{border-color:var(--accent-ink)}
.subs img{width:56px;height:56px;object-fit:contain;border-radius:6px;background:#fff}
.subs b{display:block;font-weight:500;font-size:15px;line-height:1.3}
.subs span{font-size:13px;color:var(--text-3)}
.subs span>span{display:block}
.subs-lg{grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:16px}
.subs-lg a{grid-template-columns:88px 1fr;gap:16px;padding:12px 16px 12px 12px}
.subs-lg img{width:88px;height:88px}
.subs-lg b{font-size:17px}
.filters{display:flex;flex-wrap:wrap;gap:12px 32px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px;align-items:center}
.fg{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fg>span{font-size:14px;color:var(--text-3);margin-right:4px}
.chip{height:32px;padding:0 12px;border-radius:6px;border:1px solid var(--line-2);background:var(--surface);font-size:14px;cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color var(--fast) var(--ease),background-color var(--fast) var(--ease),color var(--fast) var(--ease)}
.chip:hover{border-color:var(--accent-ink)}
.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.f-reset{margin-left:auto;font-size:14px;color:var(--accent-ink);background:none;border:0;cursor:pointer;padding:4px}
.f-reset[hidden]{display:none}
.f-empty{padding:32px 0;color:var(--text-2)}
.rows{background:var(--surface);border:1px solid var(--line);border-radius:12px}
.row{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,auto);gap:20px;align-items:center;padding:12px 20px 12px 12px}
.row+.row{border-top:1px solid var(--line)}
.row[hidden]{display:none}
.row-img{width:96px;height:96px;display:grid;place-items:center}
.row-img img{width:100%;height:100%;object-fit:contain}
.row h2{overflow-wrap:anywhere;font-size:18px;font-weight:500;font-stretch:80%;letter-spacing:.01em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row h2 a:hover{color:var(--accent-ink)}
.row p{margin-top:4px;font-size:14px;line-height:1.45;color:var(--text-2);max-width:68ch}
.row .meta{color:var(--text-3);font-size:13px}
.lens{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:520px}
.lens a{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:32px;padding:0 8px;border:1px solid var(--line-2);border-radius:4px;font-size:14px;font-variant-numeric:tabular-nums;transition:border-color var(--fast) var(--ease),background-color var(--fast) var(--ease),color var(--fast) var(--ease)}
.lens a:hover{border-color:var(--accent-ink);background:rgba(100,195,224,.12)}
.lens a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.lens a.off{opacity:.35}
.lens a.see{border-color:transparent;color:var(--accent-ink);font-weight:500;padding:0 4px}
.lens a.see:hover{background:none;text-decoration:underline}

/* ---------- Fiche produit ---------- */
.prod{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding:16px 0 0;align-items:start}
.gal-main{background:var(--surface);border:1px solid var(--line);border-radius:12px;aspect-ratio:1;display:grid;place-items:center;padding:32px}
.gal-main img{width:100%;height:100%;object-fit:contain}
.gal-th{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.gal-th button{width:72px;height:72px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color var(--fast) var(--ease)}
.gal-th button[aria-pressed=true]{border-color:var(--ink)}
.gal-th img{width:100%;height:100%;object-fit:contain}
.prod-info{padding-top:8px}
.prod-info h1{font-size:40px;line-height:1.1;font-weight:600;font-stretch:88%;letter-spacing:0;overflow-wrap:anywhere}
.prod-sku{margin-top:8px;color:var(--text-3);font-size:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.prod-lead{margin-top:20px;font-size:18px;line-height:1.5;color:var(--text-2);max-width:52ch}
.cote{margin-top:24px;display:flex;align-items:center;gap:12px;max-width:420px;color:var(--accent-ink)}
.cote::before,.cote::after{content:"";flex:1;height:9px;border-left:1.5px solid currentColor;border-right:0;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat}
.cote::after{border-left:0;border-right:1.5px solid currentColor}
.cote b{font-size:20px;font-weight:600;font-stretch:90%;font-variant-numeric:tabular-nums}
.vars{margin-top:24px}
.vars>span{display:block;font-size:14px;color:var(--text-3);margin-bottom:8px}
.vars .lens{justify-content:flex-start;max-width:none}
.prod-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.prod-note{margin-top:12px;font-size:14px;color:var(--text-3);max-width:52ch}
.specs{border-top:1px solid var(--line)}
.prod-side h2+dl+h2,.prod-side dl+h2{margin-top:40px}
.prod-side{position:sticky;top:88px}
.prod-more-1{grid-template-columns:minmax(0,720px)!important}
.specs div{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.specs dt{color:var(--text-3)}
.specs dd{font-variant-numeric:tabular-nums}
.prod-more{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;padding-top:56px;align-items:start}
.prod-more h2{font-size:22px;font-weight:600;font-stretch:108%;margin-bottom:16px}
.rte{font-size:16px;line-height:1.65;color:var(--text);max-width:68ch}
.rte p{margin:0 0 16px}
.rte ul{list-style:none;margin:0 0 20px}
.rte li{position:relative;padding-left:20px;margin-bottom:8px}
.rte li::before{content:"";position:absolute;left:2px;top:.72em;width:8px;height:1.5px;background:var(--text-3)}
.rte a{color:var(--accent-ink);border-bottom:1px solid rgba(10,108,138,.35)}
.rte a:hover{border-color:currentColor}
.rte strong,.rte b{font-weight:600}
.rte aside{margin:0 0 16px;padding:12px 16px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 8px 8px 0}
.docs li+li{margin-top:8px}
.docs a{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;font-size:15px;transition:border-color var(--fast) var(--ease)}
.docs a:hover{border-color:var(--accent-ink)}
.docs svg{color:var(--text-3)}

/* ---------- Revendeurs ---------- */
.dl-h{padding-top:40px;padding-bottom:8px}
.dl-lead{color:var(--text-2);font-size:18px;max-width:60ch}
.dl-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:28px 0 32px}
.dl-f{display:grid;gap:4px;flex:1 1 220px;max-width:320px}
.dl-f span{font-size:14px;color:var(--text-3)}
.dl-f input,.dl-f select{height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);width:100%;transition:border-color var(--fast) var(--ease)}
.dl-f input:hover,.dl-f select:hover{border-color:var(--accent-ink)}
.dl{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:32px;align-items:start;padding-bottom:88px}
.dl-info{font-size:15px;color:var(--text-2);padding-bottom:12px;min-height:36px}
.dl-list{background:var(--surface);border:1px solid var(--line);border-radius:12px}
.dl-list li+li{border-top:1px solid var(--line)}
.dl-item{border-left:3px solid transparent;transition:background-color var(--fast) var(--ease)}
.dl-list li:first-child .dl-item{border-radius:12px 12px 0 0}
.dl-list li:last-child .dl-item{border-radius:0 0 12px 12px}
.dl-item:hover{background:rgba(100,195,224,.08)}
.dl-item.on{border-left-color:var(--accent);background:rgba(100,195,224,.12)}
.dl-card{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:0;padding:16px 20px 12px;cursor:pointer}
.dl-card h2{font-size:16px;font-weight:600;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.dl-card h2 span{font-weight:500;color:var(--accent-ink);font-size:14px;white-space:nowrap}
.dl-card p{margin-top:4px;font-size:14px;line-height:1.5;color:var(--text-2)}
.dl-links{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:14px}
.dl-item>.dl-links{padding:0 20px 12px;margin-top:-8px}
.dl-links a{color:var(--accent-ink);padding:4px 0}
.dl-links a:hover{text-decoration:underline}
.dl-mapbox{position:sticky;top:88px;height:calc(100vh - 120px);min-height:420px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
#dl-map{width:100%;height:100%;font:inherit;z-index:0}
.leaflet-tile-pane{filter:grayscale(1) contrast(.92) brightness(1.04)}
.dl-pin{width:18px;height:18px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 1px 3px rgba(15,20,22,.4)}
.dl-pin.on{background:var(--accent);border-color:var(--ink)}
.leaflet-container a{color:var(--accent-ink)}
.leaflet-popup-content{font:400 14px/1.45 "Archivo",sans-serif;margin:12px 16px}
.leaflet-popup-content b{display:block;font-weight:600;font-size:15px}

/* ---------- Contact ---------- */
.ct{display:grid;grid-template-columns:minmax(0,640px) minmax(0,360px);gap:32px;align-items:start;padding:32px 0 88px}
.ct-card,.ct-side{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px 32px 32px}
.ct-k{font-size:14px;color:var(--text-3)}
.ct-mail{margin-top:4px;font-size:28px;line-height:1.2;font-weight:600;font-stretch:104%;letter-spacing:-.01em;overflow-wrap:anywhere}
.ct-mail a{color:var(--accent-ink);border-bottom:2px solid var(--accent)}
.ct-mail a:hover{background:rgba(100,195,224,.14)}
.ct-form{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:16px;justify-items:start}
.ct-form h2,.ct-side h2{font-size:18px;font-weight:600;font-stretch:104%}
.ct-form .dl-f{max-width:none;width:100%;flex:none}
.ct-form textarea{width:100%;padding:12px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);font:inherit;color:inherit;resize:vertical;transition:border-color var(--fast) var(--ease)}
.ct-form textarea:hover{border-color:var(--accent-ink)}
.ct-hint{font-size:14px;color:var(--text-3)}
.ct-side p{margin:8px 0 20px;color:var(--text-2);font-size:15px}

/* ---------- Où acheter + pied ---------- */
.buy{margin-top:88px;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.buy-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.buy h2{font-size:28px;line-height:1.2;font-weight:600;font-stretch:108%;letter-spacing:-.01em;max-width:22ch}
.buy p{margin-top:12px;color:var(--text-2);max-width:56ch}
.buy-act{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.foot{background:var(--ink);color:var(--d-text-2);padding:48px 0 40px;font-size:14px}
.foot-in{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:48px}
.foot img{height:40px;width:auto}
.foot p{margin-top:16px;max-width:40ch;line-height:1.5}
.foot h2{font-size:14px;font-weight:500;color:var(--d-text);margin-bottom:12px}
.foot li+li{margin-top:8px}
.foot a{transition:color var(--fast) var(--ease)}
.foot a:hover{color:var(--d-text)}
.foot-end{margin-top:40px;padding-top:20px;border-top:1px solid var(--d-line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- Apparition unique au chargement (accueil) ---------- */
@media (prefers-reduced-motion:no-preference){
  .finder-card{animation:rise .5s var(--ease) both .05s}
  @keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ---------- Écrans moyens et petits ---------- */
@media (max-width:1280px){
  .nav a:nth-child(n+3):not(:last-child){display:none}
}
@media (max-width:1100px){
  .nav{display:none}
  .menu{display:block}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fam{grid-template-columns:1fr}
  .fam-cols{columns:3}
  .hero h1{font-size:48px}
  .hero-in{grid-template-columns:1fr;gap:20px}
  .hero p{justify-self:start;max-width:56ch}
}
@media (max-width:820px){
  .wrap{padding:0 20px}
  .top-in{gap:12px;height:56px;flex-wrap:wrap}
  .logo img{height:30px}
  .nav{display:none}
  .menu{display:block}
  .top .btn-accent{display:none}
  .chip,.lens a{height:40px}
  .crumb li:not(:nth-last-child(2)){display:none}
  .crumb li::before{content:"‹"!important;color:var(--text-3)!important}
  .search{order:5;flex:1 1 100%;margin:0 0 12px}
  .top-in{height:auto;padding-top:12px}
  .lang{margin-left:auto}
  .hero{padding:32px 0 128px}
  .hero h1{font-size:36px}
  .hero p{font-size:16px}
  .finder-card{padding:20px 16px}
  .finder-say{font-size:20px;line-height:1.7}
  .finder-res{grid-template-columns:1fr;gap:16px}
  .cable text{font-size:22px}
  .cable .cote-n{font-size:26px}
  .prod-side{position:static}
  .sec{padding-top:56px}
  .sec-h h2,.buy h2{font-size:22px}
  .fam-big{padding:20px}
  .fam-big h3{flex-wrap:wrap}
  .fam-big h3 a{flex:1}
  .fam-big h3 span.num{flex-basis:100%;margin:-12px 0 0 72px}
  .fam-cols{columns:1}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cat-h h1,.prod-info h1{font-size:30px}
  .row{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px}
  .row-img{width:64px;height:64px}
  .lens{grid-column:1/-1;justify-content:flex-start;max-width:none}
  .prod,.prod-more,.buy-in,.foot-in{grid-template-columns:1fr;gap:32px}
  .buy-act{justify-content:flex-start}
  .gal-main{padding:16px}
  .f-reset{margin-left:0}
  .dl{grid-template-columns:1fr;gap:20px}
  .ct{grid-template-columns:1fr;gap:20px;padding-top:20px}
  .ct-card,.ct-side{padding:20px}
  .ct-mail{font-size:22px}
  .dl-mapbox{position:static;height:320px;min-height:0;order:-1}
  .dl-f{max-width:none}
  .dl-lead{font-size:16px}
  .dl-h{padding-top:24px}
}
