/*
Theme Name:     OukiWeb Child
Theme URI:      n/a
Template:       kadence
Author:         OukiWeb
Author URI:     n/a
Description:    Child Theme Description - Version avec dégradés améliorés
Version:        1.0.3
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/

/* ========= CUSTOM PROPERTIES pilotées par Kadence ========= */
:root {
  /* Couleurs principales (mappées si palette Kadence présente) */
  --ow-primary:         var(--global-palette1, #10B981);
  --ow-accent:          var(--global-palette2, #34D399);

  /* Arrière-plans (dark) */
  --ow-bg:              var(--global-palette9, #0B0F1A);
  --ow-bg-secondary:    var(--global-palette8, #0D121C);
  --ow-bg-tertiary:     var(--global-palette7, #0A0E18);

  /* Texte */
  --ow-text:            var(--global-palette9-contrast, #E6EAF2);
  --ow-text-secondary:  var(--global-palette5, #B8C4D0);
  --ow-muted:           var(--global-palette6, #9AA3B2);

  /* Surfaces / bordures */
  --ow-card:            var(--global-palette7, #111827);
  --ow-border:          rgba(255, 255, 255, 0.08);
  --ow-border-accent:   color-mix(in oklab, var(--ow-primary) 18%, transparent);

  /* Liseré dégradé harmonisé (utilisé partout) */
  --ow-edge-strength: 50%;
  --ow-edge-gradient: linear-gradient(
    90deg,
    transparent,
    color-mix(in oklab, var(--ow-primary) var(--ow-edge-strength), transparent),
    transparent
  );

  /* Effet glassmorphism harmonisé */
  --ow-glass-bg: color-mix(in oklab, var(--ow-card) 85%, transparent);
  --ow-glass-border: color-mix(in oklab, var(--ow-primary) 15%, transparent);
  --ow-glass-glow: color-mix(in oklab, var(--ow-primary) 12%, transparent);

  /* Rayons / spacing / typo scales */
  --radius: 16px;
  --radius-sm: 8px;
  --radius-xs: 6px;

  --spacing: 1.25rem;
  --spacing-sm: 0.75rem;
  --spacing-lg: 2rem;
  --spacing-xl: 3rem;

  --container-padding: clamp(1.5rem, 4vw, 3rem);
  --content-width: min(65ch, 90vw);
  --wide-width:    min(120ch, 95vw);

  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;

  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* Ombres harmonisées */
  --shadow:         0 6px 18px rgba(0, 0, 0, 0.25);
  --shadow-lg:      0 10px 30px rgba(0, 0, 0, 0.18);
  --shadow-subtle:  0 2px 8px  rgba(0, 0, 0, 0.15);
  --shadow-glow:    0 0 20px color-mix(in oklab, var(--ow-primary) 8%, transparent);

  /* Transitions */
  --transition:       all 0.3s ease;
  --transition-fast:  all 0.2s ease;

  /* Fond global (gradient doux) */
  --gradient-main:
    radial-gradient(1400px 900px at 15% 10%, color-mix(in oklab, var(--ow-primary) 12%, transparent), transparent 70%),
    radial-gradient(1200px 800px at 85% 90%, color-mix(in oklab, var(--ow-accent) 8%, transparent), transparent 65%),
    linear-gradient(135deg, var(--ow-bg) 0%, var(--ow-bg-secondary) 50%, var(--ow-bg-tertiary) 100%);

  /* Verre / reflets harmonisé */
  --gradient-glass:
    linear-gradient(145deg, 
      color-mix(in oklab, var(--ow-primary) 8%, transparent) 0%, 
      color-mix(in oklab, var(--ow-accent) 4%, transparent) 50%, 
      color-mix(in oklab, var(--ow-accent) 6%, transparent) 100%
    ),
    radial-gradient(1200px 800px at 80% -10%, color-mix(in oklab, var(--ow-primary) 15%, transparent), transparent 60%);

  /* Fonts */
  --font-primary:   "Montserrat", ui-sans-serif, system-ui, sans-serif;
  --font-secondary: "Ubuntu", ui-sans-serif, system-ui, sans-serif;
  --font-mono:      ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* Effets */
  --blur:         blur(24px) saturate(180%);
  --blur-mobile:  blur(16px) saturate(160%);
}

/* ========= BASE & RESET ========= */
* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  font-size: 100%;
  height: 100%;
}

html, body, .site {
  min-height: 100%;
  background: var(--ow-bg) !important;
  background-image: var(--gradient-main) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-attachment: fixed;
  color: var(--ow-text);
}

/* Laisser voir le gradient global */
.site, .content-wrap, .site-main, .content-area, .entry-content, .wrap, .wp-site-blocks {
  background: transparent !important;
}

/* Typo */
body {
  margin: 0;
  padding: 0;
  font-family: var(--font-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  color: var(--ow-text);
}

/* Liens */
a { color: var(--ow-primary); transition: color .2s ease; text-decoration: none; }
a:hover { color: var(--ow-accent); }

/* ========= CARTES HARMONISÉES (Style glassmorphism comme header/footer) ========= */
.ow-card {
  position: relative;
  background: var(--ow-glass-bg);
  background-image: var(--gradient-glass);
  border: 1px solid var(--ow-glass-border);
  border-radius: var(--radius);
  padding: var(--spacing-lg);
  transition: var(--transition);
  overflow: hidden;
  
  /* Effet verre harmonisé avec header/footer */
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  
  /* Ombre + glow subtil */
  box-shadow: 
    var(--shadow-subtle),
    0 0 0 1px rgba(16, 185, 129, 0.06) inset,
    var(--shadow-glow);
}

/* Liseré supérieur harmonisé (comme header/footer) */
.ow-card::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 0;
  height: 1px;
  background: var(--ow-edge-gradient);
  pointer-events: none;
  opacity: 0.85;
}

/* Hover harmonisé */
.ow-card:hover {
  transform: translateY(-3px);
  border-color: color-mix(in oklab, var(--ow-accent) 25%, transparent);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  
  box-shadow: 
    var(--shadow),
    0 0 0 1px rgba(52, 211, 153, 0.12) inset,
    0 0 30px color-mix(in oklab, var(--ow-accent) 15%, transparent);
}

/* Variante sans effet verre (version simple) */
.ow-card--simple {
  background: var(--ow-card);
  background-image: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-color: var(--ow-border-accent);
}

/* Variante avec liseré uniquement (comme footer) */
.ow-card--edge-only {
  background: var(--ow-card);
  background-image: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: 1px solid var(--ow-border);
}

/* Fallback pour navigateurs sans backdrop-filter */
@supports not (backdrop-filter: blur(10px)) {
  .ow-card {
    background: var(--ow-card);
    background-image: linear-gradient(145deg, 
      color-mix(in oklab, var(--ow-primary) 6%, var(--ow-card)),
      color-mix(in oklab, var(--ow-accent) 3%, var(--ow-card))
    );
  }
}

/* Responsive */
@media (max-width: 768px) {
  .ow-card {
    backdrop-filter: blur(12px) saturate(120%);
    -webkit-backdrop-filter: blur(12px) saturate(120%);
    padding: var(--spacing);
  }
}

/* Respect du "prefers-reduced-motion" */
@media (prefers-reduced-motion: reduce) {
  .ow-card, .ow-card:hover {
    transition: none;
    transform: none;
    backdrop-filter: blur(16px) saturate(140%);
    -webkit-backdrop-filter: blur(16px) saturate(140%);
  }
}

/* ========= BOUTONS CTA HARMONISÉS AVEC DÉGRADÉS AMÉLIORÉS ========= */
.ow-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-sm);
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  border: none;
  outline: none;
  overflow: hidden;
  transition: var(--transition);
  -webkit-user-select: none;
  user-select: none;
}

/* Animation de "respiration" pour le bouton principal */
@keyframes ow-btn-pulse {
  0%, 100% { 
    box-shadow: 
      var(--shadow-subtle),
      0 0 20px color-mix(in oklab, var(--ow-primary) 25%, transparent),
      inset 0 1px 0 rgba(255, 255, 255, 0.15),
      inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 30%, transparent);
  }
  50% { 
    box-shadow: 
      var(--shadow-subtle),
      0 0 25px color-mix(in oklab, var(--ow-primary) 30%, transparent),
      inset 0 1px 0 rgba(255, 255, 255, 0.18),
      inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 25%, transparent);
  }
}

/* Variante principale - Dégradé dynamique avec profondeur */
.ow-btn--primary {
  background: var(--ow-card);
  background-image: 
    radial-gradient(circle at 30% 30%, var(--ow-accent) 0%, transparent 50%),
    linear-gradient(135deg, var(--ow-primary) 0%, color-mix(in oklab, var(--ow-primary) 80%, var(--ow-card)) 50%, var(--ow-accent) 100%);
  color: #fff;
  border: 1px solid color-mix(in oklab, var(--ow-primary) 40%, transparent);
  box-shadow: 
    var(--shadow-subtle),
    0 0 20px color-mix(in oklab, var(--ow-primary) 25%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 30%, transparent);
  
  /* Animation subtile de "respiration" pour suggérer l'interactivité */
  animation: ow-btn-pulse 3s ease-in-out infinite;
}

/* Liseré supérieur sur bouton principal - Plus intense */
.ow-btn--primary::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, 
    transparent, 
    rgba(255, 255, 255, 0.8) 20%, 
    var(--ow-accent) 50%, 
    rgba(255, 255, 255, 0.8) 80%, 
    transparent
  );
  pointer-events: none;
  opacity: 0.9;
  transition: all 0.3s ease;
}

.ow-btn--primary:hover {
  transform: translateY(-3px) scale(1.02);
  
  /* Dégradé inversé + effet radial dynamique au hover */
  background-image: 
    radial-gradient(circle at 70% 70%, var(--ow-primary) 0%, transparent 50%),
    radial-gradient(circle at 20% 80%, var(--ow-accent) 0%, transparent 40%),
    linear-gradient(315deg, var(--ow-accent) 0%, var(--ow-primary) 50%, color-mix(in oklab, var(--ow-accent) 90%, var(--ow-card)) 100%);
  
  box-shadow: 
    var(--shadow),
    0 0 40px color-mix(in oklab, var(--ow-accent) 40%, transparent),
    0 0 80px color-mix(in oklab, var(--ow-primary) 20%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 20%, transparent);
  
  /* Animation suspendue au hover */
  animation: none;
}

/* Liseré plus éclatant au hover */
.ow-btn--primary:hover::after {
  background: linear-gradient(90deg, 
    transparent, 
    var(--ow-accent) 10%, 
    rgba(255, 255, 255, 0.95) 50%, 
    var(--ow-accent) 90%, 
    transparent
  );
  opacity: 1;
  left: 8%;
  right: 8%;
}

.ow-btn--primary:active {
  transform: translateY(0);
  box-shadow: 
    var(--shadow-subtle),
    0 0 15px color-mix(in oklab, var(--ow-primary) 20%, transparent),
    inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Variante secondaire - Glassmorphism avec dégradé subtil */
.ow-btn--secondary {
  background: var(--ow-card);
  background-image: 
    radial-gradient(circle at 80% 20%, color-mix(in oklab, var(--ow-accent) 15%, transparent) 0%, transparent 50%),
    linear-gradient(145deg, 
      color-mix(in oklab, var(--ow-primary) 12%, var(--ow-glass-bg)) 0%, 
      var(--ow-glass-bg) 50%, 
      color-mix(in oklab, var(--ow-accent) 8%, var(--ow-glass-bg)) 100%
    );
  color: var(--ow-text);
  border: 1px solid var(--ow-glass-border);
  backdrop-filter: blur(12px) saturate(130%);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  box-shadow: 
    var(--shadow-subtle),
    inset 0 1px 0 color-mix(in oklab, var(--ow-primary) 8%, transparent),
    inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 40%, transparent);
}

.ow-btn--secondary::after {
  content: "";
  position: absolute;
  left: 15%;
  right: 15%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, 
    transparent, 
    color-mix(in oklab, var(--ow-primary) 40%, transparent) 30%, 
    color-mix(in oklab, var(--ow-accent) 60%, transparent) 50%, 
    color-mix(in oklab, var(--ow-primary) 40%, transparent) 70%, 
    transparent
  );
  pointer-events: none;
  opacity: 0.7;
  transition: all 0.3s ease;
}

.ow-btn--secondary:hover {
  transform: translateY(-3px) scale(1.01);
  color: var(--ow-primary);
  border-color: color-mix(in oklab, var(--ow-accent) 35%, transparent);
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  
  /* Dégradé plus prononcé au hover */
  background-image: 
    radial-gradient(circle at 20% 80%, color-mix(in oklab, var(--ow-primary) 25%, transparent) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, color-mix(in oklab, var(--ow-accent) 20%, transparent) 0%, transparent 50%),
    linear-gradient(315deg, 
      color-mix(in oklab, var(--ow-accent) 15%, var(--ow-glass-bg)) 0%, 
      var(--ow-glass-bg) 40%, 
      color-mix(in oklab, var(--ow-primary) 12%, var(--ow-glass-bg)) 100%
    );
  
  box-shadow: 
    var(--shadow),
    0 0 30px color-mix(in oklab, var(--ow-primary) 20%, transparent),
    inset 0 1px 0 color-mix(in oklab, var(--ow-accent) 15%, transparent),
    inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 30%, transparent);
}

.ow-btn--secondary:hover::after {
  background: linear-gradient(90deg, 
    transparent, 
    color-mix(in oklab, var(--ow-accent) 70%, transparent) 20%, 
    color-mix(in oklab, var(--ow-primary) 80%, transparent) 50%, 
    color-mix(in oklab, var(--ow-accent) 70%, transparent) 80%, 
    transparent
  );
  opacity: 0.95;
  left: 10%;
  right: 10%;
}

/* Variante ghost - Minimaliste avec révélation progressive */
.ow-btn--ghost {
  background: transparent;
  background-image: linear-gradient(135deg, 
    color-mix(in oklab, var(--ow-card) 30%, transparent) 0%, 
    transparent 50%, 
    color-mix(in oklab, var(--ow-primary) 3%, transparent) 100%
  );
  color: var(--ow-text-secondary);
  border: 1px solid var(--ow-border);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 color-mix(in oklab, var(--ow-primary) 4%, transparent);
}

.ow-btn--ghost::after {
  content: "";
  position: absolute;
  left: 25%;
  right: 25%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, 
    transparent, 
    color-mix(in oklab, var(--ow-primary) 30%, transparent), 
    transparent
  );
  pointer-events: none;
  opacity: 0.3;
  transition: all 0.3s ease;
}

.ow-btn--ghost:hover {
  transform: translateY(-2px);
  color: var(--ow-primary);
  border-color: var(--ow-border-accent);
  
  /* Révélation progressive du dégradé */
  background-image: 
    radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--ow-accent) 8%, transparent) 0%, transparent 70%),
    linear-gradient(135deg, 
      color-mix(in oklab, var(--ow-primary) 8%, transparent) 0%, 
      color-mix(in oklab, var(--ow-card) 20%, transparent) 50%, 
      color-mix(in oklab, var(--ow-accent) 5%, transparent) 100%
    );
  
  box-shadow: 
    var(--shadow-subtle),
    0 0 20px color-mix(in oklab, var(--ow-primary) 10%, transparent),
    inset 0 1px 0 color-mix(in oklab, var(--ow-accent) 8%, transparent);
}

.ow-btn--ghost:hover::after {
  background: linear-gradient(90deg, 
    transparent, 
    color-mix(in oklab, var(--ow-primary) 60%, transparent) 30%, 
    color-mix(in oklab, var(--ow-accent) 70%, transparent) 50%, 
    color-mix(in oklab, var(--ow-primary) 60%, transparent) 70%, 
    transparent
  );
  opacity: 0.8;
  left: 15%;
  right: 15%;
}

/* Tailles des boutons */
.ow-btn--sm {
  padding: 0.5rem 1rem;
  font-size: var(--font-size-sm);
}

.ow-btn--lg {
  padding: 1rem 2rem;
  font-size: var(--font-size-lg);
  border-radius: var(--radius);
}

.ow-btn--xl {
  padding: 1.25rem 2.5rem;
  font-size: var(--font-size-xl);
  border-radius: var(--radius);
}

/* État disabled */
.ow-btn:disabled,
.ow-btn--disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
  pointer-events: none;
}

/* Bouton pleine largeur */
.ow-btn--full {
  width: 100%;
}

/* Bouton avec icône */
.ow-btn--icon {
  padding: 0.75rem;
  aspect-ratio: 1;
}

.ow-btn--icon.ow-btn--sm {
  padding: 0.5rem;
}

.ow-btn--icon.ow-btn--lg {
  padding: 1rem;
}

/* Groupe de boutons */
.ow-btn-group {
  display: inline-flex;
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
}

.ow-btn-group .ow-btn {
  border-radius: 0;
  margin: 0;
  border-right: none;
}

.ow-btn-group .ow-btn:first-child {
  border-top-left-radius: var(--radius-sm);
  border-bottom-left-radius: var(--radius-sm);
}

.ow-btn-group .ow-btn:last-child {
  border-top-right-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
  border-right: 1px solid var(--ow-border);
}

/* Responsive */
@media (max-width: 768px) {
  .ow-btn {
    padding: 0.625rem 1.25rem;
    font-size: var(--font-size-sm);
  }
  
  .ow-btn--lg {
    padding: 0.875rem 1.75rem;
    font-size: var(--font-size-base);
  }
  
  .ow-btn--xl {
    padding: 1rem 2rem;
    font-size: var(--font-size-lg);
  }
}

/* Fallback pour navigateurs sans backdrop-filter */
@supports not (backdrop-filter: blur(10px)) {
  .ow-btn--secondary,
  .ow-btn--ghost {
    background: color-mix(in oklab, var(--ow-primary) 5%, var(--ow-card));
  }
}

/* Respect du "prefers-reduced-motion" */
@media (prefers-reduced-motion: reduce) {
  .ow-btn,
  .ow-btn:hover,
  .ow-btn:active {
    transition: none;
    transform: none;
    animation: none;
  }
  
  .ow-btn::after {
    transition: none;
  }
}

/* ========= INTEGRATION KADENCE ADVANCED BUTTONS ========= */
/* Surcharge des boutons Kadence pour appliquer le style OukiWeb */

/* Boutons Kadence - Reset des styles par défaut */
.wp-block-kadence-advancedbtn .kt-button,
.kt-button,
.kadence-button,
a.kt-button {
  position: relative !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  cursor: pointer !important;
  outline: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}

/* Style Principal Kadence - Avec dégradés dynamiques */
.wp-block-kadence-advancedbtn .kt-button.ow-primary,
.kt-button.ow-primary,
.kadence-button.ow-primary,
a.kt-button.ow-primary {
  background: var(--ow-card) !important;
  background-image: 
    radial-gradient(circle at 30% 30%, var(--ow-accent) 0%, transparent 50%),
    linear-gradient(135deg, var(--ow-primary) 0%, color-mix(in oklab, var(--ow-primary) 80%, var(--ow-card)) 50%, var(--ow-accent) 100%) !important;
  color: #fff !important;
  border: 1px solid color-mix(in oklab, var(--ow-primary) 40%, transparent) !important;
  box-shadow: 
    var(--shadow-subtle),
    0 0 20px color-mix(in oklab, var(--ow-primary) 25%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.15),
    inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 30%, transparent) !important;
  animation: ow-btn-pulse 3s ease-in-out infinite !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-primary::after,
.kt-button.ow-primary::after,
.kadence-button.ow-primary::after,
a.kt-button.ow-primary::after {
  content: "" !important;
  position: absolute !important;
  left: 12% !important;
  right: 12% !important;
  top: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, 
    transparent, 
    rgba(255, 255, 255, 0.8) 20%, 
    var(--ow-accent) 50%, 
    rgba(255, 255, 255, 0.8) 80%, 
    transparent
  ) !important;
  pointer-events: none !important;
  opacity: 0.9 !important;
  transition: all 0.3s ease !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-primary:hover,
.kt-button.ow-primary:hover,
.kadence-button.ow-primary:hover,
a.kt-button.ow-primary:hover {
  transform: translateY(-3px) scale(1.02) !important;
  background-image: 
    radial-gradient(circle at 70% 70%, var(--ow-primary) 0%, transparent 50%),
    radial-gradient(circle at 20% 80%, var(--ow-accent) 0%, transparent 40%),
    linear-gradient(315deg, var(--ow-accent) 0%, var(--ow-primary) 50%, color-mix(in oklab, var(--ow-accent) 90%, var(--ow-card)) 100%) !important;
  box-shadow: 
    var(--shadow),
    0 0 40px color-mix(in oklab, var(--ow-accent) 40%, transparent),
    0 0 80px color-mix(in oklab, var(--ow-primary) 20%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.25),
    inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 20%, transparent) !important;
  animation: none !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-primary:hover::after,
.kt-button.ow-primary:hover::after,
.kadence-button.ow-primary:hover::after,
a.kt-button.ow-primary:hover::after {
  background: linear-gradient(90deg, 
    transparent, 
    var(--ow-accent) 10%, 
    rgba(255, 255, 255, 0.95) 50%, 
    var(--ow-accent) 90%, 
    transparent
  ) !important;
  opacity: 1 !important;
  left: 8% !important;
  right: 8% !important;
}

/* Style Secondaire Kadence - Avec dégradés glassmorphism */
.wp-block-kadence-advancedbtn .kt-button.ow-secondary,
.kt-button.ow-secondary,
.kadence-button.ow-secondary,
a.kt-button.ow-secondary {
  background: var(--ow-card) !important;
  background-image: 
    radial-gradient(circle at 80% 20%, color-mix(in oklab, var(--ow-accent) 15%, transparent) 0%, transparent 50%),
    linear-gradient(145deg, 
      color-mix(in oklab, var(--ow-primary) 12%, var(--ow-glass-bg)) 0%, 
      var(--ow-glass-bg) 50%, 
      color-mix(in oklab, var(--ow-accent) 8%, var(--ow-glass-bg)) 100%
    ) !important;
  color: var(--ow-text) !important;
  border: 1px solid var(--ow-glass-border) !important;
  backdrop-filter: blur(12px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
  box-shadow: 
    var(--shadow-subtle),
    inset 0 1px 0 color-mix(in oklab, var(--ow-primary) 8%, transparent),
    inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 40%, transparent) !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-secondary::after,
.kt-button.ow-secondary::after,
.kadence-button.ow-secondary::after,
a.kt-button.ow-secondary::after {
  content: "" !important;
  position: absolute !important;
  left: 15% !important;
  right: 15% !important;
  top: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, 
    transparent, 
    color-mix(in oklab, var(--ow-primary) 40%, transparent) 30%, 
    color-mix(in oklab, var(--ow-accent) 60%, transparent) 50%, 
    color-mix(in oklab, var(--ow-primary) 40%, transparent) 70%, 
    transparent
  ) !important;
  pointer-events: none !important;
  opacity: 0.7 !important;
  transition: all 0.3s ease !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-secondary:hover,
.kt-button.ow-secondary:hover,
.kadence-button.ow-secondary:hover,
a.kt-button.ow-secondary:hover {
  transform: translateY(-3px) scale(1.01) !important;
  color: var(--ow-primary) !important;
  border-color: color-mix(in oklab, var(--ow-accent) 35%, transparent) !important;
  backdrop-filter: blur(16px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(150%) !important;
  background-image: 
    radial-gradient(circle at 20% 80%, color-mix(in oklab, var(--ow-primary) 25%, transparent) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, color-mix(in oklab, var(--ow-accent) 20%, transparent) 0%, transparent 50%),
    linear-gradient(315deg, 
      color-mix(in oklab, var(--ow-accent) 15%, var(--ow-glass-bg)) 0%, 
      var(--ow-glass-bg) 40%, 
      color-mix(in oklab, var(--ow-primary) 12%, var(--ow-glass-bg)) 100%
    ) !important;
  box-shadow: 
    var(--shadow),
    0 0 30px color-mix(in oklab, var(--ow-primary) 20%, transparent),
    inset 0 1px 0 color-mix(in oklab, var(--ow-accent) 15%, transparent),
    inset 0 -1px 0 color-mix(in oklab, var(--ow-card) 30%, transparent) !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-secondary:hover::after,
.kt-button.ow-secondary:hover::after,
.kadence-button.ow-secondary:hover::after,
a.kt-button.ow-secondary:hover::after {
  background: linear-gradient(90deg, 
    transparent, 
    color-mix(in oklab, var(--ow-accent) 70%, transparent) 20%, 
    color-mix(in oklab, var(--ow-primary) 80%, transparent) 50%, 
    color-mix(in oklab, var(--ow-accent) 70%, transparent) 80%, 
    transparent
  ) !important;
  opacity: 0.95 !important;
  left: 10% !important;
  right: 10% !important;
}

/* Style Ghost Kadence - Avec révélation progressive */
.wp-block-kadence-advancedbtn .kt-button.ow-ghost,
.kt-button.ow-ghost,
.kadence-button.ow-ghost,
a.kt-button.ow-ghost {
  background: transparent !important;
  background-image: linear-gradient(135deg, 
    color-mix(in oklab, var(--ow-card) 30%, transparent) 0%, 
    transparent 50%, 
    color-mix(in oklab, var(--ow-primary) 3%, transparent) 100%
  ) !important;
  color: var(--ow-text-secondary) !important;
  border: 1px solid var(--ow-border) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: inset 0 1px 0 color-mix(in oklab, var(--ow-primary) 4%, transparent) !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-ghost::after,
.kt-button.ow-ghost::after,
.kadence-button.ow-ghost::after,
a.kt-button.ow-ghost::after {
  content: "" !important;
  position: absolute !important;
  left: 25% !important;
  right: 25% !important;
  top: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, 
    transparent, 
    color-mix(in oklab, var(--ow-primary) 30%, transparent), 
    transparent
  ) !important;
  pointer-events: none !important;
  opacity: 0.3 !important;
  transition: all 0.3s ease !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-ghost:hover,
.kt-button.ow-ghost:hover,
.kadence-button.ow-ghost:hover,
a.kt-button.ow-ghost:hover {
  transform: translateY(-2px) !important;
  color: var(--ow-primary) !important;
  border-color: var(--ow-border-accent) !important;
  background-image: 
    radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--ow-accent) 8%, transparent) 0%, transparent 70%),
    linear-gradient(135deg, 
      color-mix(in oklab, var(--ow-primary) 8%, transparent) 0%, 
      color-mix(in oklab, var(--ow-card) 20%, transparent) 50%, 
      color-mix(in oklab, var(--ow-accent) 5%, transparent) 100%
    ) !important;
  box-shadow: 
    var(--shadow-subtle),
    0 0 20px color-mix(in oklab, var(--ow-primary) 10%, transparent),
    inset 0 1px 0 color-mix(in oklab, var(--ow-accent) 8%, transparent) !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-ghost:hover::after,
.kt-button.ow-ghost:hover::after,
.kadence-button.ow-ghost:hover::after,
a.kt-button.ow-ghost:hover::after {
  background: linear-gradient(90deg, 
    transparent, 
    color-mix(in oklab, var(--ow-primary) 60%, transparent) 30%, 
    color-mix(in oklab, var(--ow-accent) 70%, transparent) 50%, 
    color-mix(in oklab, var(--ow-primary) 60%, transparent) 70%, 
    transparent
  ) !important;
  opacity: 0.8 !important;
  left: 15% !important;
  right: 15% !important;
}

/* Tailles pour boutons Kadence */
.wp-block-kadence-advancedbtn .kt-button.ow-sm,
.kt-button.ow-sm,
.kadence-button.ow-sm,
a.kt-button.ow-sm {
  padding: 0.5rem 1rem !important;
  font-size: var(--font-size-sm) !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-lg,
.kt-button.ow-lg,
.kadence-button.ow-lg,
a.kt-button.ow-lg {
  padding: 1rem 2rem !important;
  font-size: var(--font-size-lg) !important;
  border-radius: var(--radius) !important;
}

.wp-block-kadence-advancedbtn .kt-button.ow-xl,
.kt-button.ow-xl,
.kadence-button.ow-xl,
a.kt-button.ow-xl {
  padding: 1.25rem 2.5rem !important;
  font-size: var(--font-size-xl) !important;
  border-radius: var(--radius) !important;
}

/* Override des styles Kadence spécifiques */
.wp-block-kadence-advancedbtn .kt-button[class*="ow-"] {
  background-clip: padding-box !important;
  -webkit-background-clip: padding-box !important;
}

/* Fallback pour navigateurs sans backdrop-filter sur boutons Kadence */
@supports not (backdrop-filter: blur(10px)) {
  .wp-block-kadence-advancedbtn .kt-button.ow-secondary,
  .kt-button.ow-secondary,
  .kadence-button.ow-secondary,
  a.kt-button.ow-secondary,
  .wp-block-kadence-advancedbtn .kt-button.ow-ghost,
  .kt-button.ow-ghost,
  .kadence-button.ow-ghost,
  a.kt-button.ow-ghost {
    background: color-mix(in oklab, var(--ow-primary) 5%, var(--ow-card)) !important;
  }
}

/* Respect du "prefers-reduced-motion" pour boutons Kadence */
@media (prefers-reduced-motion: reduce) {
  .wp-block-kadence-advancedbtn .kt-button[class*="ow-"]:hover,
  .kt-button[class*="ow-"]:hover,
  .kadence-button[class*="ow-"]:hover,
  a.kt-button[class*="ow-"]:hover {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}

/* ========= HEADER / FOOTER (verre) ========= */
.site-header, .site-footer,
.site-header .site-header-wrap, 
.site-footer .site-footer-wrap,
.footer-middle-inner, .footer-bottom-inner {
  background: transparent !important;
}

header#masthead.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: color-mix(in oklab, var(--ow-bg) 40%, transparent);
  background-image: var(--gradient-glass);
  backdrop-filter: var(--blur);
  -webkit-backdrop-filter: var(--blur);
  border-bottom: 1px solid var(--ow-border-accent);
  box-shadow: 0 8px 32px rgba(0,0,0,.2), inset 0 1px 0 color-mix(in oklab, var(--ow-accent) 8%, transparent);
}

.is-stuck header#masthead.site-header,
.is-sticky header#masthead.site-header {
  background: color-mix(in oklab, var(--ow-bg) 55%, transparent);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
}

.site-header a,
.site-header .menu a {
  color: var(--ow-text) !important;
  transition: color .2s ease, opacity .2s ease;
}
.site-header a:hover,
.site-header .menu a:hover { color: var(--ow-primary) !important; }

.menu-toggle, .header-button, .header-cart, .header-search { color: var(--ow-text); }
.menu-toggle:hover, .header-button:hover, .header-cart:hover, .header-search:hover { color: var(--ow-accent); }

.site-footer {
  background: color-mix(in oklab, var(--ow-bg) 42%, transparent);
  background-image: var(--gradient-glass);
  backdrop-filter: var(--blur);
  -webkit-backdrop-filter: var(--blur);
  border-top: 1px solid var(--ow-border-accent);
  box-shadow: 0 -8px 32px rgba(0,0,0,.2), inset 0 1px 0 color-mix(in oklab, var(--ow-accent) 8%, transparent);
}

.site-footer, .site-footer p, .site-footer li, .site-footer a { color: var(--ow-text-secondary) !important; }
.site-footer a:hover { color: var(--ow-primary) !important; }

/* Reflets fins harmonisés */
header#masthead.site-header::after,
.site-footer::before {
  content: '';
  position: absolute;
  left: 8%;
  right: 8%;
  height: 1px;
  pointer-events: none;
}
header#masthead.site-header::after {
  top: 0;
  background: var(--ow-edge-gradient);
  opacity: 0.9;
}
.site-footer::before {
  top: 0;
  background: var(--ow-edge-gradient);
  opacity: 0.85;
}

@media (max-width: 1024px) {
  header#masthead.site-header,
  .site-footer {
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
  }
}

/* Fallback navigateurs sans backdrop-filter */
@supports not (backdrop-filter: blur(10px)) {
  header#masthead.site-header,
  .site-footer {
    background: linear-gradient(
      145deg,
      color-mix(in oklab, var(--ow-primary) 8%, var(--ow-bg)) 0%,
      color-mix(in oklab, var(--ow-accent) 4%, var(--ow-bg)) 50%,
      color-mix(in oklab, var(--ow-accent) 6%, var(--ow-bg)) 100%
    );
  }
}

/* État "page active" dans le menu */
.site-header .menu > li.current-menu-item > a,
.site-header .menu > li.current-menu-ancestor > a {
  color: var(--ow-primary) !important;
  position: relative;
}
.site-header .menu > li.current-menu-item > a::after,
.site-header .menu > li.current-menu-ancestor > a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -0.35em;
  height: 2px;
  background: var(--ow-edge-gradient);
  opacity: .9;
}

/* ========= UTILITAIRE LISERÉ (edge-top) ========= */
.edge-top { position: relative; }
.edge-top::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 0;
  height: 1px;
  background: var(--ow-edge-gradient);
  pointer-events: none;
  opacity: 0.85;
}

/* ========= MAC SHORTCUTS COMPONENT ========= */
.mac-shortcuts {
  color: var(--ow-text);
  font-family: system-ui, -apple-system, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
}

.mac-shortcuts .content-section {
  background: var(--ow-glass-bg);
  background-image: var(--gradient-glass);
  border: 1px solid var(--ow-glass-border);
  border-radius: var(--radius-sm);
  padding: var(--container-padding);
  margin-bottom: var(--spacing);
  backdrop-filter: blur(12px) saturate(130%);
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  box-shadow: var(--shadow-subtle), var(--shadow-glow);
  transition: var(--transition);
}

.mac-shortcuts .content-section:hover { 
  border-color: color-mix(in oklab, var(--ow-accent) 20%, transparent);
  transform: translateY(-1px);
}

/* Liseré sur les sections Mac Shortcuts */
.mac-shortcuts .content-section::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 0;
  height: 1px;
  background: var(--ow-edge-gradient);
  pointer-events: none;
  opacity: 0.7;
}

.mac-shortcuts h1 {
  font-size: clamp(1.5rem, 2vw + 1rem, 2.5rem);
  text-align: center;
  margin-bottom: 2rem;
  background: linear-gradient(135deg, var(--ow-accent), var(--ow-primary));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.mac-shortcuts h2 {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: clamp(1.15rem, 1.4vw + 0.6rem, 1.6rem);
  border-bottom: 1px solid var(--ow-border);
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
}

.mac-shortcuts h3 {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: clamp(1rem, 1vw + 0.55rem, 1.25rem);
  margin-bottom: 0.75rem;
}

.mac-shortcuts kbd {
  display: inline-block;
  padding: 0.25em 0.6em;
  margin: 0 0.15em 0 0;
  border-radius: var(--radius-xs);
  background: color-mix(in oklab, var(--ow-primary) 60%, var(--ow-card));
  color: #fff;
  font-family: var(--font-mono);
  font-size: 0.9em;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.02em;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  transition: all 0.1s ease;
}
.mac-shortcuts dt kbd {
  background: var(--ow-primary);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.mac-shortcuts dd {
  margin: 0 0 1.2rem 0;
  padding: 0.7rem 0.9rem;
  background: color-mix(in oklab, var(--ow-primary) 5%, var(--ow-card));
  border: 1px solid var(--ow-border);
  border-radius: var(--radius-sm);
  color: var(--ow-muted);
  line-height: 1.5;
  transition: var(--transition);
}
.mac-shortcuts dd:hover {
  background: color-mix(in oklab, var(--ow-accent) 8%, var(--ow-card));
  border-color: var(--ow-border-accent);
  transform: translateY(-1px);
}

/* ========= WIDGETS & ÉLÉMENTS DE CONTENU ========= */

/* === FIX POUR LES LISTES D'ARCHIVES === */
/* Reset des listes utilisées pour les archives */
.archive .entry,
.blog .entry,
.search .entry,
.loop-entry,
.loop-item,
.post-list-item,
.kadence-posts-wrap ul,
.kadence-posts-wrap ol,
.loop-wrap ul,
.loop-wrap ol,
.archive ul.kadence-posts,
.blog ul.kadence-posts,
ul.kadence-posts,
ol.kadence-posts,
.kadence-posts-wrap,
.loop-wrap,
.posts-list,
.post-list,
.entries,
.entries-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Reset des éléments li dans les archives */
.archive li.entry,
.blog li.entry,
.search li.entry,
.kadence-posts-wrap li,
.loop-wrap li,
ul.kadence-posts > li,
ol.kadence-posts > li,
.posts-list > li,
.post-list > li,
.entries > li,
.entries-list > li {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* S'assurer que les conteneurs de grille ne sont pas affectés */
.kadence-posts-wrap,
.loop-wrap,
.archive .content-wrap,
.blog .content-wrap {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* --- TITRES DE WIDGETS avec ligne gradient --- */
.widget-area .widget-title {
  text-transform: none;
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
}
.widget-area .widget-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, #10B981, #111827);
  border-radius: 2px;
}

/* --- CITATIONS / BLOCKQUOTES avec bordure latérale subtile --- */
.is-style-default,
blockquote,
.wp-block-quote {
  position: relative;
  border-left: 3px solid var(--ow-border-accent);
  padding-left: var(--spacing);
  padding-top: var(--spacing-sm);
  padding-bottom: var(--spacing-sm);
  margin: var(--spacing) 0;
  background: color-mix(in oklab, var(--ow-card) 60%, transparent);
  border-radius: 0 var(--radius-xs) var(--radius-xs) 0;
  font-style: italic;
  color: var(--ow-text-secondary);
  transition: var(--transition);
}

.is-style-default:hover,
blockquote:hover,
.wp-block-quote:hover {
  border-left-color: var(--ow-primary);
  background: color-mix(in oklab, var(--ow-primary) 2%, var(--ow-card));
  transform: translateX(2px);
}

/* --- LISTES DANS LE CONTENU UNIQUEMENT --- */
/* Cibler uniquement les listes dans le contenu des articles/pages */
.entry-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts):not(.posts-list),
.widget-area ul:not(.wp-block-social-links):not(.menu),
.post-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts):not(.posts-list),
.wp-block-post-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts):not(.posts-list),
.comment-content ul:not(.wp-block-social-links):not(.menu) {
  list-style-type: disc;
  padding-left: var(--spacing-lg);
  margin: var(--spacing-sm) 0;
}

/* Couleur des puces de liste */
.entry-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li::marker,
.widget-area ul:not(.wp-block-social-links):not(.menu) li::marker,
.post-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li::marker,
.wp-block-post-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li::marker,
.comment-content ul:not(.wp-block-social-links):not(.menu) li::marker {
  color: var(--ow-text-secondary);
  font-size: 1.1em;
}

/* Styles pour les éléments de liste dans le contenu */
.entry-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li,
.widget-area ul:not(.wp-block-social-links):not(.menu) li,
.post-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li,
.wp-block-post-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li,
.comment-content ul:not(.wp-block-social-links):not(.menu) li {
  margin-bottom: var(--spacing-sm);
  line-height: var(--line-height-relaxed);
  color: var(--ow-text);
  transition: var(--transition-fast);
}

.entry-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover,
.widget-area ul:not(.wp-block-social-links):not(.menu) li:hover,
.post-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover,
.wp-block-post-content ul:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover,
.comment-content ul:not(.wp-block-social-links):not(.menu) li:hover {
  color: var(--ow-primary);
  transform: translateX(2px);
}

/* --- LISTES ORDONNÉES DANS LE CONTENU --- */
.entry-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts):not(.posts-list),
.widget-area ol:not(.wp-block-social-links):not(.menu),
.post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts):not(.posts-list),
.wp-block-post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts):not(.posts-list),
.comment-content ol:not(.wp-block-social-links):not(.menu) {
  list-style: none;
  padding-left: var(--spacing-lg);
  margin: var(--spacing-sm) 0;
  counter-reset: custom-counter;
}

.entry-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li,
.widget-area ol:not(.wp-block-social-links):not(.menu) li,
.post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li,
.wp-block-post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li,
.comment-content ol:not(.wp-block-social-links):not(.menu) li {
  position: relative;
  margin-bottom: var(--spacing-sm);
  line-height: var(--line-height-relaxed);
  color: var(--ow-text);
  counter-increment: custom-counter;
  transition: var(--transition-fast);
}

.entry-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li::before,
.widget-area ol:not(.wp-block-social-links):not(.menu) li::before,
.post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li::before,
.wp-block-post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li::before,
.comment-content ol:not(.wp-block-social-links):not(.menu) li::before {
  content: counter(custom-counter);
  position: absolute;
  left: calc(-1 * var(--spacing-lg));
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  background: var(--ow-card);
  color: var(--ow-text-secondary);
  border: 2px solid var(--ow-border);
  border-radius: 50%;
  font-size: var(--font-size-sm);
  font-weight: 600;
  font-family: var(--font-primary);
  box-shadow: var(--shadow-subtle);
  transition: var(--transition);
}

.entry-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover,
.widget-area ol:not(.wp-block-social-links):not(.menu) li:hover,
.post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover,
.wp-block-post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover,
.comment-content ol:not(.wp-block-social-links):not(.menu) li:hover {
  color: var(--ow-primary);
  transform: translateX(2px);
}

.entry-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover::before,
.widget-area ol:not(.wp-block-social-links):not(.menu) li:hover::before,
.post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover::before,
.wp-block-post-content ol:not(.wp-block-social-links):not(.menu):not(.kadence-posts) li:hover::before,
.comment-content ol:not(.wp-block-social-links):not(.menu) li:hover::before {
  background: var(--ow-primary);
  color: #fff;
  border-color: var(--ow-primary);
  transform: scale(1.05);
  box-shadow: 0 0 8px color-mix(in oklab, var(--ow-primary) 25%, transparent);
}

/* --- TABLEAUX avec style neutre élégant --- */
table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--spacing) 0;
  background: color-mix(in oklab, var(--ow-card) 90%, transparent);
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
  border: 1px solid var(--ow-border);
}

table th {
  background: var(--ow-card);
  background-image: linear-gradient(135deg, 
    color-mix(in oklab, var(--ow-primary) 5%, var(--ow-card)) 0%, 
    var(--ow-card) 100%
  );
  color: var(--ow-text);
  padding: var(--spacing-sm) var(--spacing);
  text-align: left;
  font-family: var(--font-primary);
  font-weight: 600;
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid var(--ow-border-accent);
}

table td {
  padding: var(--spacing-sm) var(--spacing);
  border-bottom: 1px solid var(--ow-border);
  color: var(--ow-text);
  transition: var(--transition-fast);
}

table tr:nth-child(even) td {
  background: color-mix(in oklab, var(--ow-card) 30%, transparent);
}

table tr:hover td {
  background: color-mix(in oklab, var(--ow-primary) 3%, var(--ow-card));
  color: var(--ow-text);
}

/* --- SÉPARATEURS avec gradient harmonisé --- */
hr,
.wp-block-separator {
  border: none;
  height: 1px;
  background: var(--ow-edge-gradient);
  margin: var(--spacing-xl) 0;
  opacity: 0.6;
  transition: var(--transition);
}

hr:hover,
.wp-block-separator:hover {
  opacity: 0.9;
}

/* --- CODES ET ÉLÉMENTS INLINE avec style neutre --- */
code:not(.hljs) {
  background: var(--ow-card);
  color: var(--ow-text-secondary);
  padding: 0.2em 0.4em;
  border-radius: var(--radius-xs);
  font-family: var(--font-mono);
  font-size: 0.9em;
  border: 1px solid var(--ow-border);
  transition: var(--transition-fast);
}

code:not(.hljs):hover {
  border-color: var(--ow-border-accent);
  background: color-mix(in oklab, var(--ow-primary) 2%, var(--ow-card));
}

/* --- CLASSES OPTIONNELLES POUR ACCENTS VERTS --- */
.ow-accent-primary {
  color: var(--ow-primary) !important;
}

.ow-accent-secondary {
  color: var(--ow-accent) !important;
}

ul.ow-list-accent:not(.wp-block-social-links):not(.menu) li::marker {
  color: var(--ow-primary);
}

ol.ow-list-accent:not(.wp-block-social-links):not(.menu) li::before {
  background: var(--ow-primary);
  color: #fff;
  border-color: var(--ow-primary);
}

table.ow-table-accent th {
  background: var(--ow-primary) !important;
  color: #fff !important;
}

.ow-quote-accent {
  border-left-color: var(--ow-primary) !important;
  background: color-mix(in oklab, var(--ow-primary) 3%, var(--ow-card)) !important;
}

/* --- RESPONSIVE DESIGN --- */
@media (max-width: 768px) {
  .widget-area .widget-title {
    padding-bottom: var(--spacing-sm);
  }
  
  .is-style-default,
  blockquote,
  .wp-block-quote {
    padding-left: var(--spacing-sm);
    margin: var(--spacing-sm) 0;
  }
  
  .entry-content ul,
  .entry-content ol,
  .widget-area ul,
  .widget-area ol,
  .post-content ul,
  .post-content ol,
  .wp-block-post-content ul,
  .wp-block-post-content ol {
    padding-left: var(--spacing);
  }
  
  table {
    font-size: var(--font-size-sm);
  }
  
  table th,
  table td {
    padding: var(--spacing-sm);
  }
}

/* --- RESPECT DES PRÉFÉRENCES D'ACCESSIBILITÉ --- */
@media (prefers-reduced-motion: reduce) {
  .widget-area .widget-title::after,
  .is-style-default,
  blockquote,
  .wp-block-quote,
  ul li,
  ol li,
  table tr,
  hr,
  .wp-block-separator,
  code {
    transition: none;
  }
  
  .is-style-default:hover,
  blockquote:hover,
  .wp-block-quote:hover,
  ul li:hover,
  ol li:hover {
    transform: none;
  }
}

/* --- FALLBACK POUR NAVIGATEURS SANS SUPPORT COLOR-MIX --- */
@supports not (color: color-mix(in oklab, #000 50%, #fff)) {
  .is-style-default,
  blockquote,
  .wp-block-quote {
    background: rgba(17, 24, 39, 0.6);
  }
  
  .is-style-default:hover,
  blockquote:hover,
  .wp-block-quote:hover {
    background: rgba(16, 185, 129, 0.02);
  }
  
  table {
    background: rgba(17, 24, 39, 0.9);
  }
  
  table tr:nth-child(even) td {
    background: rgba(17, 24, 39, 0.3);
  }
  
  table tr:hover td {
    background: rgba(16, 185, 129, 0.03);
  }
  
  code:not(.hljs) {
    background: rgba(17, 24, 39, 1);
  }
}

/* ========= CORRECTIONS HEADER KADENCE & MENUS ========= */

/* --- FIX SOUS-MENUS KADENCE --- */
/* Assurer que les sous-menus apparaissent correctement */
.site-header .menu ul.sub-menu,
.site-header .menu ul.children,
.main-navigation ul.sub-menu,
.main-navigation ul.children {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  /*z-index: 9999 !important;*/
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(5px) !important;
  transition: all 0.15s ease !important;
  background: var(--ow-glass-bg) !important;
  background-image: var(--gradient-glass) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  border: 1px solid var(--ow-glass-border) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: var(--shadow) !important;
  padding: var(--spacing-sm) 0 !important;
  margin-top: 0px !important;
  min-width: 220px !important;
  max-width: 300px !important;
  white-space: nowrap !important;
}

/* Zone de tolérance invisible pour éviter que le menu se ferme */
.site-header .menu li {
  position: relative !important;
}

.site-header .menu li::before {
  content: '' !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  height: 10px !important;
  background: transparent !important;
  z-index: 9998 !important;
  pointer-events: auto !important;
}

/* Correction pour les sous-menus à droite si débordement */
.site-header .menu li:last-child ul.sub-menu,
.site-header .menu li:nth-last-child(2) ul.sub-menu {
  left: auto !important;
  right: 0 !important;
}

/* Affichage des sous-menus au hover avec délai */
.site-header .menu li:hover > ul.sub-menu,
.site-header .menu li:hover > ul.children,
.main-navigation li:hover > ul.sub-menu,
.main-navigation li:hover > ul.children,
.site-header .menu li.focus > ul.sub-menu,
.site-header .menu li.focus > ul.children {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  transition-delay: 0.1s !important;
}

/* Délai avant fermeture du menu */
.site-header .menu li ul.sub-menu,
.site-header .menu li ul.children {
  transition-delay: 0s !important;
}

.site-header .menu li:not(:hover) ul.sub-menu,
.site-header .menu li:not(:hover) ul.children {
  transition-delay: 0.2s !important;
}

/* Styles des éléments de sous-menu */
.site-header .menu ul.sub-menu li,
.site-header .menu ul.children li,
.main-navigation ul.sub-menu li,
.main-navigation ul.children li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

.site-header .menu ul.sub-menu li a,
.site-header .menu ul.children li a,
.main-navigation ul.sub-menu li a,
.main-navigation ul.children li a {
  display: block !important;
  padding: var(--spacing-sm) var(--spacing) !important;
  color: var(--ow-text) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border-radius: 0 !important;
  position: relative !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.site-header .menu ul.sub-menu li a:hover,
.site-header .menu ul.children li a:hover,
.main-navigation ul.sub-menu li a:hover,
.main-navigation ul.children li a:hover {
  background: color-mix(in oklab, var(--ow-primary) 10%, transparent) !important;
  color: var(--ow-primary) !important;
  transform: translateX(3px) !important;
  margin: 0 var(--spacing-sm) !important;
  border-radius: var(--radius-xs) !important;
}

/* Sous-menus de niveau 3+ */
.site-header .menu ul.sub-menu ul.sub-menu,
.site-header .menu ul.children ul.children {
  top: 0 !important;
  left: 100% !important;
  margin-top: 0 !important;
  margin-left: 0.5rem !important;
}

/* --- FIX SOULIGNEMENTS MENU PRINCIPAL --- */
/* Reset des anciens styles qui peuvent causer des conflits */
.site-header .menu > li > a::after,
.main-navigation .menu > li > a::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -0.35em !important;
  height: 2px !important;
  background: transparent !important;
  transition: all 0.3s ease !important;
  opacity: 0 !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
}

/* Soulignement au hover */
.site-header .menu > li > a:hover::after,
.main-navigation .menu > li > a:hover::after {
  background: var(--ow-edge-gradient) !important;
  opacity: 0.9 !important;
  transform: scaleX(1) !important;
}

/* Soulignement pour la page active */
.site-header .menu > li.current-menu-item > a::after,
.site-header .menu > li.current-menu-ancestor > a::after,
.site-header .menu > li.current_page_item > a::after,
.site-header .menu > li.current_page_ancestor > a::after,
.main-navigation .menu > li.current-menu-item > a::after,
.main-navigation .menu > li.current-menu-ancestor > a::after {
  background: var(--ow-edge-gradient) !important;
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

/* Couleur du texte pour les éléments actifs */
.site-header .menu > li.current-menu-item > a,
.site-header .menu > li.current-menu-ancestor > a,
.site-header .menu > li.current_page_item > a,
.site-header .menu > li.current_page_ancestor > a {
  color: var(--ow-primary) !important;
}

/* --- FIX Z-INDEX HEADER --- */
/* S'assurer que le header reste au-dessus de tout */
header#masthead.site-header,
.site-header {
  /*z-index: 999999 !important;*/
}

/* Navigation principale */
.main-navigation,
.site-header .menu,
.header-navigation-wrap {
 /* z-index: 999999 !important;*/
}

/* --- FIX RESPONSIVE SOUS-MENUS --- */
@media (max-width: 1024px) {
  /* Styles pour mobile/tablette */
  .site-header .menu ul.sub-menu,
  .site-header .menu ul.children {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: var(--ow-card) !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  
  .site-header .menu ul.sub-menu li a,
  .site-header .menu ul.children li a {
    padding-left: calc(var(--spacing) * 1.5) !important;
  }
}

/* --- FIX KADENCE SPECIFIQUE --- */
/* Corrections pour les sélecteurs Kadence spécifiques */
.header-navigation-wrap .main-navigation ul li a {
  color: var(--ow-text) !important;
  transition: color 0.2s ease !important;
}

.header-navigation-wrap .main-navigation ul li a:hover {
  color: var(--ow-primary) !important;
}

/* Burger menu Kadence */
.mobile-toggle-open-container,
.menu-toggle-open {
  color: var(--ow-text) !important;
}

.mobile-toggle-open-container:hover,
.menu-toggle-open:hover {
  color: var(--ow-primary) !important;
}

/* --- FALLBACK POUR NAVIGATEURS ANCIENS --- */
@supports not (backdrop-filter: blur(10px)) {
  .site-header .menu ul.sub-menu,
  .site-header .menu ul.children {
    background: var(--ow-card) !important;
    background-image: linear-gradient(145deg, 
      color-mix(in oklab, var(--ow-primary) 8%, var(--ow-card)),
      color-mix(in oklab, var(--ow-accent) 4%, var(--ow-card))
    ) !important;
  }
}

/* --- ACCESSIBILITÉ --- */
@media (prefers-reduced-motion: reduce) {
  .site-header .menu ul.sub-menu,
  .site-header .menu ul.children,
  .site-header .menu > li > a::after {
    transition: none !important;
    transform: none !important;
  }
  
  .site-header .menu li:hover > ul.sub-menu,
  .site-header .menu li:hover > ul.children {
    transform: none !important;
  }
}

/* --- FOCUS KEYBOARD NAVIGATION --- */
/* Supprimer l'encadrement au clic tout en gardant l'accessibilité */
.site-header .menu a:focus,
.main-navigation .menu a:focus {
  outline: none !important;
  color: var(--ow-primary) !important;
}

/* Focus visible uniquement au clavier (pas au clic) */
.site-header .menu a:focus-visible,
.main-navigation .menu a:focus-visible {
  outline: 2px solid var(--ow-primary) !important;
  outline-offset: 2px !important;
}

/* Footer : enlever l'indent des listes sur mobile */
@media (max-width: 768px) {
  .site-footer .widget-area ul,
  .site-footer .widget-area ol,
  .site-footer .wp-block-list,
  .site-footer .menu,
  .site-footer .menu ul,
  .site-footer .wp-block-navigation__container {
    /* annule l'indent, y compris en RTL */
    padding-left: 0 !important;
    margin-left: 0 !important;
    padding-inline-start: 0 !important;
    margin-inline-start: 0 !important;
    list-style: none; /* retire les puces; supprime cette ligne si tu veux les garder */
  }

  /* si tu gardes les puces, aligne-les sans décalage */
  .site-footer .widget-area ul.has-bullets,
  .site-footer .wp-block-list.has-bullets {
    list-style: disc;
    list-style-position: inside;
  }

  /* menus/blocs navigation : enlever micro-marges des items */
  .site-footer .wp-block-navigation__container .wp-block-navigation-item,
  .site-footer .menu li {
    margin: 0 !important;
  }
}