.vyora-publicidad[hidden]{display:none!important}
.vyora-publicidad{
    position:fixed;
    inset:0;
    z-index:999999;
    pointer-events:none;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:1rem;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}
.vyora-publicidad__box{
    position:relative;
    width:fit-content;
    max-width:min(60vw,1200px);
    max-height:88vh;
    overflow:visible;
    pointer-events:auto;
    background:transparent;
    border:0;
    box-shadow:0 18px 50px rgba(0,0,0,.18);
    line-height:0;
}
.vyora-publicidad__close{
    position:absolute;
    top:.65rem;
    right:.65rem;
    z-index:4;
    width:2.35rem;
    height:2.35rem;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#102f52;
    font-size:1.8rem;
    line-height:1;
    cursor:pointer;
    box-shadow:0 2px 12px rgba(0,0,0,.18);
}
.vyora-publicidad__media{
    display:flex;
    align-items:center;
    justify-content:center;
    width:fit-content;
    max-width:min(60vw,1200px);
    line-height:0;
    background:transparent;
}
.vyora-publicidad__image-link{
    display:block;
    width:fit-content;
    max-width:100%;
    line-height:0;
}
.vyora-publicidad__image,.vyora-publicidad__video{
    display:block;
    width:auto;
    height:auto;
    max-width:min(60vw,1200px);
    max-height:calc(88vh - 68px);
    object-fit:contain;
    margin:0;
    padding:0;
    background:transparent;
}
.vyora-publicidad__actions{
    display:flex;
    justify-content:center;
    width:100%;
    padding:.85rem 1rem 1rem;
    background:#fff;
    line-height:normal;
}
.vyora-publicidad__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:.7rem 1.5rem;
    background:#f6e92f;
    color:#102f52;
    font-weight:800;
    text-decoration:none;
    border-radius:4px;
}
.vyora-publicidad__cta:hover{filter:brightness(.97);color:#102f52}
@media (max-width:980px){
    .vyora-publicidad__box,.vyora-publicidad__media{max-width:78vw}
    .vyora-publicidad__image,.vyora-publicidad__video{max-width:78vw}
}
@media (max-width:720px){
    .vyora-publicidad{padding:.55rem}
    .vyora-publicidad__box,.vyora-publicidad__media{max-width:94vw;max-height:90vh}
    .vyora-publicidad__image,.vyora-publicidad__video{max-width:94vw;max-height:calc(90vh - 64px)}
}
@media (prefers-reduced-motion:reduce){
    .vyora-publicidad__box{scroll-behavior:auto}
}


/* v0.1.2 — adaptación real a la proporción de la pieza
   El contenedor ya no fuerza 60vw de ancho cuando la altura disponible
   obliga a reducir una imagen cuadrada/vertical. La caja se contrae al
   ancho real renderizado del medio, eliminando las bandas blancas laterales. */


/* =========================================================
   v0.1.3 — DIMENSIONADO REAL DEL POPUP
   =========================================================
   El ancho final ya no depende de shrink-to-fit del navegador.
   frontend.js calcula el tamaño real según:
   - proporción natural de la imagen/video
   - máximo 60vw / 1200px en desktop
   - altura realmente disponible en pantalla
   y fija el ancho exacto en píxeles para que NO existan bandas laterales.
*/
.vyora-publicidad__box{
    width:auto !important;
    max-width:none !important;
}

.vyora-publicidad__media{
    width:auto !important;
    max-width:none !important;
}

.vyora-publicidad__image-link{
    width:auto !important;
    max-width:none !important;
}

.vyora-publicidad__image,
.vyora-publicidad__video{
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
}

.vyora-publicidad__actions{
    width:auto !important;
    box-sizing:border-box !important;
}

/* Evita un flash de geometría incorrecta mientras se calcula la pieza. */
.vyora-publicidad.vyora-publicidad--measuring .vyora-publicidad__box{
    visibility:hidden !important;
}


/* =========================================================
   v0.1.5 — POPUP PROPORCIONADO / PIEZA COMPLETA
   ========================================================= */
.vyora-publicidad{
    position:fixed !important;
    inset:0 !important;
    z-index:999999 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:16px !important;
    pointer-events:none !important;
}

.vyora-publicidad[hidden]{
    display:none !important;
}

.vyora-publicidad__box{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100vh - 32px) !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:0 16px 50px rgba(0,0,0,.20) !important;
    overflow:visible !important;
    pointer-events:auto !important;
}

.vyora-publicidad__media,
.vyora-publicidad__image-link{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    overflow:hidden !important;
    line-height:0 !important;
}

.vyora-publicidad__image,
.vyora-publicidad__video{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    object-fit:contain !important;
    background:transparent !important;
}

.vyora-publicidad__close{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    z-index:3 !important;
}

.vyora-publicidad__actions{
    margin:0 !important;
    padding:10px 12px !important;
    background:#ffffff !important;
    box-sizing:border-box !important;
}

/* Si no hay producto elegido, el pie no debe dejar espacio vacío. */
.vyora-publicidad__actions:empty{
    display:none !important;
}

/* Sin velo, blur ni fondo oscuro detrás del popup. */
.vyora-publicidad::before,
.vyora-publicidad::after{
    display:none !important;
    content:none !important;
}

.vyora-publicidad.vyora-publicidad--measuring .vyora-publicidad__box{
    visibility:hidden !important;
}


/* =========================================================
   v0.1.6 — FALLBACK VISUAL ESTABLE
   ========================================================= */
.vyora-publicidad{
    position:fixed !important;
    inset:0 !important;
    z-index:999999 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:16px !important;
    background:transparent !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    pointer-events:none !important;
}

.vyora-publicidad[hidden]{
    display:none !important;
}

.vyora-publicidad__box{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:0 14px 42px rgba(0,0,0,.18) !important;
    pointer-events:auto !important;
}

.vyora-publicidad__media,
.vyora-publicidad__image-link{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:transparent !important;
    line-height:0 !important;
}

.vyora-publicidad__image,
.vyora-publicidad__video{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    object-fit:contain !important;
    background:transparent !important;
}

.vyora-publicidad__close{
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    z-index:5 !important;
}

.vyora-publicidad__actions{
    box-sizing:border-box !important;
    margin:0 !important;
}

.vyora-publicidad::before,
.vyora-publicidad::after{
    display:none !important;
    content:none !important;
}
