:root {
  --primary:#0B5FFF;
  --accent:#FF7A00;
  --text:#0F172A;
  --muted:#64748B;
  --bg:#F8FAFC;
  --radius:16px;
  --shadow:0 10px 30px rgba(2, 6, 23, 0.08);
}
.stbzh .container { max-width:1200px; margin:0 auto; padding: clamp(16px, 2vw, 24px); }
.stbzh h1, .stbzh h2, .stbzh h3, .stbzh h4 { line-height:1.2; margin:0 0 .5rem; }

/* Héros */
.stbzh .hero {
  background: radial-gradient(1200px 400px at 20% 0%, rgba(11,95,255,.15), transparent),
              linear-gradient(180deg, #fff, #f6f9ff);
  border-bottom: 1px solid #eaeef5;
}
.stbzh .hero .container { padding: clamp(40px, 7vw, 96px) 16px; text-align:center; }
.stbzh .hero h1 { font-size: clamp(32px, 5vw, 56px); font-weight:700; }
.stbzh .hero .sub { font-size: clamp(16px, 2.2vw, 20px); color: var(--muted); margin: 10px auto 24px; max-width: 720px; }
.stbzh .cta { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:14px; }
.stbzh .btn { display:inline-block; padding:14px 22px; border-radius:9999px; text-decoration:none; font-weight:600; transition:.2s ease; }
.stbzh .btn.primary { background:var(--primary); color:#fff; }
.stbzh .btn.primary:hover { transform: translateY(-1px); box-shadow: var(--shadow); }
.stbzh .btn.ghost { border:1px solid #dbe3f0; color:var(--text); background:#fff; }
.stbzh .btn.ghost:hover { border-color: var(--primary); color: var(--primary); }
.stbzh .trust { display:flex; gap:18px; justify-content:center; list-style:none; padding:0; margin:12px 0 6px; color:var(--muted); flex-wrap:wrap; }
.stbzh .footnote { display:block; color:#94a3b8; }

/* Cartes promesses */
.stbzh .highlights { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; margin: 28px auto; }
.stbzh .card { background:#fff; border-radius:var(--radius); padding:22px; box-shadow: var(--shadow); border:1px solid #eef2f7; }
.stbzh .card .icon { font-size:28px; margin-bottom:8px; }

/* Catégories */
.stbzh .categories { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; margin: 10px auto 26px; }
.stbzh .categories .cat { display:block; background: #fff; border:1px solid #eef2f7; border-radius: var(--radius);
  padding:24px; text-decoration:none; color:inherit; transition:.2s; box-shadow: var(--shadow);}
.stbzh .categories .cat:hover { transform: translateY(-2px); border-color: var(--primary); }

/* Bandeau réassurance */
.stbzh .reassurance { display:grid; grid-template-columns: repeat(4,1fr); gap:12px; margin: 10px auto 60px; }
.stbzh .reassurance .r-item { background:#fff; border:1px solid #eef2f7; border-radius:var(--radius); padding:16px; text-align:center; }

/* WooCommerce – cartes produits plus modernes */
.stbzh .woocommerce ul.products li.product { background:#fff; border:1px solid #eef2f7; border-radius: var(--radius);
  box-shadow: var(--shadow); padding:16px; overflow:hidden; }
.stbzh .woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight:600; font-size:1rem; }
.stbzh .price { color: var(--text); font-weight:700; }
.stbzh .woocommerce a.button, .stbzh .woocommerce button.button, .stbzh .add_to_cart_button {
  background: var(--primary); color:#fff; border:none; border-radius:9999px; padding:10px 16px; transition:.2s;
}
.stbzh .woocommerce a.button:hover, .stbzh .woocommerce button.button:hover, .stbzh .add_to_cart_button:hover {
  transform: translateY(-1px); box-shadow: var(--shadow);
}

/* Responsive */
@media (max-width: 1024px){
  .stbzh .highlights, .stbzh .categories { grid-template-columns: 1fr 1fr; }
  .stbzh .reassurance { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .stbzh .highlights, .stbzh .categories, .stbzh .reassurance { grid-template-columns: 1fr; }
  .stbzh .hero .container { padding: 40px 12px; }
}
