:root {
  /* === COULEURS === */
  --cx-color-primary: #E8603C;
  --cx-color-primary-dark: #C94A29;
  --cx-color-primary-light: #F5A488;
  --cx-color-secondary: #0F4C4C;
  --cx-color-secondary-light: #1E6E6E;
  --cx-color-accent: #F2B705;

  --cx-color-success: #2E9E5B;
  --cx-color-warning: #F2B705;
  --cx-color-danger: #D64545;
  --cx-color-info: #2B7FDB;

  --cx-color-bg: #FFFFFF;\n  --cx-color-bg-alt: #F7F5F2; /* disponible pour sections alternees, non utilise par defaut */
  --cx-color-surface: #FFFFFF;
  --cx-color-border: #E5E1DB;
  --cx-color-text: #1C1C1C;
  --cx-color-text-muted: #6B6B6B;

  /* === TYPOGRAPHIE === */
  --cx-font-heading: 'Poppins', sans-serif;
  --cx-font-body: 'Inter', sans-serif;

  --cx-fs-xs: 0.75rem;
  --cx-fs-sm: 0.875rem;
  --cx-fs-base: 1rem;
  --cx-fs-md: 1.125rem;
  --cx-fs-lg: 1.375rem;
  --cx-fs-xl: 1.75rem;
  --cx-fs-2xl: 2.25rem;

  --cx-fw-regular: 400;
  --cx-fw-medium: 500;
  --cx-fw-semibold: 600;
  --cx-fw-bold: 700;

  /* === SPACING === */
  --cx-space-1: 4px;
  --cx-space-2: 8px;
  --cx-space-3: 12px;
  --cx-space-4: 16px;
  --cx-space-5: 24px;
  --cx-space-6: 32px;
  --cx-space-7: 48px;
  --cx-space-8: 64px;
  --cx-space-9: 96px;

  /* === GRID / BREAKPOINTS (reference JS/SCSS) === */
  --cx-container-max: 1280px;
  --cx-grid-gutter: 20px;

  /* === RADIUS === */
  --cx-radius-sm: 6px;
  --cx-radius-md: 10px;
  --cx-radius-lg: 16px;
  --cx-radius-pill: 999px;

  /* === SHADOWS === */
  --cx-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --cx-shadow-md: 0 4px 12px rgba(0,0,0,0.10);
  --cx-shadow-lg: 0 12px 32px rgba(0,0,0,0.14);
  --cx-shadow-sticky: 0 -4px 16px rgba(0,0,0,0.12);

  /* === TRANSITIONS === */
  --cx-transition-fast: 120ms ease;
  --cx-transition-base: 200ms ease;
}

body {
  background: var(--cx-color-bg);
  color: var(--cx-color-text);
  font-family: var(--cx-font-body);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--cx-font-heading);
  font-weight: var(--cx-fw-semibold);
}

/* === Boutons === */
.cx-btn-primary {
  background: var(--cx-color-primary);
  color: #fff;
  border-radius: var(--cx-radius-md);
  padding: 12px 24px;
  font-weight: var(--cx-fw-semibold);
  border: none;
  transition: background var(--cx-transition-fast);
}
.cx-btn-primary:hover {
  background: var(--cx-color-primary-dark);
}

/* === Badges === */
.cx-badge {
  display: inline-block;
  border-radius: var(--cx-radius-pill);
  font-size: var(--cx-fs-xs);
  font-weight: var(--cx-fw-bold);
  padding: 4px 10px;
}
.cx-badge-promo { background: var(--cx-color-accent); color: var(--cx-color-text); }
.cx-badge-livraison { background: var(--cx-color-secondary-light); color: #fff; }

/* === Card produit === */
.cx-product-card {
  background: var(--cx-color-surface);
  border-radius: var(--cx-radius-lg);
  box-shadow: var(--cx-shadow-sm);
  transition: box-shadow var(--cx-transition-base), transform var(--cx-transition-base);
}
.cx-product-card:hover {
  box-shadow: var(--cx-shadow-md);
  transform: translateY(-2px);
}

/* === Sticky purchase bar (mobile) === */
.cx-sticky-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: var(--cx-color-surface);
  box-shadow: var(--cx-shadow-sticky);
  padding: var(--cx-space-3) var(--cx-space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 999;
}


/* === Grille catalogue (page Boutique) === */
ul.products{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:var(--cx-space-5) !important;list-style:none;padding:0;margin:0}
@media (max-width:1024px){ul.products{grid-template-columns:repeat(3,1fr) !important}}
@media (max-width:768px){ul.products{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:480px){ul.products{grid-template-columns:1fr !important}}
ul.products li.product{background:var(--cx-color-surface);border-radius:var(--cx-radius-lg);box-shadow:var(--cx-shadow-sm);padding:var(--cx-space-4);margin:0 !important;display:flex;flex-direction:column;text-align:center;transition:box-shadow var(--cx-transition-base), transform var(--cx-transition-base);float:none !important;width:auto !important}
ul.products li.product:hover{box-shadow:var(--cx-shadow-md);transform:translateY(-2px)}
ul.products li.product img{border-radius:var(--cx-radius-md);width:100%;height:auto;object-fit:cover;margin-bottom:var(--cx-space-3)}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--cx-font-heading);font-size:var(--cx-fs-base);font-weight:var(--cx-fw-semibold);margin:var(--cx-space-2) 0;color:var(--cx-color-text)}
ul.products li.product .price{font-size:var(--cx-fs-md);margin-bottom:var(--cx-space-3)}
ul.products li.product .button{margin-top:auto;background:var(--cx-color-secondary);color:#fff;border-radius:var(--cx-radius-pill);padding:10px 20px;font-weight:var(--cx-fw-medium)}
ul.products li.product .onsale{background:var(--cx-color-accent);color:var(--cx-color-text);border-radius:var(--cx-radius-pill);font-size:var(--cx-fs-xs);font-weight:var(--cx-fw-bold);padding:4px 10px;position:absolute;top:12px;left:12px;min-width:auto;height:auto;line-height:normal}


/* === Ingredients / How-to-use / FAQ === */
.cx-ingredients-list{list-style:none;padding:0;margin:var(--cx-space-4) 0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--cx-space-3)}
.cx-ingredients-list li{display:flex;flex-direction:column;padding:var(--cx-space-3);background:var(--cx-color-bg-alt);border-radius:var(--cx-radius-md)}
.cx-ingredients-list li strong{font-family:var(--cx-font-heading);font-size:var(--cx-fs-sm);margin-bottom:4px}
.cx-ingredients-list li span{font-size:var(--cx-fs-xs);color:var(--cx-color-text-muted)}
.cx-howto-list{list-style:none;counter-reset:cx-step;padding:0;margin:var(--cx-space-4) 0;display:flex;flex-direction:column;gap:var(--cx-space-4)}
.cx-howto-list li{counter-increment:cx-step;display:flex;flex-direction:column;padding-left:var(--cx-space-7);position:relative}
.cx-howto-list li:before{content:counter(cx-step);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--cx-color-secondary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--cx-fs-sm);font-weight:var(--cx-fw-bold)}
.cx-howto-list li strong{font-family:var(--cx-font-heading);font-size:var(--cx-fs-base);margin-bottom:2px}
.cx-howto-list li span{font-size:var(--cx-fs-sm);color:var(--cx-color-text-muted)}
.cx-faq-list{display:flex;flex-direction:column;gap:var(--cx-space-2);margin:var(--cx-space-4) 0}
.cx-faq-item{background:var(--cx-color-bg-alt);border-radius:var(--cx-radius-md);padding:var(--cx-space-3) var(--cx-space-4)}
.cx-faq-item summary{font-family:var(--cx-font-heading);font-weight:var(--cx-fw-semibold);cursor:pointer;font-size:var(--cx-fs-base)}
.cx-faq-item p{font-size:var(--cx-fs-sm);color:var(--cx-color-text-muted);margin:var(--cx-space-2) 0 0}


/* === Livraison === */
.cx-delivery-list{list-style:none;padding:0;margin:var(--cx-space-4) 0;display:flex;flex-direction:column;gap:var(--cx-space-3)}
.cx-delivery-list li{display:flex;flex-direction:column;padding:var(--cx-space-3) var(--cx-space-4);background:var(--cx-color-bg-alt);border-radius:var(--cx-radius-md);border-left:3px solid var(--cx-color-secondary)}
.cx-delivery-list li strong{font-family:var(--cx-font-heading);font-size:var(--cx-fs-base);margin-bottom:2px}
.cx-delivery-list li span{font-size:var(--cx-fs-sm);color:var(--cx-color-text-muted)}


/* === CTA principal (Phase 4 CRO fix) === */
.single_add_to_cart_button.button.alt, .single_add_to_cart_button.button{background:var(--cx-color-primary) !important;color:#fff !important;border-radius:var(--cx-radius-md) !important;font-weight:var(--cx-fw-semibold) !important;border:none !important;padding:14px 24px !important;font-size:var(--cx-fs-base) !important;transition:background var(--cx-transition-fast)}
.single_add_to_cart_button.button.alt:hover, .single_add_to_cart_button.button:hover{background:var(--cx-color-primary-dark) !important}
