.lahmar-refs-grid{display:grid;gap:28px}.lahmar-refs-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lahmar-refs-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lahmar-refs-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lahmar-ref-card{background:#fff;border:1px solid #e4e7eb;cursor:pointer;overflow:hidden;transition:.25s;outline:none}.lahmar-ref-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(3,15,39,.10)}.lahmar-ref-cover{aspect-ratio:4/3;background:#f3f5f7;overflow:hidden}.lahmar-ref-cover img{width:100%;height:100%;object-fit:cover}.lahmar-ref-card-body{padding:20px}.lahmar-ref-card h3{font-size:20px;margin:14px 0 8px}.lahmar-ref-card-body span{color:#e62f33;font-weight:600}.lahmar-ref-logo{display:block;width:auto!important;height:auto!important;max-width:170px!important;max-height:70px!important;object-fit:contain}.modal-logo{margin-bottom:14px}
.lahmar-ref-modal{position:fixed!important;inset:0!important;width:100vw;height:100vh;height:100dvh;background:rgba(3,15,39,.82);z-index:2147483000!important;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;isolation:isolate}
body.lahmar-ref-modal-open{overflow:hidden!important}.lahmar-ref-modal.is-open{display:flex}.lahmar-ref-dialog{width:min(1050px,96vw);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;background:#fff;padding:34px;position:relative;z-index:1;box-sizing:border-box;overscroll-behavior:contain}.lahmar-ref-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:36px;cursor:pointer}.lahmar-ref-head h2{margin-top:0;font-size:30px}.lahmar-ref-description{font-size:16px;line-height:1.75}.lahmar-ref-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.lahmar-ref-gallery a{display:block;cursor:zoom-in;overflow:hidden}.lahmar-ref-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}.lahmar-ref-gallery a:hover img{transform:scale(1.025)}.lahmar-ref-video{margin-top:24px}.lahmar-ref-video video,.lahmar-ref-video iframe{width:100%;aspect-ratio:16/9;border:0;background:#000}
@media(max-width:980px){.lahmar-refs-grid.cols-4,.lahmar-refs-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.lahmar-refs-grid{grid-template-columns:1fr!important}.lahmar-ref-gallery{grid-template-columns:1fr}.lahmar-ref-dialog{padding:24px 18px}.lahmar-ref-head h2{font-size:24px}}


/* Lightbox galerie : reste dans la même page, au-dessus du popup projet */
body.lahmar-ref-lightbox-open{overflow:hidden!important}
.lahmar-ref-lightbox{position:fixed!important;inset:0!important;width:100vw;height:100vh;height:100dvh;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.94);z-index:2147483600!important;padding:22px;box-sizing:border-box}
.lahmar-ref-lightbox.is-open{display:flex}
.lahmar-lightbox-figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:calc(100vw - 100px);max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px)}
.lahmar-lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);width:auto!important;height:auto!important;object-fit:contain;box-shadow:0 12px 50px rgba(0,0,0,.35)}
.lahmar-lightbox-caption{margin-top:10px;color:#fff;font-size:14px;text-align:center;min-height:1.2em}
.lahmar-lightbox-close,.lahmar-lightbox-prev,.lahmar-lightbox-next{position:fixed!important;z-index:2147483601!important;border:0!important;background:rgba(255,255,255,.10)!important;color:#fff!important;cursor:pointer!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:background .2s ease,transform .2s ease}
.lahmar-lightbox-close:hover,.lahmar-lightbox-prev:hover,.lahmar-lightbox-next:hover{background:rgba(255,255,255,.22)!important}
.lahmar-lightbox-close{top:18px;right:22px;width:46px;height:46px;border-radius:50%;font-size:36px;font-weight:300}
.lahmar-lightbox-prev,.lahmar-lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:72px;border-radius:6px;font-size:52px;font-weight:200}
.lahmar-lightbox-prev{left:18px}.lahmar-lightbox-next{right:18px}
.lahmar-lightbox-counter{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:2147483601;color:#fff;background:rgba(0,0,0,.45);padding:5px 10px;border-radius:20px;font-size:13px}
@media(max-width:600px){.lahmar-ref-lightbox{padding:10px}.lahmar-lightbox-figure{max-width:100%;max-height:calc(100dvh - 70px)}.lahmar-lightbox-image{max-height:calc(100dvh - 100px)}.lahmar-lightbox-prev,.lahmar-lightbox-next{width:42px;height:58px;font-size:42px}.lahmar-lightbox-prev{left:7px}.lahmar-lightbox-next{right:7px}.lahmar-lightbox-close{top:10px;right:10px;width:42px;height:42px}}

/* Catalogue produits */
.lahmar-products-grid{display:grid;gap:28px}.lahmar-products-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lahmar-products-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lahmar-products-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lahmar-product-card{background:#fff;border:1px solid #e4e7eb;cursor:pointer;overflow:hidden;transition:.25s;outline:none}.lahmar-product-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(3,15,39,.10)}.lahmar-product-cover{aspect-ratio:1/1;background:#f3f5f7;overflow:hidden}.lahmar-product-cover img{width:100%;height:100%;object-fit:cover}.lahmar-product-card-body{padding:18px 20px 20px}.lahmar-product-card h3{font-size:20px;line-height:1.3;margin:0 0 10px}.lahmar-product-card-body span{color:#e62f33;font-weight:600}
.lahmar-product-modal{position:fixed!important;inset:0!important;width:100vw;height:100vh;height:100dvh;background:rgba(3,15,39,.82);z-index:2147483000!important;display:none;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;isolation:isolate}.lahmar-product-modal.is-open{display:flex}.lahmar-product-dialog{width:min(1000px,96vw);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;background:#fff;padding:34px;position:relative;z-index:1;box-sizing:border-box;overscroll-behavior:contain}.lahmar-product-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:36px;cursor:pointer}.lahmar-product-head h2{margin:4px 0 12px;font-size:30px}.lahmar-product-category{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#e62f33;font-weight:700}.lahmar-product-description{font-size:16px;line-height:1.75}.lahmar-product-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.lahmar-product-gallery a{display:block;cursor:zoom-in;overflow:hidden}.lahmar-product-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}.lahmar-product-gallery a:hover img{transform:scale(1.025)}
@media(max-width:980px){.lahmar-products-grid.cols-4,.lahmar-products-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.lahmar-products-grid{grid-template-columns:1fr!important}.lahmar-product-dialog{padding:24px 18px}.lahmar-product-head h2{font-size:24px}.lahmar-product-gallery{grid-template-columns:1fr}}

/* Métadonnées produits : catégorie + marque */
.lahmar-product-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:4px}.lahmar-product-category,.lahmar-product-brand{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.lahmar-product-category{color:#e62f33}.lahmar-product-brand{color:#030f27}.lahmar-product-brand:before{content:"Marque : ";font-weight:500;color:#6b7280;text-transform:none;letter-spacing:0}

/* Marque affichée sous le nom du produit dans les cartes catalogue */
.lahmar-product-card-brand{margin:-3px 0 11px;font-size:14px;line-height:1.4;color:#5f6875}
.lahmar-product-card-brand-label{font-weight:600;color:#030f27}
.lahmar-product-link{display:inline-block}
