
/* ============================================
   ChefBase Design System - Brand Tokens v2
   Mai 2026
   ============================================ */

@import url('https://fonts.bunny.net/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {

  /* GRADIENT FLAMME */
  --cb-flame-500: #F5673E;
  --cb-flame-600: #E89A24;
  --cb-flame-700: #D15927;
  --cb-flame-800: #CA313F;
  --cb-flame-900: #A01828;
  --cb-gradient-flame: linear-gradient(90deg, #CA313F 0%, #E43E32 25%, #D15927 50%, #E89A24 75%, #EFC31A 100%);
  --cb-gradient-flame-diagonal: linear-gradient(135deg, #CA313F 0%, #E89A24 100%);

  /* IVOIRE */
  --cb-ivory-50:  #FFFBF8;
  --cb-ivory-100: #FAF6EF;
  --cb-ivory-200: #F5EFE6;
  --cb-ivory-300: #F0E8DA;
  --cb-ivory-400: #E8DEC8;
  --cb-ivory-900: #5A524B;

  /* DARK */
  --cb-dark-50:  #2A2420;
  --cb-dark-100: #251810;
  --cb-dark-200: #1E1410;
  --cb-dark-300: #120D08;
  --cb-dark-400: #0F0907;
  --cb-dark-500: #0D0704;

  /* STATUS */
  --cb-success: #34D399;
  --cb-warning: #FBBF24;
  --cb-error:   #EF4444;
  --cb-info:    #3B82F6;

  /* TEXTE */
  --cb-text-light:           #1A1410;
  --cb-text-dark:            #F5EFE6;
  --cb-text-light-secondary: rgba(26,20,16,0.75);
  --cb-text-dark-secondary:  rgba(245,239,230,0.75);

  /* TYPOGRAPHIE */
  --cb-font-display: 'Space Grotesk', system-ui, sans-serif;
  --cb-font-body:    'DM Sans', system-ui, sans-serif;
  --cb-font-mono:    'JetBrains Mono', ui-monospace, monospace;

  /* SPACING base 4px */
  --cb-space-1:  4px;
  --cb-space-2:  8px;
  --cb-space-3:  12px;
  --cb-space-4:  16px;
  --cb-space-6:  24px;
  --cb-space-8:  32px;
  --cb-space-10: 40px;
  --cb-space-12: 48px;
  --cb-space-14: 56px;
  --cb-space-16: 64px;
  --cb-space-24: 96px;

  /* BORDER RADIUS */
  --cb-radius-sm:  6px;
  --cb-radius-md:  12px;
  --cb-radius-lg:  16px;
  --cb-radius-xl:  20px;
  --cb-radius-2xl: 24px;
  --cb-radius-full: 9999px;

  /* SHADOWS */
  --cb-shadow-sm:       0 2px 4px 0 rgba(0,0,0,0.12);
  --cb-shadow-md:       0 8px 16px 0 rgba(0,0,0,0.20);
  --cb-shadow-lg:       0 12px 24px 0 rgba(0,0,0,0.24);
  --cb-shadow-flame-sm: 0 2px 8px 0 rgba(202,49,63,0.10);
  --cb-shadow-flame-md: 0 8px 16px 0 rgba(232,154,36,0.15);
  --cb-shadow-flame-lg: 0 12px 32px 0 rgba(202,49,63,0.20);

  /* LAYOUT */
  --cb-max-width:    1400px;
  --cb-padding-page: 48px;
}

/* BASE */
body {
  font-family: var(--cb-font-body);
  background-color: var(--cb-ivory-100);
  color: var(--cb-text-light);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--cb-font-display);
  font-weight: 700;
}

code, pre {
  font-family: var(--cb-font-mono);
}


/* ========================================
   RESPONSIVE MOBILE - ChefBase
   ======================================== */

@media (max-width: 768px) {
  /* Header */
  .cb-header-nav, .cb-header-connexion { display: none !important; }

  /* Hero */
  .cb-hero { padding: 72px 16px 56px !important; }
  .cb-hero-ctas { flex-direction: column !important; }
  .cb-hero-ctas a { text-align: center !important; justify-content: center !important; }

  /* Grilles 3 colonnes → 1 colonne */
  .cb-copilot-grid,
  .cb-process-grid { grid-template-columns: 1fr !important; }

  /* Features grid → 1 colonne */
  .cb-features-grid { grid-template-columns: 1fr !important; }
  .cb-features-grid > div:last-child { grid-column: 1 !important; max-width: 100% !important; }

  /* Pricing → 1 colonne */
  .cb-pricing-grid { grid-template-columns: 1fr !important; }

  /* Founder */
  .cb-founder-grid { grid-template-columns: 1fr !important; }
  .cb-founder-stats { grid-template-columns: repeat(3,1fr) !important; }

  /* Footer → 2 colonnes */
  .cb-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  .cb-footer-brand { grid-column: 1 / -1 !important; }

  /* Copilot meta */
  .cb-copilot-meta { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
}

@media (max-width: 480px) {
  .cb-founder-stats { grid-template-columns: 1fr !important; }
  .cb-footer-grid { grid-template-columns: 1fr !important; }
  .cb-footer-brand { grid-column: 1 !important; }
}
/* TEMPLATE PARTS - Reset padding */
header.wp-block-template-part,
footer.wp-block-template-part { padding: 0 !important; margin: 0 !important; }


/* ============================================
   ChefBase - Utility classes pour blocs Etch
   Remplace les var() et fonctions CSS
   qui sont filtrées par WP kses
   ============================================ */

/* === BACKGROUNDS === */
.cb-bg-dark-300 { background-color: #120D08 !important; }
.cb-bg-dark-400 { background-color: #0F0907 !important; }
.cb-bg-dark-500 { background-color: #0D0704 !important; }
.cb-bg-ivory-100 { background-color: #FAF6EF !important; }
.cb-bg-ivory-200 { background-color: #F5EFE6 !important; }
.cb-bg-white { background-color: #ffffff !important; }

/* === GRADIENT BACKGROUNDS === */
.cb-bg-gradient-flame {
  background: linear-gradient(90deg, #CA313F 0%, #E43E32 25%, #D15927 50%, #E89A24 75%, #EFC31A 100%) !important;
}
.cb-bg-gradient-flame-diag {
  background: linear-gradient(135deg, #CA313F 0%, #E43E32 30%, #D15927 60%, #E89A24 100%) !important;
}

/* === TEXT COLORS === */
.cb-text-light { color: #1A1410 !important; }
.cb-text-dark { color: #F5EFE6 !important; }
.cb-text-dark-75 { color: rgba(245,239,230,0.75) !important; }
.cb-text-dark-55 { color: rgba(245,239,230,0.55) !important; }
.cb-text-dark-45 { color: rgba(245,239,230,0.45) !important; }
.cb-text-dark-35 { color: rgba(245,239,230,0.35) !important; }
.cb-text-dark-25 { color: rgba(245,239,230,0.25) !important; }
.cb-text-dark-85 { color: rgba(245,239,230,0.85) !important; }
.cb-text-dark-80 { color: rgba(245,239,230,0.80) !important; }
.cb-text-ivory-900 { color: #5A524B !important; }
.cb-text-flame-600 { color: #E89A24 !important; }
.cb-text-flame-700 { color: #D15927 !important; }
.cb-text-flame-800 { color: #CA313F !important; }
.cb-text-light-70 { color: rgba(26,20,16,0.70) !important; }

/* === GRADIENT TEXT === */
.cb-gradient-text {
  background: linear-gradient(90deg, #CA313F 0%, #E43E32 25%, #D15927 50%, #E89A24 75%, #EFC31A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

/* === BORDERS === */
.cb-border-dark { border-bottom: 1px solid rgba(245,239,230,0.06) !important; }
.cb-border-light { border: 1px solid rgba(26,20,16,0.06) !important; }
.cb-border-light-08 { border: 1px solid rgba(26,20,16,0.08) !important; }
.cb-border-flame { border: 2px solid #CA313F !important; }

/* === SHADOWS === */
.cb-shadow-sm { box-shadow: 0 2px 4px 0 rgba(0,0,0,0.12) !important; }
.cb-shadow-flame-sm { box-shadow: 0 2px 8px 0 rgba(202,49,63,0.10) !important; }
.cb-shadow-flame-md { box-shadow: 0 8px 16px 0 rgba(232,154,36,0.15) !important; }
.cb-shadow-flame-lg { box-shadow: 0 12px 32px 0 rgba(202,49,63,0.20) !important; }

/* === LAYOUT GRIDS === */
.cb-features-grid {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 24px;
}
.cb-features-grid > div:last-child {
  grid-column: 1 / -1;
  max-width: 680px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
.cb-copilot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 20px;
  text-align: left;
}
.cb-process-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 24px;
}
.cb-pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.cb-founder-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 48px;
  align-items: center;
}
.cb-founder-stats { display: grid; grid-template-columns: 1fr; gap: 16px; }
.cb-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}

/* === FONT FAMILIES === */
.cb-font-mono { font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important; }
.cb-font-display { font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important; }
.cb-font-body { font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif !important; }

/* === RESPONSIVE OVERRIDES === */
@media (max-width: 768px) {
  .cb-features-grid { grid-template-columns: 1fr !important; }
  .cb-features-grid > div:last-child { grid-column: 1 !important; max-width: 100% !important; }
  .cb-copilot-grid { grid-template-columns: 1fr !important; }
  .cb-process-grid { grid-template-columns: 1fr !important; }
  .cb-pricing-grid { grid-template-columns: 1fr !important; max-width: 100% !important; }
  .cb-founder-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .cb-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  .cb-footer-brand { grid-column: 1 / -1 !important; }
  .cb-copilot-meta { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
}
@media (max-width: 480px) {
  .cb-footer-grid { grid-template-columns: 1fr !important; }
  .cb-founder-stats { grid-template-columns: 1fr !important; }
}


/* ============================================
   Blog FSE - Listing + Article
   ============================================ */

/* === BLOG LISTING PAGE === */
.cb-blog-main {
  background-color: #FAF6EF;
  padding: 64px 24px 96px;
}

.cb-posts-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  list-style: none !important;
  padding: 0 !important;
}

.cb-post-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid rgba(26,20,16,0.07);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  display: flex !important;
  flex-direction: column;
}
.cb-post-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  transform: translateY(-2px);
}

.cb-post-card-image img,
.cb-post-card .wp-block-post-featured-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.cb-post-card .wp-block-post-featured-image {
  margin: 0 !important;
}

.cb-post-card-body {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column;
  flex: 1;
  gap: 8px;
}

/* Categories pill */
.cb-post-categories a,
.cb-post-categories .wp-block-post-terms a {
  font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #CA313F !important;
  text-decoration: none !important;
  background: rgba(202,49,63,0.08);
  padding: 4px 10px;
  border-radius: 100px;
  display: inline-block;
}
.cb-post-categories {
  margin: 0 !important;
}

/* Post title */
.cb-post-title,
.cb-post-title a {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #1A1410 !important;
  text-decoration: none !important;
  margin: 4px 0 0 !important;
}
.cb-post-title a:hover { color: #CA313F !important; }

/* Post excerpt */
.cb-post-excerpt,
.cb-post-excerpt p {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif !important;
  font-size: 14px !important;
  color: rgba(26,20,16,0.65) !important;
  line-height: 1.55 !important;
  margin: 4px 0 0 !important;
  flex: 1;
}
.cb-post-excerpt .wp-block-post-excerpt__more-link {
  color: #CA313F !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-block;
  margin-top: 8px;
}

/* Post date */
.cb-post-date,
.cb-post-date time {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif !important;
  font-size: 12px !important;
  color: rgba(26,20,16,0.45) !important;
  margin: 8px 0 0 !important;
}

/* Pagination */
.cb-pagination {
  margin-top: 64px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.cb-pagination .wp-block-query-pagination-numbers a,
.cb-pagination .wp-block-query-pagination-numbers span,
.cb-pagination .wp-block-query-pagination-previous a,
.cb-pagination .wp-block-query-pagination-next a {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1A1410 !important;
  background: #fff;
  border: 1px solid rgba(26,20,16,0.12);
  border-radius: 8px;
  padding: 8px 16px;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease;
}
.cb-pagination .wp-block-query-pagination-numbers .current,
.cb-pagination a:hover {
  background: #CA313F !important;
  color: #fff !important;
  border-color: #CA313F !important;
}

/* === SINGLE ARTICLE === */
.cb-single-main {
  background-color: #FAF6EF;
  min-height: 60vh;
}

.cb-article-hero {
  background-color: #0F0907;
  padding: 64px 24px 56px !important;
  text-align: left;
}
.cb-article-hero .cb-post-categories--single a {
  color: #E89A24 !important;
  background: rgba(232,154,36,0.12) !important;
}

.cb-article-title {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-size: clamp(28px, 4.5vw, 52px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: #F5EFE6 !important;
  margin: 12px 0 16px !important;
  max-width: 860px;
}

.cb-article-meta {
  gap: 16px !important;
  margin-top: 0 !important;
}
.cb-article-meta .cb-post-date time {
  color: rgba(245,239,230,0.5) !important;
}

.cb-article-featured-image {
  margin: 0 !important;
}
.cb-article-featured-image img {
  width: 100%;
  max-height: 480px;
  object-fit: cover;
  display: block;
}

.cb-article-content {
  padding: 64px 24px !important;
}
.cb-article-content h1, .cb-article-content h2, .cb-article-content h3,
.cb-article-content h4, .cb-article-content h5 {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-weight: 700 !important;
  color: #1A1410 !important;
  margin-top: 2em !important;
  margin-bottom: 0.5em !important;
}
.cb-article-content h2 { font-size: 28px !important; }
.cb-article-content h3 { font-size: 22px !important; }
.cb-article-content p {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: rgba(26,20,16,0.85) !important;
  margin-bottom: 1.2em !important;
}

.cb-article-footer {
  padding: 0 24px 80px !important;
}
.cb-article-nav {
  border-top: 1px solid rgba(26,20,16,0.08);
  padding-top: 40px !important;
  gap: 16px !important;
}
.cb-nav-link a, .cb-article-nav a {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #CA313F !important;
  text-decoration: none !important;
}
.cb-nav-link a:hover { color: #D15927 !important; }

/* === RESPONSIVE BLOG === */
@media (max-width: 900px) {
  .cb-posts-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }
}
@media (max-width: 580px) {
  .cb-posts-grid { grid-template-columns: 1fr !important; gap: 16px; }
  .cb-blog-main { padding: 40px 16px 64px; }
  .cb-article-content { padding: 40px 16px !important; }
  .cb-article-hero { padding: 40px 16px 40px !important; }
}


/* ============================================
   ChefBase - Blog listing & single post
   ============================================ */

/* === BLOG LISTING === */
.cb-blog-hero {
  background: #0F0907;
  padding: 80px 24px 64px;
  text-align: center;
  border-bottom: 1px solid rgba(245,239,230,0.06);
}
.cb-blog-main {
  background: #FAF6EF !important;
  padding: 48px 24px 96px;
  min-height: 60vh;
}
.cb-posts-query .wp-block-query-template {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)) !important;
  gap: 24px !important;
  max-width: 1200px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}
.cb-post-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(26,20,16,0.06);
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.06);
  transition: transform 200ms ease, box-shadow 200ms ease;
  display: flex !important;
  flex-direction: column !important;
}
.cb-post-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px 0 rgba(0,0,0,0.12);
}
.cb-card-image { display: block; }
.cb-card-image img, .cb-card-image .wp-block-post-featured-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.cb-card-image.wp-block-post-featured-image { height: 200px; overflow: hidden; }
.cb-card-image.wp-block-post-featured-image a { display: block; height: 100%; }
.cb-card-image.wp-block-post-featured-image a img { height: 200px; width: 100%; object-fit: cover; }
.cb-card-body {
  padding: 24px !important;
  flex: 1;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.cb-post-date {
  font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #E89A24 !important;
}
.cb-post-title { margin: 4px 0 8px !important; }
.cb-post-title a {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1A1410 !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}
.cb-post-title a:hover { color: #CA313F !important; }
.cb-post-excerpt p {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif !important;
  font-size: 14px !important;
  color: rgba(26,20,16,0.65) !important;
  line-height: 1.6 !important;
  margin: 0 0 8px !important;
}
.cb-post-excerpt .wp-block-post-excerpt__more-link {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: #CA313F !important;
  text-decoration: none !important;
}
.cb-post-excerpt .wp-block-post-excerpt__more-link:hover { text-decoration: underline !important; }
.cb-no-results {
  text-align: center;
  color: rgba(26,20,16,0.45);
  font-style: italic;
  padding: 64px 0;
  max-width: 1200px;
  margin: 0 auto;
}
.cb-pagination {
  margin-top: 48px;
  display: flex !important;
  justify-content: center;
  gap: 8px;
}
.cb-pagination .wp-block-query-pagination-numbers { display: flex; gap: 8px; }
.cb-pagination .wp-block-query-pagination-numbers a,
.cb-pagination .wp-block-query-pagination-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #1A1410 !important;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(26,20,16,0.12);
}
.cb-pagination .wp-block-query-pagination-numbers .current {
  background: #CA313F !important;
  color: #fff !important;
  border-color: #CA313F !important;
}

/* === SINGLE POST === */
.cb-single-post { background: #FAF6EF; min-height: 70vh; }
.cb-single-post-hero {
  background: #0F0907;
  padding: 48px 24px 40px;
}
.cb-post-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: rgba(245,239,230,0.65);
  text-decoration: none;
}
.cb-post-back:hover { color: #F5EFE6; }
.wp-block-group.cb-post-content {
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 48px 24px 96px !important;
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  color: #1A1410;
}
.cb-post-content .wp-block-post-title {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 700 !important;
  color: #1A1410 !important;
  line-height: 1.15 !important;
  margin: 0 0 24px !important;
}
.cb-post-meta {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 32px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid rgba(26,20,16,0.08) !important;
}
.cb-post-content .wp-block-post-date {
  font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #E89A24 !important;
}
.cb-post-content .wp-block-post-content h2 {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #1A1410;
  margin: 40px 0 16px;
  line-height: 1.3;
}
.cb-post-content .wp-block-post-content h3 {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #1A1410;
  margin: 32px 0 12px;
}
.cb-post-content .wp-block-post-content p { margin: 0 0 20px; }
.cb-post-content .wp-block-post-content a { color: #CA313F; }
.cb-post-content .wp-block-post-content ul,
.cb-post-content .wp-block-post-content ol { margin: 0 0 20px; padding-left: 24px; }
.cb-post-content .wp-block-post-content li { margin: 6px 0; }


/* ============================================
   ChefBase - Blog & Article Templates
   ============================================ */

/* === BLOG HERO === */
.cb-blog-hero {
  background: #0F0907;
  padding: 80px 24px 64px;
  text-align: center;
}

/* === BLOG MAIN AREA === */
.cb-blog-main {
  background: #FAF6EF;
  padding: 64px 24px 96px;
}
.cb-blog-main .wp-block-query {
  max-width: 1200px;
  margin: 0 auto;
}
/* 3-col grid for cards */
.cb-posts-query .wp-block-query-template {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
  gap: 28px;
}

/* === POST CARD === */
.cb-post-card {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(26,20,16,0.07);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.cb-post-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  transform: translateY(-2px);
}
.cb-card-image .wp-block-post-featured-image {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.cb-card-image .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Placeholder when no featured image */
.cb-card-image .wp-block-post-featured-image:empty,
.cb-card-image:empty {
  background: linear-gradient(135deg, #F0E8DA 0%, #E8DEC8 100%);
  aspect-ratio: 16/9;
  display: block;
}
.cb-card-body {
  padding: 24px;
  gap: 10px !important;
}
.cb-post-card .cb-post-date {
  font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #D15927 !important;
}
.cb-post-card .cb-post-title a,
.cb-post-card .cb-post-title {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #1A1410 !important;
  text-decoration: none !important;
}
.cb-post-card .cb-post-title a:hover {
  color: #D15927 !important;
}
.cb-post-card .cb-post-excerpt,
.cb-post-card .cb-post-excerpt p {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(26,20,16,0.65) !important;
}
.cb-post-card .cb-post-excerpt .wp-block-post-excerpt__more-link {
  color: #D15927 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* === PAGINATION === */
.cb-pagination {
  padding-top: 48px;
  max-width: 1200px;
  margin: 0 auto;
}
.cb-pagination .wp-block-query-pagination-next,
.cb-pagination .wp-block-query-pagination-previous,
.cb-pagination .page-numbers {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1A1410;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid rgba(26,20,16,0.15);
  text-decoration: none;
  transition: background 0.15s;
}
.cb-pagination .wp-block-query-pagination-next:hover,
.cb-pagination .wp-block-query-pagination-previous:hover,
.cb-pagination .page-numbers:hover {
  background: #FAF6EF;
}
.cb-pagination .page-numbers.current {
  background: #D15927;
  color: #fff;
  border-color: #D15927;
}
.cb-no-results {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 16px;
  color: rgba(26,20,16,0.55);
  text-align: center;
  padding: 64px 0;
}

/* === SINGLE ARTICLE === */
.cb-single-main {
  background: #FAF6EF;
  min-height: 60vh;
}
.cb-article-hero {
  background: #FAF6EF;
  padding: 64px 24px 40px;
  text-align: center;
}
.cb-post-categories--single,
.cb-post-categories .wp-block-post-categories {
  font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #D15927 !important;
  margin-bottom: 16px !important;
}
.cb-article-title {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-size: clamp(28px, 4.5vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: #1A1410 !important;
  max-width: 780px;
  margin: 0 auto 24px !important;
}
.cb-article-meta {
  gap: 16px !important;
  justify-content: center !important;
  padding-bottom: 40px;
}
.cb-article-meta .cb-post-date {
  font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important;
  font-size: 12px !important;
  color: rgba(26,20,16,0.55) !important;
}
.cb-article-featured-image .wp-block-post-featured-image {
  max-height: 480px;
  overflow: hidden;
}
.cb-article-featured-image .wp-block-post-featured-image img {
  width: 100%;
  object-fit: cover;
}
.cb-article-content {
  padding: 48px 24px 64px;
}
.cb-article-content p {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.75;
  color: rgba(26,20,16,0.85);
  margin-bottom: 24px;
}
.cb-article-content h2 {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #1A1410;
  margin: 40px 0 16px;
  line-height: 1.3;
}
.cb-article-content h3 {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif;
  font-size: 19px;
  font-weight: 700;
  color: #1A1410;
  margin: 32px 0 12px;
}
.cb-article-content ul,
.cb-article-content ol {
  padding-left: 28px;
  margin-bottom: 24px;
}
.cb-article-content li {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: rgba(26,20,16,0.85);
  margin-bottom: 8px;
}
.cb-article-content strong {
  color: #1A1410;
  font-weight: 700;
}
.cb-article-footer {
  border-top: 1px solid rgba(26,20,16,0.08);
  padding: 32px 24px;
}
.cb-article-nav {
  max-width: 760px;
  margin: 0 auto;
  gap: 16px;
}
.cb-nav-link a {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #D15927 !important;
  text-decoration: none;
}
.cb-nav-link a:hover {
  text-decoration: underline;
}

/* === RESPONSIVE BLOG === */
@media (max-width: 768px) {
  .cb-blog-hero { padding: 56px 20px 48px; }
  .cb-blog-main { padding: 40px 16px 64px; }
  .cb-posts-query .wp-block-query-template {
    grid-template-columns: 1fr;
  }
  .cb-article-hero { padding: 48px 20px 32px; }
  .cb-article-content { padding: 32px 20px 48px; }
}


/* === THEME TEMPLATE FIXES - /blog/ archive page === */
.cb-blog-hero {
  background-color: #0F0907 !important; /* dark to match /articles/ */
  min-height: 60vh;
  padding: 80px 24px 96px;
}
.cb-blog-hero h1 {
  color: #F5EFE6 !important;
}
.cb-blog-hero p {
  color: rgba(245,239,230,0.75) !important;
}

/* === POST H1 (Article auto-injected by theme) === */
body.single-post h1.wp-block-post-title,
body.single-post .wp-block-post-title {
  color: #1A1410 !important;
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-weight: 700 !important;
  margin: 80px auto 32px !important;
  max-width: 780px !important;
  padding: 0 24px !important;
}


/* ============================================
   ChefBase - Single Post Template
   ============================================ */

/* Main container */
.cb-single-post {
  background: #FAF6EF;
  min-height: 60vh;
}

/* Back link */
.cb-single-post-hero {
  padding: 24px 24px 0;
  max-width: 1200px;
  margin: 0 auto;
}
.cb-post-back {
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: rgba(26,20,16,0.55);
  text-decoration: none;
  transition: color 0.15s;
}
.cb-post-back:hover {
  color: #D15927;
}

/* Article content wrapper */
.cb-post-content {
  padding: 40px 24px 80px;
}

/* Meta: date + categories */
.cb-post-meta {
  gap: 16px !important;
  margin-bottom: 20px;
}
.cb-post-meta .cb-post-date,
.cb-post-meta .wp-block-post-date {
  font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: rgba(26,20,16,0.50) !important;
}
.cb-post-meta .wp-block-post-categories a {
  font-family: 'jetbrains mono',"jetbrains mono Fallback", ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: #D15927 !important;
  text-decoration: none !important;
}

/* Post title (h1) */
.cb-post-content .wp-block-post-title {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif !important;
  font-size: clamp(26px, 4vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #1A1410 !important;
  margin-bottom: 40px !important;
  letter-spacing: -0.01em !important;
}

/* Post content inner article (from etch/raw-html wrapper) */
.cb-post-content article {
  background: #FAF6EF !important;
  padding: 0 !important;
  min-height: unset !important;
}
.cb-post-content article > div {
  max-width: 100% !important;
  margin: 0 !important;
  font-family: 'dm sans',"dm sans Fallback", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.75;
  color: rgba(26,20,16,0.85);
}
.cb-post-content article p {
  margin-bottom: 24px;
}
.cb-post-content article h2 {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #1A1410;
  margin: 40px 0 16px;
  line-height: 1.3;
}
.cb-post-content article h3 {
  font-family: 'space grotesk',"space grotesk Fallback", system-ui, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1A1410;
  margin: 32px 0 12px;
}
.cb-post-content article ul,
.cb-post-content article ol {
  padding-left: 28px;
  margin-bottom: 24px;
}
.cb-post-content article li {
  margin-bottom: 8px;
  line-height: 1.7;
}
.cb-post-content article strong {
  color: #1A1410;
  font-weight: 700;
}
.cb-post-content article a {
  color: #D15927;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .cb-post-content { padding: 32px 20px 56px; }
  .cb-single-post-hero { padding: 20px 20px 0; }
}


/* ============================================
   CB Header - Global Styles
   ============================================ */
.cb-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0F0907;border-bottom:1px solid rgba(245,239,230,0.06);}
.cb-header-inner{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px;}
.cb-logo-link{text-decoration:none;display:flex;align-items:center;gap:8px;flex-shrink:0;}
.cb-logo-ring{height:28px;width:28px;object-fit:contain;}
.cb-logo-wordmark{font-family:'space grotesk',"space grotesk Fallback",system-ui,sans-serif;font-size:18px;font-weight:700;color:#F5EFE6;letter-spacing:-0.01em;}
.cb-logo-base{background:linear-gradient(90deg,#CA313F 0%,#E43E32 25%,#D15927 50%,#E89A24 75%,#EFC31A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.cb-header-nav{display:flex;align-items:center;gap:32px;}
.cb-nav-link{font-family:'dm sans',"dm sans Fallback",system-ui,sans-serif;font-size:14px;font-weight:500;color:rgba(245,239,230,0.70);text-decoration:none;transition:color 150ms;}
.cb-nav-link:hover{color:#F5EFE6;}
.cb-header-actions{display:flex;align-items:center;gap:12px;}
.cb-lang-switcher{display:flex;align-items:center;gap:2px;font-family:'dm sans',"dm sans Fallback",system-ui,sans-serif;font-size:13px;font-weight:500;}
.cb-lang-btn{padding:3px 7px;border-radius:4px;text-decoration:none;color:rgba(245,239,230,0.40);background:transparent;transition:all 150ms;}
.cb-lang-btn--active{color:#F5EFE6;background:rgba(245,239,230,0.10);}
.cb-lang-sep{color:rgba(245,239,230,0.20);}
.cb-nav-login{font-family:'dm sans',"dm sans Fallback",system-ui,sans-serif;font-size:14px;font-weight:500;color:#F5EFE6;text-decoration:none;}
.cb-btn-primary{display:inline-flex;align-items:center;padding:9px 20px;background:linear-gradient(90deg,#CA313F 0%,#E43E32 25%,#D15927 50%,#E89A24 75%,#EFC31A 100%);color:#fff;font-family:'dm sans',"dm sans Fallback",system-ui,sans-serif;font-size:14px;font-weight:600;text-decoration:none;border-radius:8px;white-space:nowrap;transition:opacity 150ms;}
.cb-btn-primary:hover{opacity:0.9;}

/* ============================================
   CB Footer - Global Styles
   ============================================ */
.cb-footer{background:#0D0704;padding:64px 0 0;}
.cb-footer-inner{max-width:1400px;margin:0 auto;padding:0 24px 40px;}
.cb-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.cb-footer-brand{display:flex;flex-direction:column;}
.cb-footer-tagline{font-family:'dm sans',"dm sans Fallback",system-ui,sans-serif;font-size:14px;line-height:1.6;color:rgba(245,239,230,0.55);margin:0;max-width:320px;}
.cb-footer-email{font-family:'dm sans',"dm sans Fallback",system-ui,sans-serif;font-size:13px;color:rgba(245,239,230,0.35);margin:12px 0 0;}
.cb-footer-col-title{font-family:'jetbrains mono',"jetbrains mono Fallback",ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:#F5EFE6;margin:0 0 16px;}
.cb-footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.cb-footer-links a{font-family:'dm sans',"dm sans Fallback",system-ui,sans-serif;font-size:14px;color:rgba(245,239,230,0.55);text-decoration:none;transition:color 150ms;}
.cb-footer-links a:hover{color:#F5EFE6;}
.cb-footer-bottom{border-top:1px solid rgba(245,239,230,0.08);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.cb-footer-copy{font-family:'dm sans',"dm sans Fallback",system-ui,sans-serif;font-size:13px;color:rgba(245,239,230,0.35);margin:0;}
.cb-footer-legal{font-family:'jetbrains mono',"jetbrains mono Fallback",ui-monospace,monospace;font-size:11px;color:rgba(245,239,230,0.25);margin:0;}


/* ============================================
   ChefBase - Fix espacement lecture articles
   Ajoute juillet 2026
   ============================================ */
.cb-post-content .wp-block-post-content p{margin:0 0 28px !important;line-height:1.75 !important;}
.cb-post-content .wp-block-post-content h2{margin:56px 0 20px !important;}
.cb-post-content .wp-block-post-content h3{margin:40px 0 14px !important;}
.cb-post-content .wp-block-post-content figure{margin:44px auto !important;}
.cb-post-content .wp-block-post-content ul,
.cb-post-content .wp-block-post-content ol{margin:0 0 28px !important;line-height:1.75 !important;}
.cb-post-content .wp-block-post-content li{margin:10px 0 !important;}
@media(max-width:600px){
.cb-post-content .wp-block-post-content p{margin:0 0 24px !important;}
.cb-post-content .wp-block-post-content h2{margin:44px 0 16px !important;}
}

