
/* =============================================================
   LA ROJA RP — v1.15 ROLEPLAY VISUAL PASS
   Solo fondos nuevos + animaciones + stats de roleplay/comunidad.
   ============================================================= */

/* Sin escudo/logo gráfico. Se mantiene solo el nombre textual. */
.lr19-brand-shield,
.lr19-footer .lr19-brand-shield{
    display:none!important;
}
.lr19-brand{
    gap:0!important;
}

/* Fondo portada: ciudad + coche aprobados, sin textos/logo del arte generado */
.lr114-home-hero{
    background:
      linear-gradient(90deg,rgba(3,1,1,.78) 0%,rgba(10,2,2,.50) 44%,rgba(10,2,2,.22) 100%),
      linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.68)),
      url("visuals-v115/hero-city-car.jpg") center center / cover no-repeat!important;
}

/* Pie de página: soldados + ciudad aprobados */
.lr19-footer{
    background:
      linear-gradient(90deg,rgba(2,2,2,.95) 0%,rgba(5,2,2,.88) 52%,rgba(4,2,2,.56) 100%),
      url("visuals-v115/footer-soldiers.jpg") right center / cover no-repeat!important;
}
.lr19-newsletter{
    background:
      linear-gradient(90deg,rgba(24,3,4,.92),rgba(14,4,3,.68)),
      url("visuals-v115/footer-soldiers.jpg") right center / cover no-repeat!important;
}

/* Nuevos mensajes roleplay/comunidad */
.lr115-roleplay-stats>div{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(8,4,4,.92),rgba(3,2,2,.92));
}
.lr115-roleplay-stats>div:before{
    content:"";
    position:absolute;
    left:18%;
    right:18%;
    bottom:0;
    height:2px;
    background:linear-gradient(90deg,transparent,#e7191d,#ffc13a,transparent);
    opacity:.65;
    transform:scaleX(.35);
    transition:.28s ease;
}
.lr115-roleplay-stats>div:hover:before{
    transform:scaleX(1);
    opacity:1;
}
.lr115-roleplay-stats b{
    color:#fff!important;
    font-size:15px!important;
    letter-spacing:.04em;
}
.lr115-roleplay-stats span{
    color:#ffbd38!important;
    font-size:8px!important;
    letter-spacing:.08em;
}

/* =============================================================
   ANIMACIONES DE BOTONES
   ============================================================= */
.lr19-site a,
.lr19-page a,
.lr-shop a,
.lr19-site button,
.lr19-page button,
.lr-shop button{
    -webkit-tap-highlight-color:transparent;
}

/* Botones principales: elevación + glow */
.lr19-primary,
.lr19-secondary,
.lr19-discord-login-main,
.lr19-discord-register,
.lr19-newsletter-btn,
.lr19-footer-discord,
.lr110-page-heading>a,
.lr110-product-shell .single_add_to_cart_button,
.lr110-cart-shell .checkout-button,
.lr111-checkout-shell #place_order,
.lr111-checkout-shell .wc-block-components-checkout-place-order-button,
.lr113-shop ul.products li.product .button,
.lr19-product-grid .lr-btn-small{
    position:relative!important;
    overflow:hidden!important;
    transform:translateZ(0);
    transition:
      transform .18s ease,
      box-shadow .22s ease,
      border-color .22s ease,
      filter .22s ease!important;
}
.lr19-primary:hover,
.lr19-secondary:hover,
.lr19-discord-login-main:hover,
.lr19-discord-register:hover,
.lr19-newsletter-btn:hover,
.lr19-footer-discord:hover,
.lr110-page-heading>a:hover,
.lr110-product-shell .single_add_to_cart_button:hover,
.lr110-cart-shell .checkout-button:hover,
.lr111-checkout-shell #place_order:hover,
.lr111-checkout-shell .wc-block-components-checkout-place-order-button:hover,
.lr113-shop ul.products li.product .button:hover,
.lr19-product-grid .lr-btn-small:hover{
    transform:translateY(-3px) scale(1.018)!important;
    box-shadow:
      0 12px 32px rgba(0,0,0,.45),
      0 0 20px rgba(231,25,29,.20)!important;
    filter:brightness(1.08)!important;
}

/* Brillo que recorre botones importantes */
.lr19-primary:after,
.lr19-discord-login-main:after,
.lr19-newsletter-btn:after,
.lr110-product-shell .single_add_to_cart_button:after,
.lr110-cart-shell .checkout-button:after,
.lr111-checkout-shell #place_order:after,
.lr111-checkout-shell .wc-block-components-checkout-place-order-button:after{
    content:"";
    position:absolute;
    top:-35%;
    bottom:-35%;
    width:38%;
    left:-55%;
    background:linear-gradient(105deg,transparent,rgba(255,255,255,.30),transparent);
    transform:skewX(-14deg);
    animation:lr115ButtonShine 3.1s ease-in-out infinite;
    pointer-events:none;
}

/* Botones secundarios con barrido más suave */
.lr19-secondary:before,
.lr19-discord-register:before,
.lr19-footer-discord:before,
.lr19-product-grid .lr-btn-small:before,
.lr113-shop ul.products li.product .button:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent,rgba(255,181,45,.10),transparent);
    transform:translateX(-110%);
    transition:transform .45s ease;
    pointer-events:none;
}
.lr19-secondary:hover:before,
.lr19-discord-register:hover:before,
.lr19-footer-discord:hover:before,
.lr19-product-grid .lr-btn-small:hover:before,
.lr113-shop ul.products li.product .button:hover:before{
    transform:translateX(110%);
}

/* Navegación más viva */
.lr19-nav a{
    transition:color .2s ease,transform .2s ease!important;
}
.lr19-nav a:hover{
    transform:translateY(-2px);
}
.lr19-nav a i{
    transition:transform .2s ease,filter .2s ease;
}
.lr19-nav a:hover i{
    transform:scale(1.35);
    filter:drop-shadow(0 0 6px rgba(255,183,43,.55));
}

/* Tarjetas home y producto con microanimación */
.lr113-story-grid article,
.lr19-product-grid .lr-product-card,
.lr113-shop ul.products li.product,
.lr19-why-grid article{
    transition:
      transform .22s ease,
      border-color .22s ease,
      box-shadow .22s ease!important;
}
.lr113-story-grid article:hover,
.lr19-product-grid .lr-product-card:hover,
.lr113-shop ul.products li.product:hover,
.lr19-why-grid article:hover{
    transform:translateY(-5px)!important;
    border-color:rgba(255,178,42,.58)!important;
    box-shadow:
      0 18px 40px rgba(0,0,0,.42),
      0 0 22px rgba(201,18,20,.08)!important;
}

/* Discord flotante más llamativo */
.lr-discord-float{
    animation:lr115DiscordPulse 2.7s ease-in-out infinite!important;
}
.lr-discord-float:hover{
    animation:none!important;
    transform:translateY(-6px) scale(1.025)!important;
}

/* La tarjeta de promo ya existe solo cuando hay cupón; añadimos respiración al conjunto */
.lr19-promo-top{
    animation:lr115PromoBreath 3.8s ease-in-out infinite;
}
.lr19-promo-code{
    position:relative;
}
.lr19-promo-code:after{
    content:"COPIAR";
    position:absolute;
    right:-48px;
    top:50%;
    transform:translateY(-50%);
    color:#ffd053;
    font-size:7px;
    font-weight:950;
    opacity:0;
    transition:.2s ease;
}
.lr19-promo-code:hover:after{
    right:-42px;
    opacity:1;
}

/* Entrada escalonada de secciones en portada */
.lr19-home .lr113-story-grid,
.lr19-home .lr19-products-section,
.lr19-home .lr19-category-feature{
    opacity:0;
    transform:translateY(18px);
}
.lr19-home .lr113-story-grid.lr115-visible,
.lr19-home .lr19-products-section.lr115-visible,
.lr19-home .lr19-category-feature.lr115-visible{
    animation:lr115SectionIn .65s cubic-bezier(.2,.75,.3,1) forwards;
}

/* Keyframes */
@keyframes lr115ButtonShine{
    0%,32%{left:-55%;opacity:0}
    42%{opacity:1}
    62%{left:118%;opacity:0}
    100%{left:118%;opacity:0}
}
@keyframes lr115DiscordPulse{
    0%,100%{
        transform:translateY(0);
        box-shadow:0 16px 42px rgba(0,0,0,.55),0 0 18px rgba(88,101,242,.15);
    }
    50%{
        transform:translateY(-5px);
        box-shadow:0 20px 48px rgba(0,0,0,.62),0 0 30px rgba(88,101,242,.30);
    }
}
@keyframes lr115PromoBreath{
    0%,100%{box-shadow:0 0 18px rgba(230,18,22,.16)}
    50%{box-shadow:0 0 34px rgba(230,18,22,.29)}
}
@keyframes lr115SectionIn{
    to{opacity:1;transform:none}
}

@media(max-width:900px){
    .lr115-roleplay-stats b{font-size:13px!important}
}
@media(max-width:760px){
    .lr19-footer{
        background:
          linear-gradient(180deg,rgba(2,2,2,.94),rgba(4,2,2,.78)),
          url("visuals-v115/footer-soldiers.jpg") center bottom / cover no-repeat!important;
    }
    .lr19-promo-code:after{display:none}
}
@media(prefers-reduced-motion:reduce){
    *,*:before,*:after{
        animation-duration:.001ms!important;
        animation-iteration-count:1!important;
    }
}
