/* VBZ Shop Airbnb V5 */

.vbz-shop-page{max-width:1440px;margin:0 auto;padding:26px 18px 50px}
.vbz-shop-page i{line-height:1}
.vbz-shop-top{background:#fff;border:1px solid #eee;border-radius:30px;padding:28px;margin-bottom:16px;box-shadow:0 10px 34px rgba(0,0,0,.045);display:flex;align-items:center;justify-content:space-between;gap:20px}
.vbz-shop-top h1{margin:0 0 8px;font-size:38px;font-weight:850;color:#171717;letter-spacing:-.7px;display:flex;align-items:center;gap:12px}
.vbz-shop-top h1 i{color:#173f2b}
.vbz-shop-top p{margin:0;color:#777;font-size:15px}
.vbz-shop-toolbar{display:flex;justify-content:flex-end;margin-bottom:18px}
.vbz-shop-order-form{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #eee;border-radius:18px;padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.vbz-shop-order-form label{font-size:13px;font-weight:850;color:#555;display:flex;align-items:center;gap:7px}
.vbz-shop-order-form label i{color:#173f2b}
.vbz-shop-order-form select{height:42px;border:1px solid #ddd;border-radius:13px;padding:0 12px;background:#fff;font-weight:700}
.vbz-shop-layout{display:grid;grid-template-columns:310px 1fr;gap:24px;align-items:start}
.vbz-sidebar-sticky{position:sticky;top:110px;background:#fff;border:1px solid #eee;border-radius:28px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.045)}
.vbz-sidebar-title{font-size:20px;font-weight:850;color:#171717;margin-bottom:18px;display:flex;align-items:center;gap:9px}
.vbz-sidebar-title i{color:#173f2b}
.vbz-shop-filter-form{display:grid;gap:15px}
.vbz-filter-group{display:grid;gap:7px}
.vbz-filter-group label{font-size:12px;font-weight:800;color:#555;display:flex;align-items:center;gap:7px}
.vbz-filter-group label i,.vbz-filter-extra-title i,.vbz-check-title i{color:#173f2b}
.vbz-filter-group input,.vbz-filter-group select{width:100%;height:46px;border:1px solid #ddd;border-radius:14px;background:#fff;padding:0 13px;font-size:14px;color:#222;outline:none}
.vbz-filter-group select:disabled{background:#f7f7f7;color:#999}
.vbz-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vbz-filter-extra{border-top:1px solid #eee;padding-top:16px;display:grid;gap:16px}
.vbz-filter-extra-title{font-size:15px;font-weight:900;color:#222;display:flex;align-items:center;gap:8px}
.vbz-check-group{display:grid;gap:9px}
.vbz-check-title{font-size:12px;color:#666;font-weight:850;display:flex;align-items:center;gap:7px}
.vbz-check-cloud{display:flex;gap:8px;flex-wrap:wrap}
.vbz-check-pill{cursor:pointer}
.vbz-check-pill input{display:none}
.vbz-check-pill span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid #e2e2e2;border-radius:999px;font-size:12px;font-weight:750;color:#555;background:#fff}
.vbz-check-pill input:checked + span{background:#173f2b;border-color:#173f2b;color:#fff}
.vbz-filter-empty-note{background:#f8f8f8;border-radius:16px;padding:14px;color:#777;font-size:13px;display:flex;gap:8px;align-items:flex-start}
.vbz-filter-submit{height:48px;border:0;border-radius:16px;background:#173f2b;color:#fff;font-weight:850;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.vbz-filter-reset{text-align:center;color:#555;text-decoration:underline;font-size:13px;font-weight:700;display:flex;justify-content:center;align-items:center;gap:7px}
.vbz-shop-map-wrap{background:#fff;border:1px solid #eee;border-radius:30px;padding:16px;margin-bottom:24px;box-shadow:0 10px 30px rgba(0,0,0,.045)}
.vbz-shop-map-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#222}
.vbz-shop-map-head strong{font-size:18px;font-weight:850;display:flex;align-items:center;gap:9px}
.vbz-shop-map-head strong i{color:#173f2b}
.vbz-shop-map{width:100%;height:330px;border-radius:22px;overflow:hidden;background:#eef1ed;position:relative}
.vbz-map-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#777;font-size:14px}
.vbz-map-canvas{width:100%;height:100%;position:relative;background:radial-gradient(circle at 20% 30%, rgba(23,63,43,.12), transparent 22%),radial-gradient(circle at 70% 40%, rgba(23,63,43,.10), transparent 25%),linear-gradient(135deg,#edf3ef,#f7f8f6)}
.vbz-map-marker{position:absolute;transform:translate(-50%,-100%);background:#173f2b;color:#fff!important;text-decoration:none!important;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:850;box-shadow:0 8px 20px rgba(0,0,0,.18);white-space:nowrap}
.vbz-map-fallback{width:100%;height:100%;display:block}
.vbz-map-fallback iframe{width:100%;height:100%;border:0}
.vbz-map-address-list{display:none}
.vbz-shop-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.vbz-shop-card{position:relative;background:#fff;border:1px solid #eee;border-radius:28px;overflow:hidden;box-shadow:0 10px 32px rgba(0,0,0,.05);transition:.22s ease}
.vbz-shop-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.vbz-card-image{display:block;height:245px;background:#f1f1f1;overflow:hidden}
.vbz-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.vbz-card-heart{position:absolute;top:17px;right:17px;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#233;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center}
.vbz-card-body{padding:20px}
.vbz-card-cat{display:inline-flex;align-items:center;gap:7px;border:1px solid #eee;border-radius:999px;padding:8px 13px;color:#777;font-weight:750;font-size:13px;margin-bottom:13px}
.vbz-card-cat i{color:#173f2b}
.vbz-card-title{margin:0 0 10px;font-size:22px;line-height:1.18;font-weight:850;letter-spacing:-.25px}
.vbz-card-title a{color:#202124;text-decoration:none}
.vbz-card-excerpt{color:#7b7b7b;line-height:1.45;font-size:15px;margin-bottom:13px}
.vbz-card-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px}
.vbz-shop-stars{display:inline-flex;gap:1px;letter-spacing:1px}
.vbz-shop-stars .is-full{color:#e4923f}.vbz-shop-stars .is-empty{color:#d9d9d9}
.vbz-card-rating strong{color:#344;font-weight:850}.vbz-card-rating span{color:#596;font-weight:800}
.vbz-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.vbz-card-price{color:#2c6e42;font-size:21px;font-weight:900;white-space:nowrap}
.vbz-card-button{display:inline-flex;align-items:center;justify-content:center;background:#173f2b;color:#fff!important;text-decoration:none!important;height:48px;padding:0 18px;border-radius:999px;font-weight:850;white-space:nowrap}
.vbz-shop-empty{background:#fff;border:1px solid #eee;border-radius:24px;padding:38px;text-align:center;color:#777;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.vbz-mobile-filter-btn{display:none;border:0;border-radius:999px;background:#173f2b;color:#fff;font-weight:850;padding:13px 20px;align-items:center;gap:8px}
.vbz-mobile-filter-panel{display:none}

@media(max-width:1180px){.vbz-shop-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
    .vbz-shop-layout{grid-template-columns:1fr}.vbz-shop-sidebar{display:none}.vbz-mobile-filter-btn{display:inline-flex}.vbz-shop-top{align-items:flex-start}
    .vbz-shop-toolbar{justify-content:stretch}.vbz-shop-order-form{width:100%;justify-content:space-between}
    .vbz-mobile-filter-panel{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.38);display:none}
    .vbz-mobile-filter-panel.is-open{display:block}
    .vbz-mobile-filter-inner{position:absolute;right:0;top:0;height:100%;width:min(390px,92vw);background:#fff;padding:24px;overflow:auto;box-shadow:-10px 0 40px rgba(0,0,0,.16)}
    .vbz-mobile-filter-close{position:absolute;top:16px;right:18px;width:38px;height:38px;border:0;border-radius:50%;background:#f2f2f2;font-size:26px;line-height:1}
}
@media(max-width:700px){
    .vbz-shop-page{padding:18px 12px 35px}.vbz-shop-top{border-radius:24px;padding:22px;display:block}.vbz-shop-top h1{font-size:29px}.vbz-mobile-filter-btn{margin-top:18px}
    .vbz-shop-results{grid-template-columns:1fr}.vbz-shop-map{height:260px}.vbz-card-image{height:255px}.vbz-card-footer{align-items:flex-start;flex-direction:column}.vbz-card-button{width:100%}
}


/* VBZ V6 LIVE FILTERS */

.vbz-close-filters-btn{
    height:46px;
    border:1px solid #ddd;
    border-radius:16px;
    background:#fff;
    color:#333;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    cursor:pointer;
}

.vbz-hide-desktop{
    display:flex;
}

@media(min-width:901px){
    .vbz-hide-desktop{
        display:none !important;
    }
}

.vbz-filter-loading{
    position:relative;
    pointer-events:none;
    opacity:.55;
    transition:.18s ease;
}

.vbz-shop-main{
    transition:.18s ease;
}


/* VBZ V7 - DESKTOP LAYOUT HARD FIX */

.vbz-shop-page{
    width:100% !important;
    max-width:1440px !important;
    box-sizing:border-box !important;
}

.vbz-shop-page *,
.vbz-shop-page *:before,
.vbz-shop-page *:after{
    box-sizing:border-box !important;
}

.vbz-shop-layout{
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(280px,310px) minmax(0,1fr) !important;
    gap:24px !important;
    align-items:start !important;
}

.vbz-shop-sidebar{
    width:100% !important;
    min-width:0 !important;
    max-width:310px !important;
}

.vbz-sidebar-sticky{
    width:100% !important;
    max-width:310px !important;
}

.vbz-shop-main{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
}

.vbz-shop-map-wrap,
.vbz-shop-results{
    width:100% !important;
    max-width:100% !important;
}

.vbz-shop-results{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(250px,1fr)) !important;
}

.vbz-shop-card{
    width:100% !important;
    min-width:0 !important;
}

.vbz-shop-map{
    width:100% !important;
    min-width:0 !important;
}

/* Evita que Woodmart/Elementor achiquen el shortcode */
.elementor-widget-shortcode .vbz-shop-page,
.wd-page-content .vbz-shop-page,
.site-content .vbz-shop-page,
.main-page-wrapper .vbz-shop-page{
    width:100% !important;
}

/* El botón cerrar filtros solo tiene sentido en mobile */
@media(min-width:901px){
    .vbz-close-filters-btn{
        display:none !important;
    }
}

@media(max-width:1180px){
    .vbz-shop-results{
        grid-template-columns:repeat(2,minmax(240px,1fr)) !important;
    }
}

@media(max-width:900px){
    .vbz-shop-layout{
        display:block !important;
    }

    .vbz-shop-sidebar{
        display:none !important;
    }

    .vbz-shop-results{
        grid-template-columns:1fr !important;
    }
}


/* VBZ V8 - HARD FULL WIDTH FIX FOR WOODMART / ELEMENTOR DESKTOP */

@media(min-width:901px){

    body .vbz-shop-page{
        width:calc(100vw - 48px) !important;
        max-width:1440px !important;
        min-width:960px !important;
        margin-left:50% !important;
        margin-right:0 !important;
        transform:translateX(-50%) !important;
        padding-left:24px !important;
        padding-right:24px !important;
        display:block !important;
        clear:both !important;
    }

    body .elementor-widget-shortcode,
    body .elementor-widget-container,
    body .elementor-shortcode,
    body .wd-page-content,
    body .site-content,
    body .main-page-wrapper,
    body .content-layout-wrapper,
    body .entry-content{
        overflow:visible !important;
    }

    body .elementor-widget-shortcode:has(.vbz-shop-page),
    body .elementor-widget-container:has(.vbz-shop-page),
    body .elementor-shortcode:has(.vbz-shop-page){
        width:100% !important;
        max-width:none !important;
        overflow:visible !important;
    }

    body .vbz-shop-layout{
        width:100% !important;
        max-width:100% !important;
        display:grid !important;
        grid-template-columns:310px minmax(0,1fr) !important;
        gap:28px !important;
        align-items:start !important;
    }

    body .vbz-shop-sidebar{
        display:block !important;
        width:310px !important;
        min-width:310px !important;
        max-width:310px !important;
        grid-column:1 !important;
    }

    body .vbz-sidebar-sticky{
        width:310px !important;
        max-width:310px !important;
    }

    body .vbz-shop-main{
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        grid-column:2 !important;
    }

    body .vbz-shop-map-wrap{
        width:100% !important;
        max-width:none !important;
    }

    body .vbz-shop-map{
        width:100% !important;
        height:360px !important;
    }

    body .vbz-shop-results{
        width:100% !important;
        max-width:none !important;
        display:grid !important;
        grid-template-columns:repeat(3,minmax(260px,1fr)) !important;
        gap:24px !important;
    }

    body .vbz-shop-card{
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
    }

    body .vbz-card-image{
        height:260px !important;
    }

    body .vbz-shop-top,
    body .vbz-shop-toolbar{
        width:100% !important;
        max-width:none !important;
    }
}

@media(min-width:901px) and (max-width:1180px){
    body .vbz-shop-page{
        min-width:900px !important;
    }

    body .vbz-shop-results{
        grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
    }
}

@media(max-width:900px){
    body .vbz-shop-page{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-left:auto !important;
        margin-right:auto !important;
        transform:none !important;
    }
}


/* VBZ V9 - PC ALIGNMENT + MOBILE AJAX FIX */

@media(min-width:901px){

    body .vbz-shop-page{
        width:100% !important;
        max-width:1440px !important;
        min-width:0 !important;
        margin:0 auto !important;
        transform:none !important;
        padding-left:24px !important;
        padding-right:24px !important;
        clear:both !important;
    }

    body .vbz-shop-layout{
        display:flex !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        gap:28px !important;
        width:100% !important;
        max-width:100% !important;
    }

    body .vbz-shop-sidebar{
        flex:0 0 310px !important;
        width:310px !important;
        min-width:310px !important;
        max-width:310px !important;
        display:block !important;
        order:1 !important;
    }

    body .vbz-shop-main{
        flex:1 1 auto !important;
        width:auto !important;
        min-width:0 !important;
        max-width:calc(100% - 338px) !important;
        order:2 !important;
        margin:0 !important;
        padding:0 !important;
        display:block !important;
    }

    body .vbz-shop-map-wrap{
        margin-top:0 !important;
        width:100% !important;
        max-width:100% !important;
        display:block !important;
    }

    body .vbz-shop-results{
        width:100% !important;
        display:grid !important;
        grid-template-columns:repeat(3,minmax(240px,1fr)) !important;
        gap:24px !important;
    }

    body .vbz-shop-toolbar{
        width:100% !important;
        display:flex !important;
        justify-content:flex-end !important;
    }
}

.vbz-check-pill input:checked + span,
.vbz-check-pill.is-selected span{
    background:#173f2b !important;
    border-color:#173f2b !important;
    color:#fff !important;
}

.vbz-map-fallback{
    width:100% !important;
    height:100% !important;
}

.vbz-map-fallback iframe{
    width:100% !important;
    height:100% !important;
    border:0 !important;
    display:block !important;
}

@media(max-width:900px){
    body .vbz-shop-page{
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        transform:none !important;
        padding-left:12px !important;
        padding-right:12px !important;
    }

    body .vbz-shop-layout{
        display:block !important;
        width:100% !important;
    }

    body .vbz-shop-main{
        width:100% !important;
        max-width:100% !important;
    }

    body .vbz-shop-map-wrap,
    body .vbz-shop-results{
        width:100% !important;
        max-width:100% !important;
    }
}


/* VBZ V10 - MOBILE STABILITY + FOX CURRENCY SWITCHER */

.vbz-shop-toolbar{
    gap:12px !important;
    align-items:center !important;
    flex-wrap:wrap !important;
}

.vbz-currency-switcher{
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid #eee;
    border-radius:18px;
    padding:10px 12px;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
    min-height:62px;
}

.vbz-currency-label{
    font-size:13px;
    font-weight:850;
    color:#555;
    display:flex;
    align-items:center;
    gap:7px;
    white-space:nowrap;
}

.vbz-currency-label i{
    color:#173f2b;
}

.vbz-currency-switcher select,
.vbz-currency-switcher .woocs_auto_switcher,
.vbz-currency-switcher .woocs-style-1-select,
.vbz-currency-switcher .woocs-style-2-select{
    min-height:42px !important;
    border-radius:13px !important;
    border:1px solid #ddd !important;
    background:#fff !important;
    font-weight:700 !important;
}

.vbz-currency-fallback{
    margin:0;
}

.vbz-currency-fallback select{
    height:42px;
    border:1px solid #ddd;
    border-radius:13px;
    padding:0 12px;
    background:#fff;
    font-weight:700;
}

/* Mobile: evita pantalla blanca por contenedores/iframes/ajax */
@media(max-width:900px){
    body .vbz-shop-page{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        min-height:100vh !important;
        overflow:visible !important;
    }

    body .vbz-shop-main{
        display:block !important;
        min-height:300px !important;
    }

    body .vbz-shop-toolbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    body .vbz-currency-switcher,
    body .vbz-shop-order-form{
        width:100% !important;
        justify-content:space-between !important;
    }

    body .vbz-shop-map{
        min-height:260px !important;
        height:260px !important;
        display:block !important;
    }

    body .vbz-map-fallback,
    body .vbz-map-fallback iframe{
        min-height:260px !important;
        height:260px !important;
        display:block !important;
    }
}

.vbz-filter-loading{
    pointer-events:none;
    opacity:.72 !important;
}


/* VBZ V11 - Currency selector friendly style */

.vbz-currency-switcher{
    border-radius:999px !important;
    padding:8px 10px 8px 14px !important;
    min-height:52px !important;
    background:linear-gradient(135deg,#ffffff,#fbfbf7) !important;
    border:1px solid rgba(23,63,43,.12) !important;
    box-shadow:0 8px 24px rgba(23,63,43,.07) !important;
}

.vbz-currency-label{
    color:#173f2b !important;
    font-size:13px !important;
    font-weight:900 !important;
}

.vbz-currency-label i{
    width:30px;
    height:30px;
    border-radius:50%;
    background:#eef7f1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* FOX / WOOCS common outputs */
.vbz-currency-switcher select,
.vbz-currency-switcher .woocs_auto_switcher select,
.vbz-currency-switcher .woocs-style-1-select,
.vbz-currency-switcher .woocs-style-2-select,
.vbz-currency-switcher .chosen-single,
.vbz-currency-switcher .select2-selection,
.vbz-currency-fallback select{
    height:40px !important;
    min-height:40px !important;
    border-radius:999px !important;
    border:1px solid rgba(23,63,43,.14) !important;
    background:#fff !important;
    color:#173f2b !important;
    font-size:13px !important;
    font-weight:850 !important;
    padding:0 34px 0 14px !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.55) !important;
    outline:none !important;
}

.vbz-currency-switcher select:hover,
.vbz-currency-fallback select:hover{
    border-color:#173f2b !important;
}

.vbz-currency-switcher .woocs_auto_switcher,
.vbz-currency-switcher .woocs-style-1-dropdown,
.vbz-currency-switcher .woocs-style-2-dropdown,
.vbz-currency-switcher .select2-container{
    min-width:108px !important;
}

.vbz-currency-switcher .select2-selection__rendered{
    color:#173f2b !important;
    font-weight:850 !important;
    line-height:40px !important;
}

.vbz-currency-switcher .select2-selection__arrow{
    height:40px !important;
}

@media(max-width:900px){
    body .vbz-currency-switcher{
        width:100% !important;
        justify-content:space-between !important;
        border-radius:18px !important;
        padding:12px 14px !important;
    }

    body .vbz-currency-switcher select,
    body .vbz-currency-fallback select{
        min-width:128px !important;
    }
}


/* VBZ V12 - REAL WOOCS / FOX SWITCHER RESTYLE */

.vbz-currency-switcher{
    padding:10px 16px !important;
    gap:14px !important;
}

/* mata el cuadrado feo original */
.vbz-currency-switcher .dd-container,
.vbz-currency-switcher .woocs_auto_switcher,
.vbz-currency-switcher .woocs-style-1-dropdown{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    min-width:auto !important;
}

/* selector real */
.vbz-currency-switcher .dd-select,
.vbz-currency-switcher .woocs-style-1-select,
.vbz-currency-switcher .woocs-style-2-select{
    border:1px solid rgba(23,63,43,.12) !important;
    border-radius:999px !important;
    background:#fff !important;
    min-height:44px !important;
    height:44px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 14px !important;
    box-shadow:0 4px 14px rgba(0,0,0,.04) !important;
}

/* texto */
.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .dd-selected-text{
    color:#173f2b !important;
    font-size:14px !important;
    font-weight:850 !important;
    line-height:1.2 !important;
}

/* bandera */
.vbz-currency-switcher .dd-selected-image,
.vbz-currency-switcher .dd-option-image{
    width:22px !important;
    height:22px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    margin-right:10px !important;
}

/* flecha */
.vbz-currency-switcher .dd-pointer{
    top:18px !important;
    right:12px !important;
    border-top-color:#173f2b !important;
}

/* dropdown */
.vbz-currency-switcher .dd-options{
    border-radius:18px !important;
    overflow:hidden !important;
    border:1px solid rgba(23,63,43,.1) !important;
    box-shadow:0 14px 40px rgba(0,0,0,.10) !important;
}

.vbz-currency-switcher .dd-option{
    padding:12px 14px !important;
    font-weight:750 !important;
    color:#173f2b !important;
    border-bottom:1px solid #f2f2f2 !important;
}

.vbz-currency-switcher .dd-option:hover{
    background:#f4faf6 !important;
}

.vbz-currency-switcher .dd-selected small,
.vbz-currency-switcher .dd-option small{
    opacity:.6;
    font-size:11px;
    display:block;
    margin-top:2px;
}

/* mobile */
@media(max-width:900px){
    .vbz-currency-switcher{
        padding:12px 14px !important;
    }

    .vbz-currency-switcher .dd-select{
        width:100% !important;
    }
}


/* VBZ V13 - Currency same visual language as Ordenar */

/* El contenedor Moneda queda igual al bloque Ordenar */
.vbz-currency-switcher{
    min-height:62px !important;
    height:auto !important;
    border-radius:18px !important;
    background:#fff !important;
    border:1px solid #eee !important;
    box-shadow:0 8px 24px rgba(0,0,0,.04) !important;
    padding:10px 12px !important;
    gap:10px !important;
}

/* Evita que WOOCS meta un cuadrado interno feo */
.vbz-currency-switcher .dd-container,
.vbz-currency-switcher .dd-select,
.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .woocs_auto_switcher,
.vbz-currency-switcher .woocs-style-1-dropdown,
.vbz-currency-switcher .woocs-style-1-select,
.vbz-currency-switcher .woocs-style-2-select{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:none !important;
}

/* El área clickeable queda como un select simple, no como tarjeta dentro de tarjeta */
.vbz-currency-switcher .dd-select{
    height:42px !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 34px 0 12px !important;
    border-radius:13px !important;
    background:#fff !important;
    border:1px solid #ddd !important;
}

/* Oculta la imagen rota/bandera con signo de pregunta */
.vbz-currency-switcher .dd-selected-image,
.vbz-currency-switcher .dd-option-image{
    display:none !important;
}

/* Texto interno prolijo */
.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .dd-selected-text{
    padding:0 !important;
    margin:0 !important;
    color:#333 !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
}

.vbz-currency-switcher .dd-selected small{
    color:#777 !important;
    font-size:12px !important;
    font-weight:500 !important;
    margin-top:3px !important;
}

/* Flecha minimalista */
.vbz-currency-switcher .dd-pointer{
    right:12px !important;
    top:18px !important;
    border-top-color:#777 !important;
}

/* Dropdown abierto */
.vbz-currency-switcher .dd-options{
    margin-top:8px !important;
    border-radius:16px !important;
    border:1px solid #eee !important;
    box-shadow:0 14px 36px rgba(0,0,0,.10) !important;
    overflow:hidden !important;
}

.vbz-currency-switcher .dd-option{
    padding:12px 14px !important;
    color:#333 !important;
    font-size:14px !important;
    font-weight:700 !important;
    border-bottom:1px solid #f1f1f1 !important;
    background:#fff !important;
}

.vbz-currency-switcher .dd-option:hover{
    background:#f7f7f7 !important;
}

/* Si FOX/WOOCS usa select normal */
.vbz-currency-switcher select,
.vbz-currency-fallback select{
    height:42px !important;
    min-height:42px !important;
    border-radius:13px !important;
    border:1px solid #ddd !important;
    background:#fff !important;
    color:#333 !important;
    font-size:15px !important;
    font-weight:700 !important;
    box-shadow:none !important;
}

@media(max-width:900px){
    .vbz-currency-switcher{
        border-radius:18px !important;
        width:100% !important;
    }

    .vbz-currency-switcher .dd-container,
    .vbz-currency-switcher .dd-select{
        width:100% !important;
    }
}


/* VBZ V14 */

.vbz-currency-switcher small,
.vbz-currency-switcher .dd-selected small,
.vbz-currency-switcher .dd-option small{
    display:none !important;
}

.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .dd-selected-text{
    line-height:42px !important;
    height:42px !important;
    display:flex !important;
    align-items:center !important;
}

.vbz-shop-date-form{
    display:flex;
    align-items:center;
    gap:10px;
    background:#fff;
    border:1px solid #eee;
    border-radius:18px;
    padding:10px 12px;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.vbz-date-box{
    display:flex;
    align-items:center;
    gap:8px;
    height:42px;
    border:1px solid #ddd;
    border-radius:13px;
    padding:0 12px;
    background:#fff;
}

.vbz-date-box i{
    color:#173f2b;
}

.vbz-date-box input{
    border:0 !important;
    background:transparent !important;
    outline:none !important;
    box-shadow:none !important;
    font-size:14px;
    font-weight:700;
    color:#333;
    padding:0 !important;
}

.vbz-date-submit{
    height:42px;
    border:0;
    border-radius:13px;
    background:#173f2b;
    color:#fff;
    padding:0 16px;
    font-weight:800;
    cursor:pointer;
}

@media(max-width:900px){

    .vbz-shop-date-form{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

    .vbz-date-box{
        width:100%;
    }

    .vbz-date-submit{
        width:100%;
    }
}


/* VBZ V15 - Toolbar, Currency and Date UX polish */

/* Todos los bloques superiores con misma altura visual */
.vbz-shop-toolbar{
    align-items:stretch !important;
    gap:12px !important;
}

.vbz-currency-switcher,
.vbz-shop-order-form,
.vbz-shop-date-form{
    min-height:64px !important;
    height:64px !important;
    border-radius:20px !important;
    background:#fff !important;
    border:1px solid #eee !important;
    box-shadow:0 8px 24px rgba(0,0,0,.04) !important;
    padding:10px 14px !important;
    box-sizing:border-box !important;
}

/* MONEDA: texto legible y sin abreviar raro */
.vbz-currency-switcher{
    min-width:270px !important;
    max-width:none !important;
    overflow:visible !important;
}

.vbz-currency-switcher,
.vbz-currency-switcher *{
    color:#333 !important;
}

.vbz-currency-label{
    color:#333 !important;
    white-space:nowrap !important;
}

.vbz-currency-label i{
    color:#173f2b !important;
}

/* FOX/WOOCS interno: altura igual a Ordenar, sin subtítulo y sin blanco */
.vbz-currency-switcher .dd-container,
.vbz-currency-switcher .dd-select{
    min-width:150px !important;
    width:150px !important;
}

.vbz-currency-switcher .dd-select{
    height:42px !important;
    min-height:42px !important;
    border:1px solid #ddd !important;
    border-radius:14px !important;
    background:#fff !important;
    padding:0 34px 0 12px !important;
    display:flex !important;
    align-items:center !important;
}

.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .dd-selected-text,
.vbz-currency-switcher .dd-selected label,
.vbz-currency-switcher .dd-option,
.vbz-currency-switcher .dd-option-text,
.vbz-currency-switcher select,
.vbz-currency-fallback select{
    color:#333 !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:42px !important;
    white-space:nowrap !important;
    text-shadow:none !important;
}

.vbz-currency-switcher .dd-selected small,
.vbz-currency-switcher .dd-option small,
.vbz-currency-switcher small,
.vbz-currency-switcher .description{
    display:none !important;
}

/* FECHAS: estilo moderno y estable */
.vbz-shop-date-form{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-width:520px !important;
}

.vbz-date-title{
    display:flex;
    align-items:center;
    gap:8px;
    color:#333;
    font-size:13px;
    font-weight:850;
    white-space:nowrap;
}

.vbz-date-title i{
    color:#173f2b;
}

.vbz-date-box{
    height:42px !important;
    min-width:145px;
    border:1px solid #ddd !important;
    border-radius:14px !important;
    background:#fff !important;
    padding:0 11px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    box-sizing:border-box !important;
}

.vbz-date-box span{
    color:#777;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

.vbz-date-box input[type="date"]{
    width:110px !important;
    min-width:110px !important;
    height:40px !important;
    border:0 !important;
    background:transparent !important;
    color:#333 !important;
    font-size:13px !important;
    font-weight:800 !important;
    padding:0 !important;
    margin:0 !important;
    outline:none !important;
    box-shadow:none !important;
    line-height:40px !important;
    appearance:auto !important;
    -webkit-appearance:auto !important;
}

.vbz-date-box input[type="date"]::-webkit-calendar-picker-indicator{
    cursor:pointer;
    opacity:.75;
    filter:none;
}

.vbz-date-submit{
    height:42px !important;
    min-width:92px;
    border:0 !important;
    border-radius:14px !important;
    background:#173f2b !important;
    color:#fff !important;
    padding:0 16px !important;
    font-weight:850 !important;
    cursor:pointer !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    align-self:center !important;
    margin:0 !important;
}

.vbz-date-submit i{
    color:#fff !important;
}

/* ORDENAR igualado */
.vbz-shop-order-form{
    align-items:center !important;
}

.vbz-shop-order-form select{
    height:42px !important;
    border-radius:14px !important;
    color:#333 !important;
    background:#fff !important;
}

/* Evita que el date picker/iframe se corte por overflow */
.vbz-shop-toolbar,
.vbz-shop-page,
.vbz-shop-main,
.vbz-shop-map-wrap,
.vbz-shop-layout{
    overflow:visible !important;
}

/* Responsive: apila sin trabarse */
@media(max-width:1180px){
    .vbz-shop-date-form{
        min-width:100% !important;
        width:100% !important;
        flex-wrap:wrap !important;
        height:auto !important;
        min-height:64px !important;
    }
}

@media(max-width:900px){
    body .vbz-shop-toolbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        align-items:stretch !important;
    }

    body .vbz-currency-switcher,
    body .vbz-shop-order-form,
    body .vbz-shop-date-form{
        width:100% !important;
        height:auto !important;
        min-height:64px !important;
        border-radius:20px !important;
    }

    body .vbz-currency-switcher{
        min-width:0 !important;
    }

    body .vbz-currency-switcher .dd-container,
    body .vbz-currency-switcher .dd-select{
        width:100% !important;
        min-width:0 !important;
    }

    body .vbz-shop-date-form{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    body .vbz-date-title{
        justify-content:flex-start;
    }

    body .vbz-date-box{
        width:100% !important;
        min-width:0 !important;
        justify-content:space-between !important;
    }

    body .vbz-date-box input[type="date"]{
        width:auto !important;
        min-width:150px !important;
        text-align:right;
    }

    body .vbz-date-submit{
        width:100% !important;
        min-width:0 !important;
    }

    body .vbz-currency-switcher .dd-selected,
    body .vbz-currency-switcher .dd-selected-text,
    body .vbz-currency-switcher .dd-option,
    body .vbz-currency-switcher select{
        color:#333 !important;
        background:#fff !important;
    }
}


/* VBZ V17 - rollback safe toolbar fix */

/* Barra superior estable: una sola línea en PC */
.vbz-shop-toolbar{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    flex-wrap:nowrap !important;
    margin-bottom:22px !important;
    overflow:visible !important;
}

/* Bloques compactos, no tarjetas gigantes */
.vbz-shop-toolbar > .vbz-shop-order-form,
.vbz-shop-toolbar > .vbz-currency-switcher,
.vbz-shop-toolbar > .vbz-shop-date-form{
    height:62px !important;
    min-height:62px !important;
    width:auto !important;
    flex:0 0 auto !important;
    margin:0 !important;
    box-sizing:border-box !important;
}

/* Orden primero y compacto */
.vbz-shop-order-form{
    min-width:300px !important;
    max-width:330px !important;
    justify-content:space-between !important;
}

/* Moneda compacta */
.vbz-currency-switcher{
    min-width:245px !important;
    max-width:270px !important;
    justify-content:space-between !important;
}

/* Fecha ocupa el resto sin romper */
.vbz-shop-date-form{
    flex:1 1 auto !important;
    min-width:520px !important;
    max-width:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
}

/* Fecha interna prolija */
.vbz-date-title{
    white-space:nowrap !important;
    min-width:max-content !important;
}

.vbz-date-box{
    min-width:150px !important;
    width:170px !important;
    flex:0 0 170px !important;
}

.vbz-date-submit{
    min-width:105px !important;
    flex:0 0 auto !important;
    margin:0 !important;
    align-self:center !important;
}

/* Evita que el selector moneda quede blanco */
.vbz-currency-switcher,
.vbz-currency-switcher *,
.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .dd-selected-text,
.vbz-currency-switcher .dd-option,
.vbz-currency-switcher select{
    color:#333 !important;
}

/* Oculta subtítulos de moneda */
.vbz-currency-switcher small,
.vbz-currency-switcher .dd-selected small,
.vbz-currency-switcher .dd-option small{
    display:none !important;
}

/* Layout principal queda como antes */
@media(min-width:901px){
    body .vbz-shop-layout{
        display:flex !important;
        align-items:flex-start !important;
        gap:24px !important;
        width:100% !important;
    }

    body .vbz-shop-sidebar{
        flex:0 0 310px !important;
        width:310px !important;
        max-width:310px !important;
    }

    body .vbz-shop-main{
        flex:1 1 auto !important;
        min-width:0 !important;
        width:auto !important;
        max-width:none !important;
    }

    body .vbz-shop-map-wrap,
    body .vbz-shop-results{
        width:100% !important;
        max-width:100% !important;
    }
}

/* Desktop chico: permite wrap controlado, no rompe */
@media(min-width:901px) and (max-width:1250px){
    .vbz-shop-toolbar{
        flex-wrap:wrap !important;
    }

    .vbz-shop-date-form{
        flex-basis:100% !important;
        min-width:100% !important;
    }
}

/* Mobile: apilado limpio */
@media(max-width:900px){
    .vbz-shop-toolbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .vbz-shop-toolbar > .vbz-shop-order-form,
    .vbz-shop-toolbar > .vbz-currency-switcher,
    .vbz-shop-toolbar > .vbz-shop-date-form{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:auto !important;
        min-height:62px !important;
    }

    .vbz-shop-date-form{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .vbz-date-box{
        width:100% !important;
        min-width:0 !important;
        flex:unset !important;
    }

    .vbz-date-submit{
        width:100% !important;
    }
}


/* VBZ V18 - Toolbar final structure + card polish */

/* Ordenar arriba, chico, al costado superior derecho */
.vbz-shop-order-row{
    width:100% !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    margin:0 0 12px !important;
}

.vbz-shop-order-row .vbz-shop-order-form{
    width:auto !important;
    min-width:315px !important;
    max-width:360px !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
}

/* La barra de moneda + fecha ocupa todo el ancho */
.vbz-shop-toolbar{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 22px !important;
    display:block !important;
    overflow:visible !important;
}

.vbz-toolbar-filterbar{
    width:100% !important;
    min-height:66px !important;
    background:#fff !important;
    border:1px solid #eee !important;
    border-radius:22px !important;
    box-shadow:0 8px 24px rgba(0,0,0,.04) !important;
    padding:10px 12px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

/* Sacar tarjetas internas rígidas dentro de la barra */
.vbz-toolbar-filterbar .vbz-currency-switcher,
.vbz-toolbar-filterbar .vbz-shop-date-form{
    box-shadow:none !important;
    border:0 !important;
    background:transparent !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 !important;
    margin:0 !important;
}

.vbz-toolbar-filterbar .vbz-currency-switcher{
    flex:0 0 255px !important;
    min-width:255px !important;
    max-width:255px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.vbz-toolbar-filterbar .vbz-shop-date-form{
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.vbz-date-title{
    white-space:nowrap !important;
    height:46px !important;
    display:flex !important;
    align-items:center !important;
    margin:0 !important;
}

.vbz-date-box{
    height:46px !important;
    flex:1 1 170px !important;
    min-width:160px !important;
    border-radius:16px !important;
    display:flex !important;
    align-items:center !important;
}

.vbz-date-submit{
    height:46px !important;
    min-width:112px !important;
    align-self:center !important;
    margin:0 !important;
    transform:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#173f2b !important;
    color:#fff !important;
}

/* Moneda mobile/desktop legible */
.vbz-currency-switcher,
.vbz-currency-switcher *,
.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .dd-selected-text,
.vbz-currency-switcher .dd-option,
.vbz-currency-switcher .dd-option-text,
.vbz-currency-switcher select{
    color:#333 !important;
    background-color:transparent !important;
    text-shadow:none !important;
}

.vbz-currency-switcher .dd-select,
.vbz-currency-switcher select,
.vbz-currency-fallback select{
    background:#fff !important;
    color:#333 !important;
    border:1px solid #ddd !important;
    border-radius:16px !important;
    height:44px !important;
    min-height:44px !important;
}

.vbz-currency-switcher .dd-options{
    background:#fff !important;
    z-index:999999 !important;
}

.vbz-currency-switcher .dd-option,
.vbz-currency-switcher .dd-option *{
    background:#fff !important;
    color:#333 !important;
}

.vbz-currency-switcher .dd-option:hover,
.vbz-currency-switcher .dd-option:hover *{
    background:#f6f6f6 !important;
    color:#173f2b !important;
}

/* Cards: imagen pegada arriba y siguiendo borde redondeado */
.vbz-shop-card{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    min-height:520px !important;
    border-radius:28px !important;
    overflow:hidden !important;
}

.vbz-card-image{
    margin:0 !important;
    border-radius:0 !important;
    height:245px !important;
    min-height:245px !important;
    flex:0 0 245px !important;
    width:100% !important;
}

.vbz-card-image img{
    border-radius:0 !important;
    display:block !important;
}

/* Todas las cards mismas proporciones */
.vbz-card-body{
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
}

.vbz-card-excerpt{
    font-size:13px !important;
    line-height:1.45 !important;
    color:#777 !important;
    min-height:38px !important;
}

.vbz-card-footer{
    margin-top:auto !important;
}

/* Botón ver detalle verde con flecha */
.vbz-card-button{
    background:#18864b !important;
    color:#fff !important;
    gap:8px !important;
}

.vbz-card-button i{
    color:#fff !important;
    font-size:12px !important;
}

/* Grilla estable */
.vbz-shop-results{
    align-items:stretch !important;
}

.vbz-shop-results .vbz-shop-card{
    width:100% !important;
}

/* PC */
@media(min-width:901px){
    body .vbz-shop-layout{
        display:flex !important;
        align-items:flex-start !important;
        gap:24px !important;
        width:100% !important;
    }

    body .vbz-shop-sidebar{
        flex:0 0 310px !important;
        width:310px !important;
        max-width:310px !important;
    }

    body .vbz-shop-main{
        flex:1 1 auto !important;
        min-width:0 !important;
        width:auto !important;
        max-width:none !important;
    }

    body .vbz-shop-results{
        grid-template-columns:repeat(3,minmax(240px,1fr)) !important;
    }
}

/* PC chico */
@media(min-width:901px) and (max-width:1250px){
    .vbz-toolbar-filterbar{
        flex-wrap:wrap !important;
    }

    .vbz-toolbar-filterbar .vbz-currency-switcher{
        flex:0 0 255px !important;
    }

    .vbz-toolbar-filterbar .vbz-shop-date-form{
        flex:1 1 100% !important;
    }
}

/* Mobile */
@media(max-width:900px){
    .vbz-shop-order-row{
        justify-content:stretch !important;
    }

    .vbz-shop-order-row .vbz-shop-order-form{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .vbz-toolbar-filterbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        min-height:0 !important;
        padding:12px !important;
    }

    .vbz-toolbar-filterbar .vbz-currency-switcher,
    .vbz-toolbar-filterbar .vbz-shop-date-form{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:auto !important;
        min-height:46px !important;
        flex:unset !important;
    }

    .vbz-toolbar-filterbar .vbz-shop-date-form{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .vbz-date-box,
    .vbz-date-submit{
        width:100% !important;
        min-width:0 !important;
    }

    .vbz-card-image{
        height:240px !important;
        min-height:240px !important;
        flex-basis:240px !important;
    }

    .vbz-shop-card{
        min-height:500px !important;
    }
}


/* VBZ V19 - final visual fixes */

/* PC toolbar: ordenar separado arriba, barra estable debajo */
.vbz-shop-order-row{
    width:100% !important;
    display:flex !important;
    justify-content:flex-end !important;
    margin:0 0 12px !important;
}

.vbz-shop-order-row .vbz-shop-order-form{
    width:330px !important;
    min-width:330px !important;
    height:58px !important;
    min-height:58px !important;
}

.vbz-shop-toolbar{
    width:100% !important;
    margin:0 0 22px !important;
    display:block !important;
}

.vbz-toolbar-filterbar{
    width:100% !important;
    min-height:64px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:10px 12px !important;
    border:1px solid #eee !important;
    border-radius:22px !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(0,0,0,.04) !important;
}

.vbz-toolbar-filterbar .vbz-currency-switcher{
    flex:0 0 245px !important;
    max-width:245px !important;
    min-width:245px !important;
    height:46px !important;
    min-height:46px !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 !important;
}

.vbz-toolbar-filterbar .vbz-shop-date-form{
    flex:1 1 auto !important;
    height:46px !important;
    min-height:46px !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.vbz-date-title{
    height:46px !important;
    display:flex !important;
    align-items:center !important;
    white-space:nowrap !important;
}

.vbz-date-box{
    height:46px !important;
    min-height:46px !important;
    flex:1 1 180px !important;
    border-radius:16px !important;
}

.vbz-date-box input[type="text"],
.vbz-date-box input.vbz-date-input{
    width:100% !important;
    height:44px !important;
    border:0 !important;
    background:transparent !important;
    color:#333 !important;
    font-size:14px !important;
    font-weight:800 !important;
    outline:none !important;
    box-shadow:none !important;
}

.vbz-date-submit{
    height:46px !important;
    min-width:116px !important;
    border-radius:16px !important;
    background:#18864b !important;
    color:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
    margin:0 !important;
    transform:none !important;
}

.vbz-date-submit i{
    color:#fff !important;
}

/* Moneda: dropdown y texto SIEMPRE oscuro en mobile/desktop */
.vbz-currency-switcher,
.vbz-currency-switcher *,
.vbz-currency-switcher .dd-container,
.vbz-currency-switcher .dd-select,
.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .dd-selected-text,
.vbz-currency-switcher .dd-options,
.vbz-currency-switcher .dd-option,
.vbz-currency-switcher .dd-option *,
.vbz-currency-switcher select,
.vbz-currency-switcher option{
    color:#222 !important;
    text-shadow:none !important;
}

.vbz-currency-switcher .dd-options,
.vbz-currency-switcher .dd-option{
    background:#fff !important;
}

.vbz-currency-switcher .dd-option:hover,
.vbz-currency-switcher .dd-option:hover *{
    background:#f5f7f5 !important;
    color:#173f2b !important;
}

.vbz-currency-switcher .dd-selected small,
.vbz-currency-switcher .dd-option small,
.vbz-currency-switcher small{
    display:none !important;
}

/* Modern calendar */
.flatpickr-calendar{
    border:0 !important;
    border-radius:22px !important;
    box-shadow:0 18px 55px rgba(0,0,0,.16) !important;
    overflow:hidden !important;
    font-family:inherit !important;
    z-index:9999999 !important;
}

.flatpickr-months{
    background:#fff !important;
}

.flatpickr-current-month{
    font-size:15px !important;
    font-weight:900 !important;
}

.flatpickr-weekday{
    color:#173f2b !important;
    font-weight:900 !important;
}

.flatpickr-day{
    border-radius:12px !important;
    font-weight:700 !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange{
    background:#18864b !important;
    border-color:#18864b !important;
    color:#fff !important;
}

.flatpickr-day.today{
    border-color:#18864b !important;
}

/* Cards: imagen pegada al borde superior real */
.vbz-shop-card{
    padding:0 !important;
    border-radius:28px !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:500px !important;
}

.vbz-card-image{
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    height:245px !important;
    min-height:245px !important;
    flex:0 0 245px !important;
    border-radius:28px 28px 0 0 !important;
    overflow:hidden !important;
    display:block !important;
}

.vbz-card-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:0 !important;
}

.vbz-card-heart{
    top:14px !important;
    right:14px !important;
}

.vbz-card-body{
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
}

.vbz-card-excerpt{
    font-size:13px !important;
    line-height:1.45 !important;
    color:#777 !important;
}

.vbz-card-footer{
    margin-top:auto !important;
}

.vbz-card-button{
    background:#18864b !important;
    color:#fff !important;
    gap:8px !important;
}

.vbz-card-button i{
    color:#fff !important;
}

/* PC: 3 cards por línea */
@media(min-width:901px){
    body .vbz-shop-results{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(240px,1fr)) !important;
        gap:24px !important;
        align-items:stretch !important;
    }
}

/* Mobile: menos separación y 2 cards por línea */
@media(max-width:900px){
    body .vbz-toolbar-filterbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        padding:12px !important;
    }

    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:46px !important;
        min-height:46px !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        width:100% !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        height:auto !important;
    }

    body .vbz-date-title{
        margin-top:0 !important;
        height:34px !important;
    }

    body .vbz-date-box{
        width:100% !important;
        height:50px !important;
        min-height:50px !important;
    }

    body .vbz-date-submit{
        width:100% !important;
        height:54px !important;
    }

    body .vbz-shop-results{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:14px !important;
    }

    body .vbz-shop-card{
        min-height:390px !important;
        border-radius:22px !important;
    }

    body .vbz-card-image{
        height:155px !important;
        min-height:155px !important;
        flex-basis:155px !important;
        border-radius:22px 22px 0 0 !important;
    }

    body .vbz-card-body{
        padding:12px !important;
    }

    body .vbz-card-cat{
        font-size:11px !important;
        padding:6px 9px !important;
        margin-bottom:8px !important;
    }

    body .vbz-card-title{
        font-size:15px !important;
        line-height:1.2 !important;
        margin-bottom:7px !important;
    }

    body .vbz-card-excerpt{
        font-size:11px !important;
        line-height:1.35 !important;
        max-height:45px !important;
        overflow:hidden !important;
    }

    body .vbz-card-rating{
        font-size:11px !important;
        gap:4px !important;
        flex-wrap:wrap !important;
    }

    body .vbz-card-price{
        font-size:15px !important;
    }

    body .vbz-card-button{
        width:100% !important;
        height:38px !important;
        font-size:12px !important;
        padding:0 10px !important;
    }
}


/* VBZ V20 - 7 puntos corregidos sin tocar lógica */

/* 1 y 5 PC: barra moneda/fecha alineada con filtros + mismo margen que layout */
@media(min-width:901px){
    body .vbz-shop-toolbar,
    body .vbz-shop-order-row{
        width:100% !important;
        max-width:100% !important;
        padding-left:0 !important;
        padding-right:0 !important;
        box-sizing:border-box !important;
    }

    body .vbz-toolbar-filterbar{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        box-sizing:border-box !important;
    }

    body .vbz-shop-layout{
        width:100% !important;
        max-width:100% !important;
    }
}

/* 3 y 7: botón buscar centrado y verde */
.vbz-date-submit{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    align-self:center !important;
    justify-self:end !important;
    margin:0 !important;
    height:46px !important;
    min-height:46px !important;
    line-height:46px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#18864b !important;
    color:#fff !important;
    border-radius:16px !important;
    padding:0 18px !important;
}

.vbz-date-submit *,
.vbz-date-submit i{
    color:#fff !important;
}

/* 5 mobile: moneda texto negro en selector cerrado y desplegado */
.vbz-currency-switcher,
.vbz-currency-switcher *,
.vbz-currency-switcher a,
.vbz-currency-switcher span,
.vbz-currency-switcher label,
.vbz-currency-switcher li,
.vbz-currency-switcher div,
.vbz-currency-switcher select,
.vbz-currency-switcher option,
.vbz-currency-switcher .dd-selected,
.vbz-currency-switcher .dd-selected *,
.vbz-currency-switcher .dd-selected-text,
.vbz-currency-switcher .dd-options,
.vbz-currency-switcher .dd-options *,
.vbz-currency-switcher .dd-option,
.vbz-currency-switcher .dd-option *,
.vbz-currency-switcher .select2-selection__rendered,
.vbz-currency-switcher .chosen-single,
.vbz-currency-switcher .chosen-single span{
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    text-shadow:none !important;
}

.vbz-currency-switcher .dd-options,
.vbz-currency-switcher .dd-option,
.vbz-currency-switcher .select2-dropdown,
.vbz-currency-switcher .chosen-drop{
    background:#fff !important;
}

/* 2 y 6: calendario moderno + no envía vacío. Flatpickr input */
.vbz-date-box .flatpickr-input,
.vbz-date-box input.vbz-date-input{
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    opacity:1 !important;
}

.vbz-date-box .flatpickr-input::placeholder,
.vbz-date-box input.vbz-date-input::placeholder{
    color:#777 !important;
    -webkit-text-fill-color:#777 !important;
}

/* 4 y 7: imagen realmente pegada al borde superior de la card */
.vbz-shop-card{
    padding-top:0 !important;
    overflow:hidden !important;
    border-radius:28px !important;
    background:#fff !important;
}

.vbz-shop-card > .vbz-card-image:first-child{
    margin-top:0 !important;
}

.vbz-card-image{
    position:relative !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    border-radius:28px 28px 0 0 !important;
    overflow:hidden !important;
    background:#eee !important;
}

.vbz-card-image img{
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    border-radius:0 !important;
}

/* Mata padding/margen fantasma de theme sobre links/imagenes */
.vbz-shop-card a.vbz-card-image,
.vbz-shop-card a.vbz-card-image:before,
.vbz-shop-card a.vbz-card-image:after{
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
}

/* PC cards 3 por línea, 15 por página ya viene desde PHP */
@media(min-width:901px){
    body .vbz-shop-results{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:24px !important;
    }

    body .vbz-card-image{
        height:245px !important;
        min-height:245px !important;
        flex-basis:245px !important;
    }
}

/* Mobile: menos separación moneda/fecha y 2 cards por línea */
@media(max-width:900px){
    body .vbz-toolbar-filterbar{
        gap:6px !important;
        row-gap:8px !important;
        padding:12px !important;
    }

    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        margin-bottom:0 !important;
        padding-bottom:0 !important;
    }

    body .vbz-date-title{
        margin-top:0 !important;
        padding-top:0 !important;
        height:30px !important;
        min-height:30px !important;
    }

    body .vbz-shop-results{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:12px !important;
    }

    body .vbz-shop-card{
        min-height:380px !important;
        border-radius:22px !important;
        overflow:hidden !important;
        padding-top:0 !important;
    }

    body .vbz-card-image{
        height:150px !important;
        min-height:150px !important;
        flex-basis:150px !important;
        border-radius:22px 22px 0 0 !important;
    }

    body .vbz-card-body{
        padding:11px !important;
    }

    body .vbz-date-submit{
        width:100% !important;
        height:52px !important;
        min-height:52px !important;
        justify-self:stretch !important;
    }
}


/* VBZ V21 - fecha duplicada, botón centrado, moneda mobile negra */

/* Fechas sin doble texto */
.vbz-date-box span{
    display:none !important;
}

/* PC: barra de fecha alineada y botón centrado verticalmente */
@media(min-width:901px){
    .vbz-toolbar-filterbar .vbz-shop-date-form{
        display:grid !important;
        grid-template-columns:auto minmax(170px,1fr) minmax(170px,1fr) 116px !important;
        align-items:center !important;
        gap:10px !important;
    }

    .vbz-date-box{
        width:100% !important;
        min-width:0 !important;
        height:46px !important;
        display:flex !important;
        align-items:center !important;
    }

    .vbz-date-submit{
        width:116px !important;
        height:46px !important;
        min-height:46px !important;
        align-self:center !important;
        justify-self:end !important;
        margin:0 !important;
        top:auto !important;
        transform:none !important;
    }
}

/* Mobile/WOOCS: fuerza texto negro también cuando el plugin usa estilos inline */
@media(max-width:900px){
    .vbz-currency-switcher,
    .vbz-currency-switcher *,
    .vbz-currency-switcher a,
    .vbz-currency-switcher span,
    .vbz-currency-switcher label,
    .vbz-currency-switcher div,
    .vbz-currency-switcher li,
    .vbz-currency-switcher p,
    .vbz-currency-switcher small,
    .vbz-currency-switcher select,
    .vbz-currency-switcher option,
    .vbz-currency-switcher .dd-selected,
    .vbz-currency-switcher .dd-selected *,
    .vbz-currency-switcher .dd-selected-text,
    .vbz-currency-switcher .dd-options,
    .vbz-currency-switcher .dd-options *,
    .vbz-currency-switcher .dd-option,
    .vbz-currency-switcher .dd-option *,
    .vbz-currency-switcher .select2-selection__rendered,
    .vbz-currency-switcher .chosen-single,
    .vbz-currency-switcher .chosen-single span{
        color:#111 !important;
        -webkit-text-fill-color:#111 !important;
        text-shadow:none !important;
    }

    .vbz-currency-switcher .dd-select,
    .vbz-currency-switcher .dd-options,
    .vbz-currency-switcher .dd-option,
    .vbz-currency-switcher select{
        background:#fff !important;
    }
}

/* Mensaje de error de fechas */
.vbz-date-error{
    grid-column:1 / -1;
    background:#fff3f1;
    color:#b42318;
    border:1px solid #ffd6d1;
    border-radius:14px;
    padding:10px 12px;
    font-size:13px;
    font-weight:800;
    display:none;
}

.vbz-date-error.is-visible{
    display:block;
}


/* VBZ V22 - FIX REAL buscar PC + moneda mobile */

/* Reset fuerte del formulario de fecha para que el botón NO flote */
.vbz-toolbar-filterbar .vbz-shop-date-form,
.vbz-shop-date-form{
    position:relative !important;
}

@media(min-width:901px){

    body .vbz-toolbar-filterbar{
        display:grid !important;
        grid-template-columns:245px minmax(0,1fr) !important;
        align-items:center !important;
        gap:12px !important;
    }

    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        grid-column:1 !important;
        width:245px !important;
        min-width:245px !important;
        max-width:245px !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        grid-column:2 !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        height:46px !important;
        min-height:46px !important;
        display:grid !important;
        grid-template-columns:auto minmax(170px,1fr) minmax(170px,1fr) 118px !important;
        align-items:center !important;
        gap:10px !important;
        padding:0 !important;
        margin:0 !important;
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
        overflow:visible !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-title{
        grid-column:1 !important;
        position:static !important;
        margin:0 !important;
        height:46px !important;
        min-height:46px !important;
        display:flex !important;
        align-items:center !important;
        white-space:nowrap !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-box{
        position:static !important;
        height:46px !important;
        min-height:46px !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        display:flex !important;
        align-items:center !important;
        box-sizing:border-box !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-box:nth-of-type(1){
        grid-column:2 !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-box:nth-of-type(2){
        grid-column:3 !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-submit{
        grid-column:4 !important;
        position:static !important;
        float:none !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;
        transform:none !important;
        width:118px !important;
        min-width:118px !important;
        max-width:118px !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 16px !important;
        align-self:center !important;
        justify-self:end !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:#18864b !important;
        color:#fff !important;
        border:0 !important;
        border-radius:16px !important;
        line-height:46px !important;
        box-sizing:border-box !important;
        z-index:1 !important;
    }
}

/* Mobile moneda: tapa estilos inline del plugin. El texto blanco era del dropdown interno */
@media(max-width:900px){

    body .vbz-currency-switcher,
    body .vbz-currency-switcher *,
    body .vbz-currency-switcher *::before,
    body .vbz-currency-switcher *::after{
        color:#111 !important;
        -webkit-text-fill-color:#111 !important;
        text-shadow:none !important;
    }

    body .vbz-currency-switcher .dd-container,
    body .vbz-currency-switcher .dd-select,
    body .vbz-currency-switcher .dd-selected,
    body .vbz-currency-switcher .dd-options,
    body .vbz-currency-switcher .dd-option,
    body .vbz-currency-switcher .dd-option *,
    body .vbz-currency-switcher select,
    body .vbz-currency-switcher option{
        background:#fff !important;
        color:#111 !important;
        -webkit-text-fill-color:#111 !important;
    }

    body .vbz-currency-switcher .dd-options{
        z-index:99999999 !important;
    }

    body .vbz-currency-switcher .dd-selected-text,
    body .vbz-currency-switcher .dd-option-text,
    body .vbz-currency-switcher .dd-option label,
    body .vbz-currency-switcher .dd-option span{
        color:#111 !important;
        -webkit-text-fill-color:#111 !important;
    }
}

/* Error de fecha debajo de la barra, no dentro del botón */
@media(min-width:901px){
    .vbz-date-error{
        grid-column:1 / -1 !important;
        margin-top:6px !important;
    }
}


/* VBZ V23 - currency clean + buscar alignment final */

/* Moneda: reemplaza visual de FOX/WOOCS por select propio limpio, texto negro */
.vbz-currency-clean{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
}

.vbz-currency-clean-form{
    margin:0 !important;
    padding:0 !important;
    display:block !important;
}

.vbz-currency-clean select{
    height:44px !important;
    min-height:44px !important;
    min-width:126px !important;
    border:1px solid #ddd !important;
    border-radius:16px !important;
    background:#fff !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    font-size:14px !important;
    font-weight:850 !important;
    padding:0 34px 0 14px !important;
    box-shadow:none !important;
    text-shadow:none !important;
}

.vbz-currency-clean select option{
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    background:#fff !important;
}

/* desde 769px lo tratamos como PC para notebooks chicos */
@media(min-width:769px){

    body .vbz-toolbar-filterbar{
        display:grid !important;
        grid-template-columns:245px minmax(0,1fr) !important;
        align-items:center !important;
        gap:12px !important;
        width:100% !important;
        max-width:100% !important;
    }

    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        grid-column:1 !important;
        grid-row:1 !important;
        width:245px !important;
        min-width:245px !important;
        max-width:245px !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        grid-column:2 !important;
        grid-row:1 !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        display:grid !important;
        grid-template-columns:auto minmax(170px,1fr) minmax(170px,1fr) 118px !important;
        grid-template-rows:46px !important;
        align-items:center !important;
        gap:10px !important;
        overflow:visible !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-title{
        grid-column:1 !important;
        grid-row:1 !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        white-space:nowrap !important;
        position:static !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-box{
        grid-row:1 !important;
        height:46px !important;
        min-height:46px !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 12px !important;
        display:flex !important;
        align-items:center !important;
        position:static !important;
        box-sizing:border-box !important;
        float:none !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-box:nth-of-type(1){
        grid-column:2 !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-box:nth-of-type(2){
        grid-column:3 !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-submit{
        grid-column:4 !important;
        grid-row:1 !important;
        position:static !important;
        float:none !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:118px !important;
        min-width:118px !important;
        max-width:118px !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;
        transform:none !important;
        align-self:center !important;
        justify-self:end !important;
        background:#18864b !important;
        color:#fff !important;
        border:0 !important;
        border-radius:16px !important;
        line-height:1 !important;
        box-sizing:border-box !important;
        z-index:auto !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-submit i,
    body .vbz-toolbar-filterbar .vbz-date-submit span{
        color:#fff !important;
    }
}

/* Mobile real */
@media(max-width:768px){
    body .vbz-toolbar-filterbar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
        row-gap:8px !important;
    }

    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
    }

    body .vbz-currency-clean select,
    body .vbz-currency-clean select option{
        color:#111 !important;
        -webkit-text-fill-color:#111 !important;
        background:#fff !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-title{
        height:30px !important;
        min-height:30px !important;
        margin:0 !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-box{
        width:100% !important;
        height:50px !important;
        min-height:50px !important;
        margin:0 !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-submit{
        width:100% !important;
        height:52px !important;
        min-height:52px !important;
        margin:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:#18864b !important;
        color:#fff !important;
    }
}


/* VBZ V24 - PC toolbar final: moneda + fecha en una línea correcta */

/* Reset fuerte de la barra para anular reglas anteriores acumuladas */
@media(min-width:769px){

    body .vbz-shop-toolbar{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 0 22px !important;
        padding:0 !important;
        overflow:visible !important;
    }

    body .vbz-toolbar-filterbar{
        width:100% !important;
        max-width:100% !important;
        min-height:64px !important;
        padding:10px 12px !important;
        margin:0 !important;
        box-sizing:border-box !important;
        display:grid !important;
        grid-template-columns:240px 1fr !important;
        gap:14px !important;
        align-items:center !important;
        background:#fff !important;
        border:1px solid #eee !important;
        border-radius:22px !important;
        box-shadow:0 8px 24px rgba(0,0,0,.04) !important;
    }

    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        grid-column:1 !important;
        grid-row:1 !important;
        width:240px !important;
        min-width:240px !important;
        max-width:240px !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
    }

    body .vbz-currency-clean-form,
    body .vbz-currency-clean-form select{
        margin:0 !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        grid-column:2 !important;
        grid-row:1 !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        display:grid !important;
        grid-template-columns:auto minmax(160px,1fr) minmax(160px,1fr) 118px !important;
        grid-template-areas:"title from to search" !important;
        gap:10px !important;
        align-items:center !important;
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
        overflow:visible !important;
    }

    body .vbz-shop-date-form .vbz-date-title{
        grid-area:title !important;
        width:auto !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        white-space:nowrap !important;
        position:static !important;
    }

    body .vbz-shop-date-form .vbz-date-box{
        height:46px !important;
        min-height:46px !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 12px !important;
        display:flex !important;
        align-items:center !important;
        position:static !important;
        box-sizing:border-box !important;
        float:none !important;
    }

    /* corrige inversión Desde/Hasta usando el orden real del HTML */
    body .vbz-shop-date-form .vbz-date-title + .vbz-date-box{
        grid-area:from !important;
    }

    body .vbz-shop-date-form .vbz-date-title + .vbz-date-box + .vbz-date-box{
        grid-area:to !important;
    }

    body .vbz-shop-date-form .vbz-date-submit{
        grid-area:search !important;
        width:118px !important;
        min-width:118px !important;
        max-width:118px !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        position:static !important;
        float:none !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;
        transform:none !important;
        align-self:center !important;
        justify-self:end !important;
        background:#18864b !important;
        color:#fff !important;
        border-radius:16px !important;
        border:0 !important;
        line-height:1 !important;
        z-index:1 !important;
    }

    body .vbz-shop-date-form .vbz-date-submit i{
        color:#fff !important;
    }
}

/* Notebooks angostos: que no se rompa, fecha baja entera */
@media(min-width:769px) and (max-width:1120px){
    body .vbz-toolbar-filterbar{
        grid-template-columns:240px 1fr !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        grid-template-columns:auto minmax(135px,1fr) minmax(135px,1fr) 108px !important;
    }

    body .vbz-shop-date-form .vbz-date-submit{
        width:108px !important;
        min-width:108px !important;
        max-width:108px !important;
    }
}

/* Mobile: solo BRL/USD ya viene desde PHP, mantiene negro */
@media(max-width:768px){
    body .vbz-currency-clean select,
    body .vbz-currency-clean select option{
        color:#111 !important;
        -webkit-text-fill-color:#111 !important;
        background:#fff !important;
    }
}


/* VBZ V25 - FIX DEFINITIVO BOTÓN BUSCAR PC */

/*
   Causa del error:
   En notebooks/Chrome con zoom, el grid anterior no tenía ancho suficiente
   y el botón saltaba a una segunda línea. Este fix reserva espacio fijo
   para el botón y lo posiciona dentro del formulario, a la derecha.
*/
@media(min-width:769px){

    body .vbz-toolbar-filterbar{
        display:grid !important;
        grid-template-columns:240px minmax(0,1fr) !important;
        gap:14px !important;
        align-items:center !important;
        width:100% !important;
        max-width:100% !important;
        overflow:visible !important;
    }

    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        grid-column:1 !important;
        width:240px !important;
        min-width:240px !important;
        max-width:240px !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        grid-column:2 !important;
        position:relative !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 128px 0 0 !important;
        display:grid !important;
        grid-template-columns:auto minmax(120px,1fr) minmax(120px,1fr) !important;
        grid-template-areas:"title from to" !important;
        gap:10px !important;
        align-items:center !important;
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }

    body .vbz-shop-date-form .vbz-date-title{
        grid-area:title !important;
        height:46px !important;
        min-height:46px !important;
        display:flex !important;
        align-items:center !important;
        white-space:nowrap !important;
        margin:0 !important;
        padding:0 !important;
        position:static !important;
    }

    body .vbz-shop-date-form .vbz-date-title + .vbz-date-box{
        grid-area:from !important;
    }

    body .vbz-shop-date-form .vbz-date-title + .vbz-date-box + .vbz-date-box{
        grid-area:to !important;
    }

    body .vbz-shop-date-form .vbz-date-box{
        height:46px !important;
        min-height:46px !important;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 12px !important;
        display:flex !important;
        align-items:center !important;
        position:static !important;
        float:none !important;
        box-sizing:border-box !important;
    }

    body .vbz-shop-date-form .vbz-date-submit{
        position:absolute !important;
        right:0 !important;
        top:0 !important;
        left:auto !important;
        bottom:auto !important;
        transform:none !important;
        width:118px !important;
        min-width:118px !important;
        max-width:118px !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:#18864b !important;
        color:#fff !important;
        border:0 !important;
        border-radius:16px !important;
        line-height:1 !important;
        z-index:5 !important;
        box-sizing:border-box !important;
    }

    body .vbz-shop-date-form .vbz-date-submit i,
    body .vbz-shop-date-form .vbz-date-submit span{
        color:#fff !important;
    }
}

/* Mantiene mobile apilado y sin absolute */
@media(max-width:768px){
    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        position:static !important;
        padding:0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
    }

    body .vbz-shop-date-form .vbz-date-submit{
        position:static !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }
}


/* VBZ V26 - botón Buscar PC fijado a la barra, no al formulario */

/*
   El botón seguía bajando porque quedaba absoluto respecto del form,
   y el form en algunos anchos toma más alto. Ahora el botón queda absoluto
   respecto de la barra completa .vbz-toolbar-filterbar.
*/
@media(min-width:769px){

    body .vbz-toolbar-filterbar{
        position:relative !important;
        display:grid !important;
        grid-template-columns:240px minmax(0,1fr) !important;
        gap:14px !important;
        align-items:center !important;
        padding:10px 142px 10px 12px !important;
        min-height:66px !important;
        height:auto !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        position:static !important;
        grid-column:2 !important;
        width:100% !important;
        height:46px !important;
        min-height:46px !important;
        padding:0 !important;
        margin:0 !important;
        display:grid !important;
        grid-template-columns:auto minmax(140px,1fr) minmax(140px,1fr) !important;
        grid-template-areas:"title from to" !important;
        gap:10px !important;
        align-items:center !important;
        overflow:visible !important;
        box-sizing:border-box !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-title{
        grid-area:title !important;
        height:46px !important;
        display:flex !important;
        align-items:center !important;
        margin:0 !important;
        position:static !important;
        white-space:nowrap !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-title + .vbz-date-box{
        grid-area:from !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-title + .vbz-date-box + .vbz-date-box{
        grid-area:to !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-box{
        height:46px !important;
        min-height:46px !important;
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        position:static !important;
        display:flex !important;
        align-items:center !important;
        box-sizing:border-box !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-submit{
        position:absolute !important;
        top:50% !important;
        right:12px !important;
        left:auto !important;
        bottom:auto !important;
        transform:translateY(-50%) !important;
        width:118px !important;
        min-width:118px !important;
        max-width:118px !important;
        height:46px !important;
        min-height:46px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:#18864b !important;
        color:#fff !important;
        border:0 !important;
        border-radius:16px !important;
        line-height:1 !important;
        z-index:20 !important;
        box-sizing:border-box !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-submit i,
    body .vbz-toolbar-filterbar .vbz-date-submit span{
        color:#fff !important;
    }
}

/* Mobile mantiene el botón normal abajo */
@media(max-width:768px){
    body .vbz-toolbar-filterbar{
        padding:12px !important;
    }

    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        position:static !important;
        padding:0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        height:auto !important;
    }

    body .vbz-toolbar-filterbar .vbz-date-submit{
        position:static !important;
        transform:none !important;
        width:100% !important;
        max-width:100% !important;
    }
}


/* VBZ V27 - ajuste fino botón buscar PC */

/*
   En tu pantalla el botón quedaba más abajo porque se centraba respecto
   del alto total de la barra. Ahora se alinea con la misma línea superior
   de moneda/fecha: top fijo igual al padding superior de la barra.
*/
@media(min-width:769px){
    body .vbz-toolbar-filterbar .vbz-date-submit{
        top:10px !important;
        right:12px !important;
        transform:none !important;
        align-self:auto !important;
        justify-self:auto !important;
    }
}


/* VBZ V28 - alineación definitiva desktop */

/*
   El problema real:
   - el botón absoluto empujaba el flujo visual
   - moneda heredaba margin-top del theme
   - el formulario no estaba centrado verticalmente

   Solución:
   layout FLEX puro, sin absolute, sin grid roto.
*/

@media(min-width:769px){

    body .vbz-toolbar-filterbar{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:18px !important;
        width:100% !important;
        max-width:100% !important;
        min-height:72px !important;
        padding:12px 16px !important;
        box-sizing:border-box !important;
        overflow:visible !important;
    }

    /* MONEDA */
    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        flex:0 0 260px !important;
        width:260px !important;
        max-width:260px !important;
        min-width:260px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        height:48px !important;
        min-height:48px !important;
        position:relative !important;
        top:auto !important;
        left:auto !important;
        transform:none !important;
    }

    /* BLOQUE FECHA */
    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        flex:1 1 auto !important;
        width:auto !important;
        max-width:none !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:12px !important;
        height:48px !important;
        min-height:48px !important;
        position:relative !important;
        top:auto !important;
        left:auto !important;
        transform:none !important;
        overflow:visible !important;
    }

    body .vbz-shop-date-form .vbz-date-title{
        flex:0 0 auto !important;
        height:48px !important;
        min-height:48px !important;
        margin:0 !important;
        display:flex !important;
        align-items:center !important;
        white-space:nowrap !important;
        position:relative !important;
        top:auto !important;
    }

    body .vbz-shop-date-form .vbz-date-box{
        flex:1 1 240px !important;
        width:auto !important;
        min-width:180px !important;
        max-width:none !important;
        height:48px !important;
        min-height:48px !important;
        margin:0 !important;
        padding:0 14px !important;
        display:flex !important;
        align-items:center !important;
        position:relative !important;
        top:auto !important;
        transform:none !important;
        box-sizing:border-box !important;
    }

    /* BOTÓN */
    body .vbz-shop-date-form .vbz-date-submit{
        flex:0 0 126px !important;
        width:126px !important;
        min-width:126px !important;
        max-width:126px !important;
        height:48px !important;
        min-height:48px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        position:relative !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;
        transform:none !important;
        align-self:center !important;
        background:#18864b !important;
        border-radius:16px !important;
        border:0 !important;
        line-height:1 !important;
        box-sizing:border-box !important;
    }

    body .vbz-shop-date-form .vbz-date-submit,
    body .vbz-shop-date-form .vbz-date-submit span,
    body .vbz-shop-date-form .vbz-date-submit i{
        color:#fff !important;
    }
}

/* mobile intacto */
@media(max-width:768px){
    body .vbz-toolbar-filterbar{
        display:block !important;
    }
}


/* VBZ V29 - corregir altura moneda + boton */

@media(min-width:769px){

    /* barra principal perfectamente centrada */
    body .vbz-toolbar-filterbar{
        display:flex !important;
        align-items:flex-start !important;
        gap:20px !important;
        padding-top:10px !important;
    }

    /* moneda subia/bajaba por herencia */
    body .vbz-toolbar-filterbar .vbz-currency-switcher{
        margin-top:0 !important;
        top:0 !important;
        position:relative !important;
        align-self:flex-start !important;
    }

    body .vbz-toolbar-filterbar .vbz-currency-switcher select,
    body .vbz-toolbar-filterbar .vbz-currency-switcher .select2-selection{
        margin-top:0 !important;
        top:0 !important;
        position:relative !important;
    }

    /* formulario fecha */
    body .vbz-toolbar-filterbar .vbz-shop-date-form{
        align-items:flex-start !important;
        margin-top:0 !important;
        padding-top:0 !important;
    }

    /* botón estaba demasiado arriba */
    body .vbz-shop-date-form .vbz-date-submit{
        position:relative !important;
        top:22px !important;
        margin-top:0 !important;
        align-self:flex-start !important;
    }

    /* inputs misma línea */
    body .vbz-shop-date-form .vbz-date-box{
        position:relative !important;
        top:0 !important;
    }
}


/* ==========================================================
   VBZ V33 CONTROLES LIMPIOS
   Estructura aislada para no heredar offsets viejos.
   ========================================================== */

.vbz-v33-controls,
.vbz-v33-controls *,
.vbz-v33-controls *::before,
.vbz-v33-controls *::after{
    box-sizing:border-box !important;
}

.vbz-v33-controls{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 24px !important;
    padding:0 !important;
    display:block !important;
    clear:both !important;
    overflow:visible !important;
}

/* ORDENAR ARRIBA DERECHA */
.vbz-v33-order{
    width:100% !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    margin:0 0 12px !important;
    padding:0 !important;
}

.vbz-v33-order .vbz-shop-order-form{
    width:330px !important;
    min-width:330px !important;
    max-width:330px !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
    padding:10px 12px !important;
    position:static !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    transform:none !important;
    float:none !important;
}

.vbz-v33-order .vbz-shop-order-form select{
    width:170px !important;
    max-width:170px !important;
    height:42px !important;
    min-height:42px !important;
}

/* BARRA PRINCIPAL */
.vbz-v33-bar{
    width:100% !important;
    max-width:100% !important;
    min-height:68px !important;
    padding:10px 12px !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:260px minmax(0,1fr) !important;
    gap:14px !important;
    align-items:center !important;
    background:#fff !important;
    border:1px solid #eee !important;
    border-radius:22px !important;
    box-shadow:0 8px 24px rgba(0,0,0,.04) !important;
    overflow:visible !important;
    position:relative !important;
}

/* MONEDA AISLADA */
.vbz-v33-currency{
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    position:static !important;
    transform:none !important;
    overflow:visible !important;
}

.vbz-v33-currency .vbz-currency-switcher{
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    float:none !important;
}

.vbz-v33-currency .vbz-currency-label{
    height:48px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    white-space:nowrap !important;
    margin:0 !important;
    padding:0 !important;
    color:#222 !important;
}

.vbz-v33-currency form{
    margin:0 !important;
    padding:0 !important;
    height:44px !important;
}

.vbz-v33-currency select{
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 34px 0 14px !important;
    border:1px solid #ddd !important;
    border-radius:16px !important;
    background:#fff !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    font-size:14px !important;
    font-weight:850 !important;
    line-height:44px !important;
    position:static !important;
    transform:none !important;
}

/* FECHAS + BOTON EN FLUJO NORMAL */
.vbz-v33-date{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:auto minmax(150px,1fr) minmax(150px,1fr) 126px !important;
    gap:10px !important;
    align-items:center !important;
    position:static !important;
    transform:none !important;
    float:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
}

.vbz-v33-date > *{
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    float:none !important;
    margin:0 !important;
}

.vbz-v33-date-label{
    height:48px !important;
    min-height:48px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    white-space:nowrap !important;
    color:#222 !important;
    font-weight:850 !important;
}

.vbz-v33-date-field{
    height:48px !important;
    min-height:48px !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 14px !important;
    border:1px solid #ddd !important;
    border-radius:16px !important;
    background:#fff !important;
    display:flex !important;
    align-items:center !important;
}

.vbz-v33-date-field input{
    width:100% !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    outline:none !important;
    box-shadow:none !important;
    background:transparent !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:46px !important;
}

.vbz-v33-date-button{
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:16px !important;
    background:#18864b !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    font-weight:850 !important;
    line-height:1 !important;
    cursor:pointer !important;
    justify-self:end !important;
    align-self:center !important;
}

.vbz-v33-date-button i,
.vbz-v33-date-button span{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

/* Desktop chico: si no entra, baja TODO el bloque fecha, no rompe piezas */
@media(min-width:769px) and (max-width:1120px){
    .vbz-v33-bar{
        grid-template-columns:260px minmax(0,1fr) !important;
        gap:12px !important;
    }

    .vbz-v33-date{
        grid-template-columns:auto minmax(120px,1fr) minmax(120px,1fr) 116px !important;
        gap:8px !important;
    }

    .vbz-v33-date-button{
        width:116px !important;
        min-width:116px !important;
        max-width:116px !important;
    }
}

/* Mobile */
@media(max-width:768px){
    .vbz-v33-order{
        justify-content:stretch !important;
    }

    .vbz-v33-order .vbz-shop-order-form{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }

    .vbz-v33-bar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
        padding:12px !important;
    }

    .vbz-v33-currency,
    .vbz-v33-currency .vbz-currency-switcher,
    .vbz-v33-date{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }

    .vbz-v33-date{
        display:grid !important;
        grid-template-columns:1fr !important;
        height:auto !important;
        min-height:0 !important;
        gap:8px !important;
    }

    .vbz-v33-date-label{
        height:32px !important;
        min-height:32px !important;
    }

    .vbz-v33-date-field{
        height:52px !important;
        min-height:52px !important;
    }

    .vbz-v33-date-button{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        height:54px !important;
        min-height:54px !important;
    }
}


/* ==========================================================
   VBZ V34 - HARD RESET CONTROLES SUPERIORES
   IMPORTANTE: no usa .vbz-shop-date-form ni .vbz-date-submit
   para evitar todo el CSS viejo acumulado.
   ========================================================== */

.vbz-v34-controls,
.vbz-v34-controls *,
.vbz-v34-controls *::before,
.vbz-v34-controls *::after{
    box-sizing:border-box !important;
}

.vbz-v34-controls{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 24px !important;
    padding:0 !important;
    clear:both !important;
    overflow:visible !important;
}

/* Ordenar arriba a la derecha */
.vbz-v34-order{
    width:100% !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    margin:0 0 12px !important;
    padding:0 !important;
}

.vbz-v34-order .vbz-shop-order-form{
    width:330px !important;
    min-width:330px !important;
    max-width:330px !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
    padding:10px 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    float:none !important;
}

.vbz-v34-order .vbz-shop-order-form select{
    height:42px !important;
    min-height:42px !important;
    max-width:175px !important;
}

/* Barra desktop */
.vbz-v34-bar{
    width:100% !important;
    max-width:100% !important;
    min-height:68px !important;
    margin:0 !important;
    padding:10px 12px !important;
    display:grid !important;
    grid-template-columns:260px minmax(0,1fr) !important;
    column-gap:14px !important;
    align-items:center !important;
    background:#fff !important;
    border:1px solid #eeeeee !important;
    border-radius:22px !important;
    box-shadow:0 8px 24px rgba(0,0,0,.04) !important;
    overflow:visible !important;
}

/* Moneda */
.vbz-v34-currency{
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
    height:48px !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
}

.vbz-v34-currency .vbz-currency-switcher{
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    position:static !important;
    transform:none !important;
    float:none !important;
}

.vbz-v34-currency .vbz-currency-label{
    margin:0 !important;
    padding:0 !important;
    height:48px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    white-space:nowrap !important;
    color:#222 !important;
}

.vbz-v34-currency form{
    margin:0 !important;
    padding:0 !important;
    height:44px !important;
}

.vbz-v34-currency select{
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:44px !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 34px 0 14px !important;
    border:1px solid #ddd !important;
    border-radius:16px !important;
    background:#fff !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    font-size:14px !important;
    font-weight:850 !important;
    line-height:44px !important;
    box-shadow:none !important;
    text-shadow:none !important;
}

/* Fecha desktop: todo en UNA FILA REAL */
.vbz-v34-date-form{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:auto minmax(145px,1fr) minmax(145px,1fr) 126px !important;
    column-gap:10px !important;
    align-items:center !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
    position:static !important;
    transform:none !important;
    float:none !important;
}

/* Reset absoluto de hijos */
.vbz-v34-date-form > *{
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    float:none !important;
    margin:0 !important;
}

.vbz-v34-date-label{
    height:48px !important;
    min-height:48px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    white-space:nowrap !important;
    color:#222 !important;
    font-size:14px !important;
    font-weight:850 !important;
}

.vbz-v34-date-field{
    height:48px !important;
    min-height:48px !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 14px !important;
    border:1px solid #ddd !important;
    border-radius:16px !important;
    background:#fff !important;
    display:flex !important;
    align-items:center !important;
}

.vbz-v34-date-field input{
    width:100% !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    outline:none !important;
    box-shadow:none !important;
    background:transparent !important;
    color:#111 !important;
    -webkit-text-fill-color:#111 !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:46px !important;
}

.vbz-v34-date-button{
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:16px !important;
    background:#18864b !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    font-size:14px !important;
    font-weight:850 !important;
    line-height:1 !important;
    cursor:pointer !important;
}

.vbz-v34-date-button i,
.vbz-v34-date-button span{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

/* Desktop chico */
@media(min-width:769px) and (max-width:1120px){
    .vbz-v34-date-form{
        grid-template-columns:auto minmax(110px,1fr) minmax(110px,1fr) 112px !important;
        column-gap:8px !important;
    }

    .vbz-v34-date-button{
        width:112px !important;
        min-width:112px !important;
        max-width:112px !important;
    }
}

/* Mobile */
@media(max-width:768px){
    .vbz-v34-order{
        justify-content:stretch !important;
    }

    .vbz-v34-order .vbz-shop-order-form{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }

    .vbz-v34-bar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
        padding:12px !important;
    }

    .vbz-v34-currency,
    .vbz-v34-currency .vbz-currency-switcher,
    .vbz-v34-date-form{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }

    .vbz-v34-date-form{
        height:auto !important;
        min-height:0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    .vbz-v34-date-label{
        height:32px !important;
        min-height:32px !important;
    }

    .vbz-v34-date-field{
        height:52px !important;
        min-height:52px !important;
    }

    .vbz-v34-date-button{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        height:54px !important;
        min-height:54px !important;
    }
}


/* ==========================================================
   VBZ V37 - FIX WPAUTOP SOBRE V34
   Causa real: Elementor/WP mete <p> y <br> dentro del form.
   ========================================================== */

.vbz-v34-controls p{
    display:contents !important;
    margin:0 !important;
    padding:0 !important;
}

.vbz-v34-controls br{
    display:none !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
}

.vbz-v34-controls input[type="hidden"]{
    display:none !important;
}

@media(min-width:769px){
    .vbz-v34-date-form{
        display:grid !important;
        grid-template-columns:auto minmax(145px,1fr) minmax(145px,1fr) 126px !important;
        gap:10px !important;
        align-items:center !important;
    }

    .vbz-v34-date-label{
        grid-column:1 !important;
        grid-row:1 !important;
    }

    .vbz-v34-date-field:nth-of-type(1){
        grid-column:2 !important;
        grid-row:1 !important;
    }

    .vbz-v34-date-field:nth-of-type(2){
        grid-column:3 !important;
        grid-row:1 !important;
    }

    .vbz-v34-date-button{
        grid-column:4 !important;
        grid-row:1 !important;
        align-self:center !important;
        justify-self:end !important;
    }
}


/* ==========================================================
   VBZ V41 - Mapa limpio + estilo playero
   - mantiene marcadores/mapa
   - intenta ocultar el detalle específico del iframe con iwloc
   - mejora visual estilo playa sin tocar lógica
   ========================================================== */

.vbz-shop-map-wrap,
.vbz-map-wrap,
.vbz-map-card{
    background:linear-gradient(135deg,#f8fffb 0%,#eefbf7 42%,#eaf8ff 100%) !important;
    border:1px solid rgba(0,132,115,.12) !important;
    border-radius:28px !important;
    box-shadow:0 18px 48px rgba(0,80,72,.08) !important;
    overflow:hidden !important;
    position:relative !important;
}

.vbz-shop-map-wrap::before,
.vbz-map-wrap::before,
.vbz-map-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:7px;
    background:linear-gradient(90deg,#11b8b3,#42c87a,#ffd36a);
    z-index:2;
    pointer-events:none;
}

.vbz-shop-map-wrap h3,
.vbz-map-wrap h3,
.vbz-map-title{
    color:#123d32 !important;
    font-weight:900 !important;
}

.vbz-shop-map-wrap h3 i,
.vbz-map-wrap h3 i,
.vbz-map-title i{
    color:#07998f !important;
}

/* Iframe del mapa con estética más playera */
.vbz-shop-map-wrap iframe,
.vbz-map-wrap iframe,
.vbz-map-card iframe{
    width:100% !important;
    border:0 !important;
    border-radius:22px !important;
    overflow:hidden !important;
    filter:saturate(1.12) contrast(.96) brightness(1.03) hue-rotate(3deg) !important;
}

/* Mensaje sin resultados */
.vbz-map-empty,
.vbz-shop-map-empty,
.vbz-shop-map-wrap .vbz-empty,
.vbz-map-card .vbz-empty{
    background:linear-gradient(135deg,#ecfbf7,#f7fffb) !important;
    border:1px dashed rgba(0,132,115,.25) !important;
    color:#315d53 !important;
    border-radius:22px !important;
    font-weight:800 !important;
}

/* Aviso inferior playero opcional si el mapa existe */
.vbz-shop-map-wrap::after,
.vbz-map-wrap::after,
.vbz-map-card::after{
    content:"Ubicaciones aproximadas según los filtros seleccionados";
    position:absolute;
    left:18px;
    bottom:18px;
    z-index:3;
    background:rgba(255,255,255,.92);
    color:#315d53;
    border:1px solid rgba(0,132,115,.12);
    border-radius:999px;
    padding:9px 14px;
    font-size:12px;
    font-weight:850;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    pointer-events:none;
}

@media(max-width:768px){
    .vbz-shop-map-wrap,
    .vbz-map-wrap,
    .vbz-map-card{
        border-radius:24px !important;
    }

    .vbz-shop-map-wrap::after,
    .vbz-map-wrap::after,
    .vbz-map-card::after{
        left:12px;
        right:12px;
        bottom:12px;
        text-align:center;
        border-radius:18px;
        font-size:11px;
    }
}


/* ==========================================================
   VBZ V42 - Mapa playero custom
   ========================================================== */

.vbz-map-custom-wrap,
.vbz-map-fallback-clean{
    position:relative !important;
    width:100% !important;
    min-height:360px !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:linear-gradient(135deg,#e7fbff 0%,#d8fff5 48%,#fff5d8 100%) !important;
    box-shadow:0 18px 48px rgba(0,80,72,.10) !important;
    border:1px solid rgba(0,160,150,.16) !important;
}

.vbz-google-custom-map{
    width:100% !important;
    min-height:360px !important;
    height:420px !important;
    border-radius:28px !important;
    overflow:hidden !important;
}

.vbz-map-beach-note{
    position:absolute;
    left:16px;
    top:16px;
    z-index:2;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(0,160,150,.18);
    color:#12483f;
    border-radius:999px;
    padding:10px 14px;
    font-size:12px;
    font-weight:850;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    pointer-events:none;
}

.vbz-map-fallback-clean iframe{
    width:100% !important;
    height:420px !important;
    border:0 !important;
    border-radius:28px !important;
    filter:saturate(1.2) brightness(1.04) hue-rotate(6deg) !important;
}

/* Capa invisible para evitar abrir ficha específica del iframe */
.vbz-map-click-shield{
    position:absolute;
    inset:0;
    z-index:3;
    background:transparent;
}

/* permitir scroll alrededor sin capturar clicks del mapa fallback */
.vbz-map-fallback-clean::after{
    content:"Ubicaciones aproximadas";
    position:absolute;
    left:16px;
    bottom:16px;
    z-index:4;
    background:rgba(255,255,255,.94);
    color:#12483f;
    border-radius:999px;
    padding:9px 14px;
    font-size:12px;
    font-weight:850;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}

@media(max-width:768px){
    .vbz-google-custom-map,
    .vbz-map-fallback-clean iframe{
        height:320px !important;
        min-height:320px !important;
    }

    .vbz-map-custom-wrap,
    .vbz-map-fallback-clean{
        min-height:320px !important;
        border-radius:24px !important;
    }

    .vbz-map-beach-note{
        left:12px;
        right:12px;
        text-align:center;
        border-radius:18px;
    }
}


/* ==========================================================
   VBZ V43 - Mapa playero sin ficha Google
   ========================================================== */

.vbz-beach-map-wrap{
    position:relative;
    width:100%;
    border-radius:28px;
    overflow:hidden;
    background:linear-gradient(135deg,#f7fffc 0%,#e9fbff 54%,#fff6dd 100%);
    border:1px solid rgba(0,160,150,.16);
    box-shadow:0 18px 48px rgba(0,80,72,.10);
}

.vbz-beach-map-wrap::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:7px;
    background:linear-gradient(90deg,#12b7ad,#4ecb7b,#ffd56e);
    z-index:5;
}

.vbz-beach-map-toolbar{
    position:absolute;
    left:16px;
    right:16px;
    top:18px;
    z-index:10;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    pointer-events:none;
}

.vbz-beach-map-toolbar span,
.vbz-beach-map-toolbar strong,
.vbz-beach-map-note{
    background:rgba(255,255,255,.94);
    border:1px solid rgba(0,160,150,.16);
    color:#123d36;
    border-radius:999px;
    padding:9px 13px;
    font-size:12px;
    font-weight:850;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.vbz-beach-map{
    position:relative;
    height:420px;
    width:100%;
    overflow:hidden;
    background:
        radial-gradient(circle at 20% 85%, rgba(255,255,255,.25) 0 1px, transparent 2px),
        radial-gradient(circle at 83% 16%, rgba(255,255,255,.22) 0 1px, transparent 2px),
        linear-gradient(135deg,#42cfe5 0%,#52dce7 42%,#8de9ef 100%);
}

.vbz-beach-water{
    position:absolute;
    inset:0;
    background:
        repeating-radial-gradient(ellipse at 15% 70%, rgba(255,255,255,.33) 0 2px, transparent 3px 26px),
        repeating-radial-gradient(ellipse at 80% 30%, rgba(255,255,255,.23) 0 2px, transparent 3px 30px);
    opacity:.55;
}

.vbz-beach-island-main{
    position:absolute;
    left:34%;
    top:13%;
    width:54%;
    height:74%;
    background:
        linear-gradient(135deg,#e9f2da 0%,#f7efd4 50%,#e0f2d7 100%);
    border:8px solid rgba(255,237,183,.9);
    border-radius:55% 42% 48% 51% / 38% 45% 57% 52%;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.55),
        0 18px 45px rgba(0,90,90,.13);
    transform:rotate(-9deg);
}

.vbz-beach-road{
    position:absolute;
    z-index:3;
    background:rgba(255,255,255,.88);
    border-radius:999px;
    box-shadow:0 0 0 1px rgba(100,120,120,.08);
}

.vbz-road-1{
    left:43%;
    top:45%;
    width:38%;
    height:7px;
    transform:rotate(-14deg);
}

.vbz-road-2{
    left:56%;
    top:28%;
    width:7px;
    height:160px;
    transform:rotate(16deg);
}

.vbz-road-3{
    left:52%;
    top:62%;
    width:28%;
    height:7px;
    transform:rotate(20deg);
}

.vbz-beach-label{
    position:absolute;
    z-index:4;
    color:#1d473f;
    font-size:13px;
    font-weight:900;
    text-shadow:0 1px 0 rgba(255,255,255,.8);
    transform:rotate(9deg);
}

.vbz-label-centro{left:42%;top:42%;font-size:18px;}
.vbz-label-geriba{left:22%;top:60%;}
.vbz-label-ferradura{left:55%;top:63%;}
.vbz-label-joao{left:60%;top:26%;}

.vbz-beach-marker{
    position:absolute;
    z-index:8;
    width:42px;
    height:42px;
    border-radius:50% 50% 50% 12px;
    transform:translate(-50%,-100%) rotate(-45deg);
    display:flex;
    align-items:center;
    justify-content:center;
    background:#00a7a7;
    border:4px solid #fff;
    box-shadow:0 9px 22px rgba(0,70,70,.28);
}

.vbz-beach-marker i{
    transform:rotate(45deg);
    color:#fff;
    font-size:17px;
}

.vbz-beach-marker.is-palm{
    background:#18ad74;
}

.vbz-beach-marker.is-surf{
    background:#079bb1;
}

.vbz-beach-marker::after{
    content:"";
    position:absolute;
    inset:8px;
    border-radius:50%;
    background:rgba(255,255,255,.16);
}

.vbz-beach-map-note{
    position:absolute;
    left:16px;
    bottom:16px;
    z-index:10;
    border-radius:18px;
}

.vbz-beach-map-wrap + .vbz-map-fallback,
.vbz-map-fallback-clean{
    display:none !important;
}

@media(max-width:768px){
    .vbz-beach-map{
        height:320px;
    }

    .vbz-beach-map-toolbar{
        left:12px;
        right:12px;
        top:14px;
        flex-direction:column;
        align-items:flex-start;
    }

    .vbz-beach-map-note{
        left:12px;
        right:12px;
        bottom:12px;
        text-align:center;
        border-radius:18px;
    }

    .vbz-beach-marker{
        width:36px;
        height:36px;
    }
}


/* ==========================================================
   VBZ V45 - COMPACTAR CAMPOS ADICIONALES CON CLASES REALES
   Apunta al sidebar/filtros del shop y a chips reales aunque
   Elementor/Woodmart agreguen wrappers.
   ========================================================== */

@media (min-width: 769px){

    /* Compactar toda el área de filtros */
    .vbz-shop-sidebar,
    .vbz-shop-filters,
    .vbz-filters,
    .vbz-sidebar{
        gap: 12px !important;
    }

    /* Sección específica de campos adicionales */
    .vbz-shop-sidebar .vbz-extra-section,
    .vbz-shop-sidebar .vbz-extra-filters,
    .vbz-shop-sidebar .vbz-custom-fields,
    .vbz-shop-sidebar .vbz-additional-fields,
    .vbz-shop-sidebar .vbz-dynamic-fields,
    .vbz-shop-sidebar .vbz-fields-wrap,
    .vbz-shop-sidebar .vbz-field-list,
    .vbz-shop-sidebar .vbz-filter-extra,
    .vbz-shop-sidebar .vbz-filter-fields,
    .vbz-shop-sidebar .vbz-meta-filters,
    .vbz-shop-sidebar .vbz-tax-fields{
        margin-top: 10px !important;
        padding-top: 8px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    /* Cada grupo/campo adicional */
    .vbz-shop-sidebar .vbz-field-row,
    .vbz-shop-sidebar .vbz-filter-row,
    .vbz-shop-sidebar .vbz-field-block,
    .vbz-shop-sidebar .vbz-field-group,
    .vbz-shop-sidebar .vbz-extra-field,
    .vbz-shop-sidebar .vbz-extra-field-group,
    .vbz-shop-sidebar .vbz-meta-field,
    .vbz-shop-sidebar .vbz-meta-filter,
    .vbz-shop-sidebar .vbz-custom-field,
    .vbz-shop-sidebar .vbz-additional-field,
    .vbz-shop-sidebar .vbz-filter-field,
    .vbz-shop-sidebar .vbz-shop-field-group{
        margin: 0 0 9px !important;
        padding: 0 0 7px !important;
        border-bottom: 1px solid rgba(20,72,58,.055) !important;
        display: block !important;
    }

    /* Títulos reales */
    .vbz-shop-sidebar .vbz-field-row > strong,
    .vbz-shop-sidebar .vbz-filter-row > strong,
    .vbz-shop-sidebar .vbz-field-block > strong,
    .vbz-shop-sidebar .vbz-field-group > strong,
    .vbz-shop-sidebar .vbz-extra-field > strong,
    .vbz-shop-sidebar .vbz-extra-field-group > strong,
    .vbz-shop-sidebar .vbz-meta-field > strong,
    .vbz-shop-sidebar .vbz-meta-filter > strong,
    .vbz-shop-sidebar .vbz-custom-field > strong,
    .vbz-shop-sidebar .vbz-additional-field > strong,
    .vbz-shop-sidebar .vbz-filter-field > strong,
    .vbz-shop-sidebar .vbz-shop-field-group > strong,
    .vbz-shop-sidebar .vbz-field-title,
    .vbz-shop-sidebar .vbz-filter-title,
    .vbz-shop-sidebar .vbz-field-name,
    .vbz-shop-sidebar .vbz-field-heading,
    .vbz-shop-sidebar .vbz-meta-label,
    .vbz-shop-sidebar .vbz-extra-label,
    .vbz-shop-sidebar .vbz-custom-label,
    .vbz-shop-sidebar .vbz-additional-label{
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        margin: 0 0 6px !important;
        padding: 0 !important;
        color: #123d32 !important;
        font-size: 14.5px !important;
        line-height: 1.18 !important;
        font-weight: 900 !important;
        letter-spacing: -.02em !important;
    }

    /* Si los títulos son labels comunes dentro de campos adicionales */
    .vbz-shop-sidebar .vbz-field-row > label:first-child,
    .vbz-shop-sidebar .vbz-filter-row > label:first-child,
    .vbz-shop-sidebar .vbz-field-block > label:first-child,
    .vbz-shop-sidebar .vbz-field-group > label:first-child,
    .vbz-shop-sidebar .vbz-extra-field > label:first-child,
    .vbz-shop-sidebar .vbz-extra-field-group > label:first-child,
    .vbz-shop-sidebar .vbz-meta-field > label:first-child,
    .vbz-shop-sidebar .vbz-meta-filter > label:first-child,
    .vbz-shop-sidebar .vbz-custom-field > label:first-child,
    .vbz-shop-sidebar .vbz-additional-field > label:first-child,
    .vbz-shop-sidebar .vbz-filter-field > label:first-child,
    .vbz-shop-sidebar .vbz-shop-field-group > label:first-child{
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        margin: 0 0 6px !important;
        padding: 0 !important;
        color: #123d32 !important;
        font-size: 14.5px !important;
        line-height: 1.18 !important;
        font-weight: 900 !important;
        letter-spacing: -.02em !important;
    }

    /* Contenedor de opciones/chips */
    .vbz-shop-sidebar .vbz-field-values,
    .vbz-shop-sidebar .vbz-field-options,
    .vbz-shop-sidebar .vbz-filter-values,
    .vbz-shop-sidebar .vbz-filter-options,
    .vbz-shop-sidebar .vbz-extra-values,
    .vbz-shop-sidebar .vbz-extra-options,
    .vbz-shop-sidebar .vbz-meta-values,
    .vbz-shop-sidebar .vbz-custom-values,
    .vbz-shop-sidebar .vbz-additional-values,
    .vbz-shop-sidebar .vbz-chip-list,
    .vbz-shop-sidebar .vbz-pills,
    .vbz-shop-sidebar .vbz-options{
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px 6px !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }

    /* Chips/opciones reales */
    .vbz-shop-sidebar .vbz-chip,
    .vbz-shop-sidebar .vbz-pill,
    .vbz-shop-sidebar .vbz-filter-chip,
    .vbz-shop-sidebar .vbz-field-chip,
    .vbz-shop-sidebar .vbz-field-value,
    .vbz-shop-sidebar .vbz-filter-value,
    .vbz-shop-sidebar .vbz-extra-value,
    .vbz-shop-sidebar .vbz-meta-value,
    .vbz-shop-sidebar .vbz-custom-value,
    .vbz-shop-sidebar .vbz-additional-value,
    .vbz-shop-sidebar .vbz-field-values a,
    .vbz-shop-sidebar .vbz-field-options a,
    .vbz-shop-sidebar .vbz-field-values label,
    .vbz-shop-sidebar .vbz-field-options label,
    .vbz-shop-sidebar .vbz-filter-values a,
    .vbz-shop-sidebar .vbz-filter-options a,
    .vbz-shop-sidebar .vbz-filter-values label,
    .vbz-shop-sidebar .vbz-filter-options label,
    .vbz-shop-sidebar .vbz-extra-values a,
    .vbz-shop-sidebar .vbz-extra-options a,
    .vbz-shop-sidebar .vbz-extra-values label,
    .vbz-shop-sidebar .vbz-extra-options label,
    .vbz-shop-sidebar .vbz-chip-list a,
    .vbz-shop-sidebar .vbz-chip-list label,
    .vbz-shop-sidebar .vbz-pills a,
    .vbz-shop-sidebar .vbz-pills label,
    .vbz-shop-sidebar .vbz-options a,
    .vbz-shop-sidebar .vbz-options label{
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 24px !important;
        margin: 0 !important;
        padding: 5px 8px !important;
        border-radius: 999px !important;
        background: #f7faf8 !important;
        border: 1px solid rgba(18,61,50,.10) !important;
        color: #526963 !important;
        font-size: 11px !important;
        line-height: 1.05 !important;
        font-weight: 650 !important;
        box-shadow: none !important;
        white-space: nowrap !important;
    }

    /* Seleccionados */
    .vbz-shop-sidebar .vbz-chip.is-active,
    .vbz-shop-sidebar .vbz-pill.is-active,
    .vbz-shop-sidebar .vbz-filter-chip.is-active,
    .vbz-shop-sidebar .vbz-field-chip.is-active,
    .vbz-shop-sidebar .active,
    .vbz-shop-sidebar .selected,
    .vbz-shop-sidebar input:checked + span,
    .vbz-shop-sidebar input:checked + label{
        background: #eaf7ef !important;
        border-color: rgba(18,61,50,.22) !important;
        color: #123d32 !important;
        font-weight: 800 !important;
    }

    /* Eliminar espacios enormes provocados por párrafos/br */
    .vbz-shop-sidebar .vbz-extra-section p,
    .vbz-shop-sidebar .vbz-extra-filters p,
    .vbz-shop-sidebar .vbz-custom-fields p,
    .vbz-shop-sidebar .vbz-additional-fields p,
    .vbz-shop-sidebar .vbz-dynamic-fields p,
    .vbz-shop-sidebar .vbz-field-list p,
    .vbz-shop-sidebar .vbz-filter-fields p{
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }

    .vbz-shop-sidebar .vbz-extra-section br,
    .vbz-shop-sidebar .vbz-extra-filters br,
    .vbz-shop-sidebar .vbz-custom-fields br,
    .vbz-shop-sidebar .vbz-additional-fields br,
    .vbz-shop-sidebar .vbz-dynamic-fields br,
    .vbz-shop-sidebar .vbz-field-list br,
    .vbz-shop-sidebar .vbz-filter-fields br{
        display: none !important;
    }
}

/* VBZ V45.1 - Cards shop iguales a tarjetas home Booking */
.vbz-shop-results{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.vbz-shop-card{
    position:relative;
    display:flex;
    flex-direction:column;
    height:438px;
    background:#fff;
    border:1px solid rgba(17,24,39,.08);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 4px 12px rgba(15,23,42,.055);
    transition:.22s ease;
}

.vbz-shop-card:hover{
    transform:translateY(-2px);
    box-shadow:0 7px 18px rgba(15,23,42,.075);
}

.vbz-card-image{
    display:block;
    position:relative;
    height:190px;
    min-height:190px;
    background:#f3f4f6;
    overflow:hidden;
    text-decoration:none!important;
}

.vbz-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.45s ease;
}

.vbz-card-photo-track{
    display:block;
    width:100%;
    height:100%;
    position:relative;
}

.vbz-card-photo-slide{
    position:absolute;
    inset:0;
    opacity:0;
    pointer-events:none;
}

.vbz-card-photo-slide.active{
    opacity:1;
    pointer-events:auto;
}

.vbz-shop-card:hover .vbz-card-photo-slide.active{
    transform:scale(1.025);
}

.vbz-card-photo-dots{
    position:absolute;
    left:50%;
    bottom:9px;
    transform:translateX(-50%);
    z-index:7;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:4px 6px;
    border-radius:999px;
    background:rgba(0,0,0,.18);
    backdrop-filter:blur(3px);
}

.vbz-card-photo-dot{
    width:6px;
    height:6px;
    border-radius:999px;
    background:rgba(255,255,255,.62);
    box-shadow:0 0 0 1px rgba(0,0,0,.05);
    cursor:pointer;
    transition:.18s;
}

.vbz-card-photo-dot.active{
    width:14px;
    background:#fff;
}

.vbz-card-vendor-rating{
    position:absolute;
    top:8px;
    left:8px;
    z-index:6;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:18px;
    padding:0 4px;
    border-radius:4px;
    background:#f5c84b;
    color:#fff;
    font-size:9.5px;
    font-weight:400;
    line-height:1;
    box-shadow:0 1px 4px rgba(0,0,0,.08);
}

.vbz-card-heart{
    position:absolute;
    top:12px;
    right:12px;
    width:42px;
    height:42px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:#374151;
    font-size:19px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 3px 9px rgba(0,0,0,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:8;
    overflow:hidden;
}

.vbz-card-heart *{margin:0!important}
.vbz-card-heart .yith-wcwl-add-to-wishlist,
.vbz-card-heart .yith-wcwl-add-button,
.vbz-card-heart .yith-wcwl-wishlistexistsbrowse,
.vbz-card-heart .yith-wcwl-wishlistaddedbrowse{
    width:42px!important;
    height:42px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.vbz-card-heart a,
.vbz-card-heart button{
    width:42px!important;
    height:42px!important;
    min-height:42px!important;
    border-radius:999px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    color:#374151!important;
    font-size:0!important;
    box-shadow:none!important;
    border:0!important;
}
.vbz-card-heart .feedback,
.vbz-card-heart .separator,
.vbz-card-heart .view-wishlist,
.vbz-card-heart .yith-wcwl-icon+span,
.vbz-card-heart .blockUI,
.vbz-card-heart .ajax-loading{display:none!important}
.vbz-card-heart i,
.vbz-card-heart svg{
    font-size:19px!important;
    width:19px!important;
    height:19px!important;
    color:#374151!important;
    fill:currentColor!important;
}
.vbz-card-heart .fa-heart-o:before{
    content:"\f004"!important;
    font-family:"Font Awesome 6 Free","Font Awesome 5 Free"!important;
    font-weight:400!important;
}

.vbz-card-body{
    padding:15px 16px 16px;
    display:flex;
    flex-direction:column;
    gap:8px;
    flex:1;
    min-height:0;
}

.vbz-card-cat{
    width:max-content;
    max-width:100%;
    padding:6px 11px;
    border-radius:999px;
    background:#fff;
    color:#6b7280;
    border:1px solid rgba(17,24,39,.12);
    box-shadow:0 2px 6px rgba(15,23,42,.03);
    font-size:11px;
    font-weight:400;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    display:inline-flex;
    align-items:center;
    gap:6px;
    text-transform:lowercase;
    margin-bottom:0;
}

.vbz-card-cat span::first-letter{text-transform:uppercase}
.vbz-card-cat i{font-size:10px;color:#9ca3af;line-height:1}

.vbz-card-title{
    margin:0!important;
    font-size:17px!important;
    line-height:1.22!important;
    font-weight:850!important;
    color:#111827!important;
    min-height:42px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    letter-spacing:0;
}

.vbz-card-title a{color:#111827!important;text-decoration:none!important}

.vbz-card-excerpt{
    margin:0!important;
    color:#6b7280!important;
    font-size:12px!important;
    line-height:1.35!important;
    min-height:34px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.vbz-card-rating{
    display:flex;
    align-items:center;
    gap:6px;
    min-height:20px;
    color:#4b5563;
    font-size:12px;
    font-weight:400;
    margin-bottom:0;
}

.vbz-card-rating strong{color:#111827;font-size:12px;font-weight:400}
.vbz-card-rating span{color:#4b5563;font-size:12px;font-weight:400}
.vbz-shop-stars{display:inline-flex;gap:2px;align-items:center;letter-spacing:0}
.vbz-shop-stars .is-full{color:#f5b400}
.vbz-shop-stars .is-empty{color:#d1d5db;background:transparent}
.vbz-shop-stars span{font-size:13px;line-height:1;font-weight:400}

.vbz-card-footer{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.vbz-card-price{
    font-size:17px;
    color:#111827;
    font-weight:400;
    line-height:1.2;
    display:inline-flex;
    align-items:center;
    gap:7px;
    white-space:nowrap;
}

.vbz-card-price-icon{
    width:16px;
    height:16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:none;
    color:#f5c84b;
}

.vbz-card-price-icon svg{
    width:16px;
    height:16px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vbz-card-price del{display:none}
.vbz-card-price ins{text-decoration:none}
.vbz-card-price .amount{font-weight:400;color:#111827}

.vbz-card-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border-radius:999px;
    background:#f5c84b!important;
    color:#111827!important;
    border:none!important;
    text-decoration:none!important;
    padding:9px 13px;
    height:auto;
    font-size:12px;
    font-weight:400;
    white-space:nowrap;
    box-shadow:none!important;
}

.vbz-card-button i{font-size:12px;font-weight:400;color:#111827}
.vbz-card-button:hover{background:#f5c84b!important;color:#111827!important;border:none!important}

@media(max-width:1180px){
    .vbz-shop-results{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
    .vbz-shop-results{grid-template-columns:1fr}
    .vbz-shop-card{height:420px;border-radius:16px}
    .vbz-card-image{height:178px;min-height:178px}
    .vbz-card-title{font-size:16px!important}
    .vbz-card-footer{align-items:center;flex-direction:row}
    .vbz-card-button{width:auto}
}


/* VBZ V47 - Fix card shop: YITH no debe crear bloque fantasma entre imagen y contenido */
.vbz-shop-card{
    height:438px !important;
    min-height:438px !important;
    border-radius:16px !important;
    overflow:hidden !important;
    padding-top:0 !important;
}

.vbz-shop-card > .vbz-card-image:first-child,
.vbz-card-image{
    height:190px !important;
    min-height:190px !important;
    flex:0 0 190px !important;
    border-radius:16px 16px 0 0 !important;
    margin:0 !important;
    padding:0 !important;
}

.vbz-shop-card > .vbz-card-heart{
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
    margin:0 !important;
    z-index:30 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}

.vbz-shop-card > .vbz-card-heart .yith-wcwl-add-to-wishlist,
.vbz-shop-card > .vbz-card-heart .yith-wcwl-add-button,
.vbz-shop-card > .vbz-card-heart .yith-wcwl-wishlistexistsbrowse,
.vbz-shop-card > .vbz-card-heart .yith-wcwl-wishlistaddedbrowse{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    inset:auto !important;
}

.vbz-shop-card > .vbz-card-heart a,
.vbz-shop-card > .vbz-card-heart button{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    font-size:0 !important;
    line-height:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.vbz-shop-card > .vbz-card-heart .feedback,
.vbz-shop-card > .vbz-card-heart .separator,
.vbz-shop-card > .vbz-card-heart .view-wishlist,
.vbz-shop-card > .vbz-card-heart .yith-wcwl-icon + span,
.vbz-shop-card > .vbz-card-heart .blockUI,
.vbz-shop-card > .vbz-card-heart .ajax-loading{
    display:none !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
}

.vbz-shop-card > .vbz-card-body{
    padding:15px 16px 16px !important;
    margin:0 !important;
    flex:1 1 auto !important;
}

@media(max-width:700px){
    .vbz-shop-card{
        height:420px !important;
        min-height:420px !important;
        border-radius:16px !important;
    }
    .vbz-shop-card > .vbz-card-image:first-child,
    .vbz-card-image{
        height:178px !important;
        min-height:178px !important;
        flex:0 0 178px !important;
        border-radius:16px 16px 0 0 !important;
    }
}

/* VBZ V59 - Fix definitivo: cuerpo de card visible sin hueco fantasma */
.vbz-shop-results .vbz-shop-card{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    background:#fff !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-image{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
    flex:0 0 190px !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-image img,
.vbz-shop-results .vbz-card-photo-track,
.vbz-shop-results .vbz-card-photo-slide{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
    object-fit:cover !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-body{
    display:block !important;
    position:relative !important;
    flex:1 1 auto !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:15px 16px 16px !important;
    background:#fff !important;
    z-index:2 !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
}

.vbz-shop-results .vbz-card-body *{
    opacity:1 !important;
    visibility:visible !important;
}

.vbz-shop-results .vbz-card-cat{margin-bottom:10px !important;}
.vbz-shop-results .vbz-card-title{margin:0 0 9px !important;}
.vbz-shop-results .vbz-card-excerpt{margin:0 0 10px !important;}
.vbz-shop-results .vbz-card-rating{margin:0 0 10px !important;}
.vbz-shop-results .vbz-card-footer{margin-top:0 !important;}

/* YITH queda solo como corazón arriba, nunca como bloque de contenido */
.vbz-shop-results .vbz-shop-card > .vbz-card-heart{
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    z-index:40 !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    max-width:42px !important;
    max-height:42px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-heart *{
    margin:0 !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-heart .feedback,
.vbz-shop-results .vbz-shop-card > .vbz-card-heart .yith-wcwl-icon + span,
.vbz-shop-results .vbz-shop-card > .vbz-card-heart .separator,
.vbz-shop-results .vbz-shop-card > .vbz-card-heart .view-wishlist{
    display:none !important;
}

@media(max-width:700px){
    .vbz-shop-results .vbz-shop-card > .vbz-card-image{
        height:178px !important;
        min-height:178px !important;
        max-height:178px !important;
        flex-basis:178px !important;
    }
}

/* VBZ V50 - Fix quirúrgico: elimina doble espacio entre foto y contenido */
.vbz-shop-results .vbz-shop-card{
    display:grid !important;
    grid-template-rows:190px auto !important;
    grid-auto-rows:0 !important;
    align-items:start !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0 !important;
    overflow:hidden !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-image{
    grid-row:1 !important;
    grid-column:1 !important;
    width:100% !important;
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
    flex:none !important;
    margin:0 !important;
    padding:0 !important;
    align-self:start !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-body{
    grid-row:2 !important;
    grid-column:1 !important;
    width:100% !important;
    margin:0 !important;
    padding:15px 16px 16px !important;
    align-self:start !important;
    transform:none !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-heart,
.vbz-shop-results .vbz-shop-card > .vbz-card-vendor-rating{
    grid-row:1 !important;
    grid-column:1 !important;
}

@media(max-width:700px){
    .vbz-shop-results .vbz-shop-card{
        grid-template-rows:178px auto !important;
    }
    .vbz-shop-results .vbz-shop-card > .vbz-card-image{
        height:178px !important;
        min-height:178px !important;
        max-height:178px !important;
    }
}


/* VBZ V52 - Fix final card shop: imagen pegada arriba, rating vendedor visible, icono botón negro */
.vbz-shop-results .vbz-shop-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border-radius:16px !important;
}

.vbz-shop-results .vbz-shop-card > a.vbz-card-image,
.vbz-shop-results .vbz-shop-card > .vbz-card-image:first-child{
    order:0 !important;
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
    flex:0 0 220px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    line-height:0 !important;
    border-radius:16px 16px 0 0 !important;
    background:#f3f4f6 !important;
    align-self:stretch !important;
}

.vbz-shop-results .vbz-card-photo-track{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
}

.vbz-shop-results .vbz-card-photo-slide,
.vbz-shop-results .vbz-shop-card > .vbz-card-image img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
    object-fit:cover !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
}

.vbz-shop-results .vbz-card-photo-slide{opacity:0 !important; pointer-events:none !important;}
.vbz-shop-results .vbz-card-photo-slide.active{opacity:1 !important; pointer-events:auto !important;}

.vbz-shop-results .vbz-card-image .vbz-card-vendor-rating{
    position:absolute !important;
    top:8px !important;
    left:8px !important;
    z-index:60 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:34px !important;
    height:18px !important;
    padding:0 4px !important;
    border-radius:4px !important;
    background:#f5c84b !important;
    color:#fff !important;
    font-size:9.5px !important;
    font-weight:400 !important;
    line-height:1 !important;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:0 1px 4px rgba(0,0,0,.08) !important;
}

.vbz-shop-results .vbz-card-photo-dots{
    z-index:55 !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-heart{
    z-index:70 !important;
}

.vbz-shop-results .vbz-shop-card > .vbz-card-body{
    order:1 !important;
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:15px 16px 16px !important;
    background:#fff !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
}

.vbz-shop-results .vbz-card-button,
.vbz-shop-results .vbz-card-button:hover{
    color:#111827 !important;
}

.vbz-shop-results .vbz-card-button i,
.vbz-shop-results .vbz-card-button svg,
.vbz-shop-results .vbz-card-button .fa,
.vbz-shop-results .vbz-card-button .far,
.vbz-shop-results .vbz-card-button .fa-regular{
    color:#111827 !important;
    fill:#111827 !important;
    stroke:#111827 !important;
}

@media(max-width:700px){
    .vbz-shop-results .vbz-shop-card > a.vbz-card-image,
    .vbz-shop-results .vbz-shop-card > .vbz-card-image:first-child{
        height:205px !important;
        min-height:205px !important;
        max-height:205px !important;
        flex-basis:205px !important;
    }
}


/* VBZ V59 - Fix real: elimina hueco de imagen y rating vendedor independiente */
body .vbz-shop-results article.vbz-shop-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    border-radius:16px !important;
    background:#fff !important;
}

body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image{
    order:0 !important;
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
    flex:0 0 220px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:16px 16px 0 0 !important;
    background:#f3f4f6 !important;
    line-height:0 !important;
}

body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image .vbz-card-photo-track,
body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image .vbz-card-photo-slide,
body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    display:block !important;
}

body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image .vbz-card-photo-slide{
    opacity:0 !important;
    pointer-events:none !important;
}
body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image .vbz-card-photo-slide.active{
    opacity:1 !important;
    pointer-events:auto !important;
}

body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
    order:1 !important;
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding:15px 16px 16px !important;
    background:#fff !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
}

body .vbz-shop-results article.vbz-shop-card > .vbz-card-vendor-rating{
    position:absolute !important;
    top:8px !important;
    left:8px !important;
    z-index:90 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:34px !important;
    height:18px !important;
    padding:0 5px !important;
    border-radius:4px !important;
    background:#f5c84b !important;
    color:#fff !important;
    font-size:9.5px !important;
    font-weight:400 !important;
    line-height:1 !important;
    box-shadow:0 1px 4px rgba(0,0,0,.08) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:none !important;
}

body .vbz-shop-results article.vbz-shop-card > .vbz-card-heart{
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    z-index:95 !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-button i,
body .vbz-shop-results article.vbz-shop-card .vbz-card-button svg{
    color:#111827 !important;
    fill:#111827 !important;
    stroke:#111827 !important;
}

@media(max-width:700px){
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image{
        height:205px !important;
        min-height:205px !important;
        max-height:205px !important;
        flex-basis:205px !important;
    }
}

/* VBZ V59 - Ajuste quirúrgico: filtros activos, card más compacta y filtros laterales más juntos */
body .vbz-shop-top.vbz-shop-top-filters{
    background:#fff !important;
    border:1px solid #eee !important;
    border-radius:20px !important;
    padding:16px 18px !important;
    margin-bottom:14px !important;
    box-shadow:0 6px 18px rgba(0,0,0,.035) !important;
    align-items:flex-start !important;
}

body .vbz-active-filters-wrap{
    width:100% !important;
    display:grid !important;
    gap:10px !important;
}

body .vbz-active-filters-title{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    color:#111827 !important;
    font-size:17px !important;
    font-weight:650 !important;
    line-height:1.2 !important;
    margin:0 !important;
}

body .vbz-active-filters-title i{
    color:#111827 !important;
    font-size:15px !important;
}

body .vbz-active-filters-list{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
}

body .vbz-active-filter-chip,
body .vbz-active-filter-clear{
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    min-height:32px !important;
    padding:7px 11px !important;
    border-radius:999px !important;
    text-decoration:none !important;
    font-size:12px !important;
    font-weight:500 !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

body .vbz-active-filter-chip{
    background:#fff7d8 !important;
    border:1px solid #f0d06b !important;
    color:#111827 !important;
}

body .vbz-active-filter-chip i{
    color:#111827 !important;
    font-size:10px !important;
}

body .vbz-active-filter-clear{
    background:#f6f6f6 !important;
    border:1px solid #e5e5e5 !important;
    color:#444 !important;
}

body .vbz-active-filters-empty{
    color:#6b7280 !important;
    font-size:13px !important;
    line-height:1.35 !important;
}

body .vbz-shop-results article.vbz-shop-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
}

body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
    padding:12px 14px 12px !important;
    gap:9px !important;
    min-height:0 !important;
    height:auto !important;
    flex:0 0 auto !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-cat{
    margin:0 !important;
    padding:6px 10px !important;
    font-size:12px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-title{
    margin:0 !important;
    font-size:19px !important;
    line-height:1.16 !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-excerpt{
    margin:0 !important;
    font-size:13px !important;
    line-height:1.35 !important;
    max-height:36px !important;
    overflow:hidden !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-rating{
    margin:0 !important;
    gap:7px !important;
    font-size:13px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-footer{
    margin:2px 0 0 !important;
    padding:0 !important;
    align-items:center !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-price{
    font-size:20px !important;
    line-height:1 !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-button{
    height:40px !important;
    padding:0 15px !important;
    font-size:14px !important;
}

body .vbz-sidebar-sticky{
    padding:16px !important;
    border-radius:22px !important;
}

body .vbz-sidebar-title{
    margin-bottom:12px !important;
    font-size:18px !important;
}

body .vbz-shop-filter-form{
    gap:9px !important;
}

body .vbz-filter-group{
    gap:5px !important;
}

body .vbz-filter-group input,
body .vbz-filter-group select{
    height:40px !important;
    border-radius:12px !important;
    font-size:13px !important;
}

body .vbz-filter-extra{
    padding-top:10px !important;
    gap:9px !important;
}

body .vbz-filter-extra-title{
    font-size:14px !important;
    margin:0 !important;
}

body .vbz-check-group{
    gap:5px !important;
}

body .vbz-check-title{
    font-size:12px !important;
    margin:0 !important;
}

body .vbz-check-cloud{
    gap:6px !important;
}

body .vbz-check-pill span{
    min-height:29px !important;
    padding:5px 10px !important;
    font-size:12px !important;
}

body .vbz-filter-row{
    gap:8px !important;
}

body .vbz-filter-submit,
body .vbz-close-filters-btn{
    height:40px !important;
    border-radius:12px !important;
}

body .vbz-filter-reset{
    font-size:12px !important;
    margin-top:0 !important;
}

@media(max-width:700px){
    body .vbz-shop-top.vbz-shop-top-filters{
        padding:14px !important;
        border-radius:18px !important;
    }

    body .vbz-active-filters-list{
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
        padding-bottom:2px !important;
    }

    body .vbz-active-filters-list::-webkit-scrollbar{
        display:none !important;
    }

    body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
        padding:11px 13px 12px !important;
        gap:8px !important;
    }
}

/* VBZ V59 - Ajuste quirúrgico pedido: chips amarillos sin borde + compactación real */

/* 1) Filtros seleccionados: amarillo, texto negro, sin borde */
body .vbz-active-filter-chip,
body .vbz-shop-top .vbz-active-filter-chip,
body .vbz-active-filters-wrap .vbz-active-filter-chip,
body .vbz-active-filters-wrap a.vbz-active-filter-chip,
body .vbz-shop-sidebar .vbz-check-pill input:checked + span,
body .vbz-shop-sidebar .vbz-check-pill.is-selected span,
body .vbz-shop-sidebar .vbz-chip.is-active,
body .vbz-shop-sidebar .vbz-pill.is-active,
body .vbz-shop-sidebar .vbz-filter-chip.is-active,
body .vbz-shop-sidebar .vbz-field-chip.is-active,
body .vbz-shop-sidebar .active,
body .vbz-shop-sidebar .selected,
body .vbz-shop-sidebar input:checked + span,
body .vbz-shop-sidebar input:checked + label{
    background:#e6b229 !important;
    color:#111827 !important;
    border:0 !important;
    box-shadow:none !important;
    font-weight:500 !important;
}

body .vbz-active-filter-chip i,
body .vbz-active-filter-chip svg,
body .vbz-active-filter-chip .fa,
body .vbz-active-filter-chip .fas,
body .vbz-active-filter-chip .far,
body .vbz-active-filter-chip .fa-solid,
body .vbz-active-filter-chip .fa-regular{
    color:#111827 !important;
    fill:#111827 !important;
    stroke:#111827 !important;
}

body .vbz-active-filter-clear{
    border:0 !important;
    background:#f2f2f2 !important;
    color:#111827 !important;
    box-shadow:none !important;
}

/* 2) Card producto/servicio: eliminar aire vertical en sector información */
body .vbz-shop-results article.vbz-shop-card{
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
}

body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
    padding:9px 12px 10px !important;
    margin:0 !important;
    min-height:0 !important;
    height:auto !important;
    flex:0 0 auto !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-cat{
    margin:0 0 2px !important;
    padding:5px 9px !important;
    min-height:24px !important;
    line-height:1 !important;
    font-size:11.5px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-title{
    margin:0 !important;
    padding:0 !important;
    line-height:1.12 !important;
    font-size:18px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-excerpt{
    margin:2px 0 0 !important;
    padding:0 !important;
    line-height:1.24 !important;
    font-size:12.5px !important;
    max-height:32px !important;
    overflow:hidden !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-rating{
    margin:4px 0 0 !important;
    padding:0 !important;
    min-height:0 !important;
    line-height:1 !important;
    gap:6px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-footer{
    margin:5px 0 0 !important;
    padding:0 !important;
    min-height:0 !important;
    line-height:1 !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-price{
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-button{
    height:36px !important;
    min-height:36px !important;
    padding:0 13px !important;
    line-height:1 !important;
    font-size:13px !important;
}

/* 3) Campos adicionales laterales: quitar separación vertical excesiva */
body .vbz-sidebar-sticky{
    padding:13px !important;
}

body .vbz-shop-filter-form,
body .vbz-filter-extra,
body .vbz-check-group{
    gap:5px !important;
}

body .vbz-filter-group{
    gap:3px !important;
    margin:0 !important;
    padding:0 !important;
}

body .vbz-filter-extra{
    padding-top:7px !important;
    margin-top:2px !important;
}

body .vbz-check-title,
body .vbz-filter-group label,
body .vbz-filter-extra-title{
    margin:0 !important;
    padding:0 !important;
    line-height:1.1 !important;
}

body .vbz-check-cloud{
    gap:5px !important;
    margin:0 0 4px !important;
    padding:0 !important;
}

body .vbz-check-pill span{
    min-height:26px !important;
    padding:4px 9px !important;
    line-height:1 !important;
    font-size:11.5px !important;
}

body .vbz-filter-group input,
body .vbz-filter-group select{
    height:36px !important;
    min-height:36px !important;
}

/* Captura posibles wrappers/p/br generados por campos adicionales */
body .vbz-shop-sidebar .vbz-check-group p,
body .vbz-shop-sidebar .vbz-filter-group p,
body .vbz-shop-sidebar .vbz-filter-extra p,
body .vbz-shop-sidebar .vbz-check-cloud p,
body .vbz-shop-sidebar .vbz-filter-group div,
body .vbz-shop-sidebar .vbz-check-group div{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

body .vbz-shop-sidebar .vbz-check-group br,
body .vbz-shop-sidebar .vbz-filter-group br,
body .vbz-shop-sidebar .vbz-filter-extra br,
body .vbz-shop-sidebar .vbz-check-cloud br{
    display:none !important;
}

@media(max-width:700px){
    body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
        gap:5px !important;
        padding:9px 12px 10px !important;
    }
}

/* VBZ V59 - Fix quirúrgico final: menos aire, peso 400, mayúscula inicial por PHP */
body .vbz-shop-page,
body .vbz-shop-page *,
body .vbz-shop-page input,
body .vbz-shop-page select,
body .vbz-shop-page button,
body .vbz-shop-page a,
body .vbz-shop-page label,
body .vbz-shop-page span,
body .vbz-shop-page h1,
body .vbz-shop-page h2,
body .vbz-shop-page h3,
body .vbz-shop-page strong{
    font-weight:400 !important;
}

body .vbz-shop-results article.vbz-shop-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    align-self:start !important;
    justify-content:flex-start !important;
}

body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image{
    margin-bottom:0 !important;
    flex:0 0 220px !important;
}

body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
    padding:7px 12px 8px !important;
    gap:3px !important;
    margin:0 !important;
    flex:0 0 auto !important;
    min-height:0 !important;
    height:auto !important;
    justify-content:flex-start !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-cat{
    margin:0 0 2px !important;
    padding:4px 8px !important;
    min-height:22px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-title{
    margin:0 !important;
    line-height:1.08 !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-excerpt{
    margin:1px 0 0 !important;
    line-height:1.18 !important;
    max-height:29px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-rating{
    margin:3px 0 0 !important;
    gap:5px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-footer{
    margin:4px 0 0 !important;
    padding:0 !important;
    align-items:center !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-button{
    height:34px !important;
    min-height:34px !important;
    padding:0 12px !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-price{
    line-height:1 !important;
}

body .vbz-active-filter-chip,
body .vbz-shop-sidebar .vbz-check-pill input:checked + span,
body .vbz-shop-sidebar input:checked + span{
    background:#e6b229 !important;
    color:#111827 !important;
    border:0 !important;
    box-shadow:none !important;
}

body .vbz-shop-filter-form{
    gap:7px !important;
}

body .vbz-filter-extra{
    gap:7px !important;
    padding-top:8px !important;
}

body .vbz-check-group{
    gap:4px !important;
    margin:0 !important;
    padding:0 !important;
}

body .vbz-check-title{
    margin:0 0 3px !important;
    line-height:1.05 !important;
}

body .vbz-check-cloud{
    gap:5px !important;
    margin:0 0 6px !important;
}

body .vbz-check-pill span{
    min-height:24px !important;
    padding:4px 9px !important;
}

@media(max-width:700px){
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image{
        flex-basis:178px !important;
        height:178px !important;
        min-height:178px !important;
        max-height:178px !important;
    }
    body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
        padding:7px 11px 8px !important;
        gap:3px !important;
    }
}

/* VBZ V59 - Iconos SVG propios finos, sin relleno, sin dependencia de Font Awesome */
body .vbz-shop-page .vbz-svg-icon,
body .vbz-shop-page svg.vbz-svg-icon{
    width:1em !important;
    height:1em !important;
    min-width:1em !important;
    min-height:1em !important;
    display:inline-block !important;
    vertical-align:-.12em !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.65 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    color:currentColor !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

body .vbz-shop-page .vbz-card-cat .vbz-svg-icon,
body .vbz-shop-page .vbz-filter-group label .vbz-svg-icon,
body .vbz-shop-page .vbz-filter-extra-title .vbz-svg-icon,
body .vbz-shop-page .vbz-check-title .vbz-svg-icon,
body .vbz-shop-page .vbz-sidebar-title .vbz-svg-icon,
body .vbz-shop-page .vbz-active-filters-title .vbz-svg-icon{
    margin-right:7px !important;
}

body .vbz-shop-page .vbz-card-button .vbz-svg-icon{
    margin-right:7px !important;
    color:#111827 !important;
    stroke:#111827 !important;
}

body .vbz-shop-page .vbz-card-heart .vbz-svg-icon{
    width:20px !important;
    height:20px !important;
    color:#111827 !important;
    stroke:#111827 !important;
}

body .vbz-shop-page .vbz-active-filter-chip .vbz-svg-icon{
    width:13px !important;
    height:13px !important;
    margin-left:7px !important;
    color:#111827 !important;
    stroke:#111827 !important;
}

body .vbz-shop-page .vbz-card-price-icon svg,
body .vbz-shop-page .vbz-card-price-icon .vbz-svg-icon{
    width:20px !important;
    height:20px !important;
    fill:none !important;
    stroke:#d49b12 !important;
    stroke-width:1.45 !important;
}

/* VBZ V59 - chips seleccionados amarillo, texto negro, sin borde */
body .vbz-active-filter-chip,
body .vbz-active-filters-wrap a.vbz-active-filter-chip,
body .vbz-shop-sidebar .vbz-check-pill input:checked + span,
body .vbz-shop-sidebar .vbz-check-pill.is-selected span,
body .vbz-mobile-filter-panel .vbz-check-pill input:checked + span,
body .vbz-mobile-filter-panel .vbz-check-pill.is-selected span,
body .vbz-shop-page .is-vbz-active-filter,
body .vbz-shop-page a.is-vbz-active-filter,
body .vbz-shop-page button.is-vbz-active-filter{
    background:#e6b229 !important;
    color:#111827 !important;
    border:0 !important;
    box-shadow:none !important;
    font-weight:400 !important;
}

/* VBZ V59 - compactación final de card: sin hueco arriba/abajo */
body .vbz-shop-results article.vbz-shop-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0 !important;
    justify-content:flex-start !important;
    align-self:start !important;
}

body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image{
    margin:0 !important;
    flex:0 0 220px !important;
}

body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
    padding:6px 12px 7px !important;
    gap:2px !important;
    margin:0 !important;
    min-height:0 !important;
    height:auto !important;
    flex:0 0 auto !important;
    justify-content:flex-start !important;
}

body .vbz-shop-results article.vbz-shop-card .vbz-card-cat{margin:0 0 1px !important;}
body .vbz-shop-results article.vbz-shop-card .vbz-card-title{margin:0 !important;line-height:1.06 !important;}
body .vbz-shop-results article.vbz-shop-card .vbz-card-excerpt{margin:1px 0 0 !important;line-height:1.16 !important;max-height:28px !important;}
body .vbz-shop-results article.vbz-shop-card .vbz-card-rating{margin:2px 0 0 !important;}
body .vbz-shop-results article.vbz-shop-card .vbz-card-footer{margin:3px 0 0 !important;padding:0 !important;}
body .vbz-shop-results article.vbz-shop-card .vbz-card-button{height:32px !important;min-height:32px !important;}

/* VBZ V59 - filtros laterales más compactos */
body .vbz-sidebar-sticky{padding:11px !important;}
body .vbz-shop-filter-form{gap:5px !important;}
body .vbz-filter-extra{gap:5px !important;padding-top:6px !important;margin-top:0 !important;}
body .vbz-check-group{gap:3px !important;margin:0 !important;padding:0 !important;}
body .vbz-check-title{margin:0 0 2px !important;line-height:1.05 !important;}
body .vbz-check-cloud{gap:4px !important;margin:0 0 4px !important;padding:0 !important;}
body .vbz-check-pill span{min-height:23px !important;padding:4px 8px !important;line-height:1 !important;}

@media(max-width:700px){
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image{
        flex-basis:178px !important;
        height:178px !important;
        min-height:178px !important;
        max-height:178px !important;
    }
    body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
        padding:6px 10px 7px !important;
        gap:2px !important;
    }
}

/* VBZ V59 - Corrección quirúrgica: limpiar filtros no es chip activo */
body .vbz-shop-page .vbz-filter-reset,
body .vbz-shop-page a.vbz-filter-reset,
body .vbz-shop-page .vbz-filter-reset.is-vbz-active-filter,
body .vbz-shop-page a.vbz-filter-reset.is-vbz-active-filter{
    background:transparent !important;
    color:#111827 !important;
    border:0 !important;
    box-shadow:none !important;
    width:auto !important;
    max-width:max-content !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
    margin:8px auto 0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    text-decoration:none !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
}

body .vbz-shop-page .vbz-filter-reset:hover,
body .vbz-shop-page a.vbz-filter-reset:hover{
    background:transparent !important;
    color:#111827 !important;
    text-decoration:underline !important;
}

body .vbz-shop-page .vbz-filter-reset .vbz-svg-icon,
body .vbz-shop-page a.vbz-filter-reset .vbz-svg-icon{
    width:15px !important;
    height:15px !important;
    margin:0 !important;
    fill:none !important;
    stroke:#111827 !important;
    stroke-width:1.55 !important;
}

/* Limpiar todo: texto simple, no chip amarillo */
body .vbz-shop-page .vbz-active-filter-clear,
body .vbz-shop-page a.vbz-active-filter-clear,
body .vbz-shop-page .vbz-active-filter-clear.is-vbz-active-filter,
body .vbz-shop-page a.vbz-active-filter-clear.is-vbz-active-filter{
    background:transparent !important;
    color:#111827 !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    min-height:0 !important;
    height:auto !important;
    width:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    text-decoration:underline !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
}

/* Ojo del botón: SVG fino, sin relleno ni mancha negra */
body .vbz-shop-page .vbz-card-button .vbz-svg-icon,
body .vbz-shop-page .vbz-card-button svg.vbz-svg-icon{
    width:17px !important;
    height:17px !important;
    margin-right:7px !important;
    color:#111827 !important;
    fill:none !important;
    stroke:#111827 !important;
    stroke-width:1.55 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

body .vbz-shop-page .vbz-card-button .vbz-svg-icon *,
body .vbz-shop-page .vbz-card-button svg.vbz-svg-icon *,
body .vbz-shop-page .vbz-filter-reset .vbz-svg-icon *,
body .vbz-shop-page .vbz-active-filter-clear .vbz-svg-icon *{
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.55 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

/* X de chips: clickeable y sin romper el chip amarillo */
body .vbz-shop-page .vbz-active-filter-chip{
    cursor:pointer !important;
}

body .vbz-shop-page .vbz-active-filter-chip .vbz-svg-icon,
body .vbz-shop-page .vbz-active-filter-chip svg.vbz-svg-icon{
    pointer-events:none !important;
    fill:none !important;
    stroke:#111827 !important;
}


/* VBZ V61 - conexión real filtros + limpieza visual final */
body .vbz-shop-page,
body .vbz-shop-page *{
    font-weight:400 !important;
    text-transform:none !important;
}

body .vbz-shop-page .vbz-filter-reset,
body .vbz-shop-page a.vbz-filter-reset,
body .vbz-shop-page .vbz-filter-reset.is-vbz-active-filter{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:8px auto 0 !important;
    width:auto !important;
    min-height:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    color:#111827 !important;
    text-decoration:none !important;
    font-size:13px !important;
    line-height:1.2 !important;
}

body .vbz-shop-page .vbz-active-filter-clear{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    color:#111827 !important;
    text-decoration:none !important;
    min-height:0 !important;
}

body .vbz-shop-page .vbz-active-filter-chip{
    background:#e6b229 !important;
    color:#111827 !important;
    border:0 !important;
    box-shadow:none !important;
}

body .vbz-shop-page .vbz-check-pill input:checked + span,
body .vbz-shop-page .vbz-check-pill.is-selected span{
    background:#e6b229 !important;
    color:#111827 !important;
    border:0 !important;
    box-shadow:none !important;
}

body .vbz-shop-page .vbz-shop-card{
    min-height:0 !important;
    height:auto !important;
}

body .vbz-shop-page .vbz-card-body{
    padding:13px 16px 15px !important;
}

body .vbz-shop-page .vbz-card-cat{
    margin-bottom:8px !important;
    padding:6px 10px !important;
}

body .vbz-shop-page .vbz-card-title{
    margin-bottom:7px !important;
}

body .vbz-shop-page .vbz-card-excerpt{
    margin-bottom:8px !important;
}

body .vbz-shop-page .vbz-card-rating{
    margin-bottom:8px !important;
}

body .vbz-shop-page .vbz-card-footer{
    margin-top:0 !important;
    padding-bottom:0 !important;
}

body .vbz-shop-page .vbz-check-group{
    gap:5px !important;
    margin-bottom:10px !important;
}

body .vbz-shop-page .vbz-check-cloud{
    gap:6px !important;
}

body .vbz-shop-page .vbz-filter-group{
    margin-bottom:10px !important;
}


/* VBZ V66 - filtros realmente sincronizados y compactos */
.vbz-shop-page,
.vbz-shop-page *{font-weight:400 !important;}
.vbz-active-filter-chip,
.vbz-check-pill input:checked + span{background:#d9a323 !important;color:#111 !important;border-color:transparent !important;box-shadow:none !important;}
.vbz-filter-reset,
.vbz-filter-reset.is-vbz-active-filter,
.vbz-filter-reset:hover,
.vbz-active-filter-clear,
.vbz-active-filter-clear:hover{background:transparent !important;border:0 !important;box-shadow:none !important;width:auto !important;min-height:0 !important;padding:0 !important;color:#111 !important;text-decoration:none !important;display:inline-flex !important;align-items:center !important;justify-content:flex-start !important;gap:7px !important;}
.vbz-shop-card{height:auto !important;min-height:0 !important;}
.vbz-card-body{padding:13px 16px 15px !important;display:block !important;min-height:0 !important;flex:0 0 auto !important;}
.vbz-card-cat{margin-bottom:7px !important;padding:5px 9px !important;font-size:12px !important;}
.vbz-card-title{margin-bottom:7px !important;}
.vbz-card-excerpt{margin-bottom:8px !important;line-height:1.32 !important;}
.vbz-card-rating{margin-bottom:8px !important;}
.vbz-card-footer{margin-top:4px !important;margin-bottom:0 !important;}
.vbz-filter-extra{gap:8px !important;padding-top:9px !important;}
.vbz-check-group{gap:5px !important;margin:0 !important;}
.vbz-check-cloud{gap:5px 6px !important;margin:0 !important;}
.vbz-check-pill span{min-height:28px !important;padding:5px 10px !important;font-size:12px !important;}
.vbz-filter-group{gap:4px !important;}
.vbz-shop-filter-form{gap:9px !important;}
.vbz-svg-icon{fill:none !important;stroke:currentColor !important;stroke-width:1.7 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
.vbz-card-button .vbz-svg-icon{color:#111 !important;}


/* VBZ V66 - MOBILE shop: 1.5 cards visible, 5 columnas x 2 filas, filtros compactos */
@media(max-width:900px){
    body .vbz-shop-page .vbz-shop-results{
        display:grid !important;
        grid-template-columns:none !important;
        grid-template-rows:repeat(2, auto) !important;
        grid-auto-flow:column !important;
        grid-auto-columns:68vw !important;
        gap:14px 14px !important;
        overflow-x:auto !important;
        overflow-y:visible !important;
        padding:0 4px 18px !important;
        margin:0 !important;
        scroll-snap-type:x mandatory !important;
        -webkit-overflow-scrolling:touch !important;
        scrollbar-width:none !important;
    }

    body .vbz-shop-page .vbz-shop-results::-webkit-scrollbar{
        display:none !important;
    }

    body .vbz-shop-page .vbz-shop-card{
        width:68vw !important;
        max-width:68vw !important;
        min-width:68vw !important;
        height:auto !important;
        min-height:0 !important;
        scroll-snap-align:start !important;
        border-radius:18px !important;
        overflow:hidden !important;
    }

    body .vbz-shop-page .vbz-card-image{
        height:210px !important;
        min-height:210px !important;
        margin:0 !important;
    }

    body .vbz-shop-page .vbz-card-body{
        padding:12px 12px 13px !important;
        min-height:0 !important;
        height:auto !important;
        display:block !important;
        flex:none !important;
    }

    body .vbz-shop-page .vbz-card-cat{
        margin:0 0 7px !important;
        padding:5px 8px !important;
        font-size:11px !important;
        max-width:100% !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    body .vbz-shop-page .vbz-card-title{
        margin:0 0 6px !important;
        font-size:18px !important;
        line-height:1.14 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
    }

    body .vbz-shop-page .vbz-card-excerpt{
        margin:0 0 6px !important;
        font-size:13px !important;
        line-height:1.2 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
    }

    body .vbz-shop-page .vbz-card-rating{
        margin:0 0 7px !important;
        gap:4px !important;
        font-size:12px !important;
        line-height:1 !important;
        flex-wrap:nowrap !important;
        white-space:nowrap !important;
    }

    body .vbz-shop-page .vbz-card-footer{
        margin:0 !important;
        padding:0 !important;
        gap:8px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        flex-direction:row !important;
    }

    body .vbz-shop-page .vbz-card-price{
        font-size:19px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    body .vbz-shop-page .vbz-card-button{
        width:auto !important;
        min-width:118px !important;
        max-width:138px !important;
        height:38px !important;
        padding:0 13px !important;
        font-size:13px !important;
        line-height:1 !important;
        flex:none !important;
        white-space:nowrap !important;
    }

    body .vbz-mobile-filter-inner{
        padding:18px 18px 22px !important;
    }

    body .vbz-shop-page .vbz-shop-filter-form,
    body .vbz-mobile-filter-panel .vbz-shop-filter-form{
        gap:7px !important;
    }

    body .vbz-shop-page .vbz-filter-group,
    body .vbz-mobile-filter-panel .vbz-filter-group{
        gap:4px !important;
        margin:0 0 7px !important;
    }

    body .vbz-shop-page .vbz-filter-row,
    body .vbz-mobile-filter-panel .vbz-filter-row{
        gap:8px !important;
        margin:0 !important;
    }

    body .vbz-shop-page .vbz-filter-group input,
    body .vbz-shop-page .vbz-filter-group select,
    body .vbz-mobile-filter-panel .vbz-filter-group input,
    body .vbz-mobile-filter-panel .vbz-filter-group select{
        height:40px !important;
        min-height:40px !important;
        padding:0 12px !important;
        border-radius:13px !important;
        font-size:13px !important;
    }

    body .vbz-shop-page .vbz-filter-extra,
    body .vbz-mobile-filter-panel .vbz-filter-extra{
        gap:7px !important;
        padding-top:10px !important;
        margin-top:8px !important;
    }

    body .vbz-shop-page .vbz-filter-extra-title,
    body .vbz-mobile-filter-panel .vbz-filter-extra-title{
        margin:0 0 2px !important;
        font-size:15px !important;
        line-height:1.1 !important;
    }

    body .vbz-shop-page .vbz-check-group,
    body .vbz-mobile-filter-panel .vbz-check-group{
        gap:3px !important;
        margin:0 0 6px !important;
        padding:0 !important;
    }

    body .vbz-shop-page .vbz-check-title,
    body .vbz-mobile-filter-panel .vbz-check-title{
        margin:0 0 3px !important;
        line-height:1.05 !important;
        font-size:12px !important;
    }

    body .vbz-shop-page .vbz-check-cloud,
    body .vbz-mobile-filter-panel .vbz-check-cloud{
        gap:5px !important;
        margin:0 !important;
        padding:0 !important;
    }

    body .vbz-shop-page .vbz-check-pill span,
    body .vbz-mobile-filter-panel .vbz-check-pill span{
        min-height:26px !important;
        padding:5px 9px !important;
        font-size:12px !important;
        line-height:1 !important;
    }
}

@media(max-width:390px){
    body .vbz-shop-page .vbz-shop-results{
        grid-auto-columns:72vw !important;
    }
    body .vbz-shop-page .vbz-shop-card{
        width:72vw !important;
        max-width:72vw !important;
        min-width:72vw !important;
    }
    body .vbz-shop-page .vbz-card-image{
        height:195px !important;
        min-height:195px !important;
    }
}

/* VBZ V66 - MOBILE pedido exacto: 5 cards por fila, hasta 10 filas (50 productos), filtros compactos */
@media(max-width:768px){
    body .vbz-shop-page .vbz-shop-results{
        display:grid !important;
        grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
        grid-auto-flow:row !important;
        grid-auto-columns:auto !important;
        grid-template-rows:none !important;
        gap:8px !important;
        overflow-x:visible !important;
        overflow-y:visible !important;
        padding:0 0 14px !important;
        margin:0 !important;
        scroll-snap-type:none !important;
        width:100% !important;
        max-width:100% !important;
    }

    body .vbz-shop-page .vbz-shop-card,
    body .vbz-shop-results article.vbz-shop-card{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        height:auto !important;
        min-height:0 !important;
        border-radius:12px !important;
        overflow:hidden !important;
        box-shadow:0 4px 12px rgba(0,0,0,.045) !important;
    }

    body .vbz-shop-page .vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-card > .vbz-card-image:first-child,
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image{
        height:76px !important;
        min-height:76px !important;
        max-height:76px !important;
        margin:0 !important;
        border-radius:12px 12px 0 0 !important;
    }

    body .vbz-shop-page .vbz-card-photo-track,
    body .vbz-shop-page .vbz-card-photo-slide,
    body .vbz-shop-page .vbz-card-photo-slide img,
    body .vbz-shop-page .vbz-card-image img{
        height:76px !important;
        min-height:76px !important;
        max-height:76px !important;
        object-fit:cover !important;
    }

    body .vbz-shop-page .vbz-card-photo-dots{
        bottom:4px !important;
        padding:3px 6px !important;
        gap:3px !important;
    }

    body .vbz-shop-page .vbz-card-photo-dot{
        width:4px !important;
        height:4px !important;
    }

    body .vbz-shop-page .vbz-card-photo-dot.active{
        width:10px !important;
    }

    body .vbz-shop-page .vbz-card-heart{
        width:24px !important;
        height:24px !important;
        min-width:24px !important;
        max-width:24px !important;
        top:6px !important;
        right:6px !important;
        font-size:10px !important;
    }

    body .vbz-shop-page .vbz-card-vendor-rating{
        top:6px !important;
        left:6px !important;
        padding:3px 5px !important;
        font-size:9px !important;
        line-height:1 !important;
        border-radius:6px !important;
    }

    body .vbz-shop-page .vbz-shop-card > .vbz-card-body,
    body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
        padding:6px 5px 7px !important;
        min-height:0 !important;
        height:auto !important;
        display:block !important;
        flex:none !important;
    }

    body .vbz-shop-page .vbz-card-cat{
        max-width:100% !important;
        margin:0 0 4px !important;
        padding:3px 5px !important;
        font-size:8px !important;
        line-height:1 !important;
        border-radius:999px !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    body .vbz-shop-page .vbz-card-cat svg,
    body .vbz-shop-page .vbz-card-cat i{
        width:8px !important;
        min-width:8px !important;
        height:8px !important;
        font-size:8px !important;
    }

    body .vbz-shop-page .vbz-card-title{
        margin:0 0 3px !important;
        font-size:10px !important;
        line-height:1.05 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
        min-height:21px !important;
    }

    body .vbz-shop-page .vbz-card-excerpt{
        margin:0 0 3px !important;
        font-size:8.5px !important;
        line-height:1.1 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
        min-height:18px !important;
    }

    body .vbz-shop-page .vbz-card-rating{
        margin:0 0 4px !important;
        gap:2px !important;
        font-size:8px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        display:flex !important;
        align-items:center !important;
    }

    body .vbz-shop-page .vbz-card-rating .vbz-star,
    body .vbz-shop-page .vbz-card-rating i{
        font-size:8px !important;
    }

    body .vbz-shop-page .vbz-card-footer{
        margin:0 !important;
        padding:0 !important;
        gap:3px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        flex-direction:row !important;
    }

    body .vbz-shop-page .vbz-card-price{
        font-size:11px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        gap:2px !important;
    }

    body .vbz-shop-page .vbz-card-price svg,
    body .vbz-shop-page .vbz-card-price-icon svg{
        width:9px !important;
        height:9px !important;
        min-width:9px !important;
    }

    body .vbz-shop-page .vbz-card-button{
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        height:22px !important;
        padding:0 6px !important;
        border-radius:999px !important;
        font-size:8px !important;
        line-height:1 !important;
        gap:3px !important;
        flex:none !important;
        white-space:nowrap !important;
    }

    body .vbz-shop-page .vbz-card-button svg{
        width:9px !important;
        height:9px !important;
        min-width:9px !important;
    }

    body .vbz-mobile-filter-inner{
        padding:16px 16px 20px !important;
    }

    body .vbz-mobile-filter-panel .vbz-sidebar-title{
        margin-bottom:10px !important;
        font-size:20px !important;
        line-height:1.1 !important;
    }

    body .vbz-shop-page .vbz-shop-filter-form,
    body .vbz-mobile-filter-panel .vbz-shop-filter-form{
        gap:5px !important;
    }

    body .vbz-shop-page .vbz-filter-group,
    body .vbz-mobile-filter-panel .vbz-filter-group{
        gap:3px !important;
        margin:0 0 5px !important;
    }

    body .vbz-shop-page .vbz-filter-group label,
    body .vbz-mobile-filter-panel .vbz-filter-group label{
        font-size:12px !important;
        line-height:1.05 !important;
        margin:0 0 2px !important;
        font-weight:400 !important;
    }

    body .vbz-shop-page .vbz-filter-row,
    body .vbz-mobile-filter-panel .vbz-filter-row{
        gap:7px !important;
        margin:0 0 5px !important;
    }

    body .vbz-shop-page .vbz-filter-group input,
    body .vbz-shop-page .vbz-filter-group select,
    body .vbz-mobile-filter-panel .vbz-filter-group input,
    body .vbz-mobile-filter-panel .vbz-filter-group select{
        height:36px !important;
        min-height:36px !important;
        padding:0 10px !important;
        border-radius:12px !important;
        font-size:12px !important;
        font-weight:400 !important;
    }

    body .vbz-shop-page .vbz-filter-extra,
    body .vbz-mobile-filter-panel .vbz-filter-extra{
        gap:5px !important;
        padding-top:8px !important;
        margin-top:6px !important;
    }

    body .vbz-shop-page .vbz-filter-extra-title,
    body .vbz-mobile-filter-panel .vbz-filter-extra-title{
        margin:0 0 1px !important;
        font-size:14px !important;
        line-height:1.05 !important;
        font-weight:400 !important;
    }

    body .vbz-shop-page .vbz-check-group,
    body .vbz-mobile-filter-panel .vbz-check-group{
        gap:2px !important;
        margin:0 0 5px !important;
        padding:0 !important;
    }

    body .vbz-shop-page .vbz-check-title,
    body .vbz-mobile-filter-panel .vbz-check-title{
        margin:0 0 2px !important;
        line-height:1.05 !important;
        font-size:12px !important;
        font-weight:400 !important;
    }

    body .vbz-shop-page .vbz-check-cloud,
    body .vbz-mobile-filter-panel .vbz-check-cloud{
        gap:4px !important;
        margin:0 !important;
        padding:0 !important;
    }

    body .vbz-shop-page .vbz-check-pill span,
    body .vbz-mobile-filter-panel .vbz-check-pill span{
        min-height:24px !important;
        padding:4px 8px !important;
        font-size:11px !important;
        line-height:1 !important;
        font-weight:400 !important;
    }
}

@media(max-width:390px){
    body .vbz-shop-page .vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-card > .vbz-card-image:first-child,
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-card-photo-track,
    body .vbz-shop-page .vbz-card-photo-slide,
    body .vbz-shop-page .vbz-card-photo-slide img,
    body .vbz-shop-page .vbz-card-image img{
        height:68px !important;
        min-height:68px !important;
        max-height:68px !important;
    }
}

/* VBZ V69 - MOBILE corregido: 5 cards por línea con scroll horizontal, hasta 10 líneas, filtros compactos */
@media(max-width:768px){
    body .vbz-shop-page .vbz-shop-results{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow:row !important;
        grid-auto-columns:auto !important;
        grid-template-rows:none !important;
        gap:14px !important;
        overflow-x:visible !important;
        overflow-y:visible !important;
        padding:0 0 18px !important;
        margin:0 !important;
        scroll-snap-type:none !important;
        width:100% !important;
        max-width:100% !important;
    }

    body .vbz-shop-page .vbz-shop-card,
    body .vbz-shop-results article.vbz-shop-card{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        height:auto !important;
        min-height:0 !important;
        border-radius:22px !important;
        overflow:hidden !important;
        box-shadow:0 8px 24px rgba(0,0,0,.055) !important;
    }

    body .vbz-shop-page .vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-card > .vbz-card-image:first-child,
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-card-photo-track,
    body .vbz-shop-page .vbz-card-photo-slide,
    body .vbz-shop-page .vbz-card-photo-slide img,
    body .vbz-shop-page .vbz-card-image img{
        height:168px !important;
        min-height:168px !important;
        max-height:168px !important;
        object-fit:cover !important;
        border-radius:22px 22px 0 0 !important;
    }

    body .vbz-shop-page .vbz-card-heart{
        width:46px !important;
        height:46px !important;
        min-width:46px !important;
        max-width:46px !important;
        top:10px !important;
        right:10px !important;
        font-size:17px !important;
    }

    body .vbz-shop-page .vbz-card-vendor-rating{
        top:10px !important;
        left:10px !important;
        padding:5px 7px !important;
        font-size:11px !important;
        line-height:1 !important;
        border-radius:8px !important;
    }

    body .vbz-shop-page .vbz-card-photo-dots{
        bottom:9px !important;
        padding:5px 9px !important;
        gap:6px !important;
    }

    body .vbz-shop-page .vbz-card-photo-dot{
        width:7px !important;
        height:7px !important;
    }

    body .vbz-shop-page .vbz-card-photo-dot.active{
        width:18px !important;
    }

    body .vbz-shop-page .vbz-shop-card > .vbz-card-body,
    body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
        padding:11px 11px 12px !important;
        min-height:0 !important;
        height:auto !important;
        display:block !important;
        flex:none !important;
    }

    body .vbz-shop-page .vbz-card-cat{
        max-width:100% !important;
        margin:0 0 7px !important;
        padding:5px 8px !important;
        font-size:11px !important;
        line-height:1 !important;
        border-radius:999px !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    body .vbz-shop-page .vbz-card-cat svg,
    body .vbz-shop-page .vbz-card-cat i{
        width:12px !important;
        min-width:12px !important;
        height:12px !important;
        font-size:12px !important;
    }

    body .vbz-shop-page .vbz-card-title{
        margin:0 0 6px !important;
        font-size:18px !important;
        line-height:1.13 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
        min-height:0 !important;
    }

    body .vbz-shop-page .vbz-card-excerpt{
        margin:0 0 7px !important;
        font-size:13px !important;
        line-height:1.2 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
        min-height:0 !important;
    }

    body .vbz-shop-page .vbz-card-rating{
        margin:0 0 9px !important;
        gap:3px !important;
        font-size:12px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        display:flex !important;
        align-items:center !important;
    }

    body .vbz-shop-page .vbz-card-rating .vbz-star,
    body .vbz-shop-page .vbz-card-rating i{
        font-size:12px !important;
    }

    body .vbz-shop-page .vbz-card-footer{
        margin:0 !important;
        padding:0 !important;
        gap:6px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        flex-direction:row !important;
        min-height:0 !important;
    }

    body .vbz-shop-page .vbz-card-price{
        font-size:20px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        gap:4px !important;
        flex:0 1 auto !important;
    }

    body .vbz-shop-page .vbz-card-price svg,
    body .vbz-shop-page .vbz-card-price-icon svg{
        width:15px !important;
        height:15px !important;
        min-width:15px !important;
    }

    body .vbz-shop-page .vbz-card-button{
        width:auto !important;
        min-width:100px !important;
        max-width:112px !important;
        height:38px !important;
        padding:0 10px !important;
        border-radius:999px !important;
        font-size:12px !important;
        line-height:1 !important;
        gap:5px !important;
        flex:0 0 auto !important;
        white-space:nowrap !important;
    }

    body .vbz-shop-page .vbz-card-button svg{
        width:15px !important;
        height:15px !important;
        min-width:15px !important;
    }

    body .vbz-mobile-filter-inner{
        padding:18px 18px 22px !important;
    }

    body .vbz-mobile-filter-panel .vbz-sidebar-title{
        margin-bottom:12px !important;
        font-size:22px !important;
        line-height:1.1 !important;
    }

    body .vbz-shop-page .vbz-shop-filter-form,
    body .vbz-mobile-filter-panel .vbz-shop-filter-form{
        gap:7px !important;
    }

    body .vbz-shop-page .vbz-filter-group,
    body .vbz-mobile-filter-panel .vbz-filter-group{
        gap:4px !important;
        margin:0 0 7px !important;
    }

    body .vbz-shop-page .vbz-filter-group label,
    body .vbz-mobile-filter-panel .vbz-filter-group label{
        font-size:13px !important;
        line-height:1.05 !important;
        margin:0 0 3px !important;
        font-weight:400 !important;
    }

    body .vbz-shop-page .vbz-filter-row,
    body .vbz-mobile-filter-panel .vbz-filter-row{
        gap:8px !important;
        margin:0 0 6px !important;
    }

    body .vbz-shop-page .vbz-filter-group input,
    body .vbz-shop-page .vbz-filter-group select,
    body .vbz-mobile-filter-panel .vbz-filter-group input,
    body .vbz-mobile-filter-panel .vbz-filter-group select{
        height:40px !important;
        min-height:40px !important;
        padding:0 12px !important;
        border-radius:13px !important;
        font-size:13px !important;
        font-weight:400 !important;
    }

    body .vbz-shop-page .vbz-filter-extra,
    body .vbz-mobile-filter-panel .vbz-filter-extra{
        gap:7px !important;
        padding-top:10px !important;
        margin-top:8px !important;
    }

    body .vbz-shop-page .vbz-filter-extra-title,
    body .vbz-mobile-filter-panel .vbz-filter-extra-title{
        margin:0 0 3px !important;
        font-size:15px !important;
        line-height:1.08 !important;
        font-weight:400 !important;
    }

    body .vbz-shop-page .vbz-check-group,
    body .vbz-mobile-filter-panel .vbz-check-group{
        gap:4px !important;
        margin:0 0 7px !important;
        padding:0 !important;
    }

    body .vbz-shop-page .vbz-check-title,
    body .vbz-mobile-filter-panel .vbz-check-title{
        margin:0 0 4px !important;
        line-height:1.05 !important;
        font-size:13px !important;
        font-weight:400 !important;
    }

    body .vbz-shop-page .vbz-check-cloud,
    body .vbz-mobile-filter-panel .vbz-check-cloud{
        gap:5px !important;
        margin:0 !important;
        padding:0 !important;
    }

    body .vbz-shop-page .vbz-check-pill span,
    body .vbz-mobile-filter-panel .vbz-check-pill span{
        min-height:27px !important;
        padding:5px 9px !important;
        font-size:12px !important;
        line-height:1 !important;
        font-weight:400 !important;
    }
}

@media(max-width:390px){
    body .vbz-shop-page .vbz-shop-results{
        gap:12px !important;
    }

    body .vbz-shop-page .vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-card > .vbz-card-image:first-child,
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-card-photo-track,
    body .vbz-shop-page .vbz-card-photo-slide,
    body .vbz-shop-page .vbz-card-photo-slide img,
    body .vbz-shop-page .vbz-card-image img{
        height:152px !important;
        min-height:152px !important;
        max-height:152px !important;
    }

    body .vbz-shop-page .vbz-card-title{
        font-size:16px !important;
    }

    body .vbz-shop-page .vbz-card-button{
        min-width:92px !important;
        max-width:100px !important;
        height:36px !important;
        padding:0 8px !important;
        font-size:11px !important;
    }

    body .vbz-shop-page .vbz-card-price{
        font-size:18px !important;
    }
}

/* VBZ V69 - MOBILE: 5 cards por línea horizontal, se ve 1 y media, hasta 10 líneas por página */
@media(max-width:768px){
    body .vbz-shop-page .vbz-shop-results{
        display:grid !important;
        grid-template-columns:repeat(5, minmax(0, 68vw)) !important;
        grid-auto-flow:row !important;
        grid-auto-rows:auto !important;
        gap:16px 14px !important;
        overflow-x:auto !important;
        overflow-y:visible !important;
        -webkit-overflow-scrolling:touch !important;
        scroll-snap-type:x proximity !important;
        scrollbar-width:none !important;
        padding:0 10px 18px 0 !important;
        margin:0 !important;
        width:100% !important;
        max-width:100% !important;
    }

    body .vbz-shop-page .vbz-shop-results::-webkit-scrollbar{
        display:none !important;
    }

    body .vbz-shop-page .vbz-shop-card,
    body .vbz-shop-results article.vbz-shop-card{
        width:68vw !important;
        min-width:68vw !important;
        max-width:68vw !important;
        height:auto !important;
        min-height:0 !important;
        scroll-snap-align:start !important;
        border-radius:22px !important;
        overflow:hidden !important;
    }

    body .vbz-shop-page .vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-card > .vbz-card-image:first-child,
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-card-photo-track,
    body .vbz-shop-page .vbz-card-photo-slide,
    body .vbz-shop-page .vbz-card-photo-slide img,
    body .vbz-shop-page .vbz-card-image img{
        height:215px !important;
        min-height:215px !important;
        max-height:215px !important;
        object-fit:cover !important;
    }

    body .vbz-shop-page .vbz-shop-card > .vbz-card-body,
    body .vbz-shop-results article.vbz-shop-card > .vbz-card-body{
        padding:12px 12px 13px !important;
    }

    body .vbz-shop-page .vbz-card-title{
        font-size:19px !important;
        line-height:1.14 !important;
        -webkit-line-clamp:2 !important;
    }

    body .vbz-shop-page .vbz-card-excerpt{
        font-size:13px !important;
        line-height:1.22 !important;
        -webkit-line-clamp:2 !important;
    }

    body .vbz-shop-page .vbz-card-footer{
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:8px !important;
        margin-top:0 !important;
        padding:0 !important;
    }

    body .vbz-shop-page .vbz-card-button{
        width:auto !important;
        min-width:120px !important;
        max-width:135px !important;
        height:40px !important;
        padding:0 12px !important;
        font-size:13px !important;
    }

    body .vbz-shop-page .vbz-card-price{
        font-size:22px !important;
    }
}

@media(max-width:390px){
    body .vbz-shop-page .vbz-shop-results{
        grid-template-columns:repeat(5, minmax(0, 72vw)) !important;
        gap:15px 13px !important;
    }

    body .vbz-shop-page .vbz-shop-card,
    body .vbz-shop-results article.vbz-shop-card{
        width:72vw !important;
        min-width:72vw !important;
        max-width:72vw !important;
    }

    body .vbz-shop-page .vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-card > .vbz-card-image:first-child,
    body .vbz-shop-results article.vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-card-photo-track,
    body .vbz-shop-page .vbz-card-photo-slide,
    body .vbz-shop-page .vbz-card-photo-slide img,
    body .vbz-shop-page .vbz-card-image img{
        height:205px !important;
        min-height:205px !important;
        max-height:205px !important;
    }
}

/* VBZ V69 - FIX REAL MOBILE: filas separadas de 5 cards, sin apilar ni superponer */
.vbz-shop-mobile-row{
    display:contents;
}

@media(max-width:768px){
    body .vbz-shop-page .vbz-shop-results{
        display:block !important;
        overflow:visible !important;
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        margin:0 !important;
    }

    body .vbz-shop-page .vbz-shop-mobile-row{
        display:flex !important;
        flex-direction:row !important;
        align-items:stretch !important;
        gap:14px !important;
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        -webkit-overflow-scrolling:touch !important;
        scroll-snap-type:x proximity !important;
        scrollbar-width:none !important;
        padding:0 12px 18px 0 !important;
        margin:0 0 18px !important;
    }

    body .vbz-shop-page .vbz-shop-mobile-row::-webkit-scrollbar{
        display:none !important;
    }

    body .vbz-shop-page .vbz-shop-mobile-row > .vbz-shop-card,
    body .vbz-shop-page .vbz-shop-mobile-row > article.vbz-shop-card{
        flex:0 0 72vw !important;
        width:72vw !important;
        min-width:72vw !important;
        max-width:72vw !important;
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        scroll-snap-align:start !important;
        border-radius:22px !important;
        overflow:hidden !important;
        display:flex !important;
        flex-direction:column !important;
    }

    body .vbz-shop-page .vbz-shop-mobile-row > .vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-mobile-row > article.vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-mobile-row .vbz-card-image{
        height:215px !important;
        min-height:215px !important;
        max-height:215px !important;
        flex:0 0 215px !important;
        width:100% !important;
    }

    body .vbz-shop-page .vbz-shop-mobile-row .vbz-card-photo-track,
    body .vbz-shop-page .vbz-shop-mobile-row .vbz-card-photo-slide,
    body .vbz-shop-page .vbz-shop-mobile-row .vbz-card-photo-slide img,
    body .vbz-shop-page .vbz-shop-mobile-row .vbz-card-image img{
        width:100% !important;
        height:100% !important;
        min-height:100% !important;
        max-height:100% !important;
        object-fit:cover !important;
    }

    body .vbz-shop-page .vbz-shop-mobile-row .vbz-card-body{
        padding:12px 12px 13px !important;
        width:100% !important;
    }
}

@media(max-width:390px){
    body .vbz-shop-page .vbz-shop-mobile-row > .vbz-shop-card,
    body .vbz-shop-page .vbz-shop-mobile-row > article.vbz-shop-card{
        flex-basis:74vw !important;
        width:74vw !important;
        min-width:74vw !important;
        max-width:74vw !important;
    }

    body .vbz-shop-page .vbz-shop-mobile-row > .vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-mobile-row > article.vbz-shop-card > a.vbz-card-image,
    body .vbz-shop-page .vbz-shop-mobile-row .vbz-card-image{
        height:205px !important;
        min-height:205px !important;
        max-height:205px !important;
        flex-basis:205px !important;
    }
}

.vbz-card-extra-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 9px;color:#4b5563;font-size:11.5px;font-weight:500}.vbz-card-extra-meta span{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(17,24,39,.10);border-radius:999px;padding:5px 8px;background:#fff;line-height:1}.vbz-card-extra-meta svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@media(max-width:768px){.vbz-card-extra-meta{font-size:11px;gap:6px}.vbz-card-extra-meta span{padding:4px 7px}}
