.elementor-2657 .elementor-element.elementor-element-f09b91a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-2657 .elementor-element.elementor-element-04d6ee5{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2657 .elementor-element.elementor-element-6e82ef4{background-color:var( --e-global-color-accent );}.elementor-2657 .elementor-element.elementor-element-6e82ef4 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:11px;font-weight:600;color:var( --e-global-color-0768f13 );}.elementor-2657 .elementor-element.elementor-element-037ad4f{background-color:#0DCAF0;}.elementor-2657 .elementor-element.elementor-element-037ad4f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:11px;font-weight:600;color:var( --e-global-color-0768f13 );}.elementor-2657 .elementor-element.elementor-element-11a6d2f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2657 .elementor-element.elementor-element-0b4c449 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;line-height:26px;color:#FFFFFF;}.elementor-2657 .elementor-element.elementor-element-740fb5d{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2657 .elementor-element.elementor-element-0e03495{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2657 .elementor-element.elementor-element-508534b{background-color:#FFFFFF1A;padding:5px 10px 5px 10px;border-radius:20px 20px 20px 20px;}.elementor-2657 .elementor-element.elementor-element-508534b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;line-height:19px;color:var( --e-global-color-f07393e );}.elementor-2657 .elementor-element.elementor-element-20e1319{background-color:#FFFFFF1A;padding:5px 10px 5px 10px;border-radius:20px 20px 20px 20px;}.elementor-2657 .elementor-element.elementor-element-20e1319 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;line-height:19px;color:var( --e-global-color-f07393e );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2657 .elementor-element.elementor-element-98a5f8a .elementor-button{background-color:var( --e-global-color-accent );font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:21px;fill:#111111;color:#111111;border-style:none;padding:4px 8px 4px 8px;}.elementor-2657 .elementor-element.elementor-element-98a5f8a .elementor-button:hover, .elementor-2657 .elementor-element.elementor-element-98a5f8a .elementor-button:focus{background-color:var( --e-global-color-816523f );color:var( --e-global-color-f07393e );}.elementor-2657 .elementor-element.elementor-element-98a5f8a .elementor-button:hover svg, .elementor-2657 .elementor-element.elementor-element-98a5f8a .elementor-button:focus svg{fill:var( --e-global-color-f07393e );}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-2657 .elementor-element.elementor-element-04d6ee5{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2657 .elementor-element.elementor-element-0e03495{--flex-wrap:nowrap;}.elementor-2657 .elementor-element.elementor-element-508534b{padding:0.3rem 0.6rem 0.3rem 0.6rem;}.elementor-2657 .elementor-element.elementor-element-20e1319{padding:0.3rem 0.6rem 0.3rem 0.6rem;}}/* Start custom CSS for heading, class: .elementor-element-508534b */.elementor-2657 .elementor-element.elementor-element-508534b {
    padding: 0.3rem 0.6rem;
    background-color: #FFFFFF1A;
    border-radius: 20px;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-20e1319 */.elementor-2657 .elementor-element.elementor-element-508534b {
    padding: 0.3rem 0.6rem;
    background-color: #FFFFFF1A;
    border-radius: 20px;
}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   CARD PRINCIPAL
   ========================================================= */

.ce-escort-card {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 8px;
    background: #222;
}


/* =========================================================
   IMAGEN
   ========================================================= */

.ce-escort-card__img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    z-index: 1;
}

.ce-escort-card__img img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 0.4s ease;
}


/* =========================================================
   BADGES
   ========================================================= */

.ce-escort-card__badges {
    position: absolute;

    top: 14px;
    left: 14px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 7px;

    z-index: 5;
}


.ce-escort-card__badge {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 4px;
    line-height: 1;
    letter-spacing: 0.5px;
    white-space: nowrap;
}


.ce-escort-card__badge--new {
    background: #00b8ea;
    color: #111;
}


/* =========================================================
   INFORMACIÓN INFERIOR
   ========================================================= */

.ce-escort-card__info {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    z-index: 3;

    padding: 90px 20px 22px;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.90) 0%,
        rgba(0, 0, 0, 0.55) 45%,
        rgba(0, 0, 0, 0) 100%
    );
}


/* =========================================================
   NOMBRE
   ========================================================= */

.ce-escort-card__name {
    display: block;

    margin: 0;
    padding: 0;

    color: #fff;

    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}


/* Evita márgenes automáticos de Elementor */

.ce-escort-card__name .elementor-heading-title {
    margin: 0;
    padding: 0;

    color: #fff;

    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}


/* =========================================================
   CIUDAD
   ========================================================= */

.ce-escort-card__city {
    display: block;

    margin-top: 5px;

    color: rgba(255, 255, 255, 0.70);

    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
}


/* =========================================================
   HOVER
   ========================================================= */


.ce-escort-card__hover-info {
    position: absolute;
    inset: 0;
    z-index: 6;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.85);

    opacity: 0;

    transition: opacity 0.3s ease;
}


/* =========================================================
   DATOS DEL HOVER
   ========================================================= */

.ce-escort-card__quick-data {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 12px;

    color: #fff;

    font-size: 14px;
    font-weight: 400;

    line-height: 1.3;
}


.ce-escort-card__quick-data span + span::before {
    content: "·";

    margin-right: 12px;

    color: rgba(255, 255, 255, 0.6);
}


/* =========================================================
   BOTÓN VER PERFIL
   ========================================================= */

.ce-escort-card__button {
    display: inline-block;
    margin-top: 12px;
    text-decoration: none;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}



/* =========================================================
   EFECTOS HOVER
   ========================================================= */

.ce-escort-card:hover .ce-escort-card__img img {
    transform: scale(1.04);
}


.ce-escort-card:hover .ce-escort-card__hover-info {
    opacity: 1;
}


.ce-escort-card:hover .ce-escort-card__info {
    opacity: 1;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .ce-escort-card__info {
        padding: 70px 16px 18px;
    }

    .ce-escort-card__name {
        font-size: 18px;
    }

    .ce-escort-card__city {
        font-size: 15px;
    }

    .ce-escort-card__badges {
        top: 12px;
        left: 12px;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .ce-escort-card {
        border-radius: 7px;
    }

    .ce-escort-card__badges {
        top: 10px;
        left: 10px;

        gap: 5px;
    }

    .ce-escort-card__badge {
        padding: 5px 8px;

        font-size: 10px;
    }

    .ce-escort-card__info {
        padding: 65px 12px 14px;
    }

    .ce-escort-card__name {
        font-size: 16px;
    }

    .ce-escort-card__city {
        margin-top: 3px;

        font-size: 13px;
    }

    .ce-escort-card__hover-info {
        padding: 6px;
    }

    .ce-escort-card__quick-data {
        font-size: 13px;
    }

    .ce-escort-card__button {
        padding: 7px 13px;

        font-size: 12px;
    }

}


.ce-escort-card__badge--new {
    background-color: #0dcaf0;
    color: #111111;
}

.ce-escort-card__badge {
    padding: 0.25rem 0.5rem !important;
    background-color: #c9a96;
    color: #111111;
    border-radius: 4px;
    line-height: 1;
    width: fit-content;
}

.ce-escort-card__badges {
    top: 0.75rem;
    left: 0.75rem;
}

.ce-escort-card__quick-data span {
    background: rgba(255, 255, 255, 0.1);
    padding: 0.3rem 0.6rem;
    border-radius: 20px;
    font-size: 0.75rem;
    color: fff;
}


/* El enlace (y el contenedor del widget, si existe) ocupan toda la tarjeta */
.ce-escort-card__img a,
.ce-escort-card__img .elementor-widget-container {
    display: block;
    width: 100%;
    height: 100%;
}

/* La imagen cubre siempre la tarjeta, sea vertical u horizontal */
.ce-escort-card__img img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
}/* End custom CSS */