/* SELM Catalogue – couleurs du logo SELM : bleu #003A8F, rouge #C41C1A */
:root { --selm-rouge: #C41C1A; --selm-bleu: #003A8F; --selm-gris: #f3f5f7; --selm-bord: #d9dee4; }
.selm-head { background: var(--selm-gris); border-left: 5px solid var(--selm-rouge); padding: 1.25rem 1.5rem; margin: 0 0 2rem; }
.selm-keys { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem 1.5rem; margin: 0 0 1.25rem; }
.selm-keys div { margin: 0; }
.selm-keys dt { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: #555; margin: 0; }
.selm-keys dd { font-size: 1.1rem; font-weight: 700; color: var(--selm-bleu); margin: 0; }
.selm-ref { font-size: .85rem; color: #666; margin: .75rem 0 0; }
.selm-btn { display: inline-block; background: var(--selm-rouge); color: #fff !important; padding: .75rem 1.5rem; font-weight: 700; text-decoration: none !important; border: 0; border-radius: 3px; cursor: pointer; }
.selm-btn:hover, .selm-btn:focus { background: #9C1514; }
.selm-sec { margin: 2.5rem 0; }
.selm-sec h2 { color: var(--selm-bleu); border-bottom: 2px solid var(--selm-bleu); padding-bottom: .35rem; }
.selm-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.selm-table th, .selm-table td { border: 1px solid var(--selm-bord); padding: .5rem .75rem; text-align: left; }
.selm-spec th { width: 40%; background: var(--selm-gris); font-weight: 600; }
.selm-conf thead th { background: var(--selm-bleu); color: #fff; position: sticky; top: 0; }
.selm-conf tbody tr:nth-child(even) { background: #fafbfc; }
.selm-scroll { overflow-x: auto; max-height: 520px; overflow-y: auto; border: 1px solid var(--selm-bord); }
.selm-filter { display: block; margin: .5rem 0 1rem; font-weight: 600; }
.selm-count { color: #555; }
.selm-opts { columns: 2; column-gap: 2rem; }
@media (max-width: 640px) { .selm-opts { columns: 1; } }
.selm-faq { border-bottom: 1px solid var(--selm-bord); padding: .75rem 0; }
.selm-faq summary { font-weight: 600; cursor: pointer; color: var(--selm-bleu); }
.selm-cta { background: var(--selm-bleu); color: #fff; padding: 1.5rem; text-align: center; margin: 3rem 0 1rem; }
.selm-cta p { margin: 0 0 1rem; font-size: 1.1rem; }
.selm-devis { max-width: 760px; }
.selm-devis .selm-f label { display: block; font-weight: 600; margin-bottom: .25rem; }
.selm-devis input, .selm-devis select, .selm-devis textarea { width: 100%; padding: .55rem; border: 1px solid #b8c0c8; border-radius: 3px; box-sizing: border-box; }
.selm-prod { background: var(--selm-gris); padding: .75rem 1rem; border-left: 4px solid var(--selm-bleu); }
.selm-hp { position: absolute; left: -9999px; }
.selm-ok { background: #e7f5ea; border-left: 4px solid #2e7d32; padding: 1rem; }
.selm-err { background: #fdecea; border-left: 4px solid var(--selm-rouge); padding: 1rem; margin-bottom: 1rem; }
.selm-rgpd { font-size: .85rem; color: #666; }
