@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --primary:        #8da277;
  --primary-dark:   #718758;
  --primary-light:  #e8f0fe;
  --secondary:      #718758;
  --secondary-light:#d4dde4;
  --accent:         #a69ba1;
  --gradient-from:  #b86f7a;
  --gradient-to:    #7b565b;
  --radius:         12px;
  --radius-sm:      8px;
  --header-height:  125px;
  --heading-size:   2rem;
  --checklist-bg:   #5fad47;
  --checklist-color:#d4dde4;
  --checklist-size: 22px;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Appliquer la taille des titres aux H2 de section */
.section h2, .section-title h2, .about-content h2, .hero-service h1 {
  font-size: var(--heading-size);
}

/* Alignement images CKEditor */
.about-content figure.image,
.section figure.image,
article figure.image {
  margin: 12px 0;
}
.about-content figure.image.image-style-align-left,
.section figure.image.image-style-align-left,
article figure.image.image-style-align-left {
  float: left;
  margin: 8px 20px 12px 0;
  max-width: 50%;
}
.about-content figure.image.image-style-align-right,
.section figure.image.image-style-align-right,
article figure.image.image-style-align-right {
  float: right;
  margin: 8px 0 12px 20px;
  max-width: 50%;
}
.about-content figure.image.image-style-align-center,
.section figure.image.image-style-align-center,
article figure.image.image-style-align-center {
  display: flex;
  justify-content: center;
  margin: 16px auto;
  max-width: 100%;
}
.about-content figure.image img,
.section figure.image img,
article figure.image img,
.about-content img,
.section img,
article img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Badge ✓ inline (inséré par Quill) */
.checklist-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--checklist-size); height: var(--checklist-size);
  border-radius: 50%; background: var(--checklist-bg);
  color: var(--checklist-color);
  font-weight: 700; font-size: 0.7rem; vertical-align: middle;
  margin-right: 6px; flex-shrink: 0;
}

/* Compacter l'espacement autour des checklists */
.about-content p, .section p, .hero-content p {
  margin: 0 0 8px 0;
}
.about-content br + br, .section br + br, .hero-content br + br {
  display: none;
}

/* === CHECKLIST ÉLÉGANTE === */
.about-content ul,
.section ul,
.hero-content ul,
.hero p ul,
.cta-section ul,
.contact-grid ul,
article ul {
  list-style: none;
  padding: 0;
  margin: 16px 0;
}

.about-content ul li,
.section ul li,
.hero-content ul li,
.hero p ul li,
.cta-section ul li,
.contact-grid ul li,
article ul li {
  position: relative;
  padding: 10px 0 10px 36px;
  margin-bottom: 6px;
  font-size: 0.95rem;
  color: #334155;
  line-height: 1.6;
  border-bottom: 1px solid #f1f5f9;
}

.about-content ul li:last-child,
.section ul li:last-child,
.hero-content ul li:last-child,
.hero p ul li:last-child,
.cta-section ul li:last-child,
.contact-grid ul li:last-child,
article ul li:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.about-content ul li::before,
.section ul li::before,
.hero-content ul li::before,
.hero p ul li::before,
.cta-section ul li::before,
.contact-grid ul li::before,
article ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--checklist-bg);
}

.about-content ul li::after,
.section ul li::after,
.hero-content ul li::after,
.hero p ul li::after,
.cta-section ul li::after,
.contact-grid ul li::after,
article ul li::after {
  content: '✓';
  position: absolute;
  left: 5px;
  top: 13px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--checklist-color);
}

/* Taille configurable */
.about-content ul li::before, .section ul li::before, .hero-content ul li::before, .hero p ul li::before, .cta-section ul li::before, .contact-grid ul li::before, article ul li::before {
  width: var(--checklist-size);
  height: var(--checklist-size);
}
