/* SFEL front — catalogue + produit (aligné prototype Palmsquare) */
:root{--sfel-blue:#1E3A8A;--sfel-blue-dark:#142559;--sfel-text:#1A1A1A;--sfel-muted:#6B7280;--sfel-soft:#F7F8FA;--sfel-card:#F3F4F6;--sfel-border:#E5E7EB;--sfel-border-strong:#D1D5DB;--sfel-r:10px}
.sfel-wrap{max-width:1280px;margin:0 auto;padding:0 24px;font-family:inherit;color:var(--sfel-text)}

/* ===== CATALOGUE ===== */
.sfel-catalog{display:grid;grid-template-columns:280px 1fr;gap:32px;padding:32px 0 80px}
.sfel-count{color:var(--sfel-muted);font-size:.95rem;margin:4px 0 24px}
.sfel-filters{position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow-y:auto;padding-right:8px}
.sfel-fgroup{border-bottom:1px solid var(--sfel-border);padding:18px 0}
.sfel-fgroup h4{display:flex;justify-content:space-between;align-items:center;margin:0;font-size:.95rem;font-weight:600;cursor:pointer}
.sfel-fgroup h4::after{content:"−";color:var(--sfel-muted);font-size:1.1rem}
.sfel-fgroup.closed h4::after{content:"+"}
.sfel-fgroup.closed .sfel-fbody{display:none}
.sfel-fbody{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.sfel-chip{padding:7px 14px;background:var(--sfel-soft);border:1px solid var(--sfel-border);border-radius:999px;font-size:.82rem;color:var(--sfel-text);cursor:pointer;user-select:none;transition:all .15s;line-height:1.3}
.sfel-chip:hover{border-color:var(--sfel-blue)}
.sfel-chip.on{background:var(--sfel-blue);color:#fff;border-color:var(--sfel-blue)}
.sfel-range{display:flex;flex-direction:column;gap:12px;width:100%}
.sfel-range .ins{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sfel-range input[type=number]{border:1px solid var(--sfel-border);border-radius:6px;padding:9px 12px;font-size:.9rem;width:100%;background:#fff}
.sfel-dr{position:relative;height:24px;margin:0 6px}
.sfel-dr .track{position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);background:var(--sfel-border);border-radius:4px}
.sfel-dr .fill{position:absolute;top:50%;height:4px;transform:translateY(-50%);background:var(--sfel-blue);border-radius:4px;pointer-events:none}
.sfel-dr input[type=range]{position:absolute;inset:0;width:100%;height:24px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.sfel-dr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--sfel-text);cursor:grab;pointer-events:auto;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sfel-dr input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--sfel-text);cursor:grab;pointer-events:auto;border:2px solid #fff}
.sfel-apply{background:var(--sfel-text);color:#fff;padding:9px 16px;border-radius:999px;font-size:.82rem;border:none;cursor:pointer;align-self:center}
.sfel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-content:start}
.sfel-card{background:#fff;border:1px solid var(--sfel-border);border-radius:var(--sfel-r);overflow:hidden;transition:box-shadow .2s,transform .2s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.sfel-card:hover{box-shadow:0 4px 12px rgba(15,23,42,.08);transform:translateY(-3px)}
.sfel-card .media{background:var(--sfel-card);aspect-ratio:1/1;display:grid;place-items:center;padding:24px}
.sfel-card .media img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.sfel-card .body{padding:16px}
.sfel-card h3{font-size:1rem;font-weight:600;margin:0 0 4px}
.sfel-card span{font-size:.8rem;color:var(--sfel-muted)}
.sfel-noresult{grid-column:1/-1;text-align:center;padding:60px 24px;color:var(--sfel-muted)}
@media(max-width:1024px){.sfel-catalog{grid-template-columns:1fr}.sfel-filters{position:static;max-height:none}.sfel-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== PRODUIT ===== */
.sfel-crumb{padding:16px 0;font-size:.8rem;color:var(--sfel-muted)}
.sfel-crumb a{color:inherit;text-decoration:none}
.sfel-crumb a:hover{color:var(--sfel-blue)}
.sfel-phero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;padding:16px 0 56px;align-items:start}
.sfel-gal{display:flex;flex-direction:column;gap:14px}
.sfel-gal .main{background:var(--sfel-card);border-radius:var(--sfel-r);aspect-ratio:5/4;display:grid;place-items:center;padding:36px}
.sfel-gal .main img{max-width:90%;max-height:90%;object-fit:contain;mix-blend-mode:multiply}
.sfel-gal .thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sfel-gal .thumbs>div{background:var(--sfel-card);border-radius:8px;aspect-ratio:1/1;display:grid;place-items:center;padding:10px;cursor:pointer;outline:2px solid transparent}
.sfel-gal .thumbs>div:hover{outline-color:var(--sfel-blue)}
.sfel-gal .thumbs img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.sfel-pinfo h1{font-size:2.4rem;margin:8px 0 16px;font-weight:600}
.sfel-pinfo .desc{color:var(--sfel-muted);font-size:.93rem;line-height:1.65}
.sfel-pinfo h2{font-size:1rem;font-weight:600;margin:24px 0 10px}
.sfel-badges{display:flex;gap:8px;flex-wrap:wrap}
.sfel-badge{min-width:52px;height:52px;background:var(--sfel-card);border-radius:6px;display:grid;place-items:center;font-size:.68rem;font-weight:600;text-align:center;padding:6px 10px;line-height:1.15}
.sfel-badge b{display:block;font-size:.85rem}
.sfel-acc{border-top:1px solid var(--sfel-border);margin-top:28px}
.sfel-acc .item{border-bottom:1px solid var(--sfel-border)}
.sfel-acc button.head{width:100%;text-align:left;padding:16px 0;background:none;border:none;font:inherit;font-weight:500;font-size:.98rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:var(--sfel-text)}
.sfel-acc button.head::after{content:"⌄";color:var(--sfel-muted);transition:transform .25s}
.sfel-acc .item.open button.head::after{transform:rotate(180deg)}
.sfel-acc .body{display:none;padding:0 0 18px;font-size:.9rem;color:var(--sfel-muted)}
.sfel-acc .item.open .body{display:block}
.sfel-specs{width:100%;border-collapse:collapse;font-size:.88rem}
.sfel-specs td{padding:8px 10px;border-bottom:1px solid var(--sfel-border);vertical-align:top}
.sfel-specs td:first-child{font-weight:500;color:var(--sfel-text);width:45%}
.sfel-docs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sfel-docs a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--sfel-soft);border-radius:8px;font-size:.9rem;color:var(--sfel-text);text-decoration:none}
.sfel-docs a:hover{background:var(--sfel-card);color:var(--sfel-blue)}
.sfel-docs a::after{content:"↓";width:26px;height:26px;background:var(--sfel-blue);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:.85rem;flex-shrink:0}
.sfel-cta{display:inline-block;background:var(--sfel-blue);color:#fff!important;padding:14px 28px;border-radius:8px;font-weight:500;text-decoration:none;margin-top:28px}
.sfel-cta:hover{background:var(--sfel-blue-dark)}
.sfel-sec{padding:56px 0;border-top:1px solid var(--sfel-border)}
.sfel-sec h2{font-size:1.6rem;margin:0 0 8px}
.sfel-sec .intro{color:var(--sfel-muted);font-size:.92rem;max-width:760px;margin:0 0 28px}
.sfel-famtable{width:100%;border-collapse:collapse;font-size:.9rem}
.sfel-famtable thead th{background:var(--sfel-soft);text-align:left;padding:13px 16px;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--sfel-blue);white-space:nowrap}
.sfel-famtable td{padding:13px 16px;border-bottom:1px solid var(--sfel-border)}
.sfel-famtable tr:hover td{background:var(--sfel-soft)}
.sfel-famtable .sku{font-family:monospace;font-weight:700;color:var(--sfel-blue)}
.sfel-famtable .devis{font-size:.8rem;padding:7px 12px}
.sfel-opts{width:100%;border-collapse:collapse;font-size:.88rem}
.sfel-opts thead th{text-align:left;padding:13px 16px;font-weight:600;color:var(--sfel-blue);font-size:.95rem;border-bottom:2px solid var(--sfel-text)}
.sfel-opts thead th:nth-child(2){background:var(--sfel-card)}
.sfel-opts td{padding:16px;border-top:1px solid var(--sfel-border);vertical-align:top;background:var(--sfel-soft)}
.sfel-opts td:first-child{background:#fff;color:var(--sfel-blue);font-weight:600;border-top-color:var(--sfel-text);width:16%}
.sfel-opts td.def{background:var(--sfel-card)}
@media(max-width:900px){.sfel-phero{grid-template-columns:1fr;gap:28px}.sfel-grid{grid-template-columns:1fr 1fr}.sfel-opts,.sfel-famtable{font-size:.78rem}}

/* Tableau famille compact dans l'accordéon */
.sfel-famtable.compact{font-size:.82rem}
.sfel-famtable.compact thead th{padding:9px 10px;font-size:.72rem}
.sfel-famtable.compact td{padding:9px 10px;white-space:nowrap}

/* Options : format adaptatif Par défaut / autres options en pills */
.sfel-opts td.def{font-weight:600;white-space:nowrap;width:18%}
.sfel-opts td.others{background:var(--sfel-soft)}
.sfel-pill{display:inline-block;background:#fff;border:1px solid var(--sfel-border);border-radius:999px;padding:5px 12px;margin:3px 4px 3px 0;font-size:.82rem;line-height:1.3;color:var(--sfel-text)}
.sfel-none{color:var(--sfel-muted)}
.sfel-opts thead th:nth-child(3){background:var(--sfel-soft)}

/* Tagline, pictogrammes, photo de réalisation */
.sfel-tagline{color:var(--sfel-muted);font-style:italic;font-size:1.02rem;margin:-6px 0 14px}
.sfel-pictos{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.sfel-pictos img{height:40px;width:auto;background:var(--sfel-card);border-radius:6px;padding:5px}
.sfel-real{width:100%;height:auto;border-radius:var(--sfel-r);display:block}
