/**
 * Animations des silhouettes — déplacement via left/right (pas transform).
 * Surcharge les animations inline des pages geo sans conflit CSS.
 */

@keyframes geoDriftRightWide {
    0%   { right: 12%; }
    100% { right: -4%; }
}

@keyframes geoDriftLeftWide {
    0%   { left: 8%; }
    100% { left: -2%; }
}

@keyframes geoDriftRightMid {
    0%   { right: 9%; }
    100% { right: 1%; }
}

@keyframes geoDriftLeftMid {
    0%   { left: 9%; }
    100% { left: 1%; }
}

@keyframes geoDriftRightSoft {
    0%   { right: 8%; }
    100% { right: 2%; }
}

@keyframes geoDriftLeftSoft {
    0%   { left: 8%; }
    100% { left: 2%; }
}

.hero-canarias::after,
.hero-france::after,
.hero-suisse::after {
    animation: geoDriftRightWide 18s ease-in-out infinite alternate !important;
}

.hero-canarias::before,
.hero-france::before,
.hero-suisse::before {
    animation: geoDriftLeftWide 25s ease-in-out infinite alternate !important;
}

.pricing-section::after {
    animation: geoDriftRightMid 22s ease-in-out infinite alternate !important;
}

.pricing-section::before {
    animation: geoDriftLeftMid 20s ease-in-out infinite alternate !important;
}

#ejemplos-canarias::before,
#exemples-france::before,
#exemples-suisse::before {
    animation: geoDriftLeftMid 20s ease-in-out infinite alternate !important;
}

#ejemplos-canarias::after,
#exemples-france::after,
#exemples-suisse::after {
    animation: geoDriftRightMid 23s ease-in-out infinite alternate !important;
}

.services-canarias-section::after,
.services-france-section::after,
.services-suisse-section::after {
    animation: geoDriftRightSoft 24s ease-in-out infinite alternate !important;
}

.services-canarias-section::before,
.services-france-section::before,
.services-suisse-section::before {
    animation: geoDriftLeftSoft 21s ease-in-out infinite alternate !important;
}

.otros-servicios-section::before {
    animation: geoDriftRightMid 26s ease-in-out infinite alternate !important;
}

body:has(.hero-france) .otros-servicios-section::before {
    display: none !important;
}

.otros-servicios-section::after {
    animation: geoDriftLeftMid 25s ease-in-out infinite alternate !important;
}

.process-section::after {
    animation: geoDriftRightSoft 21s ease-in-out infinite alternate !important;
}

body:has(.hero-france) .process-section::before {
    display: none !important;
}
