/* D�sactiver compl�tement les clics sur les groupes et images de background/foreground */
#svg-preview-container svg #bg,
#svg-preview-container svg #bg *,
#svg-preview-container svg #fg,
#svg-preview-container svg #fg *,
#svg-preview-container svg #bg-image,
#svg-preview-container svg #fg-image {
    pointer-events: none !important;
}

/* Permettre les clics sur le groupe foregroundText (pour que les textes soient cliquables) */
#svg-preview-container svg #foregroundText {
    pointer-events: none !important;
}

#svg-preview-container svg #foregroundText > * {
    pointer-events: auto !important;
}

/* Permettre les clics sur tout dans le groupe photos (images �ditables) */
#svg-preview-container svg #photos,
#svg-preview-container svg #photos * {
    pointer-events: auto !important;
}

/* Forcer pointer-events sur tous les rect et image SVG qui ne sont pas bg/fg */
#svg-preview-container svg rect:not(#bg):not(#fg),
#svg-preview-container svg image:not(#bg):not(#fg):not(#bg-image):not(#fg-image) {
    pointer-events: auto !important;
}

#svg-preview-container svg text {
    transition: opacity 0.2s ease, filter 0.3s ease;
    cursor: pointer;
}

#svg-preview-container svg text:hover {
    opacity: 0.7;
    filter: drop-shadow(0 0 2px rgba(0, 123, 255, 0.5));
}

#svg-preview-container svg text:active {
    cursor: move;
}

/* Effet de glow/lueur autour du texte sélectionné */
#svg-preview-container svg text[data-selection-group-id] {
    filter: drop-shadow(0 0 8px rgba(0, 123, 255, 0.9))
            drop-shadow(0 0 16px rgba(0, 123, 255, 0.6))
            drop-shadow(0 0 25px rgba(0, 123, 255, 0.4));
    animation: glow 1.5s ease-in-out infinite;
}

#svg-preview-container svg image {
    transition: opacity 0.2s ease;
    cursor: pointer;
}

#svg-preview-container svg image:hover {
    opacity: 0.9;
    filter: drop-shadow(0 0 3px rgba(0, 200, 0, 0.7));
}

#svg-preview-container svg image:active {
    cursor: move;
}

/* D�sactiver la s�lection de texte pendant le drag */
#svg-preview-container.dragging {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Feedback visuel pendant le drag */
#svg-preview-container.dragging * {
    cursor: move !important;
}

/* Animation des bordures de s�lection pour les rectangles */
[data-selection-indicator] rect[stroke] {
    animation: dash 0.8s linear infinite;
}

@keyframes dash {
    to {
        stroke-dashoffset: -30;
    }
}

/* Pulsation plus prononcée de l'overlay pour attirer l'attention */
[data-selection-indicator] rect[fill-opacity] {
    animation: pulse 1.2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% {
        fill-opacity: 0.4;
    }
    50% {
        fill-opacity: 0.7;
    }
}

/* Effet de glow/lueur autour du rectangle sélectionné */
#svg-preview-container svg image[data-selection-group-id] {
    filter: drop-shadow(0 0 8px rgba(0, 123, 255, 0.9))
            drop-shadow(0 0 16px rgba(0, 123, 255, 0.6))
            drop-shadow(0 0 25px rgba(0, 123, 255, 0.4));
    animation: glow 1.5s ease-in-out infinite;
}

@keyframes glow {
    0%, 100% {
        filter: drop-shadow(0 0 8px rgba(0, 123, 255, 0.9))
                drop-shadow(0 0 16px rgba(0, 123, 255, 0.6))
                drop-shadow(0 0 25px rgba(0, 123, 255, 0.4));
    }
    50% {
        filter: drop-shadow(0 0 12px rgba(0, 200, 255, 1))
                drop-shadow(0 0 24px rgba(0, 200, 255, 0.8))
                drop-shadow(0 0 35px rgba(0, 200, 255, 0.6));
    }
}

.card-header [data-selected-text-indicator] {
    color: #007bff;
}