/**
 * Carta — layout interno ÚNICO (Perfil / metal / etc.).
 * Spooky y Miami tienen bloques independientes más abajo.
 * Inicio/Rankings solo escalan con transform: scale().
 */

:root {
    --ft-carta-base-w: 340px;
    --ft-carta-ratio: 516 / 361;
}

/* ——— Base (excluye ediciones Spooky / Miami) ——— */
.card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais,
.futeur-card--main .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais,
.futeur-card-base .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais,
#contenedor-carta-exportar .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais {
    position: absolute;
    top: 17% !important;
    left: 17% !important;
    right: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    width: 38px !important;
    height: 24px !important;
    max-width: 38px;
    max-height: 24px;
    background: transparent;
    pointer-events: none;
}

.card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais .card-bronce-bandera-wrap,
.card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais .card-bronce-bandera {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 100% !important;
    margin: 0;
    overflow: hidden;
    object-fit: cover !important;
    object-position: center;
    border-radius: 3px;
    background: transparent;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}

.card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais .card-bronce-bandera-wrap {
    display: flex;
    box-shadow: none;
}

.card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pos,
.futeur-card--main .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pos,
.futeur-card-base .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pos,
#contenedor-carta-exportar .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pos {
    position: absolute;
    top: 17% !important;
    right: 17% !important;
    left: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    font-size: 1.45rem !important;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    pointer-events: none;
}

/* ——— Edición Spooky (independiente; layout original) ——— */
.card-bronce.carta-spooky .card-bronce-pais,
.card-bronce.carta-skin .card-bronce-pais {
    position: absolute;
    top: 14% !important;
    left: 24% !important;
    right: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    width: 28px !important;
    height: 18px !important;
    max-width: 28px;
    max-height: 18px;
    background: transparent;
    pointer-events: none;
}

.card-bronce.carta-spooky .card-bronce-pais .card-bronce-bandera-wrap,
.card-bronce.carta-skin .card-bronce-pais .card-bronce-bandera-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 18px !important;
    margin: 0;
    overflow: hidden;
    border-radius: 1px;
    background: transparent;
    box-shadow: none;
}

.card-bronce.carta-spooky .card-bronce-pais .card-bronce-bandera,
.card-bronce.carta-skin .card-bronce-pais .card-bronce-bandera {
    display: block;
    width: 28px !important;
    height: 18px !important;
    object-fit: contain !important;
    object-position: center;
    border-radius: 1px;
    background: transparent;
    box-shadow: none;
}

.card-bronce.carta-spooky .card-bronce-pos,
.card-bronce.carta-skin .card-bronce-pos {
    position: absolute;
    top: 14% !important;
    right: 24% !important;
    left: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    height: 7.8cqw;
    margin: 0;
    padding: 0;
    font-size: 6.8cqw !important;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    pointer-events: none;
}

/* ——— Edición Miami (independiente; layout original) ——— */
.card-bronce.carta-miami .card-bronce-pais {
    position: absolute !important;
    top: 15% !important;
    left: 24% !important;
    right: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    width: 28px !important;
    height: 18px !important;
    max-width: 28px;
    max-height: 18px;
    background: transparent;
    pointer-events: none;
}

.card-bronce.carta-miami .card-bronce-pais .card-bronce-bandera-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 18px !important;
    margin: 0;
    overflow: hidden;
    border-radius: 2px;
    background: transparent;
    box-shadow: none;
}

.card-bronce.carta-miami .card-bronce-pais .card-bronce-bandera {
    display: block;
    width: 28px !important;
    height: 18px !important;
    object-fit: cover !important;
    object-position: center;
    border-radius: 2px;
    background: transparent;
    box-shadow: none;
}

.card-bronce.carta-miami .card-bronce-pos {
    position: absolute !important;
    top: 15% !important;
    right: 24% !important;
    left: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    height: auto;
    min-height: 6.4cqw;
    margin: 0;
    padding: 0.3cqw 1.2cqw;
    /* ~18% menor que 6.8cqw para no solapar la foto; top/right alineados con la bandera */
    font-size: 5.55cqw !important;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    pointer-events: none;
}

/* Sin botones editar/compartir en Inicio */
.futeur-card--dashboard .ft-carta-edit-btn,
.futeur-card--dashboard .ft-carta-share-btn,
.ft-inicio-carta .ft-carta-edit-btn,
.ft-inicio-carta .ft-carta-share-btn {
    display: none !important;
}

/* ——— Inicio / Dashboard: solo scale ——— */
.futeur-card--dashboard-wrapper {
    --ft-carta-scale: 0.75;
    position: relative;
    width: calc(var(--ft-carta-base-w) * var(--ft-carta-scale));
    max-width: 100%;
    aspect-ratio: 361 / 516;
    margin: 0 auto;
    overflow: hidden;
}

.futeur-card--dashboard-wrapper .ft-carta-marco {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.futeur-card--dashboard-wrapper .card-bronce {
    position: absolute;
    top: 0;
    left: 50%;
    width: var(--ft-carta-base-w) !important;
    max-width: none !important;
    margin: 0 !important;
    transform: translateX(-50%) scale(var(--ft-carta-scale));
    transform-origin: top center;
}

/* ——— Rankings / Stats: solo scale ——— */
.futeur-card--mini-wrapper {
    --ft-carta-scale: 0.35;
    position: relative;
    display: block;
    width: calc(var(--ft-carta-base-w) * var(--ft-carta-scale));
    height: calc(var(--ft-carta-base-w) * var(--ft-carta-ratio) * var(--ft-carta-scale));
    overflow: hidden;
    flex-shrink: 0;
    color: inherit;
    text-decoration: none;
}

.futeur-card--mini-wrapper .card-bronce {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--ft-carta-base-w) !important;
    max-width: none !important;
    margin: 0 !important;
    transform: scale(var(--ft-carta-scale));
    transform-origin: top left;
}

/**
 * Álbum: misma carta maestra que Perfil, al 100% del ancho de la celda.
 * Sin width/height en px ni transform:scale (evita recortes).
 * Bandera/DEF en cqw para mantener alineación al encoger.
 */
.futeur-card--album-wrapper,
.cromo-card-wrapper {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    margin: 0;
    overflow: visible;
}

.futeur-card--album-wrapper .card-bronce,
.cromo-card-wrapper .card-bronce {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    aspect-ratio: 361 / 516;
    transform: none !important;
    pointer-events: none;
    cursor: default;
}

/* Base metal/bronce: px fijos → cqw (38/340 ≈ 11.2cqw, 1.45rem@340 ≈ 6.8cqw) */
.futeur-card--album-wrapper .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais,
.cromo-card-wrapper .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais {
    width: 11.2cqw !important;
    height: 7.06cqw !important;
    max-width: none !important;
    max-height: none !important;
}

.futeur-card--album-wrapper .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais .card-bronce-bandera-wrap,
.futeur-card--album-wrapper .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais .card-bronce-bandera,
.cromo-card-wrapper .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais .card-bronce-bandera-wrap,
.cromo-card-wrapper .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pais .card-bronce-bandera {
    width: 100% !important;
    height: 100% !important;
}

.futeur-card--album-wrapper .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pos,
.cromo-card-wrapper .card-bronce:not(.carta-miami):not(.carta-spooky):not(.carta-skin) .card-bronce-pos {
    font-size: 6.8cqw !important;
}

/* Spooky / skin: 28×18 px → cqw */
.futeur-card--album-wrapper .card-bronce.carta-spooky .card-bronce-pais,
.futeur-card--album-wrapper .card-bronce.carta-skin .card-bronce-pais,
.cromo-card-wrapper .card-bronce.carta-spooky .card-bronce-pais,
.cromo-card-wrapper .card-bronce.carta-skin .card-bronce-pais {
    width: 8.24cqw !important;
    height: 5.29cqw !important;
    max-width: none !important;
    max-height: none !important;
}

.futeur-card--album-wrapper .card-bronce.carta-spooky .card-bronce-pais .card-bronce-bandera-wrap,
.futeur-card--album-wrapper .card-bronce.carta-skin .card-bronce-pais .card-bronce-bandera-wrap,
.futeur-card--album-wrapper .card-bronce.carta-spooky .card-bronce-pais .card-bronce-bandera,
.futeur-card--album-wrapper .card-bronce.carta-skin .card-bronce-pais .card-bronce-bandera,
.cromo-card-wrapper .card-bronce.carta-spooky .card-bronce-pais .card-bronce-bandera-wrap,
.cromo-card-wrapper .card-bronce.carta-skin .card-bronce-pais .card-bronce-bandera-wrap,
.cromo-card-wrapper .card-bronce.carta-spooky .card-bronce-pais .card-bronce-bandera,
.cromo-card-wrapper .card-bronce.carta-skin .card-bronce-pais .card-bronce-bandera {
    width: 100% !important;
    height: 100% !important;
}

.futeur-card--album-wrapper .card-bronce.carta-spooky .card-bronce-pos,
.futeur-card--album-wrapper .card-bronce.carta-skin .card-bronce-pos,
.cromo-card-wrapper .card-bronce.carta-spooky .card-bronce-pos,
.cromo-card-wrapper .card-bronce.carta-skin .card-bronce-pos {
    font-size: 6.8cqw !important;
    height: 7.8cqw !important;
}

/* Miami: bandera fija → cqw */
.futeur-card--album-wrapper .card-bronce.carta-miami .card-bronce-pais,
.cromo-card-wrapper .card-bronce.carta-miami .card-bronce-pais {
    width: 8.24cqw !important;
    height: 5.29cqw !important;
    max-width: none !important;
    max-height: none !important;
}

.futeur-card--album-wrapper .card-bronce.carta-miami .card-bronce-pais .card-bronce-bandera-wrap,
.futeur-card--album-wrapper .card-bronce.carta-miami .card-bronce-pais .card-bronce-bandera,
.cromo-card-wrapper .card-bronce.carta-miami .card-bronce-pais .card-bronce-bandera-wrap,
.cromo-card-wrapper .card-bronce.carta-miami .card-bronce-pais .card-bronce-bandera {
    width: 100% !important;
    height: 100% !important;
}

.futeur-card--album-wrapper .card-bronce.carta-miami .card-bronce-pos,
.cromo-card-wrapper .card-bronce.carta-miami .card-bronce-pos {
    font-size: 5.55cqw !important;
}

.futeur-card--album-wrapper .ft-carta-edit-btn,
.futeur-card--album-wrapper .ft-carta-share-btn,
.cromo-card-wrapper .ft-carta-edit-btn,
.cromo-card-wrapper .ft-carta-share-btn {
    display: none !important;
}

@media (max-width: 767.98px) {
    .futeur-card--dashboard-wrapper {
        --ft-carta-scale: 0.435;
        width: min(148px, 100%);
    }

    .futeur-card--mini-wrapper {
        --ft-carta-scale: 0.241;
        width: 82px;
        height: calc(82px * var(--ft-carta-ratio));
    }
}
