@keyframes easyPulse {
    from { transform: scale3d(1, 1, 1); }
    50% { transform: scale3d(1.15, 1.15, 1.15); }
    to { transform: scale3d(1, 1, 1); }
}

@keyframes easyFlash {
    from, 50%, to { opacity: 1; }
    25%, 75% { opacity: 0.3; }
}

@keyframes easyShake {
    from, to { transform: translate3d(0, 0, 0); }
    10%, 30%, 50%, 70%, 90% { transform: translate3d(-3px, 0, 0); }
    20%, 40%, 60%, 80% { transform: translate3d(3px, 0, 0); }
}

@keyframes easySwing {
    20% { transform: rotate3d(0, 0, 1, 15deg); }
    40% { transform: rotate3d(0, 0, 1, -10deg); }
    60% { transform: rotate3d(0, 0, 1, 5deg); }
    80% { transform: rotate3d(0, 0, 1, -5deg); }
    to { transform: rotate3d(0, 0, 1, 0deg); }
}

@keyframes easyTada {
    from { transform: scale3d(1, 1, 1); }
    10%, 20% { transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
    30%, 50%, 70%, 90% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
    40%, 60%, 80% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
    to { transform: scale3d(1, 1, 1); }
}

@keyframes easyWobble {
    from { transform: translate3d(0, 0, 0); }
    15% { transform: translate3d(-20%, 0, 0) rotate3d(0, 0, 1, -5deg); }
    30% { transform: translate3d(15%, 0, 0) rotate3d(0, 0, 1, 3deg); }
    45% { transform: translate3d(-10%, 0, 0) rotate3d(0, 0, 1, -3deg); }
    60% { transform: translate3d(5%, 0, 0) rotate3d(0, 0, 1, 2deg); }
    75% { transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
    to { transform: translate3d(0, 0, 0); }
}

@keyframes easyHeartbeat {
    from { transform: scale(1); transform-origin: center center; animation-timing-function: ease-out; }
    10% { transform: scale(0.91); animation-timing-function: ease-in; }
    17% { transform: scale(0.98); animation-timing-function: ease-out; }
    33% { transform: scale(0.87); animation-timing-function: ease-in; }
    45% { transform: scale(1); animation-timing-function: ease-out; }
}

@keyframes easyBlink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}

.easyprodlabel-img.easy-effect-pulse img,
.easyprodlabel-img.easy-effect-flash img,
.easyprodlabel-img.easy-effect-shake img,
.easyprodlabel-img.easy-effect-swing img,
.easyprodlabel-img.easy-effect-tada img,
.easyprodlabel-img.easy-effect-wobble img,
.easyprodlabel-img.easy-effect-heartbeat img,
.easyprodlabel-img.easy-effect-blink img {
    animation-duration: 1.5s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: ease-in-out !important;
}

.easyprodlabel-img.easy-effect-pulse img { animation-name: easyPulse !important; }
.easyprodlabel-img.easy-effect-flash img { animation-name: easyFlash !important; }
.easyprodlabel-img.easy-effect-shake img { animation-name: easyShake !important; }
.easyprodlabel-img.easy-effect-swing img { animation-name: easySwing !important; transform-origin: top center !important; }
.easyprodlabel-img.easy-effect-tada img { animation-name: easyTada !important; }
.easyprodlabel-img.easy-effect-wobble img { animation-name: easyWobble !important; }
.easyprodlabel-img.easy-effect-heartbeat img { animation-name: easyHeartbeat !important; }
.easyprodlabel-img.easy-effect-blink img { animation-name: easyBlink !important; }

.easyprodlabel-text.easy-effect-pulse,
.easyprodlabel-text.easy-effect-flash,
.easyprodlabel-text.easy-effect-shake,
.easyprodlabel-text.easy-effect-swing,
.easyprodlabel-text.easy-effect-tada,
.easyprodlabel-text.easy-effect-wobble,
.easyprodlabel-text.easy-effect-heartbeat,
.easyprodlabel-text.easy-effect-blink {
    animation-duration: 1.5s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: ease-in-out !important;
}

.easyprodlabel-text.easy-effect-pulse { animation-name: easyPulse !important; }
.easyprodlabel-text.easy-effect-flash { animation-name: easyFlash !important; }
.easyprodlabel-text.easy-effect-shake { animation-name: easyShake !important; }
.easyprodlabel-text.easy-effect-swing { animation-name: easySwing !important; transform-origin: top center !important; }
.easyprodlabel-text.easy-effect-tada { animation-name: easyTada !important; }
.easyprodlabel-text.easy-effect-wobble { animation-name: easyWobble !important; }
.easyprodlabel-text.easy-effect-heartbeat { animation-name: easyHeartbeat !important; }
.easyprodlabel-text.easy-effect-blink { animation-name: easyBlink !important; }

.product-flag.easy-custom-flag.easy-effect-pulse,
.product-flag.easy-custom-flag.easy-effect-flash,
.product-flag.easy-custom-flag.easy-effect-shake,
.product-flag.easy-custom-flag.easy-effect-swing,
.product-flag.easy-custom-flag.easy-effect-tada,
.product-flag.easy-custom-flag.easy-effect-wobble,
.product-flag.easy-custom-flag.easy-effect-heartbeat,
.product-flag.easy-custom-flag.easy-effect-blink {
    animation-duration: 1.5s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: ease-in-out !important;
}

.product-flag.easy-custom-flag.easy-effect-pulse { animation-name: easyPulse !important; }
.product-flag.easy-custom-flag.easy-effect-flash { animation-name: easyFlash !important; }
.product-flag.easy-custom-flag.easy-effect-shake { animation-name: easyShake !important; }
.product-flag.easy-custom-flag.easy-effect-swing { animation-name: easySwing !important; transform-origin: top center !important; }
.product-flag.easy-custom-flag.easy-effect-tada { animation-name: easyTada !important; }
.product-flag.easy-custom-flag.easy-effect-wobble { animation-name: easyWobble !important; }
.product-flag.easy-custom-flag.easy-effect-heartbeat { animation-name: easyHeartbeat !important; }
.product-flag.easy-custom-flag.easy-effect-blink { animation-name: easyBlink !important; }

.easysingleprolabel-img.easy-effect-pulse img,
.easysingleprolabel-img.easy-effect-flash img,
.easysingleprolabel-img.easy-effect-shake img,
.easysingleprolabel-img.easy-effect-swing img,
.easysingleprolabel-img.easy-effect-tada img,
.easysingleprolabel-img.easy-effect-wobble img,
.easysingleprolabel-img.easy-effect-heartbeat img,
.easysingleprolabel-img.easy-effect-blink img {
    animation-duration: 1.5s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: ease-in-out !important;
}

.easysingleprolabel-img.easy-effect-pulse img { animation-name: easyPulse !important; }
.easysingleprolabel-img.easy-effect-flash img { animation-name: easyFlash !important; }
.easysingleprolabel-img.easy-effect-shake img { animation-name: easyShake !important; }
.easysingleprolabel-img.easy-effect-swing img { animation-name: easySwing !important; transform-origin: top center !important; }
.easysingleprolabel-img.easy-effect-tada img { animation-name: easyTada !important; }
.easysingleprolabel-img.easy-effect-wobble img { animation-name: easyWobble !important; }
.easysingleprolabel-img.easy-effect-heartbeat img { animation-name: easyHeartbeat !important; }
.easysingleprolabel-img.easy-effect-blink img { animation-name: easyBlink !important; }

.easysingleprolabel-text.easy-effect-pulse,
.easysingleprolabel-text.easy-effect-flash,
.easysingleprolabel-text.easy-effect-shake,
.easysingleprolabel-text.easy-effect-swing,
.easysingleprolabel-text.easy-effect-tada,
.easysingleprolabel-text.easy-effect-wobble,
.easysingleprolabel-text.easy-effect-heartbeat,
.easysingleprolabel-text.easy-effect-blink {
    animation-duration: 1.5s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: ease-in-out !important;
}

.easysingleprolabel-text.easy-effect-pulse { animation-name: easyPulse !important; }
.easysingleprolabel-text.easy-effect-flash { animation-name: easyFlash !important; }
.easysingleprolabel-text.easy-effect-shake { animation-name: easyShake !important; }
.easysingleprolabel-text.easy-effect-swing { animation-name: easySwing !important; transform-origin: top center !important; }
.easysingleprolabel-text.easy-effect-tada { animation-name: easyTada !important; }
.easysingleprolabel-text.easy-effect-wobble { animation-name: easyWobble !important; }
.easysingleprolabel-text.easy-effect-heartbeat { animation-name: easyHeartbeat !important; }
.easysingleprolabel-text.easy-effect-blink { animation-name: easyBlink !important; }

.product-miniature .thumbnail-container,
.product-cover,
.images-container,
.thumbnail-top,
.product-thumbnail,
.left-block {
    position: relative !important;
    overflow: visible !important;
}

.easyprodlabel-img,
.easysingleprolabel-img {
    position: absolute !important;
    z-index: 900 !important;
    pointer-events: none !important;
    display: block !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.easyprodlabel-img img,
.easysingleprolabel-img img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.easyprodlabel-text,
.easysingleprolabel-text {
    position: absolute !important;
    z-index: 900 !important;
    pointer-events: none !important;
    padding: 4px 8px !important;
    border-radius: 3px !important;
    white-space: nowrap !important;
    font-weight: bold !important;
    line-height: 1.2 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15) !important;
    margin: 0 !important;
}

li.easy-custom-flag {
    display: inline-block !important;
    z-index: 10 !important;
    margin: 2px !important;
    padding: 4px 8px !important;
    border-radius: 3px !important;
    font-weight: bold !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.easypos-top-left { top: 5px !important; left: 5px !important; right: auto !important; bottom: auto !important; }
.easypos-top-center { top: 5px !important; left: 50% !important; transform: translateX(-50%) !important; right: auto !important; bottom: auto !important; }
.easypos-top-right { top: 5px !important; right: 5px !important; left: auto !important; bottom: auto !important; }

.easypos-middle-left { top: 50% !important; left: 5px !important; transform: translateY(-50%) !important; right: auto !important; bottom: auto !important; }
.easypos-middle-center { top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; right: auto !important; bottom: auto !important; }
.easypos-middle-right { top: 50% !important; right: 5px !important; transform: translateY(-50%) !important; left: auto !important; bottom: auto !important; }

.easypos-bottom-left { bottom: 5px !important; left: 5px !important; top: auto !important; right: auto !important; }
.easypos-bottom-center { bottom: 5px !important; left: 50% !important; transform: translateX(-50%) !important; top: auto !important; right: auto !important; }
.easypos-bottom-right { bottom: 5px !important; right: 5px !important; top: auto !important; left: auto !important; }

.easysingleprolabel-img.easypos-top-left,
.easysingleprolabel-text.easypos-top-left { top: 15px !important; left: 15px !important; }

.easysingleprolabel-img.easypos-top-center,
.easysingleprolabel-text.easypos-top-center { top: 15px !important; }

.easysingleprolabel-img.easypos-top-right,
.easysingleprolabel-text.easypos-top-right { top: 15px !important; right: 15px !important; }

.easysingleprolabel-img.easypos-middle-left,
.easysingleprolabel-text.easypos-middle-left { left: 15px !important; }

.easysingleprolabel-img.easypos-middle-right,
.easysingleprolabel-text.easypos-middle-right { right: 15px !important; }

.easysingleprolabel-img.easypos-bottom-left,
.easysingleprolabel-text.easypos-bottom-left { bottom: 15px !important; left: 15px !important; }

.easysingleprolabel-img.easypos-bottom-center,
.easysingleprolabel-text.easypos-bottom-center { bottom: 15px !important; }

.easysingleprolabel-img.easypos-bottom-right,
.easysingleprolabel-text.easypos-bottom-right { bottom: 15px !important; right: 15px !important; }

.easyadditional-info-labels {
    margin: 25px 0 !important;
    padding: 20px !important;
    background-color: #f8f9fa !important;
    border-radius: 10px !important;
    border: 1px solid #eaeaea !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.easyadditional-info-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    color: #2c3e50 !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #3498db !important;
}

.easystyle-full .easyadditional-labels-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.easystyle-full .easyadditional-label-item {
    display: flex !important;
    align-items: center;
    gap: 15px !important;
    padding: 15px !important;
    background-color: white !important;
    border-radius: 8px !important;
    border: 1px solid #eee !important;
    transition: all 0.3s ease !important;
}

.easystyle-full .easyadditional-label-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    transform: translateY(-2px) !important;
}

.easystyle-tooltip .easyadditional-labels-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.easystyle-tooltip .easylabel-with-tooltip {
    position: relative !important;
    display: inline-block !important;
    cursor: pointer !important;
}

.easystyle-tooltip .easylabel-with-tooltip:hover .easytooltip-content {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.easystyle-tooltip .easytooltip-content {
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    z-index: 1000 !important;
    bottom: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important;
    background-color: white !important;
    color: #333 !important;
    padding: 15px !important;
    border-radius: 8px !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.15) !important;
    min-width: 200px !important;
    transition: all 0.3s ease !important;
    margin-bottom: 15px !important;
    border: 1px solid #eee !important;
}

@media (max-width: 768px) {
    .easyprodlabel-img, .easysingleprolabel-img {
        max-width: 40% !important;
    }
    
    .easyprodlabel-text, .easysingleprolabel-text {
        font-size: 10px !important;
        padding: 3px 6px !important;
    }
    
    li.easy-custom-flag {
        font-size: 9px !important;
        padding: 3px 6px !important;
    }
    
    /* Posiciones más compactas en móvil */
    .easypos-top-left { top: 2px !important; left: 2px !important; }
    .easypos-top-right { top: 2px !important; right: 2px !important; }
    .easypos-bottom-left { bottom: 2px !important; left: 2px !important; }
    .easypos-bottom-right { bottom: 2px !important; right: 2px !important; }
    
    .easysingleprolabel-img.easypos-top-left,
    .easysingleprolabel-text.easypos-top-left { top: 10px !important; left: 10px !important; }
    
    .easysingleprolabel-img.easypos-top-right,
    .easysingleprolabel-text.easypos-top-right { top: 10px !important; right: 10px !important; }
}

@media (max-width: 480px) {
    .easyprodlabel-text {
        font-size: 8px !important;
        padding: 2px 4px !important;
    }
    
    .easysingleprolabel-text {
        font-size: 10px !important;
        padding: 4px 8px !important;
    }
}

@keyframes easyLabelFadeIn {
    from { opacity: 0; transform: scale(0.8); }
    to { opacity: 1; transform: scale(1); }
}

.easyprodlabel-img,
.easyprodlabel-text,
.easysingleprolabel-img,
.easysingleprolabel-text,
li.easy-custom-flag {
    animation: easyLabelFadeIn 0.3s ease-out !important;
}
