/* ---------------------------*/
/* ==========================================================================
   SYSTÈME DE DESIGN - Variables et bases
   ========================================================================== */

:root {
  --color-accent: var(--e-global-color-accent, #E2CA8D);
  --color-primary: var(--e-global-color-primary, #1E1E1E);
  --color-text: var(--e-global-color-text, #333333);
  --color-surface: var(--e-global-color-secondary, #FAF7F3);
  --color-white: #FFFFFF;
  --color-dark: #2C2C2C;
  --color-light: #F3F3F3;
  
  
  --radius-sm: 0.25rem;  
  --radius-md: 0.75rem;  /* 12px */
  --radius-lg: 1rem;     
  --radius-full: 999px;
  
  /* Largeur maximale */
  --max-width: 80rem;    /* 1280px */
  
  /* Typographies avec fallbacks robustes */
  --font-family-primary: var(--e-global-typography-primary-font-family, Montserrat), Montserrat, Roboto, Inter, Open Sans, sans-serif;
  --font-family-text: var(--e-global-typography-text-font-family, Inter), Inter, Roboto, Open Sans, sans-serif;
  --fw-normal: var(--e-global-typography-text-font-weight, 400);
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: var(--e-global-typography-primary-font-weight, 700);
  
  --font-size-xs: 0.75rem;    /* 12px */
  --font-size-sm: 0.875rem;   /* 14px */
  --font-size-base: 1rem;     /* 16px */
  --font-size-lg: 1.125rem;   /* 18px */
  --font-size-xl: 1.25rem;    /* 20px */
  --font-size-2xl: 1.5rem;    /* 24px */
  --font-size-3xl: 1.875rem;  /* 30px */
  
  --line-height-tight: 1.1;
  --line-height-normal: 1.4;
  --line-height-relaxed: 1.6;
  
  /* Icônes */
  --icon-size-sm: 1.25rem;    /* 20px */
  --icon-size-md: 1.5rem;     /* 24px */
  --icon-stroke: 1.5;
  
  /* Ombres */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 6px 24px rgba(0, 0, 0, 0.08);
  
  /* Transitions */
  --transition-fast: 0.12s ease;
  --transition-normal: 0.2s ease;
}

/* ==========================================================================
   RESET ET BASE
   ========================================================================== */
html, body {
    overflow-x: hidden;
    }

* {
  box-sizing: border-box;
}


/* ==========================================================================
   LAYOUT ET CONTENEURS
   ========================================================================== */

.u-section {
  padding: 4rem 1rem;
  width: 100%;
}

.u-container {
  max-width: var(--max-width);
  margin-inline: auto;
  width: 100%;
}

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 4rem !important;
  align-items: center;
}

@media (max-width: 56.25rem) {
  .grid-2 {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* ==========================================================================
   THÈMES (DARK/LIGHT)
   ========================================================================== */

.dark {
  color: var(--color-light);
}

.light {
  background: var(--color-surface);
  color: var(--color-text);
}

.light .badge {
  background: color-mix(in oklab, var(--color-accent) 22%, var(--color-white));
  color: var(--color-primary);
  border-color: color-mix(in oklab, var(--color-accent) 35%, var(--color-primary) 5%);
}

/* Espacement compact section (mode clair) */
.light .text-lead {
  margin: 0 0 1rem 0; /* 24px au lieu de 40px */
}

.light .c-list-icons {
  margin: 1.5rem 0 1.5rem 0; /* 24px au lieu de 40px */
}

.light .btn {
  margin: 1.5rem 0; /* 24px au lieu de 40px */
}

/* ==========================================================================
   COMPOSANTS RÉUTILISABLES
   ========================================================================== */

/* Badge */
.badge,
.elementor-widget.badge-el .elementor-heading-title {
  display: inline-block;
  margin: 0 0 1rem 0;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs)!important;
  line-height: 1!important;
  font-family: var(--font-family-primary);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: color-mix(in oklab, var(--color-accent) 22%, white);
  border: 1px solid color-mix(in oklab, var(--color-accent) 35%, var(--color-primary) 5%);
}
.badge.dark,
.elementor-widget.badge-el.dark .elementor-heading-title {
  background: color-mix(in oklab, var(--color-accent) 14%, transparent);
  color: var(--color-light);
  border-color: #E5D19F;
}


/* Titre principal */
.c-title {
  margin: 0 0 1.5rem 0;
  color: var(--color-primary);
  font-family: var(--font-family-primary);
  font-weight: var(--fw-bold);
  font-size: 2rem;
  line-height: var(--line-height-tight);
}

/* Texte d'introduction */
.text-lead {
  margin: 0 0 0.5rem 0;
  font-family: var(--font-family-text);
  font-weight: var(--fw-normal);
  font-size: 1.125rem;
  line-height: var(--line-height-relaxed);
  color: var(--color-text);
}

/* Média (images) */
.c-media, .c-media img, .elementor-kit-12 img.c-media{
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-light);
  box-shadow: var(--shadow-lg);
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 4/3;
}

/* Conteneur figure */
figure {
  margin: 0;
  padding: 0;
}

@media (max-width: 56.25rem) {
  .c-media > img {
    aspect-ratio: 16/9;
  }
}

/* Liste d'icônes (style simple) */
.c-list-icons {
  list-style: none;
  margin: 1.5rem 0 1.5rem 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.c-list-icons li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-primary);
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  font-family: var(--font-family-text);
  font-weight: var(--fw-medium);
}

.c-list-icons .icon {
  display: inline-grid;
  place-items: center;
  inline-size: var(--icon-size-md);
  block-size: var(--icon-size-md);
  flex: 0 0 auto;
  color: var(--color-accent);
}

.c-list-icons .icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: var(--icon-stroke);
  fill: none;
  vector-effect: non-scaling-stroke;
}
.c-list-icons .icon-big svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 3;
  fill: none;
  vector-effect: non-scaling-stroke;
}

.c-list-icons .label {
  white-space: normal;
}

/* Cartes (composant réutilisable) */
.box {
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.08),
    0 4px 6px rgba(0, 0, 0, 0.05);
}

.box:hover {
  box-shadow:
    0 2px 6px rgba(0, 0, 0, 0.08),
    0 6px 12px rgba(0, 0, 0, 0.05);
}



.card-post h4, .card-post .post-excerp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cards-list {
  list-style: none;
  margin: 2.5rem 0 2.5rem 0;
  padding: 0;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cards-list li {
  background: color-mix(in oklab, var(--color-white) 4%, transparent);
  border: 1px solid color-mix(in oklab, currentColor 14%, transparent);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  text-align: center;
}
.dark .cards-list li {
	background : #2c2c2cac;
}
.cards-list .icon {
  display: inline-grid;
  place-items: center;
  inline-size: var(--icon-size-md);
  block-size: var(--icon-size-md);
  color: var(--color-accent);
  margin-bottom: 1.5rem;
}

.cards-list .icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: var(--icon-stroke);
  vector-effect: non-scaling-stroke;
}

.cards-list h4 {
  margin: 0 0 0.5rem 0;
  color: inherit;
  font-family: var(--font-family-primary);
  font-weight: var(--fw-semibold);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-tight);
}

.cards-list p {
  margin: 0;
  color: color-mix(in oklab, currentColor 82%, transparent);
  font-family: var(--font-family-text);
  font-weight: var(--fw-normal);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
}

/* Responsive pour les cartes */
@media (max-width: 900px) {
  .cards-list {
    grid-template-columns: 1fr;
  }
}

/* Bouton */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-sm);
  margin: 1.5rem 0 0 0;
  font-family: var(--font-family-text);
  font-weight: var(--fw-semibold);
  font-size: var(--font-size-md);
  text-decoration: none;
  border: 1px solid transparent;
  transition: all var(--transition-fast);
  cursor: pointer;
}

.btn--accent {
  background: var(--color-accent);
  border-color: #CBB67E;
  color: var(--color-primary);
}

.btn--accent:hover {
  background: #CBB67E;
  box-shadow: var(--shadow-md);
}

.btn--accent:active {
  filter: brightness(0.95) saturate(1.02);
}

/* ==========================================================================
   SECTIONS SPÉCIFIQUES
   ========================================================================== */


/* Centrage du contenu de la première section */
.dark header {
  text-align: center;
  margin-bottom: 1.5rem;
}

/* Couleurs spécifiques pour le mode sombre */
.dark .c-title {
  color: var(--color-light);
}

.dark .text-lead {
  color: color-mix(in oklab, var(--color-light) 80%, transparent);
}

/* Responsive pour la liste d'icônes */
@media (max-width: 900px) {
  .c-list-icons {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   UTILITAIRES ET HELPERS
   ========================================================================== */

/* Espacement normal entre les sections */
.u-section + .u-section {
    margin-top: 0;
  }
  
  /* Classes utilitaires pour les thèmes */
  .dark,
  .light {
    transition: background-color var(--transition-normal), color var(--transition-normal);
  }
  
  /* Classes utilitaires pour l'espacement */
  .mt-0 { margin-top: 0; }
  .mb-0 { margin-bottom: 0; }
  .mt-md { margin-top: 1rem; }
  .mb-md { margin-bottom: 1rem; }
  
  /* Classes utilitaires pour l'alignement */
  .text-center { text-align: center; }
  .text-left { text-align: left; }
  .text-right { text-align: right; }
  
  /* ==========================================================================
     COMPATIBILITÉ ELEMENTOR
     =========================================================================*/
  
  /* Priorité pour les liens dans les widgets HTML */
  .html-block a.btn--accent {
    color: inherit !important;
  }

/* ==========================================================================
   GLOBAL WOOCOMMERCE
   ========================================================================== */

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  padding: 1em 2em 1em 3.5em;
  margin: 0 0 2em;
  position: relative;
  background-color: #2c2c2c;
  color: #f7f7f7;
  border-top: 3px solid #E2CA8D;
  list-style: none outside;
  width: auto;
  word-wrap: break-word;
}
.woocommerce-message::before {
  color: #E2CA8D;
}
.p-Grid.p-CardForm label {
  color: #1e1e1e;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar {
display:none;
}
/* Card btn header*/
card-btn .elementor-button  {
  padding: 6px!important;
}
/* PAGE : MON COMPTE - Suivi commande */
a.button.track-button {
  BACKGROUND: #2c2c2c!important;
  font-weight: inherit!important;
  color: #f7f7f7!important;
} 
#elementor-menu-cart__toggle_button {
  padding: 0.5rem!important;
}
#elementor-menu-cart__toggle_button:hover {
  background: none!important;
}
.woocommerce #reviews #comments ol.commentlist {
  padding: 0!important;
}
/* ==========================================================================
FIXES
   ========================================================================== */
/* FAQ */
.cus-faq a {
  color: #CBB67E;
}
/* Hide reset variations */
.reset_variations {
  display: none!important;
}
svg.e-font-icon-svg.e-eicon-bag-solid:focus {
  outline: none!important;
}
