
.vbz-app-top-banner,
.vbz-app-top-banner *,
.vbz-app-top-banner *::before,
.vbz-app-top-banner *::after{
    box-sizing:border-box !important;
}

.vbz-app-top-banner{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    z-index:2147483647 !important;
    width:100% !important;
    background:#fff !important;
    border-bottom:1px solid rgba(15,23,42,.10) !important;
    box-shadow:0 10px 32px rgba(15,23,42,.12) !important;
    font-family:inherit !important;
    color:#111827 !important;
    transform:translateY(0) !important;
    animation:vbzAppTopDown .24s ease both !important;
}

.vbz-app-top-banner[hidden]{
    display:none !important;
}

@keyframes vbzAppTopDown{
    from{opacity:0;transform:translateY(-14px);}
    to{opacity:1;transform:translateY(0);}
}

.vbz-app-top-banner__inner{
    width:100% !important;
    min-height:78px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:12px 16px !important;
    margin:0 !important;
}

.vbz-app-top-banner__close{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    border:0 !important;
    background:transparent !important;
    color:#111827 !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:none !important;
    cursor:pointer !important;
}

.vbz-app-top-banner svg{
    width:22px !important;
    height:22px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.9 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

.vbz-app-top-banner__icon{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    border-radius:15px !important;
    background:#008000 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:0 9px 22px rgba(0,128,0,.22) !important;
    overflow:hidden !important;
    padding:6px !important;
}
.vbz-app-top-banner__icon img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
}

.vbz-app-top-banner__icon span{
    color:#fff !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
}

.vbz-app-top-banner__text{
    min-width:0 !important;
    flex:1 1 auto !important;
    display:block !important;
    text-align:left !important;
    padding:0 !important;
    margin:0 !important;
}

.vbz-app-top-banner__text strong{
    display:block !important;
    color:#111827 !important;
    font-size:17px !important;
    line-height:1.08 !important;
    font-weight:700 !important;
    letter-spacing:-.03em !important;
    margin:0 0 4px !important;
    padding:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-transform:none !important;
}

.vbz-app-top-banner__text span{
    display:block !important;
    color:#4b5563 !important;
    font-size:13.5px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-transform:none !important;
}

.vbz-app-top-banner__install{
    position:relative !important;
    z-index:3 !important;
    min-width:auto !important;
    height:42px !important;
    min-height:42px !important;
    border:0 !important;
    border-radius:999px !important;
    background:transparent !important;
    color:#0071c2 !important;
    padding:0 2px !important;
    font-size:20px !important;
    line-height:42px !important;
    font-weight:700 !important;
    text-transform:none !important;
    box-shadow:none !important;
    cursor:pointer !important;
    white-space:nowrap !important;
    margin:0 !important;
}

.vbz-app-top-banner__ios{
    width:calc(100% - 32px) !important;
    margin:0 16px 12px !important;
    padding:10px 12px !important;
    border-radius:16px !important;
    background:#f8fafc !important;
    color:#374151 !important;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    font-size:13px !important;
    line-height:1.3 !important;
    font-weight:400 !important;
}

.vbz-app-top-banner__ios[hidden]{
    display:none !important;
}

.vbz-app-top-banner__ios span{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#008000 !important;
}

body.vbz-app-install-visible{
    padding-top:78px !important;
}

body.vbz-app-install-visible.vbz-app-install-ios-open{
    padding-top:132px !important;
}

@media(min-width:769px){
    .vbz-app-top-banner{
        display:none !important;
    }
    body.vbz-app-install-visible,
    body.vbz-app-install-visible.vbz-app-install-ios-open{
        padding-top:0 !important;
    }
}

@media(max-width:390px){
    .vbz-app-top-banner__inner{
        gap:10px !important;
        padding:11px 12px !important;
    }

    .vbz-app-top-banner__close{
        width:30px !important;
        height:30px !important;
        min-width:30px !important;
    }

    .vbz-app-top-banner__icon{
        width:50px !important;
        height:50px !important;
        min-width:50px !important;
        min-height:50px !important;
        border-radius:14px !important;
        padding:5px !important;
    }

    .vbz-app-top-banner__text strong{
        font-size:18px !important;
    }

    .vbz-app-top-banner__text span{
        font-size:12.5px !important;
    }

    .vbz-app-top-banner__install{
        font-size:18px !important;
    }
}


/* VBZ v1.0.4 - mientras el banner de instalación está visible, ocultar hamburguesas flotantes para que no tapen Instalar */
body.vbz-app-install-visible .vbz-bmm-toggle,
body.vbz-app-install-visible .vbz-bmm-trigger,
body.vbz-app-install-visible .vbz-bmm-floating,
body.vbz-app-install-visible .vbz-booking-mobile-menu-toggle,
body.vbz-app-install-visible .vbz-mobile-menu-toggle,
body.vbz-app-install-visible .vbz-menu-floating,
body.vbz-app-install-visible .vbz-floating-menu,
body.vbz-app-install-visible .vbz-burger,
body.vbz-app-install-visible .wd-header-mobile-nav,
body.vbz-app-install-visible .mobile-nav-icon,
body.vbz-app-install-visible .wd-tools-element.wd-header-mobile-nav{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

.vbz-app-top-banner{
    z-index:2147483647 !important;
    isolation:isolate !important;
}

.vbz-app-top-banner__install{
    z-index:2147483647 !important;
}

.vbz-app-top-banner__icon{
    background:#008000 !important;
}

.vbz-app-top-banner__icon img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:14px !important;
}


/* VBZ v1.0.5 - logo limpio sin doble borde verde */
.vbz-app-top-banner__icon{
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    padding:0 !important;
    border-radius:14px !important;
    overflow:hidden !important;
}

.vbz-app-top-banner__icon img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:14px !important;
    display:block !important;
}

/* Ocultar hamburguesa real del plugin VBZ Booking Mobile Menu mientras se ve el banner */
body.vbz-app-install-visible .vbz-bmm-floating-trigger,
body.vbz-app-install-visible button.vbz-bmm-floating-trigger,
body.vbz-app-install-visible #vbzBmmTrigger,
body.vbz-app-install-visible [aria-controls="vbzBmmDrawer"],
body.vbz-app-install-visible .vbz-bmm-trigger,
body.vbz-app-install-visible .vbz-bmm-toggle,
body.vbz-app-install-visible .vbz-bmm-floating{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:scale(0) !important;
}
