/*
|--------------------------------------------------------------------------
| Player Card
|--------------------------------------------------------------------------
*/

.ul-player-card{

    position:relative;

    width:380px;
    max-width:100%;

    margin:8px auto 0;

    background:
        linear-gradient(135deg, rgba(9,9,11,.08) 0%, rgba(9,9,11,.26) 56%, rgba(9,9,11,.46) 100%),
        url('/wp-content/plugins/underleague-core/assets/images/fondo_playercard.png?v=1.584') center 55% / cover no-repeat;

    border:1px solid rgba(255,255,255,.035);
    border-bottom-color:transparent;

    border-radius:28px;

    overflow:hidden;

    color:var(--ul-text);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.03),
    0 30px 70px rgba(0,0,0,.60);

    transition:all .25s ease;

    /* Silueta del contenedor, sin depender del modo de máscara del navegador. */
    border-radius:5px;
    clip-path:url(#ul-player-card-shape);
    -webkit-clip-path:url(#ul-player-card-shape);

}

/* Exportación: el clon conserva el mismo fondo, borde y clip-path de la carta
   visible. Esta clase sólo congela efectos dinámicos durante la captura. */
.ul-player-card--export{
    overflow:visible;
}
.ul-player-card--export,
.ul-player-card--export *,
.ul-player-card--export *::before,
.ul-player-card--export *::after{
    animation:none!important;
    transition:none!important;
}
.ul-player-card--export .ul-player-card__shape-border{
    filter:none!important;
}

/* La barra de la Player Card mantiene siempre su identidad dorada. */
.ul-player-card__rank-route .ul-progress__fill{
    position:relative;
    transform-origin:left center;
    background:linear-gradient(90deg,#CC9E31 0%,#DCC281 100%);
    border-radius:0 999px 999px 0;
    animation:ulPlayerCardXpLoad 1.15s cubic-bezier(.22,.61,.36,1) both;
}

.ul-player-card__rank-route .ul-progress{
    background:rgba(217,168,38,.25);
}

.ul-player-card__rank-route .ul-progress__fill::after{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    width:10px;
    height:12px;
    border-radius:50%;
    transform:translateY(-50%);
    background:#DCC281;
    box-shadow:0 0 5px rgba(220,194,129,.34),0 0 11px rgba(204,158,49,.20);
    opacity:.5;
    animation:ulPlayerCardXpTip 2.35s ease-in-out 1.15s infinite;
    pointer-events:none;
}

@keyframes ulPlayerCardXpLoad{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ulPlayerCardXpTip{0%,100%{opacity:.34;filter:blur(1px) brightness(.96)}50%{opacity:.82;filter:blur(1.35px) brightness(1.1)}}

@media (prefers-reduced-motion:reduce){
    .ul-player-card__rank-route .ul-progress__fill,
    .ul-player-card__rank-route .ul-progress__fill::after{animation:none;}
}

.ul-player-card::before{

    content:none;

    position:absolute;

    top:0;
    left:0;
    right:0;

    bottom:0;
    height:auto;

    border-radius:0;

    pointer-events:none;

}

.ul-player-card__shape-border{position:absolute;z-index:5;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;animation:ulPlayerCardBorderGlow 3.8s ease-in-out infinite;}
@keyframes ulPlayerCardBorderGlow{0%,100%{filter:drop-shadow(0 0 3px rgba(244,197,66,.20)) drop-shadow(0 0 8px rgba(244,197,66,.10));opacity:.88}50%{filter:drop-shadow(0 0 6px rgba(244,197,66,.38)) drop-shadow(0 0 15px rgba(244,197,66,.16));opacity:1}}
@media (prefers-reduced-motion:reduce){.ul-player-card__shape-border{animation:none;}}

.ul-player-card:hover{
    transform:translateY(-4px);
    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

/* El filtro sigue la silueta recortada y permite que la luz salga del borde. */
.ul-player-card:not(.ul-player-card--export){
    /* La silueta sigue recortando el contenido; esto deja salir la luz del borde. */
    overflow:visible;
    filter:drop-shadow(0 0 7px rgba(244,197,66,.28));
    animation:ulPlayerCardEdgeGlow 3.8s ease-in-out infinite;
}

@keyframes ulPlayerCardEdgeGlow{
    0%,100%{filter:drop-shadow(0 0 5px rgba(244,197,66,.18));}
    50%{filter:drop-shadow(0 0 12px rgba(244,197,66,.40));}
}

@media (prefers-reduced-motion:reduce){
    .ul-player-card:not(.ul-player-card--export){animation:none;}
}

/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
*/

/*
|--------------------------------------------------------------------------
| Header V2
|--------------------------------------------------------------------------
*/

.ul-player-card__header{

    position:relative;

    padding:42px 24px 32px;

}

.ul-player-card__corner-logo{
    position:absolute;
    top:42px;
    right:24px;
    width:56px;
    height:auto;
    object-fit:contain;
}

/* Emblema personalizable: los colores se reemplazarán por la selección del jugador. */
.ul-player-card__personal-emblem{
    position:absolute;
    z-index:3;
    top:128px;
    right:24px;
    display:grid;
    grid-template-columns:1fr 1fr;
    width:56px;
    height:10px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.14);
    border-radius:3px;
    background:var(--ul-identity-banner,linear-gradient(90deg,#FFDD44 0 50%,#111113 50% 100%));
    background-clip:padding-box;
    box-shadow:none;
}

.ul-player-card__personal-emblem i,
.ul-player-card__personal-emblem b{
    display:block;
    min-width:0;
    height:100%;
}

.ul-player-card__personal-emblem i,
.ul-player-card__personal-emblem b{background:transparent;}

.ul-player-card.is-identity-emblem-hidden .ul-player-card__personal-emblem{display:none;}

.ul-player-card__corner-city{
    position:static;
    color:inherit;
    font:inherit;
    letter-spacing:inherit;
    line-height:inherit;
    text-align:left;
}


/*
|--------------------------------------------------------------------------
| Header Top
|--------------------------------------------------------------------------
*/

.ul-player-card__header-top{

    display:grid;

    grid-template-columns:90px;

    justify-content:start;

    align-items:start;

    column-gap:12px;

}

.ul-player-card__brand{

    display:flex;

    justify-content:center;

    align-items:flex-start;

}

.ul-logo{

    width:105px;

    margin-top:2px;

}

.ul-logo::after{

    content:"✦";

    position:absolute;

    top:10px;

    left:-12px;

    font-size:14px;

    color:#FFD84A;

    opacity:0;

    pointer-events:none;

    text-shadow:
        0 0 5px #FFD84A,
        0 0 12px #FFD84A,
        0 0 24px #FFD84A;

    animation:
        ulLogoSpark 5s linear infinite;

}

.ul-logo svg{

    display:block;

    width:100%;

    height:auto;

}

.ul-logo svg{

    filter:
        drop-shadow(0 0 6px rgba(255,214,64,.18));

    animation:
        ulLogoGlow 3s ease-in-out infinite;

}

@keyframes ulLogoGlow{

    0%,
    100%{

        filter:
            drop-shadow(0 0 6px rgba(255,214,64,.18));

    }

    50%{

        filter:
            drop-shadow(0 0 18px rgba(255,214,64,.75));

    }

}

/*
|--------------------------------------------------------------------------
| Header Center
|--------------------------------------------------------------------------
*/

.ul-player-card__header-center{

    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    margin-top:-95px;

}

.ul-player-card__rank-emblem{
    position:absolute;
    right:0;
    bottom:4px;
    width:68px;
    height:78px;
    object-fit:contain;
    pointer-events:none;
    user-select:none;
    box-shadow:none;
    filter:none;
}

.ul-player-card__label{

    display:block;

    font-size:11px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    color:rgba(255,255,255,.55);

    margin-bottom:8px;

}


.ul-player-card__name{

    align-self:flex-start;

    /* El emblema de rango ocupa el extremo derecho de esta fila. Reservamos
       ese espacio para que un nombre largo nunca termine por debajo de él. */
    width:calc(100% - 78px);
    max-width:calc(100% - 78px);
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;

    margin-top:2px;

    margin-bottom:7px;

    font-size:34px;

    font-weight:800;

    line-height:1.1;

}

.ul-player-card__position{

    margin-top:14px;

    display:flex;

    justify-content:center;

}

/*
|--------------------------------------------------------------------------
| Level Box
|--------------------------------------------------------------------------
*/

.ul-player-card__level-box{

    position:absolute;

    top:24px;

    left:24px;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    line-height:1;

    z-index:2;

}

.ul-player-card__level-label{

    font-size:11px;

    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;

    color:rgba(255,255,255,.55);

}

.ul-player-card__level-number{

    margin-top:6px;

    font-size:50px;

    font-weight:900;

    line-height:.9;

    color:#ffffff;

}

/*
|--------------------------------------------------------------------------
| Position Badge
|--------------------------------------------------------------------------
*/

.ul-player-card__badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    margin-top:4px;

    border-radius:999px;

    background:rgba(59,130,246,.14);

    border:1px solid rgba(59,130,246,.35);

    color:#8BC5FF;

    font-size:12px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.ul-player-card__badge:hover{

    background:rgba(59,130,246,.25);

}

/*
|--------------------------------------------------------------------------
| Progress
|--------------------------------------------------------------------------
*/

.ul-player-card__progress{

    padding:12px 24px 24px;

    /* Continúa el fondo de la tarjeta, sin una división bajo el rango. */
    background:transparent;

    margin-top:-30px;

}

.ul-player-card__label{

    font-size:11px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    color:rgba(255,255,255,.55);

}

.ul-player-card__xp-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    line-height:1;

    margin-bottom:2px;

    padding-left:18px;

}

.ul-player-card__level span{

    color:var(--ul-text-secondary);

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:2px;

}

.ul-player-card__level strong{

    font-size:24px;

    font-weight:700;

}

.ul-player-card__xp-text{

    margin-top:10px;

    text-align:center;

    font-size:22px;

    color:var(--ul-text-secondary);

}

/*
|--------------------------------------------------------------------------
| Meta
|--------------------------------------------------------------------------
*/

.ul-player-card__meta{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    margin-top:10px;

    padding:0 6px;

}

.ul-player-card__meta-item{

    display:flex;

    align-items:center;

    gap:6px;

    white-space:nowrap;

    font-size:15px;

}

.ul-player-card__meta-divider{

    color:rgba(255,255,255,.18);

    font-size:18px;

    line-height:1;

    display:flex;

    align-items:center;

    justify-content:center;

    user-select:none;

    margin:0 1px;

}

.ul-meta-label{

    font-size:15px;

    font-weight:600;

    color:rgba(255,255,255,.78);

}

.ul-meta-value{

    font-size:15px;

    font-weight:800;

    color:#fff;

    margin-left:8px;

}

.ul-player-card__mvp{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:6px;

}

.ul-mvp-icon svg{

    width:40px;

    height:auto;

    transform:translateZ(0);

    animation:none !important;

    transition:opacity 1.2s ease,filter 1.2s ease;

}

.ul-player-card__mvp.is-inactive .ul-mvp-icon svg{

    opacity:.28;

}

.ul-player-card__mvp.is-active .ul-mvp-icon svg{

    opacity:1;

    filter:
        drop-shadow(0 0 3px rgba(255,245,209,.5))
        drop-shadow(0 0 10px rgba(255,245,209,.22));

    transition:opacity 1.2s ease,filter 1.2s ease;

}

.ul-player-card__mvp.is-active .ul-mvp-icon svg path{
    fill:#DCC281 !important;
}

.ul-player-card__mvp-count{

    font-size:17px;

    font-weight:700;

    color:#fff;

}

.ul-player-card__mvp--inactive{

    color:rgba(255,255,255,.28);

}

.ul-player-card__meta-item span{

    color:var(--ul-text-secondary);

}

.ul-player-card__meta-item strong{

    font-weight:600;

    color:var(--ul-text);

}

/*
|--------------------------------------------------------------------------
| Sections
|--------------------------------------------------------------------------
*/

.ul-player-card__section{

    padding:22px 16px;

}

.ul-player-card__section--stats{

    position:relative;

    padding-top:32px;
    padding-left:24px;
    padding-right:24px;

}

.ul-player-card__section--stats::before{
    position:absolute;
    top:16px;
    right:24px;
    left:24px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,221,68,.72) 50%,transparent);
    content:"";
}

/*
|--------------------------------------------------------------------------
| Stats
|--------------------------------------------------------------------------
*/

.ul-player-card__stats{

    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:8px;

    width:100%;

}

.ul-player-card__stat{

    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.05);

    border-radius:18px;

    padding:10px 6px;

    overflow:hidden;

    transition:.25s;

}

.ul-player-card__stat-line{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

}

.ul-player-card__stat-value{

    font-size:30px;

    font-weight:800;

    line-height:1;

    color:#fff;

    margin-top:6px;

}

.ul-player-card__stat-label{

    margin-top:8px;

    font-size:10px;

    font-weight:600;

    letter-spacing:1.4px;

    color:rgba(255,255,255,.72);

    opacity:.65;

}

.ul-player-card__stat:hover{

    transform:translateY(-4px);

}

/*
|--------------------------------------------------------------------------
| Biography
|--------------------------------------------------------------------------
*/

.ul-player-card__bio{

    background:rgba(255,255,255,.02);

    border:1px solid rgba(255,255,255,.05);

    border-radius:16px;

    padding:18px;

}

.ul-player-card__bio p{

    margin:0;

    font-size:14px;

    line-height:1.7;

    color:var(--ul-text-secondary);

}

/*
|--------------------------------------------------------------------------
| Actions
|--------------------------------------------------------------------------
*/

.ul-player-card__actions{

    padding:0 24px 24px;

}

.ul-button{

    display:flex;

    justify-content:center;

    align-items:center;

    width:100%;

    height:48px;

    border-radius:14px;

    background:linear-gradient(
        135deg,
        var(--ul-primary),
        var(--ul-primary-dark)
    );

    color:#fff;

    font-size:17px;

    font-weight:600;

    text-decoration:none;

    transition:.25s ease;

}

.ul-button:hover{

    transform:translateY(-2px);

    box-shadow:
        0 10px 25px rgba(0,0,0,.25);

}

/*
|--------------------------------------------------------------------------
| Progress Bar Override
|--------------------------------------------------------------------------
*/

.ul-progress{

    margin:12px 0;

}

/*
|--------------------------------------------------------------------------
| Section Title Override
|--------------------------------------------------------------------------
*/

.ul-section-title{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    margin-bottom:18px;

    font-size:12px;

    font-weight:700;

    letter-spacing:5px;

    text-transform:uppercase;

    color:rgba(255,255,255,.58);

}

.ul-section-title::before,
.ul-section-title::after{

    content:"";

    flex:1;

    max-width:60px;

    height:1px;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.18)
    );

}

.ul-section-title::after{

    background:linear-gradient(
        90deg,
        rgba(255,255,255,.18),
        transparent
    );

}

/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media (max-width:768px){

    .ul-player-card{
        box-sizing:border-box;
        width:380px;
        max-width:none;
        height:auto;
        aspect-ratio:auto;
        zoom:min(1,calc((100vw - 32px) / 380px));
    }

    /* Regla móvil: toda Player Card conserva su silueta, con un borde
       dorado algo más presente tanto en perfil como en popups. */
    .ul-player-card__shape-border path{stroke-width:4px;}

    .ul-brand-site-url{
        transform:translateY(-36px);
        padding-bottom:0;
        margin-bottom:-24px;
    }

    .ul-player-card__stat{

        min-height:82px;

        padding:8px 4px;

        border-radius:16px;

    }

}


/*
|--------------------------------------------------------------------------
| Small animation
|--------------------------------------------------------------------------
*/

.ul-player-card__header,
.ul-player-card__progress,
.ul-player-card__section,
.ul-player-card__actions{

    animation:ulFadeIn .35s ease;

}

@keyframes ulFadeIn{

    from{

        opacity:0;

        transform:translateY(8px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*
|--------------------------------------------------------------------------
| Card Menu
|--------------------------------------------------------------------------
*/

.ul-player-card__menu-button{

    position:absolute;

    top:24px;

    right:24px;

    width:42px;

    height:42px;

    border:none;

    border-radius:12px;

    background:transparent;

    color:rgba(255,255,255,.65);

    font-size:22px;

    cursor:pointer;

    transition:.25s;

}

.ul-player-card__menu-button:hover{

    background:rgba(255,255,255,.08);

    color:#fff;

}

/*
|--------------------------------------------------------------------------
| Level
|--------------------------------------------------------------------------
*/

.ul-player-card__player-info{

    width:90px;

    flex:0 0 90px;

    /* La foto central no debe interceptar el hover/clic de posición. */
    position:relative;
    z-index:4;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

}

.ul-player-card__level{

    font-size:54px;

    font-weight:800;

    line-height:1;

    transform:translateY(-5px);

    color:transparent;
    background:linear-gradient(to bottom right,#DCC281 0%,#CC9E31 100%);
    -webkit-background-clip:text;
    background-clip:text;

}

.ul-player-card__position-short{

    margin:0;

    font-size:28px;

    font-weight:700;

    letter-spacing:2px;

    min-width:0;
    height:auto;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:transparent !important;
    background-image:linear-gradient(to bottom right,#DCC281 0%,#CC9E31 100%);
    -webkit-background-clip:text;
    background-clip:text;
    appearance:none;
    font-family:inherit;
    line-height:1;
    cursor:url('/wp-content/plugins/underleague-core/assets/css/svg/cursor-help.svg?v=2') 16 16,help;


}

.ul-player-card__position-tooltip-wrap{
    position:relative;
    display:inline-flex;
    align-self:flex-start;
    margin-top:6px;
    margin-bottom:2px;
    transform:translateY(-4px);
}

.ul-player-card__position-tooltip{
    position:absolute;
    z-index:30;
    top:calc(100% + 8px);
    left:50%;
    padding:7px 10px;
    border:0;
    border-radius:8px;
    background:#FFDD44;
    box-shadow:0 8px 18px rgba(0,0,0,.35);
    color:#111317;
    font-size:12px;
    font-weight:600;
    line-height:1;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,-4px);
    transition:opacity .18s ease,transform .18s ease;
    white-space:nowrap;
}

.ul-player-card__position-tooltip-wrap:hover .ul-player-card__position-tooltip,
.ul-player-card__position-tooltip-wrap:focus-within .ul-player-card__position-tooltip{
    opacity:1;
    transform:translate(-50%,0);
}

/*
|--------------------------------------------------------------------------
| XP Preview
|--------------------------------------------------------------------------
*/

.ul-player-card__xp-preview{

    width:90px;

    justify-self:end;

}

.ul-player-card__share-wrapper{

    display:flex;

    justify-content:flex-end;

    margin-top:18px;

    width:100%;
}

.ul-player-card__xp-percent{

    font-size:11px;

    font-weight:700;

    letter-spacing:1px;

    color:rgba(255,255,255,.85);

}

.ul-player-card__xp-mini{

    width:72px;

    margin-left:auto;

    margin-top:1px;

    height:3px;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    overflow:hidden;
}

.ul-player-card__xp-mini-fill{

    width:50%;

    height:100%;

    border-radius:999px;

    background:linear-gradient(90deg,color-mix(in srgb,var(--ul-rank-color,#47C778) 65%,#05070C),var(--ul-rank-color,#47C778),color-mix(in srgb,var(--ul-rank-color,#47C778) 78%,#FFF));

}

/*
|--------------------------------------------------------------------------
| Share
|--------------------------------------------------------------------------
*/

.ul-player-card__share{

    width:48px;

    height:48px;

    border:none;

    border-radius:16px;

    background:rgba(255,255,255,.05);

    color:#fff;

    font-size:25px;

    cursor:pointer;

    display:flex;

    position:relative;

    align-items:center;

    justify-content:center;

    transition:.25s;

}

.ul-player-card__share img{

    position:absolute;

    top:50%;
    left:50%;

    width:20px;
    height:20px;

    transform:translate(-50%,-50%);

    pointer-events:none;

}

.ul-player-card__share:hover{

    background:rgba(255,255,255,.10);

}

/* Dentro del popup la acción comparte la misma superficie que Ver mi perfil. */
.ul-match-player-card-modal__share.ul-player-card__share{
    position:static;
    display:flex;
    flex:1 1 0;
    width:auto;
    height:48px;
    min-width:0;
    min-height:48px;
    margin:0;
    padding:0 12px;
    gap:8px;
    border:1px solid rgba(255,221,68,.7);
    border-radius:18px;
    background:rgba(17,17,19,.55);
    color:#ffdf48;
    font:inherit;
    font-size:14px;
    font-weight:750;
    line-height:1.1;
    white-space:nowrap;
}
.ul-match-player-card-modal__share.ul-player-card__share img{
    position:static;
    top:auto;
    left:auto;
    width:18px;
    height:18px;
    transform:none;
}
.ul-match-player-card-modal__share.ul-player-card__share:hover,
.ul-match-player-card-modal__share.ul-player-card__share:focus-visible{
    border-color:#ffdf48;
    background:rgba(255,221,68,.12);
}

/*
|--------------------------------------------------------------------------
| Player Emblem
|--------------------------------------------------------------------------
*/

.ul-player-card__emblem{

    position:relative;

    width:170px;

    height:170px;

    margin:-8px auto 6px;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:0;
    overflow:visible;

    

}

.ul-player-card__emblem::before{
    content:none;
}

.ul-player-card__initials{
    color:#fff;
    font-size:34px;
    font-weight:500;
    letter-spacing:1px;
    line-height:1;
}

.ul-player-card__photo{
    position:absolute;
    left:50%;
    top:calc(50% - 10px);
    display:block;
    width:350px;
    height:350px;
    max-width:none;
    max-height:none;
    object-fit:contain;
    transform:translate(-50%,-50%);
    pointer-events:none;
    z-index:0;
    filter:contrast(1.18) saturate(.92) brightness(1.02) sepia(.08) hue-rotate(-6deg);
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.98) 63%,rgba(0,0,0,.90) 67%,rgba(0,0,0,.75) 71%,rgba(0,0,0,.57) 75%,rgba(0,0,0,.36) 79%,rgba(0,0,0,.16) 82%,transparent 84%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 60%,rgba(0,0,0,.98) 63%,rgba(0,0,0,.90) 67%,rgba(0,0,0,.75) 71%,rgba(0,0,0,.57) 75%,rgba(0,0,0,.36) 79%,rgba(0,0,0,.16) 82%,transparent 84%);
}

/* La regla display:block de la foto no debe anular el atributo hidden.
   Sin una imagen, evita residuos visuales detrás de las iniciales. */
.ul-player-card__photo[hidden]{display:none!important;}

.ul-player-card__name,
.ul-player-card__rank{
    position:relative;
    z-index:2;
}

.ul-player-card__rank-emblem{
    z-index:2;
}

.ul-player-card__shield{

    width:170px;

    height:auto;

    display:block;

    filter:drop-shadow(0 12px 24px rgba(0,0,0,.25));

}

.ul-player-card__shield-text{

    fill:#fff;

    font-size:62px;

    font-weight:800;

    font-family:inherit;

    letter-spacing:2px;

}

/*
|--------------------------------------------------------------------------
| Rank
|--------------------------------------------------------------------------
*/

.ul-player-card__rank{

    display:inline-flex;

    align-self:flex-start;

    margin-top:-6px;

    padding:0;

    border-radius:0;

    background:transparent;

    border:0;

    color:transparent;
    background:linear-gradient(0deg,#CC9E31 0%,#DCC281 100%);
    -webkit-background-clip:text;
    background-clip:text;

    font-size:15px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

/* Ruta de rango: muestra sólo el actual y el siguiente junto a la barra de XP. */
.ul-player-card__rank-route{margin-top:0;}.ul-player-card__rank-route-labels{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin:0 0 4px;line-height:1;}.ul-player-card__rank-route .ul-player-card__xp-text{display:inline-flex;align-items:center;gap:5px;margin:0;padding:0;font-size:15px;text-align:left;white-space:nowrap;}.ul-player-card__rank-route .ul-player-card__xp-label{color:transparent;font-weight:800;background:linear-gradient(0deg,#CC9E31 0%,#DCC281 100%);-webkit-background-clip:text;background-clip:text;}.ul-player-card__rank-route .ul-player-card__xp-value{color:#fff;font-weight:500;}.ul-player-card__rank-route-labels .ul-player-card__mvp{min-width:68px;flex:0 0 auto;justify-content:flex-end;gap:4px;}.ul-player-card__rank-route-labels .ul-mvp-icon{display:flex;flex:0 0 auto;}.ul-player-card__rank-route-labels .ul-mvp-icon svg{width:44px;}.ul-player-card__rank-route-labels .ul-player-card__mvp-count{position:relative;z-index:1;display:inline-flex;align-items:center;min-width:12px;font-size:15px;line-height:1;}
.ul-player-card__rank-route .ul-player-card__xp-label--icon{display:inline-block;width:22px;height:22px;flex:0 0 22px;background:linear-gradient(0deg,#CC9E31 0%,#DCC281 100%);-webkit-mask:url('/wp-content/plugins/underleague-core/assets/svg/XP_solo.svg') center/contain no-repeat;mask:url('/wp-content/plugins/underleague-core/assets/svg/XP_solo.svg') center/contain no-repeat;}
.ul-player-card__rank-route-labels .ul-player-card__mvp-count{min-width:14px;font-size:18px;}
.ul-player-card__rank-route .ul-progress{margin:0;}

/* Estadísticas limpias: sin tarjetas ni barras de color. */
.ul-player-card__stats{gap:12px;}
.ul-player-card__stat{display:flex;min-width:0;align-items:center;justify-content:flex-start;padding:0;border:0;border-radius:0;background:transparent;overflow:visible;}
.ul-player-card__stat-line{display:none;}
.ul-player-card__stat-label{order:1;margin:0;color:rgba(255,255,255,.5);font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;}
.ul-player-card__stat-value{order:2;display:block;margin:5px 0 0;padding:0 3px 1px;color:#fff;font-size:25px;font-weight:700;line-height:1;overflow:visible;font-variant-numeric:tabular-nums;}

/*
|--------------------------------------------------------------------------
| UnderLeague Shield
|--------------------------------------------------------------------------
*/

.ul-shield{

    position:relative;

    width:150px;

    margin:0 auto;

}

.ul-shield svg{

    display:block;

    width:100%;

    height:auto;
    

}

.ul-shield svg path{

    fill:url(#ulShieldGradient);

    filter:drop-shadow(0 10px 25px rgba(0,0,0,.25));

}

.ul-shield__text{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-52%);

    font-size:44px;

    font-weight:800;

    color:#fff;

    line-height:1;

    letter-spacing:2px;

    pointer-events:none;

    user-select:none;
    

}

/*
|--------------------------------------------------------------------------
| Jersey Number
|--------------------------------------------------------------------------
*/

.ul-player-card__jersey{

    align-self:flex-start;

    display:block;

    margin-top:0;
    transform:translate(2px,-2px);

    font-size:28px;
    font-weight:400;
    line-height:1;
    letter-spacing:0;
    opacity:.95;

}

@keyframes ulShieldAura{

    0%{

        transform:scale(.92);

        opacity:.55;

    }

    50%{

        transform:scale(1.12);

        opacity:1;

    }

    100%{

        transform:scale(.92);

        opacity:.55;

    }

}

.ul-player-card__mvp{

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

    font-weight:800;

    letter-spacing:1.5px;

    text-transform:uppercase;

    transition:all .30s ease;

}

.ul-player-card__mvp--inactive{

    color:rgba(255,255,255,.28);

}

.ul-player-card__mvp--active{

    color:#FFD84D;

    text-shadow:
        0 0 8px rgba(255,216,77,.35),
        0 0 18px rgba(255,216,77,.15);

}

.ul-player-card__stat.is-inactive{

    border-color:rgba(255,255,255,.04);

    background:rgba(255,255,255,.025);

}

.ul-player-card__stat.is-inactive .ul-player-card__stat-line{

    background:rgba(255,255,255,.12);

}

.ul-player-card__stat.is-inactive .ul-player-card__stat-value{

    color:rgba(255,255,255,.92);

}

.ul-player-card__stat.is-inactive .ul-player-card__stat-label{

    color:rgba(255,255,255,.45);

}

.ul-player-card__stat.is-active{

    border-color:rgba(255,255,255,.08);

}

.ul-player-card__stat.is-active .ul-player-card__stat-line{

    box-shadow:0 0 10px rgba(255,255,255,.18);

}

.ul-player-card__stat.is-active .ul-player-card__stat-value{

    color:#fff;

}

.ul-player-card__stat.is-active .ul-player-card__stat-label{

    color:rgba(255,255,255,.72);

}

.ul-brand-site-url{

    display:flex;
    justify-content:center;
    align-items:center;

    margin-top:-10px;

    padding:10px 0 16px;

    font-size:10px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;

    color:rgba(255,255,255,.18);

}

.ul-brand-site-url::before{

    content:none;

    width:60px;

    height:1px;

    background:rgba(255,255,255,.08);

    margin-right:12px;

}

.ul-brand-site-url::after{

    content:none;

    width:60px;

    height:1px;

    background:rgba(255,255,255,.08);

    margin-left:12px;

}

/* El bloque de estadísticas vuelve a su eje visual bajo la barra. El espacio
   se conserva al pie para no comprimir ni deformar la silueta de la carta. */
.ul-player-card{
    padding-bottom:24px !important;
}

.ul-player-card__progress{
    margin-bottom:-24px !important;
}

/*
|--------------------------------------------------------------------------
| Player Profile Layout
|--------------------------------------------------------------------------
*/

.ul-player-card-wrapper{

    width:380px;

    flex:0 0 380px;

    max-width:100%;

    margin:0;

    position:relative;
    z-index:1;
    isolation:isolate;

}

/* La silueta SVG y las medidas finales de la carta se resuelven al iniciar.
   Ocultamos únicamente ese primer cálculo para que el borde no alcance a
   dibujarse brevemente fuera de posición al refrescar. */
.ul-js .ul-player-card-wrapper{
    visibility:hidden;
    opacity:0;
}

.ul-js .ul-player-card-wrapper.is-render-ready{
    visibility:visible;
    opacity:1;
    transition:opacity .14s ease-out;
}

.ul-player-card-wrapper::before{
    content:none;
}

.ul-player-card-wrapper .ul-player-card{z-index:1;}

/* Un único halo amplio, ubicado detrás de la carta. */
.ul-player-card-column{position:relative;isolation:isolate;}
.ul-player-card-column::before{
    content:none;
    position:absolute;
    z-index:0;
    inset:-68px -58px -62px;
    border-radius:48%;
    background:radial-gradient(ellipse 62% 48% at 50% 48%,rgba(220,194,129,.50),transparent 76%);
    filter:blur(38px);
    pointer-events:none;
    opacity:.5;
}
@keyframes ulPlayerCardAmbientGlow{
    0%{opacity:.28;transform:translate3d(-10px,-6px,0) scale(.90)}
    52%{opacity:1;transform:translate3d(8px,5px,0) scale(1.10)}
    100%{opacity:.46;transform:translate3d(-4px,9px,0) scale(.96)}
}
@media (prefers-reduced-motion:reduce){.ul-player-card-column::before{animation:none;opacity:.5;}}

/* En escritorio la columna de la Player Card acompaña la vista sin desplazarse.
   El scroll pertenece exclusivamente al contenido principal de la página. */
@media (min-width:1201px){
    .ul-profile-layout>.ul-player-card-column{
        position:sticky;
        top:24px;
        z-index:10;
        align-self:start;
        height:max-content;
    }
}

/*======================================
=          PROFILE DASHBOARD
======================================*/

/*=====================================================
PROFILE DASHBOARD
======================================================*/

.ul-profile-dashboard{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(360px,400px));

    gap:20px;

    justify-content:start;

    align-items:start;      /* <-- importante */

}



.ul-profile-section{

    margin-bottom:28px;

}

.ul-profile-actions{

    margin-top:36px;

}

.ul-city-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:14px;

    height:15px;

    margin-right:1px;

    vertical-align:middle;

}

.ul-city-icon svg{

    width:100%;

    height:100%;

    fill:currentColor;

    opacity:.75;

}

@media (max-width:1200px){

    .ul-profile-dashboard{

        grid-template-columns:1fr;

    }

}

@media (max-width:1100px){

    .ul-profile-dashboard{

        grid-template-columns:1fr;

    }

}

/*
|--------------------------------------------------------------------------
| Player Card themes
|--------------------------------------------------------------------------
| The original card intentionally has no theme class or overrides. New skins
| only adapt contrast and chrome on the exact same card DOM.
*/
.ul-player-card.ul-card-theme-yellow,
.ul-player-card.ul-card-theme-white{
    background-image:none;
    color:#111317;
}
.ul-player-card.ul-card-theme-yellow{
    background:url('/wp-content/plugins/underleague-core/assets/images/WebP/fondo_playercard_dorada.webp') center 55% / cover no-repeat;
    background-clip:border-box;
    background-origin:border-box;
    border-color:transparent;
    box-shadow:none;
}
.ul-player-card.ul-card-theme-white{
    --ul-card-border-top:#efd277;
    background:url('/wp-content/plugins/underleague-core/assets/images/WebP/fondo_playercard_blanca.webp') center 55% / cover no-repeat;
    border-color:rgba(204,158,49,.78);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 30px 70px rgba(0,0,0,.28);
    /* El fondo blanco debe aplicarse directamente: heredar `all` desde la
       carta base mezclaba brevemente la textura oscura antes del cambio. */
    transition:transform .25s ease,box-shadow .25s ease;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__shape-border{
    filter:none!important;
    animation:none!important;
    transform:scaleY(1.002);
    transform-origin:center bottom;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__shape-border path{
    stroke:url(#ul-player-card-border-gradient-yellow)!important;
    stroke-width:5.35px;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__shape-border-gradient-yellow stop:nth-of-type(1){stop-color:#565b62!important;stop-opacity:1;}
.ul-player-card.ul-card-theme-yellow .ul-player-card__shape-border-gradient-yellow stop:nth-of-type(2){stop-color:#050506!important;stop-opacity:1;}
.ul-player-card.ul-card-theme-yellow .ul-player-card__shape-border-gradient-yellow stop:nth-of-type(3){stop-color:#3b3f45!important;stop-opacity:1;}
.ul-player-card.ul-card-theme-yellow .ul-player-card__shape-border-gradient-yellow stop:nth-of-type(4){stop-color:#050506!important;stop-opacity:1;}
.ul-player-card:not(.ul-card-theme-yellow):not(.ul-card-theme-white) .ul-player-card__shape-border,
.ul-player-card.ul-card-theme-white .ul-player-card__shape-border{
    animation:none!important;
    transform:scaleY(1.002);
    transform-origin:center bottom;
}
.ul-player-card:not(.ul-card-theme-yellow):not(.ul-card-theme-white) .ul-player-card__shape-border path,
.ul-player-card.ul-card-theme-white .ul-player-card__shape-border path{
    stroke-width:5.35px;
}
.ul-player-card:not(.ul-card-theme-yellow):not(.ul-card-theme-white):not(.ul-player-card--export),
.ul-player-card.ul-card-theme-white:not(.ul-player-card--export){
    animation:none!important;
}
.ul-player-card.ul-card-theme-yellow:not(.ul-player-card--export){
    filter:none!important;
    animation:none!important;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__corner-logo{
    content:url('/wp-content/plugins/underleague-core/assets/svg/escudo_negro.svg');
    top:46px;
    width:49px;
    right:27.5px;
    filter:none!important;
}
.ul-player-card.ul-card-theme-white .ul-player-card__corner-logo{
    /* White conserva exactamente el escudo superior de la carta Original. */
    content:normal;
    filter:none!important;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__label{
    color:#111317;
}
.ul-player-card:is(.ul-card-theme-yellow,.ul-card-theme-white) .ul-player-card__corner-logo{
    filter:brightness(0);
}
.ul-player-card:is(.ul-card-theme-yellow,.ul-card-theme-white) :is(
    .ul-player-card__name,
    .ul-player-card__xp-value,
    .ul-player-card__stat-value,
    .ul-player-card__stat-label,
    .ul-player-card__initials,
    .ul-player-card__jersey,
    .ul-player-card__mvp-count,
    .ul-brand-site-url
){
    color:#111317!important;
    -webkit-text-fill-color:#111317;
}
.ul-player-card:is(.ul-card-theme-yellow,.ul-card-theme-white) :is(
    .ul-player-card__level,
    .ul-player-card__position-short
){
    background:none!important;
    color:#111317!important;
    -webkit-text-fill-color:#111317;
}
.ul-player-card:is(.ul-card-theme-yellow,.ul-card-theme-white) .ul-player-card__personal-emblem{
    border-color:rgba(17,19,23,.34);
    box-shadow:none;
}
.ul-player-card.ul-card-theme-white .ul-player-card__level{
    /* La etiqueta NIVEL sigue negra; su valor conserva el dorado de XP/rango. */
    background:linear-gradient(to bottom right,#DCC281 0%,#CC9E31 100%)!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent;
}
.ul-player-card.ul-card-theme-white .ul-player-card__label{
    color:#111317!important;
    -webkit-text-fill-color:#111317;
}
.ul-player-card.ul-card-theme-white .ul-mvp-icon svg path{
    fill:#DCC281!important;
}
.ul-player-card.ul-card-theme-white .ul-player-card__mvp.is-active .ul-mvp-icon svg{
    filter:none;
}
.ul-player-card.ul-card-theme-white .ul-player-card__mvp.is-inactive .ul-mvp-icon svg{
    opacity:1;
    filter:none;
}
.ul-player-card.ul-card-theme-white .ul-player-card__mvp.is-inactive .ul-mvp-icon svg path{
    fill:#B8BBC1!important;
}
.ul-player-card.ul-card-theme-white .ul-player-card__mvp-count{
    color:#111317!important;
    -webkit-text-fill-color:#111317;
}
.ul-player-card:is(.ul-card-theme-yellow,.ul-card-theme-white) .ul-player-card__rank-route .ul-progress{
    background:rgba(17,19,23,.22);
}
.ul-player-card.ul-card-theme-white .ul-player-card__rank-route .ul-progress{
    background:#B8BBC1;
}
.ul-player-card.ul-card-theme-white .ul-player-card__rank-route .ul-progress__fill{
    background:linear-gradient(90deg,#D4B36C 0%,#E7D39A 100%);
}
.ul-player-card:is(.ul-card-theme-yellow,.ul-card-theme-white) .ul-player-card__section--stats::before{
    background:linear-gradient(90deg,transparent,rgba(17,19,23,.42) 50%,transparent);
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__rank-route .ul-progress__fill{
    background:#111317;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__rank-route .ul-progress__fill::after{
    background:#3b4047;
    box-shadow:0 0 3px rgba(13,15,18,.32),inset 0 1px 1px rgba(154,162,171,.25);
}
.ul-player-card.ul-card-theme-yellow .ul-mvp-icon svg path{
    fill:#111317!important;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__mvp.is-active .ul-mvp-icon svg{
    filter:none;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__mvp.is-inactive .ul-mvp-icon svg{
    opacity:.45;
    filter:none;
}
.ul-player-card.ul-card-theme-yellow :is(
    .ul-player-card__rank,
    .ul-player-card__rank-route .ul-player-card__xp-label
){
    background:none!important;
    background-clip:border-box!important;
    -webkit-background-clip:border-box!important;
    color:#111317!important;
    -webkit-text-fill-color:#111317;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__rank-route .ul-player-card__xp-label--icon{
    background:#111317!important;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__position-short{
    background:none!important;
    -webkit-background-clip:border-box!important;
    background-clip:border-box!important;
    color:#111317!important;
    -webkit-text-fill-color:#111317;
}
@media (prefers-reduced-motion:reduce){
    .ul-player-card.ul-card-theme-yellow .ul-player-card__shape-border,
    .ul-player-card.ul-card-theme-yellow:not(.ul-player-card--export){
        animation:none;
    }
}
.ul-player-card.ul-card-theme-white .ul-player-card__stat-label{
    color:rgba(17,19,23,.62)!important;
}
.ul-player-card.ul-card-theme-yellow .ul-player-card__stat-label{
    color:rgba(17,19,23,.65)!important;
}

/* Un único modo para los textos especiales detectados en el clon. Convierte
   degradados y máscaras incompatibles con html2canvas en texto sólido. */
.ul-player-card.ul-export-mode :is(
    .ul-player-card__level,
    .ul-player-card__position-short,
    .ul-player-card__rank,
    .ul-player-card__rank-route .ul-player-card__xp-label,
    .ul-player-card__xp-label--icon
)[data-ul-export-text]{
    background:none!important;
    background-image:none!important;
    -webkit-background-clip:border-box!important;
    background-clip:border-box!important;
    -webkit-text-fill-color:var(--ul-export-text-color)!important;
    color:var(--ul-export-text-color)!important;
    -webkit-mask:none!important;
    mask:none!important;
}
.ul-player-card.ul-export-mode .ul-player-card__xp-label--icon[data-ul-export-text]{
    display:inline!important;
    width:auto!important;
    height:auto!important;
    flex:0 0 auto!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1!important;
}
