/* =========================================================
   SISTEMA PLATA PREMIUM — CSS BASE PARA ELEMENTOR
   
   ★ CÓMO USAR:
   1. Copia TODO este CSS
   2. En Elementor → Ajustes de Página → Avanzado → Custom CSS
   3. Pega todo ahí
   
   ★ NOMBRES DE CLASE para Elementor → Avanzado → Clases CSS:
   BOTONES: BrilloPlata, BrilloPlataEspejo, BrilloPlataPerla,
            BrilloPlataOscuro, BrilloPlataRose, BrilloPlataOro
   TEXTOS:  BrilloPlataTexto, BrilloPlataTextoClaro, BrilloPlataTextoRose,
            BrilloPlataTextoOro, BrilloPlataTextoElegante
========================================================= */

/* ── Reset de wrappers de Elementor ── */
.BrilloPlata, .BrilloPlata > .elementor-widget-container, .BrilloPlata .elementor-button-wrapper,
.BrilloPlataEspejo, .BrilloPlataEspejo > .elementor-widget-container, .BrilloPlataEspejo .elementor-button-wrapper,
.BrilloPlataPerla, .BrilloPlataPerla > .elementor-widget-container, .BrilloPlataPerla .elementor-button-wrapper,
.BrilloPlataOscuro, .BrilloPlataOscuro > .elementor-widget-container, .BrilloPlataOscuro .elementor-button-wrapper,
.BrilloPlataRose, .BrilloPlataRose > .elementor-widget-container, .BrilloPlataRose .elementor-button-wrapper,
.BrilloPlataOro, .BrilloPlataOro > .elementor-widget-container, .BrilloPlataOro .elementor-button-wrapper {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}


/* ══════════════════════════════════════════
   ESTILOS BASE DE BOTONES
   ══════════════════════════════════════════ */

.BrilloPlata .elementor-button {
    background: linear-gradient(135deg, #ffffff 0%, #f8f8f8 15%, #d0d0d0 35%, #a6a6a6 50%, #c8c8c8 65%, #e8e8e8 85%, #ffffff 100%) !important;
    border: 1px solid rgba(184,186,192,0.4) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1), inset 0 1px 1px rgba(255,255,255,0.7), inset 0 -1px 2px rgba(0,0,0,0.1) !important;
    color: #222 !important; font-weight: 600 !important;
    text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}
.BrilloPlata .elementor-button:hover {
    box-shadow: 0 6px 16px rgba(0,0,0,0.15), inset 0 2px 4px rgba(255,255,255,0.8), inset 0 -2px 4px rgba(0,0,0,0.15) !important;
}

.BrilloPlataEspejo .elementor-button {
    background: linear-gradient(135deg, #ffffff 0%, #fafafa 10%, #e4e4e4 20%, #c0c0c0 35%, #999 50%, #c0c0c0 65%, #e4e4e4 80%, #fafafa 90%, #ffffff 100%) !important;
    border: 1px solid rgba(170,170,175,0.3) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.08), inset 0 1px 2px rgba(255,255,255,0.9), inset 0 -1px 2px rgba(0,0,0,0.08) !important;
    color: #1a1a1a !important; font-weight: 600 !important;
    text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}
.BrilloPlataEspejo .elementor-button:hover {
    box-shadow: 0 5px 14px rgba(0,0,0,0.12), inset 0 2px 5px rgba(255,255,255,0.9), inset 0 -2px 4px rgba(0,0,0,0.1) !important;
}

.BrilloPlataPerla .elementor-button {
    background: linear-gradient(135deg, #ffffff 0%, #f8f5f2 12%, #e8e2dc 28%, #cdc4bc 45%, #b8afa6 55%, #cdc4bc 68%, #e8e2dc 82%, #f8f5f2 92%, #ffffff 100%) !important;
    border: 1px solid rgba(195,185,175,0.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08), inset 0 1px 1px rgba(255,255,255,0.7), inset 0 -1px 2px rgba(0,0,0,0.06) !important;
    color: #3a3530 !important; font-weight: 600 !important;
    text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

.BrilloPlataOscuro .elementor-button {
    background: linear-gradient(135deg, #8a8a8a 0%, #777 12%, #5e5e5e 30%, #404040 50%, #5e5e5e 70%, #777 88%, #8a8a8a 100%) !important;
    border: 1px solid rgba(100,100,105,0.4) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2), inset 0 1px 1px rgba(255,255,255,0.2), inset 0 -1px 2px rgba(0,0,0,0.2) !important;
    color: #f0f0f0 !important; font-weight: 600 !important;
    text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

.BrilloPlataRose .elementor-button {
    background: linear-gradient(135deg, #ffffff 0%, #f8ece8 12%, #e8cfc5 28%, #d4a898 45%, #c49080 55%, #d4a898 68%, #e8cfc5 82%, #f8ece8 92%, #ffffff 100%) !important;
    border: 1px solid rgba(200,165,150,0.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08), inset 0 1px 1px rgba(255,255,255,0.7), inset 0 -1px 2px rgba(0,0,0,0.06) !important;
    color: #4a3530 !important; font-weight: 600 !important;
    text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

.BrilloPlataOro .elementor-button {
    background: linear-gradient(135deg, #fff9e6 0%, #f0e0a8 12%, #d4b855 28%, #b8952e 45%, #a07d1e 55%, #b8952e 68%, #d4b855 82%, #f0e0a8 92%, #fff9e6 100%) !important;
    border: 1px solid rgba(185,155,60,0.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08), inset 0 1px 1px rgba(255,255,255,0.7), inset 0 -1px 2px rgba(0,0,0,0.06) !important;
    color: #3a2e10 !important; font-weight: 600 !important;
    text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloPlatino (B07) ── */
.BrilloPlatino .elementor-button {
    background: linear-gradient(135deg, #f0f4ff 0%, #dce4f8 12%, #b8c8e8 28%, #94a8d0 45%, #8098c0 55%, #94a8d0 68%, #b8c8e8 82%, #dce4f8 92%, #f0f4ff 100%) !important;
    border: 1px solid rgba(140,160,200,0.3) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08), inset 0 1px 1px rgba(255,255,255,0.6), inset 0 -1px 2px rgba(0,0,0,0.08) !important;
    color: #2a3550 !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloCobre (B08) ── */
.BrilloCobre .elementor-button {
    background: linear-gradient(135deg, #f5e8d8 0%, #e0c8a8 12%, #c8a070 28%, #a87840 45%, #986830 55%, #a87840 68%, #c8a070 82%, #e0c8a8 92%, #f5e8d8 100%) !important;
    border: 1px solid rgba(170,130,80,0.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12), inset 0 1px 1px rgba(255,245,230,0.7), inset 0 -1px 2px rgba(0,0,0,0.1) !important;
    color: #3a2810 !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloTitanio (B09) ── */
.BrilloTitanio .elementor-button {
    background: linear-gradient(135deg, #e8eaef 0%, #c5c8d0 12%, #a0a5b2 28%, #787e8e 45%, #656b7a 55%, #787e8e 68%, #a0a5b2 82%, #c5c8d0 92%, #e8eaef 100%) !important;
    border: 1px solid rgba(120,125,140,0.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12), inset 0 1px 1px rgba(255,255,255,0.4), inset 0 -1px 2px rgba(0,0,0,0.12) !important;
    color: #1e2030 !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloChampagne (B10) ── */
.BrilloChampagne .elementor-button {
    background: linear-gradient(135deg, #fff8ee 0%, #f5e8d0 12%, #e8d0a8 28%, #d4b880 45%, #c8a868 55%, #d4b880 68%, #e8d0a8 82%, #f5e8d0 92%, #fff8ee 100%) !important;
    border: 1px solid rgba(200,175,115,0.3) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08), inset 0 1px 1px rgba(255,255,240,0.7), inset 0 -1px 2px rgba(0,0,0,0.06) !important;
    color: #4a3e20 !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloOnyx (B11) ── */
.BrilloOnyx .elementor-button {
    background: linear-gradient(135deg, #2a2a2a 0%, #3a3a3a 12%, #282828 28%, #1a1a1a 45%, #111 55%, #1a1a1a 68%, #282828 82%, #3a3a3a 92%, #2a2a2a 100%) !important;
    border: 1px solid rgba(80,80,85,0.4) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3), inset 0 1px 1px rgba(255,255,255,0.08), inset 0 -1px 2px rgba(0,0,0,0.3) !important;
    color: #d0d0d0 !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloBronce (B12) ── */
.BrilloBronce .elementor-button {
    background: linear-gradient(135deg, #e8ddd0 0%, #d0b898 12%, #b89468 28%, #9a7548 45%, #886538 55%, #9a7548 68%, #b89468 82%, #d0b898 92%, #e8ddd0 100%) !important;
    border: 1px solid rgba(155,120,70,0.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12), inset 0 1px 1px rgba(255,240,220,0.6), inset 0 -1px 2px rgba(0,0,0,0.1) !important;
    color: #2e1e08 !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloZafiro (B13) ── */
.BrilloZafiro .elementor-button {
    background: linear-gradient(135deg, #e8eeff 0%, #c0d0f0 12%, #88a0d8 28%, #5878c0 45%, #4060a8 55%, #5878c0 68%, #88a0d8 82%, #c0d0f0 92%, #e8eeff 100%) !important;
    border: 1px solid rgba(80,110,180,0.3) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12), inset 0 1px 1px rgba(220,230,255,0.6), inset 0 -1px 2px rgba(0,0,0,0.1) !important;
    color: #fff !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloEsmeralda (B14) ── */
.BrilloEsmeralda .elementor-button {
    background: linear-gradient(135deg, #e8fff0 0%, #b8e0c8 12%, #78b890 28%, #48906a 45%, #308058 55%, #48906a 68%, #78b890 82%, #b8e0c8 92%, #e8fff0 100%) !important;
    border: 1px solid rgba(60,140,100,0.3) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1), inset 0 1px 1px rgba(220,255,235,0.6), inset 0 -1px 2px rgba(0,0,0,0.08) !important;
    color: #fff !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloRubi (B15) ── */
.BrilloRubi .elementor-button {
    background: linear-gradient(135deg, #ffe8ee 0%, #e0a0b0 12%, #c06878 28%, #a04050 45%, #883040 55%, #a04050 68%, #c06878 82%, #e0a0b0 92%, #ffe8ee 100%) !important;
    border: 1px solid rgba(170,70,90,0.3) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12), inset 0 1px 1px rgba(255,220,230,0.6), inset 0 -1px 2px rgba(0,0,0,0.1) !important;
    color: #fff !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloAmatista (B16) ── */
.BrilloAmatista .elementor-button {
    background: linear-gradient(135deg, #f0e8ff 0%, #c8b0e8 12%, #a080d0 28%, #7858b0 45%, #6048a0 55%, #7858b0 68%, #a080d0 82%, #c8b0e8 92%, #f0e8ff 100%) !important;
    border: 1px solid rgba(110,75,170,0.3) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1), inset 0 1px 1px rgba(235,220,255,0.6), inset 0 -1px 2px rgba(0,0,0,0.08) !important;
    color: #fff !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloMarfil (B17) ── */
.BrilloMarfil .elementor-button {
    background: linear-gradient(135deg, #fffdf5 0%, #f8f2e5 12%, #efe5d0 28%, #e0d2b8 45%, #d5c5a8 55%, #e0d2b8 68%, #efe5d0 82%, #f8f2e5 92%, #fffdf5 100%) !important;
    border: 1px solid rgba(210,195,165,0.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06), inset 0 1px 1px rgba(255,255,245,0.8), inset 0 -1px 2px rgba(0,0,0,0.04) !important;
    color: #5a5040 !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* ── BrilloMidnight (B18) ── */
.BrilloMidnight .elementor-button {
    background: linear-gradient(135deg, #d8dce8 0%, #a0a8c0 12%, #6878a0 28%, #384870 45%, #283858 55%, #384870 68%, #6878a0 82%, #a0a8c0 92%, #d8dce8 100%) !important;
    border: 1px solid rgba(55,70,110,0.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.18), inset 0 1px 1px rgba(200,210,235,0.4), inset 0 -1px 2px rgba(0,0,0,0.15) !important;
    color: #e8ecf5 !important; font-weight: 600 !important; text-shadow: none !important;
    position: relative !important; overflow: hidden !important; z-index: 1 !important;
    border-radius: 50px !important; transition: all 0.3s ease !important;
}

/* Reset wrappers para los nuevos estilos */
.BrilloPlatino, .BrilloPlatino > .elementor-widget-container, .BrilloPlatino .elementor-button-wrapper,
.BrilloCobre, .BrilloCobre > .elementor-widget-container, .BrilloCobre .elementor-button-wrapper,
.BrilloTitanio, .BrilloTitanio > .elementor-widget-container, .BrilloTitanio .elementor-button-wrapper,
.BrilloChampagne, .BrilloChampagne > .elementor-widget-container, .BrilloChampagne .elementor-button-wrapper,
.BrilloOnyx, .BrilloOnyx > .elementor-widget-container, .BrilloOnyx .elementor-button-wrapper,
.BrilloBronce, .BrilloBronce > .elementor-widget-container, .BrilloBronce .elementor-button-wrapper,
.BrilloZafiro, .BrilloZafiro > .elementor-widget-container, .BrilloZafiro .elementor-button-wrapper,
.BrilloEsmeralda, .BrilloEsmeralda > .elementor-widget-container, .BrilloEsmeralda .elementor-button-wrapper,
.BrilloRubi, .BrilloRubi > .elementor-widget-container, .BrilloRubi .elementor-button-wrapper,
.BrilloAmatista, .BrilloAmatista > .elementor-widget-container, .BrilloAmatista .elementor-button-wrapper,
.BrilloMarfil, .BrilloMarfil > .elementor-widget-container, .BrilloMarfil .elementor-button-wrapper,
.BrilloMidnight, .BrilloMidnight > .elementor-widget-container, .BrilloMidnight .elementor-button-wrapper {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}


/* ══════════════════════════════════════════
   ELEMENTOS INYECTADOS POR JS
   
   ★ IMPORTANTE: NO usar !important en
     background, opacity, left, top, animation
     porque el JS controla esas propiedades
     con inline styles.
   ══════════════════════════════════════════ */

/* Textura metálica SVG */
.bp-tex {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.08'/%3E%3C/svg%3E");
    opacity: 0.15;
    pointer-events: none;
    z-index: 2;
    border-radius: inherit;
    mix-blend-mode: overlay;
}

/* Reflejo sweep en loop (JS controla background y animation) */
.bp-sw {
    position: absolute;
    top: -50%;
    width: 60%; height: 200%;
    pointer-events: none;
    z-index: 10;
    transform: rotate(25deg);
    filter: blur(0.5px);
}

/* Flash hover (JS controla background, left, opacity) */
.bp-fl {
    position: absolute;
    top: -60%;
    width: 85%; height: 220%;
    pointer-events: none;
    z-index: 11;
    transform: rotate(30deg);
    opacity: 0;
    filter: blur(1px);
}

/* Reflejo sigue-cursor (JS controla background, left, top, opacity) */
.bp-mg {
    position: absolute;
    width: 100px; height: 100px;
    pointer-events: none;
    z-index: 12;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
    border-radius: 50%;
    mix-blend-mode: overlay;
}

/* Sparkle particles */
.bp-sp {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 13;
    box-shadow: 0 0 4px rgba(255,255,255,0.8), 0 0 8px rgba(200,210,230,0.4);
}

/* Keyframes para JS */
@keyframes bpS {
    0%   { left: -150%; opacity: 0; }
    5%   { opacity: 0.5; }
    10%  { opacity: 1; }
    50%  { left: 180%; opacity: 0.8; }
    55%  { opacity: 0; }
    100% { left: 180%; opacity: 0; }
}

@keyframes bpK {
    0%   { transform: scale(0) rotate(0deg); opacity: 1; }
    100% { transform: scale(1.8) rotate(180deg); opacity: 0; }
}


/* ══════════════════════════════════════════
   TEXTOS — Efectos shimmer
   ══════════════════════════════════════════ */
@keyframes textShinePlata { to { background-position: 200% center; } }
@keyframes textShinePlataWide { to { background-position: 300% center; } }

.BrilloPlataTexto .elementor-heading-title,
.BrilloPlataTexto .elementor-text-editor,
.BrilloPlataTexto .elementor-text-editor p,
.BrilloPlataTexto .elementor-text-editor span,
.BrilloPlataTexto .elementor-text-editor h1,
.BrilloPlataTexto .elementor-text-editor h2,
.BrilloPlataTexto .elementor-text-editor h3,
.BrilloPlataTexto .elementor-text-editor h4,
.BrilloPlataTexto .elementor-text-editor h5,
.BrilloPlataTexto .elementor-text-editor h6,
.BrilloPlataTexto .elementor-icon-box-title,
.BrilloPlataTexto .elementor-image-box-title, .BrilloPlataTexto .elementor-text-editor *,
.BrilloPlataTexto p, .BrilloPlataTexto span, .BrilloPlataTexto h1, .BrilloPlataTexto h2,
.BrilloPlataTexto h3, .BrilloPlataTexto h4, .BrilloPlataTexto h5, .BrilloPlataTexto h6, .BrilloPlataTexto a {
    background: linear-gradient(110deg, #4a4c50 0%, #7a7c80 30%, #ffffff 50%, #7a7c80 70%, #4a4c50 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
    filter: none !important;
    animation: textShinePlata 6s linear infinite !important;
}

.BrilloPlataTextoClaro .elementor-heading-title,
.BrilloPlataTextoClaro .elementor-text-editor,
.BrilloPlataTextoClaro .elementor-text-editor p,
.BrilloPlataTextoClaro .elementor-text-editor span,
.BrilloPlataTextoClaro .elementor-text-editor h1,
.BrilloPlataTextoClaro .elementor-text-editor h2,
.BrilloPlataTextoClaro .elementor-text-editor h3,
.BrilloPlataTextoClaro .elementor-text-editor h4,
.BrilloPlataTextoClaro .elementor-text-editor h5,
.BrilloPlataTextoClaro .elementor-text-editor h6,
.BrilloPlataTextoClaro .elementor-icon-box-title,
.BrilloPlataTextoClaro .elementor-image-box-title, .BrilloPlataTextoClaro .elementor-text-editor *,
.BrilloPlataTextoClaro p, .BrilloPlataTextoClaro span, .BrilloPlataTextoClaro h1, .BrilloPlataTextoClaro h2,
.BrilloPlataTextoClaro h3, .BrilloPlataTextoClaro h4, .BrilloPlataTextoClaro h5, .BrilloPlataTextoClaro h6, .BrilloPlataTextoClaro a {
    background: linear-gradient(110deg, #8a8c92 0%, #b8bac0 25%, #ffffff 50%, #b8bac0 75%, #8a8c92 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
    filter: none !important;
    animation: textShinePlata 5s linear infinite !important;
}

.BrilloPlataTextoRose .elementor-heading-title,
.BrilloPlataTextoRose .elementor-text-editor,
.BrilloPlataTextoRose .elementor-text-editor p,
.BrilloPlataTextoRose .elementor-text-editor span,
.BrilloPlataTextoRose .elementor-text-editor h1,
.BrilloPlataTextoRose .elementor-text-editor h2,
.BrilloPlataTextoRose .elementor-text-editor h3,
.BrilloPlataTextoRose .elementor-text-editor h4,
.BrilloPlataTextoRose .elementor-text-editor h5,
.BrilloPlataTextoRose .elementor-text-editor h6,
.BrilloPlataTextoRose .elementor-icon-box-title,
.BrilloPlataTextoRose .elementor-image-box-title, .BrilloPlataTextoRose .elementor-text-editor *,
.BrilloPlataTextoRose p, .BrilloPlataTextoRose span, .BrilloPlataTextoRose h1, .BrilloPlataTextoRose h2,
.BrilloPlataTextoRose h3, .BrilloPlataTextoRose h4, .BrilloPlataTextoRose h5, .BrilloPlataTextoRose h6, .BrilloPlataTextoRose a {
    background: linear-gradient(110deg, #8a6055 0%, #c49585 25%, #ffe8e0 50%, #c49585 75%, #8a6055 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
    filter: none !important;
    animation: textShinePlata 6s linear infinite !important;
}

.BrilloPlataTextoOro .elementor-heading-title,
.BrilloPlataTextoOro .elementor-text-editor,
.BrilloPlataTextoOro .elementor-text-editor p,
.BrilloPlataTextoOro .elementor-text-editor span,
.BrilloPlataTextoOro .elementor-text-editor h1,
.BrilloPlataTextoOro .elementor-text-editor h2,
.BrilloPlataTextoOro .elementor-text-editor h3,
.BrilloPlataTextoOro .elementor-text-editor h4,
.BrilloPlataTextoOro .elementor-text-editor h5,
.BrilloPlataTextoOro .elementor-text-editor h6,
.BrilloPlataTextoOro .elementor-icon-box-title,
.BrilloPlataTextoOro .elementor-image-box-title, .BrilloPlataTextoOro .elementor-text-editor *,
.BrilloPlataTextoOro p, .BrilloPlataTextoOro span, .BrilloPlataTextoOro h1, .BrilloPlataTextoOro h2,
.BrilloPlataTextoOro h3, .BrilloPlataTextoOro h4, .BrilloPlataTextoOro h5, .BrilloPlataTextoOro h6, .BrilloPlataTextoOro a {
    background: linear-gradient(110deg, #6b5520 0%, #a8882e 25%, #fff3c4 50%, #a8882e 75%, #6b5520 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
    filter: none !important;
    animation: textShinePlata 5.5s linear infinite !important;
}

.BrilloPlataTextoElegante .elementor-heading-title,
.BrilloPlataTextoElegante .elementor-text-editor,
.BrilloPlataTextoElegante .elementor-text-editor p,
.BrilloPlataTextoElegante .elementor-text-editor span,
.BrilloPlataTextoElegante .elementor-text-editor h1,
.BrilloPlataTextoElegante .elementor-text-editor h2,
.BrilloPlataTextoElegante .elementor-text-editor h3,
.BrilloPlataTextoElegante .elementor-text-editor h4,
.BrilloPlataTextoElegante .elementor-text-editor h5,
.BrilloPlataTextoElegante .elementor-text-editor h6,
.BrilloPlataTextoElegante .elementor-icon-box-title,
.BrilloPlataTextoElegante .elementor-image-box-title, .BrilloPlataTextoElegante .elementor-text-editor *,
.BrilloPlataTextoElegante p, .BrilloPlataTextoElegante span, .BrilloPlataTextoElegante h1, .BrilloPlataTextoElegante h2,
.BrilloPlataTextoElegante h3, .BrilloPlataTextoElegante h4, .BrilloPlataTextoElegante h5, .BrilloPlataTextoElegante h6, .BrilloPlataTextoElegante a {
    background: linear-gradient(110deg, #555560 0%, #70707a 15%, #8e8e98 30%, #c8c8d2 42%, #ffffff 50%, #c8c8d2 58%, #8e8e98 70%, #70707a 85%, #555560 100%) !important;
    background-size: 300% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
    filter: none !important;
    animation: textShinePlataWide 8s linear infinite !important;
}


/* ═══════════════════════════════════════════════════════════
   EXTRAS PREMIUM — Prefijo bpx_ (Brillo Premium eXtras)
   ═══════════════════════════════════════════════════════════ */

/* ── KEYFRAMES EXTRAS ── */
@keyframes bpx_pulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.08); opacity: 0.85; } }
@keyframes bpx_float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes bpx_spin360 { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes bpx_borderShimmer { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
@keyframes bpx_gradMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
@keyframes bpx_imgShine { 0% { left: -100%; } 100% { left: 200%; } }
@keyframes bpx_bounce { 0%,100% { transform: translateY(0); } 40% { transform: translateY(-8px); } 60% { transform: translateY(-4px); } }
@keyframes bpx_autoShineGold { 0%,80%,100% { left: -100%; } 85% { left: 200%; } }
@keyframes bpx_autoShineRose { 0%,82%,100% { left: -100%; } 88% { left: 200%; } }
@keyframes bpx_autoShineRainbow { 0%,78%,100% { left: -100%; } 84% { left: 200%; } }
@keyframes bpx_autoShineSlow { 0%,70%,100% { left: -100%; } 80% { left: 200%; } }


/* ══════════════════════════════════════
   1. ICONOS  (bpx_Icono...)
   ══════════════════════════════════════ */
[class*="bpx_Icono"] .elementor-icon { display: inline-block !important; }
.bpx_IconoPulso .elementor-icon { animation: bpx_pulse 2s ease-in-out infinite !important; }
.bpx_IconoFlotante .elementor-icon { animation: bpx_float 3s ease-in-out infinite !important; }
.bpx_IconoRebote .elementor-icon { animation: bpx_bounce 2s ease-in-out infinite !important; }
.bpx_IconoGiro .elementor-icon { transition: transform 0.6s cubic-bezier(0.34,1.56,0.64,1) !important; cursor: pointer !important; }
.bpx_IconoGiro .elementor-icon:hover { transform: rotate(360deg) !important; }

.bpx_IconoDorado .elementor-icon i, .bpx_IconoDorado i.elementor-icon {
    background: linear-gradient(110deg, #6b5520 0%, #a8882e 25%, #fff3c4 50%, #a8882e 75%, #6b5520 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    animation: textShinePlata 5s linear infinite !important;
}

.bpx_IconoPlata .elementor-icon i, .bpx_IconoPlata i.elementor-icon {
    background: linear-gradient(110deg, #4a4c50 0%, #7a7c80 30%, #fff 50%, #7a7c80 70%, #4a4c50 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    animation: textShinePlata 5s linear infinite !important;
}

.bpx_IconoRose .elementor-icon i, .bpx_IconoRose i.elementor-icon {
    background: linear-gradient(110deg, #8a6055 0%, #c49585 25%, #ffe8e0 50%, #c49585 75%, #8a6055 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    animation: textShinePlata 5s linear infinite !important;
}


/* ══════════════════════════════════════
   2. BORDES  (bpx_Borde...)
   ══════════════════════════════════════ */
.bpx_BordeShimmer > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #888, #fff, #888, #fff, #888) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important;
    animation: bpx_borderShimmer 4s linear infinite !important;
    border-radius: 12px !important;
}

.bpx_BordeDorado > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #8a6e2e, #d4b855, #fff3c4, #d4b855, #8a6e2e) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important;
    animation: bpx_borderShimmer 4s linear infinite !important;
    border-radius: 12px !important;
}

.bpx_BordePlata > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #666, #bbb, #fff, #bbb, #666) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important;
    animation: bpx_borderShimmer 4s linear infinite !important;
    border-radius: 12px !important;
}

.bpx_BordeRose > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #8a6055, #c49585, #ffe8e0, #c49585, #8a6055) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important;
    animation: bpx_borderShimmer 4s linear infinite !important;
    border-radius: 12px !important;
}

.bpx_BordeGlow > .elementor-widget-container {
    box-shadow: 0 0 8px rgba(200,200,220,0.15), 0 0 20px rgba(200,200,220,0.08) !important;
    animation: bpx_pulse 3s ease-in-out infinite !important;
    border-radius: 12px !important;
}
/* ══════════════════════════════════════
   BORDES SERPIENTE
   ══════════════════════════════════════ */
@keyframes bpx_snakeRotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes bpx_breathe { 0%,100% { border-color: rgba(212,184,85,.2); } 50% { border-color: rgba(212,184,85,.8); } }
@keyframes bpx_breathePlata { 0%,100% { border-color: rgba(180,180,200,.2); } 50% { border-color: rgba(180,180,200,.8); } }
@keyframes bpx_breatheRose { 0%,100% { border-color: rgba(196,149,133,.2); } 50% { border-color: rgba(196,149,133,.8); } }
@keyframes bpx_breatheEsmeralda { 0%,100% { border-color: rgba(42,120,88,.2); } 50% { border-color: rgba(42,120,88,.8); } }

[class*="bpx_Serpiente"] > .elementor-widget-container { position: relative !important; overflow: hidden !important; border-radius: 12px !important; z-index: 0 !important; }
[class*="bpx_Serpiente"] > .elementor-widget-container > * { position: relative !important; z-index: 2 !important; }
[class*="bpx_Serpiente"] > .elementor-widget-container::before { content: '' !important; position: absolute !important; width: 200% !important; height: 200% !important; top: -50% !important; left: -50% !important; z-index: 0 !important; animation: bpx_snakeRotate 3s linear infinite !important; }
[class*="bpx_Serpiente"] > .elementor-widget-container::after { content: '' !important; position: absolute !important; inset: 2px !important; background: var(--bpx-bg, #1a1a1a) !important; border-radius: 10px !important; z-index: 1 !important; }

.bpx_SerpienteDorado > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 70%, #8a6e2e 80%, #fff3c4 90%, #8a6e2e 100%) !important; }
.bpx_SerpientePlata > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 70%, #666 80%, #fff 90%, #666 100%) !important; }
.bpx_SerpienteRose > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 70%, #8a6055 80%, #ffe8e0 90%, #8a6055 100%) !important; }
.bpx_SerpienteEsmeralda > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 70%, #1a5040 80%, #a8ffd8 90%, #1a5040 100%) !important; }
.bpx_SerpienteRubi > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 70%, #6e1a2a 80%, #ffa8b8 90%, #6e1a2a 100%) !important; }
.bpx_SerpienteZafiro > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 70%, #1a2a58 80%, #a8c8ff 90%, #1a2a58 100%) !important; }
.bpx_SerpienteAmatista > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 70%, #3a1858 80%, #d8b8ff 90%, #3a1858 100%) !important; }
.bpx_SerpienteArcoiris > .elementor-widget-container::before { background: conic-gradient(from 0deg, #ff6b6b, #ffd93d, #6bcf7f, #4ecdc4, #6b8cff, #c471ed, #ff6b6b) !important; }

[class*="bpx_SerpienteDual"] > .elementor-widget-container { position: relative !important; overflow: hidden !important; border-radius: 12px !important; z-index: 0 !important; }
[class*="bpx_SerpienteDual"] > .elementor-widget-container > * { position: relative !important; z-index: 2 !important; }
[class*="bpx_SerpienteDual"] > .elementor-widget-container::before { content: '' !important; position: absolute !important; width: 200% !important; height: 200% !important; top: -50% !important; left: -50% !important; z-index: 0 !important; animation: bpx_snakeRotate 4s linear infinite !important; }
[class*="bpx_SerpienteDual"] > .elementor-widget-container::after { content: '' !important; position: absolute !important; inset: 2px !important; background: var(--bpx-bg, #1a1a1a) !important; border-radius: 10px !important; z-index: 1 !important; }
.bpx_SerpienteDualDorado > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 30%, #8a6e2e 38%, #fff3c4 42%, #8a6e2e 48%, transparent 55%, transparent 80%, #8a6e2e 87%, #fff3c4 92%, #8a6e2e 97%, transparent 100%) !important; }
.bpx_SerpienteDualPlata > .elementor-widget-container::before { background: conic-gradient(from 0deg, transparent 0%, transparent 30%, #666 38%, #fff 42%, #666 48%, transparent 55%, transparent 80%, #666 87%, #fff 92%, #666 97%, transparent 100%) !important; }

.bpx_RespirarDorado > .elementor-widget-container { border: 2px solid rgba(212,184,85,.3) !important; border-radius: 12px !important; animation: bpx_breathe 3s ease-in-out infinite !important; }
.bpx_RespirarPlata > .elementor-widget-container { border: 2px solid rgba(180,180,200,.3) !important; border-radius: 12px !important; animation: bpx_breathePlata 3s ease-in-out infinite !important; }
.bpx_RespirarRose > .elementor-widget-container { border: 2px solid rgba(196,149,133,.3) !important; border-radius: 12px !important; animation: bpx_breatheRose 3s ease-in-out infinite !important; }
.bpx_RespirarEsmeralda > .elementor-widget-container { border: 2px solid rgba(42,120,88,.3) !important; border-radius: 12px !important; animation: bpx_breatheEsmeralda 3s ease-in-out infinite !important; }




/* ══════════════════════════════════════
   TEXTOS NUEVOS
   ══════════════════════════════════════ */
@keyframes bpx_textGlow { 0%,100% { text-shadow: 0 0 8px rgba(255,255,255,.2), 0 0 16px rgba(255,255,255,.08); } 50% { text-shadow: 0 0 14px rgba(255,255,255,.5), 0 0 28px rgba(255,255,255,.2), 0 0 45px rgba(255,255,255,.08); } }
@keyframes bpx_textGlowGold { 0%,100% { text-shadow: 0 0 8px rgba(212,184,85,.2), 0 0 16px rgba(212,184,85,.08); } 50% { text-shadow: 0 0 14px rgba(212,184,85,.5), 0 0 28px rgba(212,184,85,.2), 0 0 45px rgba(212,184,85,.08); } }
@keyframes bpx_neonFlicker { 0%,100% { opacity: .95; text-shadow: 0 0 5px currentColor, 0 0 10px currentColor, 0 0 20px currentColor, 0 0 40px currentColor; } 50% { opacity: 1; text-shadow: 0 0 8px currentColor, 0 0 16px currentColor, 0 0 30px currentColor, 0 0 55px currentColor; } }
@keyframes bpx_textPulse { 0%,100% { opacity: .85; } 50% { opacity: 1; } }
@keyframes bpx_textReveal { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes bpx_typewriterCursor { 0%,100% { border-color: transparent; } 50% { border-color: currentColor; } }
@keyframes bpx_elegantAppear { from { filter: blur(10px); opacity: 0; } to { filter: blur(0); opacity: 1; } }

/* Resplandor */
.bpx_TextoResplandor .elementor-heading-title,
.bpx_TextoResplandor .elementor-text-editor,
.bpx_TextoResplandor .elementor-text-editor p,
.bpx_TextoResplandor .elementor-text-editor span,
.bpx_TextoResplandor .elementor-text-editor h1,
.bpx_TextoResplandor .elementor-text-editor h2,
.bpx_TextoResplandor .elementor-text-editor h3,
.bpx_TextoResplandor .elementor-text-editor h4,
.bpx_TextoResplandor .elementor-text-editor h5,
.bpx_TextoResplandor .elementor-text-editor h6,
.bpx_TextoResplandor .elementor-icon-box-title,
.bpx_TextoResplandor .elementor-image-box-title { color: #fff !important; animation: bpx_textGlow 3s ease-in-out infinite !important; }
.bpx_TextoResplandorDorado .elementor-heading-title,
.bpx_TextoResplandorDorado .elementor-text-editor,
.bpx_TextoResplandorDorado .elementor-text-editor p,
.bpx_TextoResplandorDorado .elementor-text-editor span,
.bpx_TextoResplandorDorado .elementor-text-editor h1,
.bpx_TextoResplandorDorado .elementor-text-editor h2,
.bpx_TextoResplandorDorado .elementor-text-editor h3,
.bpx_TextoResplandorDorado .elementor-text-editor h4,
.bpx_TextoResplandorDorado .elementor-text-editor h5,
.bpx_TextoResplandorDorado .elementor-text-editor h6,
.bpx_TextoResplandorDorado .elementor-icon-box-title,
.bpx_TextoResplandorDorado .elementor-image-box-title { color: #d4b855 !important; animation: bpx_textGlowGold 3s ease-in-out infinite !important; }
.bpx_TextoResplandorRose .elementor-heading-title,
.bpx_TextoResplandorRose .elementor-text-editor,
.bpx_TextoResplandorRose .elementor-text-editor p,
.bpx_TextoResplandorRose .elementor-text-editor span,
.bpx_TextoResplandorRose .elementor-text-editor h1,
.bpx_TextoResplandorRose .elementor-text-editor h2,
.bpx_TextoResplandorRose .elementor-text-editor h3,
.bpx_TextoResplandorRose .elementor-text-editor h4,
.bpx_TextoResplandorRose .elementor-text-editor h5,
.bpx_TextoResplandorRose .elementor-text-editor h6,
.bpx_TextoResplandorRose .elementor-icon-box-title,
.bpx_TextoResplandorRose .elementor-image-box-title { color: #c49585 !important; animation: bpx_textGlowGold 3s ease-in-out infinite !important; }

/* Neón */
.bpx_TextoNeon .elementor-heading-title,
.bpx_TextoNeon .elementor-text-editor,
.bpx_TextoNeon .elementor-text-editor p,
.bpx_TextoNeon .elementor-text-editor span,
.bpx_TextoNeon .elementor-text-editor h1,
.bpx_TextoNeon .elementor-text-editor h2,
.bpx_TextoNeon .elementor-text-editor h3,
.bpx_TextoNeon .elementor-text-editor h4,
.bpx_TextoNeon .elementor-text-editor h5,
.bpx_TextoNeon .elementor-text-editor h6,
.bpx_TextoNeon .elementor-icon-box-title,
.bpx_TextoNeon .elementor-image-box-title { color: #ff6ec7 !important; text-shadow: 0 0 5px #ff6ec7, 0 0 10px #ff6ec7, 0 0 20px #ff1493, 0 0 40px #ff1493 !important; animation: bpx_neonFlicker 3s ease-in-out infinite !important; }
.bpx_TextoNeonAzul .elementor-heading-title,
.bpx_TextoNeonAzul .elementor-text-editor,
.bpx_TextoNeonAzul .elementor-text-editor p,
.bpx_TextoNeonAzul .elementor-text-editor span,
.bpx_TextoNeonAzul .elementor-text-editor h1,
.bpx_TextoNeonAzul .elementor-text-editor h2,
.bpx_TextoNeonAzul .elementor-text-editor h3,
.bpx_TextoNeonAzul .elementor-text-editor h4,
.bpx_TextoNeonAzul .elementor-text-editor h5,
.bpx_TextoNeonAzul .elementor-text-editor h6,
.bpx_TextoNeonAzul .elementor-icon-box-title,
.bpx_TextoNeonAzul .elementor-image-box-title { color: #6ec7ff !important; text-shadow: 0 0 5px #6ec7ff, 0 0 10px #6ec7ff, 0 0 20px #1493ff, 0 0 40px #1493ff !important; animation: bpx_neonFlicker 3s ease-in-out infinite !important; }
.bpx_TextoNeonVerde .elementor-heading-title,
.bpx_TextoNeonVerde .elementor-text-editor,
.bpx_TextoNeonVerde .elementor-text-editor p,
.bpx_TextoNeonVerde .elementor-text-editor span,
.bpx_TextoNeonVerde .elementor-text-editor h1,
.bpx_TextoNeonVerde .elementor-text-editor h2,
.bpx_TextoNeonVerde .elementor-text-editor h3,
.bpx_TextoNeonVerde .elementor-text-editor h4,
.bpx_TextoNeonVerde .elementor-text-editor h5,
.bpx_TextoNeonVerde .elementor-text-editor h6,
.bpx_TextoNeonVerde .elementor-icon-box-title,
.bpx_TextoNeonVerde .elementor-image-box-title { color: #6eff9e !important; text-shadow: 0 0 5px #6eff9e, 0 0 10px #6eff9e, 0 0 20px #14ff5a, 0 0 40px #14ff5a !important; animation: bpx_neonFlicker 3s ease-in-out infinite !important; }

/* Arcoíris */
.bpx_TextoArcoiris .elementor-heading-title,
.bpx_TextoArcoiris .elementor-text-editor,
.bpx_TextoArcoiris .elementor-text-editor p,
.bpx_TextoArcoiris .elementor-text-editor span,
.bpx_TextoArcoiris .elementor-text-editor h1,
.bpx_TextoArcoiris .elementor-text-editor h2,
.bpx_TextoArcoiris .elementor-text-editor h3,
.bpx_TextoArcoiris .elementor-text-editor h4,
.bpx_TextoArcoiris .elementor-text-editor h5,
.bpx_TextoArcoiris .elementor-text-editor h6,
.bpx_TextoArcoiris .elementor-icon-box-title,
.bpx_TextoArcoiris .elementor-image-box-title { background: linear-gradient(90deg, #ff6b6b, #ffd93d, #6bcf7f, #4ecdc4, #6b8cff, #c471ed, #ff6b6b) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: tS 4s linear infinite !important; }

/* Shimmer colores nuevos */
.bpx_TextoRubi .elementor-heading-title,
.bpx_TextoRubi .elementor-text-editor,
.bpx_TextoRubi .elementor-text-editor p,
.bpx_TextoRubi .elementor-text-editor span,
.bpx_TextoRubi .elementor-text-editor h1,
.bpx_TextoRubi .elementor-text-editor h2,
.bpx_TextoRubi .elementor-text-editor h3,
.bpx_TextoRubi .elementor-text-editor h4,
.bpx_TextoRubi .elementor-text-editor h5,
.bpx_TextoRubi .elementor-text-editor h6,
.bpx_TextoRubi .elementor-icon-box-title,
.bpx_TextoRubi .elementor-image-box-title { background: linear-gradient(110deg, #6e1a2a 0%, #c03050 25%, #ffa8b8 50%, #c03050 75%, #6e1a2a 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: tS 5s linear infinite !important; }
.bpx_TextoZafiro .elementor-heading-title,
.bpx_TextoZafiro .elementor-text-editor,
.bpx_TextoZafiro .elementor-text-editor p,
.bpx_TextoZafiro .elementor-text-editor span,
.bpx_TextoZafiro .elementor-text-editor h1,
.bpx_TextoZafiro .elementor-text-editor h2,
.bpx_TextoZafiro .elementor-text-editor h3,
.bpx_TextoZafiro .elementor-text-editor h4,
.bpx_TextoZafiro .elementor-text-editor h5,
.bpx_TextoZafiro .elementor-text-editor h6,
.bpx_TextoZafiro .elementor-icon-box-title,
.bpx_TextoZafiro .elementor-image-box-title { background: linear-gradient(110deg, #1a2a58 0%, #3050a0 25%, #a8c8ff 50%, #3050a0 75%, #1a2a58 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: tS 5s linear infinite !important; }
.bpx_TextoAmatista .elementor-heading-title,
.bpx_TextoAmatista .elementor-text-editor,
.bpx_TextoAmatista .elementor-text-editor p,
.bpx_TextoAmatista .elementor-text-editor span,
.bpx_TextoAmatista .elementor-text-editor h1,
.bpx_TextoAmatista .elementor-text-editor h2,
.bpx_TextoAmatista .elementor-text-editor h3,
.bpx_TextoAmatista .elementor-text-editor h4,
.bpx_TextoAmatista .elementor-text-editor h5,
.bpx_TextoAmatista .elementor-text-editor h6,
.bpx_TextoAmatista .elementor-icon-box-title,
.bpx_TextoAmatista .elementor-image-box-title { background: linear-gradient(110deg, #3a1858 0%, #6838a0 25%, #d8b8ff 50%, #6838a0 75%, #3a1858 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: tS 5s linear infinite !important; }
.bpx_TextoCobre .elementor-heading-title,
.bpx_TextoCobre .elementor-text-editor,
.bpx_TextoCobre .elementor-text-editor p,
.bpx_TextoCobre .elementor-text-editor span,
.bpx_TextoCobre .elementor-text-editor h1,
.bpx_TextoCobre .elementor-text-editor h2,
.bpx_TextoCobre .elementor-text-editor h3,
.bpx_TextoCobre .elementor-text-editor h4,
.bpx_TextoCobre .elementor-text-editor h5,
.bpx_TextoCobre .elementor-text-editor h6,
.bpx_TextoCobre .elementor-icon-box-title,
.bpx_TextoCobre .elementor-image-box-title { background: linear-gradient(110deg, #5a3820 0%, #a86830 25%, #ffd0a0 50%, #a86830 75%, #5a3820 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: tS 5s linear infinite !important; }
.bpx_TextoChampagne .elementor-heading-title,
.bpx_TextoChampagne .elementor-text-editor,
.bpx_TextoChampagne .elementor-text-editor p,
.bpx_TextoChampagne .elementor-text-editor span,
.bpx_TextoChampagne .elementor-text-editor h1,
.bpx_TextoChampagne .elementor-text-editor h2,
.bpx_TextoChampagne .elementor-text-editor h3,
.bpx_TextoChampagne .elementor-text-editor h4,
.bpx_TextoChampagne .elementor-text-editor h5,
.bpx_TextoChampagne .elementor-text-editor h6,
.bpx_TextoChampagne .elementor-icon-box-title,
.bpx_TextoChampagne .elementor-image-box-title { background: linear-gradient(110deg, #6a5a30 0%, #b8a060 25%, #fff8d0 50%, #b8a060 75%, #6a5a30 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: tS 5s linear infinite !important; }
.bpx_TextoEsmeralda .elementor-heading-title,
.bpx_TextoEsmeralda .elementor-text-editor,
.bpx_TextoEsmeralda .elementor-text-editor p,
.bpx_TextoEsmeralda .elementor-text-editor span,
.bpx_TextoEsmeralda .elementor-text-editor h1,
.bpx_TextoEsmeralda .elementor-text-editor h2,
.bpx_TextoEsmeralda .elementor-text-editor h3,
.bpx_TextoEsmeralda .elementor-text-editor h4,
.bpx_TextoEsmeralda .elementor-text-editor h5,
.bpx_TextoEsmeralda .elementor-text-editor h6,
.bpx_TextoEsmeralda .elementor-icon-box-title,
.bpx_TextoEsmeralda .elementor-image-box-title { background: linear-gradient(110deg, #1a5040 0%, #38a070 25%, #a8ffd8 50%, #38a070 75%, #1a5040 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: tS 5s linear infinite !important; }

/* Contorno */
.bpx_TextoContorno .elementor-heading-title,
.bpx_TextoContorno .elementor-text-editor,
.bpx_TextoContorno .elementor-text-editor p,
.bpx_TextoContorno .elementor-text-editor span,
.bpx_TextoContorno .elementor-text-editor h1,
.bpx_TextoContorno .elementor-text-editor h2,
.bpx_TextoContorno .elementor-text-editor h3,
.bpx_TextoContorno .elementor-text-editor h4,
.bpx_TextoContorno .elementor-text-editor h5,
.bpx_TextoContorno .elementor-text-editor h6,
.bpx_TextoContorno .elementor-icon-box-title,
.bpx_TextoContorno .elementor-image-box-title { color: transparent !important; -webkit-text-fill-color: transparent !important; -webkit-text-stroke: 1.5px #bbb !important; }
.bpx_TextoContornoDorado .elementor-heading-title,
.bpx_TextoContornoDorado .elementor-text-editor,
.bpx_TextoContornoDorado .elementor-text-editor p,
.bpx_TextoContornoDorado .elementor-text-editor span,
.bpx_TextoContornoDorado .elementor-text-editor h1,
.bpx_TextoContornoDorado .elementor-text-editor h2,
.bpx_TextoContornoDorado .elementor-text-editor h3,
.bpx_TextoContornoDorado .elementor-text-editor h4,
.bpx_TextoContornoDorado .elementor-text-editor h5,
.bpx_TextoContornoDorado .elementor-text-editor h6,
.bpx_TextoContornoDorado .elementor-icon-box-title,
.bpx_TextoContornoDorado .elementor-image-box-title { color: transparent !important; -webkit-text-fill-color: transparent !important; -webkit-text-stroke: 1.5px #d4b855 !important; }
.bpx_TextoContornoRose .elementor-heading-title,
.bpx_TextoContornoRose .elementor-text-editor,
.bpx_TextoContornoRose .elementor-text-editor p,
.bpx_TextoContornoRose .elementor-text-editor span,
.bpx_TextoContornoRose .elementor-text-editor h1,
.bpx_TextoContornoRose .elementor-text-editor h2,
.bpx_TextoContornoRose .elementor-text-editor h3,
.bpx_TextoContornoRose .elementor-text-editor h4,
.bpx_TextoContornoRose .elementor-text-editor h5,
.bpx_TextoContornoRose .elementor-text-editor h6,
.bpx_TextoContornoRose .elementor-icon-box-title,
.bpx_TextoContornoRose .elementor-image-box-title { color: transparent !important; -webkit-text-fill-color: transparent !important; -webkit-text-stroke: 1.5px #c49585 !important; }

/* Relieve */
.bpx_TextoRelieve .elementor-heading-title,
.bpx_TextoRelieve .elementor-text-editor,
.bpx_TextoRelieve .elementor-text-editor p,
.bpx_TextoRelieve .elementor-text-editor span,
.bpx_TextoRelieve .elementor-text-editor h1,
.bpx_TextoRelieve .elementor-text-editor h2,
.bpx_TextoRelieve .elementor-text-editor h3,
.bpx_TextoRelieve .elementor-text-editor h4,
.bpx_TextoRelieve .elementor-text-editor h5,
.bpx_TextoRelieve .elementor-text-editor h6,
.bpx_TextoRelieve .elementor-icon-box-title,
.bpx_TextoRelieve .elementor-image-box-title { color: #d4b855 !important; text-shadow: 1px 1px 1px rgba(255,255,255,.25), -1px -1px 1px rgba(0,0,0,.4) !important; }
.bpx_TextoRelievePlata .elementor-heading-title,
.bpx_TextoRelievePlata .elementor-text-editor,
.bpx_TextoRelievePlata .elementor-text-editor p,
.bpx_TextoRelievePlata .elementor-text-editor span,
.bpx_TextoRelievePlata .elementor-text-editor h1,
.bpx_TextoRelievePlata .elementor-text-editor h2,
.bpx_TextoRelievePlata .elementor-text-editor h3,
.bpx_TextoRelievePlata .elementor-text-editor h4,
.bpx_TextoRelievePlata .elementor-text-editor h5,
.bpx_TextoRelievePlata .elementor-text-editor h6,
.bpx_TextoRelievePlata .elementor-icon-box-title,
.bpx_TextoRelievePlata .elementor-image-box-title { color: #bbb !important; text-shadow: 1px 1px 1px rgba(255,255,255,.3), -1px -1px 1px rgba(0,0,0,.4) !important; }

/* Sombra Larga */
.bpx_TextoSombraLarga .elementor-heading-title,
.bpx_TextoSombraLarga .elementor-text-editor,
.bpx_TextoSombraLarga .elementor-text-editor p,
.bpx_TextoSombraLarga .elementor-text-editor span,
.bpx_TextoSombraLarga .elementor-text-editor h1,
.bpx_TextoSombraLarga .elementor-text-editor h2,
.bpx_TextoSombraLarga .elementor-text-editor h3,
.bpx_TextoSombraLarga .elementor-text-editor h4,
.bpx_TextoSombraLarga .elementor-text-editor h5,
.bpx_TextoSombraLarga .elementor-text-editor h6,
.bpx_TextoSombraLarga .elementor-icon-box-title,
.bpx_TextoSombraLarga .elementor-image-box-title { color: #fff !important; text-shadow: 1px 1px 0 rgba(0,0,0,.15), 2px 2px 0 rgba(0,0,0,.13), 3px 3px 0 rgba(0,0,0,.11), 4px 4px 0 rgba(0,0,0,.09), 5px 5px 0 rgba(0,0,0,.07), 6px 6px 8px rgba(0,0,0,.05) !important; }
.bpx_TextoSombraDorada .elementor-heading-title,
.bpx_TextoSombraDorada .elementor-text-editor,
.bpx_TextoSombraDorada .elementor-text-editor p,
.bpx_TextoSombraDorada .elementor-text-editor span,
.bpx_TextoSombraDorada .elementor-text-editor h1,
.bpx_TextoSombraDorada .elementor-text-editor h2,
.bpx_TextoSombraDorada .elementor-text-editor h3,
.bpx_TextoSombraDorada .elementor-text-editor h4,
.bpx_TextoSombraDorada .elementor-text-editor h5,
.bpx_TextoSombraDorada .elementor-text-editor h6,
.bpx_TextoSombraDorada .elementor-icon-box-title,
.bpx_TextoSombraDorada .elementor-image-box-title { color: #fff !important; text-shadow: 1px 1px 0 rgba(212,184,85,.2), 2px 2px 0 rgba(212,184,85,.16), 3px 3px 0 rgba(212,184,85,.12), 4px 4px 0 rgba(212,184,85,.08), 5px 5px 8px rgba(212,184,85,.04) !important; }

/* Brillo Pulsante */
.bpx_TextoBrilloPulsante .elementor-heading-title,
.bpx_TextoBrilloPulsante .elementor-text-editor,
.bpx_TextoBrilloPulsante .elementor-text-editor p,
.bpx_TextoBrilloPulsante .elementor-text-editor span,
.bpx_TextoBrilloPulsante .elementor-text-editor h1,
.bpx_TextoBrilloPulsante .elementor-text-editor h2,
.bpx_TextoBrilloPulsante .elementor-text-editor h3,
.bpx_TextoBrilloPulsante .elementor-text-editor h4,
.bpx_TextoBrilloPulsante .elementor-text-editor h5,
.bpx_TextoBrilloPulsante .elementor-text-editor h6,
.bpx_TextoBrilloPulsante .elementor-icon-box-title,
.bpx_TextoBrilloPulsante .elementor-image-box-title { background: linear-gradient(110deg, #666 0%, #aaa 25%, #fff 50%, #aaa 75%, #666 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: tS 5s linear infinite, bpx_textPulse 3s ease-in-out infinite !important; }

/* Typewriter */
.bpx_TextoTypewriter .elementor-heading-title,
.bpx_TextoTypewriter .elementor-text-editor,
.bpx_TextoTypewriter .elementor-text-editor p,
.bpx_TextoTypewriter .elementor-text-editor span,
.bpx_TextoTypewriter .elementor-text-editor h1,
.bpx_TextoTypewriter .elementor-text-editor h2,
.bpx_TextoTypewriter .elementor-text-editor h3,
.bpx_TextoTypewriter .elementor-text-editor h4,
.bpx_TextoTypewriter .elementor-text-editor h5,
.bpx_TextoTypewriter .elementor-text-editor h6,
.bpx_TextoTypewriter .elementor-icon-box-title,
.bpx_TextoTypewriter .elementor-image-box-title { overflow: hidden !important; white-space: nowrap !important; border-right: 2px solid currentColor !important; animation: bpx_textReveal 3s steps(30, end) forwards, bpx_typewriterCursor .8s step-end infinite !important; max-width: fit-content !important; }

/* Aparecer Elegante */
.bpx_TextoAparecer .elementor-heading-title,
.bpx_TextoAparecer .elementor-text-editor,
.bpx_TextoAparecer .elementor-text-editor p,
.bpx_TextoAparecer .elementor-text-editor span,
.bpx_TextoAparecer .elementor-text-editor h1,
.bpx_TextoAparecer .elementor-text-editor h2,
.bpx_TextoAparecer .elementor-text-editor h3,
.bpx_TextoAparecer .elementor-text-editor h4,
.bpx_TextoAparecer .elementor-text-editor h5,
.bpx_TextoAparecer .elementor-text-editor h6,
.bpx_TextoAparecer .elementor-icon-box-title,
.bpx_TextoAparecer .elementor-image-box-title { animation: bpx_elegantAppear 2s ease-out forwards !important; }

/* ══════════════════════════════════════
   3. FONDOS  (bpx_Fondo...)
   ══════════════════════════════════════ */
.bpx_FondoCristal {
    background: rgba(255,255,255,0.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 16px !important;
}

.bpx_FondoSeda {
    background: linear-gradient(135deg, #f8f6f4 0%, #e8e4e0 25%, #f0ece8 50%, #e0dcd8 75%, #f8f6f4 100%) !important;
    background-size: 200% 200% !important;
    animation: bpx_gradMove 10s ease infinite !important;
}

.bpx_FondoDegradado {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #667eea 100%) !important;
    background-size: 300% 300% !important;
    animation: bpx_gradMove 12s ease infinite !important;
}

.bpx_FondoMarmol {
    background-color: #f5f0eb !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.015' numOctaves='4' seed='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.92 0 0 0 0 0.90 0 0 0 0 0.87 0 0 0 0.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E") !important;
}

.bpx_FondoLino {
    background-color: #f5f2ee !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='%23f5f2ee'/%3E%3Crect width='1' height='1' x='0' y='0' fill='%23ebe8e4' opacity='0.4'/%3E%3Crect width='1' height='1' x='2' y='2' fill='%23ebe8e4' opacity='0.3'/%3E%3C/svg%3E") !important;
}





/* ══════════════════════════════════════
   6. IMAGENES  (bpx_Img...)
   ══════════════════════════════════════ */
.bpx_ImgMarcoDorado > .elementor-widget-container {
    border: 3px solid transparent !important;
    background-image: linear-gradient(#111, #111), linear-gradient(135deg, #8a6e2e, #d4b855, #fff3c4, #d4b855, #8a6e2e) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
    border-radius: 8px !important;
    padding: 4px !important;
}

.bpx_ImgMarcoPlata > .elementor-widget-container {
    border: 3px solid transparent !important;
    background-image: linear-gradient(#111, #111), linear-gradient(135deg, #666, #bbb, #fff, #bbb, #666) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
    border-radius: 8px !important;
    padding: 4px !important;
}

.bpx_ImgHoverZoom .elementor-widget-container img {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.bpx_ImgHoverZoom .elementor-widget-container:hover img {
    transform: scale(1.08) !important;
}
.bpx_ImgHoverZoom .elementor-widget-container {
    overflow: hidden !important; border-radius: 8px !important;
}

.bpx_ImgHoverBrillo .elementor-widget-container {
    position: relative !important; overflow: hidden !important; border-radius: 8px !important;
}
.bpx_ImgHoverBrillo .elementor-widget-container::after {
    content: '';
    position: absolute; top: 0; left: -100%; width: 60%; height: 100%;
    background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-20deg);
    transition: left 0.8s ease;
    z-index: 5; pointer-events: none;
}
.bpx_ImgHoverBrillo .elementor-widget-container:hover::after {
    left: 200%;
}

.bpx_ImgVintage .elementor-widget-container img {
    filter: sepia(0.2) saturate(0.85) contrast(1.05) !important;
    transition: filter 0.4s ease !important;
}
.bpx_ImgVintage .elementor-widget-container:hover img {
    filter: sepia(0) saturate(1) contrast(1) !important;
}

.bpx_ImgSombra > .elementor-widget-container {
    box-shadow: 0 12px 35px rgba(0,0,0,0.15), 0 4px 12px rgba(0,0,0,0.08) !important;
    border-radius: 8px !important;
    transition: box-shadow 0.4s ease, transform 0.4s ease !important;
}
.bpx_ImgSombra > .elementor-widget-container:hover {
    box-shadow: 0 18px 45px rgba(0,0,0,0.2), 0 6px 16px rgba(0,0,0,0.1) !important;
    transform: translateY(-3px) !important;
}

.bpx_ImgCirculo .elementor-widget-container img {
    border-radius: 50% !important;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.bpx_ImgBN .elementor-widget-container img {
    filter: grayscale(1) !important;
    transition: filter 0.5s ease !important;
}
.bpx_ImgBN .elementor-widget-container:hover img {
    filter: grayscale(0) !important;
}

.bpx_ImgMarcoRose > .elementor-widget-container {
    border: 3px solid transparent !important;
    background-image: linear-gradient(#111, #111), linear-gradient(135deg, #8a6055, #c49585, #ffe8e0, #c49585, #8a6055) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
    border-radius: 8px !important;
    padding: 4px !important;
}

/* Auto Brillo variantes */
@keyframes bpx_autoShine { 0%,85%,100% { left: -100%; } 90% { left: 200%; } }
.bpx_ImgHoverBrillo .elementor-widget-container::after {
    animation: bpx_autoShine 6s ease-in-out infinite !important;
}

.bpx_ImgBrilloDorado .elementor-widget-container { position: relative !important; overflow: hidden !important; border-radius: 8px !important; }
.bpx_ImgBrilloDorado .elementor-widget-container::after {
    content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%;
    background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(212,184,85,.5) 45%, rgba(255,243,196,.8) 50%, rgba(212,184,85,.5) 55%, rgba(255,255,255,0) 100%);
    transform: skewX(-20deg); z-index: 5; pointer-events: none;
    animation: bpx_autoShineGold 5s ease-in-out infinite;
}

.bpx_ImgBrilloRose .elementor-widget-container { position: relative !important; overflow: hidden !important; border-radius: 8px !important; }
.bpx_ImgBrilloRose .elementor-widget-container::after {
    content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%;
    background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(196,149,133,.5) 45%, rgba(255,232,224,.8) 50%, rgba(196,149,133,.5) 55%, rgba(255,255,255,0) 100%);
    transform: skewX(-20deg); z-index: 5; pointer-events: none;
    animation: bpx_autoShineRose 5.5s ease-in-out infinite;
}

.bpx_ImgBrilloArcoiris .elementor-widget-container { position: relative !important; overflow: hidden !important; border-radius: 8px !important; }
.bpx_ImgBrilloArcoiris .elementor-widget-container::after {
    content: ''; position: absolute; top: 0; left: -100%; width: 60%; height: 100%;
    background: linear-gradient(100deg, rgba(255,0,0,0) 0%, rgba(255,100,100,.3) 30%, rgba(255,200,100,.4) 40%, rgba(100,255,100,.4) 50%, rgba(100,100,255,.4) 60%, rgba(200,100,255,.3) 70%, rgba(255,0,0,0) 100%);
    transform: skewX(-20deg); z-index: 5; pointer-events: none;
    animation: bpx_autoShineRainbow 7s ease-in-out infinite;
}

.bpx_ImgBrilloSuave .elementor-widget-container { position: relative !important; overflow: hidden !important; border-radius: 8px !important; }
.bpx_ImgBrilloSuave .elementor-widget-container::after {
    content: ''; position: absolute; top: 0; left: -100%; width: 80%; height: 100%;
    background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.2) 40%, rgba(255,255,255,.35) 50%, rgba(255,255,255,.2) 60%, rgba(255,255,255,0) 100%);
    transform: skewX(-15deg); z-index: 5; pointer-events: none;
    animation: bpx_autoShineSlow 8s ease-in-out infinite;
}


/* ══════════════════════════════════════
   BORDES NUEVOS TIPOS
   ══════════════════════════════════════ */
.bpx_BordeDoble > .elementor-widget-container { border: 3px double rgba(212,184,85,.6) !important; border-radius: 12px !important; animation: bpx_borderColorPulse 4s ease-in-out infinite !important; }
.bpx_BordeDobleRose > .elementor-widget-container { border: 3px double rgba(196,149,133,.6) !important; border-radius: 12px !important; animation: bpx_borderColorPulse 4s ease-in-out infinite !important; }
.bpx_BordeDoblePlata > .elementor-widget-container { border: 3px double rgba(180,180,200,.5) !important; border-radius: 12px !important; animation: bpx_borderColorPulse 4s ease-in-out infinite !important; }

.bpx_BordePunteado > .elementor-widget-container { border: 2px dotted rgba(212,184,85,.5) !important; border-radius: 12px !important; }
.bpx_BordePunteadoPlata > .elementor-widget-container { border: 2px dotted rgba(180,180,200,.4) !important; border-radius: 12px !important; }
.bpx_BordePunteadoRose > .elementor-widget-container { border: 2px dotted rgba(196,149,133,.5) !important; border-radius: 12px !important; }

.bpx_BordeDashed > .elementor-widget-container { border: 2px dashed rgba(212,184,85,.4) !important; border-radius: 12px !important; }
.bpx_BordeDashedPlata > .elementor-widget-container { border: 2px dashed rgba(180,180,200,.4) !important; border-radius: 12px !important; }

.bpx_BordeEsquinas > .elementor-widget-container { position: relative !important; border: none !important; }
.bpx_BordeEsquinas > .elementor-widget-container::before, .bpx_BordeEsquinas > .elementor-widget-container::after { content: ''; position: absolute; width: 20px; height: 20px; border-color: rgba(212,184,85,.6); border-style: solid; z-index: 2; }
.bpx_BordeEsquinas > .elementor-widget-container::before { top: 0; left: 0; border-width: 2px 0 0 2px; }
.bpx_BordeEsquinas > .elementor-widget-container::after { bottom: 0; right: 0; border-width: 0 2px 2px 0; }

.bpx_BordeEsquinasPlata > .elementor-widget-container { position: relative !important; border: none !important; }
.bpx_BordeEsquinasPlata > .elementor-widget-container::before, .bpx_BordeEsquinasPlata > .elementor-widget-container::after { content: ''; position: absolute; width: 20px; height: 20px; border-color: rgba(180,180,200,.5); border-style: solid; z-index: 2; }
.bpx_BordeEsquinasPlata > .elementor-widget-container::before { top: 0; left: 0; border-width: 2px 0 0 2px; }
.bpx_BordeEsquinasPlata > .elementor-widget-container::after { bottom: 0; right: 0; border-width: 0 2px 2px 0; }

.bpx_BordeGlowRose > .elementor-widget-container { box-shadow: 0 0 10px rgba(196,149,133,.2), 0 0 25px rgba(196,149,133,.1) !important; animation: bpx_pulse 3s ease-in-out infinite !important; border-radius: 12px !important; }
.bpx_BordeGlowEsmeralda > .elementor-widget-container { box-shadow: 0 0 10px rgba(42,120,88,.2), 0 0 25px rgba(42,120,88,.1) !important; animation: bpx_pulse 3s ease-in-out infinite !important; border-radius: 12px !important; }
.bpx_BordeGlowZafiro > .elementor-widget-container { box-shadow: 0 0 10px rgba(48,80,160,.2), 0 0 25px rgba(48,80,160,.1) !important; animation: bpx_pulse 3s ease-in-out infinite !important; border-radius: 12px !important; }

.bpx_ImgCirculo .elementor-widget-container img {
    border-radius: 50% !important;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.bpx_ImgBN .elementor-widget-container img {
    filter: grayscale(1) !important;
    transition: filter 0.5s ease !important;
}
.bpx_ImgBN .elementor-widget-container:hover img {
    filter: grayscale(0) !important;
}

.bpx_ImgMarcoRose > .elementor-widget-container {
    border: 3px solid transparent !important;
    background-image: linear-gradient(#111, #111), linear-gradient(135deg, #8a6055, #c49585, #ffe8e0, #c49585, #8a6055) !important;
    background-origin: border-box !important;
    background-clip: padding-box, border-box !important;
    border-radius: 8px !important;
    padding: 4px !important;
}

/* Mobile-friendly: auto-shine on images (no hover needed) */
@keyframes bpx_autoShine { 0%,85%,100% { left: -100%; } 90% { left: 200%; } }
.bpx_ImgHoverBrillo .elementor-widget-container::after {
    animation: bpx_autoShine 6s ease-in-out infinite !important;
}


/* ══════════════════════════════════════
   NUEVOS ESTILOS EXPANDIDOS
   ══════════════════════════════════════ */

/* ── KEYFRAMES EXTRA ── */
@keyframes bpx_bounce { 0%,100% { transform: translateY(0); } 40% { transform: translateY(-8px); } 60% { transform: translateY(-4px); } }

/* Icono Rebote */
.bpx_IconoRebote .elementor-icon { animation: bpx_bounce 2s ease-in-out infinite !important; }

/* Iconos Shimmer extra */
.bpx_IconoEsmeralda .elementor-icon i, .bpx_IconoEsmeralda i.elementor-icon {
    background: linear-gradient(110deg, #1a5040 0%, #2a7858 25%, #a8ffd8 50%, #2a7858 75%, #1a5040 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    animation: textShinePlata 5s linear infinite !important;
}
.bpx_IconoZafiro .elementor-icon i, .bpx_IconoZafiro i.elementor-icon {
    background: linear-gradient(110deg, #1a2a58 0%, #3050a0 25%, #a8c8ff 50%, #3050a0 75%, #1a2a58 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    animation: textShinePlata 5s linear infinite !important;
}
.bpx_IconoAmatista .elementor-icon i, .bpx_IconoAmatista i.elementor-icon {
    background: linear-gradient(110deg, #3a1858 0%, #6838a0 25%, #d8b8ff 50%, #6838a0 75%, #3a1858 100%) !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    color: transparent !important; -webkit-text-fill-color: transparent !important;
    animation: textShinePlata 5s linear infinite !important;
}

/* Bordes Shimmer extra */
.bpx_BordeEsmeralda > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #1a5040, #38a070, #a8ffd8, #38a070, #1a5040) !important;
    background-origin: border-box !important; background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important; animation: bpx_borderShimmer 4s linear infinite !important; border-radius: 12px !important;
}
.bpx_BordeRubi > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #6e1a2a, #c03050, #ffa8b8, #c03050, #6e1a2a) !important;
    background-origin: border-box !important; background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important; animation: bpx_borderShimmer 4s linear infinite !important; border-radius: 12px !important;
}
.bpx_BordeZafiro > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #1a2a58, #3050a0, #a8c8ff, #3050a0, #1a2a58) !important;
    background-origin: border-box !important; background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important; animation: bpx_borderShimmer 4s linear infinite !important; border-radius: 12px !important;
}
.bpx_BordeAmatista > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #3a1858, #6838a0, #d8b8ff, #6838a0, #3a1858) !important;
    background-origin: border-box !important; background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important; animation: bpx_borderShimmer 4s linear infinite !important; border-radius: 12px !important;
}
.bpx_BordeCobre > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #5a3820, #a86830, #ffd0a0, #a86830, #5a3820) !important;
    background-origin: border-box !important; background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important; animation: bpx_borderShimmer 4s linear infinite !important; border-radius: 12px !important;
}
.bpx_BordeMidnight > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #0a1030, #283868, #a0b8e8, #283868, #0a1030) !important;
    background-origin: border-box !important; background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important; animation: bpx_borderShimmer 4s linear infinite !important; border-radius: 12px !important;
}
.bpx_BordeChampagne > .elementor-widget-container {
    border: 2px solid transparent !important;
    background-image: linear-gradient(var(--bpx-bg, #111), var(--bpx-bg, #111)), linear-gradient(90deg, #6a5a30, #b8a060, #fff8d0, #b8a060, #6a5a30) !important;
    background-origin: border-box !important; background-clip: padding-box, border-box !important;
    background-size: 100% 100%, 200% 100% !important; animation: bpx_borderShimmer 4s linear infinite !important; border-radius: 12px !important;
}
.bpx_BordeGlowDorado > .elementor-widget-container {
    box-shadow: 0 0 10px rgba(212,184,85,0.2), 0 0 25px rgba(212,184,85,0.1) !important;
    animation: bpx_pulse 3s ease-in-out infinite !important; border-radius: 12px !important;
}

/* Fondos extra */
.bpx_FondoRoseGold {
    background: linear-gradient(135deg, #f8e8e0 0%, #e0c0b0 25%, #f0d0c0 50%, #d8b0a0 75%, #f8e8e0 100%) !important;
    background-size: 200% 200% !important; animation: bpx_gradMove 10s ease infinite !important;
}
.bpx_FondoMidnight {
    background: linear-gradient(135deg, #0a0e1a 0%, #141830 25%, #1a2040 50%, #141830 75%, #0a0e1a 100%) !important;
    background-size: 200% 200% !important; animation: bpx_gradMove 12s ease infinite !important;
}
.bpx_FondoOnyx {
    background: linear-gradient(135deg, #1a1a1a 0%, #282828 25%, #1e1e1e 50%, #222 75%, #1a1a1a 100%) !important;
    background-size: 200% 200% !important; animation: bpx_gradMove 12s ease infinite !important;
}



/* ══════════════════════════════════════
   TEXTOS ROMÁNTICOS — BODAS Y XV AÑOS
   ══════════════════════════════════════ */
@keyframes bpx_heartbeat { 0%,100% { transform: scale(1); } 14% { transform: scale(1.04); } 28% { transform: scale(1); } 42% { transform: scale(1.03); } 56% { transform: scale(1); } }
@keyframes bpx_loveShine { 0% { background-position: -200% 50%; } 100% { background-position: 400% 50%; } }
@keyframes bpx_softFocus { from { filter: blur(8px); opacity: 0; transform: scale(1.03); } to { filter: blur(0); opacity: 1; transform: scale(1); } }
@keyframes bpx_roseGlow { 0%,100% { text-shadow: 0 0 8px rgba(255,182,193,.15), 0 0 20px rgba(255,105,135,.05); } 50% { text-shadow: 0 0 15px rgba(255,182,193,.4), 0 0 35px rgba(255,105,135,.15), 0 0 50px rgba(255,182,193,.05); } }
@keyframes bpx_slowShimmer { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }

/* Latido de Corazón */
.bpx_TextoLatido .elementor-heading-title,
.bpx_TextoLatido .elementor-text-editor,
.bpx_TextoLatido .elementor-text-editor p,
.bpx_TextoLatido .elementor-text-editor span,
.bpx_TextoLatido .elementor-text-editor h1,
.bpx_TextoLatido .elementor-text-editor h2,
.bpx_TextoLatido .elementor-text-editor h3,
.bpx_TextoLatido .elementor-text-editor h4,
.bpx_TextoLatido .elementor-text-editor h5,
.bpx_TextoLatido .elementor-text-editor h6,
.bpx_TextoLatido .elementor-icon-box-title,
.bpx_TextoLatido .elementor-image-box-title { color: #d4b855 !important; animation: bpx_heartbeat 1.8s ease-in-out infinite !important; display: inline-block !important; }
.bpx_TextoLatidoRosa .elementor-heading-title,
.bpx_TextoLatidoRosa .elementor-text-editor,
.bpx_TextoLatidoRosa .elementor-text-editor p,
.bpx_TextoLatidoRosa .elementor-text-editor span,
.bpx_TextoLatidoRosa .elementor-text-editor h1,
.bpx_TextoLatidoRosa .elementor-text-editor h2,
.bpx_TextoLatidoRosa .elementor-text-editor h3,
.bpx_TextoLatidoRosa .elementor-text-editor h4,
.bpx_TextoLatidoRosa .elementor-text-editor h5,
.bpx_TextoLatidoRosa .elementor-text-editor h6,
.bpx_TextoLatidoRosa .elementor-icon-box-title,
.bpx_TextoLatidoRosa .elementor-image-box-title { color: #ff85a2 !important; animation: bpx_heartbeat 1.8s ease-in-out infinite !important; display: inline-block !important; }

/* Destello de Amor */
.bpx_TextoDestelloAmor .elementor-heading-title,
.bpx_TextoDestelloAmor .elementor-text-editor,
.bpx_TextoDestelloAmor .elementor-text-editor p,
.bpx_TextoDestelloAmor .elementor-text-editor span,
.bpx_TextoDestelloAmor .elementor-text-editor h1,
.bpx_TextoDestelloAmor .elementor-text-editor h2,
.bpx_TextoDestelloAmor .elementor-text-editor h3,
.bpx_TextoDestelloAmor .elementor-text-editor h4,
.bpx_TextoDestelloAmor .elementor-text-editor h5,
.bpx_TextoDestelloAmor .elementor-text-editor h6,
.bpx_TextoDestelloAmor .elementor-icon-box-title,
.bpx_TextoDestelloAmor .elementor-image-box-title { background: linear-gradient(110deg, #8a6e2e 0%, #d4b855 20%, #fff3c4 30%, #ffffff 35%, #fff3c4 40%, #d4b855 60%, #8a6e2e 80%, #d4b855 95%, #fff3c4 100%) !important; background-size: 400% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: bpx_loveShine 8s ease-in-out infinite !important; }
.bpx_TextoDestelloPlata .elementor-heading-title,
.bpx_TextoDestelloPlata .elementor-text-editor,
.bpx_TextoDestelloPlata .elementor-text-editor p,
.bpx_TextoDestelloPlata .elementor-text-editor span,
.bpx_TextoDestelloPlata .elementor-text-editor h1,
.bpx_TextoDestelloPlata .elementor-text-editor h2,
.bpx_TextoDestelloPlata .elementor-text-editor h3,
.bpx_TextoDestelloPlata .elementor-text-editor h4,
.bpx_TextoDestelloPlata .elementor-text-editor h5,
.bpx_TextoDestelloPlata .elementor-text-editor h6,
.bpx_TextoDestelloPlata .elementor-icon-box-title,
.bpx_TextoDestelloPlata .elementor-image-box-title { background: linear-gradient(110deg, #555 0%, #aaa 20%, #e0e0e0 30%, #ffffff 35%, #e0e0e0 40%, #aaa 60%, #555 80%, #aaa 95%, #e0e0e0 100%) !important; background-size: 400% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: bpx_loveShine 8s ease-in-out infinite !important; }
.bpx_TextoDestelloRose .elementor-heading-title,
.bpx_TextoDestelloRose .elementor-text-editor,
.bpx_TextoDestelloRose .elementor-text-editor p,
.bpx_TextoDestelloRose .elementor-text-editor span,
.bpx_TextoDestelloRose .elementor-text-editor h1,
.bpx_TextoDestelloRose .elementor-text-editor h2,
.bpx_TextoDestelloRose .elementor-text-editor h3,
.bpx_TextoDestelloRose .elementor-text-editor h4,
.bpx_TextoDestelloRose .elementor-text-editor h5,
.bpx_TextoDestelloRose .elementor-text-editor h6,
.bpx_TextoDestelloRose .elementor-icon-box-title,
.bpx_TextoDestelloRose .elementor-image-box-title { background: linear-gradient(110deg, #8a6055 0%, #c49585 20%, #ffe8e0 30%, #ffffff 35%, #ffe8e0 40%, #c49585 60%, #8a6055 80%, #c49585 95%, #ffe8e0 100%) !important; background-size: 400% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: bpx_loveShine 8s ease-in-out infinite !important; }

/* Bruma Romántica */
.bpx_TextoBruma .elementor-heading-title,
.bpx_TextoBruma .elementor-text-editor,
.bpx_TextoBruma .elementor-text-editor p,
.bpx_TextoBruma .elementor-text-editor span,
.bpx_TextoBruma .elementor-text-editor h1,
.bpx_TextoBruma .elementor-text-editor h2,
.bpx_TextoBruma .elementor-text-editor h3,
.bpx_TextoBruma .elementor-text-editor h4,
.bpx_TextoBruma .elementor-text-editor h5,
.bpx_TextoBruma .elementor-text-editor h6,
.bpx_TextoBruma .elementor-icon-box-title,
.bpx_TextoBruma .elementor-image-box-title { color: #d4b855 !important; animation: bpx_softFocus 3s ease-out forwards !important; }
.bpx_TextoBrumaPlata .elementor-heading-title,
.bpx_TextoBrumaPlata .elementor-text-editor,
.bpx_TextoBrumaPlata .elementor-text-editor p,
.bpx_TextoBrumaPlata .elementor-text-editor span,
.bpx_TextoBrumaPlata .elementor-text-editor h1,
.bpx_TextoBrumaPlata .elementor-text-editor h2,
.bpx_TextoBrumaPlata .elementor-text-editor h3,
.bpx_TextoBrumaPlata .elementor-text-editor h4,
.bpx_TextoBrumaPlata .elementor-text-editor h5,
.bpx_TextoBrumaPlata .elementor-text-editor h6,
.bpx_TextoBrumaPlata .elementor-icon-box-title,
.bpx_TextoBrumaPlata .elementor-image-box-title { color: #ccc !important; animation: bpx_softFocus 3s ease-out forwards !important; }

/* Resplandor Rosado */
.bpx_TextoRosaGlow .elementor-heading-title,
.bpx_TextoRosaGlow .elementor-text-editor,
.bpx_TextoRosaGlow .elementor-text-editor p,
.bpx_TextoRosaGlow .elementor-text-editor span,
.bpx_TextoRosaGlow .elementor-text-editor h1,
.bpx_TextoRosaGlow .elementor-text-editor h2,
.bpx_TextoRosaGlow .elementor-text-editor h3,
.bpx_TextoRosaGlow .elementor-text-editor h4,
.bpx_TextoRosaGlow .elementor-text-editor h5,
.bpx_TextoRosaGlow .elementor-text-editor h6,
.bpx_TextoRosaGlow .elementor-icon-box-title,
.bpx_TextoRosaGlow .elementor-image-box-title { color: #ffb6c1 !important; animation: bpx_roseGlow 3s ease-in-out infinite !important; }
.bpx_TextoRosaGlowFuerte .elementor-heading-title,
.bpx_TextoRosaGlowFuerte .elementor-text-editor,
.bpx_TextoRosaGlowFuerte .elementor-text-editor p,
.bpx_TextoRosaGlowFuerte .elementor-text-editor span,
.bpx_TextoRosaGlowFuerte .elementor-text-editor h1,
.bpx_TextoRosaGlowFuerte .elementor-text-editor h2,
.bpx_TextoRosaGlowFuerte .elementor-text-editor h3,
.bpx_TextoRosaGlowFuerte .elementor-text-editor h4,
.bpx_TextoRosaGlowFuerte .elementor-text-editor h5,
.bpx_TextoRosaGlowFuerte .elementor-text-editor h6,
.bpx_TextoRosaGlowFuerte .elementor-icon-box-title,
.bpx_TextoRosaGlowFuerte .elementor-image-box-title { color: #ff85a2 !important; text-shadow: 0 0 10px rgba(255,105,135,.3), 0 0 25px rgba(255,105,135,.15) !important; animation: bpx_roseGlow 2.5s ease-in-out infinite !important; }

/* Elegancia Nupcial */
.bpx_TextoNupcial .elementor-heading-title,
.bpx_TextoNupcial .elementor-text-editor,
.bpx_TextoNupcial .elementor-text-editor p,
.bpx_TextoNupcial .elementor-text-editor span,
.bpx_TextoNupcial .elementor-text-editor h1,
.bpx_TextoNupcial .elementor-text-editor h2,
.bpx_TextoNupcial .elementor-text-editor h3,
.bpx_TextoNupcial .elementor-text-editor h4,
.bpx_TextoNupcial .elementor-text-editor h5,
.bpx_TextoNupcial .elementor-text-editor h6,
.bpx_TextoNupcial .elementor-icon-box-title,
.bpx_TextoNupcial .elementor-image-box-title { background: linear-gradient(110deg, #b8963e 0%, #d4b855 30%, #f5e6a3 48%, #fffdf0 50%, #f5e6a3 52%, #d4b855 70%, #b8963e 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: bpx_slowShimmer 10s linear infinite !important; }
.bpx_TextoNupcialPlata .elementor-heading-title,
.bpx_TextoNupcialPlata .elementor-text-editor,
.bpx_TextoNupcialPlata .elementor-text-editor p,
.bpx_TextoNupcialPlata .elementor-text-editor span,
.bpx_TextoNupcialPlata .elementor-text-editor h1,
.bpx_TextoNupcialPlata .elementor-text-editor h2,
.bpx_TextoNupcialPlata .elementor-text-editor h3,
.bpx_TextoNupcialPlata .elementor-text-editor h4,
.bpx_TextoNupcialPlata .elementor-text-editor h5,
.bpx_TextoNupcialPlata .elementor-text-editor h6,
.bpx_TextoNupcialPlata .elementor-icon-box-title,
.bpx_TextoNupcialPlata .elementor-image-box-title { background: linear-gradient(110deg, #808080 0%, #b0b0b0 30%, #e0e0e0 48%, #ffffff 50%, #e0e0e0 52%, #b0b0b0 70%, #808080 100%) !important; background-size: 200% auto !important; -webkit-background-clip: text !important; background-clip: text !important; color: transparent !important; -webkit-text-fill-color: transparent !important; animation: bpx_slowShimmer 10s linear infinite !important; }

