/* =========================================================
   WIKIPOL — DIRECTORIO / CARDS V2
   Archivo: assets/css/wpk-directory-v2.css

   IMPORTANTE:
   Todo está aislado bajo clases wpk-v2-*
   No modifica las tarjetas actuales de Wikipol.
========================================================= */


/* =========================================================
   LABORATORIO
========================================================= */

.wpk-v2-lab {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 48px 24px 70px;
    box-sizing: border-box;
}

.wpk-v2-lab__header {
    margin-bottom: 32px;
}

.wpk-v2-lab__eyebrow {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    color: #ff0054;
}

.wpk-v2-lab__title {
    margin: 0 0 8px;
    font-size: 32px;
    line-height: 1.15;
    font-weight: 700;
    color: #111321;
}

.wpk-v2-lab__description {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #69707d;
}


/* =========================================================
   GRID
========================================================= */

.wpk-v2-lab__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}


/* =========================================================
   CARD
========================================================= */

.wpk-v2-card {
    position: relative;
    width: 100%;
    min-width: 0;
    height: 100%;
    overflow: hidden;

    background: #ffffff;
    border: 1px solid #e7e8ec;
    border-radius: 14px;

    box-shadow:
        0 3px 10px rgba(19, 24, 43, .04),
        0 10px 28px rgba(19, 24, 43, .045);

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;

    box-sizing: border-box;
}

.wpk-v2-card:hover {
    transform: translateY(-4px);

    border-color: #d9dae1;

    box-shadow:
        0 8px 18px rgba(19, 24, 43, .07),
        0 18px 38px rgba(19, 24, 43, .08);
}


/* =========================================================
   LINK GENERAL
========================================================= */

.wpk-v2-card__link {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;

    color: inherit;
    text-decoration: none !important;
}

.wpk-v2-card__link:hover,
.wpk-v2-card__link:focus {
    color: inherit;
    text-decoration: none !important;
}


/* =========================================================
   BANNER
========================================================= */

.wpk-v2-card__banner {
    position: relative;
    width: 100%;
    height: 170px;
    margin: 0;
    overflow: hidden;
    border-radius: 14px 14px 0 0;
    background: #eef0f3;
}

.wpk-v2-card__banner-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform .35s ease;
}

.wpk-v2-card:hover .wpk-v2-card__banner-img {
    transform: scale(1.025);
}


/* =========================================================
   FOTO
========================================================= */

.wpk-v2-card__photo-wrap {
    position: relative;
    z-index: 3;
    width: 96px;
    height: 96px;
    margin: -48px auto 0;
    flex: 0 0 auto;
}

.wpk-v2-card__photo {
    display: block;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    background: #eeeeee;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 14px rgba(19, 24, 43, .16);
}


/* =========================================================
   BADGE VERIFICACIÓN
========================================================= */

.wpk-v2-card__verified {
    position: absolute;

    right: -3px;
    bottom: 3px;

    z-index: 5;

    display: block;

    width: 25px !important;
    height: 25px !important;

    max-width: 25px !important;
    max-height: 25px !important;

    object-fit: contain;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    filter:
        drop-shadow(0 1px 2px rgba(0,0,0,.16));
}


/* =========================================================
   CONTENIDO
========================================================= */

.wpk-v2-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;

    padding: 15px 17px 17px;

    box-sizing: border-box;
}


/* =========================================================
   NOMBRE
========================================================= */

.wpk-v2-card__name {
    margin: 0 0 5px !important;
    padding: 0 !important;

    font-family: inherit;
    font-size: 17px !important;
    line-height: 1.16 !important;
    font-weight: 700 !important;

    letter-spacing: -.015em;

    color: #111321 !important;
}


/* =========================================================
   CARGO
========================================================= */

.wpk-v2-card__role {
    margin: 0 0 12px !important;
    padding: 0 !important;

    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 500;

    color: #717784 !important;
}


/* =========================================================
   PERIODO PRESIDENTES
========================================================= */

.wpk-v2-card__period {
    margin: -5px 0 12px !important;

    font-size: 12px !important;
    line-height: 1.35 !important;

    color: #777d88 !important;
}


/* =========================================================
   METADATOS
========================================================= */

.wpk-v2-card__meta {
    display: flex;
    flex-direction: column;
    gap: 7px;

    margin-top: 1px;
}

.wpk-v2-card__meta-row {
    display: flex;
    align-items: flex-start;
    gap: 7px;

    min-width: 0;
}

.wpk-v2-card__meta-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 15px;

    width: 15px;
    height: 17px;

    margin-top: 1px;

    color: #6d7480;
}

.wpk-v2-card__meta-icon svg {
    display: block;

    width: 14px;
    height: 14px;
}

.wpk-v2-card__state,
.wpk-v2-card__party {
    display: block;

    font-size: 12px;
    line-height: 1.34;

    color: #666d79;
}

.wpk-v2-card__state {
    color: #515865;
    font-weight: 500;
}


/* =========================================================
   FOOTER / VER PERFIL
========================================================= */

.wpk-v2-card__footer {
    margin-top: auto;
    padding-top: 18px;
}

.wpk-v2-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    font-size: 13px;
    line-height: 1;
    font-weight: 700;

    color: #ff0054;

    transition:
        gap .2s ease,
        opacity .2s ease;
}

.wpk-v2-card__arrow {
    display: inline-block;

    font-size: 17px;
    line-height: 1;

    transition: transform .2s ease;
}

.wpk-v2-card:hover .wpk-v2-card__arrow {
    transform: translateX(3px);
}


/* =========================================================
   ESTADOS ESPECIALES

   IMPORTANTE:
   Por ahora solamente dejamos preparadas las clases.

   Más adelante definiremos juntos el tratamiento visual
   definitivo de PRO y ELECCIONES.
========================================================= */

.wpk-v2-card--pro {
    /*
     * Reservado para diseño PRO.
     *
     * No aplicamos todavía bordes especiales
     * para poder evaluar primero la tarjeta base.
     */
}

.wpk-v2-card--electoral {
    /*
     * Reservado para Elecciones.
     *
     * Después añadiremos:
     * Elección 2027
     * Estado
     * etc.
     */
}


/* =========================================================
   FOCUS / ACCESIBILIDAD
========================================================= */

.wpk-v2-card__link:focus-visible {
    outline: 3px solid rgba(255, 0, 84, .28);
    outline-offset: -3px;
    border-radius: 14px;
}


/* =========================================================
   TABLET GRANDE
========================================================= */

@media (max-width: 1100px) {

    .wpk-v2-lab__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 820px) {

    .wpk-v2-lab {
        padding:
            36px
            20px
            56px;
    }

    .wpk-v2-lab__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;
    }

    .wpk-v2-lab__title {
        font-size: 28px;
    }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 540px) {

    .wpk-v2-lab {
        padding:
            28px
            14px
            45px;
    }

    .wpk-v2-lab__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .wpk-v2-card {
        max-width: 390px;
        margin-left: auto;
        margin-right: auto;
    }

    .wpk-v2-card__banner {
        height: 155px;
    }

    .wpk-v2-card__photo-wrap {
        width: 86px;
        height: 86px;

        margin-top: -44px;
    }

    .wpk-v2-card__photo {
        width: 86px;
        height: 86px;
    }

}


/* =========================================================
   MUY PEQUEÑO
========================================================= */

@media (max-width: 360px) {

    .wpk-v2-card__content {
        padding:
            14px
            15px
            16px;
    }

    .wpk-v2-card__name {
        font-size: 16px !important;
    }

}

/* =========================================================
   FIX V2 — AVATAR CIRCULAR + BADGE VERIFICACIÓN
========================================================= */


/* Contenedor exacto del avatar */
.wpk-v2-card .wpk-v2-card__photo-wrap {
    position: relative !important;
    z-index: 10;

    display: block;

    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;

    margin: -48px auto 0 !important;

    overflow: visible !important;
}


/* Avatar completamente circular */
.wpk-v2-card .wpk-v2-card__photo {
    display: block !important;

    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
    max-width: 96px !important;
    max-height: 96px !important;

    aspect-ratio: 1 / 1 !important;

    object-fit: cover !important;
    object-position: center center !important;

    border-radius: 50% !important;

    border: 4px solid #ffffff !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #eeeeee;

    box-shadow:
        0 3px 10px rgba(19,24,43,.18) !important;
}


/* Badge de perfil verificado */
.wpk-v2-card .wpk-v2-card__verified {
    position: absolute !important;

    right: -3px !important;
    bottom: 2px !important;

    z-index: 20 !important;

    display: block !important;

    width: 27px !important;
    height: 27px !important;

    min-width: 27px !important;
    min-height: 27px !important;

    max-width: 27px !important;
    max-height: 27px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;

    border: 0 !important;
    border-radius: 0 !important;

    transform: none !important;

    filter:
        drop-shadow(0 2px 3px rgba(0,0,0,.18));
}

/* =========================================================
   V2 — PERFIL PRO
========================================================= */

/*
 * El perfil PRO mantiene la tarjeta limpia.
 * Sólo añadimos un borde dorado muy fino.
 */

.wpk-v2-card.wpk-v2-card--pro {
    border: 1px solid #d6b35a;

    box-shadow:
        0 0 0 3px rgba(214, 179, 90, .85),
        0 8px 18px rgba(19, 24, 43, .10),
        0 18px 38px rgba(19, 24, 43, .13);
}


/* Badge PRO */

.wpk-v2-card__pro-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 8;

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

    min-width: 42px;
    height: 26px;

    padding: 0 10px;

    border-radius: 999px;

    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(214, 179, 90, .85);

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

    color: #95721f;

    font-size: 10px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: .08em;

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}


/* Hover PRO */

.wpk-v2-card.wpk-v2-card--pro:hover {
    border-color: #d6b35a;
    transform: translateY(-6px);

    box-shadow:
        /* mantiene el marco dorado */
        0 0 0 3px rgba(214, 179, 90, .85),

        /* sombra del hover */
        0 12px 24px rgba(19, 24, 43, .12),
        0 24px 48px rgba(19, 24, 43, .16);
}



/* =========================================================
   V2 — PERFIL ELECTORAL
========================================================= */

.wpk-v2-card__electoral-badge {
    position: absolute;

    top: 12px;
    left: 12px;

    z-index: 8;

    display: flex;
    flex-direction: column;

    min-width: 118px;

    padding:
        8px
        13px
        9px;

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            rgba(82, 20, 145, .97),
            rgba(98, 20, 160, .97)
        );

    box-shadow:
        0 6px 16px rgba(42, 16, 71, .20);

    color: #ffffff;
}


/* ELECCIÓN 2027 */

.wpk-v2-card__electoral-title {
    display: block;

    font-size: 11px;
    line-height: 1.05;
    font-weight: 800;

    letter-spacing: .045em;

    color: #ffffff;
}


/* Estado electoral */

.wpk-v2-card__electoral-state {
    display: block;

    margin-top: 3px;

    font-size: 11px;
    line-height: 1.1;
    font-weight: 500;

    color: rgba(255,255,255,.90);
}


/*
 * Electoral:
 * no cambiamos todo el borde de la tarjeta.
 * Sólo añadimos un acento morado muy discreto.
 */

.wpk-v2-card.wpk-v2-card--electoral {
    box-shadow:
        0 3px 10px rgba(19, 24, 43, .04),
        0 10px 28px rgba(19, 24, 43, .055);
}


/* Pequeño acento superior */

.wpk-v2-card.wpk-v2-card--electoral::before {
    content: "";

    position: absolute;

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

    height: 3px;

    z-index: 9;

    background:
        linear-gradient(
            90deg,
            #5d168f,
            #7a21a8
        );

    pointer-events: none;
}



/* =========================================================
   V2 — PRO + ELECTORAL
========================================================= */

/*
 * Si coinciden PRO + Electoral:
 * dejamos el distintivo electoral a la izquierda
 * y PRO a la derecha.
 */

.wpk-v2-card.wpk-v2-card--pro.wpk-v2-card--electoral {
    border-color: #d6b35a;
}


/* En tarjetas estrechas evitamos choque */

@media (max-width: 360px) {

    .wpk-v2-card__electoral-badge {
        top: 10px;
        left: 10px;

        min-width: 105px;

        padding:
            7px
            10px
            8px;
    }

    .wpk-v2-card__pro-badge {
        top: 10px;
        right: 10px;

        min-width: 38px;
        height: 24px;

        padding: 0 8px;
    }

}

/* =========================================================
   WIKIPOL CARD V2 — AJUSTE COMPACTO FINAL
   Desktop / Laptop / Tablet / Mobile
========================================================= */


/* =========================================================
   DESKTOP / LAPTOP
========================================================= */

/* Banner más compacto */
.wpk-v2-card .wpk-v2-card__banner {
    height: 155px;
}


/* Avatar */
.wpk-v2-card .wpk-v2-card__photo-wrap {
    width: 88px !important;
    height: 88px !important;

    min-width: 88px !important;
    min-height: 88px !important;

    margin: -44px auto 0 !important;
}


/* Foto */
.wpk-v2-card .wpk-v2-card__photo {
    width: 88px !important;
    height: 88px !important;

    min-width: 88px !important;
    min-height: 88px !important;

    max-width: 88px !important;
    max-height: 88px !important;

    aspect-ratio: 1 / 1 !important;

    border-radius: 50% !important;
    border: 4px solid #ffffff !important;

    object-fit: cover !important;
    object-position: center center !important;
}


/* Badge verificado proporcional al nuevo avatar */
.wpk-v2-card .wpk-v2-card__verified {
    width: 25px !important;
    height: 25px !important;

    min-width: 25px !important;
    min-height: 25px !important;

    max-width: 25px !important;
    max-height: 25px !important;

    right: -3px !important;
    bottom: 1px !important;
}


/* Contenido */
.wpk-v2-card .wpk-v2-card__content {
    padding: 14px 16px 16px;
}


/* Nombre */
.wpk-v2-card .wpk-v2-card__name {
    font-size: 16px !important;
    line-height: 1.17 !important;
    margin-bottom: 4px !important;
}


/* Cargo */
.wpk-v2-card .wpk-v2-card__role {
    font-size: 12.5px !important;
    line-height: 1.32 !important;

    margin-bottom: 10px !important;
}


/* Periodo presidencial */
.wpk-v2-card .wpk-v2-card__period {
    font-size: 12px !important;
    margin: -3px 0 10px !important;
}


/* Estado / partido */
.wpk-v2-card .wpk-v2-card__state,
.wpk-v2-card .wpk-v2-card__party {
    font-size: 11.5px;
    line-height: 1.32;
}


/* Un poco menos de separación entre metadatos */
.wpk-v2-card .wpk-v2-card__meta {
    gap: 6px;
}


/* CTA ligeramente más compacto */
.wpk-v2-card .wpk-v2-card__footer {
    padding-top: 15px;
}

.wpk-v2-card .wpk-v2-card__cta {
    font-size: 12.5px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 820px) {

    .wpk-v2-card .wpk-v2-card__banner {
        height: 150px;
    }

    .wpk-v2-card .wpk-v2-card__photo-wrap {
        width: 86px !important;
        height: 86px !important;

        min-width: 86px !important;
        min-height: 86px !important;

        margin-top: -43px !important;
    }

    .wpk-v2-card .wpk-v2-card__photo {
        width: 86px !important;
        height: 86px !important;

        min-width: 86px !important;
        min-height: 86px !important;

        max-width: 86px !important;
        max-height: 86px !important;
    }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 540px) {

    .wpk-v2-card .wpk-v2-card__banner {
        height: 145px;
    }

    .wpk-v2-card .wpk-v2-card__photo-wrap {
        width: 82px !important;
        height: 82px !important;

        min-width: 82px !important;
        min-height: 82px !important;

        margin-top: -41px !important;
    }

    .wpk-v2-card .wpk-v2-card__photo {
        width: 82px !important;
        height: 82px !important;

        min-width: 82px !important;
        min-height: 82px !important;

        max-width: 82px !important;
        max-height: 82px !important;

        border-width: 3px !important;
    }

    .wpk-v2-card .wpk-v2-card__verified {
        width: 23px !important;
        height: 23px !important;

        min-width: 23px !important;
        min-height: 23px !important;

        max-width: 23px !important;
        max-height: 23px !important;
    }

    .wpk-v2-card .wpk-v2-card__content {
        padding: 13px 15px 15px;
    }

    .wpk-v2-card .wpk-v2-card__name {
        font-size: 15.5px !important;
    }

}

/* =========================================================
   DIRECTORIO V2 — GRID REAL
========================================================= */

.wpk-v2-directory__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}


/* =========================================================
   ÍNDICE ALFABÉTICO
========================================================= */

.wpk-v2-alpha {
    margin-bottom: 30px;

    padding-bottom: 24px;

    border-bottom: 1px solid #e6e7ea;
}


.wpk-v2-alpha__label {
    margin-bottom: 14px;

    color: #454b57;

    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
}


.wpk-v2-alpha__letters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 5px;
}


/* LETRAS */

.wpk-v2-alpha__letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 8px;

    color: #2d274a;
    background: transparent;

    text-decoration: none !important;

    font-size: 13px;
    font-weight: 600;

    transition:
        background .18s ease,
        color .18s ease,
        transform .18s ease;
}


.wpk-v2-alpha__letter:hover {
    background: #f1f1f4;

    color: #ff0054;

    transform: translateY(-1px);
}


/* ACTIVA */

.wpk-v2-alpha__letter.is-active {
    background: #ff0054;

    color: #ffffff;
}


/* LETRA SIN RESULTADOS */

.wpk-v2-alpha__letter.is-disabled {
    color: #c7c9ce;

    cursor: default;
}


/* TODOS */

.wpk-v2-alpha__all {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 34px;

    margin-left: 5px;

    padding: 0 12px;

    border-radius: 8px;

    color: #2d274a;

    text-decoration: none !important;

    font-size: 12px;
    font-weight: 700;

    transition:
        background .18s ease,
        color .18s ease;
}


.wpk-v2-alpha__all:hover {
    background: #f1f1f4;

    color: #ff0054;
}


.wpk-v2-alpha__all.is-active {
    background: #ff0054;

    color: #ffffff;
}


/* =========================================================
   TOOLBAR RESULTADOS
========================================================= */

.wpk-v2-directory__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 22px;
}


.wpk-v2-directory__results {
    margin: 0;

    color: #111321;

    font-size: 20px;
    line-height: 1.2;
}


.wpk-v2-directory__order {
    color: #69707d;

    font-size: 12px;
}


.wpk-v2-directory__order strong {
    color: #252936;
}


/* =========================================================
   SIN RESULTADOS
========================================================= */

.wpk-v2-directory__empty {
    padding: 40px 20px;

    border: 1px solid #e6e7ea;
    border-radius: 14px;

    background: #ffffff;

    text-align: center;

    color: #69707d;

    font-size: 15px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .wpk-v2-directory__grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 820px) {

    .wpk-v2-directory__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;
    }

}


@media (max-width: 540px) {

    .wpk-v2-directory__grid {
        grid-template-columns: 1fr;
    }

    .wpk-v2-directory__toolbar {
        align-items: flex-start;
        flex-direction: column;

        gap: 8px;
    }

    .wpk-v2-alpha__letters {
        gap: 3px;
    }

    .wpk-v2-alpha__letter {
        width: 31px;
        height: 31px;
    }

}


/* =========================================================
   DIRECTORIO V2 — PANEL EXPLORA
========================================================= */

.wpk-v2-directory {
    background: #ffffff;
}


/* CABECERA */

.wpk-v2-explore {
    width: 100%;
    margin-bottom: 28px;
}

.wpk-v2-explore__heading {
    margin-bottom: 24px;
}

.wpk-v2-explore__heading h2 {
    margin: 0 0 5px !important;

    font-size: 28px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;

    letter-spacing: -.025em;

    color: #111321 !important;
}

.wpk-v2-explore__heading p {
    margin: 0 !important;

    font-size: 13px;
    line-height: 1.5;

    color: #737986;
}


/* =========================================================
   CATEGORÍAS
========================================================= */

.wpk-v2-explore__categories {
    display: grid;

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

    gap: 12px;

    margin-bottom: 18px;
}


.wpk-v2-category {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 8px 14px;

    border: 0;
    border-radius: 999px;

    background: #f2f3f5;

    color: #272a32;

    font-family: inherit;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;

    cursor: pointer;

    transition:
        background .18s ease,
        color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}


.wpk-v2-category:hover {
    background: #e9eaed;

    transform: translateY(-1px);
}


.wpk-v2-category.is-active {
    background: #ff0054;

    color: #ffffff;

    box-shadow:
        0 6px 15px rgba(255,0,84,.16);
}


/* =========================================================
   FILTROS
========================================================= */

.wpk-v2-explore__filters {
    display: grid;

    grid-template-columns:
        1fr
        1fr
        1.15fr
        1.15fr
        auto;

    gap: 12px;

    align-items: center;

    padding-bottom: 28px;

    border-bottom: 1px solid #e6e7ea;
}


.wpk-v2-filter {
    display: flex;
    align-items: center;

    min-width: 0;
    height: 46px;

    padding: 0 15px;

    border: 1px solid #e0e2e6;
    border-radius: 999px;

    background: #ffffff;

    color: #656c78;

    font-family: inherit;

    cursor: pointer;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}


.wpk-v2-filter:hover {
    border-color: #cfd2d8;

    box-shadow:
        0 4px 12px rgba(19,24,43,.05);

    transform: translateY(-1px);
}


.wpk-v2-filter__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    margin-right: 9px;

    color: #626976;
}


.wpk-v2-filter__text {
    flex: 1;

    min-width: 0;

    overflow: hidden;

    text-overflow: ellipsis;
    white-space: nowrap;

    text-align: left;

    font-size: 12px;
    font-weight: 500;
}


.wpk-v2-filter__arrow {
    flex: 0 0 auto;

    margin-left: 8px;

    font-size: 12px;

    color: #777d88;
}


/* =========================================================
   LIMPIAR FILTROS
========================================================= */

.wpk-v2-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 42px;

    padding: 0 8px;

    border: 0;

    background: transparent;

    color: #43386d;

    font-family: inherit;
    font-size: 11px;
    font-weight: 600;

    white-space: nowrap;

    cursor: pointer;
}


.wpk-v2-clear:hover {
    color: #ff0054;
}


.wpk-v2-clear__icon {
    font-size: 18px;
    line-height: 1;
}


/* =========================================================
   ALFABETO — AJUSTE PARA QUE FORME PARTE DEL MISMO BLOQUE
========================================================= */

.wpk-v2-alpha {
    margin-top: 0;
    margin-bottom: 30px;

    padding-bottom: 24px;

    border-bottom: 1px solid #e6e7ea;
}


.wpk-v2-alpha__label {
    margin-bottom: 12px;

    color: #454b57;

    font-size: 12px;
    font-weight: 600;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .wpk-v2-explore__categories {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }


    .wpk-v2-explore__filters {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .wpk-v2-clear {
        justify-content: flex-start;
    }

}


@media (max-width: 620px) {

    .wpk-v2-explore__heading h2 {
        font-size: 24px !important;
    }


    .wpk-v2-explore__categories {
        display: flex;
        overflow-x: auto;

        gap: 8px;

        padding-bottom: 4px;

        scrollbar-width: none;
    }


    .wpk-v2-explore__categories::-webkit-scrollbar {
        display: none;
    }


    .wpk-v2-category {
        flex: 0 0 auto;

        min-height: 40px;

        padding-left: 18px;
        padding-right: 18px;
    }


    .wpk-v2-explore__filters {
        grid-template-columns: 1fr;
    }


    .wpk-v2-filter {
        width: 100%;
    }

}

/* =========================================================
   DIRECTORIO V2 — FIX ESTILOS GLOBALES DE BOTONES
   Mantener SIEMPRE al final del archivo
========================================================= */


/* =========================================================
   CATEGORÍAS PRINCIPALES
========================================================= */

.wpk-v2-directory button.wpk-v2-category {
    appearance: none !important;
    -webkit-appearance: none !important;

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

    min-height: 44px !important;

    padding: 8px 14px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #f2f3f5 !important;
    background-image: none !important;

    color: #272a32 !important;

    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;

    text-decoration: none !important;
    text-transform: none !important;

    box-shadow: none !important;

    cursor: pointer !important;
}


/* HOVER DE CATEGORÍAS */

.wpk-v2-directory button.wpk-v2-category:hover {
    background: #e9eaed !important;
    color: #111321 !important;

    transform: translateY(-1px);

    box-shadow: none !important;
}


/* ÚNICAMENTE LA ACTIVA EN ROSA */

.wpk-v2-directory button.wpk-v2-category.is-active {
    background: #ff0054 !important;
    color: #ffffff !important;

    box-shadow:
        0 6px 15px rgba(255, 0, 84, .16) !important;
}


/* ACTIVE HOVER */

.wpk-v2-directory button.wpk-v2-category.is-active:hover {
    background: #ed0050 !important;
    color: #ffffff !important;
}


/* =========================================================
   FILTROS SECUNDARIOS
========================================================= */

.wpk-v2-directory button.wpk-v2-filter {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: flex !important;
    align-items: center !important;

    min-width: 0 !important;
    height: 46px !important;

    padding: 0 15px !important;

    border: 1px solid #e0e2e6 !important;
    border-radius: 999px !important;

    background: #ffffff !important;
    background-image: none !important;

    color: #656c78 !important;

    font-family: inherit !important;

    text-decoration: none !important;
    text-transform: none !important;

    box-shadow: none !important;

    cursor: pointer !important;
}


/* FILTROS HOVER */

.wpk-v2-directory button.wpk-v2-filter:hover {
    background: #ffffff !important;

    border-color: #cfd2d8 !important;

    color: #343944 !important;

    box-shadow:
        0 4px 12px rgba(19, 24, 43, .05) !important;

    transform: translateY(-1px);
}


/* ICONOS */

.wpk-v2-directory .wpk-v2-filter__icon {
    color: #626976 !important;
}


/* TEXTO */

.wpk-v2-directory .wpk-v2-filter__text {
    color: #656c78 !important;

    text-decoration: none !important;
}


/* FLECHA */

.wpk-v2-directory .wpk-v2-filter__arrow {
    color: #777d88 !important;
}


/* =========================================================
   LIMPIAR FILTROS
========================================================= */

.wpk-v2-directory button.wpk-v2-clear {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 7px !important;

    min-height: 42px !important;

    padding: 0 8px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    background-image: none !important;

    color: #43386d !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 600 !important;

    text-decoration: none !important;
    text-transform: none !important;

    box-shadow: none !important;

    cursor: pointer !important;
}


/* LIMPIAR HOVER */

.wpk-v2-directory button.wpk-v2-clear:hover {
    background: transparent !important;

    color: #ff0054 !important;

    box-shadow: none !important;

    transform: none !important;
}


/* =========================================================
   DIRECTORIO V2 — CATEGORÍAS COMO LINKS
========================================================= */

.wpk-v2-directory a.wpk-v2-category {
    appearance: none !important;
    -webkit-appearance: none !important;

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

    min-height: 44px !important;

    padding: 8px 14px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #f2f3f5 !important;
    background-image: none !important;

    color: #272a32 !important;

    font-family: inherit !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;

    text-decoration: none !important;
    text-transform: none !important;

    box-shadow: none !important;

    cursor: pointer !important;

    transition:
        background .18s ease,
        color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}


.wpk-v2-directory a.wpk-v2-category:hover {
    background: #e9eaed !important;
    color: #111321 !important;

    text-decoration: none !important;

    transform: translateY(-1px);
}


/* TODOS ACTIVO */

.wpk-v2-directory a.wpk-v2-category.is-active {
    background: #ff0054 !important;
    color: #ffffff !important;

    box-shadow:
        0 6px 15px rgba(255, 0, 84, .16) !important;
}


.wpk-v2-directory a.wpk-v2-category.is-active:hover {
    background: #ed0050 !important;
    color: #ffffff !important;
}

/* =========================================================
   FILTROS V2 — SELECTS REALES
========================================================= */

.wpk-v2-filter-form {
    display: contents;
}


.wpk-v2-directory label.wpk-v2-filter {
    display: flex;
    align-items: center;

    min-width: 0;
    height: 46px;

    padding: 0 15px;

    border: 1px solid #e0e2e6;
    border-radius: 999px;

    background: #ffffff;

    box-sizing: border-box;
}


.wpk-v2-filter__select {
    flex: 1;

    min-width: 0;
    height: 44px;

    margin: 0;
    padding: 0;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    color: #656c78;

    font-family: inherit;
    font-size: 12px;
    font-weight: 500;

    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;
}


.wpk-v2-filter__select:focus {
    outline: none !important;
    box-shadow: none !important;
}


.wpk-v2-directory label.wpk-v2-filter:focus-within {
    border-color: #ff0054;

    box-shadow:
        0 0 0 3px rgba(255,0,84,.08);
}


.wpk-v2-filter__arrow {
    pointer-events: none;
}


/* limpiar ahora es link */

.wpk-v2-directory a.wpk-v2-clear {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 7px;

    color: #43386d !important;

    text-decoration: none !important;
}


.wpk-v2-directory a.wpk-v2-clear:hover {
    color: #ff0054 !important;
}


/* =========================================================
   DIRECTORIO V2 — PAGINACIÓN FINAL
========================================================= */

.wpk-v2-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin: 38px 0 10px;
    padding: 0;
}


.wpk-v2-pagination__item {
    display: block;
}


/* LINKS + ACTIVO */

.wpk-v2-pagination a,
.wpk-v2-pagination .current {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 44px;
    height: 44px;

    padding: 0 13px;

    box-sizing: border-box;

    border: 1px solid #e1e3e7;
    border-radius: 10px;

    background: #ffffff;

    color: #222036 !important;

    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 650;

    text-decoration: none !important;

    box-shadow:
        0 2px 7px rgba(19,24,43,.025);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease,
        background .18s ease,
        color .18s ease;
}


/* HOVER */

.wpk-v2-pagination a:hover {
    transform: translateY(-2px);

    border-color: #d3d5db;

    background: #ffffff;

    color: #ff0054 !important;

    box-shadow:
        0 6px 15px rgba(19,24,43,.09);
}


/* PÁGINA ACTUAL */

.wpk-v2-pagination .current {
    border-color: #21193b;

    background: #21193b;

    color: #ffffff !important;

    box-shadow:
        0 5px 13px rgba(33,25,59,.18);
}


/* FLECHAS */

.wpk-v2-pagination .prev,
.wpk-v2-pagination .next {
    font-size: 21px;
    font-weight: 500;
}


/* PUNTOS ... */

.wpk-v2-pagination .dots {
    border-color: transparent;

    background: transparent;

    box-shadow: none;

    cursor: default;
}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 540px) {

    .wpk-v2-pagination {
        gap: 6px;
        margin-top: 30px;
    }

    .wpk-v2-pagination a,
    .wpk-v2-pagination .current {
        min-width: 39px;
        height: 39px;

        padding: 0 10px;

        border-radius: 9px;

        font-size: 13px;
    }

}


/* =========================================================
   DIRECTORIO V2 — ORDEN
========================================================= */

.wpk-v2-order-form {
    display: flex;
    align-items: center;
    gap: 5px;
}

.wpk-v2-order-form label {
    margin: 0;

    color: #737986;

    font-size: 12px;
    font-weight: 500;
}

.wpk-v2-order-form select {
    width: auto;

    margin: 0;
    padding: 3px 20px 3px 4px;

    border: 0 !important;
    outline: 0 !important;

    background: transparent;

    color: #252936;

    font-family: inherit;
    font-size: 12px;
    font-weight: 700;

    cursor: pointer;

    box-shadow: none !important;
}

.wpk-faq-directorio__question{
    margin:0 !important;
    padding:0 !important;

    color:inherit !important;

    font-family:inherit;
    font-size:14px !important;
    line-height:1.35 !important;
    font-weight:700 !important;

    letter-spacing:normal;
}

@media (max-width:540px){

    .wpk-faq-directorio__question{
        font-size:13px !important;
    }

}

