@charset "UTF-8";
/* Bloc Liste Enrichie Technolution - Styles Frontend avec support SVG étendu */
.wp-block-technolution-enhanced-list {
  width: 100%;
  box-sizing: border-box;
  position: relative;
  /* Assurer que le contenu est accessible */
}
.wp-block-technolution-enhanced-list:focus-within {
  outline: 2px solid #007cba;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Titre de la liste */
.technolution-list-title {
  margin: 0;
  line-height: 1.2;
  font-family: inherit;
  word-wrap: break-word;
  transition: color 0.3s ease;
  /* Styles responsive par défaut */
}
@media (max-width: 768px) {
  .technolution-list-title {
    line-height: 1.3;
  }
}
@media (max-width: 480px) {
  .technolution-list-title {
    line-height: 1.4;
  }
}

/* Description de la liste */
.technolution-list-description {
  margin: 0;
  line-height: 1.6;
  word-wrap: break-word;
  transition: color 0.3s ease;
  /* Support pour le HTML basique */
}
.technolution-list-description p {
  margin: 0 0 1em 0;
}
.technolution-list-description p:last-child {
  margin-bottom: 0;
}
.technolution-list-description strong, .technolution-list-description b {
  font-weight: 600;
}
.technolution-list-description em, .technolution-list-description i {
  font-style: italic;
}
.technolution-list-description a {
  color: inherit;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.technolution-list-description a:hover {
  opacity: 0.8;
}

/* Container de la liste */
.technolution-enhanced-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: technolution-counter;
  /* Assurer une bonne accessibilité */
}
.technolution-enhanced-list:focus {
  outline: none;
}

/* Éléments de la liste */
.technolution-enhanced-list-item {
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  /* Animation au chargement */
  animation: technolutionFadeInUp 0.6s ease-out;
  animation-fill-mode: both;
  /* Délai progressif pour chaque élément */
  /* Effet hover subtil */
  /* Support pour les lecteurs d'écran */
}
.technolution-enhanced-list-item:nth-child(1) {
  animation-delay: 0s;
}
.technolution-enhanced-list-item:nth-child(2) {
  animation-delay: 0.1s;
}
.technolution-enhanced-list-item:nth-child(3) {
  animation-delay: 0.2s;
}
.technolution-enhanced-list-item:nth-child(4) {
  animation-delay: 0.3s;
}
.technolution-enhanced-list-item:nth-child(5) {
  animation-delay: 0.4s;
}
.technolution-enhanced-list-item:nth-child(6) {
  animation-delay: 0.5s;
}
.technolution-enhanced-list-item:nth-child(7) {
  animation-delay: 0.6s;
}
.technolution-enhanced-list-item:nth-child(8) {
  animation-delay: 0.7s;
}
.technolution-enhanced-list-item:nth-child(9) {
  animation-delay: 0.8s;
}
.technolution-enhanced-list-item:nth-child(10) {
  animation-delay: 0.9s;
}
.technolution-enhanced-list-item:nth-child(11) {
  animation-delay: 1s;
}
.technolution-enhanced-list-item:nth-child(12) {
  animation-delay: 1.1s;
}
.technolution-enhanced-list-item:nth-child(13) {
  animation-delay: 1.2s;
}
.technolution-enhanced-list-item:nth-child(14) {
  animation-delay: 1.3s;
}
.technolution-enhanced-list-item:nth-child(15) {
  animation-delay: 1.4s;
}
.technolution-enhanced-list-item:nth-child(16) {
  animation-delay: 1.5s;
}
.technolution-enhanced-list-item:nth-child(17) {
  animation-delay: 1.6s;
}
.technolution-enhanced-list-item:nth-child(18) {
  animation-delay: 1.7s;
}
.technolution-enhanced-list-item:nth-child(19) {
  animation-delay: 1.8s;
}
.technolution-enhanced-list-item:nth-child(20) {
  animation-delay: 1.9s;
}
.technolution-enhanced-list-item:hover {
  transform: translateX(4px);
}
.technolution-enhanced-list-item:hover .technolution-list-marker {
  transform: scale(1.1);
  /* Animation spéciale pour les SVG */
}
.technolution-enhanced-list-item:hover .technolution-list-marker svg {
  transform: scale(1.15) rotate(5deg);
  filter: brightness(1.2);
}
.technolution-enhanced-list-item:focus-within {
  outline: 2px solid #007cba;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Marqueurs de liste */
.technolution-list-marker {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  /* Styles pour les puces personnalisées (images) */
  /* Styles spéciaux pour les SVG */
  /* Styles pour les puces Unicode */
  /* Animation des marqueurs numérotés */
}
.technolution-list-marker img {
  transition: transform 0.3s ease;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
}
.technolution-list-marker img:hover {
  transform: scale(1.05);
}
.technolution-list-marker svg {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
  /* Améliorer le rendu des SVG */
  shape-rendering: geometricPrecision;
  /* Effet de brillance subtile */
  /* Animation de pulsation pour certains types */
}
.technolution-list-marker svg:hover {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)) brightness(1.1);
}
.technolution-list-marker svg[data-type=target], .technolution-list-marker svg[data-type=star], .technolution-list-marker svg[data-type=nova] {
  animation: technolutionPulse 2s infinite;
}
.technolution-list-marker span {
  transition: all 0.3s ease;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.technolution-list-marker span:hover {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.technolution-list-marker:not(:empty) {
  background: linear-gradient(135deg, transparent 0%, rgba(0, 124, 186, 0.1) 100%);
  border-radius: 4px;
  padding: 2px 6px;
  transition: all 0.3s ease;
}
.technolution-list-marker:not(:empty):hover {
  background: linear-gradient(135deg, rgba(0, 124, 186, 0.1) 0%, rgba(0, 124, 186, 0.2) 100%);
}

/* Texte des éléments */
.technolution-list-text {
  line-height: 1.6;
  /* Support pour les liens dans le texte */
  /* Support pour le formatage de texte */
}
.technolution-list-text a {
  color: #007cba;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: all 0.2s ease;
}
.technolution-list-text a:hover {
  border-bottom-color: #007cba;
  background: rgba(0, 124, 186, 0.05);
}
.technolution-list-text a:focus {
  outline: 2px solid #007cba;
  outline-offset: 2px;
  border-radius: 2px;
}
.technolution-list-text strong, .technolution-list-text b {
  font-weight: 600;
  color: inherit;
}
.technolution-list-text em, .technolution-list-text i {
  font-style: italic;
}
.technolution-list-text code {
  background: rgba(0, 0, 0, 0.05);
  padding: 2px 4px;
  border-radius: 3px;
  font-family: "Courier New", monospace;
  font-size: 0.9em;
}

/* Animations personnalisées */
@keyframes technolutionFadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Animation pour les marqueurs spéciaux */
@keyframes technolutionPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.8;
  }
}
/* Animation de rotation pour certains SVG */
@keyframes technolutionRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* Animation de scintillement pour les étoiles */
@keyframes technolutionSparkle {
  0%, 100% {
    filter: brightness(1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
  }
  50% {
    filter: brightness(1.3) drop-shadow(0 2px 8px rgba(255, 215, 0, 0.4));
  }
}
/* Styles pour l'animation au scroll */
.technolution-animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.technolution-animate-on-scroll.in-view {
  opacity: 1;
  transform: translateY(0);
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item {
  animation: technolutionFadeInUp 0.6s ease-out;
  animation-fill-mode: both;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(1) {
  animation-delay: 0.1s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(2) {
  animation-delay: 0.2s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(3) {
  animation-delay: 0.3s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(4) {
  animation-delay: 0.4s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(5) {
  animation-delay: 0.5s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(6) {
  animation-delay: 0.6s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(7) {
  animation-delay: 0.7s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(8) {
  animation-delay: 0.8s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(9) {
  animation-delay: 0.9s;
}
.technolution-animate-on-scroll.in-view .technolution-enhanced-list-item:nth-child(10) {
  animation-delay: 1s;
}

/* Styles spéciaux pour différents types de puces SVG */
/* Puces géométriques */
.technolution-list-marker svg[viewBox*=hexagon]:hover,
.technolution-list-marker svg[viewBox*=diamond]:hover,
.technolution-list-marker svg[viewBox*=triangle]:hover {
  animation: technolutionRotate 0.5s ease-in-out;
}

/* Puces d'étoiles avec scintillement */
.technolution-list-marker svg[viewBox*=star]:hover,
.technolution-list-marker svg[viewBox*=nova]:hover {
  animation: technolutionSparkle 1s ease-in-out infinite;
}

/* Puces de cible avec effet concentrique */
.technolution-list-marker svg[viewBox*=target]:hover {
  animation: technolutionPulse 0.6s ease-in-out;
}
.technolution-list-marker svg[viewBox*=target]:hover circle {
  animation: technolutionPulse 0.8s ease-in-out infinite;
}

/* Puces de flèche avec mouvement */
.technolution-list-marker svg[viewBox*=arrow]:hover {
  transform: translateX(3px) scale(1.1);
}

/* Puces de validation avec rebond */
.technolution-list-marker svg[viewBox*=check]:hover {
  animation: bounce 0.6s ease-in-out;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0) scale(1);
  }
  40% {
    transform: translateY(-3px) scale(1.1);
  }
  60% {
    transform: translateY(-1px) scale(1.05);
  }
}
/* Responsive Design */
@media (max-width: 1024px) {
  .technolution-enhanced-list-item {
    /* Réduire l'effet hover sur tablette */
  }
  .technolution-enhanced-list-item:hover {
    transform: translateX(2px);
  }
  .technolution-enhanced-list-item:hover .technolution-list-marker svg {
    transform: scale(1.05);
  }

  .technolution-list-text {
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  .technolution-enhanced-list-item {
    /* Désactiver certains effets hover sur mobile */
    /* Augmenter la zone de touch */
    padding: 4px 0;
  }
  .technolution-enhanced-list-item:hover {
    transform: none;
  }
  .technolution-enhanced-list-item:hover .technolution-list-marker {
    transform: none;
  }
  .technolution-enhanced-list-item:hover .technolution-list-marker svg {
    transform: none;
    animation: none;
  }

  .technolution-list-marker {
    /* Réduire la taille des marqueurs sur mobile */
  }
  .technolution-list-marker svg {
    width: 14px !important;
    height: 14px !important;
  }
  .technolution-list-marker span {
    font-size: 14px !important;
  }
  .technolution-list-marker img {
    max-width: 16px;
    max-height: 16px;
  }

  .technolution-list-text {
    line-height: 1.4;
    /* Améliorer la lisibilité sur mobile */
    font-weight: 400;
  }
}
@media (max-width: 480px) {
  .technolution-enhanced-list-item {
    /* Espacer davantage les éléments sur petits écrans */
    margin-bottom: 16px !important;
  }

  .technolution-list-marker svg {
    width: 12px !important;
    height: 12px !important;
  }
  .technolution-list-marker span {
    font-size: 12px !important;
  }

  .technolution-list-text {
    /* Forcer le retour à la ligne sur les mots longs */
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}
/* Styles pour l'impression */
@media print {
  .wp-block-technolution-enhanced-list {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .technolution-enhanced-list-item {
    break-inside: avoid;
    page-break-inside: avoid;
    animation: none;
    transform: none;
  }
  .technolution-enhanced-list-item:hover {
    transform: none;
  }

  .technolution-list-marker svg {
    filter: none;
    animation: none;
    transform: none;
  }
  .technolution-list-marker span {
    text-shadow: none;
  }
  .technolution-list-marker img {
    filter: none;
  }

  .technolution-list-text a {
    text-decoration: underline;
    color: inherit;
  }
}
/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .technolution-list-text code {
    background: rgba(255, 255, 255, 0.1);
    color: #e2e8f0;
  }
  .technolution-list-text a {
    color: #63b3ed;
  }
  .technolution-list-text a:hover {
    background: rgba(99, 179, 237, 0.1);
    border-bottom-color: #63b3ed;
  }

  /* Ajuster les SVG pour le mode sombre */
  .technolution-list-marker svg {
    filter: drop-shadow(0 1px 2px rgba(255, 255, 255, 0.1)) brightness(1.1);
  }
  .technolution-list-marker svg:hover {
    filter: drop-shadow(0 2px 4px rgba(255, 255, 255, 0.2)) brightness(1.3);
  }
}
/* Styles pour les modes de contraste élevé */
@media (prefers-contrast: high) {
  .technolution-enhanced-list-item {
    border: 1px solid currentColor;
    padding: 8px;
    margin-bottom: 4px;
  }

  .technolution-list-marker svg {
    filter: contrast(2) !important;
    stroke-width: 2px;
  }
  .technolution-list-marker span {
    font-weight: bold;
    text-shadow: none;
  }

  .technolution-list-text a {
    text-decoration: underline;
    font-weight: bold;
  }
}
/* Styles pour les animations réduites */
@media (prefers-reduced-motion: reduce) {
  .technolution-enhanced-list-item {
    animation: none;
    transition: none;
  }
  .technolution-enhanced-list-item:hover {
    transform: none;
  }

  .technolution-list-marker {
    transition: none;
  }
  .technolution-list-marker:hover {
    transform: none;
  }
  .technolution-list-marker svg {
    transition: none;
    animation: none !important;
  }
  .technolution-list-marker svg:hover {
    transform: none;
    animation: none !important;
  }
  .technolution-list-marker span {
    transition: none;
  }
  .technolution-list-marker img {
    transition: none;
  }
  .technolution-list-marker img:hover {
    transform: none;
  }

  .technolution-animate-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .technolution-animate-on-scroll .technolution-enhanced-list-item {
    animation: none;
  }
}
/* Styles pour les focus personnalisés */
.technolution-enhanced-list-item:focus-visible {
  outline: 3px solid #007cba;
  outline-offset: 2px;
  border-radius: 4px;
  background: rgba(0, 124, 186, 0.05);
}

/* Performance optimizations */
.wp-block-technolution-enhanced-list {
  contain: layout style;
  will-change: auto;
}

.technolution-enhanced-list-item {
  contain: layout style paint;
}
.technolution-enhanced-list-item:hover {
  will-change: transform;
}
.technolution-enhanced-list-item:not(:hover) {
  will-change: auto;
}

/* Styles pour la sélection de texte */
.technolution-list-text::selection {
  background: rgba(0, 124, 186, 0.2);
  color: inherit;
}

.technolution-list-text::-moz-selection {
  background: rgba(0, 124, 186, 0.2);
  color: inherit;
}

/* Styles spéciaux pour les groupes thématiques de puces */
/* Groupe validation (check, cross, warning) */
.technolution-list-marker[data-type=validation] svg:hover {
  animation: bounce 0.6s ease-in-out;
}

/* Groupe navigation (arrows, chevrons) */
.technolution-list-marker[data-type=navigation] svg:hover {
  transform: translateX(2px) scale(1.1);
}

/* Groupe mathématique (plus, minus, equal) */
.technolution-list-marker[data-type=math] svg:hover {
  animation: technolutionPulse 0.4s ease-in-out;
}

/* Groupe thématique (rocket, fire, lightning) */
.technolution-list-marker[data-type=thematic] svg:hover {
  animation: technolutionSparkle 0.8s ease-in-out;
  transform: scale(1.2);
}

/* Styles pour les puces en cascade */
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(1) .technolution-list-marker svg {
  animation-delay: 0.05s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(2) .technolution-list-marker svg {
  animation-delay: 0.1s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(3) .technolution-list-marker svg {
  animation-delay: 0.15s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(4) .technolution-list-marker svg {
  animation-delay: 0.2s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(5) .technolution-list-marker svg {
  animation-delay: 0.25s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(6) .technolution-list-marker svg {
  animation-delay: 0.3s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(7) .technolution-list-marker svg {
  animation-delay: 0.35s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(8) .technolution-list-marker svg {
  animation-delay: 0.4s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(9) .technolution-list-marker svg {
  animation-delay: 0.45s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(10) .technolution-list-marker svg {
  animation-delay: 0.5s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(11) .technolution-list-marker svg {
  animation-delay: 0.55s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(12) .technolution-list-marker svg {
  animation-delay: 0.6s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(13) .technolution-list-marker svg {
  animation-delay: 0.65s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(14) .technolution-list-marker svg {
  animation-delay: 0.7s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(15) .technolution-list-marker svg {
  animation-delay: 0.75s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(16) .technolution-list-marker svg {
  animation-delay: 0.8s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(17) .technolution-list-marker svg {
  animation-delay: 0.85s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(18) .technolution-list-marker svg {
  animation-delay: 0.9s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(19) .technolution-list-marker svg {
  animation-delay: 0.95s;
}
.technolution-enhanced-list.cascade-effect .technolution-enhanced-list-item:nth-child(20) .technolution-list-marker svg {
  animation-delay: 1s;
}

/* Effet de lueur pour certaines puces spéciales */
.technolution-list-marker svg.glow-effect {
  filter: drop-shadow(0 0 4px currentColor);
}
.technolution-list-marker svg.glow-effect:hover {
  filter: drop-shadow(0 0 8px currentColor) brightness(1.2);
}

/* Styles pour les indicateurs de progression (numérotés spéciaux) */
.technolution-enhanced-list.progress-style .technolution-enhanced-list-item {
  position: relative;
}
.technolution-enhanced-list.progress-style .technolution-enhanced-list-item:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, #007cba, #00a0d2);
  opacity: 0.3;
}
.technolution-enhanced-list.progress-style .technolution-enhanced-list-item:first-child:before {
  top: 50%;
}
.technolution-enhanced-list.progress-style .technolution-enhanced-list-item:last-child:before {
  bottom: 50%;
}

/* Styles pour les listes interactives */
.technolution-enhanced-list.interactive .technolution-enhanced-list-item {
  cursor: pointer;
  border-radius: 6px;
  padding: 8px 12px;
  margin: 4px 0;
  transition: all 0.3s ease;
}
.technolution-enhanced-list.interactive .technolution-enhanced-list-item:hover {
  background: rgba(0, 124, 186, 0.05);
  transform: translateX(8px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.technolution-enhanced-list.interactive .technolution-enhanced-list-item:active {
  transform: translateX(4px);
  background: rgba(0, 124, 186, 0.1);
}

/* Support pour les thèmes WordPress */
.wp-block-technolution-enhanced-list {
  /* Hériter des styles du thème */
  font-family: inherit;
  /* S'adapter aux couleurs du thème */
  /* Respecter les breakpoints du thème */
}
.wp-block-technolution-enhanced-list .technolution-list-marker svg {
  fill: currentColor;
  stroke: currentColor;
}
@media (max-width: 600px) {
  .wp-block-technolution-enhanced-list .technolution-list-marker svg {
    width: 14px !important;
    height: 14px !important;
  }
}

/* Styles pour l'édition en direct (live preview) */
.is-editing .technolution-enhanced-list-item:hover {
  outline: 1px dashed #007cba;
  outline-offset: 2px;
}

/* Styles pour les erreurs de chargement SVG */
.technolution-list-marker svg:not([viewBox]) {
  /* Fallback pour SVG mal formés */
  width: 16px;
  height: 16px;
  background: currentColor;
  border-radius: 50%;
  display: inline-block;
}

/*# sourceMappingURL=block-frontend.css.map */
