/* ======= HERO (copié de home-default) ======= */
:root {
  --accent: var(--color-primary, #0d6efd);
  --bg-soft: #f7f8fa;
  --card-radius: 16px;
  --shadow-sm: 0 4px 12px rgba(0, 0, 0, .06);
  --shadow-lg: 0 14px 34px rgba(0, 0, 0, .12);
}

body {
  background: var(--bg-soft);
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
}

/* HERO */
.hero {
  background: linear-gradient(180deg, #fff, rgba(255, 255, 255, 0));
}

.hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(800px 300px at 80% 0%, rgba(13, 110, 253, .08), transparent 60%),
    radial-gradient(600px 220px at 10% 10%, rgba(25, 135, 84, .06), transparent 60%);
  mix-blend: normal;
}

.hero-visual {
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
}

.hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;
}

/* ======= CMS sections (inchangé) ======= */
.cms-sections .cms-block { margin-bottom: 1.75rem; }
.cms-richtext { font-size: .98rem; line-height: 1.75; }

.cms-image-text .cms-it-text { font-size:.98rem; line-height:1.75; }
.cms-ph { background:#f3f4f6; min-height: 220px; display:flex; align-items:center; justify-content:center; color:#6b7280; }

@media (max-width: 768px) {
  .cms-image-text { flex-direction: column !important; }
  .cms-it-img { flex: 0 0 auto !important; max-width: 100% !important; }
}

.cms-gallery { display:grid; gap: 12px; }
.cms-gallery.per-1 { grid-template-columns: repeat(1, 1fr); }
.cms-gallery.per-2 { grid-template-columns: repeat(2, 1fr); }
.cms-gallery.per-3 { grid-template-columns: repeat(3, 1fr); }
.cms-gallery.per-4 { grid-template-columns: repeat(4, 1fr); }
.cms-gallery.per-5 { grid-template-columns: repeat(5, 1fr); }
.cms-gallery.per-6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 992px) { .cms-gallery.per-4,.cms-gallery.per-5,.cms-gallery.per-6 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 576px) { .cms-gallery { grid-template-columns: repeat(2, 1fr) !important; } }

@media (prefers-color-scheme: dark) {
  body { background: #0b0e12; color: #e6e6e6; }
  .hero { background: linear-gradient(180deg, #0b0e12, #0b0e1200); }
  .hero-visual { background: #0f1318; }
}
.cms-spacer {
  margin: 0 !important;
  padding: 0 !important;
}
