:root{--brand:#c80000;--text:#222;--muted:#6a6a6a;--light:#f6f6f6}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial;color:var(--text);line-height:1.6}
a{color:var(--brand);text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:0 18px}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:10}.header .bar{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.logo{display:flex;align-items:center;gap:12px}.logo img{height:44px;width:auto}.logo span{font-weight:700;letter-spacing:.5px}
.nav{display:flex;gap:18px}.nav a{padding:8px 10px;border-radius:6px}.nav a:hover{background:#f6f6f6}
.hero{position:relative;min-height:58vh;display:flex;align-items:center}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.38)),url('assets/banner.jpg') center/cover no-repeat;}
.hero .content{position:relative;z-index:1;color:#fff;padding:52px 0}.hero h1{font-size:44px;line-height:1.12;margin:0 0 8px}.hero p.lead{font-size:18px;margin:0 0 10px;opacity:.95}.hero .sub{opacity:.9;margin-top:6px}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}.badge{background:#ffe9e9;color:#fff;border:1px solid #ffd1d1;padding:6px 10px;border-radius:14px;font-size:13px;background:rgba(200,0,0,.9)}
.cta{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:12px 16px;border-radius:10px;font-weight:600;border:2px solid var(--brand)}.btn.primary{background:var(--brand);color:#fff}.btn.ghost{color:var(--brand);background:#fff}
.small{font-size:13px;color:var(--muted)}.section{padding:44px 0}.title{font-size:28px;margin:0 0 6px}.subtitle{color:#555;margin:0 0 18px}
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card,.product-card{border:1px solid #eee;border-radius:12px;background:#fff}
.product-card{display:flex;flex-direction:column;gap:10px}.product-card img{width:100%;height:auto;border-top-left-radius:12px;border-top-right-radius:12px;display:block}
.product-card .body{padding:14px}.product-card h3{margin:0}.product-card .meta{font-size:13px;color:#666;margin-top:-6px}
.product-card .actions{padding:0 14px 14px;margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.note{border-left:4px solid var(--brand);background:#fff5f5;padding:12px 14px;border-radius:8px;margin:8px 0}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.specs .card{padding:14px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gallery a{display:block;border:1px solid #eee;border-radius:12px;overflow:hidden;background:#f8f8f8}.gallery img{width:100%;height:auto;display:block}
.footer{border-top:1px solid #eee;padding:26px 0;background:#fafafa;color:#333}.footer small{color:#666}
.product-hero{padding:28px 0 8px;background:linear-gradient(180deg,#fff,#fafafa)}.product-hero h1{margin:0 0 6px}
@media(max-width:900px){.hero h1{font-size:34px}}
/* === FIX GRILLE PRODUITS (mobile & desktop) === */

.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}

/* Cartes produits */
.product-card {
  max-width: 100%;
  box-sizing: border-box;
}

/* Images produits */
.product-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}
/* FIX GRILLE PRODUITS + TAILLE IMAGES (FORCE) */
.products,
.products-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:20px !important;
}

.product-card,
.product{
  max-width:100% !important;
  box-sizing:border-box !important;
}

.product-card img,
.product img{
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:8px !important;
}